From: rustaceanrob Date: Wed, 27 Mar 2024 21:02:50 +0000 (-1000) Subject: fix(export): add tr descriptor X-Git-Tag: v1.0.0-alpha.12~1^2 X-Git-Url: http://internal-gitweb-vhost/script/%22https:/database/struct.EncoderStringWriter.html?a=commitdiff_plain;h=1b7c6df569a0ff9324bbda1f066938490109481d;p=bdk fix(export): add tr descriptor --- diff --git a/crates/wallet/src/wallet/export.rs b/crates/wallet/src/wallet/export.rs index 95d91193..9eea7bd6 100644 --- a/crates/wallet/src/wallet/export.rs +++ b/crates/wallet/src/wallet/export.rs @@ -189,6 +189,7 @@ impl FullyNodedExport { WshInner::SortedMulti(_) => Ok(()), WshInner::Ms(ms) => check_ms(&ms.node), }, + Descriptor::Tr(_) => Ok(()), _ => Err("The descriptor is not compatible with Bitcoin Core"), } } @@ -314,6 +315,18 @@ mod test { assert_eq!(export.label, "Test Label"); } + #[test] + fn test_export_tr() { + let descriptor = "tr([73c5da0a/86'/0'/0']tprv8fMn4hSKPRC1oaCPqxDb1JWtgkpeiQvZhsr8W2xuy3GEMkzoArcAWTfJxYb6Wj8XNNDWEjfYKK4wGQXh3ZUXhDF2NcnsALpWTeSwarJt7Vc/0/*)"; + let change_descriptor = "tr([73c5da0a/86'/0'/0']tprv8fMn4hSKPRC1oaCPqxDb1JWtgkpeiQvZhsr8W2xuy3GEMkzoArcAWTfJxYb6Wj8XNNDWEjfYKK4wGQXh3ZUXhDF2NcnsALpWTeSwarJt7Vc/1/*)"; + let wallet = get_test_wallet(descriptor, Some(change_descriptor), Network::Testnet); + let export = FullyNodedExport::export_wallet(&wallet, "Test Label", true).unwrap(); + assert_eq!(export.descriptor(), descriptor); + assert_eq!(export.change_descriptor(), Some(change_descriptor.into())); + assert_eq!(export.blockheight, 5000); + assert_eq!(export.label, "Test Label"); + } + #[test] fn test_export_to_json() { let descriptor = "wpkh(xprv9s21ZrQH143K4CTb63EaMxja1YiTnSEWKMbn23uoEnAzxjdUJRQkazCAtzxGm4LSoTSVTptoV9RbchnKPW9HxKtZumdyxyikZFDLhogJ5Uj/44'/0'/0'/0/*)";