Skip to content

Commit 5df4d5b

Browse files
committed
descriptor: add unit tests for constructing multipath keys
1 parent 9766e6e commit 5df4d5b

1 file changed

Lines changed: 21 additions & 0 deletions

File tree

src/descriptor/key.rs

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1385,6 +1385,7 @@ mod test {
13851385
DescriptorMultiXKey, DescriptorPublicKey, DescriptorSecretKey, MiniscriptKey, Wildcard,
13861386
};
13871387
use crate::prelude::*;
1388+
use crate::DefiniteDescriptorKey;
13881389

13891390
#[test]
13901391
fn parse_descriptor_key_errors() {
@@ -1764,4 +1765,24 @@ mod test {
17641765
let public_key = DescriptorPublicKey::from_str(desc).unwrap();
17651766
assert_tokens(&public_key, &[Token::String(desc)]);
17661767
}
1768+
1769+
#[test]
1770+
fn definite_keys() {
1771+
type DefDesc = crate::Descriptor<DescriptorPublicKey>;
1772+
// basic xpub
1773+
let desc = "xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gZ29ESFjqJoCu1Rupje8YtGqsefD265TMg7usUDFdp6W1EGMcet8"
1774+
.parse::<DescriptorPublicKey>()
1775+
.unwrap();
1776+
assert!(DefiniteDescriptorKey::new(desc).is_some());
1777+
// xpub with wildcard
1778+
let desc = "xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gZ29ESFjqJoCu1Rupje8YtGqsefD265TMg7usUDFdp6W1EGMcet8/*"
1779+
.parse::<DescriptorPublicKey>()
1780+
.unwrap();
1781+
assert!(DefiniteDescriptorKey::new(desc).is_none());
1782+
// multipath xpub
1783+
let desc = "xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gZ29ESFjqJoCu1Rupje8YtGqsefD265TMg7usUDFdp6W1EGMcet8/<0;1>"
1784+
.parse::<DescriptorPublicKey>()
1785+
.unwrap();
1786+
assert!(DefiniteDescriptorKey::new(desc).is_none());
1787+
}
17671788
}

0 commit comments

Comments
 (0)