mirror of
https://github.com/LBRYFoundation/LBRY-Vault.git
synced 2025-08-28 07:51:27 +00:00
fix #4577
This commit is contained in:
parent
579d48cf0c
commit
a799a00dc5
3 changed files with 21 additions and 6 deletions
|
@ -34,7 +34,7 @@ from .keystore import bip44_derivation, purpose48_derivation
|
|||
from .wallet import Imported_Wallet, Standard_Wallet, Multisig_Wallet, wallet_types, Wallet
|
||||
from .storage import STO_EV_USER_PW, STO_EV_XPUB_PW, get_derivation_used_for_hw_device_encryption
|
||||
from .i18n import _
|
||||
from .util import UserCancelled, InvalidPassword
|
||||
from .util import UserCancelled, InvalidPassword, WalletFileException
|
||||
|
||||
# hardware device setup purpose
|
||||
HWD_SETUP_NEW_WALLET, HWD_SETUP_DECRYPT_WALLET = range(0, 2)
|
||||
|
@ -106,10 +106,20 @@ class BaseWizard(object):
|
|||
self.choice_dialog(title=title, message=message, choices=choices, run_next=self.on_wallet_type)
|
||||
|
||||
def upgrade_storage(self):
|
||||
exc = None
|
||||
def on_finished():
|
||||
self.wallet = Wallet(self.storage)
|
||||
self.terminate()
|
||||
self.waiting_dialog(partial(self.storage.upgrade), _('Upgrading wallet format...'), on_finished=on_finished)
|
||||
if exc is None:
|
||||
self.wallet = Wallet(self.storage)
|
||||
self.terminate()
|
||||
else:
|
||||
raise exc
|
||||
def do_upgrade():
|
||||
nonlocal exc
|
||||
try:
|
||||
self.storage.upgrade()
|
||||
except Exception as e:
|
||||
exc = e
|
||||
self.waiting_dialog(do_upgrade, _('Upgrading wallet format...'), on_finished=on_finished)
|
||||
|
||||
def load_2fa(self):
|
||||
self.storage.put('wallet_type', '2fa')
|
||||
|
|
|
@ -957,7 +957,12 @@ class InstallWizard(BaseWizard, Widget):
|
|||
# on completion hide message
|
||||
Clock.schedule_once(lambda dt: app.info_bubble.hide(now=True), -1)
|
||||
if on_finished:
|
||||
Clock.schedule_once(lambda dt: on_finished(), -1)
|
||||
def protected_on_finished():
|
||||
try:
|
||||
on_finished()
|
||||
except Exception as e:
|
||||
self.show_error(str(e))
|
||||
Clock.schedule_once(lambda dt: protected_on_finished(), -1)
|
||||
|
||||
app = App.get_running_app()
|
||||
app.show_info_bubble(
|
||||
|
|
|
@ -1661,4 +1661,4 @@ class Wallet(object):
|
|||
return Multisig_Wallet
|
||||
if wallet_type in wallet_constructors:
|
||||
return wallet_constructors[wallet_type]
|
||||
raise RuntimeError("Unknown wallet type: " + str(wallet_type))
|
||||
raise WalletFileException("Unknown wallet type: " + str(wallet_type))
|
||||
|
|
Loading…
Add table
Reference in a new issue