]> Untitled Git - bdk/commitdiff
Fix to at least bitcoin ^0.25.2
authorLLFourn <lloyd.fourn@gmail.com>
Mon, 23 Nov 2020 04:06:13 +0000 (15:06 +1100)
committerLLFourn <lloyd.fourn@gmail.com>
Mon, 23 Nov 2020 04:06:13 +0000 (15:06 +1100)
And fix the fallout.

Cargo.toml
src/descriptor/mod.rs
src/descriptor/policy.rs

index b9069d2f3b92685324996fecfcb8afb9bc35576e..b34134fc58d8aaed4dfe177132b4d57dc8a940e3 100644 (file)
@@ -7,8 +7,8 @@ authors = ["Alekos Filini <alekos.filini@gmail.com>", "Riccardo Casatta <riccard
 [dependencies]
 bdk-macros = { version = "0.1.0-beta.1", path = "./macros" }
 log = "^0.4"
-bitcoin = { version = "0.25", features = ["use-serde"] }
 miniscript = { git = "https://github.com/rust-bitcoin/rust-miniscript.git", rev = "ca60da2" }
+bitcoin = { version = "^0.25.2", features = ["use-serde"] }
 serde = { version = "^1.0", features = ["derive"] }
 serde_json = { version = "^1.0" }
 rand = "^0.7"
index 80702431fa3d37ad7dccf2eb1d3fc99e5a3a4880..aa8caf34fb4c6f319d6f06da46656ab5f81e92a6 100644 (file)
@@ -462,7 +462,13 @@ impl DescriptorMeta for Descriptor<DescriptorPublicKey> {
             {
                 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() =>
             {
index a41a650e659ce4e9c3002a1c1891f460c7f942ac..a8e22586b94fa73c03d989b7d2e80346253545c1 100644 (file)
@@ -820,9 +820,8 @@ impl ExtractPolicy for Descriptor<DescriptorPublicKey> {
             | 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)?)
             }