github.com/loomnetwork/gamechain@v0.0.0-20200406110549-36c47eb97a92/cli/cmd/get_contract_state.go (about) 1 package cmd 2 3 import ( 4 "fmt" 5 "github.com/loomnetwork/gamechain/tools/battleground_utility" 6 "github.com/loomnetwork/gamechain/types/zb/zb_calls" 7 "strings" 8 9 "github.com/loomnetwork/go-loom" 10 "github.com/loomnetwork/go-loom/auth" 11 "github.com/spf13/cobra" 12 ) 13 14 var getContractStateCmdArgs struct { 15 } 16 17 var getContractStateCmd = &cobra.Command{ 18 Use: "get_contract_state", 19 Short: "get contract state", 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 var resp zb_calls.GetContractStateResponse 28 _, err := commonTxObjs.contract.StaticCall("GetContractState", &zb_calls.EmptyRequest{}, callerAddr, &resp) 29 if err != nil { 30 return err 31 } 32 33 switch strings.ToLower(rootCmdArgs.outputFormat) { 34 case "json": 35 err := battleground_utility.PrintProtoMessageAsJsonToStdout(resp.State) 36 if err != nil { 37 return err 38 } 39 default: 40 fmt.Printf("%+v\n", resp.State) 41 } 42 43 return nil 44 }, 45 } 46 47 func init() { 48 rootCmd.AddCommand(getContractStateCmd) 49 }