From 2e067590a279bc377bbd1427b73859c1a39d6cc1 Mon Sep 17 00:00:00 2001 From: yihuang Date: Wed, 13 Oct 2021 16:57:12 +0800 Subject: [PATCH] fix: nil pointer panic in `ApplyNativeMessage` (#660) * Problem: nil pointer panic in ApplyNativeMessage Solution: - pass NoOpTracer * use NewTracer * changelog --- CHANGELOG.md | 1 + x/evm/keeper/state_transition.go | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e827cc9e..c7eb11e9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -51,6 +51,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (deps) [tharsis#655](https://github.com/tharsis/ethermint/pull/665) Bump Cosmos SDK version to [`v0.44.2`](https://github.com/cosmos/cosmos-sdk/releases/tag/v0.44.2). * (evm) [tharsis#650](https://github.com/tharsis/ethermint/pull/650) Fix panic when flattening the cache context in case transaction is reverted. * (rpc, test) [tharsis#608](https://github.com/tharsis/ethermint/pull/608) Fix rpc test. +* (evm) [tharsis#660](https://github.com/tharsis/ethermint/pull/660) Fix nil pointer panic in ApplyNativeMessage. ## [v0.7.0] - 2021-10-07 diff --git a/x/evm/keeper/state_transition.go b/x/evm/keeper/state_transition.go index 2b695c60..137e523a 100644 --- a/x/evm/keeper/state_transition.go +++ b/x/evm/keeper/state_transition.go @@ -370,7 +370,8 @@ func (k *Keeper) ApplyNativeMessage(msg core.Message) (*types.MsgEthereumTxRespo baseFee := k.feeMarketKeeper.GetBaseFee(ctx) - evm := k.NewEVM(msg, ethCfg, params, coinbase, baseFee, nil) + tracer := types.NewTracer(k.tracer, msg, ethCfg, ctx.BlockHeight(), k.debug) + evm := k.NewEVM(msg, ethCfg, params, coinbase, baseFee, tracer) ret, err := k.ApplyMessage(evm, msg, ethCfg, true) if err != nil {