func cliBond(cmd *cobra.Command, args []string) { tx, err := core.Bond(nodeAddrFlag, signAddrFlag, pubkeyFlag, unbondtoFlag, amtFlag, nonceFlag) common.IfExit(err) logger.Debugf("%v\n", tx) unpackSignAndBroadcast(core.SignAndBroadcast(chainidFlag, nodeAddrFlag, signAddrFlag, tx, signFlag, broadcastFlag, waitFlag)) }
func cliSend(c *cli.Context) { chainID, nodeAddr, signAddr := c.String("chainID"), c.String("node-addr"), c.String("sign-addr") sign, broadcast, wait := c.Bool("sign"), c.Bool("broadcast"), c.Bool("wait") pubkey, amtS, nonceS, addr, toAddr := c.String("pubkey"), c.String("amt"), c.String("nonce"), c.String("addr"), c.String("to") tx, err := core.Send(nodeAddr, pubkey, addr, toAddr, amtS, nonceS) common.IfExit(err) logger.Debugf("%v\n", tx) unpackSignAndBroadcast(core.SignAndBroadcast(chainID, nodeAddr, signAddr, tx, sign, broadcast, wait)) }
func cliRebond(c *cli.Context) { chainID, nodeAddr, signAddr := c.String("chainID"), c.String("node-addr"), c.String("sign-addr") sign, broadcast, wait := c.Bool("sign"), c.Bool("broadcast"), c.Bool("wait") addr, height := c.String("addr"), c.String("height") tx, err := core.Rebond(addr, height) common.IfExit(err) logger.Debugf("%v\n", tx) unpackSignAndBroadcast(core.SignAndBroadcast(chainID, nodeAddr, signAddr, tx, sign, broadcast, wait)) }
func UpdateNameReg(fileName, hash string) error { nodeAddr := os.Getenv("MINTX_NODE_ADDR") signAddr := os.Getenv("MINTX_SIGN_ADDR") chainID := os.Getenv("MINTX_CHAINID") pubkey := strings.TrimSpace(os.Getenv("MINTX_PUBKEY")) //because bash addr := "" amtS := "10000" nonceS := "" feeS := "0" name := fileName data := hash log.WithFields(log.Fields{ "MINTX_NODE_ADDR": nodeAddr, "MINTX_CHAINID": chainID, "MINTX_PUBKEY": pubkey, "MINTX_SIGN_ADDR": signAddr, "name": fileName, "data": data, "amount": amtS, }).Warn("Building a nameTx:") nTx, err := core.Name(nodeAddr, signAddr, pubkey, addr, amtS, nonceS, feeS, name, data) if err != nil { return fmt.Errorf("corename error: %v\n", err) } log.WithField("=>", fmt.Sprintf("%v", nTx)).Warn("Success, nameTx created:") //sign but don't broadcast log.Warn("Signing transaction...") _, err = core.SignAndBroadcast(chainID, nodeAddr, signAddr, nTx, true, false, false) if err != nil { return fmt.Errorf("sign error: %v\n", err) } n := new(int64) w := new(bytes.Buffer) wire.WriteBinary(nTx, w, n, &err) // post needs to be to toadserver endpoint, which'll // eventually route the TX to the nodes using mindy txD := bytes.NewReader(w.Bytes()) //it can also query for the name reg to ensure things are good // TODO => modularize endpoint := "http://0.0.0.0:11113/" + "receiveNameTx?hash=" + hash _, err = http.Post(endpoint, "", txD) if err != nil { return fmt.Errorf("post error: %v\n", err) } if err := os.Remove(fileName); err != nil { return fmt.Errorf("remove file error: %v\n", err) } return nil }
func cliName(cmd *cobra.Command, args []string) { if dataFlag != "" && dataFileFlag != "" { common.Exit(fmt.Errorf("Please specify only one of --data and --data-file")) } data := dataFlag if dataFlag == "" && dataFileFlag != "" { b, err := ioutil.ReadFile(dataFileFlag) common.IfExit(err) data = string(b) } tx, err := core.Name(nodeAddrFlag, signAddrFlag, pubkeyFlag, addrFlag, amtFlag, nonceFlag, feeFlag, nameFlag, data) common.IfExit(err) logger.Debugf("%v\n", tx) unpackSignAndBroadcast(core.SignAndBroadcast(chainidFlag, nodeAddrFlag, signAddrFlag, tx, signFlag, broadcastFlag, waitFlag)) }
func cliPermissions(c *cli.Context) { chainID, nodeAddr, signAddr := c.String("chainID"), c.String("node-addr"), c.String("sign-addr") sign, broadcast, wait := c.Bool("sign"), c.Bool("broadcast"), c.Bool("wait") pubkey, nonceS, addr := c.String("pubkey"), c.String("nonce"), c.String("addr") // all functions take at least 2 args (+ name) if len(c.Args()) < 3 { common.Exit(fmt.Errorf("Please enter the permission function you'd like to call, followed by it's arguments")) } permFunc := c.Args()[0] tx, err := core.Permissions(nodeAddr, pubkey, addr, nonceS, permFunc, c.Args()[1:]) common.IfExit(err) logger.Debugf("%v\n", tx) unpackSignAndBroadcast(core.SignAndBroadcast(chainID, nodeAddr, signAddr, tx, sign, broadcast, wait)) }
func cliPermissions(cmd *cobra.Command, args []string) { // all functions take at least 2 args (+ name) if len(args) < 3 { s := fmt.Sprintf("Please enter the permission function you'd like to call, followed by it's arguments.") s = fmt.Sprintf("%s\nOptions:", s) for _, p := range core.PermsFuncs { s = fmt.Sprintf("%s\n\t%s(%s)", s, p.Name, p.Args) } s += "\n" s += "eg. mintx permission set_base 098E260AD99FFAE17A02E0F3692C7A493B122274 create_account true\n" common.Exit(fmt.Errorf(s)) } permFunc := args[0] tx, err := core.Permissions(nodeAddrFlag, signAddrFlag, pubkeyFlag, addrFlag, nonceFlag, permFunc, args[1:]) common.IfExit(err) logger.Debugf("%v\n", tx) unpackSignAndBroadcast(core.SignAndBroadcast(chainidFlag, nodeAddrFlag, signAddrFlag, tx, signFlag, broadcastFlag, waitFlag)) }
func cliName(c *cli.Context) { chainID, nodeAddr, signAddr := c.String("chainID"), c.String("node-addr"), c.String("sign-addr") sign, broadcast, wait := c.Bool("sign"), c.Bool("broadcast"), c.Bool("wait") pubkey, amtS, nonceS, feeS, addr := c.String("pubkey"), c.String("amt"), c.String("nonce"), c.String("fee"), c.String("addr") if c.IsSet("data") && c.IsSet("data-file") { common.Exit(fmt.Errorf("Please specify only one of --data and --data-file")) } name, data, dataFile := c.String("name"), c.String("data"), c.String("data-file") if data == "" && dataFile != "" { b, err := ioutil.ReadFile(dataFile) common.IfExit(err) data = string(b) } tx, err := core.Name(nodeAddr, pubkey, addr, amtS, nonceS, feeS, name, data) common.IfExit(err) logger.Debugf("%v\n", tx) unpackSignAndBroadcast(core.SignAndBroadcast(chainID, nodeAddr, signAddr, tx, sign, broadcast, wait)) }
func cliRebond(cmd *cobra.Command, args []string) { tx, err := core.Rebond(addrFlag, heightFlag) common.IfExit(err) logger.Debugf("%v\n", tx) unpackSignAndBroadcast(core.SignAndBroadcast(chainidFlag, nodeAddrFlag, signAddrFlag, tx, signFlag, broadcastFlag, waitFlag)) }