diff --git a/services/gunDB/contact-api/jobs/onOrders.js b/services/gunDB/contact-api/jobs/onOrders.js index 51d90815..840526f2 100644 --- a/services/gunDB/contact-api/jobs/onOrders.js +++ b/services/gunDB/contact-api/jobs/onOrders.js @@ -18,6 +18,11 @@ const Utils = require('../utils') const getUser = () => require('../../Mediator').getUser() +/** + * @type {Set} + */ +const ordersProcessed = new Set() + /** * @typedef {import('../SimpleGUN').GUNNode} GUNNode * @typedef {import('../SimpleGUN').ListenerData} ListenerData @@ -46,6 +51,15 @@ const listenerForAddr = (addr, SEA) => async (order, orderID) => { return } + if (ordersProcessed.has(orderID)) { + logger.warn( + `skipping already processed order: ${orderID}, this means orders are being processed twice!` + ) + return + } + + ordersProcessed.add(orderID) + logger.info( `onOrders() -> processing order: ${orderID} -- ${JSON.stringify( order