Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion bitcoind-tests/tests/test_cpp.rs
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ pub(crate) fn parse_miniscripts(pubdata: &PubData) -> Vec<Descriptor<DefiniteDes
for line in read_lines("tests/data/random_ms.txt") {
let ms = test_util::parse_insane_ms(&line.unwrap(), pubdata);
let wsh = Descriptor::new_wsh(ms).unwrap();
desc_vec.push(wsh.at_derivation_index(0).unwrap());
desc_vec.push(wsh.into_definite().unwrap());
}
desc_vec
}
Expand Down
22 changes: 14 additions & 8 deletions bitcoind-tests/tests/test_desc.rs
Original file line number Diff line number Diff line change
Expand Up @@ -85,10 +85,13 @@ pub fn test_desc_satisfy(
.unwrap();
assert_eq!(blocks.0.len(), 1);

let definite_desc = test_util::parse_test_desc(descriptor, &testdata.pubdata)
.map_err(|_| DescError::DescParseError)?
.at_derivation_index(0)
.unwrap();
let desc = test_util::parse_test_desc(descriptor, &testdata.pubdata)
.map_err(|_| DescError::DescParseError)?;
let definite_desc = if desc.has_wildcard() {
desc.derive_at_index(0).unwrap()
} else {
desc.into_definite().unwrap()
};

let derived_desc = definite_desc.derived_descriptor(&secp);
let desc_address = derived_desc.address(bitcoin::Network::Regtest);
Expand Down Expand Up @@ -444,10 +447,13 @@ fn test_plan_satisfy(
.unwrap();
assert_eq!(blocks.0.len(), 1);

let definite_desc = test_util::parse_test_desc(descriptor, &testdata.pubdata)
.map_err(|_| DescError::DescParseError)?
.at_derivation_index(0)
.unwrap();
let desc = test_util::parse_test_desc(descriptor, &testdata.pubdata)
.map_err(|_| DescError::DescParseError)?;
let definite_desc = if desc.has_wildcard() {
desc.derive_at_index(0).unwrap()
} else {
desc.into_definite().unwrap()
};

let derived_desc = definite_desc.derived_descriptor(&secp);
let desc_address = derived_desc
Expand Down
2 changes: 1 addition & 1 deletion examples/big.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ fn main() {
use_descriptor(Descriptor::<String>::from_str(&i).unwrap());

let a = d
.at_derivation_index(0)
.derive_at_index(0)
.unwrap()
.address(bitcoin::Network::Bitcoin)
.unwrap();
Expand Down
2 changes: 1 addition & 1 deletion examples/taptree_of_horror/taptree_of_horror.rs
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ fn main() {
let policy_desc: Descriptor<DescriptorPublicKey> = pol.compile_tr(None).unwrap();

// Now, using this public descriptor create the script address
let derived_descriptor = policy_desc.at_derivation_index(0).unwrap();
let derived_descriptor = policy_desc.derive_at_index(0).unwrap();
let _script_address = derived_descriptor.address(Network::Regtest).unwrap();
println!("the receiving address of this script is: {}", _script_address);
println!("\ndescriptor is: {}\n", policy_desc);
Expand Down
4 changes: 4 additions & 0 deletions src/descriptor/key.rs
Original file line number Diff line number Diff line change
Expand Up @@ -358,6 +358,7 @@ pub enum NonDefiniteKeyError {
Wildcard,
Multipath,
HardenedStep,
NoWildcard,
}

impl fmt::Display for NonDefiniteKeyError {
Expand All @@ -368,6 +369,9 @@ impl fmt::Display for NonDefiniteKeyError {
Self::HardenedStep => {
f.write_str("key with hardened derivation steps cannot be a DerivedDescriptorKey")
}
Self::NoWildcard => {
f.write_str("descriptor does not have a wildcard; cannot derive at index")
}
}
}
}
Expand Down
Loading
Loading