Skip to content

Commit

Permalink
feat: add tests for lockup period
Browse files Browse the repository at this point in the history
  • Loading branch information
munlite committed Apr 1, 2024
1 parent c1f2b24 commit f1d8399
Show file tree
Hide file tree
Showing 8 changed files with 243 additions and 184 deletions.
4 changes: 2 additions & 2 deletions sources/stake.move
Original file line number Diff line number Diff line change
Expand Up @@ -1266,12 +1266,12 @@ module harvest::stake {

#[test_only]
/// Access staking pool fields with no getters.
public fun get_pool_info<S, R>(pool_addr: address): (u64, u128, u64, u64, u128) acquires StakePool {
public fun get_pool_info<S, R>(pool_addr: address): (u64, u128, u64, u64, u128, u64) acquires StakePool {
let pool = borrow_global<StakePool<S, R>>(pool_addr);
let epoch = vector::borrow(&pool.epochs, get_pool_current_epoch_inner(pool));

(epoch.reward_per_sec, epoch.accum_reward, epoch.last_update_time,
coin::value<R>(&pool.reward_coins), pool.scale)
coin::value<R>(&pool.reward_coins), pool.scale, pool.lockup_period)
}

#[test_only]
Expand Down
77 changes: 51 additions & 26 deletions tests/emergency_tests.move
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,9 @@ module harvest::emergency_tests {
// register staking pool
let reward_coins = mint_default_coin<RewardCoin>(12345 * ONE_COIN);
let duration = 12345;
let lockup_period = 12345;
stake::register_pool<StakeCoin, RewardCoin>(&harvest, reward_coins,
duration, option::none(), vector[]);
duration, lockup_period, option::none(), vector[]);
}

#[test]
Expand All @@ -88,8 +89,9 @@ module harvest::emergency_tests {
// register staking pool
let reward_coins = mint_default_coin<RewardCoin>(12345 * ONE_COIN);
let duration = 12345;
let lockup_period = 12345;
stake::register_pool<StakeCoin, RewardCoin>(&harvest, reward_coins,
duration, option::none(), vector[]);
duration, lockup_period, option::none(), vector[]);

stake::enable_emergency<StakeCoin, RewardCoin>(&emergency_admin, @harvest);

Expand All @@ -108,8 +110,9 @@ module harvest::emergency_tests {
// register staking pool
let reward_coins = mint_default_coin<RewardCoin>(12345 * ONE_COIN);
let duration = 12345;
let lockup_period = 12345;
stake::register_pool<StakeCoin, RewardCoin>(&harvest, reward_coins,
duration, option::none(), vector[]);
duration, lockup_period, option::none(), vector[]);

let coins =
coin::withdraw<StakeCoin>(&alice_acc, 1 * ONE_COIN);
Expand All @@ -129,8 +132,9 @@ module harvest::emergency_tests {
// register staking pool
let reward_coins = mint_default_coin<RewardCoin>(12345 * ONE_COIN);
let duration = 12345;
let lockup_period = 12345;
stake::register_pool<StakeCoin, RewardCoin>(&harvest, reward_coins,
duration, option::none(), vector[]);
duration, lockup_period, option::none(), vector[]);

stake::enable_emergency<StakeCoin, RewardCoin>(&emergency_admin, @harvest);

Expand All @@ -148,8 +152,9 @@ module harvest::emergency_tests {
// register staking pool
let reward_coins = mint_default_coin<RewardCoin>(15768000000000);
let duration = 15768000;
let lockup_period = 15768000;
stake::register_pool<StakeCoin, RewardCoin>(&harvest, reward_coins,
duration, option::none(), vector[]);
duration, lockup_period, option::none(), vector[]);

let coins =
coin::withdraw<StakeCoin>(&alice_acc, 1 * ONE_COIN);
Expand Down Expand Up @@ -177,13 +182,14 @@ module harvest::emergency_tests {
// register staking pool with rewards and boost config
let reward_coins = mint_default_coin<RewardCoin>(15768000000000);
let duration = 15768000;
let lockup_period = 15768000;
let boost_config = stake::create_boost_config(
@collection_owner,
collection_name,
5
);
stake::register_pool<StakeCoin, RewardCoin>(&harvest, reward_coins,
duration, option::some(boost_config), vector[]);
duration, lockup_period, option::some(boost_config), vector[]);

let coins =
coin::withdraw<StakeCoin>(&alice_acc, 1 * ONE_COIN);
Expand All @@ -208,13 +214,14 @@ module harvest::emergency_tests {
// register staking pool with rewards and boost config
let reward_coins = mint_default_coin<RewardCoin>(15768000000000);
let duration = 15768000;
let lockup_period = 15768000;
let boost_config = stake::create_boost_config(
@collection_owner,
collection_name,
5
);
stake::register_pool<StakeCoin, RewardCoin>(&harvest, reward_coins,
duration, option::some(boost_config), vector[]);
duration, lockup_period, option::some(boost_config), vector[]);

