diff --git a/baseapp/abci.go b/baseapp/abci.go index 25efa3b224f6..027f94763944 100644 --- a/baseapp/abci.go +++ b/baseapp/abci.go @@ -801,8 +801,14 @@ func (app *BaseApp) internalFinalizeBlock(ctx context.Context, req *abci.Request blockGasWanted uint64 ) for _, res := range txResults { - blockGasUsed += uint64(res.GasUsed) - blockGasWanted += uint64(res.GasWanted) + // GasUsed should not be -1 but just in case + if res.GasUsed > 0 { + blockGasUsed += uint64(res.GasUsed) + } + // GasWanted could be -1 if the tx is invalid + if res.GasWanted > 0 { + blockGasWanted += uint64(res.GasWanted) + } } app.finalizeBlockState.SetContext( app.finalizeBlockState.Context().