github.com/loomnetwork/gamechain@v0.0.0-20200406110549-36c47eb97a92/cli/cmd/set_last_plasma_block_number.go (about)

     1  package cmd
     2  
     3  import (
     4  	"encoding/json"
     5  	"fmt"
     6  	"github.com/loomnetwork/gamechain/types/zb/zb_calls"
     7  	"strings"
     8  
     9  	"github.com/loomnetwork/go-loom/auth"
    10  	"github.com/spf13/cobra"
    11  )
    12  
    13  var setLastPlasmaBlockNumCmdArgs struct {
    14  	blockNum uint64
    15  }
    16  
    17  var setLastPlasmaBlockNumCmd = &cobra.Command{
    18  	Use:   "set_last_plasma_block_number",
    19  	Short: "set last plasma block number",
    20  	RunE: func(cmd *cobra.Command, args []string) error {
    21  		signer := auth.NewEd25519Signer(commonTxObjs.privateKey)
    22  		req := zb_calls.SetLastPlasmaBlockNumberRequest{
    23  			LastPlasmachainBlockNumber: setLastPlasmaBlockNumCmdArgs.blockNum,
    24  		}
    25  
    26  		_, err := commonTxObjs.contract.Call("SetLastPlasmaBlockNumber", &req, signer, nil)
    27  		if err != nil {
    28  			return err
    29  		}
    30  
    31  		switch strings.ToLower(rootCmdArgs.outputFormat) {
    32  		case "json":
    33  			output, err := json.Marshal(map[string]interface{}{"success": true})
    34  			if err != nil {
    35  				return err
    36  			}
    37  			fmt.Println(string(output))
    38  		default:
    39  			fmt.Println("success")
    40  		}
    41  
    42  		return nil
    43  	},
    44  }
    45  
    46  func init() {
    47  	rootCmd.AddCommand(setLastPlasmaBlockNumCmd)
    48  
    49  	setLastPlasmaBlockNumCmd.Flags().Uint64VarP(&setLastPlasmaBlockNumCmdArgs.blockNum, "blocknum", "n", 0, "block number")
    50  	_ = setLastPlasmaBlockNumCmd.MarkFlagRequired("blocknum")
    51  }