- fix kivy wizard restore-from-seed
- qt seed dialog: disable "next share" if current share is invalid
- fix tests: file paths should not depend on $PWD (working dir)
follow-up b28b3994c7
E | gui.qt.exception_window.Exception_Hook | exception caught by crash reporter
Traceback (most recent call last):
File "...\electrum\electrum\gui\qt\main_window.py", line 670, in new_wallet
self.gui_object.start_new_window(full_path, None)
File "...\electrum\electrum\gui\qt\__init__.py", line 245, in wrapper
return func(self, *args, **kwargs)
File "...\electrum\electrum\gui\qt\__init__.py", line 269, in start_new_window
wallet = self._start_wizard_to_select_or_create_wallet(path)
File "...\electrum\electrum\gui\qt\__init__.py", line 311, in _start_wizard_to_select_or_create_wallet
wizard.run('new')
File "...\electrum\electrum\base_wizard.py", line 115, in run
f(*args, **kwargs)
File "...\electrum\electrum\base_wizard.py", line 153, in new
self.choice_dialog(title=title, message=message, choices=choices, run_next=self.on_wallet_type)
File "...\electrum\electrum\gui\qt\installwizard.py", line 120, in func_wrapper
run_next(*out)
File "...\electrum\electrum\base_wizard.py", line 193, in on_wallet_type
self.run(action)
File "...\electrum\electrum\base_wizard.py", line 115, in run
f(*args, **kwargs)
File "...\electrum\electrum\base_wizard.py", line 201, in choose_multisig
self.multisig_dialog(run_next=on_multisig)
File "...\electrum\electrum\gui\qt\installwizard.py", line 120, in func_wrapper
run_next(*out)
File "...\electrum\electrum\base_wizard.py", line 200, in on_multisig
self.run('choose_keystore')
File "...\electrum\electrum\base_wizard.py", line 115, in run
f(*args, **kwargs)
File "...\electrum\electrum\base_wizard.py", line 225, in choose_keystore
self.choice_dialog(title=title, message=message, choices=choices, run_next=self.run)
File "...\electrum\electrum\gui\qt\installwizard.py", line 120, in func_wrapper
run_next(*out)
File "...\electrum\electrum\base_wizard.py", line 115, in run
f(*args, **kwargs)
File "...\electrum\electrum\base_wizard.py", line 275, in choose_hw_device
self._choose_hw_device(purpose=purpose, storage=storage)
File "...\electrum\electrum\base_wizard.py", line 358, in _choose_hw_device
self.choice_dialog(title=title, message=msg, choices=choices,
File "...\electrum\electrum\gui\qt\installwizard.py", line 120, in func_wrapper
run_next(*out)
File "...\electrum\electrum\base_wizard.py", line 359, in <lambda>
run_next=lambda *args: self.on_device(*args, purpose=purpose, storage=storage))
File "...\electrum\electrum\base_wizard.py", line 394, in on_device
self.derivation_and_script_type_dialog(f)
File "...\electrum\electrum\base_wizard.py", line 441, in derivation_and_script_type_dialog
self.derivation_and_script_type_gui_specific_dialog(
File "...\electrum\electrum\gui\qt\installwizard.py", line 120, in func_wrapper
run_next(*out)
File "...\electrum\electrum\base_wizard.py", line 393, in f
self.run('on_hw_derivation', name, device_info, derivation, script_type)
File "...\electrum\electrum\base_wizard.py", line 115, in run
f(*args, **kwargs)
File "...\electrum\electrum\base_wizard.py", line 490, in on_hw_derivation
self.on_keystore(k)
File "...\electrum\electrum\base_wizard.py", line 592, in on_keystore
self.run('show_xpub_and_add_cosigners', xpub)
File "...\electrum\electrum\base_wizard.py", line 115, in run
f(*args, **kwargs)
File "...\electrum\electrum\base_wizard.py", line 686, in show_xpub_and_add_cosigners
self.show_xpub_dialog(xpub=xpub, run_next=lambda x: self.run('choose_keystore'))
File "...\electrum\electrum\gui\qt\installwizard.py", line 106, in func_wrapper
out = func(*args, **kwargs)
File "...\electrum\electrum\gui\qt\installwizard.py", line 700, in show_xpub_dialog
layout = SeedLayout(xpub, title=msg, icon=False, for_seed_words=False)
File "...\electrum\electrum\gui\qt\seed_dialog.py", line 108, in __init__
self.seed_e = ShowQRTextEdit(config=self.config)
AttributeError: 'SeedLayout' object has no attribute 'config'
Sometimes we want its "remember path" behaviour but it does not make sense to
parent the dialog from main window. When so, caller code no longer needs to
get a reference to a main window.
Also rm last usages of get_parent_main_window().
Wordlist subclasses 'tuple' so it can be transparently used.
'in' and '.index()' are fast.
Use Wordlist in bip39_is_checksum_valid, which makes that faster.
Some people complained that due to merging the two word lists,
it is difficult to restore from a metal backup, as they planned
to rely on the "4 letter prefixes are unique in bip39 word list" property.
So we colour words that are only in old list.
so we don't need pyrcc5, which is not deterministic,
and so we don't need the submodule for the icons
based on electrumsv/electrumsv@bf8802c2eaf0bf75565b5423a95bcb85ec7eb781
* revealer commit
* fix seed font, added license
* fixed strings for translation
* better calibration instructions, fixed position
* removed html from translatable strings, fixed typo
* Added monospace font for codes, cleaned up redundant font formatting
* Monospace font for codes and respective license
* fix redundancies, typos
* inner function to only move forward if no exception
* paint QR qith QT to not depend on PIL
catch exeptions when creating a digital Revealer
* clarity
* Added SourceSans font License
* fix fonts paths, typo
* broke long lines, changed some words for clarity,
removed redundant font license
- separation between Wallet and key management (Keystore)
- simplification of wallet classes
- remove support for multiple accounts in the same wallet
- add support for OP_RETURN to Trezor plugin
- split multi-accounts wallets for backward compatibility