erigon-pulse/eth
Alex Sharov ce96cf75b2
Intermediate hash phase 3 (#377)
* #remove debug prints

* remove storage-mode="i"

* minnet re-execute hack with checkpoints

* minnet re-execute hack with checkpoints

* rollback to master setup

* mainnet re-exec hack

* rollback some changes

* v0 of "push down" functionality

* move all logic to own functions

* handle case when re-created account already has some storage

* clear path for storage

* try to rely on tree structure (but maybe need to rely on DB because can be intra-block re-creations of account)

* fix some bugs with indexes, moving to tests

* tests added

* make linter happy

* make linter happy

* simplify logic

* adjust comparison of keys with and without incarnation

* test for keyIsBefore

* test for keyIsBefore

* better nibbles alignment

* better nibbles alignment

* cleanup

* continue work on tests

* simplify test

* check tombstone existence before pushing it down.

* put tombstone only when account deleted, not created

* put tombstone only when account has storage

* make linter happy

* test for storage resolver

* make fixedbytes work without incarnation

* fix panic on short keys

* use special comparison only when working with keys from cache

* add blockNr for better tracing

* fix: incorrect tombstone check

* fix: incorrect tombstone check

* trigger ci

* hack for problem block

* more test-cases

* add test case for too long keys

* speedup cached resolver by removing bucket creation transaction

* remove parent type check in pruning, remove unused copy from mutation.put

* dump resolving info on fail

* dump resolving info on fail

* set tombstone everytime for now to check if it will help

* on unload: check parent type, not type of node

* fix wrong order of checking node type

* fix wrong order of checking node type

* rebase to new master

* make linter happy

* rebase to new master

* place tombstone only if acc has storage

* rebase master

* rebase master

* rebase master

* rebase master

Co-authored-by: alex.sharov <alex.sharov@lazada.com>
2020-03-11 10:31:49 +00:00
..
downloader core, eth: implement eth/65 transaction fetcher 2020-02-27 17:21:20 +03:00
fetcher Revive devp2p tester for further simulation testing (#387) 2020-03-04 22:25:40 +00:00
filters Refactor mining. Remove a few mining goroutines (#338) 2020-02-03 15:02:26 +03:00
gasprice Apply Turbo-Geth modifications to go-ethereum codebase 2019-11-01 21:52:03 +01:00
tracers tracers: avoid panic on invalid arguments (#20612) 2020-02-27 17:20:36 +03:00
api_backend.go eth/filters: remove use of event.TypeMux for pending logs (#20312) 2020-01-30 13:36:30 +02:00
api_test.go Incorrect incarnation fix (#298) 2020-01-08 12:55:56 +03:00
api_tracer.go Make ComputeTxEnv public and reuse it in Retesteth and RpcDaemon (#309) 2020-01-15 20:13:47 +07:00
api.go Refactor mining. Remove a few mining goroutines (#338) 2020-02-03 15:02:26 +03:00
backend_test.go Intermediate hash phase 3 (#377) 2020-03-11 10:31:49 +00:00
backend.go Intermediate hash phase 3 (#377) 2020-03-11 10:31:49 +00:00
bloombits.go Apply Turbo-Geth modifications to go-ethereum codebase 2019-11-01 21:52:03 +01:00
config.go Intermediate hash phase 3 (#377) 2020-03-11 10:31:49 +00:00
discovery.go post-merge fixups 2020-02-27 17:22:25 +03:00
firehose.go Parity only supports 3 letter capabilities 2020-01-07 16:34:44 +00:00
gen_config.go cmd/geth: enable DNS discovery by default (#20660) 2020-02-27 17:21:20 +03:00
handler_test.go post-merge fixups 2020-02-27 17:22:25 +03:00
handler.go Fix --download-only mode (#374) 2020-03-01 09:00:14 +00:00
helper_test.go post-merge fixups 2020-02-27 17:22:25 +03:00
peer.go post-merge fixups 2020-02-27 17:22:25 +03:00
protocol_test.go post-merge fixups 2020-02-27 17:22:25 +03:00
protocol.go eth: rework tx fetcher to use O(1) ops + manage network requests 2020-02-27 17:21:20 +03:00
sync_test.go post-merge fixups 2020-02-27 17:22:25 +03:00
sync.go eth: rework tx fetcher to use O(1) ops + manage network requests 2020-02-27 17:21:20 +03:00