cmd: fixes

This commit is contained in:
Ethan Buchman 2017-01-29 21:27:57 -08:00
parent 0e94253d43
commit 1ffe00def6
5 changed files with 24 additions and 27 deletions

View File

@ -15,8 +15,7 @@ var (
Flags: []cli.Flag{
addrFlag,
eyesFlag,
eyesDBFlag,
genesisFlag,
dirFlag,
inProcTMFlag,
chainIDFlag,
ibcPluginFlag,

View File

@ -18,19 +18,13 @@ var (
Usage: "MerkleEyes address, or 'local' for embedded",
}
eyesDBFlag = cli.StringFlag{
Name: "eyes-db",
Value: "merkleeyes.db",
Usage: "MerkleEyes db name for embedded",
}
// TODO: move to config file
// eyesCacheSizePtr := flag.Int("eyes-cache-size", 10000, "MerkleEyes db cache size, for embedded")
genesisFlag = cli.StringFlag{
Name: "genesis",
Value: "",
Usage: "Path to genesis file, if it exists",
dirFlag = cli.StringFlag{
Name: "dir",
Value: ".",
Usage: "Root directory",
}
inProcTMFlag = cli.BoolFlag{

View File

@ -110,7 +110,7 @@ func cmdIBCPacketCreateTx(c *cli.Context) error {
ibc.IBCTx `json:"unwrap"`
}{ibcTx}))
return appTx(c.Parent(), "IBC", data)
return appTx(c.Parent().Parent(), "IBC", data)
}
func cmdIBCPacketPostTx(c *cli.Context) error {
@ -148,7 +148,7 @@ func cmdIBCPacketPostTx(c *cli.Context) error {
ibc.IBCTx `json:"unwrap"`
}{ibcTx}))
return appTx(c.Parent(), "IBC", data)
return appTx(c.Parent().Parent(), "IBC", data)
}
func getIBCSequence(c *cli.Context) (uint64, error) {

View File

@ -2,6 +2,8 @@ package main
import (
"errors"
"os"
"path"
"github.com/urfave/cli"
@ -30,7 +32,7 @@ func cmdStart(c *cli.Context) error {
// Connect to MerkleEyes
var eyesCli *eyes.Client
if c.String("eyes") == "local" {
eyesCli = eyes.NewLocalClient(c.String("eyes-db"), EyesCacheSize)
eyesCli = eyes.NewLocalClient(path.Join(c.String("dir"), "merkleeyes.db"), EyesCacheSize)
} else {
var err error
eyesCli, err = eyes.NewClient(c.String("eyes"))
@ -51,9 +53,10 @@ func cmdStart(c *cli.Context) error {
}
// If genesis file was specified, set key-value options
if c.String("genesis") != "" {
err := basecoinApp.LoadGenesis(c.String("genesis"))
// If genesis file exists, set key-value options
genesisFile := path.Join(c.String("dir"), "genesis.json")
if _, err := os.Stat(genesisFile); err == nil {
err := basecoinApp.LoadGenesis(genesisFile)
if err != nil {
return errors.New(cmn.Fmt("%+v", err))
}

View File

@ -59,7 +59,7 @@ func cmdSendTx(c *cli.Context) error {
fmt.Println(string(wire.JSONBytes(tx)))
// broadcast the transaction to tendermint
if err := broadcastTx(c, tx); err != nil {
if _, err := broadcastTx(c, tx); err != nil {
return err
}
return nil
@ -104,7 +104,7 @@ func appTx(c *cli.Context, name string, data []byte) error {
fmt.Println("Signed AppTx:")
fmt.Println(string(wire.JSONBytes(tx)))
if err := broadcastTx(c, tx); err != nil {
if _, err := broadcastTx(c, tx); err != nil {
return err
}
@ -134,7 +134,7 @@ func cmdCounterTx(c *cli.Context) error {
}
// broadcast the transaction to tendermint
func broadcastTx(c *cli.Context, tx types.Tx) error {
func broadcastTx(c *cli.Context, tx types.Tx) ([]byte, error) {
tmResult := new(ctypes.TMResult)
tmAddr := c.String("node")
clientURI := client.NewClientURI(tmAddr)
@ -144,15 +144,16 @@ func broadcastTx(c *cli.Context, tx types.Tx) error {
txBytes := []byte(wire.BinaryBytes(struct {
types.Tx `json:"unwrap"`
}{tx}))
_, err := clientURI.Call("broadcast_tx_sync", map[string]interface{}{"tx": txBytes}, tmResult)
_, err := clientURI.Call("broadcast_tx_commit", map[string]interface{}{"tx": txBytes}, tmResult)
if err != nil {
return errors.New(cmn.Fmt("Error on broadcast tx: %v", err))
return nil, errors.New(cmn.Fmt("Error on broadcast tx: %v", err))
}
res := (*tmResult).(*ctypes.ResultBroadcastTx)
if !res.Code.IsOK() {
return errors.New(cmn.Fmt("BroadcastTxSync got non-zero exit code: %v. %X; %s", res.Code, res.Data, res.Log))
res := (*tmResult).(*ctypes.ResultBroadcastTxCommit)
if !res.DeliverTx.Code.IsOK() {
r := res.DeliverTx
return nil, errors.New(cmn.Fmt("BroadcastTxCommit got non-zero exit code: %v. %X; %s", r.Code, r.Data, r.Log))
}
return nil
return res.DeliverTx.Data, nil
}
// if the sequence flag is set, return it;