Skip to content
This repository was archived by the owner on May 16, 2019. It is now read-only.

Commit 09c108c

Browse files
committed
Fix receive transaction bug
Fix a bug where the seller's node treats additional transactions from libbitcoin as new orders even if the order has been refunded or closed.
1 parent 01aea73 commit 09c108c

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

market/contracts.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -944,17 +944,18 @@ def payment_received(self):
944944
handle = self.contract["buyer_order"]["order"]["id"]["blockchain_id"]
945945
else:
946946
handle = ""
947-
self.notification_listener.notify(unhexlify(buyer_guid), handle, "new order", order_id,
948-
title, image_hash)
949-
950-
notification = SMTPNotification(self.db)
951-
notification.send("[OpenBazaar] Payment for Order Received", "Payment was received for Order #%s."
952-
% order_id)
953947

954-
self.db.sales.update_status(order_id, 1)
955-
self.db.sales.status_changed(order_id, 1)
956948
self.db.sales.update_outpoint(order_id, json.dumps(self.outpoints))
957-
self.log.info("Received new order %s" % order_id)
949+
if self.db.sales.get_status(order_id) == 0:
950+
self.db.sales.update_status(order_id, 1)
951+
self.db.sales.status_changed(order_id, 1)
952+
self.notification_listener.notify(unhexlify(buyer_guid), handle, "new order", order_id,
953+
title, image_hash)
954+
955+
notification = SMTPNotification(self.db)
956+
notification.send("[OpenBazaar] Payment for Order Received",
957+
"Payment was received for Order #%s." % order_id)
958+
self.log.info("Received new order %s" % order_id)
958959

959960
os.rename(unfunded_path, in_progress_path)
960961

0 commit comments

Comments
 (0)