Browse Source

Merge pull request #188 from comit-network/fix-publish-commit

Fix commit transaction publication
upload-correct-windows-binary
Daniel Karzel 3 years ago
committed by GitHub
parent
commit
835af9c029
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      daemon/src/maker_cfd.rs
  2. 13
      daemon/src/model/cfd.rs
  3. 6
      daemon/src/taker_cfd.rs

6
daemon/src/maker_cfd.rs

@ -425,6 +425,9 @@ impl Actor {
let new_state = cfd.handle(CfdStateChangeEvent::CommitTxSent)?; let new_state = cfd.handle(CfdStateChangeEvent::CommitTxSent)?;
insert_new_cfd_state_by_order_id(cfd.order.id, new_state, &mut conn).await?; 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(()) Ok(())
} }
@ -438,6 +441,9 @@ impl Actor {
insert_new_cfd_state_by_order_id(order_id, new_state.clone(), &mut conn).await?; 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... // TODO: Not sure that should be done here...
// Consider bubbling the refund availability up to the user, and let user trigger // Consider bubbling the refund availability up to the user, and let user trigger
// transaction publication // transaction publication

13
daemon/src/model/cfd.rs

@ -322,7 +322,7 @@ impl fmt::Display for CfdState {
write!(f, "Open") write!(f, "Open")
} }
CfdState::PendingCommit { .. } => { CfdState::PendingCommit { .. } => {
write!(f, "Pending Committ") write!(f, "Pending Commit")
} }
CfdState::OpenCommitted { .. } => { CfdState::OpenCommitted { .. } => {
write!(f, "Open Committed") write!(f, "Open Committed")
@ -475,9 +475,9 @@ impl Cfd {
} }
} }
monitor::Event::CommitFinality(_) => { monitor::Event::CommitFinality(_) => {
let dlc = if let Open { dlc, .. } = self.state.clone() { let dlc = if let PendingCommit { dlc, .. } = self.state.clone() {
dlc 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); tracing::debug!(%order_id, "Was in unexpected state {}, jumping ahead to OpenCommitted", self.state);
dlc dlc
} else { } else {
@ -624,8 +624,9 @@ impl Cfd {
} }
pub fn commit_tx(&self) -> Result<Transaction> { pub fn commit_tx(&self) -> Result<Transaction> {
let dlc = if let CfdState::Open { dlc, .. } | CfdState::PendingOpen { dlc, .. } = let dlc = if let CfdState::Open { dlc, .. }
self.state.clone() | CfdState::PendingOpen { dlc, .. }
| CfdState::PendingCommit { dlc, .. } = self.state.clone()
{ {
dlc dlc
} else { } else {
@ -652,7 +653,7 @@ impl Cfd {
let signed_commit_tx = finalize_spend_transaction( let signed_commit_tx = finalize_spend_transaction(
dlc.commit.0, dlc.commit.0,
&dlc.commit.2, &dlc.lock.1,
(our_pubkey, our_sig), (our_pubkey, our_sig),
(counterparty_pubkey, counterparty_sig), (counterparty_pubkey, counterparty_sig),
)?; )?;

6
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?; 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... // TODO: Not sure that should be done here...
// Consider bubbling the refund availability up to the user, and let user trigger // Consider bubbling the refund availability up to the user, and let user trigger
// transaction publication // transaction publication
@ -350,6 +353,9 @@ impl Actor {
let new_state = cfd.handle(CfdStateChangeEvent::CommitTxSent)?; let new_state = cfd.handle(CfdStateChangeEvent::CommitTxSent)?;
insert_new_cfd_state_by_order_id(cfd.order.id, new_state, &mut conn).await?; 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(()) Ok(())
} }

Loading…
Cancel
Save