aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRiccardo Spagni <ric@spagni.net>2018-09-21 20:31:21 +0200
committerRiccardo Spagni <ric@spagni.net>2018-09-21 20:31:21 +0200
commitd6893aedf6ef39e2c5d72e8ec98210f6350b8a5b (patch)
treefe966f820568320f2da8c891c756086a54326a7a /src
parentMerge pull request #4266 (diff)
parentblockchain: simplify output distribution code (diff)
downloadmonero-d6893aedf6ef39e2c5d72e8ec98210f6350b8a5b.tar.xz
Merge pull request #4369
b2bb9312 blockchain: simplify output distribution code (moneromooo-monero) befdcbf4 db_lmdb: do not use base for cumulative distribution (moneromooo-monero)
Diffstat (limited to 'src')
-rw-r--r--src/blockchain_db/lmdb/db_lmdb.cpp2
-rw-r--r--src/cryptonote_core/blockchain.cpp9
2 files changed, 4 insertions, 7 deletions
diff --git a/src/blockchain_db/lmdb/db_lmdb.cpp b/src/blockchain_db/lmdb/db_lmdb.cpp
index 9e22e2e4b..b0f3ca5f0 100644
--- a/src/blockchain_db/lmdb/db_lmdb.cpp
+++ b/src/blockchain_db/lmdb/db_lmdb.cpp
@@ -3391,8 +3391,10 @@ bool BlockchainLMDB::get_output_distribution(uint64_t amount, uint64_t from_heig
break;
}
+ distribution[0] += base;
for (size_t n = 1; n < distribution.size(); ++n)
distribution[n] += distribution[n - 1];
+ base = 0;
TXN_POSTFIX_RDONLY();
diff --git a/src/cryptonote_core/blockchain.cpp b/src/cryptonote_core/blockchain.cpp
index 3751d6473..0dc3f3bb4 100644
--- a/src/cryptonote_core/blockchain.cpp
+++ b/src/cryptonote_core/blockchain.cpp
@@ -1818,15 +1818,10 @@ bool Blockchain::get_output_distribution(uint64_t amount, uint64_t from_height,
{
std::vector<uint64_t> heights;
heights.reserve(to_height + 1 - start_height);
- uint64_t real_start_height = start_height > 0 ? start_height-1 : start_height;
- for (uint64_t h = real_start_height; h <= to_height; ++h)
+ for (uint64_t h = start_height; h <= to_height; ++h)
heights.push_back(h);
distribution = m_db->get_block_cumulative_rct_outputs(heights);
- if (start_height > 0)
- {
- base = distribution[0];
- distribution.erase(distribution.begin());
- }
+ base = 0;
return true;
}
else