diff --git a/src/currency_core/blockchain_storage.cpp b/src/currency_core/blockchain_storage.cpp index 4c3a185c..2b68f647 100644 --- a/src/currency_core/blockchain_storage.cpp +++ b/src/currency_core/blockchain_storage.cpp @@ -1821,8 +1821,8 @@ bool blockchain_storage::is_reorganize_required(const block_extended_info& main_ main_cumul_diff.pow_diff = main_pow_diff_end - main_pow_diff_begin; //TODO: measurement of precise cumulative difficult - wide_difficulty_type alt = get_a_to_b_relative_cumulative_difficulty(difficulty_pos_at_split_point, difficulty_pow_at_split_point, alt_cumul_diff, main_cumul_diff); - wide_difficulty_type main = get_a_to_b_relative_cumulative_difficulty(difficulty_pos_at_split_point, difficulty_pow_at_split_point, main_cumul_diff, alt_cumul_diff); + boost::multiprecision::uint1024_t alt = get_a_to_b_relative_cumulative_difficulty(difficulty_pos_at_split_point, difficulty_pow_at_split_point, alt_cumul_diff, main_cumul_diff); + boost::multiprecision::uint1024_t main = get_a_to_b_relative_cumulative_difficulty(difficulty_pos_at_split_point, difficulty_pow_at_split_point, main_cumul_diff, alt_cumul_diff); LOG_PRINT_L1("[FORK_CHOICE]: " << ENDL << "difficulty_pow_at_split_point:" << difficulty_pow_at_split_point << ENDL << "difficulty_pos_at_split_point:" << difficulty_pos_at_split_point << ENDL diff --git a/src/currency_core/currency_format_utils.cpp b/src/currency_core/currency_format_utils.cpp index 27b908c4..d412947e 100644 --- a/src/currency_core/currency_format_utils.cpp +++ b/src/currency_core/currency_format_utils.cpp @@ -2702,7 +2702,7 @@ namespace currency } - wide_difficulty_type get_a_to_b_relative_cumulative_difficulty(const wide_difficulty_type& difficulty_pos_at_split_point, + boost::multiprecision::uint1024_t get_a_to_b_relative_cumulative_difficulty(const wide_difficulty_type& difficulty_pos_at_split_point, const wide_difficulty_type& difficulty_pow_at_split_point, const difficulties& a_diff, const difficulties& b_diff ) @@ -2717,20 +2717,20 @@ namespace currency boost::multiprecision::uint1024_t res = (basic_sum * a_pow_cumulative_difficulty * a_pos_cumulative_difficulty) / (boost::multiprecision::uint1024_t(b_pow_cumulative_difficulty)*b_pos_cumulative_difficulty); - if (res > boost::math::tools::max_value()) - { - ASSERT_MES_AND_THROW("[INTERNAL ERROR]: Failed to get_a_to_b_relative_cumulative_difficulty, res = " << res << ENDL - << ", difficulty_pos_at_split_point: " << difficulty_pos_at_split_point << ENDL - << ", difficulty_pow_at_split_point:" << difficulty_pow_at_split_point << ENDL - << ", a_pos_cumulative_difficulty:" << a_pos_cumulative_difficulty << ENDL - << ", b_pos_cumulative_difficulty:" << b_pos_cumulative_difficulty << ENDL - << ", a_pow_cumulative_difficulty:" << a_pow_cumulative_difficulty << ENDL - << ", b_pow_cumulative_difficulty:" << b_pow_cumulative_difficulty << ENDL - ); - } +// if (res > boost::math::tools::max_value()) +// { +// ASSERT_MES_AND_THROW("[INTERNAL ERROR]: Failed to get_a_to_b_relative_cumulative_difficulty, res = " << res << ENDL +// << ", difficulty_pos_at_split_point: " << difficulty_pos_at_split_point << ENDL +// << ", difficulty_pow_at_split_point:" << difficulty_pow_at_split_point << ENDL +// << ", a_pos_cumulative_difficulty:" << a_pos_cumulative_difficulty << ENDL +// << ", b_pos_cumulative_difficulty:" << b_pos_cumulative_difficulty << ENDL +// << ", a_pow_cumulative_difficulty:" << a_pow_cumulative_difficulty << ENDL +// << ", b_pow_cumulative_difficulty:" << b_pow_cumulative_difficulty << ENDL +// ); +// } TRY_ENTRY(); - wide_difficulty_type short_res = res.convert_to(); - return short_res; +// wide_difficulty_type short_res = res.convert_to(); + return res; CATCH_ENTRY_WITH_FORWARDING_EXCEPTION(); } diff --git a/src/currency_core/currency_format_utils.h b/src/currency_core/currency_format_utils.h index 4b1aa928..513df6f1 100644 --- a/src/currency_core/currency_format_utils.h +++ b/src/currency_core/currency_format_utils.h @@ -604,7 +604,7 @@ namespace currency wide_difficulty_type pow_diff; }; - wide_difficulty_type get_a_to_b_relative_cumulative_difficulty(const wide_difficulty_type& difficulty_pos_at_split_point, + boost::multiprecision::uint1024_t get_a_to_b_relative_cumulative_difficulty(const wide_difficulty_type& difficulty_pos_at_split_point, const wide_difficulty_type& difficulty_pow_at_split_point, const difficulties& a_diff, const difficulties& b_diff