Skip to content

Commit 511e66b

Browse files
committed
Merge #386: Remove the DescriptorTrait
32a74af Delete the DescriptorTrait (Tobin C. Harding) 52a480d Remove script_code from DescriptorTrait (Tobin C. Harding) c6884fc Remove explicit_script from DescriptorTrait (Tobin C. Harding) 67d7c0e Remove unsigned_script_sig from DescriptorTrait (Tobin C. Harding) e08f833 Remove script_pubkey from DescriptorTrait (Tobin C. Harding) 3d0b112 Remove address from DescriptorTrait (Tobin C. Harding) 4a9e20f Remove sanity_check from DescriptorTrait (Tobin C. Harding) 4980604 Delete the pretaproot module (Tobin C. Harding) 03d4bd6 Remove unnecessary path (Tobin C. Harding) Pull request description: We never abstract over the `DescriptorTrait` so it is questionable if it should exist at all. Removing the `DescriptorTrait` allows us to also delete the `pretaproot` module because all the fallible vs infallible issues disolve. Delete the `DescriptorTrait`, implement the trait methods directly on `Descriptor` (fallible methods). Implement infallible versions of the trait methods on each descriptor as required. Done as individual patches to ease review. Although the work is only really meaningful as a block each patch is discreet enough to merge as is. ACKs for top commit: apoelstra: ACK 32a74af thomaseizinger: ACK 32a74af sanket1729: ACK 32a74af. This is a very good improvement. Tree-SHA512: 7043e11e995ac7d755c1c3014aa31d593961d0fae54cd82e84dfaa93767003291265d3c0e7543a70e56c07f6d2ca64830e285ebbba45c524e604d9acc71017fc
2 parents 104eb55 + 32a74af commit 511e66b

File tree

15 files changed

+541
-1133
lines changed

15 files changed

+541
-1133
lines changed

examples/htlc.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ use std::str::FromStr;
1919
use bitcoin::Network;
2020
use miniscript::descriptor::Wsh;
2121
use miniscript::policy::{Concrete, Liftable};
22-
use miniscript::DescriptorTrait;
2322

2423
fn main() {
2524
// HTLC policy with 10:1 odds for happy (co-operative) case compared to uncooperative case.
@@ -54,7 +53,7 @@ fn main() {
5453

5554
// Get the scriptPpubkey for this Wsh descriptor.
5655
assert_eq!(
57-
format!("{:x}", htlc_descriptor.spk()),
56+
format!("{:x}", htlc_descriptor.script_pubkey()),
5857
"0020d853877af928a8d2a569c9c0ed14bd16f6a80ce9cccaf8a6150fd8f7f8867ae2"
5958
);
6059

@@ -66,7 +65,7 @@ fn main() {
6665

6766
// Get the address for this Wsh descriptor.v
6867
assert_eq!(
69-
format!("{}", htlc_descriptor.address(Network::Bitcoin).unwrap()),
68+
format!("{}", htlc_descriptor.address(Network::Bitcoin)),
7069
"bc1qmpfcw7he9z5d9ftfe8qw699azmm2sr8fen903fs4plv007yx0t3qxfmqv5"
7170
);
7271
}

examples/parse.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
use std::str::FromStr;
1818

1919
use miniscript::descriptor::DescriptorType;
20-
use miniscript::{Descriptor, DescriptorTrait};
20+
use miniscript::Descriptor;
2121

2222
fn main() {
2323
let desc = miniscript::Descriptor::<bitcoin::PublicKey>::from_str(
@@ -44,7 +44,7 @@ fn main() {
4444
// us to call infallible methods for getting script pubkey.
4545
if let Descriptor::Wsh(wsh) = &desc {
4646
assert_eq!(
47-
format!("{:x}", wsh.spk()),
47+
format!("{:x}", wsh.script_pubkey()),
4848
"0020daef16dd7c946a3e735a6e43310cb2ce33dfd14a04f76bf8241a16654cb2f0f9"
4949
);
5050
}

examples/sign_multisig.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ use std::str::FromStr;
1919

2020
use bitcoin::blockdata::witness::Witness;
2121
use bitcoin::secp256k1;
22-
use miniscript::DescriptorTrait;
2322

2423
fn main() {
2524
let mut tx = spending_transaction();

examples/xpub_descriptors.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ use std::str::FromStr;
1818

1919
use miniscript::bitcoin::secp256k1::{Secp256k1, Verification};
2020
use miniscript::bitcoin::{Address, Network};
21-
use miniscript::{Descriptor, DescriptorPublicKey, DescriptorTrait, TranslatePk2};
21+
use miniscript::{Descriptor, DescriptorPublicKey, TranslatePk2};
2222

2323
const XPUB_1: &str = "xpub661MyMwAqRbcFW31YEwpkMuc5THy2PSt5bDMsktWQcFF8syAmRUapSCGu8ED9W6oDMSgv6Zz8idoc4a6mr8BDzTJY47LJhkJ8UB7WEGuduB";
2424
const XPUB_2: &str = "xpub69H7F5d8KSRgmmdJg2KhpAK8SR3DjMwAdkxj3ZuxV27CprR9LgpeyGmXUbC6wb7ERfvrnKZjXoUmmDznezpbZb7ap6r1D3tgFxHmwMkQTPH";

integration_test/src/test_cpp.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ use miniscript::miniscript::iter;
1313
use miniscript::psbt::PsbtExt;
1414
use miniscript::MiniscriptKey;
1515
use miniscript::Segwitv0;
16-
use miniscript::{Descriptor, DescriptorTrait, Miniscript};
16+
use miniscript::{Descriptor, Miniscript};
1717
use std::collections::BTreeMap;
1818
use std::fs::File;
1919
use std::io::{self, BufRead};

integration_test/src/test_desc.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ use bitcoin::util::{psbt, sighash};
1313
use bitcoin::{self, Amount, OutPoint, SchnorrSig, Script, Transaction, TxIn, TxOut, Txid};
1414
use bitcoincore_rpc::{json, Client, RpcApi};
1515
use miniscript::miniscript::iter;
16-
use miniscript::psbt::{PsbtInputExt, PsbtExt};
17-
use miniscript::{Descriptor, DescriptorTrait, Miniscript, ToPublicKey};
16+
use miniscript::psbt::{PsbtExt, PsbtInputExt};
17+
use miniscript::{Descriptor, Miniscript, ToPublicKey};
1818
use miniscript::{MiniscriptKey, ScriptContext};
1919
use std::collections::BTreeMap;
2020

0 commit comments

Comments
 (0)