diff --git a/gui/src/daemon/client/mod.rs b/gui/src/daemon/client/mod.rs index b4eedfd0..94d507d4 100644 --- a/gui/src/daemon/client/mod.rs +++ b/gui/src/daemon/client/mod.rs @@ -62,6 +62,10 @@ impl Daemon for Minisafed { fn get_info(&self) -> Result { self.call("getinfo", Option::::None) } + + fn get_new_address(&self) -> Result { + self.call("getnewaddress", Option::::None) + } } #[derive(Debug, Clone, Deserialize, Serialize)] diff --git a/gui/src/daemon/embedded.rs b/gui/src/daemon/embedded.rs index 798d51ae..cca381b7 100644 --- a/gui/src/daemon/embedded.rs +++ b/gui/src/daemon/embedded.rs @@ -69,4 +69,15 @@ impl Daemon for EmbeddedDaemon { .control .get_info()) } + + fn get_new_address(&self) -> Result { + Ok(self + .handle + .as_ref() + .ok_or(DaemonError::NoAnswer)? + .lock() + .unwrap() + .control + .get_new_address()) + } } diff --git a/gui/src/daemon/mod.rs b/gui/src/daemon/mod.rs index 950ec8b8..37f8f1d4 100644 --- a/gui/src/daemon/mod.rs +++ b/gui/src/daemon/mod.rs @@ -45,4 +45,6 @@ pub trait Daemon: Debug { fn stop(&mut self) -> Result<(), DaemonError>; fn get_info(&self) -> Result; + + fn get_new_address(&self) -> Result; } diff --git a/gui/src/daemon/model.rs b/gui/src/daemon/model.rs index 65dbc0f0..dabccf2d 100644 --- a/gui/src/daemon/model.rs +++ b/gui/src/daemon/model.rs @@ -1 +1 @@ -pub use minisafe::commands::GetInfoResult; +pub use minisafe::commands::{GetAddressResult, GetInfoResult};