github.com/fibonacci-chain/fbc@v0.0.0-20231124064014-c7636198c1e9/libs/ibc-go/modules/core/client/cli/cli.go (about)

     1  package cli
     2  
     3  import (
     4  	"fmt"
     5  
     6  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/client"
     7  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/client/context"
     8  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/client/flags"
     9  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/codec"
    10  	interfacetypes "github.com/fibonacci-chain/fbc/libs/cosmos-sdk/codec/types"
    11  	"github.com/fibonacci-chain/fbc/libs/cosmos-sdk/version"
    12  	ibcclient "github.com/fibonacci-chain/fbc/libs/ibc-go/modules/core/02-client"
    13  	connection "github.com/fibonacci-chain/fbc/libs/ibc-go/modules/core/03-connection"
    14  	channel "github.com/fibonacci-chain/fbc/libs/ibc-go/modules/core/04-channel"
    15  	host "github.com/fibonacci-chain/fbc/libs/ibc-go/modules/core/24-host"
    16  	"github.com/fibonacci-chain/fbc/libs/ibc-go/modules/core/types"
    17  	"github.com/spf13/cobra"
    18  )
    19  
    20  // GetTxCmd returns the transaction commands for this module
    21  func GetTxCmd(cdc *codec.CodecProxy, reg interfacetypes.InterfaceRegistry) *cobra.Command {
    22  	ibcTxCmd := &cobra.Command{
    23  		Use:                        host.ModuleName,
    24  		Short:                      "IBC transaction subcommands",
    25  		DisableFlagParsing:         true,
    26  		SuggestionsMinimumDistance: 2,
    27  		RunE:                       client.ValidateCmd,
    28  	}
    29  
    30  	ibcTxCmd.AddCommand(
    31  		ibcclient.GetTxCmd(cdc, reg),
    32  		channel.GetTxCmd(),
    33  	)
    34  
    35  	return ibcTxCmd
    36  }
    37  
    38  // GetQueryCmd returns the cli query commands for this module
    39  func GetQueryCmd(codec *codec.CodecProxy, reg interfacetypes.InterfaceRegistry) *cobra.Command {
    40  	// Group ibc queries under a subcommand
    41  	ibcQueryCmd := &cobra.Command{
    42  		Use:                        host.ModuleName,
    43  		Short:                      "Querying commands for the IBC module",
    44  		DisableFlagParsing:         true,
    45  		SuggestionsMinimumDistance: 2,
    46  		RunE:                       client.ValidateCmd,
    47  	}
    48  
    49  	ibcQueryCmd.AddCommand(
    50  		ibcclient.GetQueryCmd(codec, reg),
    51  		connection.GetQueryCmd(codec, reg),
    52  		channel.GetQueryCmd(codec, reg),
    53  		GetCmdParams(codec, reg),
    54  	)
    55  
    56  	return ibcQueryCmd
    57  }
    58  
    59  // GetCmdParams returns the command handler for ibc parameter querying.
    60  func GetCmdParams(m *codec.CodecProxy, reg interfacetypes.InterfaceRegistry) *cobra.Command {
    61  	cmd := &cobra.Command{
    62  		Use:     "params",
    63  		Short:   "Query the current ibc parameters",
    64  		Long:    "Query the current ibc parameters",
    65  		Args:    cobra.NoArgs,
    66  		Example: fmt.Sprintf("%s query %s params", version.ServerName, host.ModuleName),
    67  		RunE: func(cmd *cobra.Command, _ []string) error {
    68  			clientCtx := context.NewCLIContext().WithProxy(m).WithInterfaceRegistry(reg)
    69  			queryClient := types.NewQueryClient(clientCtx)
    70  
    71  			res, _ := queryClient.IbcParams(cmd.Context(), &types.QueryIbcParamsRequest{})
    72  			return clientCtx.PrintProto(res.Params)
    73  		},
    74  	}
    75  
    76  	flags.AddQueryFlagsToCmd(cmd)
    77  
    78  	return cmd
    79  }