This repository was archived by the owner on Nov 15, 2023. It is now read-only.
File tree Expand file tree Collapse file tree 1 file changed +19
-1
lines changed
Expand file tree Collapse file tree 1 file changed +19
-1
lines changed Original file line number Diff line number Diff line change @@ -156,7 +156,7 @@ impl Store {
156156 // TODO: Remove this
157157 pub fn generate_from_seed ( & mut self , seed : & str ) -> Result < Pair > {
158158 let mut s: [ u8 ; 32 ] = [ ' ' as u8 ; 32 ] ;
159-
159+
160160 let was_hex = if seed. len ( ) == 66 && & seed[ 0 ..2 ] == "0x" {
161161 if let Ok ( d) = hex:: decode ( & seed[ 2 ..] ) {
162162 s. copy_from_slice ( & d) ;
@@ -271,4 +271,22 @@ mod tests {
271271
272272 assert_eq ! ( store. contents( ) . unwrap( ) [ 0 ] , key. public( ) ) ;
273273 }
274+
275+ #[ test]
276+ fn test_generate_from_seed ( ) {
277+ let temp_dir = TempDir :: new ( "keystore" ) . unwrap ( ) ;
278+ let mut store = Store :: open ( temp_dir. path ( ) . to_owned ( ) ) . unwrap ( ) ;
279+
280+ let pair = store. generate_from_seed ( "0x1" ) . unwrap ( ) ;
281+ assert_eq ! ( "5GqhgbUd2S9uc5Tm7hWhw29Tw2jBnuHshmTV1fDF4V1w3G2z" , pair. public( ) . to_ss58check( ) ) ;
282+
283+ let pair = store. generate_from_seed ( "0x3d97c819d68f9bafa7d6e79cb991eebcd77d966c5334c0b94d9e1fa7ad0869dc" ) . unwrap ( ) ;
284+ assert_eq ! ( "5DKUrgFqCPV8iAXx9sjy1nyBygQCeiUYRFWurZGhnrn3HBL8" , pair. public( ) . to_ss58check( ) ) ;
285+
286+ let pair = store. generate_from_seed ( "12345678901234567890123456789022" ) . unwrap ( ) ;
287+ assert_eq ! ( "5DscZvfjnM5im7oKRXXP9xtCG1SEwfMb8J5eGLmw5EHhoHR3" , pair. public( ) . to_ss58check( ) ) ;
288+
289+ let pair = store. generate_from_seed ( "1" ) . unwrap ( ) ;
290+ assert_eq ! ( "5DYnksEZFc7kgtfyNM1xK2eBtW142gZ3Ho3NQubrF2S6B2fq" , pair. public( ) . to_ss58check( ) ) ;
291+ }
274292}
You can’t perform that action at this time.
0 commit comments