* eth: support bubbling up bad blocks from sync to the engine API
* eth/catalyst: fix typo
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
* eth/catalyst: fix typo
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
* Update eth/catalyst/api.go
* eth/catalyst: when forgetting bad hashes, also forget descendants
* eth/catalyst: minor bad block tweaks for resilience
Co-authored-by: Marius van der Wijden <m.vanderwijden@live.de>
Co-authored-by: Martin Holst Swende <martin@swende.se>
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>
* initial
* update
* fix: add validator to NewBlockchain function calls
* handle past chain reorg
* fix: only check with last checkpoint
* rm logs
* add: handle future chain import case
* fix: handle single block case
* add unit tests for past and future chain
* modularise forker tests
* minor fixes
* add: overlapping chain test case, minor fixes
* minor fixes
* add: isolated unit test for IsValidChain
* add more test case for IsValidChain
* fix: use index for header time
* add: fetch last N checkpoints in first run
* fix: change checkpoint count to int64
* fix: handle edge case
* fix: handle no checkpoint case separately
* fix: consider offset for future chain calculation
* re-write test case for split chain
* fix: typo
* add: split chain properties test
* separate reorg checks, validate chain before inserting
* fix: handle err incase of invalid chain
* fix: use error from whitelist service
* split chain property tests
* remove duplicate test cases
* cleanup
* clean up
* fix linters
* fix: fetch checkpoint count bug, add tests
* fix more linters
* fix: handle nil chain validator in downloader
* fix: mock bor tests
Co-authored-by: Evgeny Danienko <6655321@bk.ru>
* Remove locking in (*BlockChain).ExportN
Since ExportN is read-only, it shouldn't need the lock. (?)
* Add hash check to detect reorgs during export.
* fix check order
* Update blockchain.go
* Update blockchain.go
Co-authored-by: rjl493456442 <garyrong0905@gmail.com>
* internal/ethapi: error if tx args includes chain id that doesn't match local
* internal/ethapi: simplify code a bit
Co-authored-by: Péter Szilágyi <peterke@gmail.com>