@@ -195,6 +195,12 @@ func (u *TxUtils) ConvertCosmosTxToEthereumTx(ctx context.Context, sdkTx sdk.Tx)
195
195
return nil , nil , nil
196
196
}
197
197
198
+ msg := msgs [0 ]
199
+ typeUrl := sdk .MsgTypeURL (msg )
200
+ if typeUrl != "/minievm.evm.v1.MsgCall" && typeUrl != "/minievm.evm.v1.MsgCreate" {
201
+ return nil , nil , nil
202
+ }
203
+
198
204
authTx := sdkTx .(authsigning.Tx )
199
205
memo := authTx .GetMemo ()
200
206
if len (memo ) == 0 {
@@ -231,10 +237,6 @@ func (u *TxUtils) ConvertCosmosTxToEthereumTx(ctx context.Context, sdkTx sdk.Tx)
231
237
232
238
var tx * coretypes.Transaction
233
239
234
- msg := msgs [0 ]
235
- gas := authTx .GetGas ()
236
- typeUrl := sdk .MsgTypeURL (msg )
237
-
238
240
sig := sigs [0 ]
239
241
cosmosSender := sig .PubKey .Address ()
240
242
if len (cosmosSender .Bytes ()) != common .AddressLength {
@@ -272,6 +274,7 @@ func (u *TxUtils) ConvertCosmosTxToEthereumTx(ctx context.Context, sdkTx sdk.Tx)
272
274
}
273
275
274
276
// check if the fee amount is correctly converted
277
+ gas := authTx .GetGas ()
275
278
computedFeeAmount := sdk .NewCoins (sdk .NewCoin (params .FeeDenom , math .NewIntFromBigInt (computeGasFeeAmount (gasFeeCap , gas , decimals ))))
276
279
if ! feeAmount .Equal (computedFeeAmount ) {
277
280
u .Logger (ctx ).Error ("fee amount manipulation detected" , "expected" , computedFeeAmount , "actual" , feeAmount )
@@ -315,9 +318,6 @@ func (u *TxUtils) ConvertCosmosTxToEthereumTx(ctx context.Context, sdkTx sdk.Tx)
315
318
// Same as above (MsgCall)
316
319
value = types .ToEthersUnit (decimals , createMsg .Value .BigInt ())
317
320
accessList = types .ConvertCosmosAccessListToEth (createMsg .AccessList )
318
- case "/minievm.evm.v1.MsgCreate2" :
319
- // create2 is not supported
320
- return nil , nil , nil
321
321
}
322
322
323
323
chainID := sdk .UnwrapSDKContext (ctx ).ChainID ()
0 commit comments