mostro_client/cli/
restore.rs

1use anyhow::Result;
2use mostro_core::prelude::*;
3use nostr_sdk::prelude::*;
4
5use crate::util::send_dm;
6
7pub async fn execute_restore(
8    identity_keys: &Keys,
9    mostro_key: PublicKey,
10    client: &Client,
11) -> Result<()> {
12    let restore_message = Message::new_restore(None);
13    let message_json = restore_message
14        .as_json()
15        .map_err(|_| anyhow::anyhow!("Failed to serialize message"))?;
16
17    // Send the restore message to Mostro server
18    send_dm(
19        client,
20        Some(identity_keys),
21        identity_keys,
22        &mostro_key,
23        message_json,
24        None,
25        false,
26    )
27    .await?;
28
29    println!("Restore message sent successfully. Recovering pending orders and disputes...");
30
31    Ok(())
32}