@@ -10,7 +10,7 @@ use staking::pool::pool::Pool;
1010use staking :: pool :: pool :: Pool :: STRK_CONFIG ;
1111use staking :: pool :: utils :: compute_rewards_rounded_down;
1212use staking :: staking :: interface :: {IStakingConsensusDispatcherTrait , IStakingDispatcherTrait };
13- use staking :: staking :: utils :: {BTC_WEIGHT_FACTOR , STRK_WEIGHT_FACTOR };
13+ use staking :: staking :: utils :: {BTC_WEIGHT_FACTOR , STAKING_POWER_BASE_VALUE , STRK_WEIGHT_FACTOR };
1414use staking :: test_utils :: constants :: {
1515 BTC_18D_CONFIG , BTC_5D_CONFIG , BTC_8D_CONFIG , PUBLIC_KEY , STRK_BASE_VALUE ,
1616 TEST_MIN_BTC_FOR_REWARDS ,
@@ -2561,3 +2561,29 @@ fn get_stakers_switch_delegation_flow_test() {
25612561 assert! (stakers == expected_stakers );
25622562}
25632563
2564+ /// Flow:
2565+ /// Staker stake.
2566+ /// Delegator delegate BTC.
2567+ /// Test staking power in get_stakers is 100%.
2568+ #[test]
2569+ fn get_stakers_staking_power_100_flow_test () {
2570+ let cfg : StakingInitConfig = Default :: default ();
2571+ let mut system = SystemConfigTrait :: basic_stake_flow_cfg (: cfg ). deploy ();
2572+ let stake_amount = system . staking. get_min_stake ();
2573+ let btc_delegation_amount = TEST_MIN_BTC_FOR_REWARDS ;
2574+ let staking_consensus = system . staking. consensus_dispatcher ();
2575+ let staker = system . new_staker (amount : stake_amount );
2576+ system . stake (staker : staker , amount : stake_amount , pool_enabled : true , commission : 200 );
2577+ let btc_pool = system . set_open_for_delegation (staker : staker , token_address : system . btc_token. contract_address ());
2578+ let delegator = system . new_btc_delegator (amount : btc_delegation_amount , token : system . btc_token);
2579+ system . delegate_btc (delegator : delegator , pool : btc_pool , amount : btc_delegation_amount , token : system . btc_token);
2580+ system . advance_k_epochs ();
2581+
2582+ // Test get_stakers.
2583+ let stakers = staking_consensus . get_stakers (epoch_id : system . staking. get_current_epoch ());
2584+ let expected_stakers = array! [
2585+ (staker . staker. address, STAKING_POWER_BASE_VALUE , Option :: None ),
2586+ ]
2587+ . span ();
2588+ assert! (stakers == expected_stakers );
2589+ }
0 commit comments