go-ethereum/core
ozpool 64822da467 core/txpool/blobpool: preserve limbo entry on update store failure
The previous limbo.update implementation deleted the existing entry from
the store and indices before re-inserting it under the new block. If the
re-insertion (setAndIndex) failed, the blob sidecar was permanently
lost: limbo is the only source of truth for the sidecar once the blob
transaction has been offloaded out of the blobpool, and EIP-4844 blob
data is not stored in chain state.

Reorder the operations so the new entry is written first. Only after the
store Put succeeds is the old entry dropped from the store and the old
group mapping cleaned up. A failure to drop the old store id now only
leaks a billy slot - the blob itself is preserved under the new id, and
a follow-up reorg-rollback can still re-inject it.

Adds a round-trip test that updates the inclusion block of a limbo'd
blob and verifies it remains pullable under the new block.

Fixes #34944
2026-05-14 11:35:36 +05:30
..
filtermaps core/filtermaps: remove dead condition check (#34695) 2026-04-10 17:41:59 +02:00
forkid params: set osaka and BPO1 & BPO2 mainnet dates (#33063) 2025-11-03 17:41:22 +01:00
history cmd/geth: add Prague pruning points for hoodi (#34714) 2026-04-14 14:58:27 +02:00
overlay cmd, core, trie, triedb: split CachingDB into merkle + binary dbs. (#34700) 2026-04-17 08:55:54 +08:00
rawdb core/rawdb: clarify ReadLastPivotNumber comment (#34773) 2026-04-21 09:19:03 +08:00
state core/state: track the block-level accessList (#34803) 2026-05-13 20:38:47 +08:00
stateless core/stateless: fix parsing an empty witness (#34683) 2026-04-09 09:19:54 +08:00
tracing core: introduce GasChangeHook v2 (#34946) 2026-05-13 10:53:47 +02:00
txpool core/txpool/blobpool: preserve limbo entry on update store failure 2026-05-14 11:35:36 +05:30
types core/state: track the block-level accessList (#34803) 2026-05-13 20:38:47 +08:00
vm core/state: track the block-level accessList (#34803) 2026-05-13 20:38:47 +08:00
.gitignore Renamed chain => core 2014-12-04 10:28:02 +01:00
bench_test.go core: implement eip-7981: Increase Access List Cost (#34755) 2026-05-06 12:03:11 +02:00
bintrie_witness_test.go core: implement eip-7981: Increase Access List Cost (#34755) 2026-05-06 12:03:11 +02: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 eth/catalyst: add initial OpenTelemetry tracing for newPayload (#33521) 2026-02-17 17:08:57 +01:00
blockchain.go core: write head hash to db after snap sync is complete (#34912) 2026-05-12 10:05:39 +08:00
blockchain_insert.go core: remove unused peek function in insertIterator (#33155) 2025-11-12 15:30:16 +08:00
blockchain_reader.go cmd, core, trie, triedb: split CachingDB into merkle + binary dbs. (#34700) 2026-04-17 08:55:54 +08:00
blockchain_repair_test.go core: consolidate BlockChain constructor options (#31925) 2025-06-19 12:21:15 +02:00
blockchain_sethead_test.go core, miner, tests: introduce codedb and simplify cachingDB (#33816) 2026-03-10 08:29:21 +01:00
blockchain_snapshot_test.go triedb/pathdb, eth: use double-buffer mechanism in pathdb (#30464) 2025-06-22 20:40:54 +08:00
blockchain_stats.go core, miner, tests: introduce codedb and simplify cachingDB (#33816) 2026-03-10 08:29:21 +01:00
blockchain_test.go cmd, core, trie, triedb: split CachingDB into merkle + binary dbs. (#34700) 2026-04-17 08:55:54 +08:00
chain_makers.go core/state: track the block-level accessList (#34803) 2026-05-13 20:38:47 +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, internal/ethapi: fix incorrect max-initcode RPC error mapping (#34067) 2026-03-23 22:10:32 +08:00
eth_transfer_logs_test.go core, core/vm: implement EIP-7708 (#33645) 2026-03-23 22:29:53 +08:00
events.go ethstats: report newPayload processing time to stats server (#33395) 2026-01-05 17:49:30 +01:00
evm.go core: use uint256 in core.Message (#34934) 2026-05-11 22:25:57 +08:00
gaspool.go core: implement eip-7778: block gas accounting without refunds (#33593) 2026-03-04 18:18:18 +08:00
gen_genesis.go core/vm: implement eip-7843: SLOTNUM (#33589) 2026-02-26 13:53:46 +01:00
genesis.go trie: group 2^N binary trie nodes in serialization (#34794) 2026-05-01 15:28:19 +02:00
genesis_alloc.go params: add hoodi testnet definition (#31406) 2025-03-18 12:07:49 +01:00
genesis_test.go trie: group 2^N binary trie nodes in serialization (#34794) 2026-05-01 15:28:19 +02:00
headerchain.go core/rawdb: reduce allocations in rawdb.ReadHeaderNumber (#31913) 2025-07-15 15:48:36 +02:00
headerchain_test.go core/state, core/tracing: new state update hook (#33490) 2026-01-08 11:07:19 +08:00
mkalloc.go accounts, cmd/geth, core: close opened files (#29598) 2024-04-30 15:47:21 +02:00
rlp_test.go crypto/keccak: vendor in golang.org/x/crypto/sha3 (#33323) 2026-02-03 14:55:27 -07:00
sender_cacher.go core: use sync.Once for SenderCacher initialization (#31029) 2025-01-16 14:36:45 +01:00
state_prefetcher.go core/state: track the block-level accessList (#34803) 2026-05-13 20:38:47 +08:00
state_processor.go core/state: track the block-level accessList (#34803) 2026-05-13 20:38:47 +08:00
state_processor_test.go core/vm: implement eip-7843: SLOTNUM (#33589) 2026-02-26 13:53:46 +01:00
state_transition.go core: introduce GasChangeHook v2 (#34946) 2026-05-13 10:53:47 +02:00
state_transition_test.go core: implement eip-7981: Increase Access List Cost (#34755) 2026-05-06 12:03:11 +02:00
stateless.go core: fix code database initialization in stateless mode (#34011) 2026-03-16 09:45:26 +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 eth/catalyst: add initial OpenTelemetry tracing for newPayload (#33521) 2026-02-17 17:08:57 +01:00