Skip to content

Commit

Permalink
gui: match on message for PsbtState
Browse files Browse the repository at this point in the history
  • Loading branch information
jp1ac4 committed Feb 1, 2024
1 parent 9e5872c commit beabf08
Showing 1 changed file with 38 additions and 51 deletions.
89 changes: 38 additions & 51 deletions gui/src/app/state/psbt.rs
Original file line number Diff line number Diff line change
Expand Up @@ -131,60 +131,47 @@ impl PsbtState {
cache: &Cache,
message: Message,
) -> Command<Message> {
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();
}

self.action = None;
}
view::SpendTxMessage::Delete => {
self.action = Some(PsbtAction::Delete(DeleteAction::default()));
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();
}
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);
}
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();
}
},

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,
Expand Down

0 comments on commit beabf08

Please sign in to comment.