@ -1005,7 +1005,7 @@ gamma_picker::gamma_picker(const std::vector<uint64_t> &rct_offsets, double shap
const size_t blocks_to_consider = std : : min < size_t > ( 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 ;
end = rct_offsets . data ( ) + rct_offsets . size ( ) - ( std : : max ( 1 , CRYPTONOTE_DEFAULT_TX_SPENDABLE_AGE ) - 1 ) ;
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 * blocks_to_consider / static_cast < double > ( outputs_to_consider ) ; // this assumes constant target over the whole rct range
@ -8408,7 +8408,7 @@ void wallet2::get_outs(std::vector<std::vector<tools::wallet2::get_outs_entry>>
else
{
// the base offset of the first rct output in the first unlocked block (or the one to be if there's none)
num_outs = rct_offsets[ rct_offsets . size ( ) - CRYPTONOTE_DEFAULT_TX_SPENDABLE_AGE ] ;
num_outs = gamma- > get_num_rct_outs ( ) ;
LOG_PRINT_L1 ( " " < < num_outs < < " unlocked rct outputs " ) ;
THROW_WALLET_EXCEPTION_IF ( num_outs = = 0 , error : : wallet_internal_error ,
" histogram reports no unlocked rct outputs, not even ours " ) ;
@ -8692,7 +8692,7 @@ void wallet2::get_outs(std::vector<std::vector<tools::wallet2::get_outs_entry>>
}
bool use_histogram = amount ! = 0 ;
if ( ! use_histogram )
num_outs = rct_offsets[ rct_offsets . size ( ) - CRYPTONOTE_DEFAULT_TX_SPENDABLE_AGE ] ;
num_outs = gamma- > get_num_rct_outs ( ) ;
// make sure the real outputs we asked for are really included, along
// with the correct key and mask: this guards against an active attack