mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-06-12 09:51:36 +00:00
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. |
||
|---|---|---|
| .. | ||
| pruner | ||
| snapshot | ||
| access_events.go | ||
| access_events_test.go | ||
| access_list.go | ||
| database.go | ||
| database_code.go | ||
| database_hasher.go | ||
| database_hasher_binary.go | ||
| database_hasher_binary_test.go | ||
| database_hasher_merkle.go | ||
| database_hasher_merkle_test.go | ||
| database_history.go | ||
| database_iterator.go | ||
| database_iterator_test.go | ||
| dump.go | ||
| iterator.go | ||
| iterator_test.go | ||
| journal.go | ||
| metrics.go | ||
| reader.go | ||
| reader_bintrie_oracle_test.go | ||
| reader_bintrie_test.go | ||
| reader_stater.go | ||
| state_mut.go | ||
| state_object.go | ||
| state_object_test.go | ||
| state_sizer.go | ||
| state_sizer_test.go | ||
| state_test.go | ||
| statedb.go | ||
| statedb_fuzz_test.go | ||
| statedb_hooked.go | ||
| statedb_hooked_test.go | ||
| statedb_stats.go | ||
| statedb_test.go | ||
| stateupdate.go | ||
| sync.go | ||
| sync_test.go | ||
| transient_storage.go | ||
| trie_prefetcher.go | ||
| trie_prefetcher_test.go | ||