diff --git a/cmd/akash/cmd/root.go b/cmd/akash/cmd/root.go index bcb9967fe..0d97664a1 100644 --- a/cmd/akash/cmd/root.go +++ b/cmd/akash/cmd/root.go @@ -16,6 +16,8 @@ import ( "github.com/cosmos/cosmos-sdk/client/snapshot" sdkserver "github.com/cosmos/cosmos-sdk/server" banktypes "github.com/cosmos/cosmos-sdk/x/bank/types" + ibctransfer "github.com/cosmos/ibc-go/v10/modules/apps/transfer" + ibccore "github.com/cosmos/ibc-go/v10/modules/core" rosettaCmd "github.com/cosmos/rosetta/cmd" "pkg.akt.dev/go/cli" @@ -107,10 +109,29 @@ func initRootCmd(rootCmd *cobra.Command, encodingConfig sdkutil.EncodingConfig) cli.ServerCmds(rootCmd, home, ac.newApp, ac.appExport, addModuleInitFlags) + addIBCCommands(rootCmd) + rootCmd.SetOut(rootCmd.OutOrStdout()) rootCmd.SetErr(rootCmd.ErrOrStderr()) } +// addIBCCommands adds IBC core (client, channel) and transfer tx/query subcommands to the CLI. +// The chain supports IBC; the pkg.akt.dev/go/cli package does not wire these in. +func addIBCCommands(rootCmd *cobra.Command) { + coreBasic := ibccore.AppModuleBasic{} + transferBasic := ibctransfer.AppModuleBasic{} + for _, c := range rootCmd.Commands() { + switch c.Name() { + case "tx": + c.AddCommand(coreBasic.GetTxCmd()) + c.AddCommand(transferBasic.GetTxCmd()) + case "query", "q": + c.AddCommand(coreBasic.GetQueryCmd()) + c.AddCommand(transferBasic.GetQueryCmd()) + } + } +} + func addModuleInitFlags(startCmd *cobra.Command) { crisis.AddModuleInitFlags(startCmd) //nolint: staticcheck }