From d2490d9ce3edf88d95a3dd7d68ae8b69267e652e Mon Sep 17 00:00:00 2001 From: LLFourn Date: Mon, 23 Nov 2020 15:06:13 +1100 Subject: [PATCH] Fix to at least bitcoin ^0.25.2 And fix the fallout. --- Cargo.toml | 2 +- src/descriptor/mod.rs | 8 +++++++- src/descriptor/policy.rs | 5 ++--- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index b9069d2f..b34134fc 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -7,8 +7,8 @@ authors = ["Alekos Filini ", "Riccardo Casatta { { Some(self.clone()) } - Descriptor::Bare(ms) | Descriptor::Sh(ms) + Descriptor::Bare(ms) + if psbt_input.redeem_script.is_some() + && &ms.encode(deriv_ctx) == psbt_input.redeem_script.as_ref().unwrap() => + { + Some(self.clone()) + } + Descriptor::Sh(ms) if psbt_input.redeem_script.is_some() && &ms.encode(deriv_ctx) == psbt_input.redeem_script.as_ref().unwrap() => { diff --git a/src/descriptor/policy.rs b/src/descriptor/policy.rs index a41a650e..a8e22586 100644 --- a/src/descriptor/policy.rs +++ b/src/descriptor/policy.rs @@ -820,9 +820,8 @@ impl ExtractPolicy for Descriptor { | Descriptor::Pkh(pubkey) | Descriptor::Wpkh(pubkey) | Descriptor::ShWpkh(pubkey) => Ok(Some(signature(pubkey, signers, secp))), - Descriptor::Bare(inner) | Descriptor::Sh(inner) => { - Ok(inner.extract_policy(signers, secp)?) - } + Descriptor::Bare(inner) => Ok(inner.extract_policy(signers, secp)?), + Descriptor::Sh(inner) => Ok(inner.extract_policy(signers, secp)?), Descriptor::Wsh(inner) | Descriptor::ShWsh(inner) => { Ok(inner.extract_policy(signers, secp)?) }