go-ethereum/internal
gary rong b9df7ecdc3
all: seperate consensus error and evm internal error (#20830)
* all: seperate consensus error and evm internal error

There are actually two types of error will be returned when
a tranaction/message call is executed: (a) consensus error
(b) evm internal error. The former should be converted to
a consensus issue, e.g. The sender doesn't enough asset to
purchase the gas it specifies. The latter is allowed since
evm itself is a blackbox and internal error is allowed to happen.

This PR emphasizes the difference by introducing a executionResult
structure. The evm error is embedded inside. So if any error
returned, it indicates consensus issue happens.

And also this PR improve the `EstimateGas` API to return the concrete
revert reason if the transaction always fails

* all: polish

* accounts/abi/bind/backends: add tests

* accounts/abi/bind/backends, internal: cleanup error message

* all: address comments

* core: fix lint

* accounts, core, eth, internal: address comments

* accounts, internal: resolve revert reason if possible

* accounts, internal: address comments
2020-04-22 11:25:36 +03:00
..
build internal/build: don't crash in DownloadFile when offline (#20595) 2020-02-03 17:22:46 +02:00
cmdtest internal: fix staticcheck warnings (#20380) 2019-11-29 11:40:02 +01:00
debug log, internal/debug: delete RotatingFileHandler (#20586) 2020-01-21 14:57:33 +02:00
ethapi all: seperate consensus error and evm internal error (#20830) 2020-04-22 11:25:36 +03:00
guide all: update license information 2017-04-14 10:29:00 +02:00
jsre console, internal/jsre: use github.com/dop251/goja (#20470) 2020-01-27 11:50:48 +01:00
testlog internal/testlog: print file+line number of log call in test log (#20528) 2020-01-08 17:11:51 +02:00
web3ext les, les/lespay/client: add service value statistics and API (#20837) 2020-04-09 11:55:32 +02:00