• gary rong's avatar
    all: seperate consensus error and evm internal error (#20830) · b9df7ecd
    gary rong authored
    * 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
    b9df7ecd
Name
Last commit
Last update
..
checkpointoracle Loading commit data...
flowcontrol Loading commit data...
lespay/client Loading commit data...
utils Loading commit data...
api.go Loading commit data...
api_backend.go Loading commit data...
api_test.go Loading commit data...
balance.go Loading commit data...
balance_test.go Loading commit data...
benchmark.go Loading commit data...
bloombits.go Loading commit data...
client.go Loading commit data...
client_handler.go Loading commit data...
clientpool.go Loading commit data...
clientpool_test.go Loading commit data...
commons.go Loading commit data...
costtracker.go Loading commit data...
distributor.go Loading commit data...
distributor_test.go Loading commit data...
enr_entry.go Loading commit data...
fetcher.go Loading commit data...
handler_test.go Loading commit data...
metrics.go Loading commit data...
odr.go Loading commit data...
odr_requests.go Loading commit data...
odr_test.go Loading commit data...
peer.go Loading commit data...
peer_test.go Loading commit data...
protocol.go Loading commit data...
request_test.go Loading commit data...
retrieve.go Loading commit data...
server.go Loading commit data...
server_handler.go Loading commit data...
serverpool.go Loading commit data...
servingqueue.go Loading commit data...
sync.go Loading commit data...
sync_test.go Loading commit data...
test_helper.go Loading commit data...
txrelay.go Loading commit data...
ulc.go Loading commit data...
ulc_test.go Loading commit data...