export: implement export for psbt

This commit is contained in:
pythcoiner 2025-01-22 07:33:34 +01:00
parent baf4e75efe
commit 2b9324993a
No known key found for this signature in database
GPG Key ID: C1048AEEDF303B88
2 changed files with 13 additions and 2 deletions

View File

@ -45,7 +45,7 @@ impl ExportModal {
let date = chrono::Local::now().format("%Y-%m-%dT%H-%M-%S");
format!("liana-txs-{date}.csv")
}
ExportType::Psbt(_) => todo!(),
ExportType::Psbt(_) => "psbt.psbt".into(),
ExportType::Descriptor(descriptor) => {
let checksum = descriptor
.to_string()

View File

@ -199,7 +199,7 @@ impl Export {
) {
match export_type {
ExportType::Transactions => export_transactions(sender, daemon, path).await,
ExportType::Psbt(_) => todo!(),
ExportType::Psbt(psbt) => export_psbt(sender, path, psbt),
ExportType::Descriptor(descriptor) => export_descriptor(sender, path, descriptor),
};
}
@ -472,6 +472,17 @@ pub fn export_descriptor(
send_progress!(sender, Ended);
}
pub fn export_psbt(sender: Sender<ExportProgress>, path: PathBuf, psbt: String) {
let mut file = open_file!(path, sender);
if let Err(e) = file.write_all(psbt.as_bytes()) {
send_error!(sender, e.into());
return;
}
send_progress!(sender, Progress(100.0));
send_progress!(sender, Ended);
}
pub async fn get_path(filename: String) -> Option<PathBuf> {
rfd::AsyncFileDialog::new()
.set_title("Choose a location to export...")