go-ethereum/eth
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
..
catalyst feat: add EIP-7702 (#1112) 2025-02-25 14:56:51 +01:00
downloader feat: add system config consensus to deprecate clique (#1102) 2025-02-28 15:53:32 +01:00
ethconfig feat: add system config consensus to deprecate clique (#1102) 2025-02-28 15:53:32 +01:00
fetcher feat: add EIP-7702 (#1112) 2025-02-25 14:56:51 +01:00
filters feat: add mux tracer for native call tracer and native prestate tracers (#615) 2024-01-18 14:58:27 +08:00
gasprice feat: add EIP-7702 (#1112) 2025-02-25 14:56:51 +01:00
protocols feat: add system config consensus to deprecate clique (#1102) 2025-02-28 15:53:32 +01:00
tracers feat: add system config consensus to deprecate clique (#1102) 2025-02-28 15:53:32 +01:00
api.go feat: add EIP-7702 (#1112) 2025-02-25 14:56:51 +01:00
api_backend.go feat: allow removing txns from pool via CLI/RPC (#1041) 2024-09-16 13:56:11 +03:00
api_test.go core, trie, eth, cmd: rework preimage store (#205) 2023-02-10 15:26:57 +08:00
backend.go feat: add system config consensus to deprecate clique (#1102) 2025-02-28 15:53:32 +01:00
bloombits.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
discovery.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
handler.go feat: add more metrics to investigate tx broadcast issue (#1007) 2024-08-27 23:03:26 +02:00
handler_eth.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
handler_eth_test.go feat: add system config consensus to deprecate clique (#1102) 2025-02-28 15:53:32 +01:00
handler_snap.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
handler_test.go feat(clique): allow shadowforking a clique network (#828) 2024-08-01 12:11:00 +03:00
peer.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
peerset.go feat(clique): allow shadowforking a clique network (#828) 2024-08-01 12:11:00 +03:00
state_accessor.go feat: add EIP-7702 (#1112) 2025-02-25 14:56:51 +01:00
sync.go feat(clique): allow shadowforking a clique network (#828) 2024-08-01 12:11:00 +03:00
sync_test.go feat: Sync and relay L1 messages (#350) 2023-06-07 07:24:19 -07:00