From d56dba80392bd5e7d679ab9483b2cbfd50d4c506 Mon Sep 17 00:00:00 2001 From: SomberNight Date: Tue, 6 Feb 2018 19:10:56 +0100 Subject: [PATCH] watch-only wallets can't sign or decrypt messages --- gui/qt/main_window.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gui/qt/main_window.py b/gui/qt/main_window.py index 0675929e3..e4f5085a7 100644 --- a/gui/qt/main_window.py +++ b/gui/qt/main_window.py @@ -2119,6 +2119,9 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): if not bitcoin.is_address(address): self.show_message(_('Invalid Bitcoin address.')) return + if self.wallet.is_watching_only(): + self.show_message(_('This is a watching-only wallet.')) + return if not self.wallet.is_mine(address): self.show_message(_('Address not in wallet.')) return @@ -2189,6 +2192,9 @@ class ElectrumWindow(QMainWindow, MessageBoxMixin, PrintError): @protected def do_decrypt(self, message_e, pubkey_e, encrypted_e, password): + if self.wallet.is_watching_only(): + self.show_message(_('This is a watching-only wallet.')) + return cyphertext = encrypted_e.toPlainText() task = partial(self.wallet.decrypt_message, pubkey_e.text(), cyphertext, password) self.wallet.thread.add(task, on_success=lambda text: message_e.setText(text.decode('utf-8')))