go-ethereum/rollup
Morty 365b82953d
feat: add system config consensus to deprecate clique (#1102)
* feat: add system config consensus to deprecate poa

* fix: check extra field lens

* Finish implementation with one signer only

* Implement unit tests

* Only check signature if block not requested

* Remove Extra from rlp encoding (and hashing)

* Implement UpgradableEngine as middleware for Clique/SystemContract

* Use isEuclid, add json tag to Requested, make go idiomatic

* Changes post integration test

* Remove comment

* Address comments

* Merge

* New field BlockSignature (not used in hashing/JSON)

* Enforce .Extra to be an empty slice

* replace header.Requested for header.IsNewBlock

* mark new block as IsNewBlock

* Make new RLP optional fields always default for legacy/reth compatibility

* Placing new fields as last non-zero rlp:optional values used by Scroll

* Penalize nodes that send non-zero Euclid V2 header field values

* Bring back .Requested to downloader instead of .IsNewBlock

* Replace IsNewBlock for Requested

* Address comments

* merge

* prevent timing issues in tests

* fix ci

* chore: auto version bump [bot]

* Update consensus/system_contract/consensus.go

Co-authored-by: Morty <70688412+yiweichi@users.noreply.github.com>

* chore: auto version bump [bot]

* Update consensus/system_contract/consensus.go

Co-authored-by: Jonas Theis <4181434+jonastheis@users.noreply.github.com>

* Remove whitespaces and merge version number

* chore: auto version bump [bot]

* validate that the read address from L1 is not empty and improved error handling when fetching address

* Fix indentation issue

* Fix test

* goimports fix

* goimports

---------

Co-authored-by: Alejandro Ranchal-Pedrosa <a.ranchalpedrosa@gmail.com>
Co-authored-by: jonastheis <4181434+jonastheis@users.noreply.github.com>
Co-authored-by: jonastheis <jonastheis@users.noreply.github.com>
Co-authored-by: ranchalp <ranchalp@users.noreply.github.com>
Co-authored-by: Péter Garamvölgyi <peter@scroll.io>
2025-02-28 15:53:32 +01:00
..
ccc feat: add EIP-7702 (#1112) 2025-02-25 14:56:51 +01:00
da_syncer feat(permissionless batches): block production without signature (#1117) 2025-02-25 15:38:48 +01:00
fees fix(rollup-fee): support set code tx in asUnsignedTx (#1123) 2025-02-25 16:26:58 +01:00
l1 feat: add system config consensus to deprecate clique (#1102) 2025-02-28 15:53:32 +01:00
pipeline feat: Add support for L1 MPT (#1104) 2025-02-05 14:57:40 +01:00
rcfg feat: update gas-oracle contract bytecode (#792) 2024-06-03 10:30:59 +02:00
rollup_sync_service feat(permissionless batches): recovery mode after permissionless batches (#1115) 2025-02-25 15:25:05 +01:00
sync_service feat: add system config consensus to deprecate clique (#1102) 2025-02-28 15:53:32 +01:00
tracing feat: add EIP-7702 (#1112) 2025-02-25 14:56:51 +01:00
withdrawtrie feat(trace): add withdraw trie root (#217) 2023-02-16 10:18:47 +08:00