go-ethereum/miner
Martin Holst Swende 7770e41cb5
core: improve contextual information on core errors (#21869)
A lot of times when we hit 'core' errors, example: invalid tx, the information provided is
insufficient. We miss several pieces of information: what account has nonce too high,
and what transaction in that block was offending?

This PR adds that information, using the new type of wrapped errors.
It also adds a testcase which (partly) verifies the output from the errors.

The first commit changes all usage of direct equality-checks on core errors, into
using errors.Is. The second commit adds contextual information. This wraps most
of the core errors with more information, and also wraps it one more time in
stateprocessor, to further provide tx index and tx hash, if such a tx is encoutered in
a block. The third commit uses the chainmaker to try to generate chains with such
errors in them, thus triggering the errors and checking that the generated string meets
expectations.
2020-12-04 12:22:19 +01:00
..
miner.go miner: set etherbase even if mining isn't possible at the moment (#21707) 2020-10-14 11:59:11 +02:00
miner_test.go miner: fixed race condition in tests (#21664) 2020-10-20 10:58:26 +02:00
stress_clique.go node: refactor package node (#21105) 2020-08-03 19:40:46 +02:00
stress_ethash.go node: refactor package node (#21105) 2020-08-03 19:40:46 +02:00
unconfirmed.go all: replace RWMutex with Mutex in places where RLock is not used (#21622) 2020-10-13 10:58:41 +02:00
unconfirmed_test.go all: remove redundant conversions and import names (#21903) 2020-11-25 21:00:23 +01:00
worker.go core: improve contextual information on core errors (#21869) 2020-12-04 12:22:19 +01:00
worker_test.go eth/downloader: fix spuriously failing tests (#21149) 2020-06-09 11:39:19 +02:00