@ -131,6 +131,9 @@ using namespace cryptonote;
# define GAMMA_SHAPE 19.28
# define GAMMA_SCALE (1 / 1.61)
# define DEFAULT_MIN_OUTPUT_COUNT 5
# define DEFAULT_MIN_OUTPUT_VALUE (2*COIN)
static const std : : string MULTISIG_SIGNATURE_MAGIC = " SigMultisigPkV1 " ;
static const std : : string MULTISIG_EXTRA_INFO_MAGIC = " MultisigxV1 " ;
@ -9373,9 +9376,16 @@ std::vector<wallet2::pending_tx> wallet2::create_transactions_2(std::vector<cryp
idx = pop_best_value ( indices , tx . selected_transfers , true ) ;
// we might not want to add it if it's a large output and we don't have many left
if ( m_transfers [ idx ] . amount ( ) > = m_min_output_value ) {
if ( get_count_above ( m_transfers , * unused_transfers_indices , m_min_output_value ) < m_min_output_count ) {
LOG_PRINT_L2 ( " Second output was not strictly needed, and we're running out of outputs above " < < print_money ( m_min_output_value ) < < " , not adding " ) ;
uint64_t min_output_value = m_min_output_value ;
uint32_t min_output_count = m_min_output_count ;
if ( min_output_value = = 0 & & min_output_count = = 0 )
{
min_output_value = DEFAULT_MIN_OUTPUT_VALUE ;
min_output_count = DEFAULT_MIN_OUTPUT_COUNT ;
}
if ( m_transfers [ idx ] . amount ( ) > = min_output_value ) {
if ( get_count_above ( m_transfers , * unused_transfers_indices , min_output_value ) < min_output_count ) {
LOG_PRINT_L2 ( " Second output was not strictly needed, and we're running out of outputs above " < < print_money ( min_output_value ) < < " , not adding " ) ;
break ;
}
}