ethereumjs / merkle-patricia-tree

Project is in active development and has been moved to the EthereumJS VM monorepo.

Home Page:https://github.com/ethereumjs/ethereumjs-monorepo

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Does this handle nested nodes and where in the code is it?

Shirikatsu opened this issue · comments

The generated tries in Ethereum account for nodes that are less than 32 bytes when RLP-encoded to be included in it's parent in it's entirety as opposed to being reference to by its hash.

A popular library eth-proof seems to generate incorrect tries for some blocks on the mainnet as noted here which uses this library to construct the tries and I suspected it could be due to this edge-case.

I can't find a reference to where this edge-case referenced as clause 193 in the Ethereum Yellow Paper is in the code. Is this case handled or am I just blind?

Hi @Shirikatsu --- This is perhaps related to #52 ? I opened a PR (#51) to fix it, maybe you can try that out?

Hi @no2chem, thanks for the PR! @Shirikatsu: did you try this and can confirm that this works? Or is the thumbs-up just sympathy notion that someone is taking on this?

commented

@holgerd77 I have tested and confirm this works on behalf of @Shirikatsu :)

@maxrobot Thanks for validating this!

Will release this as v2.3.2 with #55.