mirror of
https://gitlab.com/pulsechaincom/erigon-pulse.git
synced 2025-01-13 14:30:15 +00:00
ad9e4241b1
* 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 # Conflicts: # accounts/abi/abi.go # accounts/abi/bind/backends/simulated.go # cmd/geth/retesteth.go # core/state/snapshot/difflayer_test.go # core/state/snapshot/disklayer_test.go # core/state/snapshot/iterator_test.go # core/state_processor.go # core/state_transition.go # core/vm/evm.go # core/vm/instructions.go # core/vm/jump_table.go # eth/api_tracer.go # internal/ethapi/api.go # les/odr_test.go # light/odr_test.go # tests/state_test_util.go |
||
---|---|---|
.. | ||
asm | ||
bloombits | ||
forkid | ||
rawdb | ||
state | ||
types | ||
vm | ||
.gitignore | ||
bench_test.go | ||
block_validator_test.go | ||
block_validator.go | ||
blockchain_insert.go | ||
blockchain_test.go | ||
blockchain.go | ||
blocks.go | ||
chain_indexer.go | ||
chain_makers_test.go | ||
chain_makers.go | ||
dao_test.go | ||
error.go | ||
events.go | ||
evm.go | ||
gaspool.go | ||
gen_genesis_account.go | ||
gen_genesis.go | ||
generate_index.go | ||
genesis_alloc.go | ||
genesis_test.go | ||
genesis.go | ||
headerchain.go | ||
mkalloc.go | ||
pruner_test.go | ||
pruner.go | ||
root.txt | ||
state_prefetcher.go | ||
state_processor.go | ||
state_transition.go | ||
tx_cacher.go | ||
tx_journal.go | ||
tx_list_test.go | ||
tx_list.go | ||
tx_noncer.go | ||
tx_pool_test.go | ||
tx_pool.go | ||
types.go |