electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit 956f69f3d38f54f689f1909367ca6b89da0e5440
parent 8347ad5449e757d96724faee6cad420ec195931c
Author: ThomasV <thomasv@gitorious>
Date:   Fri, 24 Oct 2014 10:53:09 +0200

trezor: raise and catch BaseException in signing

Diffstat:
Mgui/qt/util.py | 2+-
Mplugins/btchipwallet.py | 4+++-
Mplugins/trezor.py | 4+++-
3 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/gui/qt/util.py b/gui/qt/util.py @@ -35,7 +35,7 @@ class WaitingDialog(QThread): self.error = None try: self.result = self.run_task() - except Exception as e: + except BaseException as e: traceback.print_exc(file=sys.stdout) self.error = str(e) self.d.emit(SIGNAL('done')) diff --git a/plugins/btchipwallet.py b/plugins/btchipwallet.py @@ -322,8 +322,10 @@ class BTChipWallet(NewWallet): return b64encode(chr(27 + 4 + (signature[0] & 0x01)) + r + s) def sign_transaction(self, tx, keypairs, password): - if tx.error or tx.is_complete(): + if tx.is_complete(): return + if tx.error: + raise BaseException(tx.error) self.signing = True inputs = [] inputsPaths = [] diff --git a/plugins/trezor.py b/plugins/trezor.py @@ -274,8 +274,10 @@ class TrezorWallet(NewWallet): return str(b64_msg_sig) def sign_transaction(self, tx, keypairs, password): - if tx.error or tx.is_complete(): + if tx.is_complete(): return + if tx.error: + raise BaseException(tx.error) if not self.check_proper_device(): give_error('Wrong device or password')