go-ethereum/core
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
..
asm Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
bloombits Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
forkid Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
rawdb feat: add EIP-7702 (#1112) 2025-02-25 14:56:51 +01:00
state feat: Add support for L1 MPT (#1104) 2025-02-05 14:57:40 +01:00
stateless feat: Add support for L1 MPT (#1104) 2025-02-05 14:57:40 +01:00
types feat: add system config consensus to deprecate clique (#1102) 2025-02-28 15:53:32 +01:00
vm fix(rollup-fee): support set code tx in asUnsignedTx (#1123) 2025-02-25 16:26:58 +01:00
.gitignore Renamed chain => core 2014-12-04 10:28:02 +01:00
bench_test.go feat: add EIP-7702 (#1112) 2025-02-25 14:56:51 +01:00
block_validator.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
block_validator_test.go feat: add mux tracer for native call tracer and native prestate tracers (#615) 2024-01-18 14:58:27 +08:00
blockchain.go feat(permissionless batches): recovery mode after permissionless batches (#1115) 2025-02-25 15:25:05 +01:00
blockchain_insert.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
blockchain_reader.go feat: add replay blockResult API (#139) 2022-09-20 14:30:57 +08:00
blockchain_repair_test.go feat: add mux tracer for native call tracer and native prestate tracers (#615) 2024-01-18 14:58:27 +08:00
blockchain_sethead_test.go feat: add mux tracer for native call tracer and native prestate tracers (#615) 2024-01-18 14:58:27 +08:00
blockchain_snapshot_test.go feat: add mux tracer for native call tracer and native prestate tracers (#615) 2024-01-18 14:58:27 +08:00
blockchain_test.go feat: add EIP-7702 (#1112) 2025-02-25 14:56:51 +01:00
blocks.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
bloom_indexer.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
chain_indexer.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
chain_indexer_test.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
chain_makers.go feat: add EIP-7702 (#1112) 2025-02-25 14:56:51 +01:00
chain_makers_test.go feat: add mux tracer for native call tracer and native prestate tracers (#615) 2024-01-18 14:58:27 +08:00
dao_test.go feat: add mux tracer for native call tracer and native prestate tracers (#615) 2024-01-18 14:58:27 +08:00
error.go feat: add EIP-7702 (#1112) 2025-02-25 14:56:51 +01:00
events.go feat: Sync and relay L1 messages (#350) 2023-06-07 07:24:19 -07:00
evm.go feat: implement and integrate counter-based CCC (#982) 2024-09-04 13:33:51 +03:00
gaspool.go miner: avoid unnecessary work (#15883) 2018-01-15 12:57:06 +02:00
gen_genesis.go set BaseFee to nil (#222) 2023-02-20 22:04:55 -08:00
gen_genesis_account.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
genesis.go feat: Add support for L1 MPT (#1104) 2025-02-05 14:57:40 +01:00
genesis_alloc.go feat: update network configuration (#533) 2023-10-08 16:03:41 +02:00
genesis_test.go feat: Add support for L1 MPT (#1104) 2025-02-05 14:57:40 +01:00
headerchain.go Add goimports lint (#54) 2022-03-24 16:53:59 +08:00
headerchain_test.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
mkalloc.go style: revert some formatting (#294) 2023-04-20 17:49:35 +08:00
rlp_test.go Add goimports lint (#54) 2022-03-24 16:53:59 +08:00
state_prefetcher.go feat: add EIP-7702 (#1112) 2025-02-25 14:56:51 +01:00
state_processor.go feat: add EIP-7702 (#1112) 2025-02-25 14:56:51 +01:00
state_processor_test.go feat: add EIP-7702 (#1112) 2025-02-25 14:56:51 +01:00
state_transition.go feat: add EIP-7702 (#1112) 2025-02-25 14:56:51 +01:00
state_transition_test.go feat: add EIP-7702 (#1112) 2025-02-25 14:56:51 +01:00
tx_cacher.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
tx_journal.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
tx_list.go feat: txpool pending limit (#1107) 2025-01-29 21:41:58 +01:00
tx_list_test.go feat: update L1 data fee in Curie hard fork (#755) 2024-05-28 14:12:39 +02:00
tx_noncer.go Update mod file and all imports to use scroll-tech URL (#15) 2021-12-24 10:59:22 +01:00
tx_pool.go feat: add EIP-7702 (#1112) 2025-02-25 14:56:51 +01:00
tx_pool_test.go feat: add EIP-7702 (#1112) 2025-02-25 14:56:51 +01:00
types.go feat: async ccc checker (#996) 2024-08-23 11:04:12 +03:00