wallet2: request transactions in slices when scanning for known rings

This avoid massive memory consumption for huge wallets
release-v0.2.1.0
moneromooo-monero 6 years ago committed by wowario
parent f4d38403a0
commit 8de302627a
No known key found for this signature in database
GPG Key ID: 24DCBE762DE9C111

@ -5595,18 +5595,7 @@ bool wallet2::find_and_save_rings(bool force)
for (const std::pair<crypto::hash,wallet2::confirmed_transfer_details> &entry: payments)
{
const crypto::hash &txid = entry.first;
req.txs_hashes.push_back(epee::string_tools::pod_to_hex(txid));
}
MDEBUG("Found " << std::to_string(req.txs_hashes.size()) << " transactions");
// get those transactions from the daemon
req.decode_as_json = false;
req.prune = true;
bool r;
{
const boost::lock_guard<boost::mutex> lock{m_daemon_rpc_mutex};
r = epee::net_utils::invoke_http_json("/gettransactions", req, res, m_http_client, rpc_timeout);
txs_hashes.push_back(txid);
}
MDEBUG("Found " << std::to_string(txs_hashes.size()) << " transactions");

Loading…
Cancel
Save