Skip to content

Commit

Permalink
Revert "Add lock-time to redeem-operation of liquidity-pool (#462)" (#…
Browse files Browse the repository at this point in the history
…472)

This reverts commit f7b5112.
  • Loading branch information
ark930 authored Jan 13, 2022
1 parent 1343358 commit 2230d67
Show file tree
Hide file tree
Showing 11 changed files with 165 additions and 1,935 deletions.
1 change: 0 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 1 addition & 5 deletions pallets/liquidity-mining/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ frame-support = { git = "https://github.com/paritytech/substrate", branch = "pol
frame-benchmarking = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.13", default-features = false, optional = true }
node-primitives = { path = "../../node/primitives", default-features = false }
orml-traits = { version = "0.4.1-dev", default-features = false }
log = { version = "0.4.14", default-features = false }

[dev-dependencies]
sp-core = { git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.13" }
Expand All @@ -32,7 +31,6 @@ std = [
"frame-support/std",
"node-primitives/std",
"orml-traits/std",
"log/std",
]

runtime-benchmarks = [
Expand All @@ -43,6 +41,4 @@ runtime-benchmarks = [

local-benchmarks = [
"pallet-collective/runtime-benchmarks",
]

try-runtime = ["frame-support/try-runtime"]
]
121 changes: 7 additions & 114 deletions pallets/liquidity-mining/src/benchmarking.rs
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,7 @@
use frame_benchmarking::{
account, benchmarks_instance_pallet, impl_benchmark_test_suite, whitelisted_caller,
};
use frame_support::{
assert_ok,
sp_runtime::{sp_std::convert::TryInto, traits::Zero},
sp_std::prelude::*,
};
use frame_support::{assert_ok, sp_runtime::sp_std::convert::TryInto, sp_std::prelude::*};
use frame_system::RawOrigin;
use node_primitives::Balance;

Expand Down Expand Up @@ -67,9 +63,7 @@ benchmarks_instance_pallet! {
PoolType::Farming,
duration,
min_deposit_to_start,
0u128.saturated_into(),
Zero::zero(),
0,
0u128.saturated_into()
));
}: _(RawOrigin::Signed(caller.clone()), 0)

Expand All @@ -93,9 +87,7 @@ benchmarks_instance_pallet! {
PoolType::Farming,
duration,
min_deposit_to_start,
0u128.saturated_into(),
Zero::zero(),
0,
0u128.saturated_into()
));

assert_ok!(LM::<T,I>::charge(RawOrigin::Signed(investor).into(), 0));
Expand All @@ -122,9 +114,7 @@ benchmarks_instance_pallet! {
PoolType::Farming,
duration,
min_deposit_to_start,
0u128.saturated_into(),
Zero::zero(),
0,
0u128.saturated_into()
));

assert_ok!(LM::<T,I>::charge(RawOrigin::Signed(investor).into(), 0));
Expand Down Expand Up @@ -162,9 +152,7 @@ benchmarks_instance_pallet! {
PoolType::Farming,
duration,
min_deposit_to_start,
0u128.saturated_into(),
Zero::zero(),
0,
0u128.saturated_into()
));

assert_ok!(LM::<T,I>::charge(RawOrigin::Signed(investor).into(), 0));
Expand Down Expand Up @@ -202,9 +190,7 @@ benchmarks_instance_pallet! {
PoolType::Farming,
duration,
min_deposit_to_start,
0u128.saturated_into(),
Zero::zero(),
0,
0u128.saturated_into()
));

assert_ok!(LM::<T,I>::charge(RawOrigin::Signed(investor).into(), 0));
Expand Down Expand Up @@ -244,9 +230,7 @@ benchmarks_instance_pallet! {
PoolType::Farming,
duration,
min_deposit_to_start,
0u128.saturated_into(),
Zero::zero(),
0,
0u128.saturated_into()
));

assert_ok!(LM::<T,I>::charge(RawOrigin::Signed(investor).into(), 0));
Expand All @@ -257,97 +241,6 @@ benchmarks_instance_pallet! {
run_to_block::<T,I>(1u128.saturated_into());

}: _(RawOrigin::Signed(caller.clone()), 0)

