go-pulse/core
rjl493456442 7de748d3f6
all: implement path-based state scheme (#25963)
* all: implement path-based state scheme

* all: edits from review

* core/rawdb, trie/triedb/pathdb: review changes

* core, light, trie, eth, tests: reimplement pbss history

* core, trie/triedb/pathdb: track block number in state history

* trie/triedb/pathdb: add history documentation

* core, trie/triedb/pathdb: address comments from Peter's review

Important changes to list:

- Cache trie nodes by path in clean cache
- Remove root->id mappings when history is truncated

* trie/triedb/pathdb: fallback to disk if unexpect node in clean cache

* core/rawdb: fix tests

* trie/triedb/pathdb: rename metrics, change clean cache key

* trie/triedb: manage the clean cache inside of disk layer

* trie/triedb/pathdb: move journal function

* trie/triedb/path: fix tests

* trie/triedb/pathdb: fix journal

* trie/triedb/pathdb: fix history

* trie/triedb/pathdb: try to fix tests on windows

* core, trie: address comments

* trie/triedb/pathdb: fix test issues

---------

Co-authored-by: Felix Lange <fjl@twurst.com>
Co-authored-by: Martin Holst Swende <martin@swende.se>
2023-08-01 15:17:32 +03:00
..
asm core/asm: remove unused return value (#27272) 2023-05-16 10:14:04 +02:00
bloombits core/bloombits: use atomic type (#26993) 2023-03-28 03:05:29 -04:00
forkid core: use slices package for sorting (#27489) 2023-06-20 11:58:47 +02:00
rawdb all: implement path-based state scheme (#25963) 2023-08-01 15:17:32 +03:00
state all: implement path-based state scheme (#25963) 2023-08-01 15:17:32 +03:00
txpool consensus/misc: move eip1559 into a package (#27828) 2023-08-01 12:58:45 +03:00
types all: implement path-based state scheme (#25963) 2023-08-01 15:17:32 +03:00
vm all: rename dataGas to blobGas (#27789) 2023-07-27 16:53:28 +03:00
.gitignore Renamed chain => core 2014-12-04 10:28:02 +01:00
bench_test.go core/types, params: add blob transaction type, RLP encoded for now (#27049) 2023-04-21 12:52:02 +03:00
block_validator_test.go core: remove outdated tests (#27662) 2023-07-06 12:05:34 -04:00
block_validator.go all: replace data gas to blob gas in comments (#27825) 2023-08-01 10:07:25 +03:00
blockchain_insert.go core: fix log order in "Imported new chain segment" (#25768) 2022-09-15 13:18:23 +02:00
blockchain_reader.go core/state, light, les: make signature of ContractCode hash-independent (#27209) 2023-06-28 12:11:02 +03:00
blockchain_repair_test.go all: change chain head markers from block to header (#26777) 2023-03-02 08:29:15 +02:00
blockchain_sethead_test.go all: change chain head markers from block to header (#26777) 2023-03-02 08:29:15 +02:00
blockchain_snapshot_test.go all: change chain head markers from block to header (#26777) 2023-03-02 08:29:15 +02:00
blockchain_test.go all: expose block number information to statedb (#27753) 2023-07-24 13:22:09 +03:00
blockchain.go all: implement path-based state scheme (#25963) 2023-08-01 15:17:32 +03:00
blocks.go core: typos and comments improve 2017-05-25 17:14:33 +03:00
bloom_indexer.go core: preallocate batch size in bloomIndexer (#25289) 2022-08-03 17:02:09 +02:00
chain_indexer_test.go core: fix potential race in chainIndexerTest (#22346) 2021-03-19 13:32:57 +01:00
chain_indexer.go core,console: replace noarg fmt.Errorf with errors.New (#27332) 2023-05-25 08:24:09 -04:00
chain_makers_test.go core: fix a merge fault (#26802) 2023-03-03 12:11:39 +02:00
chain_makers.go consensus/misc: move eip1559 into a package (#27828) 2023-08-01 12:58:45 +03:00
dao_test.go all: change chain head markers from block to header (#26777) 2023-03-02 08:29:15 +02:00
error.go all: replace data gas to blob gas in comments (#27825) 2023-08-01 10:07:25 +03:00
events.go eth/filters: remove use of event.TypeMux for pending logs (#20312) 2019-12-10 12:39:14 +01:00
evm.go all: rename dataGas to blobGas (#27789) 2023-07-27 16:53:28 +03:00
forkchoice.go core: clarify code in forkchoice (#26257) 2022-11-28 11:07:25 +01:00
gaspool.go core, miner: revert block gas counter in case of invalid transaction (#26799) 2023-03-07 05:23:52 -05:00
gen_genesis_account.go tests: update for London (#22976) 2021-06-07 14:37:56 +02:00
gen_genesis.go all: rename dataGas to blobGas (#27789) 2023-07-27 16:53:28 +03:00
genesis_alloc.go all: remove the Rinkeby testnet (#27406) 2023-06-02 14:03:21 +03:00
genesis_test.go all: remove the Rinkeby testnet (#27406) 2023-06-02 14:03:21 +03:00
genesis.go all: rename dataGas to blobGas (#27789) 2023-07-27 16:53:28 +03:00
headerchain_test.go core, eth, les, tests, trie: abstract node scheme (#25532) 2022-11-28 14:31:28 +01:00
headerchain.go all: remove ethash pow, only retain shims needed for consensus and tests (#27178) 2023-05-03 12:58:39 +03:00
mkalloc.go core: use slices package for sorting (#27489) 2023-06-20 11:58:47 +02:00
rlp_test.go all: cleanup tests (#25641) 2022-09-07 20:21:59 +02:00
sender_cacher.go all: refactor txpool into it's own package in prep for 4844 2022-10-24 16:35:53 +03:00
state_prefetcher.go core/types, params: add blob transaction type, RLP encoded for now (#27049) 2023-04-21 12:52:02 +03:00
state_processor_test.go consensus/misc: move eip1559 into a package (#27828) 2023-08-01 12:58:45 +03:00
state_processor.go core, tests: EIP-4844 transaction processing logic (#27721) 2023-07-15 23:27:36 +02:00
state_transition.go all: replace data gas to blob gas in comments (#27825) 2023-08-01 10:07:25 +03:00
types.go core: use atomic type (#27011) 2023-03-30 06:53:32 -04:00