@@ -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 ,
@@ -2498,3 +2498,29 @@ fn get_stakers_switch_delegation_flow_test() {
24982498 assert! (stakers == expected_stakers );
24992499}
25002500
2501+ /// Flow:
2502+ /// Staker stake.
2503+ /// Delegator delegate BTC.
2504+ /// Test staking power in get_stakers is 100%.
2505+ #[test]
2506+ fn get_stakers_staking_power_100_flow_test () {
2507+ let cfg : StakingInitConfig = Default :: default ();
2508+ let mut system = SystemConfigTrait :: basic_stake_flow_cfg (: cfg ). deploy ();
2509+ let stake_amount = system . staking. get_min_stake ();
2510+ let btc_delegation_amount = TEST_MIN_BTC_FOR_REWARDS ;
2511+ let staking_consensus = system . staking. consensus_dispatcher ();
2512+ let staker = system . new_staker (amount : stake_amount );
2513+ system . stake (staker : staker , amount : stake_amount , pool_enabled : true , commission : 200 );
2514+ let btc_pool = system . set_open_for_delegation (staker : staker , token_address : system . btc_token. contract_address ());
2515+ let delegator = system . new_btc_delegator (amount : btc_delegation_amount , token : system . btc_token);
2516+ system . delegate_btc (delegator : delegator , pool : btc_pool , amount : btc_delegation_amount , token : system . btc_token);
2517+ system . advance_k_epochs ();
2518+
2519+ // Test get_stakers.
2520+ let stakers = staking_consensus . get_stakers (epoch_id : system . staking. get_current_epoch ());
2521+ let expected_stakers = array! [
2522+ (staker . staker. address, STAKING_POWER_BASE_VALUE , Option :: None ),
2523+ ]
2524+ . span ();
2525+ assert! (stakers == expected_stakers );
2526+ }
0 commit comments