void WalletUserTransactionsCache::getGoodTransaction(TransactionId txId, size_t offset, UserTransactions& transactions, UserTransfers& transfers) { transactions.push_back(m_transactions[txId]); WalletLegacyTransaction& tx = transactions.back(); if (tx.firstTransferId == WALLET_LEGACY_INVALID_TRANSFER_ID) { return; } UserTransfers::const_iterator first = m_transfers.begin() + tx.firstTransferId; UserTransfers::const_iterator last = first + tx.transferCount; tx.firstTransferId -= offset; std::copy(first, last, std::back_inserter(transfers)); }
void WalletUserTransactionsCache::getGoodTransaction(TransactionId txId, size_t offset, bool saveDetailed, UserTransactions& transactions, UserTransfers& transfers) { transactions.push_back(m_transactions[txId]); Transaction& tx = transactions.back(); if (!saveDetailed) { tx.firstTransferId = INVALID_TRANSFER_ID; tx.transferCount = 0; return; } if (tx.firstTransferId == INVALID_TRANSFER_ID) { return; } UserTransfers::const_iterator first = m_transfers.begin() + tx.firstTransferId; UserTransfers::const_iterator last = first + tx.transferCount; tx.firstTransferId -= offset; std::copy(first, last, std::back_inserter(transfers)); }