plugeth/core
Marius van der Wijden 6cf2e921a7
core/txpool: implement additional DoS defenses (#26648)
This adds two new rules to the transaction pool:

- A future transaction can not evict a pending transaction.
- A transaction can not overspend available funds of a sender.

---

Co-authored-by: dwn1998 <42262393+dwn1998@users.noreply.github.com>
Co-authored-by: Martin Holst Swende <martin@swende.se>
2023-03-10 18:30:26 +01:00
..
asm all: change format 0x%x to %#x (#25221) 2022-07-04 11:03:32 +03:00
bloombits all: remove deprecated uses of math.rand (#26710) 2023-02-16 14:36:58 -05:00
forkid core/forkid: fix issue in validation test (#26544) 2023-03-09 06:37:44 -05:00
rawdb core/rawdb: find smallest block stored in key-value store when chain gapped (#26719) 2023-03-08 02:39:13 -05:00
state all: use unified emptyRootHash and emptyCodeHash (#26718) 2023-02-21 06:12:27 -05:00
txpool core/txpool: implement additional DoS defenses (#26648) 2023-03-10 18:30:26 +01:00
types core, core/types: plain Message struct (#25977) 2023-03-09 14:19:12 +01:00
vm core/vm: fix typo in comment (#26838) 2023-03-09 04:39:17 -05:00
.gitignore Renamed chain => core 2014-12-04 10:28:02 +01:00
bench_test.go all: use unified emptyRootHash and emptyCodeHash (#26718) 2023-02-21 06:12:27 -05:00
block_validator_test.go tests: update tests (#26314) 2022-12-20 09:56:52 -05:00
block_validator.go core, eth/downloader: make body validation more strict (#26704) 2023-02-16 12:10:16 +02: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 all: change chain head markers from block to header (#26777) 2023-03-02 08:29:15 +02: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: change chain head markers from block to header (#26777) 2023-03-02 08:29:15 +02:00
blockchain.go core/types: add EffectiveGasPrice in Receipt (#26713) 2023-03-06 17:19:41 +01: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 all: make logs a bit easier on the eye to digest (#22665) 2021-04-15 20:35:00 +03:00
chain_makers_test.go core: fix a merge fault (#26802) 2023-03-03 12:11:39 +02:00
chain_makers.go core: add Timestamp method in BlockGen (#26844) 2023-03-10 14:03:27 +01:00
dao_test.go all: change chain head markers from block to header (#26777) 2023-03-02 08:29:15 +02:00
error.go core/vm: implement EIP-3860: Limit and meter initcode (#23847) 2023-01-11 04:05:47 -05: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, core/types: plain Message struct (#25977) 2023-03-09 14:19:12 +01: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 core: change baseFee into baseFeePerGas in genesis json 2021-06-14 14:04:44 +02:00
genesis_alloc.go all: remove support for Ropsten (#26644) 2023-02-09 10:03:00 +02:00
genesis_test.go all: remove support for Ropsten (#26644) 2023-02-09 10:03:00 +02:00
genesis.go all: use unified emptyRootHash and emptyCodeHash (#26718) 2023-02-21 06:12:27 -05:00
headerchain_test.go core, eth, les, tests, trie: abstract node scheme (#25532) 2022-11-28 14:31:28 +01:00
headerchain.go core, eth: merge snap-sync chain download progress logs (#26676) 2023-02-21 12:17:34 +02:00
mkalloc.go build: upgrade to go 1.19 (#25726) 2022-09-10 13:25:40 +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, core/types: plain Message struct (#25977) 2023-03-09 14:19:12 +01:00
state_processor_test.go all: use unified emptyRootHash and emptyCodeHash (#26718) 2023-02-21 06:12:27 -05:00
state_processor.go core, core/types: plain Message struct (#25977) 2023-03-09 14:19:12 +01:00
state_transition.go core, core/types: plain Message struct (#25977) 2023-03-09 14:19:12 +01:00
types.go core: prefetch next block state concurrently 2019-04-01 11:06:15 +03:00