Encaptulate Get Passphrase Logic in Builder
This commit is contained in:
@@ -124,7 +124,12 @@ func SignAndBuild(name, passphrase string, msg sdk.Msg, cdc *wire.Codec) ([]byte
|
|||||||
}
|
}
|
||||||
|
|
||||||
// sign and build the transaction from the msg
|
// sign and build the transaction from the msg
|
||||||
func SignBuildBroadcast(name string, passphrase string, msg sdk.Msg, cdc *wire.Codec) (*ctypes.ResultBroadcastTxCommit, error) {
|
func SignBuildBroadcast(name string, msg sdk.Msg, cdc *wire.Codec) (*ctypes.ResultBroadcastTxCommit, error) {
|
||||||
|
passphrase, err := GetPassphraseFromStdin(name)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
|
||||||
txBytes, err := SignAndBuild(name, passphrase, msg, cdc)
|
txBytes, err := SignAndBuild(name, passphrase, msg, cdc)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
@@ -132,3 +137,10 @@ func SignBuildBroadcast(name string, passphrase string, msg sdk.Msg, cdc *wire.C
|
|||||||
|
|
||||||
return BroadcastTx(txBytes)
|
return BroadcastTx(txBytes)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// get passphrase from std input
|
||||||
|
func GetPassphraseFromStdin(name string) (pass string, err error) {
|
||||||
|
buf := client.BufferStdin()
|
||||||
|
prompt := fmt.Sprintf("Password to sign with '%s':", name)
|
||||||
|
return client.GetPassword(prompt, buf)
|
||||||
|
}
|
||||||
|
|||||||
@@ -36,16 +36,8 @@ func QuizTxCmd(cdc *wire.Codec) *cobra.Command {
|
|||||||
// get account name
|
// get account name
|
||||||
name := viper.GetString(client.FlagName)
|
name := viper.GetString(client.FlagName)
|
||||||
|
|
||||||
// get password
|
|
||||||
buf := client.BufferStdin()
|
|
||||||
prompt := fmt.Sprintf("Password to sign with '%s':", name)
|
|
||||||
passphrase, err := client.GetPassword(prompt, buf)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// build and sign the transaction, then broadcast to Tendermint
|
// build and sign the transaction, then broadcast to Tendermint
|
||||||
res, err := builder.SignBuildBroadcast(name, passphrase, msg, cdc)
|
res, err := builder.SignBuildBroadcast(name, msg, cdc)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -75,19 +67,11 @@ func SetTrendTxCmd(cdc *wire.Codec) *cobra.Command {
|
|||||||
// get account name
|
// get account name
|
||||||
name := viper.GetString(client.FlagName)
|
name := viper.GetString(client.FlagName)
|
||||||
|
|
||||||
// get password
|
|
||||||
buf := client.BufferStdin()
|
|
||||||
prompt := fmt.Sprintf("Password to sign with '%s':", name)
|
|
||||||
passphrase, err := client.GetPassword(prompt, buf)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// create the message
|
// create the message
|
||||||
msg := cool.NewSetTrendMsg(from, args[0])
|
msg := cool.NewSetTrendMsg(from, args[0])
|
||||||
|
|
||||||
// build and sign the transaction, then broadcast to Tendermint
|
// build and sign the transaction, then broadcast to Tendermint
|
||||||
res, err := builder.SignBuildBroadcast(name, passphrase, msg, cdc)
|
res, err := builder.SignBuildBroadcast(name, msg, cdc)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -62,19 +62,11 @@ func (c Commander) sendTxCmd(cmd *cobra.Command, args []string) error {
|
|||||||
// get account name
|
// get account name
|
||||||
name := viper.GetString(client.FlagName)
|
name := viper.GetString(client.FlagName)
|
||||||
|
|
||||||
// get password
|
|
||||||
buf := client.BufferStdin()
|
|
||||||
prompt := fmt.Sprintf("Password to sign with '%s':", name)
|
|
||||||
passphrase, err := client.GetPassword(prompt, buf)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// build message
|
// build message
|
||||||
msg := BuildMsg(from, to, coins)
|
msg := BuildMsg(from, to, coins)
|
||||||
|
|
||||||
// build and sign the transaction, then broadcast to Tendermint
|
// build and sign the transaction, then broadcast to Tendermint
|
||||||
res, err := builder.SignBuildBroadcast(name, passphrase, msg, c.Cdc)
|
res, err := builder.SignBuildBroadcast(name, msg, c.Cdc)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,14 +53,8 @@ func (c sendCommander) sendIBCTransfer(cmd *cobra.Command, args []string) error
|
|||||||
|
|
||||||
// get password
|
// get password
|
||||||
name := viper.GetString(client.FlagName)
|
name := viper.GetString(client.FlagName)
|
||||||
buf := client.BufferStdin()
|
|
||||||
prompt := fmt.Sprintf("Password to sign with '%s':", name)
|
|
||||||
passphrase, err := client.GetPassword(prompt, buf)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
res, err := builder.SignBuildBroadcast(name, passphrase, msg, c.cdc)
|
res, err := builder.SignBuildBroadcast(name, msg, c.cdc)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ const (
|
|||||||
type relayCommander struct {
|
type relayCommander struct {
|
||||||
cdc *wire.Codec
|
cdc *wire.Codec
|
||||||
address sdk.Address
|
address sdk.Address
|
||||||
decoder sdk.AccountDecoder
|
decoder sdk.AccountDecoder
|
||||||
mainStore string
|
mainStore string
|
||||||
ibcStore string
|
ibcStore string
|
||||||
}
|
}
|
||||||
@@ -35,7 +35,7 @@ type relayCommander struct {
|
|||||||
func IBCRelayCmd(cdc *wire.Codec) *cobra.Command {
|
func IBCRelayCmd(cdc *wire.Codec) *cobra.Command {
|
||||||
cmdr := relayCommander{
|
cmdr := relayCommander{
|
||||||
cdc: cdc,
|
cdc: cdc,
|
||||||
decoder: authcmd.GetAccountDecoder(cdc),
|
decoder: authcmd.GetAccountDecoder(cdc),
|
||||||
ibcStore: "ibc",
|
ibcStore: "ibc",
|
||||||
mainStore: "main",
|
mainStore: "main",
|
||||||
}
|
}
|
||||||
@@ -80,9 +80,7 @@ func (c relayCommander) runIBCRelay(cmd *cobra.Command, args []string) {
|
|||||||
func (c relayCommander) loop(fromChainID, fromChainNode, toChainID, toChainNode string) {
|
func (c relayCommander) loop(fromChainID, fromChainNode, toChainID, toChainNode string) {
|
||||||
// get password
|
// get password
|
||||||
name := viper.GetString(client.FlagName)
|
name := viper.GetString(client.FlagName)
|
||||||
buf := client.BufferStdin()
|
passphrase, err := builder.GetPassphraseFromStdin(name)
|
||||||
prompt := fmt.Sprintf("Password to sign with '%s':", name)
|
|
||||||
passphrase, err := client.GetPassword(prompt, buf)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -94,14 +94,7 @@ func (co commander) unbondTxCmd(cmd *cobra.Command, args []string) error {
|
|||||||
|
|
||||||
func (co commander) sendMsg(msg sdk.Msg) error {
|
func (co commander) sendMsg(msg sdk.Msg) error {
|
||||||
name := viper.GetString(client.FlagName)
|
name := viper.GetString(client.FlagName)
|
||||||
buf := client.BufferStdin()
|
res, err := builder.SignBuildBroadcast(name, msg, co.cdc)
|
||||||
prompt := fmt.Sprintf("Password to sign with '%s':", name)
|
|
||||||
passphrase, err := client.GetPassword(prompt, buf)
|
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
res, err := builder.SignBuildBroadcast(name, passphrase, msg, co.cdc)
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user