cerc-io / go-ethereum

Read-only mirror of https://git.vdb.to/cerc-io/go-ethereum (Statediffing-fork of the official Go implementation of the Ethereum protocol)
https://git.vdb.to/cerc-io/go-ethereum
GNU Lesser General Public License v3.0
13 stars 4 forks source link

expose parent path from trie.Iterator #368

Closed i-norden closed 1 year ago

i-norden commented 1 year ago

Necessary in order to generate selector suffixes (paths) for embedded/internalized leaf nodes. See https://github.com/cerc-io/go-ethereum/issues/255.

i-norden commented 1 year ago

@AFDudley @roysc was hoping to avoid this because it changes the NodeIterator interface which will prevent us from using the pluggeth NodeIterator implementation, but it would also be very convenient for a fix to #376.

When we move to pluggeth we can maintain our own external interface and implementation of NodeIterator, since this is a purely additive change the original interface expected by pluggeth is still supported.