Describe the bug
Ref BIP039
Duplicate words breaks language detection.
Detection currently assumes unique words in each language set. Suggest changing it to account for duplicates
by considering more than one word in the seed until a single set is selected.
Duplicates:
English/Spanish 'album'
English/Spanish 'area'
English/Spanish 'carbon'
English/Spanish 'crater'
English/Spanish 'dragon'
English/Spanish 'elite'
English/Spanish 'menu'
English/Spanish 'opera'
English/Spanish 'salmon'
English/Spanish 'salon'
English/Spanish 'video'
English/Spanish 'violin'
English/French 'abandon' FIRST WORD
English/French 'amateur'
English/French 'angle'
English/French 'animal'
English/French 'aspect'
English/French 'badge'
English/French 'bicycle'
English/French 'bonus'
English/French 'brave'
English/French 'camera'
English/French 'canal'
English/French 'capable'
English/French 'caution'
English/French 'civil'
English/French 'client'
English/French 'concert'
English/French 'correct'
English/French 'coyote'
English/French 'crucial'
English/French 'cruel'
English/French 'cycle'
English/French 'danger'
English/French 'depart'
English/French 'desert'
English/French 'digital'
English/French 'distance'
English/French 'double'
English/French 'dragon'
English/French 'effort'
English/French 'elegant'
English/French 'elephant'
English/French 'emotion'
English/French 'episode'
English/French 'erosion'
English/French 'essence'
English/French 'evidence'
English/French 'exact'
English/French 'excuse'
English/French 'fatal'
English/French 'fatigue'
English/French 'festival'
English/French 'figure'
English/French 'fortune'
English/French 'fragile'
English/French 'fruit'
English/French 'general'
English/French 'globe'
English/French 'guide'
English/French 'humble'
English/French 'image'
English/French 'immense'
English/French 'impact'
English/French 'innocent'
English/French 'intact'
English/French 'jaguar'
English/French 'junior'
English/French 'label'
English/French 'lecture'
English/French 'legal'
English/French 'loyal'
English/French 'machine'
English/French 'metal'
English/French 'million'
English/French 'minute'
English/French 'miracle'
English/French 'mobile'
English/French 'muscle'
English/French 'museum'
English/French 'nation'
English/French 'nature'
English/French 'noble'
English/French 'notable'
English/French 'ocean'
English/French 'opinion'
English/French 'orange'
English/French 'ozone'
English/French 'palace'
English/French 'panda'
English/French 'pelican'
English/French 'phrase'
English/French 'piano'
English/French 'piece'
English/French 'pizza'
English/French 'position'
English/French 'prison'
English/French 'public'
English/French 'puzzle'
English/French 'question'
English/French 'region'
English/French 'relief'
English/French 'reunion'
English/French 'rival'
English/French 'romance'
English/French 'salon'
English/French 'science'
English/French 'sentence'
English/French 'service'
English/French 'simple'
English/French 'social'
English/French 'source'
English/French 'spatial'
English/French 'special'
English/French 'sphere'
English/French 'stable'
English/French 'surface'
English/French 'surprise'
English/French 'suspect'
English/French 'talent'
English/French 'theme'
English/French 'train'
English/French 'tunnel'
English/French 'unique'
English/French 'usage'
English/French 'vague'
English/French 'valve'
English/French 'veteran'
English/French 'video'
English/French 'village'
English/French 'virus'
English/French 'vital'
English/French 'volume'
English/French 'voyage'
English/French 'wagon'
French/Spanish 'avion'
French/Spanish 'balcon'
French/Spanish 'canon'
French/Spanish 'dragon'
French/Spanish 'indice'
French/Spanish 'jardin'
French/Spanish 'limite'
French/Spanish 'marron'
French/Spanish 'nectar'
French/Spanish 'numero'
French/Spanish 'salon'
French/Spanish 'video'
French/Spanish 'volcan'
French/Italian 'numero'
French/Italian 'veloce'
French/English 'abandon' FIRST WORD
French/English 'amateur'
French/English 'angle'
French/English 'animal'
French/English 'aspect'
French/English 'badge'
French/English 'bicycle'
French/English 'bonus'
French/English 'brave'
French/English 'camera'
French/English 'canal'
French/English 'capable'
French/English 'caution'
French/English 'civil'
French/English 'client'
French/English 'concert'
French/English 'correct'
French/English 'coyote'
French/English 'crucial'
French/English 'cruel'
French/English 'cycle'
French/English 'danger'
French/English 'depart'
French/English 'desert'
French/English 'digital'
French/English 'distance'
French/English 'double'
French/English 'dragon'
French/English 'effort'
French/English 'elegant'
French/English 'elephant'
French/English 'emotion'
French/English 'episode'
French/English 'erosion'
French/English 'essence'
French/English 'evidence'
French/English 'exact'
French/English 'excuse'
French/English 'fatal'
French/English 'fatigue'
French/English 'festival'
French/English 'figure'
French/English 'fortune'
French/English 'fragile'
French/English 'fruit'
French/English 'general'
French/English 'globe'
French/English 'guide'
French/English 'humble'
French/English 'image'
French/English 'immense'
French/English 'impact'
French/English 'innocent'
French/English 'intact'
French/English 'jaguar'
French/English 'junior'
French/English 'label'
French/English 'lecture'
French/English 'legal'
French/English 'loyal'
French/English 'machine'
French/English 'metal'
French/English 'million'
French/English 'minute'
French/English 'miracle'
French/English 'mobile'
French/English 'muscle'
French/English 'museum'
French/English 'nation'
French/English 'nature'
French/English 'noble'
French/English 'notable'
French/English 'ocean'
French/English 'opinion'
French/English 'orange'
French/English 'ozone'
French/English 'palace'
French/English 'panda'
French/English 'pelican'
French/English 'phrase'
French/English 'piano'
French/English 'piece'
French/English 'pizza'
French/English 'position'
French/English 'prison'
French/English 'public'
French/English 'puzzle'
French/English 'question'
French/English 'region'
French/English 'relief'
French/English 'reunion'
French/English 'rival'
French/English 'romance'
French/English 'salon'
French/English 'science'
French/English 'sentence'
French/English 'service'
French/English 'simple'
French/English 'social'
French/English 'source'
French/English 'spatial'
French/English 'special'
French/English 'sphere'
French/English 'stable'
French/English 'surface'
French/English 'surprise'
French/English 'suspect'
French/English 'talent'
French/English 'theme'
French/English 'train'
French/English 'tunnel'
French/English 'unique'
French/English 'usage'
French/English 'vague'
French/English 'valve'
French/English 'veteran'
French/English 'video'
French/English 'village'
French/English 'virus'
French/English 'vital'
French/English 'volume'
French/English 'voyage'
French/English 'wagon'
Italian/Spanish 'abaco' FIRST WORD
Italian/Spanish 'acido'
Italian/Spanish 'ambito'
Italian/Spanish 'arbitro'
Italian/Spanish 'armonia'
Italian/Spanish 'celebre'
Italian/Spanish 'clinica'
Italian/Spanish 'comodo'
Italian/Spanish 'ebano'
Italian/Spanish 'grafico'
Italian/Spanish 'idolo'
Italian/Spanish 'liquido'
Italian/Spanish 'logica'
Italian/Spanish 'metodo'
Italian/Spanish 'musica'
Italian/Spanish 'nitido'
Italian/Spanish 'nomina'
Italian/Spanish 'nucleo'
Italian/Spanish 'numero'
Italian/Spanish 'pagina'
Italian/Spanish 'petalo'
Italian/Spanish 'poesia'
Italian/Spanish 'principe'
Italian/Spanish 'simbolo'
Italian/Spanish 'solido'
Italian/Spanish 'telefono'
Italian/Spanish 'tipico'
Italian/Spanish 'utopia'
Italian/French 'numero'
Italian/French 'veloce'
Spanish/Italian 'abaco' FIRST WORD
Spanish/Italian 'acido'
Spanish/Italian 'ambito'
Spanish/Italian 'arbitro'
Spanish/Italian 'armonia'
Spanish/Italian 'celebre'
Spanish/Italian 'clinica'
Spanish/Italian 'comodo'
Spanish/Italian 'ebano'
Spanish/Italian 'grafico'
Spanish/Italian 'idolo'
Spanish/Italian 'liquido'
Spanish/Italian 'logica'
Spanish/Italian 'metodo'
Spanish/Italian 'musica'
Spanish/Italian 'nitido'
Spanish/Italian 'nomina'
Spanish/Italian 'nucleo'
Spanish/Italian 'numero'
Spanish/Italian 'pagina'
Spanish/Italian 'petalo'
Spanish/Italian 'poesia'
Spanish/Italian 'principe'
Spanish/Italian 'simbolo'
Spanish/Italian 'solido'
Spanish/Italian 'telefono'
Spanish/Italian 'tipico'
Spanish/Italian 'utopia'
Spanish/French 'avion'
Spanish/French 'balcon'
Spanish/French 'canon'
Spanish/French 'dragon'
Spanish/French 'indice'
Spanish/French 'jardin'
Spanish/French 'limite'
Spanish/French 'marron'
Spanish/French 'nectar'
Spanish/French 'numero'
Spanish/French 'salon'
Spanish/French 'video'
Spanish/French 'volcan'
Spanish/English 'album'
Spanish/English 'area'
Spanish/English 'carbon'
Spanish/English 'crater'
Spanish/English 'dragon'
Spanish/English 'elite'
Spanish/English 'menu'
Spanish/English 'opera'
Spanish/English 'salmon'
Spanish/English 'salon'
Spanish/English 'video'
Spanish/English 'violin'
Causes test failure:
---- cipher_seed::test::cipher_seed_to_and_from_mnemonic_with_passphrase stdout ----
thread 'cipher_seed::test::cipher_seed_to_and_from_mnemonic_with_passphrase' panicked at 'Couldn't create CipherSeed from Mnemonic: Mnemonic Error: `Only 2048 words for each language was selected to form Mnemonic word lists`', base_layer/key_manager/src/cipher_seed.rs:369:27
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Describe the bug Ref BIP039 Duplicate words breaks language detection. Detection currently assumes unique words in each language set. Suggest changing it to account for duplicates by considering more than one word in the seed until a single set is selected.
Duplicates:
To Reproduce Steps to reproduce the behavior: Test in https://github.com/tari-project/tari/pull/3569
Expected behavior Language detection always works