Skip to content

Commit d41948b

Browse files
committed
refactor(wallet)!: remove signers and change_signers
- remove both fields `signers` and `change_signers` from `Wallet`. - all usage of signers for `extract_policy` fns in `create_tx` and `policies` methods now rely on the `SignersContainer::default()`.
1 parent 844c9ed commit d41948b

File tree

1 file changed

+16
-27
lines changed

1 file changed

+16
-27
lines changed

wallet/src/wallet/mod.rs

Lines changed: 16 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,6 @@ pub use utils::TxDetails;
9494
/// [`take_staged`]: Wallet::take_staged
9595
#[derive(Debug)]
9696
pub 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

Comments
 (0)