From 588e670089079cbdfbf61465116ee759aa76c3f5 Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Tue, 2 Apr 2019 23:14:41 +0000 Subject: [PATCH] simplewallet: fix output representation offset --- src/simplewallet/simplewallet.cpp | 2 +- src/wallet/wallet2.cpp | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/simplewallet/simplewallet.cpp b/src/simplewallet/simplewallet.cpp index 560c5be24..88ca09683 100644 --- a/src/simplewallet/simplewallet.cpp +++ b/src/simplewallet/simplewallet.cpp @@ -5579,7 +5579,7 @@ bool simple_wallet::print_ring_members(const std::vector ring_str = show_outputs_line(heights, highlight_height); + std::pair ring_str = show_outputs_line(heights, blockchain_height, highlight_height); ostr << ring_str.first << tr("\n|") << ring_str.second << tr("|\n"); } // warn if rings contain keys originating from the same tx or temporally very close block heights diff --git a/src/wallet/wallet2.cpp b/src/wallet/wallet2.cpp index cfe9e18c6..831166d5f 100644 --- a/src/wallet/wallet2.cpp +++ b/src/wallet/wallet2.cpp @@ -964,13 +964,13 @@ gamma_picker::gamma_picker(const std::vector &rct_offsets, double shap gamma = std::gamma_distribution(shape, scale); THROW_WALLET_EXCEPTION_IF(rct_offsets.size() <= CRYPTONOTE_DEFAULT_TX_SPENDABLE_AGE, error::wallet_internal_error, "Bad offset calculation"); const size_t blocks_in_a_year = 86400 * 365 / DIFFICULTY_TARGET_V2; - const size_t blocks_to_consider = rct_offsets.size() < blocks_in_a_year; + const size_t blocks_to_consider = std::min(rct_offsets.size(), blocks_in_a_year); const size_t outputs_to_consider = rct_offsets.back() - (blocks_to_consider < rct_offsets.size() ? rct_offsets[rct_offsets.size() - blocks_to_consider - 1] : 0); begin = rct_offsets.data(); end = rct_offsets.data() + rct_offsets.size() - CRYPTONOTE_DEFAULT_TX_SPENDABLE_AGE; num_rct_outputs = *(end - 1); THROW_WALLET_EXCEPTION_IF(num_rct_outputs == 0, error::wallet_internal_error, "No rct outputs"); - average_output_time = DIFFICULTY_TARGET_V2 * rct_offsets.size() / num_rct_outputs; // this assumes constant target over the whole rct range + average_output_time = DIFFICULTY_TARGET_V2 * blocks_to_consider / outputs_to_consider; // this assumes constant target over the whole rct range }; gamma_picker::gamma_picker(const std::vector &rct_offsets): gamma_picker(rct_offsets, GAMMA_SHAPE, GAMMA_SCALE) {}