From d439f5c47f2730eabcfb1ae107a6050e8993deab Mon Sep 17 00:00:00 2001 From: rigelrozanski Date: Mon, 19 Mar 2018 14:13:30 +0100 Subject: [PATCH] name and pass rebase fixes --- x/stake/commands/tx.go | 38 ++++++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/x/stake/commands/tx.go b/x/stake/commands/tx.go index 99136e532c..56b41a15f9 100644 --- a/x/stake/commands/tx.go +++ b/x/stake/commands/tx.go @@ -10,6 +10,7 @@ import ( crypto "github.com/tendermint/go-crypto" + "github.com/cosmos/cosmos-sdk/client" "github.com/cosmos/cosmos-sdk/client/builder" sdk "github.com/cosmos/cosmos-sdk/types" "github.com/cosmos/cosmos-sdk/wire" @@ -47,6 +48,15 @@ func init() { fsCandidate.String(FlagDetails, "", "optional detailed description space") } +//TODO refactor to common functionality +func getNamePassword() (name, passphrase string, err error) { + name = viper.GetString(client.FlagName) + buf := client.BufferStdin() + prompt := fmt.Sprintf("Password to sign with '%s':", name) + passphrase, err = client.GetPassword(prompt, buf) + return +} + //_________________________________________________________________________________________ // create declare candidacy command @@ -78,8 +88,13 @@ func GetCmdDeclareCandidacy(cdc *wire.Codec) *cobra.Command { } msg := stake.NewMsgDeclareCandidacy(addr, pk, amount, description) + name, pass, err := getNamePassword() + if err != nil { + return err + } + // build and sign the transaction, then broadcast to Tendermint - res, err := builder.SignBuildBroadcast(msg, cdc) + res, err := builder.SignBuildBroadcast(name, pass, msg, cdc) if err != nil { return err } @@ -114,8 +129,13 @@ func GetCmdEditCandidacy(cdc *wire.Codec) *cobra.Command { } msg := stake.NewMsgEditCandidacy(addr, description) + name, pass, err := getNamePassword() + if err != nil { + return err + } + // build and sign the transaction, then broadcast to Tendermint - res, err := builder.SignBuildBroadcast(msg, cdc) + res, err := builder.SignBuildBroadcast(name, pass, msg, cdc) if err != nil { return err } @@ -148,8 +168,13 @@ func GetCmdDelegate(cdc *wire.Codec) *cobra.Command { msg := stake.NewMsgDelegate(addr, amount) + name, pass, err := getNamePassword() + if err != nil { + return err + } + // build and sign the transaction, then broadcast to Tendermint - res, err := builder.SignBuildBroadcast(msg, cdc) + res, err := builder.SignBuildBroadcast(name, pass, msg, cdc) if err != nil { return err } @@ -192,8 +217,13 @@ func GetCmdUnbond(cdc *wire.Codec) *cobra.Command { msg := stake.NewMsgUnbond(addr, sharesStr) + name, pass, err := getNamePassword() + if err != nil { + return err + } + // build and sign the transaction, then broadcast to Tendermint - res, err := builder.SignBuildBroadcast(msg, cdc) + res, err := builder.SignBuildBroadcast(name, pass, msg, cdc) if err != nil { return err }