From f8180c898c1d7e898f7fdc65d74a576e1a2820b2 Mon Sep 17 00:00:00 2001 From: SomberNight Date: Mon, 10 Jun 2024 20:14:22 +0000 Subject: [PATCH] mnemonic: make_seed: add sanity-check When going through the wizard, this case would previously have errored later in the flow. (for '2fa' at least) --- electrum/mnemonic.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/electrum/mnemonic.py b/electrum/mnemonic.py index d12c974ca..91546c2c9 100644 --- a/electrum/mnemonic.py +++ b/electrum/mnemonic.py @@ -230,7 +230,11 @@ class Mnemonic(Logger): continue if is_new_seed(seed, prefix): break - self.logger.info(f'{len(seed.split())} words') + num_words = len(seed.split()) + self.logger.info(f'{num_words} words') + if (final_seed_type := calc_seed_type(seed)) != seed_type: + # note: I guess this can probabilistically happen for old "2fa" seeds that depend on the word count + raise Exception(f"{final_seed_type=!r} does not match requested {seed_type=!r}. have {num_words=!r}") return seed