@@ -3032,6 +3032,51 @@ fn update_rewards_multiple_btc_pools_flow_test() {
30323032 assert! (delegator_rewards_18 == expected_pool_rewards );
30333033}
30343034
3035+ /// Flow:
3036+ /// Start consensus rewards.
3037+ /// Staker stake with STRK pool.
3038+ /// Open BTC pool.
3039+ /// Advance K epochs.
3040+ /// update_rewards.
3041+ /// Test staker rewards.
3042+ #[test]
3043+ fn update_rewards_empty_pools_flow_test () {
3044+ let cfg : StakingInitConfig = Default :: default ();
3045+ let mut system = SystemConfigTrait :: basic_stake_flow_cfg (: cfg ). deploy ();
3046+ let stake_amount = system . staking. get_min_stake ();
3047+ let staker = system . new_staker (amount : stake_amount );
3048+ let commission = 200 ;
3049+ let staking_contract = system . staking. address;
3050+ let minting_curve_contract = system . minting_curve. address;
3051+ system . stake (: staker , amount : stake_amount , pool_enabled : true , : commission );
3052+ let strk_pool = system . staking. get_pool (: staker );
3053+ let btc_pool = system
3054+ . set_open_for_delegation (: staker , token_address : system . btc_token. contract_address ());
3055+ system . start_consensus_rewards ();
3056+
3057+ system . update_rewards (: staker , disable_rewards : false );
3058+
3059+ // Calculate expected rewards.
3060+ let (expected_staker_rewards , _ ) = calculate_staker_strk_rewards_with_balances_v3 (
3061+ amount_own : stake_amount ,
3062+ pool_amount : Zero :: zero (),
3063+ : commission ,
3064+ : staking_contract ,
3065+ : minting_curve_contract ,
3066+ );
3067+ assert! (expected_staker_rewards . is_non_zero ());
3068+
3069+ // Claim rewards - test staker rewards
3070+ let staker_rewards = system . staker_claim_rewards (: staker );
3071+ assert! (staker_rewards == expected_staker_rewards );
3072+
3073+ // Test pool balances
3074+ let strk_pool_balance = system . token. balance_of (account : strk_pool );
3075+ let btc_pool_balance = system . token. balance_of (account : btc_pool );
3076+ assert! (strk_pool_balance . is_zero ());
3077+ assert! (btc_pool_balance . is_zero ());
3078+ }
3079+
30353080/// Flow:
30363081/// 2 BTC tokens (A and B) added - test tokens
30373082/// Enable token A - test tokens
0 commit comments