aboutsummaryrefslogtreecommitdiff
path: root/src/cryptonote_core
diff options
context:
space:
mode:
authormoneromooo-monero <moneromooo-monero@users.noreply.github.com>2016-04-01 21:42:19 +0100
committermoneromooo-monero <moneromooo-monero@users.noreply.github.com>2016-04-01 21:42:19 +0100
commitdaac1cc259f79e13a02a8f4a28db628ff258d9fe (patch)
tree37b9886118f8cca4bd38d486a82857a8f6a55973 /src/cryptonote_core
parentblockchain: for v3, require miner tx to have well behaved outs (diff)
downloadmonero-daac1cc259f79e13a02a8f4a28db628ff258d9fe.tar.xz
core: remove the block reward accumulation loop
This can generate non decomposed outputs for very large block rewards (or not so large ones if a miner decides to not quantize the block rewards). Out of an abundance of caution, we refuse to generate those. They are still accepted by the consensus code, however.
Diffstat (limited to 'src/cryptonote_core')
-rw-r--r--src/cryptonote_core/cryptonote_format_utils.cpp6
1 files changed, 1 insertions, 5 deletions
diff --git a/src/cryptonote_core/cryptonote_format_utils.cpp b/src/cryptonote_core/cryptonote_format_utils.cpp
index 3c1acd8a9..94f3d51d2 100644
--- a/src/cryptonote_core/cryptonote_format_utils.cpp
+++ b/src/cryptonote_core/cryptonote_format_utils.cpp
@@ -145,11 +145,7 @@ namespace cryptonote
[&out_amounts](uint64_t a_dust) { out_amounts.push_back(a_dust); });
CHECK_AND_ASSERT_MES(1 <= max_outs, false, "max_out must be non-zero");
- while (max_outs < out_amounts.size())
- {
- out_amounts[out_amounts.size() - 2] += out_amounts.back();
- out_amounts.resize(out_amounts.size() - 1);
- }
+ CHECK_AND_ASSERT_MES(max_outs >= out_amounts.size(), false, "max_out exceeded");
uint64_t summary_amounts = 0;
for (size_t no = 0; no < out_amounts.size(); no++)