1
0

Merge pull request #3683 from SomberNight/wizard_scriptnotsupported

wizard: allow to choose derivation again if script type is not supported
This commit is contained in:
ThomasV
2018-01-11 16:45:55 +01:00
committed by GitHub
3 changed files with 20 additions and 3 deletions

View File

@@ -31,6 +31,9 @@ from .wallet import Imported_Wallet, Standard_Wallet, Multisig_Wallet, wallet_ty
from .i18n import _
class ScriptTypeNotSupported(Exception): pass
class BaseWizard(object):
def __init__(self, config, storage):
@@ -242,9 +245,15 @@ class BaseWizard(object):
('p2sh-segwit BIP49', bip44_derivation(0, bip43_purpose=49)),
('native-segwit BIP84', bip44_derivation(0, bip43_purpose=84)),
)
self.line_dialog(run_next=f, title=_('Derivation'), message=message,
default=default, test=bitcoin.is_bip32_derivation,
presets=presets)
while True:
try:
self.line_dialog(run_next=f, title=_('Derivation'), message=message,
default=default, test=bitcoin.is_bip32_derivation,
presets=presets)
return
except ScriptTypeNotSupported as e:
self.show_error(e)
# let the user choose again
def on_hw_derivation(self, name, device_info, derivation):
from .keystore import hardware_keystore
@@ -254,6 +263,8 @@ class BaseWizard(object):
return
try:
xpub = self.plugin.get_xpub(device_info.device.id_, derivation, xtype, self)
except ScriptTypeNotSupported:
raise # this is handled in derivation_dialog
except BaseException as e:
self.show_error(e)
return