diff --git a/gui/src/app/state/psbt.rs b/gui/src/app/state/psbt.rs index 9e8632ed..88072960 100644 --- a/gui/src/app/state/psbt.rs +++ b/gui/src/app/state/psbt.rs @@ -131,60 +131,47 @@ impl PsbtState { cache: &Cache, message: Message, ) -> Command { - match &message { - Message::View(view::Message::Spend(msg)) => match msg { - view::SpendTxMessage::Cancel => { - if let Some(PsbtAction::Sign(SignAction { display_modal, .. })) = - &mut self.action - { - *display_modal = false; - return Command::none(); - } + match message { + Message::View(view::Message::Spend(view::SpendTxMessage::Cancel)) => { + if let Some(PsbtAction::Sign(SignAction { display_modal, .. })) = &mut self.action { + *display_modal = false; + return Command::none(); + } - self.action = None; + self.action = None; + } + Message::View(view::Message::Spend(view::SpendTxMessage::Delete)) => { + self.action = Some(PsbtAction::Delete(DeleteAction::default())); + } + Message::View(view::Message::Spend(view::SpendTxMessage::Sign)) => { + if let Some(PsbtAction::Sign(SignAction { display_modal, .. })) = &mut self.action { + *display_modal = true; + return Command::none(); } - view::SpendTxMessage::Delete => { - self.action = Some(PsbtAction::Delete(DeleteAction::default())); - } - view::SpendTxMessage::Sign => { - if let Some(PsbtAction::Sign(SignAction { display_modal, .. })) = - &mut self.action - { - *display_modal = true; - return Command::none(); - } - let action = SignAction::new( - self.tx.signers(), - self.wallet.clone(), - cache.datadir_path.clone(), - cache.network, - self.saved, - ); - let cmd = action.load(daemon); - self.action = Some(PsbtAction::Sign(action)); - return cmd; - } - view::SpendTxMessage::EditPsbt => { - let action = UpdateAction::new(self.wallet.clone(), self.tx.psbt.to_string()); - let cmd = action.load(daemon); - self.action = Some(PsbtAction::Update(action)); - return cmd; - } - view::SpendTxMessage::Broadcast => { - self.action = Some(PsbtAction::Broadcast(BroadcastAction::default())); - } - view::SpendTxMessage::Save => { - self.action = Some(PsbtAction::Save(SaveAction::default())); - } - _ => { - if let Some(action) = self.action.as_mut() { - return action - .as_mut() - .update(daemon.clone(), message, &mut self.tx); - } - } - }, + let action = SignAction::new( + self.tx.signers(), + self.wallet.clone(), + cache.datadir_path.clone(), + cache.network, + self.saved, + ); + let cmd = action.load(daemon); + self.action = Some(PsbtAction::Sign(action)); + return cmd; + } + Message::View(view::Message::Spend(view::SpendTxMessage::EditPsbt)) => { + let action = UpdateAction::new(self.wallet.clone(), self.tx.psbt.to_string()); + let cmd = action.load(daemon); + self.action = Some(PsbtAction::Update(action)); + return cmd; + } + Message::View(view::Message::Spend(view::SpendTxMessage::Broadcast)) => { + self.action = Some(PsbtAction::Broadcast(BroadcastAction::default())); + } + Message::View(view::Message::Spend(view::SpendTxMessage::Save)) => { + self.action = Some(PsbtAction::Save(SaveAction::default())); + } Message::View(view::Message::Label(_, _)) | Message::LabelsUpdated(_) => { match self.labels_edited.update( daemon,