go-ethereum/core/state
CPerezz b4caa05448
core/state,triedb/pathdb: add pre-benchmark validation tests
Comprehensive validation suite designed to confirm the flat state is
working before running benchmarks.

TestBintrieFlatStateConsistencyOracle (core/state):
  The "if this passes, we're good to benchmark" test. Builds realistic
  state over 15 blocks (48 accounts, 14 storage slots), explicitly
  flushes to disk at block 5, and verifies structural invariants of
  every flat-state read at every block commit. Covers:
  - Diff-layer chaining across 15 blocks
  - Disk-layer reads after explicit flush (A1 smoking gun)
  - Account creation, balance/nonce modification, code deployment
  - Storage write, update, and tombstone (zero-value clear)
  - Post-flush state evolution with fresh diff layers on top of disk

Stem blob edge cases (triedb/pathdb):
  TestStemBlobOffset127_128Boundary — validates the bitmap byte
  boundary between the last header storage offset (127) and the first
  code chunk offset (128). A bitmapRank off-by-one here would cause
  extractStemOffset to return the adjacent offset's value.

  TestStemBlobFull256DeleteMiddle — fully populates all 256 offsets,
  deletes one from the middle (offset 128), verifies all 255 remaining
  values survive at the correct positions.

  TestFlushIdempotency — verifies that flushing the same data twice
  produces a byte-identical on-disk blob. The RMW in applyWrites must
  be idempotent to handle overlapping diff-layer merges.
2026-04-15 15:00:41 +02:00
..
pruner all: improve ETA calculation across all progress indicators (#32521) 2025-09-01 13:47:02 +08:00
snapshot crypto/keccak: vendor in golang.org/x/crypto/sha3 (#33323) 2026-02-03 14:55:27 -07:00
access_events.go trie, go.mod: remove all references to go-verkle and go-ipa (#33461) 2025-12-30 20:44:04 +08:00
access_events_test.go trie, go.mod: remove all references to go-verkle and go-ipa (#33461) 2025-12-30 20:44:04 +08:00
access_list.go core/state: improve accessList copy (#33024) 2025-10-26 16:13:59 +08:00
database.go core/state,triedb/pathdb: enable bintrie flat state reads end-to-end 2026-04-15 15:00:40 +02:00
database_code.go core, miner, tests: introduce codedb and simplify cachingDB (#33816) 2026-03-10 08:29:21 +01:00
database_hasher.go core/state: hook leaf production in binaryHasher 2026-04-15 15:00:40 +02:00
database_hasher_binary.go core/state,triedb/pathdb: doc accuracy sweep — remove stale temporal markers 2026-04-15 15:00:41 +02:00
database_hasher_binary_test.go core/state,triedb/pathdb: fix bintrieFlatReader disk-layer shape via per-offset extraction 2026-04-15 15:00:40 +02:00
database_hasher_merkle.go core: fix memory leaking 2026-04-15 15:00:39 +02:00
database_hasher_merkle_test.go core: fix memory leaking 2026-04-15 15:00:39 +02:00
database_history.go triedb/pathdb,core/state: fix disklayer.storage fail-open gate and historicStateReader rlp.Split bug 2026-04-15 15:00:41 +02:00
database_iterator.go core/state: introduce state iterator interface (#33102) 2026-04-03 10:35:32 +08:00
database_iterator_test.go core/state: introduce state iterator interface (#33102) 2026-04-03 10:35:32 +08:00
dump.go core/state: build hasher skeleton 2026-04-15 15:00:38 +02:00
iterator.go core, miner, tests: introduce codedb and simplify cachingDB (#33816) 2026-03-10 08:29:21 +01:00
iterator_test.go core/state: state reader abstraction (#29761) 2024-09-05 13:10:47 +03:00
journal.go core: miner: reduce allocations in block building (#33375) 2026-02-03 08:19:16 +01:00
metrics.go core/state: integrate witness collector 2026-04-15 15:00:39 +02:00
reader.go core/state: fix (nil,nil) shadowing trie reader fallback in bintrieFlatReader 2026-04-15 15:00:40 +02:00
reader_bintrie_oracle_test.go core/state,triedb/pathdb: add pre-benchmark validation tests 2026-04-15 15:00:41 +02:00
reader_bintrie_test.go core/state,triedb/pathdb: add integration tests for storage tombstone, multi-block evolution, and contract code generation 2026-04-15 15:00:41 +02:00
reader_stater.go core, miner, tests: introduce codedb and simplify cachingDB (#33816) 2026-03-10 08:29:21 +01:00
state_mut.go core/state: integrate witness collector 2026-04-15 15:00:39 +02:00
state_object.go core/state: integrate witness collector 2026-04-15 15:00:39 +02:00
state_object_test.go core/state: using testing.B.Loop (#32658) 2025-09-19 16:57:43 -06:00
state_sizer.go core/state: implement merkle hasher 2026-04-15 15:00:38 +02:00
state_sizer_test.go core/state: fix incorrect contract code state metrics (#33376) 2025-12-10 11:33:59 +08:00
state_test.go core, consensus/beacon: defer trie resolution (#31725) 2025-06-25 09:42:11 +08:00
statedb.go core/state,triedb/pathdb: wire bintrie leaves through stateUpdate 2026-04-15 15:00:40 +02:00
statedb_fuzz_test.go core/state: improve binary hasher 2026-04-15 15:00:39 +02:00
statedb_hooked.go cmd/geth, core/state, tests: rework EIP7610 check (#34718) 2026-04-14 15:54:36 +02:00
statedb_hooked_test.go core: invoke selfdestruct tracer hooks during finalisation (#32919) 2026-01-16 15:10:08 -07:00
statedb_stats.go core/state: integrate witness collector 2026-04-15 15:00:39 +02:00
statedb_test.go core/state: plumb CodeSize through AccountMut for binaryHasher 2026-04-15 15:00:39 +02:00
stateupdate.go core/state,triedb/pathdb: add defensive length checks in encodeBinary and encodeStemBlob 2026-04-15 15:00:41 +02:00
sync.go core,eth,internal: fix typo (#29024) 2024-02-20 19:42:48 +08:00
sync_test.go core, miner, tests: introduce codedb and simplify cachingDB (#33816) 2026-03-10 08:29:21 +01:00
transient_storage.go core/state: optimize transient storage (#33695) 2026-04-14 15:39:42 +02:00
trie_prefetcher.go core/state: integrate prefetching into merkle hasher 2026-04-15 15:00:38 +02:00
trie_prefetcher_test.go core/state: integrate prefetching into merkle hasher 2026-04-15 15:00:38 +02:00