diff --git a/liana-gui/src/app/state/export.rs b/liana-gui/src/app/state/export.rs index 18396330..77eae207 100644 --- a/liana-gui/src/app/state/export.rs +++ b/liana-gui/src/app/state/export.rs @@ -43,6 +43,7 @@ impl ExportModal { match self.import_export_type { ImportExportType::Transactions => "Export Transactions", ImportExportType::ExportPsbt(_) => "Export PSBT", + ImportExportType::ExportXpub(_) => "Export Xpub", ImportExportType::ExportBackup(_) => "Export Backup", ImportExportType::Descriptor(_) => "Export Descriptor", ImportExportType::ExportProcessBackup(..) | ImportExportType::ExportLabels => { @@ -62,6 +63,7 @@ impl ExportModal { format!("liana-txs-{date}.csv") } ImportExportType::ExportPsbt(_) => "psbt.psbt".into(), + ImportExportType::ExportXpub(_) => "liana.pub".into(), ImportExportType::Descriptor(descriptor) => { let checksum = descriptor .to_string() diff --git a/liana-gui/src/export.rs b/liana-gui/src/export.rs index 0848a7d1..fafc0262 100644 --- a/liana-gui/src/export.rs +++ b/liana-gui/src/export.rs @@ -144,6 +144,7 @@ impl Display for Error { pub enum ImportExportType { Transactions, ExportPsbt(String), + ExportXpub(String), ExportBackup(String), ExportProcessBackup(PathBuf, Network, Arc, Arc), ImportBackup( @@ -165,6 +166,7 @@ impl ImportExportType { | ImportExportType::ExportBackup(_) | ImportExportType::Descriptor(_) | ImportExportType::ExportProcessBackup(..) + | ImportExportType::ExportXpub(_) | ImportExportType::ExportLabels => "Export successful!", ImportExportType::ImportBackup(_, _) | ImportExportType::ImportPsbt @@ -284,6 +286,7 @@ impl Export { ImportExportType::ImportPsbt => import_psbt(&sender, path).await, ImportExportType::ImportDescriptor => import_descriptor(&sender, path).await, ImportExportType::ExportBackup(str) => export_string(&sender, path, str).await, + ImportExportType::ExportXpub(xpub_str) => export_string(&sender, path, xpub_str).await, ImportExportType::ExportProcessBackup(datadir, network, config, wallet) => { app_backup_export( datadir, @@ -556,10 +559,10 @@ pub async fn export_descriptor( pub async fn export_string( sender: &UnboundedSender, path: PathBuf, - psbt: String, + str: String, ) -> Result<(), Error> { let mut file = open_file_write(&path).await?; - file.write_all(psbt.as_bytes())?; + file.write_all(str.as_bytes())?; send_progress!(sender, Progress(100.0)); send_progress!(sender, Ended); Ok(())