Skip to content

Commit 7881500

Browse files
test: add get_stakers 100% power test
1 parent 86c458f commit 7881500

File tree

2 files changed

+28
-2
lines changed

2 files changed

+28
-2
lines changed

workspace/apps/staking/contracts/src/flow_test/test.cairo

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use staking::pool::pool::Pool;
1010
use staking::pool::pool::Pool::STRK_CONFIG;
1111
use staking::pool::utils::compute_rewards_rounded_down;
1212
use 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};
1414
use 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,
@@ -2478,3 +2478,29 @@ fn get_stakers_switch_delegation_flow_test() {
24782478
assert!(stakers == expected_stakers);
24792479
}
24802480

2481+
/// Flow:
2482+
/// Staker stake.
2483+
/// Delegator delegate BTC.
2484+
/// Test staking power in get_stakers is 100%.
2485+
#[test]
2486+
fn get_stakers_staking_power_100_flow_test() {
2487+
let cfg: StakingInitConfig = Default::default();
2488+
let mut system = SystemConfigTrait::basic_stake_flow_cfg(:cfg).deploy();
2489+
let stake_amount = system.staking.get_min_stake();
2490+
let btc_delegation_amount = TEST_MIN_BTC_FOR_REWARDS;
2491+
let staking_consensus = system.staking.consensus_dispatcher();
2492+
let staker = system.new_staker(amount: stake_amount);
2493+
system.stake(staker: staker, amount: stake_amount, pool_enabled: true, commission: 200);
2494+
let btc_pool = system.set_open_for_delegation(staker: staker, token_address: system.btc_token.contract_address());
2495+
let delegator = system.new_btc_delegator(amount: btc_delegation_amount, token: system.btc_token);
2496+
system.delegate_btc(delegator: delegator, pool: btc_pool, amount: btc_delegation_amount, token: system.btc_token);
2497+
system.advance_k_epochs();
2498+
2499+
// Test get_stakers.
2500+
let stakers = staking_consensus.get_stakers(epoch_id: system.staking.get_current_epoch());
2501+
let expected_stakers = array![
2502+
(staker.staker.address, STAKING_POWER_BASE_VALUE, Option::None),
2503+
]
2504+
.span();
2505+
assert!(stakers == expected_stakers);
2506+
}

workspace/apps/staking/contracts/src/staking/utils.cairo

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ use starkware_utils::storage::iterable_map::{
2323
};
2424
use starkware_utils::trace::trace::{Trace, TraceTrait};
2525

26-
const STAKING_POWER_BASE_VALUE: u128 = 10_u128.pow(10);
26+
pub(crate) const STAKING_POWER_BASE_VALUE: u128 = 10_u128.pow(10);
2727
pub(crate) const STRK_WEIGHT_FACTOR: u128 = STAKING_POWER_BASE_VALUE
2828
* (ALPHA_DENOMINATOR - ALPHA)
2929
/ ALPHA_DENOMINATOR;

0 commit comments

Comments
 (0)