[wallet] Don't wrap SignersContainer arguments in Arc

This commit is contained in:
Justin Moon
2020-11-17 12:05:32 -06:00
parent fc3b6ad0b9
commit b1b2f2abd6
4 changed files with 35 additions and 41 deletions

View File

@@ -253,14 +253,14 @@ where
) -> Result<(PSBT, TransactionDetails), Error> {
let external_policy = self
.descriptor
.extract_policy(Arc::clone(&self.signers), &self.secp)?
.extract_policy(&self.signers, &self.secp)?
.unwrap();
let internal_policy = self
.change_descriptor
.as_ref()
.map(|desc| {
Ok::<_, Error>(
desc.extract_policy(Arc::clone(&self.change_signers), &self.secp)?
desc.extract_policy(&self.change_signers, &self.secp)?
.unwrap(),
)
})
@@ -827,12 +827,12 @@ where
/// Return the spending policies for the wallet's descriptor
pub fn policies(&self, script_type: ScriptType) -> Result<Option<Policy>, Error> {
match (script_type, self.change_descriptor.as_ref()) {
(ScriptType::External, _) => Ok(self
.descriptor
.extract_policy(Arc::clone(&self.signers), &self.secp)?),
(ScriptType::External, _) => {
Ok(self.descriptor.extract_policy(&self.signers, &self.secp)?)
}
(ScriptType::Internal, None) => Ok(None),
(ScriptType::Internal, Some(desc)) => {
Ok(desc.extract_policy(Arc::clone(&self.change_signers), &self.secp)?)
Ok(desc.extract_policy(&self.change_signers, &self.secp)?)
}
}
}