plugeth/core
Lee Bousfield 1c9afc56ae
core: prevent negative fee during RPC calls (#25214)
During RPC calls such as eth_call and eth_estimateGas, st.evm.Config.NoBaseFee is set
which allows the gas price to be below the base fee. This results the tip being negative,
and balance being subtracted from the coinbase instead of added to it, which results in a
potentially negative coinbase balance interestingly. This can't happen during normal chain
processing as outside of RPC calls the gas price is required to be at least the base fee,
as NoBaseFee is false.

This change prevents this behavior by disabling fee payment when the fee is not set.

Co-authored-by: lightclient@protonmail.com <lightclient@protonmail.com>
Co-authored-by: Felix Lange <fjl@twurst.com>
2022-07-15 11:32:54 +02:00
..
asm all: change format 0x%x to %#x (#25221) 2022-07-04 11:03:32 +03:00
beacon core/beacon: prevent invalid logsBloom length panic (#24946) 2022-05-31 11:11:50 +02:00
bloombits Chore: Minimal gramatical errors (signleton -> singleton) (#25057) 2022-06-10 18:47:06 +03:00
forkid cmd, params: implement Gray Glacier hard-fork (EIP-5133) (#25088) 2022-06-15 14:10:38 +03:00
rawdb core/rawdb: fix typo in comment (#25191) 2022-06-29 11:47:33 +02:00
state core, eth: pre-allocate map in storage copy (#25279) 2022-07-12 10:08:45 +03:00
types core/types: fix typo in comment (#25249) 2022-07-06 15:16:05 +02:00
vm all: change format 0x%x to %#x (#25221) 2022-07-04 11:03:32 +03:00
.gitignore Renamed chain => core 2014-12-04 10:28:02 +01:00
bench_test.go core: fix benchmark panic (#24657) 2022-04-12 11:34:07 +03:00
block_validator_test.go consensus/beacon: check that only the latest pow block is valid ttd block (#25187) 2022-06-29 15:13:19 +03:00
block_validator.go cmd, core, eth, miner: deprecate miner.gastarget flag (#23213) 2021-08-10 11:28:33 +03:00
blockchain_insert.go eth/downloader: implement beacon sync (#23982) 2022-03-11 14:14:45 +02:00
blockchain_reader.go core, eth, internal, rpc: implement final block (#24282) 2022-05-18 17:30:42 +03:00
blockchain_repair_test.go all: use T.TempDir to create temporary test directories (#24633) 2022-04-08 15:44:55 +02:00
blockchain_sethead_test.go all: more linters (#24783) 2022-06-13 16:24:45 +02:00
blockchain_snapshot_test.go all: more linters (#24783) 2022-06-13 16:24:45 +02:00
blockchain_test.go all: prefer new(big.Int) over big.NewInt(0) (#25087) 2022-06-14 15:09:48 +03:00
blockchain.go core: remove lock in BlockChain.ExportN (#25254) 2022-07-14 15:55:54 +03:00
blocks.go core: typos and comments improve 2017-05-25 17:14:33 +03:00
bloom_indexer.go eth: move eth.Config to a common package (#22205) 2021-02-05 13:51:15 +01: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 cmd, core, eth: background transaction indexing (#20302) 2020-05-11 18:58:43 +03:00
chain_makers.go eth: request id dispatcher and direct req/reply APIs (#23576) 2021-11-26 13:26:03 +02:00
dao_test.go accounts/abi/bind: fix bounded contracts and sim backend for 1559 (#23038) 2021-06-15 13:56:14 +03:00
error.go core/vm: implement EIP-2681: Limit account nonce to 2^64-1 (#23853) 2021-11-11 15:00:58 +01: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/evm: fix error in comment (#25040) 2022-06-08 18:40:37 +02:00
forkchoice.go all: core rework for the merge transition (#23761) 2021-11-26 13:23:02 +02:00
gaspool.go miner: avoid unnecessary work (#15883) 2018-01-15 12:57:06 +02: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 core, params: add kiln flag (#24548) 2022-03-17 17:34:22 +02:00
genesis_test.go core: store genesis allocation and recommit them if necessary (#24460) 2022-03-22 10:53:22 +01:00
genesis.go core: apply ttd override to uninitialized db (#25136) 2022-07-04 12:25:17 +03:00
headerchain_test.go all: core rework for the merge transition (#23761) 2021-11-26 13:23:02 +02:00
headerchain.go core: recover state when beacon sets canonical head if it's missing (#24613) 2022-05-05 10:36:26 +03:00
mkalloc.go all: add go:build lines (#23468) 2021-08-25 18:46:29 +02:00
rlp_test.go all: update license headers and AUTHORS from git history (#24947) 2022-05-24 20:39:40 +02:00
state_prefetcher.go all: removed blockhash from statedb (#23126) 2021-06-30 15:17:01 +02:00
state_processor_test.go core/vm: implement EIP-2681: Limit account nonce to 2^64-1 (#23853) 2021-11-11 15:00:58 +01:00
state_processor.go all: removed blockhash from statedb (#23126) 2021-06-30 15:17:01 +02:00
state_transition.go core: prevent negative fee during RPC calls (#25214) 2022-07-15 11:32:54 +02:00
tx_cacher.go Comment error (#18303) 2018-12-14 11:15:31 +01:00
tx_journal.go all: use common.FileExist for checking file existence (#24748) 2022-04-27 11:48:02 +02:00
tx_list_test.go core: fix benchmark tests (#23803) 2021-10-27 13:08:51 +02:00
tx_list.go core: fixed stale comment in txlist (#23825) 2021-10-28 14:59:51 +02:00
tx_noncer.go core: more efficient nonce-update in txpool (#22231) 2021-11-02 18:32:23 +01:00
tx_pool_test.go all: replace uses of ioutil with io and os (#24869) 2022-05-16 11:59:35 +02:00
tx_pool.go core: fix typo in txpool (#25149) 2022-06-22 22:51:45 +02:00
types.go core: prefetch next block state concurrently 2019-04-01 11:06:15 +03:00