Skip to content

Commit

Permalink
please the linter
Browse files Browse the repository at this point in the history
  • Loading branch information
shannonwells committed Jun 21, 2023
1 parent d025d34 commit 5e5f753
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 22 deletions.
25 changes: 20 additions & 5 deletions pallets/capacity/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -477,12 +477,22 @@ pub mod pallet {
/// - [`Error::InvalidTarget`] if `to` does not belong to a registered Provider.
#[pallet::call_index(4)]
#[pallet::weight(T::WeightInfo::unstake())]
pub fn change_staking_target(origin: OriginFor<T>, from: MessageSourceId, to: MessageSourceId, amount: Option<BalanceOf<T>>) -> DispatchResult {
pub fn change_staking_target(
origin: OriginFor<T>,
from: MessageSourceId,
to: MessageSourceId,
amount: Option<BalanceOf<T>>,
) -> DispatchResult {
let staker = ensure_signed(origin)?;
ensure!(StakingTargetLedger::<T>::contains_key(&staker, &from),
Error::<T>::StakerTargetRelationshipNotFound);
ensure!(
StakingTargetLedger::<T>::contains_key(&staker, &from),
Error::<T>::StakerTargetRelationshipNotFound
);
if let Some(value) = amount {
ensure!(value > T::MinimumStakingAmount::get(), Error::<T>::StakingAmountBelowMinimum);
ensure!(
value > T::MinimumStakingAmount::get(),
Error::<T>::StakingAmountBelowMinimum
);
}
ensure!(T::TargetValidator::validate(to), Error::<T>::InvalidTarget);
Self::do_retarget(&staker, &from, &to, &amount)
Expand Down Expand Up @@ -701,7 +711,12 @@ impl<T: Config> Pallet<T> {
}

/// performs the target change
pub fn do_retarget(staker: &T::AccountId, from_msa: &MessageSourceId, to_msa: &MessageSourceId, amount: &Option<BalanceOf<T>>) -> Result<(), DispatchError> {
pub fn do_retarget(
staker: &T::AccountId,
from_msa: &MessageSourceId,
to_msa: &MessageSourceId,
amount: &Option<BalanceOf<T>>,
) -> Result<(), DispatchError> {
// already validated staker has an account,
// already checked that msa of 'from' is targeted by the staker
// already checked that to_msa is valid
Expand Down
44 changes: 29 additions & 15 deletions pallets/capacity/src/tests/change_staking_target_tests.rs
Original file line number Diff line number Diff line change
@@ -1,26 +1,22 @@
use super::{mock::*, testing_utils::*};
use crate::{BalanceOf, CapacityDetails, Config, Error, Event, StakingAccountDetails, StakingTargetDetails};
use crate::{
BalanceOf, CapacityDetails, Config, Error, Event, StakingAccountDetails, StakingTargetDetails,
};
use common_primitives::{
capacity::{
Nontransferable,
Nontransferable, StakingType,
StakingType::{MaximumCapacity, ProviderBoost},
},
msa::MessageSourceId,
};
use frame_support::{assert_noop, assert_ok, traits::WithdrawReasons};
use sp_runtime::ArithmeticError;
use common_primitives::capacity::StakingType;

fn setup_provider(staker: u64, target: MessageSourceId, amount: u64) {
let provider_name = String::from("Cst-") + target.to_string().as_str();
register_provider(target, provider_name);
if amount > 0 {
assert_ok!(Capacity::stake(
RuntimeOrigin::signed(staker),
target,
amount,
ProviderBoost
));
assert_ok!(Capacity::stake(RuntimeOrigin::signed(staker), target, amount, ProviderBoost));
}
}

Expand All @@ -34,7 +30,12 @@ fn test_change_staking_target_parametric_validity() {

let to_target: MessageSourceId = 2;
assert_noop!(
Capacity::change_staking_target(RuntimeOrigin::signed(account), from_target, to_target, Some(0)),
Capacity::change_staking_target(
RuntimeOrigin::signed(account),
from_target,
to_target,
Some(0)
),
Error::<Test>::StakerTargetRelationshipNotFound
);

Expand All @@ -46,18 +47,31 @@ fn test_change_staking_target_parametric_validity() {
));

assert_noop!(
Capacity::change_staking_target(RuntimeOrigin::signed(account), from_target, to_target, Some(0)),
Capacity::change_staking_target(
RuntimeOrigin::signed(account),
from_target,
to_target,
Some(0)
),
Error::<Test>::StakingAmountBelowMinimum
);

assert_noop!(
Capacity::change_staking_target(RuntimeOrigin::signed(account), from_target, to_target, None),
Capacity::change_staking_target(
RuntimeOrigin::signed(account),
from_target,
to_target,
None
),
Error::<Test>::InvalidTarget
);
setup_provider(account, to_target, 0);

assert_ok!(
Capacity::change_staking_target(RuntimeOrigin::signed(account), from_target, to_target, None)
);
assert_ok!(Capacity::change_staking_target(
RuntimeOrigin::signed(account),
from_target,
to_target,
None
));
});
}
2 changes: 1 addition & 1 deletion pallets/capacity/src/tests/mod.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
mod capacity_details_tests;
mod change_staking_target_tests;
mod epochs_tests;
mod eras_tests;
pub mod mock;
Expand All @@ -12,4 +13,3 @@ mod testing_utils;
mod unstaking_tests;
mod withdraw_unstaked_tests;
mod withdrawal_tests;
mod change_staking_target_tests;
2 changes: 1 addition & 1 deletion pallets/capacity/src/tests/stake_and_deposit_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@ fn stake_rewards_works() {
assert_eq!(staking_account.last_rewards_claimed_at, None);
assert_eq!(staking_account.stake_change_unlocking.len(), 0);

let events = staking_events();
let events = staking_events();
assert_eq!(events.first().unwrap(), &Event::Staked { account, target, amount, capacity });

assert_eq!(Balances::locks(&account)[0].amount, amount);
Expand Down

0 comments on commit 5e5f753

Please sign in to comment.