@@ -94,8 +94,6 @@ pub use utils::TxDetails;
94
94
/// [`take_staged`]: Wallet::take_staged
95
95
#[ derive( Debug ) ]
96
96
pub struct Wallet {
97
- signers : Arc < SignersContainer > ,
98
- change_signers : Arc < SignersContainer > ,
99
97
chain : LocalChain ,
100
98
indexed_graph : IndexedTxGraph < ConfirmationBlockTime , KeychainTxOutIndex < KeychainKind > > ,
101
99
stage : ChangeSet ,
@@ -409,17 +407,14 @@ impl Wallet {
409
407
check_wallet_descriptor ( & descriptor) ?;
410
408
descriptor_keymap. extend ( params. descriptor_keymap ) ;
411
409
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 {
415
411
Some ( make_desc) => {
416
412
let ( change_descriptor, mut internal_keymap) = make_desc ( & secp, network) ?;
417
413
check_wallet_descriptor ( & change_descriptor) ?;
418
414
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)
421
416
}
422
- None => ( None , Arc :: new ( SignersContainer :: new ( ) ) ) ,
417
+ None => None ,
423
418
} ;
424
419
425
420
let index = create_indexer (
@@ -444,8 +439,6 @@ impl Wallet {
444
439
} ;
445
440
446
441
Ok ( Wallet {
447
- signers,
448
- change_signers,
449
442
network,
450
443
chain,
451
444
indexed_graph,
@@ -564,7 +557,6 @@ impl Wallet {
564
557
} ) ) ;
565
558
}
566
559
}
567
- let signers = Arc :: new ( SignersContainer :: new ( ) ) ;
568
560
569
561
let mut change_descriptor = None ;
570
562
let mut internal_keymap = params. change_descriptor_keymap ;
@@ -617,11 +609,6 @@ impl Wallet {
617
609
} ,
618
610
}
619
611
620
- let change_signers = match change_descriptor {
621
- Some ( ref change_descriptor) => Arc :: new ( SignersContainer :: new ( ) ) ,
622
- None => Arc :: new ( SignersContainer :: new ( ) ) ,
623
- } ;
624
-
625
612
let index = create_indexer (
626
613
descriptor,
627
614
change_descriptor,
@@ -637,8 +624,6 @@ impl Wallet {
637
624
let stage = ChangeSet :: default ( ) ;
638
625
639
626
Ok ( Some ( Wallet {
640
- signers,
641
- change_signers,
642
627
chain,
643
628
indexed_graph,
644
629
stage,
@@ -1235,13 +1220,22 @@ impl Wallet {
1235
1220
let internal_descriptor = keychains. get ( & KeychainKind :: Internal ) ;
1236
1221
1237
1222
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
+ ) ?
1239
1228
. unwrap ( ) ;
1229
+
1240
1230
let internal_policy = internal_descriptor
1241
1231
. map ( |desc| {
1242
1232
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 ( ) ,
1245
1239
)
1246
1240
} )
1247
1241
. transpose ( ) ?;
@@ -1747,13 +1741,8 @@ impl Wallet {
1747
1741
1748
1742
/// Return the spending policies for the wallet's descriptor
1749
1743
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
-
1755
1744
self . public_descriptor ( keychain) . extract_policy (
1756
- signers ,
1745
+ & SignersContainer :: default ( ) ,
1757
1746
BuildSatisfaction :: None ,
1758
1747
& self . secp ,
1759
1748
)
0 commit comments