go-ethereum/trie/nomttrie
weiihann 556d6160df nomt: Phase E — NomtTrie integration rewrite with full EIP-7864 ops
Complete implementation of all NomtTrie methods:

Read operations (from stem flat state):
- GetAccount: reads basic data (slot 0) and code hash (slot 1)
- GetStorage: reads packed 32-byte value by stem+suffix

Write operations (accumulate pending stemUpdates):
- UpdateAccount: packs basic data + code hash at account stem
- UpdateStorage: right-aligns value to 32 bytes
- DeleteStorage: writes 32 zero bytes (matching bintrie)
- DeleteAccount: no-op (matching bintrie)
- UpdateContractCode: ChunkifyCode + per-chunk stem updates

Flush (Hash/Commit):
- groupAndHashStems merges updates with flat state, writes back
- nomtDB.Update pushes stem hashes into the page tree
- Returns new root hash

15 new integration tests, all passing with -race.
Full suite: 38 nomttrie + 94 core + 34 merkle + 9 db + 31 bitbox = all green.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 22:44:21 +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 nomt: Phase E — NomtTrie integration rewrite with full EIP-7864 ops 2026-02-12 22:44:21 +08:00
trie_test.go nomt: Phase E — NomtTrie integration rewrite with full EIP-7864 ops 2026-02-12 22:44:21 +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