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>
Showing
- cmd/hack/hack.go 39 additions, 17 deletionscmd/hack/hack.go
- cmd/state/stateless/witness_db.go 2 additions, 1 deletioncmd/state/stateless/witness_db.go
- cmd/utils/flags.go 1 addition, 2 deletionscmd/utils/flags.go
- common/dbutils/bucket.go 29 additions, 0 deletionscommon/dbutils/bucket.go
- common/dbutils/composite_keys.go 5 additions, 4 deletionscommon/dbutils/composite_keys.go
- core/blockchain.go 12 additions, 20 deletionscore/blockchain.go
- core/state/database.go 117 additions, 7 deletionscore/state/database.go
- core/state/database_test.go 106 additions, 4 deletionscore/state/database_test.go
- core/state/db_state_writer.go 2 additions, 0 deletionscore/state/db_state_writer.go
- eth/backend.go 14 additions, 24 deletionseth/backend.go
- eth/backend_test.go 3 additions, 4 deletionseth/backend_test.go
- eth/config.go 7 additions, 12 deletionseth/config.go
- ethdb/bolt_db.go 16 additions, 5 deletionsethdb/bolt_db.go
- ethdb/memory_database.go 15 additions, 3 deletionsethdb/memory_database.go
- ethdb/mutation.go 3 additions, 4 deletionsethdb/mutation.go
- params/eip_ctx.go 0 additions, 17 deletionsparams/eip_ctx.go
- trie/intermediate_trie_hashes.go 1 addition, 0 deletionstrie/intermediate_trie_hashes.go
- trie/resolver.go 0 additions, 3 deletionstrie/resolver.go
- trie/resolver_stateful_cached.go 84 additions, 33 deletionstrie/resolver_stateful_cached.go
- trie/resolver_stateful_test.go 89 additions, 23 deletionstrie/resolver_stateful_test.go
Loading
Please register or sign in to comment