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 }