Browse Source

distinguish invalid otp from server failure when sending tx

3.2.x
SomberNight 7 years ago
committed by ThomasV
parent
commit
4fea9edd11
  1. 13
      plugins/trustedcoin/kivy.py

13
plugins/trustedcoin/kivy.py

@ -32,7 +32,7 @@ from kivy.clock import Clock
from electrum.i18n import _ from electrum.i18n import _
from electrum.plugins import hook from electrum.plugins import hook
from .trustedcoin import TrustedCoinPlugin, server, KIVY_DISCLAIMER from .trustedcoin import TrustedCoinPlugin, server, KIVY_DISCLAIMER, TrustedCoinException
@ -62,9 +62,14 @@ class Plugin(TrustedCoinPlugin):
def on_otp(self, wallet, tx, otp, on_success, on_failure): def on_otp(self, wallet, tx, otp, on_success, on_failure):
try: try:
wallet.on_otp(tx, otp) wallet.on_otp(tx, otp)
except: except TrustedCoinException as e:
Clock.schedule_once(lambda dt: on_failure(_("Invalid OTP"))) if e.status_code == 400: # invalid OTP
return Clock.schedule_once(lambda dt: on_failure(_('Invalid one-time password.')))
else:
Clock.schedule_once(lambda dt, bound_e=e: on_failure(_('Error') + ':' + str(bound_e)))
except Exception as e:
Clock.schedule_once(lambda dt, bound_e=e: on_failure(_('Error') + ':' + str(bound_e)))
else:
on_success(tx) on_success(tx)
def accept_terms_of_use(self, wizard): def accept_terms_of_use(self, wizard):

Loading…
Cancel
Save