unlock {
let duration = T::MinimumDuration::get().saturating_add(1u128.saturated_into());
let min_deposit_to_start = T::MinimumDepositOfUser::get();
let amount: BalanceOf<T,I> = UNIT.saturated_into();
let redeem_limit_time: BlockNumberFor<T> = 100u32.saturated_into();
let unlock_limit_nums = 3;

let investor: T::AccountId = account("lm", 0, 0);
assert_ok!(T::MultiCurrency::deposit(REWARD_1, &investor, amount));
assert_ok!(T::MultiCurrency::deposit(REWARD_2, &investor, amount));

let caller: T::AccountId = whitelisted_caller();
assert_ok!(T::MultiCurrency::deposit(FARMING_DEPOSIT_1, &caller, amount));
assert_ok!(T::MultiCurrency::deposit(FARMING_DEPOSIT_2, &caller, amount));

assert_ok!(LM::<T,I>::create_pool(
(FARMING_DEPOSIT_1, FARMING_DEPOSIT_2),
(REWARD_1, amount),
vec![(REWARD_2, amount)].try_into().unwrap(),
PoolType::Farming,
duration,
min_deposit_to_start,
0u128.saturated_into(),
redeem_limit_time,
unlock_limit_nums,
));

assert_ok!(LM::<T,I>::charge(RawOrigin::Signed(investor).into(), 0));

assert_ok!(LM::<T,I>::deposit(RawOrigin::Signed(caller.clone()).into(), 0, amount));

// Run to block
run_to_block::<T,I>(duration);

assert_ok!(LM::<T,I>::redeem_all(RawOrigin::Signed(caller.clone()).into(), 0));

run_to_block::<T,I>(duration.saturating_add(redeem_limit_time));

}: _(RawOrigin::Signed(caller.clone()), 0)
verify {
let pool = LM::<T,I>::pool(0);
let deposit_data = LM::<T,I>::user_deposit_data(0, caller.clone());
assert!(pool.is_none());
assert!(deposit_data.is_none());
}

cancel_unlock{
let duration = T::MinimumDuration::get().saturating_add(1u128.saturated_into());
let min_deposit_to_start = T::MinimumDepositOfUser::get();
let amount: BalanceOf<T,I> = UNIT.saturated_into();
let redeem_limit_time: BlockNumberFor<T> = 100u32.saturated_into();
let unlock_limit_nums = 3;

let investor: T::AccountId = account("lm", 0, 0);
assert_ok!(T::MultiCurrency::deposit(REWARD_1, &investor, amount));
assert_ok!(T::MultiCurrency::deposit(REWARD_2, &investor, amount));

let caller: T::AccountId = whitelisted_caller();
let double_amount = amount.saturating_mul(2u128.saturated_into());
assert_ok!(T::MultiCurrency::deposit(FARMING_DEPOSIT_1, &caller, double_amount));
assert_ok!(T::MultiCurrency::deposit(FARMING_DEPOSIT_2, &caller, double_amount));

assert_ok!(LM::<T,I>::create_pool(
(FARMING_DEPOSIT_1, FARMING_DEPOSIT_2),
(REWARD_1, amount),
vec![(REWARD_2, amount)].try_into().unwrap(),
PoolType::Farming,
duration,
min_deposit_to_start,
0u128.saturated_into(),
redeem_limit_time,
unlock_limit_nums,
));

assert_ok!(LM::<T,I>::charge(RawOrigin::Signed(investor).into(), 0));

assert_ok!(LM::<T,I>::deposit(RawOrigin::Signed(caller.clone()).into(), 0, double_amount));

// Run to block
run_to_block::<T,I>(1u32.saturated_into());

assert_ok!(LM::<T,I>::redeem(RawOrigin::Signed(caller.clone()).into(), 0, amount));

}: _(RawOrigin::Signed(caller.clone()), 0, 0)
verify {
let pool = LM::<T,I>::pool(0);
let deposit_data = LM::<T,I>::user_deposit_data(0, caller.clone());
assert!(pool.unwrap().pending_unlock_nums == 0);
assert!(deposit_data.unwrap().pending_unlocks.len() == 0);
}
}

impl_benchmark_test_suite!(LM, crate::mock::new_test_ext(), crate::mock::Test);
Loading

0 comments on commit 2230d67

Please sign in to comment.