Releases: scroll-tech/go-ethereum
scroll-v5.10.0
Overview
This release enables the 2-step Galileo upgrade on Scroll mainnet at timestamps 1765868400 (Tue Dec 16 2025 07:00 UTC) and 1766041200 (Thu Dec 18 2025 07:00 UTC). This upgrade enables a series of important changes including:
- Adopt EIP-7823, EIP-7883, EIP-7951, and EIP-7939 from Ethereum's Fusaka upgrade.
- Implement a more robust and fair rollup fee formula.
Who should upgrade?
Node operators running on Scroll mainnet must upgrade to this release.
Apart from a tracing-related fix (#1263), this release is identical to the previous testnet release (scroll-v5.9.18). It is recommended that RPC node operators on the Scroll Sepolia testnet also upgrade to scroll-v5.10.0.
Node Configuration Changes
For most node operators, there are no configuration changes required to run this release. However, if you are running a node with a custom genesis configuration, please see the Compatibility section below.
Ethereum's Fusaka upgrade introduced PeerDAS, which means that normal beacon nodes are no longer able to serve blob data. If you wish to use the beacon node blob data source (the --da.blob.beaconnode flag), then you must connect to a supernode. We encourage node operators to always use the AWS S3 blob data source, using the --da.blob.awss3 https://scroll-mainnet-blob-data.s3.us-west-2.amazonaws.com flag.
Compatibility
This release updates the embedded hard fork block timestamp for Scroll mainnet. Nodes that are not upgraded will be unable to follow the network after the hard fork timestamp. To follow the Galileo upgrade, simply run your node with the --scroll flag.
If you do not use the --scroll flag, then you must update and reimport genesis.json.
{
"config": {
"chainId": 534352,
...
"euclidTime": 1744815600,
"euclidV2Time": 1745305200,
"feynmanTime": 1755576000,
+ "galileoTime": 1765868400,
+ "galileoV2Time": 1766041200,
...Full genesis.json for l2geth-mpt nodes on Scroll mainnet
{
"config": {
"chainId": 534352,
"homesteadBlock": 0,
"eip150Block": 0,
"eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"constantinopleBlock": 0,
"petersburgBlock": 0,
"istanbulBlock": 0,
"berlinBlock": 0,
"londonBlock": 0,
"archimedesBlock": 0,
"shanghaiBlock": 0,
"bernoulliBlock": 5220340,
"curieBlock": 7096836,
"darwinTime": 1724227200,
"darwinV2Time": 1725264000,
"euclidTime": 1744815600,
"euclidV2Time": 1745305200,
"feynmanTime": 1755576000,
"GalileoTime": 1765868400,
"GalileoV2Time": 1766041200,
"clique": {
"period": 3,
"epoch": 30000
},
"systemContract": {
"period": 1,
"blocks_per_second": 2,
"system_contract_address": "0x8432728A257646449245558B8b7Dbe51A16c7a4D",
"system_contract_slot": "0x0000000000000000000000000000000000000000000000000000000000000067"
},
"scroll": {
"useZktrie": false,
"maxTxPayloadBytesPerBlock": 122880,
"feeVaultAddress": "0x5300000000000000000000000000000000000005",
"l1Config": {
"l1ChainId": "1",
"l1MessageQueueAddress": "0x0d7E906BD9cAFa154b048cFa766Cc1E54E39AF9B",
"l1MessageQueueV2Address": "0x56971da63A3C0205184FEF096E9ddFc7A8C2D18a",
"l1MessageQueueV2DeploymentBlock": 22280397,
"scrollChainAddress": "0xa13BAF47339d63B743e7Da8741db5456DAc1E556",
"l2SystemConfigAddress": "0x331A873a2a85219863d80d248F9e2978fE88D0Ea",
"numL1MessagesPerBlock": "10"
},
"genesisStateRoot": "0x08d535cc60f40af5dd3b31e0998d7567c2d568b224bed2ba26070aeb078d1339",
"missingHeaderFieldsSHA256": "0xfa2746026ec9590e37e495cb20046e20a38fd0e7099abd2012640dddf6c88b25"
}
},
"nonce": "0x0",
"timestamp": "0x6524e860",
"extraData": "0x4c61206573746f6e7465636f206573746173206d616c6665726d6974612e0000d2ACF5d16a983DB0d909d9D761B8337Fabd6cBd10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"gasLimit": "10000000",
"difficulty": "0x1",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x0000000000000000000000000000000000000000",
"alloc": {
"0xF9062b8a30e0d7722960e305049FA50b86ba6253": {
"balance": "2000000000000000000"
},
"0x781e90f1c8Fc4611c9b7497C3B47F99Ef6969CbC": {
"balance": "226156424291633194186662080095093570025917938800079226637565593765455331328"
},
"0x5300000000000000000000000000000000000000": {
"balance": "0x0",
"code": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806383cc76601161006657806383cc7660146100fc5780638da5cb5b1461010f578063c4d66de814610122578063d4b9f4fa14610135578063f2fde38b1461013e57600080fd5b806326aad7b7146100985780633cb747bf146100b4578063600a2e77146100df578063715018a6146100f2575b600080fd5b6100a160015481565b6040519081526020015b60405180910390f35b6053546100c7906001600160a01b031681565b6040516001600160a01b0390911681526020016100ab565b6100a16100ed36600461054a565b610151565b6100fa6101f6565b005b6100a161010a36600461054a565b61022c565b6052546100c7906001600160a01b031681565b6100fa610130366004610563565b610243565b6100a160005481565b6100fa61014c366004610563565b6102db565b6053546000906001600160a01b031633146101a45760405162461bcd60e51b815260206004820152600e60248201526d37b7363c9036b2b9b9b2b733b2b960911b60448201526064015b60405180910390fd5b6000806101b084610367565b60408051838152602081018890529294509092507ffaa617c2d8ce12c62637dbce76efcc18dae60574aa95709bdcedce7e76071693910160405180910390a19392505050565b6052546001600160a01b031633146102205760405162461bcd60e51b815260040161019b90610593565b61022a6000610486565b565b602a816028811061023c57600080fd5b0154905081565b6052546001600160a01b0316331461026d5760405162461bcd60e51b815260040161019b90610593565b600154156102b15760405162461bcd60e51b815260206004820152601160248201527063616e6e6f7420696e697469616c697a6560781b604482015260640161019b565b6102b96104d8565b605380546001600160a01b0319166001600160a01b0392909216919091179055565b6052546001600160a01b031633146103055760405162461bcd60e51b815260040161019b90610593565b6001600160a01b03811661035b5760405162461bcd60e51b815260206004820152601d60248201527f6e6577206f776e657220697320746865207a65726f2061646472657373000000604482015260640161019b565b61036481610486565b50565b60035460009081906103bb5760405162461bcd60e51b815260206004820152601a60248201527f63616c6c206265666f726520696e697469616c697a6174696f6e000000000000604482015260640161019b565b6001548360005b8215610456576103d36002846105e0565b60000361041f5781602a82602881106103ee576103ee6105ca565b01556104188260028360288110610407576104076105ca565b015460009182526020526040902090565b915061044a565b610447602a8260288110610435576104356105ca565b01548360009182526020526040902090565b91505b600192831c92016103c2565b81602a826028811061046a5761046a6105ca565b0155506000819055600180548082019091559590945092505050565b605280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60005b60286104e8826001610618565b10156103645761051960028260288110610504576105046105ca565b015460028360288110610407576104076105ca565b6002610526836001610618565b60288110610536576105366105ca565b01558061054281610631565b9150506104db565b60006020828403121561055c57600080fd5b5035919050565b60006020828403121561057557600080fd5b81356001600160a01b038116811461058c57600080fd5b9392505050565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000826105fd57634e487b7160e01b600052601260045260246000fd5b500690565b634e487b7160e01b600052601160045260246000fd5b8082018082111561062b5761062b610602565b92915050565b60006001820161064357610643610602565b506001019056fea26469706673582212208fb1cb9933bb17dd0a7c17de7c890919b08d2fd7eb2bede7b41caa32709b30b564736f6c63430008100033",
"storage": {
"0x0000000000000000000000000000000000000000000000000000000000000052": "0xF9062b8a30e0d7722960e305049FA50b86ba6253"
}
},
"0x5300000000000000000000000000000000000002": {
"balance": "0x0",
"code": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063715018a61161008c578063bede39b511610066578063bede39b51461018d578063de26c4a1146101a0578063f2fde38b146101b3578063f45e65d8146101c657600080fd5b8063715018a6146101475780638da5cb5b1461014f57806393e59dc11461017a57600080fd5b80630c18c162146100d45780633577afc5146100f05780633d0f963e1461010557806349948e0e14610118578063519b4bd31461012b5780637046559714610134575b600080fd5b6100dd60025481565b6040519081526020015b60405180910390f35b6101036100fe366004610671565b6101cf565b005b61010361011336600461068a565b610291565b6100dd6101263660046106d0565b61031c565b6100dd60015481565b610103610142366004610671565b610361565b610103610416565b600054610162906001600160a01b031681...scroll-v5.9.18
Overview
This is a follow-up testnet fix release on top of the previous Galileo release (scroll-v5.9.14). This release enables the GalileoV2 hard fork on the Scroll Sepolia testnet at timestamp 1764831600 (Thu Dec 04 2025 07:00:00 GMT+0000).
Who should upgrade?
Node operators running on Scroll Sepolia must upgrade to this release.
Node operators running on Scroll mainnet should not upgrade to this release. We will publish a separate release for mainnet soon after the testnet upgrade.
Compatibility
This release updates the embedded hard fork block timestamp for Scroll Sepolia. Nodes that are not upgraded will be unable to follow the network after the hard fork timestamp. To follow the GalileoV2 upgrade, simply run your node with the --scroll-sepolia flag.
If you do not use the --scroll-sepolia flag, then you must update and reimport genesis.json.
{
"config": {
"chainId": 534351,
...
"euclidTime": 1741680000,
"euclidV2Time": 1741852800,
"feynmanTime": 1753167600,
"galileoTime": 1764054000,
+ "galileoV2Time": 1764831600,
...Full genesis.json for l2geth-mpt nodes on Scroll Sepolia
{
"config": {
"chainId": 534351,
"homesteadBlock": 0,
"eip150Block": 0,
"eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"constantinopleBlock": 0,
"petersburgBlock": 0,
"istanbulBlock": 0,
"berlinBlock": 0,
"londonBlock": 0,
"archimedesBlock": 0,
"shanghaiBlock": 0,
"bernoulliBlock": 3747132,
"curieBlock": 4740239,
"darwinTime": 1723622400,
"darwinV2Time": 1724832000,
"euclidTime": 1741680000,
"euclidV2Time": 1741852800,
"feynmanTime": 1753167600,
"galileoTime": 1764054000,
"galileoV2Time": 1764831600,
"clique": {
"period": 3,
"epoch": 30000
},
"systemContract": {
"period": 1,
"system_contract_address": "0xC706Ba9fa4fedF4507CB7A898b4766c1bbf9be57",
"system_contract_slot": "0x0000000000000000000000000000000000000000000000000000000000000067"
},
"scroll": {
"useZktrie": false,
"maxTxPerBlock": 100,
"maxTxPayloadBytesPerBlock": 122880,
"feeVaultAddress": "0x5300000000000000000000000000000000000005",
"l1Config": {
"l1ChainId": "11155111",
"l1MessageQueueAddress": "0xF0B2293F5D834eAe920c6974D50957A1732de763",
"l1MessageQueueV2Address": "0xA0673eC0A48aa924f067F1274EcD281A10c5f19F",
"l1MessageQueueV2DeploymentBlock": 7773746,
"scrollChainAddress": "0x2D567EcE699Eabe5afCd141eDB7A4f2D0D6ce8a0",
"l2SystemConfigAddress": "0xF444cF06A3E3724e20B35c2989d3942ea8b59124",
"numL1MessagesPerBlock": "10"
},
"genesisStateRoot": "0x20695989e9038823e35f0e88fbc44659ffdbfa1fe89fbeb2689b43f15fa64cb5",
"missingHeaderFieldsSHA256": "0xa02354c12ca0f918bf4768255af9ed13c137db7e56252348f304b17bb4088924"
}
},
"nonce": "0x0",
"timestamp": "0x64cfd015",
"extraData": "0x000000000000000000000000000000000000000000000000000000000000000048C3F81f3D998b6652900e1C3183736C238Fe4290000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"gasLimit": "8000000",
"difficulty": "0x1",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x0000000000000000000000000000000000000000",
"alloc": {
"0x18960EEc21b1878C581937a14c5c3C43008F6b6B": {
"balance": "10000000000000000000"
},
"0xBa50f5340FB9F3Bd074bD638c9BE13eCB36E603d": {
"balance": "226156424291633194186662080095093570025917938800079226629565593765455331328"
},
"0x5300000000000000000000000000000000000000": {
"balance": "0x0",
"code": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806383cc76601161006657806383cc7660146100fc5780638da5cb5b1461010f578063c4d66de814610122578063d4b9f4fa14610135578063f2fde38b1461013e57600080fd5b806326aad7b7146100985780633cb747bf146100b4578063600a2e77146100df578063715018a6146100f2575b600080fd5b6100a160015481565b6040519081526020015b60405180910390f35b6053546100c7906001600160a01b031681565b6040516001600160a01b0390911681526020016100ab565b6100a16100ed36600461054a565b610151565b6100fa6101f6565b005b6100a161010a36600461054a565b61022c565b6052546100c7906001600160a01b031681565b6100fa610130366004610563565b610243565b6100a160005481565b6100fa61014c366004610563565b6102db565b6053546000906001600160a01b031633146101a45760405162461bcd60e51b815260206004820152600e60248201526d37b7363c9036b2b9b9b2b733b2b960911b60448201526064015b60405180910390fd5b6000806101b084610367565b60408051838152602081018890529294509092507ffaa617c2d8ce12c62637dbce76efcc18dae60574aa95709bdcedce7e76071693910160405180910390a19392505050565b6052546001600160a01b031633146102205760405162461bcd60e51b815260040161019b90610593565b61022a6000610486565b565b602a816028811061023c57600080fd5b0154905081565b6052546001600160a01b0316331461026d5760405162461bcd60e51b815260040161019b90610593565b600154156102b15760405162461bcd60e51b815260206004820152601160248201527063616e6e6f7420696e697469616c697a6560781b604482015260640161019b565b6102b96104d8565b605380546001600160a01b0319166001600160a01b0392909216919091179055565b6052546001600160a01b031633146103055760405162461bcd60e51b815260040161019b90610593565b6001600160a01b03811661035b5760405162461bcd60e51b815260206004820152601d60248201527f6e6577206f776e657220697320746865207a65726f2061646472657373000000604482015260640161019b565b61036481610486565b50565b60035460009081906103bb5760405162461bcd60e51b815260206004820152601a60248201527f63616c6c206265666f726520696e697469616c697a6174696f6e000000000000604482015260640161019b565b6001548360005b8215610456576103d36002846105e0565b60000361041f5781602a82602881106103ee576103ee6105ca565b01556104188260028360288110610407576104076105ca565b015460009182526020526040902090565b915061044a565b610447602a8260288110610435576104356105ca565b01548360009182526020526040902090565b91505b600192831c92016103c2565b81602a826028811061046a5761046a6105ca565b0155506000819055600180548082019091559590945092505050565b605280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60005b60286104e8826001610618565b10156103645761051960028260288110610504576105046105ca565b015460028360288110610407576104076105ca565b6002610526836001610618565b60288110610536576105366105ca565b01558061054281610631565b9150506104db565b60006020828403121561055c57600080fd5b5035919050565b60006020828403121561057557600080fd5b81356001600160a01b038116811461058c57600080fd5b9392505050565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000826105fd57634e487b7160e01b600052601260045260246000fd5b500690565b634e487b7160e01b600052601160045260246000fd5b8082018082111561062b5761062b610602565b92915050565b60006001820161064357610643610602565b506001019056fea26469706673582212208fb1cb9933bb17dd0a7c17de7c890919b08d2fd7eb2bede7b41caa32709b30b564736f6c63430008100033",
"storage": {
"0x0000000000000000000000000000000000000000000000000000000000000052": "0x18960EEc21b1878C581937a14c5c3C43008F6b6B"
}
},
"0x5300000000000000000000000000000000000002": {
"balance": "0x0",
"code": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063715018a61161008c578063bede39b511610066578063bede39b51461018d578063de26c4a1146101a0578063f2fde38b146101b3578063f45e65d8146101c657600080fd5b8063715018a6146101475780638da5cb5b1461014f57806393e59dc11461017a57600080fd5b80630c18c162146100d45780633577afc5146100f05780633d0f963e1461010557806349948e0e14610118578063519b4bd31461012b5780637046559714610134575b600080fd5b6100dd60025481565b6040519081526020015b60405180910390f35b6101036100fe366004610671565b6101cf565b005b61010361011336600461068a565b610291565b6100dd6101263660046106d0565b61031c565b6100dd60015481565b610103610142366004610671565b610361565b610103610416565b600054610162906001600160a01b031681565b6040516001600160a01b0390911681526020016100e7565b600454610162906001600160a01b031681565b61010361019b366004610671565b61044c565b6100dd6101ae3660046106d0565b610533565b6101036101c136600461068a565b610595565b6100dd60035481565b6000546001600160a01b031633146102025760405162461bcd60e51b81526004016101f990610781565b60405180910390fd5b621c9c388111156102555760405162461bcd60e51b815260206004820152601760248201527f657863656564206d6178696d756d206f7665726865616400000000000000000060448201526064016101f9565b60028190556040518181527f32740b35c0ea213650f60d44366b4fb211c9033b50714e4a1d34e65d5beb9bb4906020015b60405180910390a150565b6000546001600160a01b031633146102bb5760405162461bcd60e51b81526004016101f990610781565b600480546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527f22d1c35fe072d2e42c3c8f9bd4a0d34aa84a0101d020a62517b33fdb3174e5f7910160405180910390a15050565b60008061032883610533565b905060006001548261033a91906107b8565b9050633b9aca006003548261034f91906107b8565b61035991906107e5565b949350505050565b6000546001600160a01b0316331461038b5760405162461bcd60e51b81526004016101f990610781565b61039b633b9aca006103e86107b8565b8111156103e15760405162461bcd60e51b8152602060048201526014602482015273657863656564206d6178696d756d207363616c6560601b60448201526064016101f9565b60038190556040518181527f3336cd9708eaf2769a0f0dc0679f30e80f15dcd88d1921b5a16858e8b85c591a90602001610286565b6000546001600160a01b031633146104405760405162461bcd60e51b81526004016101f990610781565b61044a6000610621565b565b6004805460405163...scroll-v5.9.14
Overview
This release enables the Galileo upgrade on the Scroll Sepolia testnet at timestamp 1764054000 (Tue Nov 25 2025 07:00:00 GMT+0000). This upgrade enables a series of important changes including:
- Adopt EIP-7823, EIP-7883, EIP-7951, and EIP-7939 from Ethereum's Fusaka upgrade.
- Implement a more robust and fair rollup fee formula.
Who should upgrade?
Node operators running on Scroll Sepolia must upgrade to this release.
Node operators running on Scroll mainnet should not upgrade to this release. We will publish a separate release for mainnet soon after the testnet upgrade.
Node Configuration Changes
For most node operators, there are no configuration changes required to run this release. However, if you are running a node with a custom genesis configuration, please see the Compatibility section below.
Note About PeerDAS
Ethereum's Fusaka upgrade will introduce PeerDAS, which means that normal beacon nodes will no longer be able to serve blob data. If you wish to use the beacon node blob data source (the --da.blob.beaconnode flag), then you must connect to a supernode (see here for more details). We encourage node operators to always use the AWS S3 blob data source, using the --da.blob.awss3 https://scroll-sepolia-blob-data.s3.us-west-2.amazonaws.com flag.
Compatibility
This release updates the embedded hard fork block timestamp for Scroll Sepolia. Nodes that are not upgraded will be unable to follow the network after the hard fork timestamp. To follow the Galileo upgrade, simply run your node with the --scroll-sepolia flag.
If you do not use the --scroll-sepolia flag, then you must update and reimport genesis.json.
{
"config": {
"chainId": 534351,
...
"euclidTime": 1741680000,
"euclidV2Time": 1741852800,
"feynmanTime": 1753167600,
+ "galileoTime": 1764054000,
...Full genesis.json for l2geth-mpt nodes on Scroll Sepolia
{
"config": {
"chainId": 534351,
"homesteadBlock": 0,
"eip150Block": 0,
"eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"constantinopleBlock": 0,
"petersburgBlock": 0,
"istanbulBlock": 0,
"berlinBlock": 0,
"londonBlock": 0,
"archimedesBlock": 0,
"shanghaiBlock": 0,
"bernoulliBlock": 3747132,
"curieBlock": 4740239,
"darwinTime": 1723622400,
"darwinV2Time": 1724832000,
"euclidTime": 1741680000,
"euclidV2Time": 1741852800,
"feynmanTime": 1753167600,
"galileoTime": 1764054000,
"clique": {
"period": 3,
"epoch": 30000
},
"systemContract": {
"period": 1,
"system_contract_address": "0xC706Ba9fa4fedF4507CB7A898b4766c1bbf9be57",
"system_contract_slot": "0x0000000000000000000000000000000000000000000000000000000000000067"
},
"scroll": {
"useZktrie": false,
"maxTxPerBlock": 100,
"maxTxPayloadBytesPerBlock": 122880,
"feeVaultAddress": "0x5300000000000000000000000000000000000005",
"l1Config": {
"l1ChainId": "11155111",
"l1MessageQueueAddress": "0xF0B2293F5D834eAe920c6974D50957A1732de763",
"l1MessageQueueV2Address": "0xA0673eC0A48aa924f067F1274EcD281A10c5f19F",
"l1MessageQueueV2DeploymentBlock": 7773746,
"scrollChainAddress": "0x2D567EcE699Eabe5afCd141eDB7A4f2D0D6ce8a0",
"l2SystemConfigAddress": "0xF444cF06A3E3724e20B35c2989d3942ea8b59124",
"numL1MessagesPerBlock": "10"
},
"genesisStateRoot": "0x20695989e9038823e35f0e88fbc44659ffdbfa1fe89fbeb2689b43f15fa64cb5",
"missingHeaderFieldsSHA256": "0xa02354c12ca0f918bf4768255af9ed13c137db7e56252348f304b17bb4088924"
}
},
"nonce": "0x0",
"timestamp": "0x64cfd015",
"extraData": "0x000000000000000000000000000000000000000000000000000000000000000048C3F81f3D998b6652900e1C3183736C238Fe4290000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"gasLimit": "8000000",
"difficulty": "0x1",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x0000000000000000000000000000000000000000",
"alloc": {
"0x18960EEc21b1878C581937a14c5c3C43008F6b6B": {
"balance": "10000000000000000000"
},
"0xBa50f5340FB9F3Bd074bD638c9BE13eCB36E603d": {
"balance": "226156424291633194186662080095093570025917938800079226629565593765455331328"
},
"0x5300000000000000000000000000000000000000": {
"balance": "0x0",
"code": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806383cc76601161006657806383cc7660146100fc5780638da5cb5b1461010f578063c4d66de814610122578063d4b9f4fa14610135578063f2fde38b1461013e57600080fd5b806326aad7b7146100985780633cb747bf146100b4578063600a2e77146100df578063715018a6146100f2575b600080fd5b6100a160015481565b6040519081526020015b60405180910390f35b6053546100c7906001600160a01b031681565b6040516001600160a01b0390911681526020016100ab565b6100a16100ed36600461054a565b610151565b6100fa6101f6565b005b6100a161010a36600461054a565b61022c565b6052546100c7906001600160a01b031681565b6100fa610130366004610563565b610243565b6100a160005481565b6100fa61014c366004610563565b6102db565b6053546000906001600160a01b031633146101a45760405162461bcd60e51b815260206004820152600e60248201526d37b7363c9036b2b9b9b2b733b2b960911b60448201526064015b60405180910390fd5b6000806101b084610367565b60408051838152602081018890529294509092507ffaa617c2d8ce12c62637dbce76efcc18dae60574aa95709bdcedce7e76071693910160405180910390a19392505050565b6052546001600160a01b031633146102205760405162461bcd60e51b815260040161019b90610593565b61022a6000610486565b565b602a816028811061023c57600080fd5b0154905081565b6052546001600160a01b0316331461026d5760405162461bcd60e51b815260040161019b90610593565b600154156102b15760405162461bcd60e51b815260206004820152601160248201527063616e6e6f7420696e697469616c697a6560781b604482015260640161019b565b6102b96104d8565b605380546001600160a01b0319166001600160a01b0392909216919091179055565b6052546001600160a01b031633146103055760405162461bcd60e51b815260040161019b90610593565b6001600160a01b03811661035b5760405162461bcd60e51b815260206004820152601d60248201527f6e6577206f776e657220697320746865207a65726f2061646472657373000000604482015260640161019b565b61036481610486565b50565b60035460009081906103bb5760405162461bcd60e51b815260206004820152601a60248201527f63616c6c206265666f726520696e697469616c697a6174696f6e000000000000604482015260640161019b565b6001548360005b8215610456576103d36002846105e0565b60000361041f5781602a82602881106103ee576103ee6105ca565b01556104188260028360288110610407576104076105ca565b015460009182526020526040902090565b915061044a565b610447602a8260288110610435576104356105ca565b01548360009182526020526040902090565b91505b600192831c92016103c2565b81602a826028811061046a5761046a6105ca565b0155506000819055600180548082019091559590945092505050565b605280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60005b60286104e8826001610618565b10156103645761051960028260288110610504576105046105ca565b015460028360288110610407576104076105ca565b6002610526836001610618565b60288110610536576105366105ca565b01558061054281610631565b9150506104db565b60006020828403121561055c57600080fd5b5035919050565b60006020828403121561057557600080fd5b81356001600160a01b038116811461058c57600080fd5b9392505050565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000826105fd57634e487b7160e01b600052601260045260246000fd5b500690565b634e487b7160e01b600052601160045260246000fd5b8082018082111561062b5761062b610602565b92915050565b60006001820161064357610643610602565b506001019056fea26469706673582212208fb1cb9933bb17dd0a7c17de7c890919b08d2fd7eb2bede7b41caa32709b30b564736f6c63430008100033",
"storage": {
"0x0000000000000000000000000000000000000000000000000000000000000052": "0x18960EEc21b1878C581937a14c5c3C43008F6b6B"
}
},
"0x5300000000000000000000000000000000000002": {
"balance": "0x0",
"code": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063715018a61161008c578063bede39b511610066578063bede39b51461018d578063de26c4a1146101a0578063f2fde38b146101b3578063f45e65d8146101c657600080fd5b8063715018a6146101475780638da5cb5b1461014f57806393e59dc11461017a57600080fd5b80630c18c162146100d45780633577afc5146100f05780633d0f963e1461010557806349948e0e14610118578063519b4bd31461012b5780637046559714610134575b600080fd5b6100dd60025481565b6040519081526020015b60405180910390f35b6101036100fe366004610671565b6101cf565b005b61010361011336600461068a565b610291565b6100dd6101263660046106d0565b61031c565b6100dd60015481565b610103610142366004610671565b610361565b610103610416565b600054610162906001600160a01b031681565b6040516001600160a01b0390911681526020016100e7565b600454610162906001600160a01b031681565b61010361019b366004610671565b61044c565b6100dd6101ae3660046106d0565b610533565b6101036101c136600461068a565b610595565b6100dd60035481565b6000546001600160a01b031633146102025760405162461bcd60e51b81526004016101f990610781565b60405180...scroll-v5.9.2
Overview
This release enables the Feynman upgrade on Scroll mainnet at timestamp 1755576000 (Tue August 19 2025 04:00:00 GMT+0000). To learn about the contents of Feynman, please refer to the governance forum post and the testnet release notes.
Who should upgrade?
Node operators running on Scroll mainnet must upgrade to this release.
For Scroll Sepolia testnet nodes, upgrading to this version is recommended.
Node Configuration Changes
Mandatory changes:
--gpo.congestionthresholdis deprecated and should be removed.
Recommended changes:
- Enable the direct-to-sequencer endpoint using
--gossip.sequencerhttp <sequencer-url>. This reduces latency for transaction submission.- Scroll mainnet:
--gossip.sequencerhttp https://mainnet-sequencer-proxy.scroll.io - Scroll Sepolia:
--gossip.sequencerhttp https://sepolia-sequencer-proxy.scroll.io
- Scroll mainnet:
- For nodes running with
--rollup.verifyor--da.sync: Enable the AWS S3 blob data source using--da.blob.awss3 <s3-bucket-url>. This can be used alongside other blob data sources (da.blob.beaconnode,da.blob.blobscan,da.blob.blocknative).- Scroll mainnet:
--da.blob.awss3 https://scroll-mainnet-blob-data.s3.us-west-2.amazonaws.com - Scroll Sepolia:
--da.blob.awss3 https://scroll-sepolia-blob-data.s3.us-west-2.amazonaws.com
- Scroll mainnet:
See more details in the testnet release notes.
Compatibility
This release updates the embedded hard fork block timestamp for Scroll mainnet. Nodes that are not upgraded will be unable to follow the network after the hard fork block. To follow the Feynman upgrade, simply run your node with the --scroll flag for mainnet (and --scroll-sepolia for testnet).
If you do not use the --scroll flag, then you must update and reimport genesis.json.
{
"config": {
"chainId": 534352,
...
"euclidTime": 1744815600,
"euclidV2Time": 1745305200,
+ "feynmanTime": 1755576000,
...
"scroll": {
...
"genesisStateRoot": "0x08d535cc60f40af5dd3b31e0998d7567c2d568b224bed2ba26070aeb078d1339",
+ "missingHeaderFieldsSHA256": "0xfa2746026ec9590e37e495cb20046e20a38fd0e7099abd2012640dddf6c88b25"
...Full genesis.json for l2geth-mpt mainnet nodes
{
"config": {
"chainId": 534352,
"homesteadBlock": 0,
"eip150Block": 0,
"eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"constantinopleBlock": 0,
"petersburgBlock": 0,
"istanbulBlock": 0,
"berlinBlock": 0,
"londonBlock": 0,
"archimedesBlock": 0,
"shanghaiBlock": 0,
"bernoulliBlock": 5220340,
"curieBlock": 7096836,
"darwinTime": 1724227200,
"darwinV2Time": 1725264000,
"euclidTime": 1744815600,
"euclidV2Time": 1745305200,
"feynmanTime": 1755576000,
"clique": {
"period": 3,
"epoch": 30000
},
"systemContract": {
"period": 1,
"system_contract_address": "0x8432728A257646449245558B8b7Dbe51A16c7a4D",
"system_contract_slot": "0x0000000000000000000000000000000000000000000000000000000000000067"
},
"scroll": {
"useZktrie": false,
"maxTxPerBlock": 100,
"maxTxPayloadBytesPerBlock": 122880,
"feeVaultAddress": "0x5300000000000000000000000000000000000005",
"l1Config": {
"l1ChainId": "1",
"l1MessageQueueAddress": "0x0d7E906BD9cAFa154b048cFa766Cc1E54E39AF9B",
"l1MessageQueueV2Address": "0x56971da63A3C0205184FEF096E9ddFc7A8C2D18a",
"l1MessageQueueV2DeploymentBlock": 22280397,
"scrollChainAddress": "0xa13BAF47339d63B743e7Da8741db5456DAc1E556",
"l2SystemConfigAddress": "0x331A873a2a85219863d80d248F9e2978fE88D0Ea",
"numL1MessagesPerBlock": "10"
},
"genesisStateRoot": "0x08d535cc60f40af5dd3b31e0998d7567c2d568b224bed2ba26070aeb078d1339",
"missingHeaderFieldsSHA256": "0xfa2746026ec9590e37e495cb20046e20a38fd0e7099abd2012640dddf6c88b25"
}
},
"nonce": "0x0",
"timestamp": "0x6524e860",
"extraData": "0x4c61206573746f6e7465636f206573746173206d616c6665726d6974612e0000d2ACF5d16a983DB0d909d9D761B8337Fabd6cBd10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"gasLimit": "10000000",
"difficulty": "0x1",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x0000000000000000000000000000000000000000",
"alloc": {
"0xF9062b8a30e0d7722960e305049FA50b86ba6253": {
"balance": "2000000000000000000"
},
"0x781e90f1c8Fc4611c9b7497C3B47F99Ef6969CbC": {
"balance": "226156424291633194186662080095093570025917938800079226637565593765455331328"
},
"0x5300000000000000000000000000000000000000": {
"balance": "0x0",
"code": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806383cc76601161006657806383cc7660146100fc5780638da5cb5b1461010f578063c4d66de814610122578063d4b9f4fa14610135578063f2fde38b1461013e57600080fd5b806326aad7b7146100985780633cb747bf146100b4578063600a2e77146100df578063715018a6146100f2575b600080fd5b6100a160015481565b6040519081526020015b60405180910390f35b6053546100c7906001600160a01b031681565b6040516001600160a01b0390911681526020016100ab565b6100a16100ed36600461054a565b610151565b6100fa6101f6565b005b6100a161010a36600461054a565b61022c565b6052546100c7906001600160a01b031681565b6100fa610130366004610563565b610243565b6100a160005481565b6100fa61014c366004610563565b6102db565b6053546000906001600160a01b031633146101a45760405162461bcd60e51b815260206004820152600e60248201526d37b7363c9036b2b9b9b2b733b2b960911b60448201526064015b60405180910390fd5b6000806101b084610367565b60408051838152602081018890529294509092507ffaa617c2d8ce12c62637dbce76efcc18dae60574aa95709bdcedce7e76071693910160405180910390a19392505050565b6052546001600160a01b031633146102205760405162461bcd60e51b815260040161019b90610593565b61022a6000610486565b565b602a816028811061023c57600080fd5b0154905081565b6052546001600160a01b0316331461026d5760405162461bcd60e51b815260040161019b90610593565b600154156102b15760405162461bcd60e51b815260206004820152601160248201527063616e6e6f7420696e697469616c697a6560781b604482015260640161019b565b6102b96104d8565b605380546001600160a01b0319166001600160a01b0392909216919091179055565b6052546001600160a01b031633146103055760405162461bcd60e51b815260040161019b90610593565b6001600160a01b03811661035b5760405162461bcd60e51b815260206004820152601d60248201527f6e6577206f776e657220697320746865207a65726f2061646472657373000000604482015260640161019b565b61036481610486565b50565b60035460009081906103bb5760405162461bcd60e51b815260206004820152601a60248201527f63616c6c206265666f726520696e697469616c697a6174696f6e000000000000604482015260640161019b565b6001548360005b8215610456576103d36002846105e0565b60000361041f5781602a82602881106103ee576103ee6105ca565b01556104188260028360288110610407576104076105ca565b015460009182526020526040902090565b915061044a565b610447602a8260288110610435576104356105ca565b01548360009182526020526040902090565b91505b600192831c92016103c2565b81602a826028811061046a5761046a6105ca565b0155506000819055600180548082019091559590945092505050565b605280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60005b60286104e8826001610618565b10156103645761051960028260288110610504576105046105ca565b015460028360288110610407576104076105ca565b6002610526836001610618565b60288110610536576105366105ca565b01558061054281610631565b9150506104db565b60006020828403121561055c57600080fd5b5035919050565b60006020828403121561057557600080fd5b81356001600160a01b038116811461058c57600080fd5b9392505050565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000826105fd57634e487b7160e01b600052601260045260246000fd5b500690565b634e487b7160e01b600052601160045260246000fd5b8082018082111561062b5761062b610602565b92915050565b60006001820161064357610643610602565b506001019056fea26469706673582212208fb1cb9933bb17dd0a7c17de7c890919b08d2fd7eb2bede7b41caa32709b30b564736f6c63430008100033",
"storage": {
"0x0000000000000000000000000000000000000000000000000000000000000052": "0xF9062b8a30e0d7722960e305049FA50b86ba6253"
}
},
"0x5300000000000000000000000000000000000002": {
"balance": "0x0",
"code": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063715018a61161008c578063bede39b511610066578063bede39b51461018d578063de26c4a1146101a0578063f2fde38b146101b3578063f45e65d8146101c657600080fd5b8063715018a6146101475780638da5cb5b1461014f57806393e59dc11461017a57600080fd5b80630c18c162146100d45780633577afc5146100f05780633d0f963e1461010557806349948e0e14610118578063519b4bd31461012b5780637046559714610134575b600080fd5b6100dd60025481565b6040519081526020015b60405180910390f35b6101036100fe366004610671565b6101cf565b005b61010361011336600461068a565b610291565b6100dd6101263660046106d0565b61031c565b6100dd60015481565b610103610142366004610671565b610361565b610103610416565b600054610162906001600160a01b031681565b6040516001600160a01b0390911681526020016100e7565b600454610162906001600160a01b031681565b61010361019b366004610671565b61044c565b6100dd6101ae3660046106d0565b610533565b6101036101c136600461068a565b610595565b6100dd60035481565b6000546001600160a01b031633146102025760405162461bcd60e51b81526004016101f990610781565b60405180910390fd5b621c9c388111156102555760405162461bcd60e51b8152...scroll-v5.8.74
Overview
This is a hotfix release for Scroll Sepolia nodes. This release fixes two issues:
- Some
eth_estimateGasRPC calls would fail withinsufficient gas for floor data gas cost. - Nodes running with rollup verification enabled would fail at the first Feynman batch with
failed to sanity check postL1MessageQueueHash after applying all L1 messages.
This release is mandatory for Scroll Sepolia nodes with rollup verification enabled (--rollup.verify flag). Upgrading Scroll mainnet nodes to this version is not recommended.
What's Changed
- fix: consider floor gas in eth_estimateGas by @Thegaram in #1225
- fix: remove wrong transition check in rollup-verifier by @Thegaram in #1226
Full Changelog: scroll-v5.8.72...scroll-v5.8.74
scroll-v5.8.72
Overview
This release enables the Feynman upgrade on the Scroll Sepolia testnet at timestamp 1753167600 (Tue July 22 2025 07:00:00 GMT+0000). This upgrade enables a series of important changes including:
- L1-compatible
blockhashopcode andecPairingprecompile. - Adopt EIP-2935 and EIP-7623 from Ethereum's Pectra upgrade.
- Compression-aware rollup fee, and EIP-1559 congestion-aware base fee.
Additionally, this release also includes various fixes and improvements:
- (Experimental) Direct transaction submission to sequencer (instead of relying on gossip). #1194 #1208
- Remove transaction count limit from block validation. #1215
- Fetch Scroll blobs from an AWS S3 snapshot. #1209
- Fix L1 follower node block hash mismatch. #903
- More stable gas price esimation. #1220
Who should upgrade?
Node operators running on Scroll Sepolia must upgrade to this release.
Node operators running on Scroll mainnet should not upgrade to this release. We will publish a separate release for mainnet soon after the testnet upgrade.
Node Configuration Changes
Mandatory changes:
gpo.congestionthresholdis removed.
Optional changes (no action item for most node operators):
- New flags allow fine-grained control over node gossip behavior:
gossip.disabletxbroadcast,gossip.disabletxreceiving,gossip.enablebroadcasttoall,gossip.broadcasttoallcap. --gossip.sequencerhttp https://sepolia-sequencer-proxy.scroll.ioenables additional direct transaction submission directly to the Scroll sequencer endpoint, reducing latency.- A new S3 blob data source can be enabled using
--da.blob.awss3 https://scroll-sepolia-blob-data.s3.us-west-2.amazonaws.com. This can be used alongside, or as a replacement for other blob data sources (da.blob.beaconnode,da.blob.blobscan,da.blob.blocknative). - If running in L1 follower mode, the node uses the newly added
missingHeaderFieldsSHA256genesis configuration field to fetch the block data hint. This is configured automatically if used with the--scroll-sepoliaflag.
Compatibility
This release updates the embedded hard fork block timestamp for Scroll Sepolia. Nodes that are not upgraded will be unable to follow the network after the hard fork block. To follow the Feynman upgrade, simply run your node with the --scroll-sepolia flag.
If you do not use the --scroll-sepolia flag, then you must update and reimport genesis.json.
{
"config": {
"chainId": 534351,
...
"euclidTime": 1741680000,
"euclidV2Time": 1741852800,
+ "feynmanTime": 1753167600,
...
"scroll": {
...
"genesisStateRoot": "0x20695989e9038823e35f0e88fbc44659ffdbfa1fe89fbeb2689b43f15fa64cb5",
+ "missingHeaderFieldsSHA256": "0xa02354c12ca0f918bf4768255af9ed13c137db7e56252348f304b17bb4088924"
...Full genesis.json for l2geth-mpt nodes
{
"config": {
"chainId": 534351,
"homesteadBlock": 0,
"eip150Block": 0,
"eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"constantinopleBlock": 0,
"petersburgBlock": 0,
"istanbulBlock": 0,
"berlinBlock": 0,
"londonBlock": 0,
"archimedesBlock": 0,
"shanghaiBlock": 0,
"bernoulliBlock": 3747132,
"curieBlock": 4740239,
"darwinTime": 1723622400,
"darwinV2Time": 1724832000,
"euclidTime": 1741680000,
"euclidV2Time": 1741852800,
"feynmanTime": 1753167600,
"clique": {
"period": 3,
"epoch": 30000
},
"systemContract": {
"period": 1,
"system_contract_address": "0xC706Ba9fa4fedF4507CB7A898b4766c1bbf9be57",
"system_contract_slot": "0x0000000000000000000000000000000000000000000000000000000000000067"
},
"scroll": {
"useZktrie": false,
"maxTxPerBlock": 100,
"maxTxPayloadBytesPerBlock": 122880,
"feeVaultAddress": "0x5300000000000000000000000000000000000005",
"l1Config": {
"l1ChainId": "11155111",
"l1MessageQueueAddress": "0xF0B2293F5D834eAe920c6974D50957A1732de763",
"l1MessageQueueV2Address": "0xA0673eC0A48aa924f067F1274EcD281A10c5f19F",
"l1MessageQueueV2DeploymentBlock": 7773746,
"scrollChainAddress": "0x2D567EcE699Eabe5afCd141eDB7A4f2D0D6ce8a0",
"l2SystemConfigAddress": "0xF444cF06A3E3724e20B35c2989d3942ea8b59124",
"numL1MessagesPerBlock": "10"
},
"genesisStateRoot": "0x20695989e9038823e35f0e88fbc44659ffdbfa1fe89fbeb2689b43f15fa64cb5",
"missingHeaderFieldsSHA256": "0xa02354c12ca0f918bf4768255af9ed13c137db7e56252348f304b17bb4088924"
}
},
"nonce": "0x0",
"timestamp": "0x64cfd015",
"extraData": "0x000000000000000000000000000000000000000000000000000000000000000048C3F81f3D998b6652900e1C3183736C238Fe4290000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"gasLimit": "8000000",
"difficulty": "0x1",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x0000000000000000000000000000000000000000",
"alloc": {
"0x18960EEc21b1878C581937a14c5c3C43008F6b6B": {
"balance": "10000000000000000000"
},
"0xBa50f5340FB9F3Bd074bD638c9BE13eCB36E603d": {
"balance": "226156424291633194186662080095093570025917938800079226629565593765455331328"
},
"0x5300000000000000000000000000000000000000": {
"balance": "0x0",
"code": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806383cc76601161006657806383cc7660146100fc5780638da5cb5b1461010f578063c4d66de814610122578063d4b9f4fa14610135578063f2fde38b1461013e57600080fd5b806326aad7b7146100985780633cb747bf146100b4578063600a2e77146100df578063715018a6146100f2575b600080fd5b6100a160015481565b6040519081526020015b60405180910390f35b6053546100c7906001600160a01b031681565b6040516001600160a01b0390911681526020016100ab565b6100a16100ed36600461054a565b610151565b6100fa6101f6565b005b6100a161010a36600461054a565b61022c565b6052546100c7906001600160a01b031681565b6100fa610130366004610563565b610243565b6100a160005481565b6100fa61014c366004610563565b6102db565b6053546000906001600160a01b031633146101a45760405162461bcd60e51b815260206004820152600e60248201526d37b7363c9036b2b9b9b2b733b2b960911b60448201526064015b60405180910390fd5b6000806101b084610367565b60408051838152602081018890529294509092507ffaa617c2d8ce12c62637dbce76efcc18dae60574aa95709bdcedce7e76071693910160405180910390a19392505050565b6052546001600160a01b031633146102205760405162461bcd60e51b815260040161019b90610593565b61022a6000610486565b565b602a816028811061023c57600080fd5b0154905081565b6052546001600160a01b0316331461026d5760405162461bcd60e51b815260040161019b90610593565b600154156102b15760405162461bcd60e51b815260206004820152601160248201527063616e6e6f7420696e697469616c697a6560781b604482015260640161019b565b6102b96104d8565b605380546001600160a01b0319166001600160a01b0392909216919091179055565b6052546001600160a01b031633146103055760405162461bcd60e51b815260040161019b90610593565b6001600160a01b03811661035b5760405162461bcd60e51b815260206004820152601d60248201527f6e6577206f776e657220697320746865207a65726f2061646472657373000000604482015260640161019b565b61036481610486565b50565b60035460009081906103bb5760405162461bcd60e51b815260206004820152601a60248201527f63616c6c206265666f726520696e697469616c697a6174696f6e000000000000604482015260640161019b565b6001548360005b8215610456576103d36002846105e0565b60000361041f5781602a82602881106103ee576103ee6105ca565b01556104188260028360288110610407576104076105ca565b015460009182526020526040902090565b915061044a565b610447602a8260288110610435576104356105ca565b01548360009182526020526040902090565b91505b600192831c92016103c2565b81602a826028811061046a5761046a6105ca565b0155506000819055600180548082019091559590945092505050565b605280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60005b60286104e8826001610618565b10156103645761051960028260288110610504576105046105ca565b015460028360288110610407576104076105ca565b6002610526836001610618565b60288110610536576105366105ca565b01558061054281610631565b9150506104db565b60006020828403121561055c57600080fd5b5035919050565b60006020828403121561057557600080fd5b81356001600160a01b038116811461058c57600080fd5b9392505050565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000826105fd57634e487b7160e01b600052601260045260246000fd5b500690565b634e487b7160e01b600052601160045260246000fd5b8082018082111561062b5761062b610602565b92915050565b60006001820161064357610643610602565b506001019056fea26469706673582212208fb1cb9933bb17dd0a7c17de7c890919b08d2fd7eb2bede7b41caa32709b30b564736f6c63430008100033",
"storage": {
"0x0000000000000000000000000000000000000000000000000000000000000052": "0x18960EEc21b1878C581937a14c5c3C43008F6b6B"
}
},
"0x5300000000000000000000000000000000000002": {
"balance": "0x0",
"code": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063715018a61161008c578063bede39b5116100665780...scroll-v5.8.52-fix
Overview
This is a hotfix release for scroll-v5.8.52.
This release fixes an issue where the node might be unable to decode and verify certain previously committed blobs.
This release is mandatory for nodes with rollup verification enabled (--rollup.verify flag), as well as L1 follower nodes (--da.sync flag). For nodes that do not use any of these flags, upgrading is optional.
What's Changed
fix(rollup-verifier): update da-codec dependency #1207
Full Changelog: scroll-v5.8.52...scroll-v5.8.52-fix
scroll-v5.8.52
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 1000Genesis 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
CommittedBatchMetaby @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
scroll-v5.8.38
This is a hotfix release for scroll-v5.8.33.
Note
For instructions on how to upgrade Scroll Euclid, please refer to: https://github.com/scroll-tech/go-ethereum/releases/tag/scroll-v5.8.33
What's Changed
- fix: check ancient header hash after decoding by @omerfirmak in #1162
- fix: ignore key-not-found errors in testWitness by @omerfirmak in #1164
- add non congested gas fee to fee history by @georgehao in #1163
- fix: an attempt at making witness generation more stable by @omerfirmak in #1166
- feat(txpool): more txn tracing logs by @colinlyguo in #1167
- fix(txpool): tracing txn executed status by @colinlyguo in #1168
Full Changelog: scroll-v5.8.33...scroll-v5.8.38
scroll-v5.8.33
Overview
This release enables the upcoming Euclid upgrade on Scroll Mainnet. Euclid consists of two phases (two forks):
- Euclid phase-1 at timestamp
1744815600(Wed Apr 16 2025 15:00:00 GMT+0000). - Euclid phase-2 at timestamp
1745305200(Tue Apr 22 2025 07:00:00 GMT+0000).
This upgrade enables a series of important changes including:
- Support for MPT state commitment.
- Disable CCC and transaction skipping.
- Enable EIP-7702 and RIP-7212.
- Support for
DACodecV7andMessageQueueV2. - Deprecate Clique and migrate to the new
SystemContractProof-of-Authority consensus. - Add tools for permissionless batch submission and recovery.
Who should upgrade?
Node operators running on Scroll Mainnet must upgrade to this release.
Node operators running on Scroll Sepolia do not need to upgrade to this release.
How to upgrade?
DA Sync
From this release on, nodes that fetch rollup data from L1 (nodes running with the --rollup.verify flag, and L1 follower nodes) must connect to a blob data source.
We recommend directly connecting to a beacon node endpoint:
--da.blob.beaconnode "http://l1geth-cl:5052" // change to your endpoint
Note: The beacon node should store all past Scroll blobs. If the node prunes past blobs, it will not be suitable for syncing. In that case you might see errors like failed to fetch blob from blob client.
In addition, you can also configure other blob sources:
Mainnet:
--da.blob.blobscan "https://api.blobscan.com/blobs/"
--da.blob.blocknative "https://api.ethernow.xyz/v1/blob/"
Sepolia:
--da.blob.blobscan "https://api.sepolia.blobscan.com/blobs/"
You must configure at least one of these flags. (You can configure all.)
MPT Mode
In the Euclid upgrade Scroll will migrate to a new state commitment scheme (from zktrie to MPT). In this release we continue supporting both modes. From here on we will refer to these as l2geth-zktrie and l2geth-mpt nodes. Both types of nodes use the same binary / Docker image, but slightly different configuration.
Existing nodes (l2geth-zktrie) can be upgraded in place without any changes to the database. These nodes will work just fine prior to the Euclid fork and provide all the functionality they normally provide. After the fork boundary, they will be allowed to stay connected to the network, follow the chain, and take part in the P2P gossip network. But they will stop verifying state roots that come with block headers and they won’t be able to provide state proofs for any of the Euclid blocks.
We recommend that node operators set up new l2geth-mpt nodes. This requires a full resync:
- Set up a new node. You can use your previous configuration flags, but add
--scroll-mptand--gcmode=archiveto enable mpt mode - Wait for the node to fully sync.
- If you maintain a load balancer (e.g. RPC operators), redirect it to the new
l2geth-mptnodes during or shortly after Euclid phase-1. This will ensure thateth_getProofreturns correct results. - After Euclid, you can remove all the previous
l2geth-zktrienodes.
For faster sync, node operators can use the Scroll Mainnet l2geth-mpt snapshot: https://scroll-geth-snapshot.s3.us-west-2.amazonaws.com/mpt/latest.tar
Compatibility
This release updates the embedded hard fork block timestamp for Scroll Mainnet. Nodes that are not upgraded will be unable to follow the network after the hard fork block. To follow the Euclid upgrade, simply run your node with the --scroll flag.
If you do not use the --scroll flag, then you must update and reimport genesis.json.
genesis.json for l2geth-zktrie nodes
{
"config": {
"chainId": 534352,
"homesteadBlock": 0,
"eip150Block": 0,
"eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"eip155Block": 0,
"eip158Block": 0,
"byzantiumBlock": 0,
"constantinopleBlock": 0,
"petersburgBlock": 0,
"istanbulBlock": 0,
"berlinBlock": 0,
"londonBlock": 0,
"archimedesBlock": 0,
"shanghaiBlock": 0,
"bernoulliBlock": 5220340,
"curieBlock": 7096836,
"darwinTime": 1724227200,
"darwinV2Time": 1725264000,
"euclidTime": 1744815600,
"euclidV2Time": 1745305200,
"clique": {
"period": 3,
"epoch": 30000
},
"systemContract": {
"period": 3,
"system_contract_address": "0x8432728A257646449245558B8b7Dbe51A16c7a4D",
"system_contract_slot": "0x0000000000000000000000000000000000000000000000000000000000000067"
},
"scroll": {
"useZktrie": true,
"maxTxPerBlock": 100,
"maxTxPayloadBytesPerBlock": 122880,
"feeVaultAddress": "0x5300000000000000000000000000000000000005",
"l1Config": {
"l1ChainId": "1",
"l1MessageQueueAddress": "0x0d7E906BD9cAFa154b048cFa766Cc1E54E39AF9B",
"l1MessageQueueV2Address": "0x56971da63A3C0205184FEF096E9ddFc7A8C2D18a",
"l1MessageQueueV2DeploymentBlock": 22088276,
"scrollChainAddress": "0xa13BAF47339d63B743e7Da8741db5456DAc1E556",
"numL1MessagesPerBlock": "10"
},
"genesisStateRoot": "0x08d535cc60f40af5dd3b31e0998d7567c2d568b224bed2ba26070aeb078d1339"
}
},
"nonce": "0x0",
"timestamp": "0x6524e860",
"extraData": "0x4c61206573746f6e7465636f206573746173206d616c6665726d6974612e0000d2ACF5d16a983DB0d909d9D761B8337Fabd6cBd10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
"gasLimit": "10000000",
"difficulty": "0x1",
"mixHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"coinbase": "0x0000000000000000000000000000000000000000",
"alloc": {
"0xF9062b8a30e0d7722960e305049FA50b86ba6253": {
"balance": "2000000000000000000"
},
"0x781e90f1c8Fc4611c9b7497C3B47F99Ef6969CbC": {
"balance": "226156424291633194186662080095093570025917938800079226637565593765455331328"
},
"0x5300000000000000000000000000000000000000": {
"balance": "0x0",
"code": "0x608060405234801561001057600080fd5b50600436106100935760003560e01c806383cc76601161006657806383cc7660146100fc5780638da5cb5b1461010f578063c4d66de814610122578063d4b9f4fa14610135578063f2fde38b1461013e57600080fd5b806326aad7b7146100985780633cb747bf146100b4578063600a2e77146100df578063715018a6146100f2575b600080fd5b6100a160015481565b6040519081526020015b60405180910390f35b6053546100c7906001600160a01b031681565b6040516001600160a01b0390911681526020016100ab565b6100a16100ed36600461054a565b610151565b6100fa6101f6565b005b6100a161010a36600461054a565b61022c565b6052546100c7906001600160a01b031681565b6100fa610130366004610563565b610243565b6100a160005481565b6100fa61014c366004610563565b6102db565b6053546000906001600160a01b031633146101a45760405162461bcd60e51b815260206004820152600e60248201526d37b7363c9036b2b9b9b2b733b2b960911b60448201526064015b60405180910390fd5b6000806101b084610367565b60408051838152602081018890529294509092507ffaa617c2d8ce12c62637dbce76efcc18dae60574aa95709bdcedce7e76071693910160405180910390a19392505050565b6052546001600160a01b031633146102205760405162461bcd60e51b815260040161019b90610593565b61022a6000610486565b565b602a816028811061023c57600080fd5b0154905081565b6052546001600160a01b0316331461026d5760405162461bcd60e51b815260040161019b90610593565b600154156102b15760405162461bcd60e51b815260206004820152601160248201527063616e6e6f7420696e697469616c697a6560781b604482015260640161019b565b6102b96104d8565b605380546001600160a01b0319166001600160a01b0392909216919091179055565b6052546001600160a01b031633146103055760405162461bcd60e51b815260040161019b90610593565b6001600160a01b03811661035b5760405162461bcd60e51b815260206004820152601d60248201527f6e6577206f776e657220697320746865207a65726f2061646472657373000000604482015260640161019b565b61036481610486565b50565b60035460009081906103bb5760405162461bcd60e51b815260206004820152601a60248201527f63616c6c206265666f726520696e697469616c697a6174696f6e000000000000604482015260640161019b565b6001548360005b8215610456576103d36002846105e0565b60000361041f5781602a82602881106103ee576103ee6105ca565b01556104188260028360288110610407576104076105ca565b015460009182526020526040902090565b915061044a565b610447602a8260288110610435576104356105ca565b01548360009182526020526040902090565b91505b600192831c92016103c2565b81602a826028811061046a5761046a6105ca565b0155506000819055600180548082019091559590945092505050565b605280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60005b60286104e8826001610618565b10156103645761051960028260288110610504576105046105ca565b015460028360288110610407576104076105ca565b6002610526836001610618565b60288110610536576105366105ca565b01558061054281610631565b9150506104db565b60006020828403121561055c57600080fd5b5035919050565b60006020828403121561057557600080fd5b81356001600160a01b038116811461058c57600080fd5b9392505050565b60208082526017908201527f63616c6c6572206973206e6f7420746865206f776e6572000000000000000000604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000826105fd57634e487b7160e01b600052601260045260246000fd5b500690565b634e487b7160e01b600052601160045260246000fd5b8082018082111561062b5761062b610602565b92915050565b60006001820161064357610643610602565b506001019056fea26469706673582212208fb1cb9933bb17dd0a7c17de7c890919b08d2fd7eb2bede7b41caa32709b30b564736f6c63430008100033",
"storage": {
"0x0000000000000000000000000000000000000000000000000000000000000052": "0xF9062b8a30e0d7722960e305049FA50b86ba6253"
}
},
"0x5300000000000000000000000000000000000002": {
"balan...