go-ethereum/tests
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
..
fuzzers eth: rework tx fetcher to use O(1) ops + manage network requests 2020-02-13 15:27:15 +02:00
solidity tests/solidity: add contract to test every opcode (#19283) 2019-09-26 10:30:33 +02:00
testdata@7497b116a0 tests: update tests/testdata@develop, include EIP2384 config (#20746) 2020-03-10 10:55:27 +01:00
block_test_util.go snapshotter/tests: verify snapdb post-state against trie (#20812) 2020-03-31 10:25:41 +02:00
block_test.go core/state/snapshot, tests: sync snap gen + snaps in consensus tests 2020-03-03 09:17:13 +02:00
difficulty_test_util.go all: simplify timestamps to uint64 (#19372) 2019-04-02 23:28:48 +03:00
difficulty_test.go cmd: deprecate --testnet, use named networks instead (#20852) 2020-04-09 12:09:58 +03:00
gen_btheader.go all: simplify timestamps to uint64 (#19372) 2019-04-02 23:28:48 +03:00
gen_difficultytest.go all: simplify timestamps to uint64 (#19372) 2019-04-02 23:28:48 +03:00
gen_stenv.go all: switch gas limits from big.Int to uint64 2018-01-03 14:45:35 +02:00
gen_sttransaction.go all: regenerate codecs with gencodec commit 90983d99de (#15830) 2018-01-08 15:13:22 +02:00
gen_vmexec.go all: regenerate codecs with gencodec commit 90983d99de (#15830) 2018-01-08 15:13:22 +02:00
init_test.go tests, signer: remove staticcheck warnings (#20364) 2019-11-23 12:51:37 +01:00
init.go tests: implement Istanbul support 2019-08-23 10:01:09 +02:00
rlp_test_util.go core, cmd/puppeth: implement constantinople fix, disable EIP-1283 (#18486) 2019-01-24 11:36:30 +01:00
rlp_test.go tests: update tests and implement general state tests (#14734) 2017-07-11 13:49:14 +02:00
state_test_util.go all: seperate consensus error and evm internal error (#20830) 2020-04-22 11:25:36 +03:00
state_test.go core/state/snapshot, tests: sync snap gen + snaps in consensus tests 2020-03-03 09:17:13 +02:00
transaction_test_util.go core/state/snapshot, tests: sync snap gen + snaps in consensus tests 2020-03-03 09:17:13 +02:00
transaction_test.go tests: make transaction tests run again, fix #19033 (#19529) 2019-05-21 14:58:06 +03:00
vm_test_util.go core/state/snapshot, tests: sync snap gen + snaps in consensus tests 2020-03-03 09:17:13 +02:00
vm_test.go core/state/snapshot, tests: sync snap gen + snaps in consensus tests 2020-03-03 09:17:13 +02:00