Skip to content

Commit 1291215

Browse files
Add MetaDEx_RetrieveTrade() to get trade object from maps via txid
1 parent d448295 commit 1291215

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

src/omnicore/mdex.cpp

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -735,3 +735,21 @@ void mastercore::MetaDEx_debug_print(bool bShowPriceLevel, bool bDisplay)
735735
}
736736
PrintToLog(">>>\n");
737737
}
738+
739+
/**
740+
* Locates a trade in the MetaDEx maps via txid and returns the trade object
741+
*
742+
*/
743+
const CMPMetaDEx* mastercore::MetaDEx_RetrieveTrade(const uint256& txid)
744+
{
745+
for (md_PropertiesMap::iterator propIter = metadex.begin(); propIter != metadex.end(); ++propIter) {
746+
md_PricesMap & prices = propIter->second;
747+
for (md_PricesMap::iterator pricesIter = prices.begin(); pricesIter != prices.end(); ++pricesIter) {
748+
md_Set & indexes = pricesIter->second;
749+
for (md_Set::iterator tradesIter = indexes.begin(); tradesIter != indexes.end(); ++tradesIter) {
750+
if (txid == (*tradesIter).getHash()) return &(*tradesIter);
751+
}
752+
}
753+
}
754+
return (CMPMetaDEx*) NULL;
755+
}

src/omnicore/mdex.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,10 @@ void MetaDEx_debug_print(bool bShowPriceLevel = false, bool bDisplay = false);
137137
bool MetaDEx_isOpen(const uint256& txid, uint32_t propertyIdForSale = 0);
138138
int MetaDEx_getStatus(const uint256& txid, uint32_t propertyIdForSale, int64_t amountForSale, int64_t totalSold = -1);
139139
std::string MetaDEx_getStatusText(int tradeStatus);
140+
141+
// Locates a trade in the MetaDEx maps via txid and returns the trade object
142+
const CMPMetaDEx* MetaDEx_RetrieveTrade(const uint256& txid);
143+
140144
}
141145

142146

0 commit comments

Comments
 (0)