mirror of
https://github.com/wownero/wownero-cpp.git
synced 2026-10-18 07:41:32 +02:00
sorting transfers
This commit is contained in:
@@ -391,6 +391,14 @@ namespace monero {
|
||||
else return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true iff transfer1 is ordered before transfer2 by ascending account and subaddress indices.
|
||||
*/
|
||||
bool incomingTransferBefore(const shared_ptr<MoneroIncomingTransfer>& transfer1, const shared_ptr<MoneroIncomingTransfer>& transfer2) {
|
||||
if (transfer1->accountIndex.get() < transfer2->accountIndex.get()) return true;
|
||||
else if (transfer1->accountIndex.get() == transfer2->accountIndex.get()) return transfer1->subaddressIndex.get() < transfer2->subaddressIndex.get();
|
||||
else return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* ---------------- DUPLICATED WALLET RPC TRANSFER CODE ---------------------
|
||||
@@ -1388,6 +1396,9 @@ namespace monero {
|
||||
vector<shared_ptr<MoneroTransfer>> transfers;
|
||||
for (const shared_ptr<MoneroTxWallet>& tx : txs) {
|
||||
|
||||
// sort transfers
|
||||
sort(tx->incomingTransfers.begin(), tx->incomingTransfers.end(), incomingTransferBefore);
|
||||
|
||||
// collect outgoing transfer, erase if filtered TODO: java/js do not erase filtered transfers
|
||||
if (tx->outgoingTransfer != boost::none && request.meetsCriteria(tx->outgoingTransfer.get().get())) transfers.push_back(tx->outgoingTransfer.get());
|
||||
else tx->outgoingTransfer = boost::none;
|
||||
|
||||
Reference in New Issue
Block a user