From d9b2a6e58e8c116015a6cc39c3ecc658a247fdad Mon Sep 17 00:00:00 2001 From: mmsqe Date: Fri, 13 Sep 2024 17:07:31 +0800 Subject: [PATCH] Problem: tx evm raw doesn't work under offline add evm-denom flag --- CHANGELOG.md | 1 + x/evm/client/cli/tx.go | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3046b3f4b0..cb625018e5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -67,6 +67,7 @@ Ref: https://keepachangelog.com/en/1.0.0/ * (block-stm) [#510](https://github.com/crypto-org-chain/ethermint/pull/510) Include a fix to avoid nondeterministic account set when stm workers execute in parallel. * (rpc) [#521](https://github.com/crypto-org-chain/ethermint/pull/521) Align hash and miner in subscribe newHeads with eth_getBlockByNumber. * (rpc) [#516](https://github.com/crypto-org-chain/ethermint/pull/516) Avoid method eth_chainId crashed due to nil pointer on IsEIP155 check. +* (cli) [#524](https://github.com/crypto-org-chain/ethermint/pull/524) Allow tx evm raw run for generate only when offline with evm-denom flag. ### Improvements diff --git a/x/evm/client/cli/tx.go b/x/evm/client/cli/tx.go index 3e14f9547c..08144f8b94 100644 --- a/x/evm/client/cli/tx.go +++ b/x/evm/client/cli/tx.go @@ -33,6 +33,8 @@ import ( "github.com/evmos/ethermint/x/evm/types" ) +const FlagEvmDenom = "evm-denom" + // GetTxCmd returns the transaction commands for this module func GetTxCmd() *cobra.Command { cmd := &cobra.Command{ @@ -77,12 +79,20 @@ func NewRawTxCmd() *cobra.Command { return err } - rsp, err := rpctypes.NewQueryClient(clientCtx).Params(cmd.Context(), &types.QueryParamsRequest{}) + evmDenom, err := cmd.Flags().GetString(FlagEvmDenom) if err != nil { return err } - tx, err := msg.BuildTx(clientCtx.TxConfig.NewTxBuilder(), rsp.Params.EvmDenom) + if evmDenom == "" { + rsp, err := rpctypes.NewQueryClient(clientCtx).Params(cmd.Context(), &types.QueryParamsRequest{}) + if err != nil { + return err + } + evmDenom = rsp.Params.EvmDenom + } + + tx, err := msg.BuildTx(clientCtx.TxConfig.NewTxBuilder(), evmDenom) if err != nil { return err } @@ -129,5 +139,6 @@ func NewRawTxCmd() *cobra.Command { } flags.AddTxFlagsToCmd(cmd) + cmd.Flags().String(FlagEvmDenom, "", "defines the EVM denomination which could be used for generate only when offline") return cmd }