go-ethereum/core
rjl493456442 684f0db4a2
core/txpool/blobpool: introduce sidecar conversion for legacy blob transactions (#32656)
This pull request introduces a queue for legacy sidecar conversion to
handle transactions that persist after the Osaka fork. Simply dropping 
these transactions would significantly harm the user experience.

To balance usability with system complexity, we have introduced a
conversion time window of two hours post Osaka fork. During this period, 
the system will accept legacy blob transactions and convert them in a 
background process.

After the window, all legacy transactions will be rejected. Notably, all
the blob transactions will be validated statically before the conversion, 
and also all conversion are performed in a single thread, minimize the risk 
of being DoS.

We believe this two hour window provides sufficient time to process
in-flight legacy transactions and allows submitters to migrate to the 
new format.

---------

Co-authored-by: Felix Lange <fjl@twurst.com>
2025-09-20 10:19:55 +08:00
..
filtermaps core/filtermaps: use slices.Sort to remove duplicated elements (#32602) 2025-09-15 10:42:14 +08:00
forkid core: use reflect.TypeFor (#32320) 2025-08-07 14:53:36 +02:00
history core: initialize history pruning in BlockChain (#31636) 2025-04-15 14:32:46 +02:00
overlay core/overlay: copy BaseRoot in TransitionState.Copy (#32613) 2025-09-15 15:26:16 +08:00
rawdb core/rawdb: fix bad blocks sorted failure message to map index→number correctly (#32627) 2025-09-19 17:23:50 -06:00
state core/state: using testing.B.Loop (#32658) 2025-09-19 16:57:43 -06:00
stateless core/stateless: add vmwitnessstats cli flag to report leaf stats + log to console (#32619) 2025-09-17 15:06:39 +02:00
tracing core/tracing: remove unnecessary 'copy' field skip in TestAllHooksCalled (#32622) 2025-09-16 19:58:37 +08:00
txpool core/txpool/blobpool: introduce sidecar conversion for legacy blob transactions (#32656) 2025-09-20 10:19:55 +08:00
types core/types: using testing.B.Loop (#32643) 2025-09-19 17:11:32 -06:00
vm core/vm: using testing.B.Loop (#32660) 2025-09-19 17:06:55 -06:00
.gitignore Renamed chain => core 2014-12-04 10:28:02 +01:00
bench_test.go core: using testing.B.Loop (#32662) 2025-09-19 17:06:27 -06:00
block_validator.go core,miner: implement EIP-7934 - RLP Execution Block Size Limit (#31990) 2025-07-09 11:24:44 +02:00
block_validator_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
blockchain.go core: fix fork readiness log (#32623) 2025-09-18 06:28:03 +02:00
blockchain_insert.go metrics: add chain/gas for cumulative gas usage (#32004) 2025-06-12 20:30:54 +08:00
blockchain_reader.go core/rawdb: reduce allocations in rawdb.ReadHeaderNumber (#31913) 2025-07-15 15:48:36 +02:00
blockchain_repair_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
blockchain_sethead_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
blockchain_snapshot_test.go triedb/pathdb, eth: use double-buffer mechanism in pathdb (#30464) 2025-06-22 20:40:54 +08:00
blockchain_test.go core/rawdb: reduce allocations in rawdb.ReadHeaderNumber (#31913) 2025-07-15 15:48:36 +02:00
chain_makers.go core/state: introduce the TransitionState object (verkle transition part 1) (#31634) 2025-08-05 09:34:12 +08:00
chain_makers_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
dao_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
error.go core, params: add limit for max blobs in blob transaction (#32246) 2025-07-21 16:26:24 +02:00
events.go core, eth, ethstats: simplify chain head events (#30601) 2024-10-16 10:32:58 +03:00
evm.go params,core: add max and target value to chain config (#31002) 2025-02-04 15:43:18 +01:00
gaspool.go core, miner: revert block gas counter in case of invalid transaction (#26799) 2023-03-07 05:23:52 -05:00
gen_genesis.go core: go fmt (#29544) 2024-04-16 15:42:16 +03:00
genesis.go build: update to execution-spec-tests v5.0.0 (#32592) 2025-09-18 22:58:40 +02:00
genesis_alloc.go params: add hoodi testnet definition (#31406) 2025-03-18 12:07:49 +01:00
genesis_test.go triedb/pathdb, eth: use double-buffer mechanism in pathdb (#30464) 2025-06-22 20:40:54 +08:00
headerchain.go core/rawdb: reduce allocations in rawdb.ReadHeaderNumber (#31913) 2025-07-15 15:48:36 +02:00
headerchain_test.go all: nuke total difficulty (#30744) 2025-01-28 18:55:41 +01:00
mkalloc.go accounts, cmd/geth, core: close opened files (#29598) 2024-04-30 15:47:21 +02:00
rlp_test.go core: using testing.B.Loop (#32662) 2025-09-19 17:06:27 -06:00
sender_cacher.go core: use sync.Once for SenderCacher initialization (#31029) 2025-01-16 14:36:45 +01:00
state_prefetcher.go trie, core/state: introduce trie Prefetch for optimizing preload (#32134) 2025-08-20 21:45:27 +08:00
state_processor.go core: improve error context in state processor for Prague EIPs (#32509) 2025-08-28 22:43:45 +08:00
state_processor_test.go params: update tx gas limit cap (#32230) 2025-07-18 13:22:59 +08:00
state_transition.go internal/ethapi: skip tx gas limit check for calls (#32641) 2025-09-19 13:29:17 +02:00
stateless.go cmd/evm: improve block/state test runner (#30633) 2024-12-02 15:18:02 +01:00
txindexer.go core/rawdb: reduce allocations in rawdb.ReadHeaderNumber (#31913) 2025-07-15 15:48:36 +02:00
txindexer_test.go core/rawdb: integrate eradb backend for RPC (#31604) 2025-06-03 10:47:38 +02:00
types.go all: implement flat deposit requests encoding (#30425) 2024-10-09 12:24:58 +02:00
verkle_witness_test.go core/tracing: add code change reason (#32525) 2025-09-02 12:44:47 +02:00