mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-20 15:11:02 +00:00
Add force remove vesting (#1982)
This PR exposes a `force_remove_vesting` through a ROOT call. See linked [issue](https://github.com/paritytech/polkadot-sdk/issues/269) --------- Co-authored-by: georgepisaltu <52418509+georgepisaltu@users.noreply.github.com> Co-authored-by: command-bot <> Co-authored-by: Dónal Murray <donal.murray@parity.io>
This commit is contained in:
committed by
GitHub
parent
fb2dc6df8d
commit
318e5969c7
@@ -427,6 +427,36 @@ pub mod pallet {
|
||||
|
||||
Ok(())
|
||||
}
|
||||
|
||||
/// Force remove a vesting schedule
|
||||
///
|
||||
/// The dispatch origin for this call must be _Root_.
|
||||
///
|
||||
/// - `target`: An account that has a vesting schedule
|
||||
/// - `schedule_index`: The vesting schedule index that should be removed
|
||||
#[pallet::call_index(5)]
|
||||
#[pallet::weight(
|
||||
T::WeightInfo::force_remove_vesting_schedule(MaxLocksOf::<T>::get(), T::MAX_VESTING_SCHEDULES)
|
||||
)]
|
||||
pub fn force_remove_vesting_schedule(
|
||||
origin: OriginFor<T>,
|
||||
target: <T::Lookup as StaticLookup>::Source,
|
||||
schedule_index: u32,
|
||||
) -> DispatchResultWithPostInfo {
|
||||
ensure_root(origin)?;
|
||||
let who = T::Lookup::lookup(target)?;
|
||||
|
||||
let schedules_count = Vesting::<T>::decode_len(&who).unwrap_or_default();
|
||||
ensure!(schedule_index < schedules_count as u32, Error::<T>::InvalidScheduleParams);
|
||||
|
||||
Self::remove_vesting_schedule(&who, schedule_index)?;
|
||||
|
||||
Ok(Some(T::WeightInfo::force_remove_vesting_schedule(
|
||||
MaxLocksOf::<T>::get(),
|
||||
schedules_count as u32,
|
||||
))
|
||||
.into())
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user