deseed command
This commit is contained in:
16
electrum
16
electrum
@@ -24,8 +24,8 @@ from decimal import Decimal
|
|||||||
|
|
||||||
from electrum import Wallet, SecretToASecret, WalletSynchronizer, format_satoshis
|
from electrum import Wallet, SecretToASecret, WalletSynchronizer, format_satoshis
|
||||||
|
|
||||||
known_commands = ['help', 'validateaddress', 'balance', 'contacts', 'create', 'restore', 'payto', 'sendtx', 'password', 'addresses', 'history', 'label', 'mktx','seed','import','signmessage','verifymessage','eval']
|
known_commands = ['help', 'validateaddress', 'balance', 'contacts', 'create', 'restore', 'payto', 'sendtx', 'password', 'addresses', 'history', 'label', 'mktx','seed','import','signmessage','verifymessage','eval','deseed']
|
||||||
offline_commands = ['password', 'mktx', 'history', 'label', 'contacts', 'help', 'validateaddress', 'signmessage', 'verifymessage', 'eval', 'create', 'addresses', 'import', 'seed']
|
offline_commands = ['password', 'mktx', 'history', 'label', 'contacts', 'help', 'validateaddress', 'signmessage', 'verifymessage', 'eval', 'create', 'addresses', 'import', 'seed','deseed']
|
||||||
protected_commands = ['payto', 'password', 'mktx', 'seed', 'import','signmessage' ]
|
protected_commands = ['payto', 'password', 'mktx', 'seed', 'import','signmessage' ]
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
@@ -237,6 +237,8 @@ if __name__ == '__main__':
|
|||||||
print "options: --fee, --fromaddr, --changeaddr"
|
print "options: --fee, --fromaddr, --changeaddr"
|
||||||
elif cmd2 == 'seed':
|
elif cmd2 == 'seed':
|
||||||
print "show generation seed of your wallet. password protected."
|
print "show generation seed of your wallet. password protected."
|
||||||
|
elif cmd2 == 'deseed':
|
||||||
|
print "remove the seed of your wallet."
|
||||||
elif cmd2 == 'eval':
|
elif cmd2 == 'eval':
|
||||||
print "Run python eval() on an object\nSyntax: eval <expression>\nExample: eval \"wallet.aliases\""
|
print "Run python eval() on an object\nSyntax: eval <expression>\nExample: eval \"wallet.aliases\""
|
||||||
|
|
||||||
@@ -245,6 +247,16 @@ if __name__ == '__main__':
|
|||||||
seed = wallet.pw_decode( wallet.seed, password)
|
seed = wallet.pw_decode( wallet.seed, password)
|
||||||
print seed, '"'+' '.join(mnemonic.mn_encode(seed))+'"'
|
print seed, '"'+' '.join(mnemonic.mn_encode(seed))+'"'
|
||||||
|
|
||||||
|
elif cmd == 'deseed':
|
||||||
|
print "Warning: you are going to remove the seed from this wallet, which will forbid to send coins.\nPlease make sure that you have saved the seed elsewhere."
|
||||||
|
if raw_input("Are you sure you want to continue? (y/n) ") in ['y','Y','yes']:
|
||||||
|
wallet.seed = ''
|
||||||
|
wallet.use_encryption = False
|
||||||
|
wallet.save()
|
||||||
|
print "Done."
|
||||||
|
else:
|
||||||
|
print "Action canceled."
|
||||||
|
|
||||||
elif cmd == 'validateaddress':
|
elif cmd == 'validateaddress':
|
||||||
addr = args[1]
|
addr = args[1]
|
||||||
print wallet.is_valid(addr)
|
print wallet.is_valid(addr)
|
||||||
|
|||||||
@@ -60,6 +60,9 @@ def numbify(entry, is_int = False):
|
|||||||
|
|
||||||
def show_seed_dialog(wallet, password, parent):
|
def show_seed_dialog(wallet, password, parent):
|
||||||
from electrum import mnemonic
|
from electrum import mnemonic
|
||||||
|
if not wallet.seed:
|
||||||
|
show_message("No seed")
|
||||||
|
return
|
||||||
try:
|
try:
|
||||||
seed = wallet.pw_decode( wallet.seed, password)
|
seed = wallet.pw_decode( wallet.seed, password)
|
||||||
except:
|
except:
|
||||||
@@ -483,6 +486,10 @@ def password_dialog(parent):
|
|||||||
if result != gtk.RESPONSE_CANCEL: return pw
|
if result != gtk.RESPONSE_CANCEL: return pw
|
||||||
|
|
||||||
def change_password_dialog(wallet, parent, icon):
|
def change_password_dialog(wallet, parent, icon):
|
||||||
|
if not wallet.seed:
|
||||||
|
show_message("No seed")
|
||||||
|
return
|
||||||
|
|
||||||
if parent:
|
if parent:
|
||||||
msg = 'Your wallet is encrypted. Use this dialog to change the password. To disable wallet encryption, enter an empty new password.' if wallet.use_encryption else 'Your wallet keys are not encrypted'
|
msg = 'Your wallet is encrypted. Use this dialog to change the password. To disable wallet encryption, enter an empty new password.' if wallet.use_encryption else 'Your wallet keys are not encrypted'
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -695,6 +695,11 @@ class ElectrumWindow(QMainWindow):
|
|||||||
@staticmethod
|
@staticmethod
|
||||||
def show_seed_dialog(wallet, parent=None):
|
def show_seed_dialog(wallet, parent=None):
|
||||||
from electrum import mnemonic
|
from electrum import mnemonic
|
||||||
|
|
||||||
|
if not wallet.seed:
|
||||||
|
QMessageBox.information(parent, 'Message', 'No seed', 'OK')
|
||||||
|
return
|
||||||
|
|
||||||
if wallet.use_encryption:
|
if wallet.use_encryption:
|
||||||
password = parent.password_dialog()
|
password = parent.password_dialog()
|
||||||
if not password: return
|
if not password: return
|
||||||
@@ -852,6 +857,11 @@ class ElectrumWindow(QMainWindow):
|
|||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
def change_password_dialog( wallet, parent=None ):
|
def change_password_dialog( wallet, parent=None ):
|
||||||
|
|
||||||
|
if not wallet.seed:
|
||||||
|
QMessageBox.information(parent, 'Message', 'No seed', 'OK')
|
||||||
|
return
|
||||||
|
|
||||||
d = QDialog(parent)
|
d = QDialog(parent)
|
||||||
d.setModal(1)
|
d.setModal(1)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user