Commit graph

6 commits

Author SHA1 Message Date
Péter Garamvölgyi
3c454e7101
fix: correctly select consensus engine during EuclidV2 transition (#1130)
* fix: correctly select consensus engine during EuclidV2 transition

* correctly backdate transition blocks

* nit

* correctly unset fields

* nit
2025-03-04 12:25:38 +01:00
Péter Garamvölgyi
748fb82899
fix: accept header at most 100ms earlier than timestamp (#1129)
* fix: address timing issue in system config worker

* make code easier to understand

* add 100ms header verification grace period to Clique
2025-03-03 16:31:57 +01:00
Péter Garamvölgyi
87e196052a
fix(system-contract): Check coinbase during header verification (#1128) 2025-03-03 10:06:50 +01:00
Péter Garamvölgyi
1ceb1ba496
fix(system-contract): Ensure header.coinbase is not set (#1127) 2025-03-03 09:53:19 +01:00
Péter Garamvölgyi
1dedddbffb
feat: address system contract consensus issues and comments (#1126)
* feat: address system contract consensus issues and comments

* fix Euclid header chain verification
2025-03-02 21:01:28 +01:00
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