From dfa046312c539840272d2431099a1f6045aab36b Mon Sep 17 00:00:00 2001 From: Peter Date: Thu, 7 Dec 2023 13:49:38 +0100 Subject: [PATCH] fix: return ids for open orders --- src/swap/Marketplace.sol | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/swap/Marketplace.sol b/src/swap/Marketplace.sol index af9db471..6619398d 100644 --- a/src/swap/Marketplace.sol +++ b/src/swap/Marketplace.sol @@ -93,7 +93,7 @@ contract MarketPlace is ERC2771Recipient { emit withdrawOrder(id); } - function getOpenOrders() external view returns (Order[] memory) { + function getOpenOrders() external view returns (Order[] memory, uint256[] memory) { uint256 numOpenOrders = 0; for (uint256 i = 0; i < nextOrderId; i++) { if (ercErcOrders[i].offeringAmount > 0) { @@ -101,13 +101,15 @@ contract MarketPlace is ERC2771Recipient { } } Order[] memory ret = new Order[](numOpenOrders); + uint256[] memory identifiers = new uint256[](numOpenOrders); uint256 numPushed = 0; for (uint256 i = 0; i < nextOrderId; i++) { if (ercErcOrders[i].offeringAmount > 0) { ret[numPushed] = ercErcOrders[i]; + identifiers[numPushed] = i; numPushed++; } } - return ret; + return (ret, identifiers); } }