github.com/loomnetwork/gamechain@v0.0.0-20200406110549-36c47eb97a92/cli/cmd/get_ai_decks.go (about) 1 package cmd 2 3 import ( 4 "github.com/loomnetwork/gamechain/tools/battleground_utility" 5 "github.com/loomnetwork/gamechain/types/zb/zb_calls" 6 "github.com/loomnetwork/go-loom" 7 "os" 8 9 "github.com/loomnetwork/go-loom/auth" 10 "github.com/spf13/cobra" 11 ) 12 13 var getAIDecksCmdArgs struct { 14 version string 15 } 16 17 var getAIDecksCmd = &cobra.Command{ 18 Use: "get_ai_decks", 19 Short: "get AI decks", 20 RunE: func(cmd *cobra.Command, args []string) error { 21 signer := auth.NewEd25519Signer(commonTxObjs.privateKey) 22 callerAddr := loom.Address{ 23 ChainID: commonTxObjs.rpcClient.GetChainID(), 24 Local: loom.LocalAddressFromPublicKey(signer.PublicKey()), 25 } 26 27 req := &zb_calls.GetAIDecksRequest{ 28 Version: getAIDecksCmdArgs.version, 29 } 30 var result zb_calls.GetAIDecksResponse 31 _, err := commonTxObjs.contract.StaticCall("GetAIDecks", req, callerAddr, &result) 32 if err != nil { 33 return err 34 } 35 36 err = battleground_utility.PrintProtoMessageAsJson(os.Stdout, &result) 37 if err != nil { 38 return err 39 } 40 41 return nil 42 }, 43 } 44 45 func init() { 46 rootCmd.AddCommand(getAIDecksCmd) 47 48 getAIDecksCmd.Flags().StringVarP(&getAIDecksCmdArgs.version, "version", "v", "v1", "version") 49 50 _ = getAIDecksCmd.MarkFlagRequired("version") 51 }