diff --git a/daemon/src/maker_cfd.rs b/daemon/src/maker_cfd.rs index e1f393d..96ddbae 100644 --- a/daemon/src/maker_cfd.rs +++ b/daemon/src/maker_cfd.rs @@ -425,6 +425,9 @@ impl Actor { let new_state = cfd.handle(CfdStateChangeEvent::CommitTxSent)?; insert_new_cfd_state_by_order_id(cfd.order.id, new_state, &mut conn).await?; + self.cfd_feed_actor_inbox + .send(load_all_cfds(&mut conn).await?)?; + Ok(()) } @@ -438,6 +441,9 @@ impl Actor { insert_new_cfd_state_by_order_id(order_id, new_state.clone(), &mut conn).await?; + self.cfd_feed_actor_inbox + .send(load_all_cfds(&mut conn).await?)?; + // TODO: Not sure that should be done here... // Consider bubbling the refund availability up to the user, and let user trigger // transaction publication diff --git a/daemon/src/model/cfd.rs b/daemon/src/model/cfd.rs index bd84ebb..8d1bc0e 100644 --- a/daemon/src/model/cfd.rs +++ b/daemon/src/model/cfd.rs @@ -322,7 +322,7 @@ impl fmt::Display for CfdState { write!(f, "Open") } CfdState::PendingCommit { .. } => { - write!(f, "Pending Committ") + write!(f, "Pending Commit") } CfdState::OpenCommitted { .. } => { write!(f, "Open Committed") @@ -475,9 +475,9 @@ impl Cfd { } } monitor::Event::CommitFinality(_) => { - let dlc = if let Open { dlc, .. } = self.state.clone() { + let dlc = if let PendingCommit { dlc, .. } = self.state.clone() { dlc - } else if let PendingOpen { dlc, .. } = self.state.clone() { + } else if let PendingOpen { dlc, .. } | Open { dlc, .. } = self.state.clone() { tracing::debug!(%order_id, "Was in unexpected state {}, jumping ahead to OpenCommitted", self.state); dlc } else { @@ -624,8 +624,9 @@ impl Cfd { } pub fn commit_tx(&self) -> Result { - let dlc = if let CfdState::Open { dlc, .. } | CfdState::PendingOpen { dlc, .. } = - self.state.clone() + let dlc = if let CfdState::Open { dlc, .. } + | CfdState::PendingOpen { dlc, .. } + | CfdState::PendingCommit { dlc, .. } = self.state.clone() { dlc } else { @@ -652,7 +653,7 @@ impl Cfd { let signed_commit_tx = finalize_spend_transaction( dlc.commit.0, - &dlc.commit.2, + &dlc.lock.1, (our_pubkey, our_sig), (counterparty_pubkey, counterparty_sig), )?; diff --git a/daemon/src/taker_cfd.rs b/daemon/src/taker_cfd.rs index 7ba4717..78e83cc 100644 --- a/daemon/src/taker_cfd.rs +++ b/daemon/src/taker_cfd.rs @@ -317,6 +317,9 @@ impl Actor { insert_new_cfd_state_by_order_id(order_id, new_state.clone(), &mut conn).await?; + self.cfd_feed_actor_inbox + .send(load_all_cfds(&mut conn).await?)?; + // TODO: Not sure that should be done here... // Consider bubbling the refund availability up to the user, and let user trigger // transaction publication @@ -350,6 +353,9 @@ impl Actor { let new_state = cfd.handle(CfdStateChangeEvent::CommitTxSent)?; insert_new_cfd_state_by_order_id(cfd.order.id, new_state, &mut conn).await?; + self.cfd_feed_actor_inbox + .send(load_all_cfds(&mut conn).await?)?; + Ok(()) }