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