Skip to content

Commit 1b7c6df

Browse files
committed
fix(export): add tr descriptor
1 parent 7607b49 commit 1b7c6df

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

crates/wallet/src/wallet/export.rs

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@ impl FullyNodedExport {
189189
WshInner::SortedMulti(_) => Ok(()),
190190
WshInner::Ms(ms) => check_ms(&ms.node),
191191
},
192+
Descriptor::Tr(_) => Ok(()),
192193
_ => Err("The descriptor is not compatible with Bitcoin Core"),
193194
}
194195
}
@@ -314,6 +315,18 @@ mod test {
314315
assert_eq!(export.label, "Test Label");
315316
}
316317

318+
#[test]
319+
fn test_export_tr() {
320+
let descriptor = "tr([73c5da0a/86'/0'/0']tprv8fMn4hSKPRC1oaCPqxDb1JWtgkpeiQvZhsr8W2xuy3GEMkzoArcAWTfJxYb6Wj8XNNDWEjfYKK4wGQXh3ZUXhDF2NcnsALpWTeSwarJt7Vc/0/*)";
321+
let change_descriptor = "tr([73c5da0a/86'/0'/0']tprv8fMn4hSKPRC1oaCPqxDb1JWtgkpeiQvZhsr8W2xuy3GEMkzoArcAWTfJxYb6Wj8XNNDWEjfYKK4wGQXh3ZUXhDF2NcnsALpWTeSwarJt7Vc/1/*)";
322+
let wallet = get_test_wallet(descriptor, Some(change_descriptor), Network::Testnet);
323+
let export = FullyNodedExport::export_wallet(&wallet, "Test Label", true).unwrap();
324+
assert_eq!(export.descriptor(), descriptor);
325+
assert_eq!(export.change_descriptor(), Some(change_descriptor.into()));
326+
assert_eq!(export.blockheight, 5000);
327+
assert_eq!(export.label, "Test Label");
328+
}
329+
317330
#[test]
318331
fn test_export_to_json() {
319332
let descriptor = "wpkh(xprv9s21ZrQH143K4CTb63EaMxja1YiTnSEWKMbn23uoEnAzxjdUJRQkazCAtzxGm4LSoTSVTptoV9RbchnKPW9HxKtZumdyxyikZFDLhogJ5Uj/44'/0'/0'/0/*)";

0 commit comments

Comments
 (0)