diff --git a/x/evm/keeper/state_transition.go b/x/evm/keeper/state_transition.go index 958fc87674..9c31bc93d0 100644 --- a/x/evm/keeper/state_transition.go +++ b/x/evm/keeper/state_transition.go @@ -324,15 +324,15 @@ func (k *Keeper) ApplyMessageWithConfig( // Allow the tracer captures the tx level events, mainly the gas consumption. leftoverGas := msg.GasLimit - sender := sdk.AccAddress(msg.From.Bytes()) + senderAddr := sdk.AccAddress(msg.From.Bytes()) if cfg.Tracer != nil { if cfg.DebugTrace { // msg.GasPrice should have been set to effective gas price amount := new(big.Int).Mul(msg.GasPrice, new(big.Int).SetUint64(msg.GasLimit)) - if err := k.SubBalance(ctx, sender, sdk.NewCoins(sdk.NewCoin(cfg.Params.EvmDenom, sdkmath.NewIntFromBigInt(amount)))); err != nil { + if err := k.SubBalance(ctx, senderAddr, sdk.NewCoins(sdk.NewCoin(cfg.Params.EvmDenom, sdkmath.NewIntFromBigInt(amount)))); err != nil { return nil, errorsmod.Wrap(err, "failed to subtract balance") } - if err := k.incrNonce(ctx, sender); err != nil { + if err := k.incrNonce(ctx, senderAddr); err != nil { return nil, errorsmod.Wrap(err, "failed to increment nonce") } } @@ -340,12 +340,13 @@ func (k *Keeper) ApplyMessageWithConfig( defer func() { if cfg.DebugTrace { amount := new(big.Int).Mul(msg.GasPrice, new(big.Int).SetUint64(leftoverGas)) - k.AddBalance(ctx, sender, sdk.NewCoins(sdk.NewCoin(cfg.Params.EvmDenom, sdkmath.NewIntFromBigInt(amount)))) + k.AddBalance(ctx, senderAddr, sdk.NewCoins(sdk.NewCoin(cfg.Params.EvmDenom, sdkmath.NewIntFromBigInt(amount)))) } cfg.Tracer.CaptureTxEnd(leftoverGas) }() } + sender := vm.AccountRef(msg.From) stateDB := statedb.NewWithParams(ctx, k, cfg.TxConfig, cfg.Params.EvmDenom) var evm *vm.EVM if cfg.Overrides != nil {