1
1
import 'dart:convert' ;
2
2
3
3
import 'package:polyseed/polyseed.dart' ;
4
+ import 'package:polyseed/src/mnemonics/es_lang.dart' ;
4
5
import 'package:test/test.dart' ;
5
6
6
7
void main () {
@@ -16,6 +17,8 @@ void main() {
16
17
final expectedBirthday = 1693622412 ;
17
18
final expectedLegacySeed =
18
19
"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" ;
19
22
20
23
test ('Decode and test for correct birthday' , () {
21
24
final seed = Polyseed .decode (expectedSeedString, enLang, coin);
@@ -71,12 +74,36 @@ void main() {
71
74
expect (Polyseed .load (serializedSeed).birthday, seed.birthday);
72
75
});
73
76
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
+ });
80
107
});
81
108
});
82
109
}
0 commit comments