@@ -76,27 +76,27 @@ func (handlerGroup AnteHandlerEvm) AnteHandle(
7676 perr = fmt .Errorf ("%v" , panicInfo )
7777 }
7878
79- if sdb != nil && msgEthTx != nil {
80- ethTx := msgEthTx .AsTransaction ()
81- contractCreation := ethTx .To () == nil
82- rules := sdb .Keeper ().GetEVMConfig (sdb .Ctx ()).ChainConfig .Rules (
83- big .NewInt (sdb .Ctx ().BlockHeight ()),
84- false ,
85- evm .ParseBlockTimeUnixU64 (sdb .Ctx ()),
86- )
87- intrinsicGasCost , err := core .IntrinsicGas (
88- ethTx .Data (), ethTx .AccessList (),
89- contractCreation ,
90- rules .IsHomestead ,
91- rules .IsIstanbul ,
92- rules .IsShanghai ,
93- )
94- if err != nil {
95- deterministicGasCost = intrinsicGasCost
79+ if rerr != nil || perr != nil {
80+ if sdb != nil && msgEthTx != nil {
81+ ethTx := msgEthTx .AsTransaction ()
82+ contractCreation := ethTx .To () == nil
83+ rules := sdb .Keeper ().GetEVMConfig (sdb .Ctx ()).ChainConfig .Rules (
84+ big .NewInt (sdb .Ctx ().BlockHeight ()),
85+ false ,
86+ evm .ParseBlockTimeUnixU64 (sdb .Ctx ()),
87+ )
88+ intrinsicGasCost , err := core .IntrinsicGas (
89+ ethTx .Data (), ethTx .AccessList (),
90+ contractCreation ,
91+ rules .IsHomestead ,
92+ rules .IsIstanbul ,
93+ rules .IsShanghai ,
94+ )
95+ if err == nil {
96+ deterministicGasCost = intrinsicGasCost
97+ }
9698 }
97- }
9899
99- if rerr != nil || perr != nil {
100100 rCtx = rCtx .WithGasMeter (
101101 func () sdk.GasMeter {
102102 gm := sdk .NewGasMeter (deterministicGasCost )
0 commit comments