Browse Source

Merge #437: Abort wallet generation if mnemonic extension choosen but not provided

e6c0575 Abort wallet generation if mnemonic extension choosen but not provided (Kristaps Kaupe)

Tree-SHA512: 4830654fabafc98c91a8031672a3df99128a48e58321338a9dbcf951d9c1f8cfe9ab914c38d6111f65cf4ef4658971e5be9bb78662ffc7e87e0ede50ad8bd8d7
master
chris-belcher 6 years ago
parent
commit
27c2cd6a4a
No known key found for this signature in database
GPG Key ID: EF734EA677F31129
  1. 14
      jmclient/jmclient/wallet_utils.py
  2. 10
      scripts/joinmarket-qt.py

14
jmclient/jmclient/wallet_utils.py

@ -489,12 +489,16 @@ def cli_user_mnemonic_entry():
mnemonic_extension = None
return (mnemonic_phrase, mnemonic_extension)
def cli_get_mnemonic_extension():
def cli_do_use_mnemonic_extension():
uin = input("Would you like to use a two-factor mnemonic recovery "
"phrase? write 'n' if you don't know what this is (y/n): ")
if len(uin) == 0 or uin[0] != 'y':
jmprint("Not using mnemonic extension", "info")
return None #no mnemonic extension
return False #no mnemonic extension
else:
return True
def cli_get_mnemonic_extension():
jmprint("Note: This will be stored in a reversible way. Do not reuse!",
"info")
return input("Enter mnemonic extension: ")
@ -506,6 +510,7 @@ def wallet_generate_recover_bip39(method, walletspath, default_wallet_name,
cli_user_mnemonic_entry,
cli_get_wallet_passphrase_check,
cli_get_wallet_file_name,
cli_do_use_mnemonic_extension,
cli_get_mnemonic_extension)):
"""Optionally provide callbacks:
0 - display seed
@ -518,7 +523,10 @@ def wallet_generate_recover_bip39(method, walletspath, default_wallet_name,
entropy = None
mnemonic_extension = None
if method == "generate":
mnemonic_extension = callbacks[4]()
if callbacks[4]():
mnemonic_extension = callbacks[5]()
if not mnemonic_extension:
return False
elif method == 'recover':
words, mnemonic_extension = callbacks[1]()
mnemonic_extension = mnemonic_extension and mnemonic_extension.strip()

10
scripts/joinmarket-qt.py

@ -1677,12 +1677,13 @@ class JMMainWindow(QMainWindow):
mb.setStandardButtons(QMessageBox.Ok)
ret = mb.exec_()
def promptMnemonicExtension(self):
def promptUseMnemonicExtension(self):
msg = "Would you like to use a two-factor mnemonic recovery phrase?\nIf you don\'t know what this is press No."
reply = QMessageBox.question(self, 'Use mnemonic extension?',
msg, QMessageBox.Yes, QMessageBox.No)
if reply == QMessageBox.No:
return None
return reply == QMessageBox.Yes
def promptInputMnemonicExtension(self):
mnemonic_extension, ok = QInputDialog.getText(self,
'Input Mnemonic Extension',
'Enter mnemonic Extension:',
@ -1704,7 +1705,8 @@ class JMMainWindow(QMainWindow):
None,
self.getPassword,
self.getWalletFileName,
self.promptMnemonicExtension))
self.promptUseMnemonicExtension,
self.promptInputMnemonicExtension))
if not success:
JMQtMessageBox(self, "Failed to create new wallet file.",
title="Error", mbtype="warn")

Loading…
Cancel
Save