Skip to content

Commit aec42c7

Browse files
committed
update descriptor struct
1 parent 2d6d50a commit aec42c7

File tree

11 files changed

+259
-602
lines changed

11 files changed

+259
-602
lines changed

examples/htlc.rs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ extern crate miniscript;
1919

2020
use bitcoin::Network;
2121
use miniscript::policy::{Concrete, Liftable};
22-
use miniscript::Descriptor;
2322
use miniscript::NullCtx;
23+
use miniscript::{Descriptor, DescriptorTrait};
2424
use std::str::FromStr;
2525

2626
fn main() {
@@ -32,7 +32,12 @@ fn main() {
3232
expiry = "4444"
3333
)).unwrap();
3434

35-
let htlc_descriptor = Descriptor::Wsh(htlc_policy.compile().unwrap());
35+
let htlc_descriptor = Descriptor::new_wsh(
36+
htlc_policy
37+
.compile()
38+
.expect("Policy compilation only fails on resource limits or mixed timelocks"),
39+
)
40+
.expect("Resource limits");
3641

3742
// Check whether the descriptor is safe
3843
// This checks whether all spend paths are accessible in bitcoin network.
@@ -62,7 +67,7 @@ fn main() {
6267
assert_eq!(
6368
format!(
6469
"{}",
65-
htlc_descriptor.address(Network::Bitcoin, NullCtx).unwrap()
70+
htlc_descriptor.address(NullCtx, Network::Bitcoin).unwrap()
6671
),
6772
"bc1qmpfcw7he9z5d9ftfe8qw699azmm2sr8fen903fs4plv007yx0t3qxfmqv5"
6873
);

examples/parse.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
extern crate bitcoin;
1818
extern crate miniscript;
1919

20-
use miniscript::NullCtx;
20+
use miniscript::{DescriptorTrait, NullCtx};
2121
use std::str::FromStr;
2222

2323
fn main() {

examples/sign_multisig.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ extern crate bitcoin;
1818
extern crate miniscript;
1919

2020
use bitcoin::secp256k1; // secp256k1 re-exported from rust-bitcoin
21-
use miniscript::NullCtx;
21+
use miniscript::{DescriptorTrait, NullCtx};
2222
use std::collections::HashMap;
2323
use std::str::FromStr;
2424

examples/xpub_descriptors.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
extern crate miniscript;
1818

1919
use miniscript::bitcoin::{self, secp256k1};
20-
use miniscript::{Descriptor, DescriptorPublicKey, DescriptorPublicKeyCtx};
20+
use miniscript::{Descriptor, DescriptorPublicKey, DescriptorPublicKeyCtx, DescriptorTrait};
2121

2222
use bitcoin::util::bip32;
2323

@@ -34,13 +34,13 @@ fn main() {
3434
"wsh(sortedmulti(1,xpub661MyMwAqRbcFW31YEwpkMuc5THy2PSt5bDMsktWQcFF8syAmRUapSCGu8ED9W6oDMSgv6Zz8idoc4a6mr8BDzTJY47LJhkJ8UB7WEGuduB,xpub69H7F5d8KSRgmmdJg2KhpAK8SR3DjMwAdkxj3ZuxV27CprR9LgpeyGmXUbC6wb7ERfvrnKZjXoUmmDznezpbZb7ap6r1D3tgFxHmwMkQTPH))",
3535
)
3636
.unwrap()
37-
.address(bitcoin::Network::Bitcoin, desc_ctx).unwrap();
37+
.address(desc_ctx, bitcoin::Network::Bitcoin).unwrap();
3838

3939
let addr_two = Descriptor::<DescriptorPublicKey>::from_str(
4040
"wsh(sortedmulti(1,xpub69H7F5d8KSRgmmdJg2KhpAK8SR3DjMwAdkxj3ZuxV27CprR9LgpeyGmXUbC6wb7ERfvrnKZjXoUmmDznezpbZb7ap6r1D3tgFxHmwMkQTPH,xpub661MyMwAqRbcFW31YEwpkMuc5THy2PSt5bDMsktWQcFF8syAmRUapSCGu8ED9W6oDMSgv6Zz8idoc4a6mr8BDzTJY47LJhkJ8UB7WEGuduB))",
4141
)
4242
.unwrap()
43-
.address(bitcoin::Network::Bitcoin, desc_ctx).unwrap();
43+
.address(desc_ctx, bitcoin::Network::Bitcoin).unwrap();
4444
let expected = bitcoin::Address::from_str(
4545
"bc1qpq2cfgz5lktxzr5zqv7nrzz46hsvq3492ump9pz8rzcl8wqtwqcspx5y6a",
4646
)
@@ -54,14 +54,14 @@ fn main() {
5454
)
5555
.unwrap()
5656
.derive(bitcoin::util::bip32::ChildNumber::from_normal_idx(5).unwrap())
57-
.address(bitcoin::Network::Bitcoin, desc_ctx).unwrap();
57+
.address(desc_ctx, bitcoin::Network::Bitcoin).unwrap();
5858

5959
let addr_two = Descriptor::<DescriptorPublicKey>::from_str(
6060
"sh(wsh(sortedmulti(1,xpub69H7F5d8KSRgmmdJg2KhpAK8SR3DjMwAdkxj3ZuxV27CprR9LgpeyGmXUbC6wb7ERfvrnKZjXoUmmDznezpbZb7ap6r1D3tgFxHmwMkQTPH/0/0/*,xpub661MyMwAqRbcFW31YEwpkMuc5THy2PSt5bDMsktWQcFF8syAmRUapSCGu8ED9W6oDMSgv6Zz8idoc4a6mr8BDzTJY47LJhkJ8UB7WEGuduB/1/0/*)))",
6161
)
6262
.unwrap()
6363
.derive(bitcoin::util::bip32::ChildNumber::from_normal_idx(5).unwrap())
64-
.address(bitcoin::Network::Bitcoin, desc_ctx).unwrap();
64+
.address(desc_ctx, bitcoin::Network::Bitcoin).unwrap();
6565
let expected = bitcoin::Address::from_str("325zcVBN5o2eqqqtGwPjmtDd8dJRyYP82s").unwrap();
6666
assert_eq!(addr_one, expected);
6767
assert_eq!(addr_two, expected);

src/descriptor/bare.rs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -159,10 +159,7 @@ where
159159
Ok((witness, script_sig))
160160
}
161161

162-
fn max_satisfaction_weight<ToPkCtx: Copy>(&self) -> Option<usize>
163-
where
164-
Pk: ToPublicKey<ToPkCtx>,
165-
{
162+
fn max_satisfaction_weight(&self) -> Option<usize> {
166163
let scriptsig_len = self.ms.max_satisfaction_size()?;
167164
Some(4 * (varint_len(scriptsig_len) + scriptsig_len))
168165
}
@@ -340,10 +337,7 @@ where
340337
}
341338
}
342339

343-
fn max_satisfaction_weight<ToPkCtx: Copy>(&self) -> Option<usize>
344-
where
345-
Pk: ToPublicKey<ToPkCtx>,
346-
{
340+
fn max_satisfaction_weight(&self) -> Option<usize> {
347341
Some(4 * (1 + 73 + self.pk.serialized_len()))
348342
}
349343

0 commit comments

Comments
 (0)