cosmos-sdk/x/ibc/client/cli/cli.go

53 lines
1.7 KiB
Go

package cli
import (
"github.com/spf13/cobra"
"github.com/cosmos/cosmos-sdk/client"
"github.com/cosmos/cosmos-sdk/client/flags"
ibcclient "github.com/cosmos/cosmos-sdk/x/ibc/02-client"
connection "github.com/cosmos/cosmos-sdk/x/ibc/03-connection"
channel "github.com/cosmos/cosmos-sdk/x/ibc/04-channel"
tmclient "github.com/cosmos/cosmos-sdk/x/ibc/07-tendermint/client/cli"
localhost "github.com/cosmos/cosmos-sdk/x/ibc/09-localhost"
host "github.com/cosmos/cosmos-sdk/x/ibc/24-host"
)
// GetTxCmd returns the transaction commands for this module
func GetTxCmd(clientCtx client.Context) *cobra.Command {
ibcTxCmd := &cobra.Command{
Use: host.ModuleName,
Short: "IBC transaction subcommands",
DisableFlagParsing: true,
SuggestionsMinimumDistance: 2,
RunE: client.ValidateCmd,
}
ibcTxCmd.AddCommand(flags.PostCommands(
tmclient.GetTxCmd(clientCtx.Codec, host.StoreKey),
localhost.GetTxCmd(clientCtx.Codec, host.StoreKey),
connection.GetTxCmd(clientCtx),
channel.GetTxCmd(clientCtx),
)...)
return ibcTxCmd
}
// GetQueryCmd returns the cli query commands for this module
func GetQueryCmd(clientCtx client.Context) *cobra.Command {
// Group ibc queries under a subcommand
ibcQueryCmd := &cobra.Command{
Use: host.ModuleName,
Short: "Querying commands for the IBC module",
DisableFlagParsing: true,
SuggestionsMinimumDistance: 2,
RunE: client.ValidateCmd,
}
ibcQueryCmd.AddCommand(flags.GetCommands(
ibcclient.GetQueryCmd(clientCtx),
connection.GetQueryCmd(clientCtx),
channel.GetQueryCmd(clientCtx),
)...)
return ibcQueryCmd
}