Skip to content

Commit a246755

Browse files
committed
cargo test works
1 parent e3b3ecc commit a246755

File tree

7 files changed

+103
-92
lines changed

7 files changed

+103
-92
lines changed

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ license = "MIT OR Apache-2.0"
1414
[dependencies]
1515
bdk-macros = "^0.6"
1616
log = "^0.4"
17-
miniscript = { git = "https://github.com/afilini/rust-miniscript.git", rev = "9f6316512cbc593a7f893816418c764df9a24129", features = ["serde"] }
17+
miniscript = { git = "https://github.com/afilini/rust-miniscript.git", rev = "9a57e00aef86746d727e98a80372c9579f95c4d9", features = ["serde"] }
1818
bitcoin = { version = "0.29.1", features = ["serde", "base64", "rand"] }
1919
serde = { version = "^1.0", features = ["derive"] }
2020
serde_json = { version = "^1.0" }

src/descriptor/dsl.rs

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -700,10 +700,10 @@ macro_rules! fragment {
700700
$crate::keys::make_pkh($key, &secp)
701701
});
702702
( after ( $value:expr ) ) => ({
703-
$crate::impl_leaf_opcode_value!(After, $value)
703+
$crate::impl_leaf_opcode_value!(After, $crate::bitcoin::PackedLockTime($value)) // TODO!! https://github.com/rust-bitcoin/rust-bitcoin/issues/1302
704704
});
705705
( older ( $value:expr ) ) => ({
706-
$crate::impl_leaf_opcode_value!(Older, $value)
706+
$crate::impl_leaf_opcode_value!(Older, $crate::bitcoin::Sequence($value)) // TODO!!
707707
});
708708
( sha256 ( $hash:expr ) ) => ({
709709
$crate::impl_leaf_opcode_value!(Sha256, $hash)
@@ -795,7 +795,7 @@ macro_rules! fragment {
795795
mod test {
796796
use bitcoin::hashes::hex::ToHex;
797797
use bitcoin::secp256k1::Secp256k1;
798-
use miniscript::descriptor::{DescriptorPublicKey, DescriptorTrait, KeyMap};
798+
use miniscript::descriptor::{DescriptorPublicKey, KeyMap};
799799
use miniscript::{Descriptor, Legacy, Segwitv0};
800800

801801
use std::str::FromStr;
@@ -806,8 +806,6 @@ mod test {
806806
use bitcoin::util::bip32;
807807
use bitcoin::PrivateKey;
808808

809-
use crate::descriptor::derived::AsDerived;
810-
811809
// test the descriptor!() macro
812810

813811
// verify descriptor generates expected script(s) (if bare or pk) or address(es)
@@ -817,17 +815,15 @@ mod test {
817815
is_fixed: bool,
818816
expected: &[&str],
819817
) {
820-
let secp = Secp256k1::new();
821-
822818
let (desc, _key_map, _networks) = desc.unwrap();
823819
assert_eq!(desc.is_witness(), is_witness);
824-
assert_eq!(!desc.is_deriveable(), is_fixed);
820+
assert_eq!(!desc.has_wildcard(), is_fixed);
825821
for i in 0..expected.len() {
826822
let index = i as u32;
827-
let child_desc = if !desc.is_deriveable() {
828-
desc.as_derived_fixed(&secp)
823+
let child_desc = if !desc.has_wildcard() {
824+
desc.at_derivation_index(0)
829825
} else {
830-
desc.as_derived(index, &secp)
826+
desc.at_derivation_index(index)
831827
};
832828
let address = child_desc.address(Regtest);
833829
if let Ok(address) = address {

src/descriptor/mod.rs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -906,6 +906,8 @@ mod test {
906906

907907
#[test]
908908
fn test_sh_wsh_sortedmulti_redeemscript() {
909+
use miniscript::psbt::PsbtInputExt;
910+
909911
let secp = Secp256k1::new();
910912

911913
let descriptor = "sh(wsh(sortedmulti(3,tpubDEsqS36T4DVsKJd9UH8pAKzrkGBYPLEt9jZMwpKtzh1G6mgYehfHt9WCgk7MJG5QGSFWf176KaBNoXbcuFcuadAFKxDpUdMDKGBha7bY3QM/0/*,tpubDF3cpwfs7fMvXXuoQbohXtLjNM6ehwYT287LWtmLsd4r77YLg6MZg4vTETx5MSJ2zkfigbYWu31VA2Z2Vc1cZugCYXgS7FQu6pE8V6TriEH/0/*,tpubDE1SKfcW76Tb2AASv5bQWMuScYNAdoqLHoexw13sNDXwmUhQDBbCD3QAedKGLhxMrWQdMDKENzYtnXPDRvexQPNuDrLj52wAjHhNEm8sJ4p/0/*,tpubDFLc6oXwJmhm3FGGzXkfJNTh2KitoY3WhmmQvuAjMhD8YbyWn5mAqckbxXfm2etM3p5J6JoTpSrMqRSTfMLtNW46poDaEZJ1kjd3csRSjwH/0/*,tpubDEWD9NBeWP59xXmdqSNt4VYdtTGwbpyP8WS962BuqpQeMZmX9Pur14dhXdZT5a7wR1pK6dPtZ9fP5WR493hPzemnBvkfLLYxnUjAKj1JCQV/0/*,tpubDEHyZkkwd7gZWCTgQuYQ9C4myF2hMEmyHsBCCmLssGqoqUxeT3gzohF5uEVURkf9TtmeepJgkSUmteac38FwZqirjApzNX59XSHLcwaTZCH/0/*,tpubDEqLouCekwnMUWN486kxGzD44qVgeyuqHyxUypNEiQt5RnUZNJe386TKPK99fqRV1vRkZjYAjtXGTECz98MCsdLcnkM67U6KdYRzVubeCgZ/0/*)))";
@@ -917,7 +919,9 @@ mod test {
917919
let script = Script::from_str("5321022f533b667e2ea3b36e21961c9fe9dca340fbe0af5210173a83ae0337ab20a57621026bb53a98e810bd0ee61a0ed1164ba6c024786d76554e793e202dc6ce9c78c4ea2102d5b8a7d66a41ffdb6f4c53d61994022e886b4f45001fb158b95c9164d45f8ca3210324b75eead2c1f9c60e8adeb5e7009fec7a29afcdb30d829d82d09562fe8bae8521032d34f8932200833487bd294aa219dcbe000b9f9b3d824799541430009f0fa55121037468f8ea99b6c64788398b5ad25480cad08f4b0d65be54ce3a55fd206b5ae4722103f72d3d96663b0ea99b0aeb0d7f273cab11a8de37885f1dddc8d9112adb87169357ae").unwrap();
918920

919921
let mut psbt_input = psbt::Input::default();
920-
psbt_input.update_with_descriptor_unchecked(&descriptor).unwrap();
922+
psbt_input
923+
.update_with_descriptor_unchecked(&descriptor)
924+
.unwrap();
921925

922926
assert_eq!(psbt_input.redeem_script, Some(script.to_v0_p2wsh()));
923927
assert_eq!(psbt_input.witness_script, Some(script));

src/descriptor/policy.rs

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1140,7 +1140,6 @@ mod test {
11401140
use bitcoin::secp256k1::Secp256k1;
11411141
use bitcoin::util::bip32;
11421142
use bitcoin::Network;
1143-
use miniscript::DescriptorTrait;
11441143
use std::str::FromStr;
11451144
use std::sync::Arc;
11461145

@@ -1338,9 +1337,8 @@ mod test {
13381337
let (wallet_desc, keymap) = desc
13391338
.into_wallet_descriptor(&secp, Network::Testnet)
13401339
.unwrap();
1341-
let single_key = wallet_desc.derive(0);
13421340
let signers_container = Arc::new(SignersContainer::build(keymap, &wallet_desc, &secp));
1343-
let policy = single_key
1341+
let policy = wallet_desc
13441342
.extract_policy(&signers_container, BuildSatisfaction::None, &secp)
13451343
.unwrap()
13461344
.unwrap();
@@ -1352,16 +1350,15 @@ mod test {
13521350
let (wallet_desc, keymap) = desc
13531351
.into_wallet_descriptor(&secp, Network::Testnet)
13541352
.unwrap();
1355-
let single_key = wallet_desc.derive(0);
13561353
let signers_container = Arc::new(SignersContainer::build(keymap, &wallet_desc, &secp));
1357-
let policy = single_key
1354+
let policy = wallet_desc
13581355
.extract_policy(&signers_container, BuildSatisfaction::None, &secp)
13591356
.unwrap()
13601357
.unwrap();
13611358

1362-
assert!(matches!(&policy.item, EcdsaSignature(PkOrF::Fingerprint(f)) if f == &fingerprint));
1359+
assert!(matches!(policy.item, EcdsaSignature(PkOrF::Fingerprint(f)) if f == fingerprint));
13631360
assert!(
1364-
matches!(&policy.contribution, Satisfaction::Complete {condition} if condition.csv == None && condition.timelock == None)
1361+
matches!(policy.contribution, Satisfaction::Complete {condition} if condition.csv == None && condition.timelock == None)
13651362
);
13661363
}
13671364

@@ -1377,21 +1374,20 @@ mod test {
13771374
let (wallet_desc, keymap) = desc
13781375
.into_wallet_descriptor(&secp, Network::Testnet)
13791376
.unwrap();
1380-
let single_key = wallet_desc.derive(0);
13811377
let signers_container = Arc::new(SignersContainer::build(keymap, &wallet_desc, &secp));
1382-
let policy = single_key
1378+
let policy = wallet_desc
13831379
.extract_policy(&signers_container, BuildSatisfaction::None, &secp)
13841380
.unwrap()
13851381
.unwrap();
13861382

13871383
assert!(
1388-
matches!(&policy.item, Multisig { keys, threshold } if threshold == &1
1384+
matches!(policy.item, Multisig { keys, threshold } if threshold == 1
13891385
&& keys[0] == PkOrF::Fingerprint(fingerprint0)
13901386
&& keys[1] == PkOrF::Fingerprint(fingerprint1))
13911387
);
13921388
assert!(
1393-
matches!(&policy.contribution, Satisfaction::PartialComplete { n, m, items, conditions, .. } if n == &2
1394-
&& m == &1
1389+
matches!(policy.contribution, Satisfaction::PartialComplete { n, m, items, conditions, .. } if n == 2
1390+
&& m == 1
13951391
&& items.len() == 2
13961392
&& conditions.contains_key(&vec![0])
13971393
&& conditions.contains_key(&vec![1])
@@ -1655,7 +1651,7 @@ mod test {
16551651
let signers_container = Arc::new(SignersContainer::build(keymap, &wallet_desc, &secp));
16561652

16571653
let addr = wallet_desc
1658-
.as_derived(0, &secp)
1654+
.at_derivation_index(0)
16591655
.address(Network::Testnet)
16601656
.unwrap();
16611657
assert_eq!(

src/descriptor/template.rs

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -468,12 +468,10 @@ mod test {
468468
use std::str::FromStr;
469469

470470
use super::*;
471-
use crate::descriptor::derived::AsDerived;
472471
use crate::descriptor::{DescriptorError, DescriptorMeta};
473472
use crate::keys::ValidNetworks;
474473
use bitcoin::network::constants::Network::Regtest;
475-
use bitcoin::secp256k1::Secp256k1;
476-
use miniscript::descriptor::{DescriptorPublicKey, DescriptorTrait, KeyMap};
474+
use miniscript::descriptor::{DescriptorPublicKey, KeyMap};
477475
use miniscript::Descriptor;
478476

479477
// BIP44 `pkh(key/44'/{0,1}'/0'/{0,1}/*)`
@@ -517,17 +515,15 @@ mod test {
517515
is_fixed: bool,
518516
expected: &[&str],
519517
) {
520-
let secp = Secp256k1::new();
521-
522518
let (desc, _key_map, _networks) = desc.unwrap();
523519
assert_eq!(desc.is_witness(), is_witness);
524-
assert_eq!(!desc.is_deriveable(), is_fixed);
520+
assert_eq!(!desc.has_wildcard(), is_fixed);
525521
for i in 0..expected.len() {
526522
let index = i as u32;
527-
let child_desc = if !desc.is_deriveable() {
528-
desc.as_derived_fixed(&secp)
523+
let child_desc = if !desc.has_wildcard() {
524+
desc.at_derivation_index(0)
529525
} else {
530-
desc.as_derived(index, &secp)
526+
desc.at_derivation_index(index)
531527
};
532528
let address = child_desc.address(Regtest).unwrap();
533529
assert_eq!(address.to_string(), *expected.get(i).unwrap());

0 commit comments

Comments
 (0)