Evermint is a fork of open source Evmos, maintains bug fixes, customization and enable developers to fork and transform to their chain, fully customized naming, in just 2 steps. For research and development purpose.
GNU Lesser General Public License v3.0
3
stars
3
forks
source link
Feature Request: build transaction receipt for EVM-Txs in-case of processed but failure by any reason #102
// pass true to commit the StateDB
res, err := k.ApplyMessageWithConfig(tmpCtx, msg, nil, true, cfg, txConfig)
if err != nil {
// Refer to EIP-140 https://eips.ethereum.org/EIPS/eip-140
// Opcode REVERT provides a way to stop execution and revert state changes, without consuming all provided gas.
// Thus, all the other failure will consume all gas.
// That why we are going to consume all gas here because this is not caused-by-REVERT-opcode.
k.ResetGasMeterAndConsumeGas(ctx, ctx.GasMeter().Limit())
return nil, errorsmod.Wrap(err, "failed to apply ethereum core message")
}
For example this case