let coins =
coin::withdraw<StakeCoin>(&alice_acc, 1 * ONE_COIN);
Expand All @@ -240,8 +247,9 @@ module harvest::emergency_tests {
// register staking pool
let reward_coins = mint_default_coin<RewardCoin>(12345 * ONE_COIN);
let duration = 12345;
let lockup_period = 12345;
stake::register_pool<StakeCoin, RewardCoin>(&harvest, reward_coins,
duration, option::none(), vector[]);
duration, lockup_period, option::none(), vector[]);

stake_config::enable_global_emergency(&emergency_admin);

Expand All @@ -260,8 +268,9 @@ module harvest::emergency_tests {
// register staking pool
let reward_coins = mint_default_coin<RewardCoin>(12345 * ONE_COIN);
let duration = 12345;
let lockup_period = 12345;
stake::register_pool<StakeCoin, RewardCoin>(&harvest, reward_coins,
duration, option::none(), vector[]);
duration, lockup_period, option::none(), vector[]);

let coins =
coin::withdraw<StakeCoin>(&alice_acc, 1 * ONE_COIN);
Expand All @@ -281,8 +290,9 @@ module harvest::emergency_tests {
// register staking pool
let reward_coins = mint_default_coin<RewardCoin>(12345 * ONE_COIN);
let duration = 12345;
let lockup_period = 12345;
stake::register_pool<StakeCoin, RewardCoin>(&harvest, reward_coins,
duration, option::none(), vector[]);
duration, lockup_period ,option::none(), vector[]);

stake_config::enable_global_emergency(&emergency_admin);

Expand All @@ -300,8 +310,9 @@ module harvest::emergency_tests {
// register staking pool
let reward_coins = mint_default_coin<RewardCoin>(12345 * ONE_COIN);
let duration = 12345;
let lockup_period = 12345;
stake::register_pool<StakeCoin, RewardCoin>(&harvest, reward_coins,
duration, option::none(), vector[]);
duration, lockup_period, option::none(), vector[]);

let coins =
coin::withdraw<StakeCoin>(&alice_acc, 1 * ONE_COIN);
Expand Down Expand Up @@ -329,13 +340,14 @@ module harvest::emergency_tests {
// register staking pool with rewards and boost config
let reward_coins = mint_default_coin<RewardCoin>(15768000000000);
let duration = 15768000;
let lockup_period = 15768000;
let boost_config = stake::create_boost_config(
@collection_owner,
collection_name,
5
);
stake::register_pool<StakeCoin, RewardCoin>(&harvest, reward_coins,
duration, option::some(boost_config), vector[]);
duration, lockup_period, option::some(boost_config), vector[]);

let coins =
coin::withdraw<StakeCoin>(&alice_acc, 1 * ONE_COIN);
Expand All @@ -360,13 +372,14 @@ module harvest::emergency_tests {
// register staking pool with rewards and boost config
let reward_coins = mint_default_coin<RewardCoin>(15768000000000);
let duration = 15768000;
let lockup_period = 15768000;
let boost_config = stake::create_boost_config(
@collection_owner,
collection_name,
5
);
stake::register_pool<StakeCoin, RewardCoin>(&harvest, reward_coins,
duration, option::some(boost_config), vector[]);
duration, lockup_period, option::some(boost_config), vector[]);

let coins =
coin::withdraw<StakeCoin>(&alice_acc, 1 * ONE_COIN);
Expand All @@ -390,8 +403,9 @@ module harvest::emergency_tests {
// register staking pool
let reward_coins = mint_default_coin<RewardCoin>(12345 * ONE_COIN);
let duration = 12345;
let lockup_period = 12345;
stake::register_pool<StakeCoin, RewardCoin>(&harvest, reward_coins,
duration, option::none(), vector[]);
duration, lockup_period, option::none(), vector[]);

stake_config::enable_global_emergency(&emergency_admin);

Expand All @@ -408,8 +422,9 @@ module harvest::emergency_tests {
// register staking pool
let reward_coins = mint_default_coin<RewardCoin>(12345 * ONE_COIN);
let duration = 12345;
let lockup_period = 12345;
stake::register_pool<StakeCoin, RewardCoin>(&harvest, reward_coins,
duration, option::none(), vector[]);
duration, lockup_period, option::none(), vector[]);

stake::enable_emergency<StakeCoin, RewardCoin>(&alice_acc, @harvest);
}
Expand All @@ -422,8 +437,9 @@ module harvest::emergency_tests {
// register staking pool
let reward_coins = mint_default_coin<RewardCoin>(12345 * ONE_COIN);
let duration = 12345;
let lockup_period = 12345;
stake::register_pool<StakeCoin, RewardCoin>(&harvest, reward_coins,
duration, option::none(), vector[]);
duration, lockup_period, option::none(), vector[]);

stake::enable_emergency<StakeCoin, RewardCoin>(&emergency_admin, @harvest);
stake::enable_emergency<StakeCoin, RewardCoin>(&emergency_admin, @harvest);
Expand All @@ -438,8 +454,9 @@ module harvest::emergency_tests {
// register staking pool
let reward_coins = mint_default_coin<RewardCoin>(12345 * ONE_COIN);
let duration = 12345;
let lockup_period = 12345;
stake::register_pool<StakeCoin, RewardCoin>(&harvest, reward_coins,
duration, option::none(), vector[]);
duration, lockup_period, option::none(), vector[]);

