Skip to content

Commit cc5bded

Browse files
committed
Fix CI: rustfmt formatting and integration test for no-wildcard change
- Fix rustfmt issues in key.rs, mod.rs caught by nightly formatter - Use into_definite() instead of at_derivation_index(0) in test_cpp.rs since descriptors built from parse_insane_ms have no wildcard
1 parent 3360545 commit cc5bded

4 files changed

Lines changed: 29 additions & 24 deletions

File tree

bitcoind-tests/tests/test_cpp.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ pub(crate) fn parse_miniscripts(pubdata: &PubData) -> Vec<Descriptor<DefiniteDes
3030
for line in read_lines("tests/data/random_ms.txt") {
3131
let ms = test_util::parse_insane_ms(&line.unwrap(), pubdata);
3232
let wsh = Descriptor::new_wsh(ms).unwrap();
33-
desc_vec.push(wsh.at_derivation_index(0).unwrap());
33+
desc_vec.push(wsh.into_definite().unwrap());
3434
}
3535
desc_vec
3636
}

bitcoind-tests/tests/test_desc.rs

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -85,10 +85,13 @@ pub fn test_desc_satisfy(
8585
.unwrap();
8686
assert_eq!(blocks.0.len(), 1);
8787

88-
let definite_desc = test_util::parse_test_desc(descriptor, &testdata.pubdata)
89-
.map_err(|_| DescError::DescParseError)?
90-
.at_derivation_index(0)
91-
.unwrap();
88+
let desc = test_util::parse_test_desc(descriptor, &testdata.pubdata)
89+
.map_err(|_| DescError::DescParseError)?;
90+
let definite_desc = if desc.has_wildcard() {
91+
desc.at_derivation_index(0).unwrap()
92+
} else {
93+
desc.into_definite().unwrap()
94+
};
9295

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

447-
let definite_desc = test_util::parse_test_desc(descriptor, &testdata.pubdata)
448-
.map_err(|_| DescError::DescParseError)?
449-
.at_derivation_index(0)
450-
.unwrap();
450+
let desc = test_util::parse_test_desc(descriptor, &testdata.pubdata)
451+
.map_err(|_| DescError::DescParseError)?;
452+
let definite_desc = if desc.has_wildcard() {
453+
desc.at_derivation_index(0).unwrap()
454+
} else {
455+
desc.into_definite().unwrap()
456+
};
451457

452458
let derived_desc = definite_desc.derived_descriptor(&secp);
453459
let desc_address = derived_desc

src/descriptor/key.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -369,9 +369,9 @@ impl fmt::Display for NonDefiniteKeyError {
369369
Self::HardenedStep => {
370370
f.write_str("key with hardened derivation steps cannot be a DerivedDescriptorKey")
371371
}
372-
Self::NoWildcard => {
373-
f.write_str("descriptor does not have a wildcard, so at_derivation_index does not apply")
374-
}
372+
Self::NoWildcard => f.write_str(
373+
"descriptor does not have a wildcard, so at_derivation_index does not apply",
374+
),
375375
}
376376
}
377377
}

src/descriptor/mod.rs

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -686,9 +686,7 @@ impl Descriptor<DescriptorPublicKey> {
686686
/// # Errors
687687
/// - If the descriptor contains wildcards
688688
/// - If the descriptor contains multi-path derivations
689-
pub fn into_definite(
690-
&self,
691-
) -> Result<Descriptor<DefiniteDescriptorKey>, NonDefiniteKeyError> {
689+
pub fn into_definite(&self) -> Result<Descriptor<DefiniteDescriptorKey>, NonDefiniteKeyError> {
692690
if self.has_wildcard() {
693691
return Err(NonDefiniteKeyError::Wildcard);
694692
}
@@ -1958,14 +1956,18 @@ mod tests {
19581956
"wsh(sortedmulti(1,xpub661MyMwAqRbcFW31YEwpkMuc5THy2PSt5bDMsktWQcFF8syAmRUapSCGu8ED9W6oDMSgv6Zz8idoc4a6mr8BDzTJY47LJhkJ8UB7WEGuduB,xpub69H7F5d8KSRgmmdJg2KhpAK8SR3DjMwAdkxj3ZuxV27CprR9LgpeyGmXUbC6wb7ERfvrnKZjXoUmmDznezpbZb7ap6r1D3tgFxHmwMkQTPH))#7etm7zk7",
19591957
"wsh(sortedmulti(1,xpub69H7F5d8KSRgmmdJg2KhpAK8SR3DjMwAdkxj3ZuxV27CprR9LgpeyGmXUbC6wb7ERfvrnKZjXoUmmDznezpbZb7ap6r1D3tgFxHmwMkQTPH,xpub661MyMwAqRbcFW31YEwpkMuc5THy2PSt5bDMsktWQcFF8syAmRUapSCGu8ED9W6oDMSgv6Zz8idoc4a6mr8BDzTJY47LJhkJ8UB7WEGuduB))#ppmeel9k",
19601958
];
1961-
let addr_expected =
1962-
bitcoin::Address::from_str("bc1qpq2cfgz5lktxzr5zqv7nrzz46hsvq3492ump9pz8rzcl8wqtwqcspx5y6a")
1963-
.unwrap()
1964-
.assume_checked();
1959+
let addr_expected = bitcoin::Address::from_str(
1960+
"bc1qpq2cfgz5lktxzr5zqv7nrzz46hsvq3492ump9pz8rzcl8wqtwqcspx5y6a",
1961+
)
1962+
.unwrap()
1963+
.assume_checked();
19651964
for desc_str in desc_strs {
19661965
let desc = Descriptor::<DefiniteDescriptorKey>::from_str(desc_str).unwrap();
19671966
assert_eq!(desc.to_string(), desc_str);
1968-
let addr = desc.derived_descriptor(&secp_ctx).address(bitcoin::Network::Bitcoin).unwrap();
1967+
let addr = desc
1968+
.derived_descriptor(&secp_ctx)
1969+
.address(bitcoin::Network::Bitcoin)
1970+
.unwrap();
19691971
assert_eq!(addr, addr_expected);
19701972
}
19711973
}
@@ -2775,10 +2777,7 @@ pk(03f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8))";
27752777
"wpkh(xpub661MyMwAqRbcFtXgS5sYJABqqG9YLmC4Q1Rdap9gSE8NqtwybGhePY2gZ29ESFjqJoCu1Rupje8YtGqsefD265TMg7usUDFdp6W1EGMcet8/1/2)"
27762778
).unwrap();
27772779
assert!(!desc.has_wildcard());
2778-
assert!(matches!(
2779-
desc.at_derivation_index(0),
2780-
Err(NonDefiniteKeyError::NoWildcard)
2781-
));
2780+
assert!(matches!(desc.at_derivation_index(0), Err(NonDefiniteKeyError::NoWildcard)));
27822781
}
27832782

27842783
#[test]

0 commit comments

Comments
 (0)