raise an exception on trezor decrypt

This commit is contained in:
ThomasV 2014-09-03 10:45:41 +02:00
parent 65a155401b
commit 449feddaaf
2 changed files with 18 additions and 15 deletions

View File

@ -2000,9 +2000,9 @@ class ElectrumWindow(QMainWindow):
try: try:
decrypted = self.wallet.decrypt_message(str(pubkey_e.text()), str(encrypted_e.toPlainText()), password) decrypted = self.wallet.decrypt_message(str(pubkey_e.text()), str(encrypted_e.toPlainText()), password)
message_e.setText(decrypted) message_e.setText(decrypted)
except Exception as e: except BaseException as e:
traceback.print_exc(file=sys.stdout) traceback.print_exc(file=sys.stdout)
self.show_message(str(e)) self.show_warning(str(e))
def do_encrypt(self, message_e, pubkey_e, encrypted_e): def do_encrypt(self, message_e, pubkey_e, encrypted_e):
@ -2011,10 +2011,9 @@ class ElectrumWindow(QMainWindow):
try: try:
encrypted = bitcoin.encrypt_message(message, str(pubkey_e.text())) encrypted = bitcoin.encrypt_message(message, str(pubkey_e.text()))
encrypted_e.setText(encrypted) encrypted_e.setText(encrypted)
except Exception as e: except BaseException as e:
traceback.print_exc(file=sys.stdout) traceback.print_exc(file=sys.stdout)
self.show_message(str(e)) self.show_warning(str(e))
def encrypt_message(self, address = ''): def encrypt_message(self, address = ''):
@ -2065,6 +2064,9 @@ class ElectrumWindow(QMainWindow):
def show_message(self, msg): def show_message(self, msg):
QMessageBox.information(self, _('Message'), msg, _('OK')) QMessageBox.information(self, _('Message'), msg, _('OK'))
def show_warning(self, msg):
QMessageBox.warning(self, _('Warning'), msg, _('OK'))
def password_dialog(self, msg=None): def password_dialog(self, msg=None):
d = QDialog(self) d = QDialog(self)
d.setModal(1) d.setModal(1)

View File

@ -214,16 +214,17 @@ class TrezorWallet(NewWallet):
pass pass
def decrypt_message(self, pubkey, message, password): def decrypt_message(self, pubkey, message, password):
address = public_key_to_bc_address(pubkey.decode('hex')) raise BaseException( _('Decrypt method is not implemented in Trezor') )
address_path = self.address_id(address) #address = public_key_to_bc_address(pubkey.decode('hex'))
address_n = self.get_client().expand_path(address_path) #address_path = self.address_id(address)
try: #address_n = self.get_client().expand_path(address_path)
decrypted_msg = self.get_client().decrypt_message(address_n, b64decode(message)) #try:
except Exception, e: # decrypted_msg = self.get_client().decrypt_message(address_n, b64decode(message))
give_error(e) #except Exception, e:
finally: # give_error(e)
twd.emit(SIGNAL('trezor_done')) #finally:
return str(decrypted_msg) # twd.emit(SIGNAL('trezor_done'))
#return str(decrypted_msg)
def sign_message(self, address, message, password): def sign_message(self, address, message, password):
if not self.check_proper_device(): if not self.check_proper_device():