From d66b596cf930597254b1e48426c9488fd77d210d Mon Sep 17 00:00:00 2001 From: pythcoiner Date: Mon, 23 Jun 2025 13:22:26 +0200 Subject: [PATCH] import: allow to import a descriptor from a backup in export::import_descriptor() --- liana-gui/src/export.rs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/liana-gui/src/export.rs b/liana-gui/src/export.rs index 88a910f9..74897a12 100644 --- a/liana-gui/src/export.rs +++ b/liana-gui/src/export.rs @@ -637,7 +637,19 @@ pub async fn import_descriptor( file.read_to_string(&mut descr_str)?; let descr_str = descr_str.trim(); - let descriptor = LianaDescriptor::from_str(descr_str).map_err(|_| Error::ParseDescriptor)?; + let descriptor = if let Ok(d) = LianaDescriptor::from_str(descr_str) { + Some(d) + } else { + let backup: Result = serde_json::from_str(descr_str); + backup.ok().and_then(|b| { + if b.accounts.len() == 1 { + LianaDescriptor::from_str(&b.accounts[0].descriptor).ok() + } else { + None + } + }) + }; + let descriptor = descriptor.ok_or(Error::ParseDescriptor)?; send_progress!(sender, Progress(100.0)); send_progress!(sender, Descriptor(descriptor));