mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-26 04:07:57 +00:00
* Open Add remove_proxies API for pallet-proxies #7557 * added remove_all_proxy_delegates method * remove all proxy implementation * remove_all_proxy_delegate * reverted changes * fixed 7557 * fixed warnings * removed println! causing build failure on ci/cd pipelines * incorporated suggested changes * minor change * made suggested changes * method comment * Update frame/proxy/src/lib.rs --------- Co-authored-by: Juan <juangirini@gmail.com> Co-authored-by: parity-processbot <>
This commit is contained in:
@@ -40,7 +40,8 @@ use frame_support::{
|
||||
traits::{Currency, Get, InstanceFilter, IsSubType, IsType, OriginTrait, ReservableCurrency},
|
||||
RuntimeDebug,
|
||||
};
|
||||
use frame_system::{self as system};
|
||||
use frame_system::{self as system, ensure_signed};
|
||||
pub use pallet::*;
|
||||
use scale_info::TypeInfo;
|
||||
use sp_io::hashing::blake2_256;
|
||||
use sp_runtime::{
|
||||
@@ -50,8 +51,6 @@ use sp_runtime::{
|
||||
use sp_std::prelude::*;
|
||||
pub use weights::WeightInfo;
|
||||
|
||||
pub use pallet::*;
|
||||
|
||||
type CallHashOf<T> = <<T as Config>::CallHasher as Hash>::Output;
|
||||
|
||||
type BalanceOf<T> =
|
||||
@@ -265,9 +264,7 @@ pub mod pallet {
|
||||
#[pallet::weight(T::WeightInfo::remove_proxies(T::MaxProxies::get()))]
|
||||
pub fn remove_proxies(origin: OriginFor<T>) -> DispatchResult {
|
||||
let who = ensure_signed(origin)?;
|
||||
let (_, old_deposit) = Proxies::<T>::take(&who);
|
||||
T::Currency::unreserve(&who, old_deposit);
|
||||
|
||||
Self::remove_all_proxy_delegates(&who);
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -799,4 +796,13 @@ impl<T: Config> Pallet<T> {
|
||||
let e = call.dispatch(origin);
|
||||
Self::deposit_event(Event::ProxyExecuted { result: e.map(|_| ()).map_err(|e| e.error) });
|
||||
}
|
||||
|
||||
/// Removes all proxy delegates for a given delegator.
|
||||
///
|
||||
/// Parameters:
|
||||
/// - `delegator`: The delegator account.
|
||||
pub fn remove_all_proxy_delegates(delegator: &T::AccountId) {
|
||||
let (_, old_deposit) = Proxies::<T>::take(&delegator);
|
||||
T::Currency::unreserve(&delegator, old_deposit);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user