go-ethereum/trie/nomttrie
weiihann fbeb697099 nomt: Phase C — stem hash computation and flat state helpers
Add stem-level flat state storage and the groupAndHashStems pipeline
that bridges NomtTrie's per-slot updates to NOMT's page-tree:

- stemValueDBKey/stemValueDBPrefix: ethdb key format (0x03||stem||suffix)
- loadStemValues: prefix-iteration loader for all 256 slots of a stem
- writeStemValues: batch writer with nil=delete semantics
- groupAndHashStems: sort→group→load→merge→hash→write pipeline
  producing sorted []core.StemKeyValue for the page tree

Cross-validated against bintrie's StemNode.Hash algorithm.
11 new tests, all passing with -race.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 22:35:23 +08:00
..
key_encoding.go trie/nomttrie: add EIP-7864 key derivation and value encoding (Phase B) 2026-02-12 22:30:14 +08:00
key_encoding_test.go trie/nomttrie: add EIP-7864 key derivation and value encoding (Phase B) 2026-02-12 22:30:14 +08:00
stem.go nomt: Phase C — stem hash computation and flat state helpers 2026-02-12 22:35:23 +08:00
stem_test.go nomt: Phase C — stem hash computation and flat state helpers 2026-02-12 22:35:23 +08:00
trie.go trie/nomttrie: add EIP-7864 key derivation and value encoding (Phase B) 2026-02-12 22:30:14 +08:00
value_encoding.go trie/nomttrie: add EIP-7864 key derivation and value encoding (Phase B) 2026-02-12 22:30:14 +08:00
value_encoding_test.go trie/nomttrie: add EIP-7864 key derivation and value encoding (Phase B) 2026-02-12 22:30:14 +08:00