Go to file
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
.github/workflows Update ci.yml 2021-12-01 13:30:16 +00:00
aggregator [erigon2] Introduce commitment files and table (#201) 2022-01-12 11:21:52 +00:00
chain Add ArrowGlacierBlock and remove CatalystBlock (#139) 2021-10-31 17:21:20 +00:00
commitment [erigon2] Introduce commitment files and table (#201) 2022-01-12 11:21:52 +00:00
common Pool: reject low nonce and low balance txs (#182) 2021-11-21 14:52:17 +00:00
compress Fix bigChunk helper (#229) 2022-01-12 10:46:26 +07:00
direct Add nodeInfo GRPC methods (#196) 2021-11-30 14:41:31 +00:00
etl Snapshots: create .dat in tmpdir (#225) 2022-01-09 14:43:55 +07:00
gointerfaces Snapshot: Txn lookup (#224) 2022-01-07 17:14:21 +07:00
interfaces Snapshot: Txn lookup (#224) 2022-01-07 17:14:21 +07:00
kv [erigon2] Introduce commitment files and table (#201) 2022-01-12 11:21:52 +00:00
mmap Fixes for compress, decompressor, and tests (#110) 2021-10-16 10:43:41 +01:00
patricia Generalise patricia tree, initial compress (#103) 2021-10-11 18:31:49 +01:00
recsplit create idx in tmpdir 2022-01-07 14:38:38 +07:00
rlp [erigon2] Introduce commitment files and table (#201) 2022-01-12 11:21:52 +00:00
txpool Rlp base err2 (#221) 2022-01-05 17:59:26 +07:00
.gitignore add go.work to .gitignore 2021-12-26 12:29:31 +07:00
.golangci.yml Pool: switch cache to tx.ID(), more metrics (#73) 2021-09-15 20:15:32 +07:00
go.mod mdbx: fix gc "retry" issue (slowness of gc during commit) (#227) 2022-01-11 08:12:20 +00:00
go.sum mdbx: fix gc "retry" issue (slowness of gc during commit) (#227) 2022-01-11 08:12:20 +00:00
LICENSE Initial commit 2021-06-19 10:43:10 +01:00
Makefile add downloader.proto (#206) 2021-12-14 13:33:32 +00:00
README.md Initial commit 2021-06-19 10:43:10 +01:00
tools.go Initial recsplit (#67) 2021-09-13 18:31:09 +01:00

erigon-lib

Dependencies of Erigon project, rewritten from scratch and licensed under Apache 2.0