Skip to content
This repository was archived by the owner on Mar 28, 2023. It is now read-only.

Commit 1fd7a0d

Browse files
committed
fix: Pass orderID when sending dispute close message
While the OrderID was being passed, offline order without a confirmation may not have saved properly; this should make sure that it gets there 100% of the time.
1 parent 9fa6f70 commit 1fd7a0d

File tree

2 files changed

+18
-21
lines changed

2 files changed

+18
-21
lines changed

core/disputes.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -764,11 +764,11 @@ func (n *OpenBazaarNode) CloseDispute(orderID string, buyerPercentage, vendorPer
764764
return err
765765
}
766766

767-
err = n.SendDisputeClose(buyerID, &buyerKey, rc)
767+
err = n.SendDisputeClose(buyerID, &buyerKey, rc, orderID)
768768
if err != nil {
769769
return err
770770
}
771-
err = n.SendDisputeClose(vendorID, &vendorKey, rc)
771+
err = n.SendDisputeClose(vendorID, &vendorKey, rc, orderID)
772772
if err != nil {
773773
return err
774774
}

core/net.go

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -542,11 +542,11 @@ func (n *OpenBazaarNode) SendDisputeOpen(peerID string, k *libp2p.PubKey, disput
542542
if orderID0 == "" {
543543
log.Errorf("failed fetching orderID")
544544
} else {
545-
err = n.Datastore.Messages().Put(
546-
fmt.Sprintf("%s-%d", orderID0, int(pb.Message_DISPUTE_OPEN)),
547-
orderID0, pb.Message_DISPUTE_OPEN, peerID, repo.Message{Msg: m},
548-
"", 0, []byte{})
549-
if err != nil {
545+
err = n.Datastore.Messages().Put(
546+
fmt.Sprintf("%s-%d", orderID0, int(pb.Message_DISPUTE_OPEN)),
547+
orderID0, pb.Message_DISPUTE_OPEN, peerID, repo.Message{Msg: m},
548+
"", 0, []byte{})
549+
if err != nil {
550550
log.Errorf("failed putting message (%s-%d): %v", orderID0, int(pb.Message_DISPUTE_OPEN), err)
551551
}
552552
}
@@ -586,7 +586,7 @@ func (n *OpenBazaarNode) SendDisputeUpdate(peerID string, updateMessage *pb.Disp
586586
}
587587

588588
// SendDisputeClose - send dispute closed msg to peer
589-
func (n *OpenBazaarNode) SendDisputeClose(peerID string, k *libp2p.PubKey, resolutionMessage *pb.RicardianContract) error {
589+
func (n *OpenBazaarNode) SendDisputeClose(peerID string, k *libp2p.PubKey, resolutionMessage *pb.RicardianContract, orderID string) error {
590590
a, err := ptypes.MarshalAny(resolutionMessage)
591591
if err != nil {
592592
log.Errorf("failed to marshal the contract: %v", err)
@@ -600,19 +600,16 @@ func (n *OpenBazaarNode) SendDisputeClose(peerID string, k *libp2p.PubKey, resol
600600
}
601601

602602
// Save DISPUTE_CLOSE message to the database for this order for resending if necessary
603-
var orderID0 string
604-
if resolutionMessage.VendorOrderConfirmation != nil {
605-
orderID0 = resolutionMessage.VendorOrderConfirmation.OrderID
606-
if orderID0 == "" {
607-
log.Errorf("failed fetching orderID")
608-
} else {
609-
err = n.Datastore.Messages().Put(
610-
fmt.Sprintf("%s-%d", orderID0, int(pb.Message_DISPUTE_CLOSE)),
611-
orderID0, pb.Message_DISPUTE_CLOSE, peerID, repo.Message{Msg: m},
612-
"", 0, []byte{})
613-
if err != nil {
614-
log.Errorf("failed putting message (%s-%d): %v", orderID0, int(pb.Message_DISPUTE_CLOSE), err)
615-
}
603+
orderID0 := orderID
604+
if orderID0 == "" {
605+
log.Errorf("failed fetching orderID")
606+
} else {
607+
err = n.Datastore.Messages().Put(
608+
fmt.Sprintf("%s-%d", orderID0, int(pb.Message_DISPUTE_CLOSE)),
609+
orderID0, pb.Message_DISPUTE_CLOSE, peerID, repo.Message{Msg: m},
610+
"", 0, []byte{})
611+
if err != nil {
612+
log.Errorf("failed putting message (%s-%d): %v", orderID0, int(pb.Message_DISPUTE_CLOSE), err)
616613
}
617614
}
618615

0 commit comments

Comments
 (0)