plugeth/core
Martin Holst Swende 40b6ccf383
core,les: headerchain import in batches (#21471)
* core: add test for headerchain inserts

* core, light: write headerchains in batches

* core: change to one callback per batch of inserted headers + review concerns

* core: error-check on batch write

* core: unexport writeHeaders

* core: remove callback parameter in InsertHeaderChain

The semantics of InsertHeaderChain are now much simpler: it is now an
all-or-nothing operation. The new WriteStatus return value allows
callers to check for the canonicality of the insertion. This change
simplifies use of HeaderChain in package les, where the callback was
previously used to post chain events.

* core: skip some hashing when writing headers

* core: less hashing in header validation

* core: fix headerchain flaw regarding blacklisted hashes

Co-authored-by: Felix Lange <fjl@twurst.com>
2020-12-09 11:13:02 +01:00
..
asm core/asm: allow numbers in labels (#20362) 2019-11-23 12:52:17 +01:00
bloombits core/bloombits: faster generator (#21625) 2020-10-06 16:34:29 +03:00
forkid cmd/devp2p: add eth protocol test suite (#21598) 2020-09-23 15:18:17 +02:00
rawdb core: improve snapshot journal recovery (#21594) 2020-10-29 21:01:58 +02:00
state all: remove redundant conversions and import names (#21903) 2020-11-25 21:00:23 +01:00
types core/types: fixed typo (#21897) 2020-11-25 08:53:20 +01:00
vm core/vm/runtime: remove duplicated line (#21956) 2020-12-04 08:54:07 +01:00
.gitignore Renamed chain => core 2014-12-04 10:28:02 +01:00
bench_test.go cmd, core, eth: background transaction indexing (#20302) 2020-05-11 18:58:43 +03:00
block_validator_test.go cmd, core, eth: background transaction indexing (#20302) 2020-05-11 18:58:43 +03:00
block_validator.go trie: use stacktrie for Derivesha operation (#21407) 2020-09-29 17:38:13 +02:00
blockchain_insert.go core: fix blockchain insert report time interval calculation (#21723) 2020-10-21 16:53:30 +02:00
blockchain_repair_test.go core: improve snapshot journal recovery (#21594) 2020-10-29 21:01:58 +02:00
blockchain_sethead_test.go core: improve snapshot journal recovery (#21594) 2020-10-29 21:01:58 +02:00
blockchain_snapshot_test.go core/state/snapshot: update generator marker in sync with flushes 2020-11-09 16:03:58 +02:00
blockchain_test.go core: improve contextual information on core errors (#21869) 2020-12-04 12:22:19 +01:00
blockchain.go core,les: headerchain import in batches (#21471) 2020-12-09 11:13:02 +01:00
blocks.go core: typos and comments improve 2017-05-25 17:14:33 +03:00
chain_indexer_test.go les: historical data garbage collection (#19570) 2020-07-13 11:02:54 +02:00
chain_indexer.go all: replace RWMutex with Mutex in places where RLock is not used (#21622) 2020-10-13 10:58:41 +02:00
chain_makers_test.go cmd, core, eth: background transaction indexing (#20302) 2020-05-11 18:58:43 +03:00
chain_makers.go les: historical data garbage collection (#19570) 2020-07-13 11:02:54 +02:00
dao_test.go les: historical data garbage collection (#19570) 2020-07-13 11:02:54 +02:00
error.go all: fix typos in comments (#21118) 2020-05-25 10:21:28 +02:00
events.go eth/filters: remove use of event.TypeMux for pending logs (#20312) 2019-12-10 12:39:14 +01:00
evm.go core, all: split vm.Context into BlockContext and TxContext (#21672) 2020-11-13 13:42:19 +01:00
gaspool.go miner: avoid unnecessary work (#15883) 2018-01-15 12:57:06 +02:00
gen_genesis_account.go all: regenerate codecs with gencodec commit 90983d99de (#15830) 2018-01-08 15:13:22 +02:00
gen_genesis.go all: regenerate codecs with gencodec commit 90983d99de (#15830) 2018-01-08 15:13:22 +02:00
genesis_alloc.go cmd, core, params: inital support for yolo-v1 testnet (#21154) 2020-06-03 12:05:15 +03:00
genesis_test.go cmd, core, eth: background transaction indexing (#20302) 2020-05-11 18:58:43 +03:00
genesis.go all: disable recording preimage of trie keys (#21402) 2020-11-18 11:51:33 +02:00
headerchain_test.go core,les: headerchain import in batches (#21471) 2020-12-09 11:13:02 +01:00
headerchain.go core,les: headerchain import in batches (#21471) 2020-12-09 11:13:02 +01:00
mkalloc.go core/vm: 64 bit memory and gas calculations (#19210) 2019-03-12 11:40:05 +02:00
rlp_test.go cmd, core, eth: background transaction indexing (#20302) 2020-05-11 18:58:43 +03:00
state_prefetcher.go core, all: split vm.Context into BlockContext and TxContext (#21672) 2020-11-13 13:42:19 +01:00
state_processor_test.go core: improve contextual information on core errors (#21869) 2020-12-04 12:22:19 +01:00
state_processor.go core: improve contextual information on core errors (#21869) 2020-12-04 12:22:19 +01:00
state_transition.go core: improve contextual information on core errors (#21869) 2020-12-04 12:22:19 +01:00
tx_cacher.go Comment error (#18303) 2018-12-14 11:15:31 +01:00
tx_journal.go core: fix typos in comment (#17531) 2018-08-28 10:04:33 +03:00
tx_list_test.go Revert "core, txpool: less allocations when handling transactions (#21232)" 2020-07-09 14:02:03 +02:00
tx_list.go core: free pointer from slice after popping element from price heap (#21572) 2020-09-28 14:24:01 +02:00
tx_noncer.go core: fix write concurrency in txpool (#19835) 2019-07-17 13:39:41 +03:00
tx_pool_test.go core: improve contextual information on core errors (#21869) 2020-12-04 12:22:19 +01:00
tx_pool.go core: fix txpool off-by-one error (#21683) 2020-10-09 12:23:46 +03:00
types.go core: prefetch next block state concurrently 2019-04-01 11:06:15 +03:00