Commit Graph

26 Commits

Author SHA1 Message Date
ledgerwatch
ae6f7202d2
[erigon2] Introduce commitment files and table (#201)
* Introduce commitment files and table

* Introduce commitment files and table

* Introduce words buffer

* Move changes out of aggregator into the writer

* Start calc commitment

* Add commitment package

* More on hex patricia

* More

* account decorator

* More

* Add test

* More

* More to the test

* Use hex in tests

* More

* More

* More

* More

* Simplified cells

* Add delBitmap

* More advanced MockState

* More compact unfolding

* Separation of hashed Keys

* Sepatate downHashedKey and upHashedKey

* Carry extension node through accounts

* optimised row allocations

* Fix encoding/decoding, add trace flag

* Added account and storage into the cells

* Make accountKeyLen global setting

* Remove BranchNodeUpdaqte intermediate

* Started on computeHash

* Initial hash calculations

* Fix lint

* Change account encoding

* Fix commitment issues

* Fix lint

* Fix lint

* Fix lint

* Trace

* Small fix and tracing

* Print branch hashes, fix empty

* Fix

* Fix

* Fix

* Fix

* Print accountFn

* Trigger accountFn

* Trigger accountFn

* Another fix for extension nodes

* Return root hash and set trace

* Print depth for computeCellHash

* Fix for storage leaves

* Fix for storage leaves

* Fix for storage leaves

* Fix for storage leaves

* Fix for storage leaves

* Fix for storage leaves

* Ineffectual deletes

* Trace needUnfolding

* Fix

* Fix

* Fix

* trace deletes

* trace deletes

* trace deletes

* trace deletes

* trace deletes

* not overwrite downHashedKey in updateAccount

* simplify needUnfolding

* simplify needUnfolding

* simplify needUnfolding

* simplify needUnfolding

* simplify needUnfolding

* propagate deletes when unfolding

* remove deletes when folding

* remove deletes when folding

* remove upHashedKey when delete cell

* remove upHashedKey when delete cell

* aggregate storage changes later

* remove del bit when updating account

* remove del bit when updating account

* remove del bit when updating account

* perform delete after code update

* perform delete after code update

* perform delete after code update

* perform delete after code update

* perform delete after code update

* perform delete after code update

* latest update has precedence when aggregating

* Revert "latest update has precedence when aggregating"

This reverts commit 0234ea6c3e1a0b2e7599df7c470d4b8b8d56736a.

* latest update has precedence when aggregating

* Revert "latest update has precedence when aggregating"

This reverts commit cfa7b75327e4d5d1236f905c3c04eb640b21838d.

* Introduce FinishTx

* Separate commitment separation from computation

* Prevent spurious delete

* Spurious deletes

* Trace param

* Preserve upHashedKey when unfolding

* Fix

* Fix

* Correctly compute firstInsert

* Try to fix delete + fold

* Remove commented out

* updateStorage to remove deleted flag

* rename upHashedKey to extension, fix clear-up

* Carry extension up if account plain key is present

* Carry extension up if account plain key is present

* Not to fail for deleteAccount

* Not to fail for deleteAccount

* Not to fail for deleteAccount

* Print

* Print

* Print

* Print

* Print

* Print

* Print

* Print

* Copy keys before putting them into commTree

* Preserve changes to AccountData

Co-authored-by: Alex Sharp <alexsharp@Alexs-MacBook-Pro.local>
Co-authored-by: Alexey Sharp <alexeysharp@Alexeys-iMac.local>
2022-01-12 11:21:52 +00:00
Alex Sharov
bf21599d23
RLP: base error - allows skip them if need (#215) 2021-12-22 14:34:34 +07:00
Andrew Ashikhmin
b06f3cec6b
RLP: Values in [0, 128) must be encoded as single byte (#203)
* RLP: Values in [0, 128) must be encoded as single byte

* Fix error message
2021-12-06 14:00:18 +00:00
Alex Sharov
9558fb6a12
more p2p fuzzing (#131) 2021-10-26 13:52:23 +07:00
Alex Sharov
158ae418d1
Pool: print local txs propagation info (#115) 2021-10-18 11:22:05 +07:00
Alex Sharov
bbcf1f0cff
save (#106) 2021-10-10 19:37:10 +07:00
Alex Sharov
b4933b94d2
Pool: rlp fuzzing fixes (#60) 2021-09-07 17:32:13 +07:00
Alex Sharov
c7739b89a8
Pool: state diff direct client, tx parse fuzzing (#59) 2021-09-07 09:52:17 +07:00
alex.sharov
d3f68af522 persistence 2021-08-22 17:06:38 +07:00
alex.sharov
341bc24c58 rlp.U32 method 2021-08-15 18:51:07 +07:00
alex.sharov
efebb35044 rlp.U32 method 2021-08-15 17:52:03 +07:00
alex.sharov
be5eb6522d save 2021-07-27 17:07:10 +07:00
alex.sharov
3fd781ee7b save 2021-07-27 16:56:31 +07:00
alex.sharov
54777c648a save 2021-07-27 16:53:55 +07:00
alex.sharov
b3b2ebddc1 save 2021-07-27 16:44:47 +07:00
alex.sharov
1f91096701 save 2021-07-27 15:47:50 +07:00
alex.sharov
636beaf0e8 save 2021-07-27 15:47:33 +07:00
alex.sharov
aa2b4db48c save 2021-07-27 15:44:21 +07:00
alex.sharov
91c88165ed save 2021-07-27 14:28:15 +07:00
alex.sharov
283fc426eb add StringOfLen method 2021-07-27 13:06:38 +07:00
alex.sharov
f21c9e9ab2 save 2021-07-27 12:49:03 +07:00
alex.sharov
f6d9c5cc00 move "list/non-list" check inside ParseListPrefix and ParseStringPrefix funcs 2021-07-27 12:44:45 +07:00
alex.sharov
1242270756 move "unexpected end of payload" check inside ParsePrefix func 2021-07-27 12:33:38 +07:00
alex.sharov
8df5bc8c50 save 2021-07-27 12:18:40 +07:00
alex.sharov
c13962ed75 extract ensureEnoughSize func 2021-07-27 12:03:59 +07:00
alex.sharov
fabf9b7b1d save 2021-07-27 10:13:50 +07:00