go-ethereum/node
Jonas Theis b4f36b2489
feat(MessageQueueV2): add reading of MessageQueueV2 and transition logic from V1 to V2 for EuclidV2 (#1108)
* port changes from #1013

* port changes from #1068

* go.mod tidy

* fix compile error

* fix goimports

* fix log

* address review comments

* upgrade golang.org/x/net to 0.23.0

* port changes from #1018

* fix tests and linter errors

* address review comments

* refactor rollup sync service / verifier to use CalldataBlobSource to retrieve data from L1

* add configuration and initialize blob clients

* fix unit tests

* remove unused code

* address review comments

* address more review comments

* implement first version of new da-codec and to handle multiple batches submitted in one transaction

* add CommitBatchDAV7 and handle multiple commit events submitted in a single transactions

* fix bug due to previous batch being empty when processing the first batch within a set of batches

* Allow using MPT

* implement reading of QueueTransaction from  L1MessageQueueV1 and V2

* implement access to V1 and V2 messages and replace usage so that V1 is used before EuclidV2 fork and V2 afterward

* add tests

* update to latest da-codec

* add field to CommittedBatchMeta to store LastL1MessageQueueHash for CodecV7 batches

* adjust rollup verifier to support CodecV7 batches

* address review comments

* consume all L1 messages before EuclidV2 fork

* address review comments

* address review comments

* fix issues after merge

* go mod tidy

* fix unit tests

* update da-codec

* add test TestValidateBatchCodecV7

* go mod tidy

* do not log error on shutdown

* add flag to explicitly disable L1MessageQueueV2

* add TestEuclidV2HardForkMessageQueue to scroll worker

* add sanity check for version to deserialization of committedBatchMetaV7

* add mechanism for nodes to retrieve V2 messages even if they upgrade after L1MessageQueueV2 is deployed

* chore: auto version bump [bot]

* address review comments

* Update core/rawdb/accessors_l1_message.go

Co-authored-by: colin <102356659+colinlyguo@users.noreply.github.com>

* address review comments

---------

Co-authored-by: Ömer Faruk Irmak <omerfirmak@gmail.com>
Co-authored-by: Thegaram <Thegaram@users.noreply.github.com>
Co-authored-by: colin <102356659+colinlyguo@users.noreply.github.com>
Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
2025-02-14 12:57:07 +01:00
..
api.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
api_test.go Add goimports lint (#54) 2022-03-24 16:53:59 +08:00
config.go feat(MessageQueueV2): add reading of MessageQueueV2 and transition logic from V1 to V2 for EuclidV2 (#1108) 2025-02-14 12:57:07 +01:00
config_test.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
defaults.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
doc.go style: revert some formatting (#294) 2023-04-20 17:49:35 +08:00
endpoints.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
errors.go node: refactor package node (#21105) 2020-08-03 19:40:46 +02:00
lifecycle.go node: refactor package node (#21105) 2020-08-03 19:40:46 +02:00
node.go feat: follower node sync from DA (#1098) 2024-12-18 17:27:51 +01:00
node_example_test.go style: revert some formatting (#294) 2023-04-20 17:49:35 +08:00
node_test.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
rpcstack.go Add goimports lint (#54) 2022-03-24 16:53:59 +08:00
rpcstack_test.go Add goimports lint (#54) 2022-03-24 16:53:59 +08:00
utils_test.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00