Skip to content

Commit beb9994

Browse files
committed
Extract ReadAezeedFromTerminal into library function
1 parent 532a8c1 commit beb9994

File tree

13 files changed

+85
-67
lines changed

13 files changed

+85
-67
lines changed

cmd/chantools/chanbackup.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ func (c *chanBackupCommand) Execute(_ []string) error {
3030
extendedKey, err = hdkeychain.NewKeyFromString(c.RootKey)
3131

3232
default:
33-
extendedKey, _, err = rootKeyFromConsole()
33+
extendedKey, _, err = lnd.ReadAezeedFromTerminal(chainParams)
3434
}
3535
if err != nil {
3636
return fmt.Errorf("error reading root key: %v", err)

cmd/chantools/derivekey.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ func (c *deriveKeyCommand) Execute(_ []string) error {
2727
extendedKey, err = hdkeychain.NewKeyFromString(c.RootKey)
2828

2929
default:
30-
extendedKey, _, err = rootKeyFromConsole()
30+
extendedKey, _, err = lnd.ReadAezeedFromTerminal(chainParams)
3131
}
3232
if err != nil {
3333
return fmt.Errorf("error reading root key: %v", err)

cmd/chantools/dumpbackup.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ func (c *dumpBackupCommand) Execute(_ []string) error {
3030
extendedKey, err = hdkeychain.NewKeyFromString(c.RootKey)
3131

3232
default:
33-
extendedKey, _, err = rootKeyFromConsole()
33+
extendedKey, _, err = lnd.ReadAezeedFromTerminal(chainParams)
3434
}
3535
if err != nil {
3636
return fmt.Errorf("error reading root key: %v", err)

cmd/chantools/filterbackup.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ func (c *filterBackupCommand) Execute(_ []string) error {
3232
extendedKey, err = hdkeychain.NewKeyFromString(c.RootKey)
3333

3434
default:
35-
extendedKey, _, err = rootKeyFromConsole()
35+
extendedKey, _, err = lnd.ReadAezeedFromTerminal(chainParams)
3636
}
3737
if err != nil {
3838
return fmt.Errorf("error reading root key: %v", err)

cmd/chantools/fixoldbackup.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ func (c *fixOldBackupCommand) Execute(_ []string) error {
3030
extendedKey, err = hdkeychain.NewKeyFromString(c.RootKey)
3131

3232
default:
33-
extendedKey, _, err = rootKeyFromConsole()
33+
extendedKey, _, err = lnd.ReadAezeedFromTerminal(chainParams)
3434
}
3535
if err != nil {
3636
return fmt.Errorf("error reading root key: %v", err)

cmd/chantools/forceclose.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ func (c *forceCloseCommand) Execute(_ []string) error {
3939
extendedKey, err = hdkeychain.NewKeyFromString(c.RootKey)
4040

4141
default:
42-
extendedKey, _, err = rootKeyFromConsole()
42+
extendedKey, _, err = lnd.ReadAezeedFromTerminal(chainParams)
4343
}
4444
if err != nil {
4545
return fmt.Errorf("error reading root key: %v", err)

cmd/chantools/genimportscript.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ func (c *genImportScriptCommand) Execute(_ []string) error {
4444
}
4545

4646
default:
47-
extendedKey, birthday, err = rootKeyFromConsole()
47+
extendedKey, birthday, err = lnd.ReadAezeedFromTerminal(
48+
chainParams,
49+
)
4850
if err != nil {
4951
return fmt.Errorf("error reading root key: %v", err)
5052
}

cmd/chantools/main.go

Lines changed: 0 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,11 @@ import (
1010
"path"
1111
"strings"
1212
"syscall"
13-
"time"
1413

1514
"github.com/btcsuite/btcd/chaincfg"
1615
"github.com/btcsuite/btclog"
17-
"github.com/btcsuite/btcutil/hdkeychain"
1816
"github.com/guggero/chantools/dataformat"
1917
"github.com/jessevdk/go-flags"
20-
"github.com/lightningnetwork/lnd/aezeed"
2118
"github.com/lightningnetwork/lnd/build"
2219
"github.com/lightningnetwork/lnd/chanbackup"
2320
"github.com/lightningnetwork/lnd/channeldb"
@@ -201,59 +198,6 @@ func readInput(input string) ([]byte, error) {
201198
return ioutil.ReadFile(input)
202199
}
203200

204-
func rootKeyFromConsole() (*hdkeychain.ExtendedKey, time.Time, error) {
205-
// We'll now prompt the user to enter in their 24-word mnemonic.
206-
fmt.Printf("Input your 24-word mnemonic separated by spaces: ")
207-
reader := bufio.NewReader(os.Stdin)
208-
mnemonicStr, err := reader.ReadString('\n')
209-
if err != nil {
210-
return nil, time.Unix(0, 0), err
211-
}
212-
213-
// We'll trim off extra spaces, and ensure the mnemonic is all
214-
// lower case, then populate our request.
215-
mnemonicStr = strings.TrimSpace(mnemonicStr)
216-
mnemonicStr = strings.ToLower(mnemonicStr)
217-
218-
cipherSeedMnemonic := strings.Split(mnemonicStr, " ")
219-
220-
fmt.Println()
221-
222-
if len(cipherSeedMnemonic) != 24 {
223-
return nil, time.Unix(0, 0), fmt.Errorf("wrong cipher seed "+
224-
"mnemonic length: got %v words, expecting %v words",
225-
len(cipherSeedMnemonic), 24)
226-
}
227-
228-
// Additionally, the user may have a passphrase, that will also
229-
// need to be provided so the daemon can properly decipher the
230-
// cipher seed.
231-
fmt.Printf("Input your cipher seed passphrase (press enter if " +
232-
"your seed doesn't have a passphrase): ")
233-
passphrase, err := terminal.ReadPassword(int(syscall.Stdin)) // nolint
234-
if err != nil {
235-
return nil, time.Unix(0, 0), err
236-
}
237-
fmt.Println()
238-
239-
var mnemonic aezeed.Mnemonic
240-
copy(mnemonic[:], cipherSeedMnemonic)
241-
242-
// If we're unable to map it back into the ciphertext, then either the
243-
// mnemonic is wrong, or the passphrase is wrong.
244-
cipherSeed, err := mnemonic.ToCipherSeed(passphrase)
245-
if err != nil {
246-
return nil, time.Unix(0, 0), fmt.Errorf("failed to decrypt "+
247-
"seed with passphrase: %v", err)
248-
}
249-
rootKey, err := hdkeychain.NewMaster(cipherSeed.Entropy[:], chainParams)
250-
if err != nil {
251-
return nil, time.Unix(0, 0), fmt.Errorf("failed to derive " +
252-
"master extended key")
253-
}
254-
return rootKey, cipherSeed.BirthdayTime(), nil
255-
}
256-
257201
func passwordFromConsole(userQuery string) ([]byte, error) {
258202
// Read from terminal (if there is one).
259203
if terminal.IsTerminal(int(syscall.Stdin)) { // nolint

cmd/chantools/rescueclosed.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ func (c *rescueClosedCommand) Execute(_ []string) error {
5050
extendedKey, err = hdkeychain.NewKeyFromString(c.RootKey)
5151

5252
default:
53-
extendedKey, _, err = rootKeyFromConsole()
53+
extendedKey, _, err = lnd.ReadAezeedFromTerminal(chainParams)
5454
}
5555
if err != nil {
5656
return fmt.Errorf("error reading root key: %v", err)

cmd/chantools/rescuefunding.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ func (c *rescueFundingCommand) Execute(_ []string) error {
3939
extendedKey, err = hdkeychain.NewKeyFromString(c.RootKey)
4040

4141
default:
42-
extendedKey, _, err = rootKeyFromConsole()
42+
extendedKey, _, err = lnd.ReadAezeedFromTerminal(chainParams)
4343
}
4444
if err != nil {
4545
return fmt.Errorf("error reading root key: %v", err)

0 commit comments

Comments
 (0)