axieinfinity / ronin

A DPoS blockchain.
GNU Lesser General Public License v3.0
67 stars 30 forks source link

trie: fix issue insert wrong path in stack trie and remove the offset… #604

Closed huyngopt1994 closed 1 week ago

huyngopt1994 commented 1 week ago

We got insert path issue in StackTrie in adhoc-cases. Before:

WriteLegacyTrieNode hash 0xf54e1b8ecd2ef74d09b99be4335902a7f3fd51daf9ebe62abcfe5738f94cae07 path [1 8 2 4] scheme hashScheme xx 58
WriteLegacyTrieNode hash 0xebcf717022b16694103dc00d9c302e8acff97bb7fd3cdbbdbcba1d3d8640f65b path [1 8 1 5] scheme hashScheme xx 59
WriteLegacyTrieNode hash 0xbb682a41520d252f852fee6a58a8d4f9cf60b8651ae9477d8519b45e06ca925e path [1 8 2 9] scheme hashScheme xx 60

After:

WriteTrieNode path [1 8 2 4] hash 0xf54e1b8ecd2ef74d09b99be4335902a7f3fd51daf9ebe62abcfe5738f94cae07 scheme hashScheme
WriteTrieNode path [1 8 2 5] hash 0xebcf717022b16694103dc00d9c302e8acff97bb7fd3cdbbdbcba1d3d8640f65b scheme hashScheme
WriteTrieNode path [1 8 2 9] hash 0xbb682a41520d252f852fee6a58a8d4f9cf60b8651ae9477d8519b45e06ca925e scheme hashScheme