From fae32df08656bf550f6a035dad6a3f4b56a9b6fc Mon Sep 17 00:00:00 2001 From: jp1ac4 <121959000+jp1ac4@users.noreply.github.com> Date: Mon, 29 Jan 2024 15:53:49 +0000 Subject: [PATCH] gui: pass change_address param to createspend --- gui/src/app/state/spend/step.rs | 2 +- gui/src/daemon/client/mod.rs | 18 ++++++++++-------- gui/src/daemon/embedded.rs | 3 ++- gui/src/daemon/mod.rs | 1 + 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/gui/src/app/state/spend/step.rs b/gui/src/app/state/spend/step.rs index d5dd1dad..38b621bd 100644 --- a/gui/src/app/state/spend/step.rs +++ b/gui/src/app/state/spend/step.rs @@ -381,7 +381,7 @@ impl Step for DefineSpend { return Command::perform( async move { daemon - .create_spend_tx(&inputs, &outputs, feerate_vb) + .create_spend_tx(&inputs, &outputs, feerate_vb, None) .map_err(|e| e.into()) .and_then(|res| match res { CreateSpendResult::Success { psbt, .. } => Ok(psbt), diff --git a/gui/src/daemon/client/mod.rs b/gui/src/daemon/client/mod.rs index 1f6a4ac8..7ec4c0c1 100644 --- a/gui/src/daemon/client/mod.rs +++ b/gui/src/daemon/client/mod.rs @@ -86,15 +86,17 @@ impl Daemon for Lianad { coins_outpoints: &[OutPoint], destinations: &HashMap, u64>, feerate_vb: u64, + change_address: Option>, ) -> Result { - self.call( - "createspend", - Some(vec![ - json!(destinations), - json!(coins_outpoints), - json!(feerate_vb), - ]), - ) + let mut input = vec![ + json!(destinations), + json!(coins_outpoints), + json!(feerate_vb), + ]; + if let Some(change_address) = change_address { + input.push(json!(change_address)); + } + self.call("createspend", Some(input)) } fn rbf_psbt( diff --git a/gui/src/daemon/embedded.rs b/gui/src/daemon/embedded.rs index 4b170844..2978c181 100644 --- a/gui/src/daemon/embedded.rs +++ b/gui/src/daemon/embedded.rs @@ -87,9 +87,10 @@ impl Daemon for EmbeddedDaemon { coins_outpoints: &[OutPoint], destinations: &HashMap, u64>, feerate_vb: u64, + change_address: Option>, ) -> Result { self.control()? - .create_spend(destinations, coins_outpoints, feerate_vb, None) + .create_spend(destinations, coins_outpoints, feerate_vb, change_address) .map_err(|e| DaemonError::Unexpected(e.to_string())) } diff --git a/gui/src/daemon/mod.rs b/gui/src/daemon/mod.rs index 72ddf1b2..1964c981 100644 --- a/gui/src/daemon/mod.rs +++ b/gui/src/daemon/mod.rs @@ -62,6 +62,7 @@ pub trait Daemon: Debug { coins_outpoints: &[OutPoint], destinations: &HashMap, u64>, feerate_vb: u64, + change_address: Option>, ) -> Result; fn rbf_psbt( &self,