@@ -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
17491743 pub 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