From f4d38403a08729fb9203195debf6a4a3f78d6839 Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Wed, 4 Apr 2018 10:03:16 +0100 Subject: [PATCH] rpc: allow getting pruned blocks from gettransactions and get them pruned in find_and_save_rings, since it does not need the pruned data in the first place. Also set decode_to_json to false where missing, we don't need this either. --- src/rpc/core_rpc_server.cpp | 1 - src/wallet/wallet2.cpp | 13 ++++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/rpc/core_rpc_server.cpp b/src/rpc/core_rpc_server.cpp index b8f85da29..a1a68603a 100644 --- a/src/rpc/core_rpc_server.cpp +++ b/src/rpc/core_rpc_server.cpp @@ -227,7 +227,6 @@ namespace cryptonote MERROR("Failed to parse and validate tx from blob"); return cryptonote::blobdata(); } - return get_pruned_tx_blob(tx); } //------------------------------------------------------------------------------------------------------------------------------ diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp index b967b4f65..77a7db086 100755 --- a/src/wallet/wallet2.cpp +++ b/src/wallet/wallet2.cpp @@ -5595,7 +5595,18 @@ bool wallet2::find_and_save_rings(bool force) for (const std::pair &entry: payments) { const crypto::hash &txid = entry.first; - txs_hashes.push_back(txid); + 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 lock{m_daemon_rpc_mutex}; + r = epee::net_utils::invoke_http_json("/gettransactions", req, res, m_http_client, rpc_timeout); } MDEBUG("Found " << std::to_string(txs_hashes.size()) << " transactions");