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  }