|
|
@@ -21,7 +21,6 @@
|
|
|
package main
|
|
|
|
|
|
import (
|
|
|
- "bufio"
|
|
|
"fmt"
|
|
|
"io"
|
|
|
"io/ioutil"
|
|
|
@@ -44,7 +43,6 @@ import (
|
|
|
"github.com/ethereum/go-ethereum/logger"
|
|
|
"github.com/mattn/go-colorable"
|
|
|
"github.com/mattn/go-isatty"
|
|
|
- "github.com/peterh/liner"
|
|
|
)
|
|
|
import _ "net/http/pprof"
|
|
|
|
|
|
@@ -426,12 +424,12 @@ func getPassPhrase(ctx *cli.Context, desc string, confirmation bool) (passphrase
|
|
|
passfile := ctx.GlobalString(utils.PasswordFileFlag.Name)
|
|
|
if len(passfile) == 0 {
|
|
|
fmt.Println(desc)
|
|
|
- auth, err := readPassword("Passphrase: ", true)
|
|
|
+ auth, err := utils.PromptPassword("Passphrase: ", true)
|
|
|
if err != nil {
|
|
|
utils.Fatalf("%v", err)
|
|
|
}
|
|
|
if confirmation {
|
|
|
- confirm, err := readPassword("Repeat Passphrase: ", false)
|
|
|
+ confirm, err := utils.PromptPassword("Repeat Passphrase: ", false)
|
|
|
if err != nil {
|
|
|
utils.Fatalf("%v", err)
|
|
|
}
|
|
|
@@ -549,7 +547,7 @@ func exportchain(ctx *cli.Context) {
|
|
|
}
|
|
|
|
|
|
func removeDb(ctx *cli.Context) {
|
|
|
- confirm, err := readConfirm("Remove local databases?")
|
|
|
+ confirm, err := utils.PromptConfirm("Remove local databases?")
|
|
|
if err != nil {
|
|
|
utils.Fatalf("%v", err)
|
|
|
}
|
|
|
@@ -690,44 +688,3 @@ func hashish(x string) bool {
|
|
|
_, err := strconv.Atoi(x)
|
|
|
return err != nil
|
|
|
}
|
|
|
-
|
|
|
-func readConfirm(prompt string) (bool, error) {
|
|
|
- var (
|
|
|
- input string
|
|
|
- err error
|
|
|
- )
|
|
|
- prompt = prompt + " [y/N] "
|
|
|
-
|
|
|
- if liner.TerminalSupported() {
|
|
|
- lr := liner.NewLiner()
|
|
|
- defer lr.Close()
|
|
|
- input, err = lr.Prompt(prompt)
|
|
|
- } else {
|
|
|
- fmt.Print(prompt)
|
|
|
- input, err = bufio.NewReader(os.Stdin).ReadString('\n')
|
|
|
- fmt.Println()
|
|
|
- }
|
|
|
-
|
|
|
- if len(input) > 0 && strings.ToUpper(input[:1]) == "Y" {
|
|
|
- return true, nil
|
|
|
- } else {
|
|
|
- return false, nil
|
|
|
- }
|
|
|
-
|
|
|
- return false, err
|
|
|
-}
|
|
|
-
|
|
|
-func readPassword(prompt string, warnTerm bool) (string, error) {
|
|
|
- if liner.TerminalSupported() {
|
|
|
- lr := liner.NewLiner()
|
|
|
- defer lr.Close()
|
|
|
- return lr.PasswordPrompt(prompt)
|
|
|
- }
|
|
|
- if warnTerm {
|
|
|
- fmt.Println("!! Unsupported terminal, password will be echoed.")
|
|
|
- }
|
|
|
- fmt.Print(prompt)
|
|
|
- input, err := bufio.NewReader(os.Stdin).ReadString('\n')
|
|
|
- fmt.Println()
|
|
|
- return input, err
|
|
|
-}
|