From 6c537e87c7278d9eb6c1719e42644886ddef50c5 Mon Sep 17 00:00:00 2001 From: HuangYi Date: Tue, 12 Oct 2021 10:09:56 +0800 Subject: [PATCH 1/3] Problem: nil pointer panic in ApplyNativeMessage Solution: - pass NoOpTracer --- x/evm/keeper/state_transition.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x/evm/keeper/state_transition.go b/x/evm/keeper/state_transition.go index 2b695c6008..55e729887f 100644 --- a/x/evm/keeper/state_transition.go +++ b/x/evm/keeper/state_transition.go @@ -370,7 +370,7 @@ func (k *Keeper) ApplyNativeMessage(msg core.Message) (*types.MsgEthereumTxRespo baseFee := k.feeMarketKeeper.GetBaseFee(ctx) - evm := k.NewEVM(msg, ethCfg, params, coinbase, baseFee, nil) + evm := k.NewEVM(msg, ethCfg, params, coinbase, baseFee, types.NewNoOpTracer()) ret, err := k.ApplyMessage(evm, msg, ethCfg, true) if err != nil { From c7f6609a538c5e201088236477c4f40647d58530 Mon Sep 17 00:00:00 2001 From: HuangYi Date: Tue, 12 Oct 2021 22:49:31 +0800 Subject: [PATCH 2/3] use NewTracer --- x/evm/keeper/state_transition.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/x/evm/keeper/state_transition.go b/x/evm/keeper/state_transition.go index 55e729887f..137e523af5 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, types.NewNoOpTracer()) + 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 { From b31897e64517a212ad05db43d3b1844e2cdda29f Mon Sep 17 00:00:00 2001 From: HuangYi Date: Wed, 13 Oct 2021 09:27:15 +0800 Subject: [PATCH 3/3] changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 0b06df5183..f26b3058e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,6 +50,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (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