@@ -484,7 +484,9 @@ mod test {
484484 use std:: collections:: HashSet ;
485485 use serde_json:: Value ;
486486 use rand:: { thread_rng, Rng } ;
487- use account:: { Seed , MasterKeyEntropy , MasterAccount } ;
487+ use account:: { Seed , MasterKeyEntropy , MasterAccount , Account , AccountAddressType , Unlocker } ;
488+ use bitcoin:: Address ;
489+ use std:: str:: FromStr ;
488490
489491 const PASSPHRASE : & str = "correct horse battery staple" ;
490492
@@ -500,13 +502,16 @@ mod test {
500502 }
501503
502504 #[ test]
503- pub fn test_encoding ( ) {
504- let m = "duckling enlarge academic academic agency result length solution fridge kidney coal piece deal husband erode duke ajar critical decision keyboard" ;
505- let sss = Share :: from_mnemonic ( m) . unwrap ( ) ;
506- assert_eq ! ( sss. to_mnemonic( ) . as_str( ) , m) ;
507- assert_eq ! ( ShamirSecretSharing :: combine( & [ sss] , Some ( "TREZOR" ) ) . unwrap( ) . 0 , hex:: decode( "bb54aac4b89dc868ba37d9cc21b2cece" ) . unwrap( ) ) ;
508- let m = "duckling enlarge academic academic agency result length solution fridge kidney coal piece deal husband erode duke ajar critical decision kidney" ;
509- assert ! ( Share :: from_mnemonic( m) . is_err( ) ) ;
505+ pub fn reconstruct_account ( ) {
506+ let shares = [
507+ "column upstairs academic acid blue task loyalty dwarf trash election squeeze pipeline pharmacy fiber soldier already gross length acne guest" ,
508+ "column upstairs academic always away perfect dynamic wrote bumpy olympic privacy satisfy fraction educate task twin animal physics bolt cage"
509+ ] . iter ( ) . map ( |s| Share :: from_mnemonic ( s) . unwrap ( ) ) . collect :: < Vec < _ > > ( ) ;
510+ let seed = ShamirSecretSharing :: combine ( & shares[ ..] , None ) . unwrap ( ) ;
511+ let mut master = MasterAccount :: from_seed ( & seed, 0 , Network :: Bitcoin , PASSPHRASE ) . unwrap ( ) ;
512+ let mut unlocker = Unlocker :: new_for_master ( & master, PASSPHRASE ) . unwrap ( ) ;
513+ master. add_account ( Account :: new ( & mut unlocker, AccountAddressType :: P2SHWPKH , 0 , 0 , 10 ) . unwrap ( ) ) ;
514+ assert_eq ! ( master. get_mut( ( 0 , 0 ) ) . unwrap( ) . next_key( ) . unwrap( ) . address, Address :: from_str( "3JKyFZdkKYYgxFT37cPgJDxqNzQQKbbbtj" ) . unwrap( ) ) ;
510515 }
511516
512517 #[ test]
0 commit comments