mirror of
https://codeberg.org/anoncontributorxmr/monero.git
synced 2024-11-22 23:42:24 +00:00
cryptonote_core: early out on out of bounds scaling parameter
This commit is contained in:
parent
8eab181fe1
commit
0cc8f7aaa3
1 changed files with 2 additions and 1 deletions
|
@ -3832,6 +3832,8 @@ void Blockchain::get_dynamic_base_fee_estimate_2021_scaling(uint64_t grace_block
|
||||||
const uint8_t version = get_current_hard_fork_version();
|
const uint8_t version = get_current_hard_fork_version();
|
||||||
const uint64_t db_height = m_db->height();
|
const uint64_t db_height = m_db->height();
|
||||||
|
|
||||||
|
CHECK_AND_ASSERT_THROW_MES(grace_blocks <= CRYPTONOTE_REWARD_BLOCKS_WINDOW, "Grace blocks invalid In 2021 fee scaling estimate.");
|
||||||
|
|
||||||
// we want Mlw = median of max((min(Mbw, 1.7 * Ml), Zm), Ml / 1.7)
|
// we want Mlw = median of max((min(Mbw, 1.7 * Ml), Zm), Ml / 1.7)
|
||||||
// Mbw: block weight for the last 99990 blocks, 0 for the next 10
|
// Mbw: block weight for the last 99990 blocks, 0 for the next 10
|
||||||
// Ml: penalty free zone (dynamic), aka long_term_median, aka median of max((min(Mb, 1.7 * Ml), Zm), Ml / 1.7)
|
// Ml: penalty free zone (dynamic), aka long_term_median, aka median of max((min(Mb, 1.7 * Ml), Zm), Ml / 1.7)
|
||||||
|
@ -3845,7 +3847,6 @@ void Blockchain::get_dynamic_base_fee_estimate_2021_scaling(uint64_t grace_block
|
||||||
const uint64_t Mlw_penalty_free_zone_for_wallet = std::max<uint64_t>(rm.median(), CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V5);
|
const uint64_t Mlw_penalty_free_zone_for_wallet = std::max<uint64_t>(rm.median(), CRYPTONOTE_BLOCK_GRANTED_FULL_REWARD_ZONE_V5);
|
||||||
|
|
||||||
// Msw: median over [100 - grace blocks] past + [grace blocks] future blocks
|
// Msw: median over [100 - grace blocks] past + [grace blocks] future blocks
|
||||||
CHECK_AND_ASSERT_THROW_MES(grace_blocks <= 100, "Grace blocks invalid In 2021 fee scaling estimate.");
|
|
||||||
std::vector<uint64_t> weights;
|
std::vector<uint64_t> weights;
|
||||||
get_last_n_blocks_weights(weights, 100 - grace_blocks);
|
get_last_n_blocks_weights(weights, 100 - grace_blocks);
|
||||||
weights.reserve(100);
|
weights.reserve(100);
|
||||||
|
|
Loading…
Reference in a new issue