mirror of
https://github.com/monero-project/monero.git
synced 2025-08-16 09:20:17 -04:00
rpc: improve get_output_distribution
It can now handle small reorgs without having to rescan the whole blockchain. Also add a test for it.
This commit is contained in:
parent
581994b61c
commit
0eb0d6b802
7 changed files with 270 additions and 20 deletions
|
@ -778,7 +778,7 @@ namespace rpc
|
|||
const uint64_t req_to_height = req.to_height ? req.to_height : (m_core.get_current_blockchain_height() - 1);
|
||||
for (std::uint64_t amount : req.amounts)
|
||||
{
|
||||
auto data = rpc::RpcHandler::get_output_distribution([this](uint64_t amount, uint64_t from, uint64_t to, uint64_t &start_height, std::vector<uint64_t> &distribution, uint64_t &base) { return m_core.get_output_distribution(amount, from, to, start_height, distribution, base); }, amount, req.from_height, req_to_height, req.cumulative);
|
||||
auto data = rpc::RpcHandler::get_output_distribution([this](uint64_t amount, uint64_t from, uint64_t to, uint64_t &start_height, std::vector<uint64_t> &distribution, uint64_t &base) { return m_core.get_output_distribution(amount, from, to, start_height, distribution, base); }, amount, req.from_height, req_to_height, [this](uint64_t height) { return m_core.get_blockchain_storage().get_db().get_block_hash_from_height(height); }, req.cumulative, m_core.get_current_blockchain_height());
|
||||
if (!data)
|
||||
{
|
||||
res.distributions.clear();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue