diff --git a/gui/src/daemon/client/mod.rs b/gui/src/daemon/client/mod.rs index a40fd602..94e7d68a 100644 --- a/gui/src/daemon/client/mod.rs +++ b/gui/src/daemon/client/mod.rs @@ -113,6 +113,11 @@ impl Daemon for Minisafed { self.call("broadcastspend", Some(vec![txid.to_string()]))?; Ok(()) } + + fn start_rescan(&self, t: u32) -> Result<(), DaemonError> { + let _res: serde_json::value::Value = self.call("startrescan", Some(vec![t]))?; + Ok(()) + } } #[derive(Debug, Clone, Deserialize, Serialize)] diff --git a/gui/src/daemon/embedded.rs b/gui/src/daemon/embedded.rs index d60ef1be..9d1d4525 100644 --- a/gui/src/daemon/embedded.rs +++ b/gui/src/daemon/embedded.rs @@ -156,4 +156,15 @@ impl Daemon for EmbeddedDaemon { .broadcast_spend(txid) .map_err(|e| DaemonError::Unexpected(e.to_string())) } + + fn start_rescan(&self, t: u32) -> Result<(), DaemonError> { + self.handle + .as_ref() + .ok_or(DaemonError::NoAnswer)? + .lock() + .unwrap() + .control + .start_rescan(t) + .map_err(|e| DaemonError::Unexpected(e.to_string())) + } } diff --git a/gui/src/daemon/mod.rs b/gui/src/daemon/mod.rs index 62267e4a..0d2c33d9 100644 --- a/gui/src/daemon/mod.rs +++ b/gui/src/daemon/mod.rs @@ -88,4 +88,5 @@ pub trait Daemon: Debug { fn update_spend_tx(&self, psbt: &Psbt) -> Result<(), DaemonError>; fn delete_spend_tx(&self, txid: &Txid) -> Result<(), DaemonError>; fn broadcast_spend_tx(&self, txid: &Txid) -> Result<(), DaemonError>; + fn start_rescan(&self, t: u32) -> Result<(), DaemonError>; }