1
0

qt, qml: allow BIP39 seeds which fail checksum or wordlist (fixes #8720)

removes verifySeed from qebitcoin as this code was 99% duplicate of wizard.validate_seed
This commit is contained in:
Sander van Grieken
2023-12-06 16:12:57 +01:00
parent 1cc1926263
commit b87d091a6d
5 changed files with 46 additions and 79 deletions

View File

@@ -478,12 +478,13 @@ class NewWalletWizard(AbstractWizard):
seed_valid = True
elif seed_variant == 'bip39':
is_checksum, is_wordlist = keystore.bip39_is_checksum_valid(seed)
status = ('checksum: ' + ('ok' if is_checksum else 'failed')) if is_wordlist else 'unknown wordlist'
validation_message = 'BIP39 (%s)' % status
if is_checksum:
seed_type = 'bip39'
seed_valid = True
validation_message = ('' if is_checksum else _('BIP39 checksum failed')) if is_wordlist else _('Unknown BIP39 wordlist')
if not bool(seed):
validation_message = ''
seed_type = 'bip39'
# bip39 always valid, even if checksum failed, see #8720
# however, reject empty string
seed_valid = bool(seed)
elif seed_variant == 'slip39':
# seed shares should be already validated by wizard page, we have a combined encrypted seed
if seed and isinstance(seed, EncryptedSeed):