let coins =
coin::withdraw<StakeCoin>(&alice_acc, 1 * ONE_COIN);
Expand Down Expand Up @@ -470,13 +487,14 @@ module harvest::emergency_tests {
// register staking pool with rewards and boost config
let reward_coins = mint_default_coin<RewardCoin>(15768000000000);
let duration = 15768000;
let lockup_period = 15768000;
let boost_config = stake::create_boost_config(
@collection_owner,
collection_name,
5
);
stake::register_pool<StakeCoin, RewardCoin>(&harvest, reward_coins,
duration, option::some(boost_config), vector[]);
duration, lockup_period, option::some(boost_config), vector[]);

let coins =
coin::withdraw<StakeCoin>(&alice_acc, 1 * ONE_COIN);
Expand Down Expand Up @@ -506,8 +524,9 @@ module harvest::emergency_tests {
// register staking pool
let reward_coins = mint_default_coin<RewardCoin>(12345 * ONE_COIN);
let duration = 12345;
let lockup_period = 12345;
stake::register_pool<StakeCoin, RewardCoin>(&harvest, reward_coins,
duration, option::none(), vector[]);
duration, lockup_period, option::none(), vector[]);

let coins =
coin::withdraw<StakeCoin>(&alice_acc, 1 * ONE_COIN);
Expand All @@ -528,10 +547,11 @@ module harvest::emergency_tests {
let reward_coins_1 = mint_default_coin<RewardCoin>(12345 * ONE_COIN);
let reward_coins_2 = mint_default_coin<StakeCoin>(12345 * ONE_COIN);
let duration = 12345;
let lockup_period = 12345;
stake::register_pool<StakeCoin, RewardCoin>(&harvest, reward_coins_1,
duration, option::none(), vector[]);
duration, lockup_period, option::none(), vector[]);
stake::register_pool<RewardCoin, StakeCoin>(&harvest, reward_coins_2,
duration, option::none(), vector[]);
duration, lockup_period, option::none(), vector[]);

stake::enable_emergency<RewardCoin, StakeCoin>(&emergency_admin, @harvest);

Expand All @@ -549,8 +569,9 @@ module harvest::emergency_tests {
// register staking pool
let reward_coins = mint_default_coin<RewardCoin>(12345 * ONE_COIN);
let duration = 12345;
let lockup_period = 12345;
stake::register_pool<StakeCoin, RewardCoin>(&harvest, reward_coins,
duration, option::none(), vector[]);
duration, lockup_period, option::none(), vector[]);

stake_config::enable_global_emergency(&emergency_admin);
stake_config::enable_global_emergency(&emergency_admin);
Expand All @@ -565,8 +586,9 @@ module harvest::emergency_tests {
// register staking pool
let reward_coins = mint_default_coin<RewardCoin>(12345 * ONE_COIN);
let duration = 12345;
let lockup_period = 12345;
stake::register_pool<StakeCoin, RewardCoin>(&harvest, reward_coins,
duration, option::none(), vector[]);
duration, lockup_period, option::none(), vector[]);

let coins =
coin::withdraw<StakeCoin>(&alice_acc, 1 * ONE_COIN);
Expand Down Expand Up @@ -598,13 +620,14 @@ module harvest::emergency_tests {
// register staking pool with rewards and boost config
let reward_coins = mint_default_coin<RewardCoin>(15768000000000);
let duration = 15768000;
let lockup_period = 15768000;
let boost_config = stake::create_boost_config(
@collection_owner,
collection_name,
5
);
stake::register_pool<StakeCoin, RewardCoin>(&harvest, reward_coins,
duration, option::some(boost_config), vector[]);
duration, lockup_period, option::some(boost_config), vector[]);

let coins =
coin::withdraw<StakeCoin>(&alice_acc, 1 * ONE_COIN);
Expand Down Expand Up @@ -649,8 +672,9 @@ module harvest::emergency_tests {

let reward_coins = mint_default_coin<RewardCoin>(12345 * ONE_COIN);
let duration = 12345;
let lockup_period = 12345;
stake::register_pool<StakeCoin, RewardCoin>(&alice, reward_coins,
duration, option::none(), vector[]);
duration, lockup_period, option::none(), vector[]);

stake::enable_emergency<StakeCoin, RewardCoin>(&alice, @alice);

Expand Down Expand Up @@ -679,8 +703,9 @@ module harvest::emergency_tests {

let reward_coins = mint_default_coin<RewardCoin>(12345 * ONE_COIN);
let duration = 12345;
let lockup_period = 12345;
stake::register_pool<StakeCoin, RewardCoin>(&alice, reward_coins,
duration, option::none(), vector[]);
duration, lockup_period, option::none(), vector[]);

stake_config::enable_global_emergency(&alice);

Expand Down
Loading

0 comments on commit f1d8399

Please sign in to comment.