11import 'dart:convert' ;
22
33import 'package:polyseed/polyseed.dart' ;
4+ import 'package:polyseed/src/mnemonics/es_lang.dart' ;
45import 'package:test/test.dart' ;
56
67void main () {
@@ -16,6 +17,8 @@ void main() {
1617 final expectedBirthday = 1693622412 ;
1718 final expectedLegacySeed =
1819 "avidly chlorine gave yeti ramped certain hybrid comb governing amply hinder pamphlet offend geometry narrate unopened robot epoxy annoyed glide ingested ascend were austere unopened" ;
20+ final expectedLegacySeedEs =
21+ "apoyo bestia desnudo revés meter beso este bonsái duelo algodón engaño llaga lámina diamante imperio pobre mortal cochino altar diva fábrica ángulo recurso aplicar algodón" ;
1922
2023 test ('Decode and test for correct birthday' , () {
2124 final seed = Polyseed .decode (expectedSeedString, enLang, coin);
@@ -71,12 +74,36 @@ void main() {
7174 expect (Polyseed .load (serializedSeed).birthday, seed.birthday);
7275 });
7376
74- test ('Generate a 25 Word LegacySeed from a Seed' , () {
75- final seed = Polyseed .decode (expectedSeedString, enLang, coin);
76- final keyBytes = seed.generateKey (coin, 32 );
77- final legacySeed = LegacySeedLang .getByName ("English" )
78- .encodePhrase (keyBytes.toHexString ());
79- expect (legacySeed, expectedLegacySeed);
77+ group ('Convert to Legacy Seed' , () {
78+ test ('Generate a 25 Word english LegacySeed from a Seed' , () {
79+ final seed = Polyseed .decode (expectedSeedString, enLang, coin);
80+ final keyBytes = seed.generateKey (coin, 32 );
81+ final legacySeed = LegacySeedLang .getByName ("English" )
82+ .encodePhrase (keyBytes.toHexString ());
83+ expect (legacySeed, expectedLegacySeed);
84+ });
85+
86+ test ('Generate a 25 Word spanish LegacySeed from a Seed' , () {
87+ final seed = Polyseed .decode (expectedSeedString, enLang, coin);
88+ final keyBytes = seed.generateKey (coin, 32 );
89+ final legacySeed = LegacySeedLang .getByEnglishName ("Spanish" )
90+ .encodePhrase (keyBytes.toHexString ());
91+ expect (legacySeed, expectedLegacySeedEs);
92+ });
93+
94+ test (
95+ 'EdgeCase: Generate a 25 Word Spanish LegacySeed from a Seed with words smaller than the prefix length of the word list' ,
96+ () {
97+ final seed = Polyseed .decode (
98+ "remedio foca sujeto veneno bello humilde surco crear típico chacal célula empate moreno varón verde masa" ,
99+ esLang,
100+ coin);
101+ final keyBytes = seed.generateKey (coin, 32 );
102+ final legacySeed = LegacySeedLang .getByEnglishName ("Spanish" )
103+ .encodePhrase (keyBytes.toHexString ());
104+ expect (legacySeed,
105+ "remedio haz ébano lobo orden celda pezuña regreso ardilla estar acelga fallo punto nación hada quitar ancla obeso piedra pausa helio fuente joroba pista quitar" );
106+ });
80107 });
81108 });
82109}
0 commit comments