package module import ( "fmt" autocliv1 "cosmossdk.io/api/cosmos/autocli/v1" nftv1beta1 "cosmossdk.io/api/cosmos/nft/v1beta1" "cosmossdk.io/x/nft" "github.com/cosmos/cosmos-sdk/version" ) // AutoCLIOptions implements the autocli.HasAutoCLIConfig interface. func (am AppModule) AutoCLIOptions() *autocliv1.ModuleOptions { return &autocliv1.ModuleOptions{ Query: &autocliv1.ServiceCommandDescriptor{ Service: nftv1beta1.Query_ServiceDesc.ServiceName, RpcCommandOptions: []*autocliv1.RpcCommandOptions{ { RpcMethod: "Balance", Use: "balance ", Short: "Query the number of NFTs of a given class owned by the owner.", Example: fmt.Sprintf(`%s query %s balance `, version.AppName, nft.ModuleName), PositionalArgs: []*autocliv1.PositionalArgDescriptor{ {ProtoField: "owner"}, {ProtoField: "class_id"}, }, }, { RpcMethod: "Owner", Use: "owner ", Short: "Query the owner of the NFT based on its class and id.", Example: fmt.Sprintf(`%s query %s owner `, version.AppName, nft.ModuleName), PositionalArgs: []*autocliv1.PositionalArgDescriptor{ {ProtoField: "class_id"}, {ProtoField: "id"}, }, }, { RpcMethod: "Supply", Use: "supply ", Short: "Query the number of nft based on the class.", Example: fmt.Sprintf(`%s query %s supply `, version.AppName, nft.ModuleName), PositionalArgs: []*autocliv1.PositionalArgDescriptor{ {ProtoField: "class_id"}, }, }, { RpcMethod: "NFTs", Use: "nfts ", Short: "Query all NFTs of a given class or owner address.", Example: fmt.Sprintf(`%s query %s nfts --owner=`, version.AppName, nft.ModuleName), PositionalArgs: []*autocliv1.PositionalArgDescriptor{ {ProtoField: "class_id"}, }, }, { RpcMethod: "NFT", Use: "nft ", Short: "Query an NFT based on its class and id.", Example: fmt.Sprintf(`%s query %s nft `, version.AppName, nft.ModuleName), PositionalArgs: []*autocliv1.PositionalArgDescriptor{ {ProtoField: "class_id"}, {ProtoField: "id"}, }, }, { RpcMethod: "Class", Use: "class ", Short: "Query an NFT class based on its id", Example: fmt.Sprintf(`%s query %s class `, version.AppName, nft.ModuleName), PositionalArgs: []*autocliv1.PositionalArgDescriptor{ {ProtoField: "class_id"}, }, }, { RpcMethod: "Classes", Use: "classes", Short: "Query all NFT classes.", Example: fmt.Sprintf(`%s query %s classes`, version.AppName, nft.ModuleName), }, }, }, Tx: &autocliv1.ServiceCommandDescriptor{ Service: nftv1beta1.Msg_ServiceDesc.ServiceName, RpcCommandOptions: []*autocliv1.RpcCommandOptions{ { RpcMethod: "Send", Use: "send --from ", Short: "Transfer ownership of NFT", PositionalArgs: []*autocliv1.PositionalArgDescriptor{ {ProtoField: "class_id"}, {ProtoField: "id"}, {ProtoField: "receiver"}, }, // Sender is the signer of the transaction and is automatically added as from flag by AutoCLI. }, }, }, } }