Overview
The boost/stake system (stake, unstake, set_boost, set_global_multiplier, get_credits) is undertested. The core invariant — that credits earned under the old boost config are preserved when the boost changes — is not verified.
Missing Test Cases
compute_total_stake (unit test the private fn via public interface)
set_boost
set_global_multiplier
get_credits
Credit preservation across boost changes
Acceptance Criteria
Overview
The boost/stake system (
stake,unstake,set_boost,set_global_multiplier,get_credits) is undertested. The core invariant — that credits earned under the old boost config are preserved when the boost changes — is not verified.Missing Test Cases
compute_total_stake(unit test the private fn via public interface)set_boostboost_appliedevent emitted with(user, allocation_pct, multiplier)set_global_multipliermult_setevent emittedget_creditsCredit preservation across boost changes
→ credits = (unboosted * 500) + (boosted * 500)
(NOT retroactively recalculated for first 500 ledgers)
Acceptance Criteria
compute_creditsarithmetic verified with exact expected valuesget_creditsvscalculate_creditsdistinction documented in test comments