@@ -94,8 +94,6 @@ pub use utils::TxDetails;
9494/// [`take_staged`]: Wallet::take_staged 
9595#[ derive( Debug ) ]  
9696pub  struct  Wallet  { 
97-     signers :  Arc < SignersContainer > , 
98-     change_signers :  Arc < SignersContainer > , 
9997    chain :  LocalChain , 
10098    indexed_graph :  IndexedTxGraph < ConfirmationBlockTime ,  KeychainTxOutIndex < KeychainKind > > , 
10199    stage :  ChangeSet , 
@@ -409,17 +407,14 @@ impl Wallet {
409407        check_wallet_descriptor ( & descriptor) ?; 
410408        descriptor_keymap. extend ( params. descriptor_keymap ) ; 
411409
412-         let  signers = Arc :: new ( SignersContainer :: new ( ) ) ; 
413- 
414-         let  ( change_descriptor,  change_signers)  = match  params. change_descriptor  { 
410+         let  change_descriptor = match  params. change_descriptor  { 
415411            Some ( make_desc)  => { 
416412                let  ( change_descriptor,  mut  internal_keymap)  = make_desc ( & secp,  network) ?; 
417413                check_wallet_descriptor ( & change_descriptor) ?; 
418414                internal_keymap. extend ( params. change_descriptor_keymap ) ; 
419-                 let  change_signers = Arc :: new ( SignersContainer :: new ( ) ) ; 
420-                 ( Some ( change_descriptor) ,  change_signers) 
415+                 Some ( change_descriptor) 
421416            } 
422-             None  => ( None ,   Arc :: new ( SignersContainer :: new ( ) ) ) , 
417+             None  => None , 
423418        } ; 
424419
425420        let  index = create_indexer ( 
@@ -444,8 +439,6 @@ impl Wallet {
444439        } ; 
445440
446441        Ok ( Wallet  { 
447-             signers, 
448-             change_signers, 
449442            network, 
450443            chain, 
451444            indexed_graph, 
@@ -564,7 +557,6 @@ impl Wallet {
564557                } ) ) ; 
565558            } 
566559        } 
567-         let  signers = Arc :: new ( SignersContainer :: new ( ) ) ; 
568560
569561        let  mut  change_descriptor = None ; 
570562        let  mut  internal_keymap = params. change_descriptor_keymap ; 
@@ -617,11 +609,6 @@ impl Wallet {
617609            } , 
618610        } 
619611
620-         let  change_signers = match  change_descriptor { 
621-             Some ( ref  change_descriptor)  => Arc :: new ( SignersContainer :: new ( ) ) , 
622-             None  => Arc :: new ( SignersContainer :: new ( ) ) , 
623-         } ; 
624- 
625612        let  index = create_indexer ( 
626613            descriptor, 
627614            change_descriptor, 
@@ -637,8 +624,6 @@ impl Wallet {
637624        let  stage = ChangeSet :: default ( ) ; 
638625
639626        Ok ( Some ( Wallet  { 
640-             signers, 
641-             change_signers, 
642627            chain, 
643628            indexed_graph, 
644629            stage, 
@@ -1235,13 +1220,22 @@ impl Wallet {
12351220        let  internal_descriptor = keychains. get ( & KeychainKind :: Internal ) ; 
12361221
12371222        let  external_policy = external_descriptor
1238-             . extract_policy ( & self . signers ,  BuildSatisfaction :: None ,  & self . secp ) ?
1223+             . extract_policy ( 
1224+                 & SignersContainer :: default ( ) , 
1225+                 BuildSatisfaction :: None , 
1226+                 & self . secp , 
1227+             ) ?
12391228            . unwrap ( ) ; 
1229+ 
12401230        let  internal_policy = internal_descriptor
12411231            . map ( |desc| { 
12421232                Ok :: < _ ,  CreateTxError > ( 
1243-                     desc. extract_policy ( & self . change_signers ,  BuildSatisfaction :: None ,  & self . secp ) ?
1244-                         . unwrap ( ) , 
1233+                     desc. extract_policy ( 
1234+                         & SignersContainer :: default ( ) , 
1235+                         BuildSatisfaction :: None , 
1236+                         & self . secp , 
1237+                     ) ?
1238+                     . unwrap ( ) , 
12451239                ) 
12461240            } ) 
12471241            . transpose ( ) ?; 
@@ -1747,13 +1741,8 @@ impl Wallet {
17471741
17481742    /// Return the spending policies for the wallet's descriptor 
17491743pub  fn  policies ( & self ,  keychain :  KeychainKind )  -> Result < Option < Policy > ,  DescriptorError >  { 
1750-         let  signers = match  keychain { 
1751-             KeychainKind :: External  => & self . signers , 
1752-             KeychainKind :: Internal  => & self . change_signers , 
1753-         } ; 
1754- 
17551744        self . public_descriptor ( keychain) . extract_policy ( 
1756-             signers , 
1745+             & SignersContainer :: default ( ) , 
17571746            BuildSatisfaction :: None , 
17581747            & self . secp , 
17591748        ) 
0 commit comments