Skip to content

Commit 98e9351

Browse files
authored
emit event for remove proxies (#10073)
closes #9851
1 parent ef07f24 commit 98e9351

File tree

3 files changed

+45
-2
lines changed

3 files changed

+45
-2
lines changed

prdoc/pr_10073.prdoc

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
title: Emit event for remove proxies extrinsic
2+
doc:
3+
- audience: Runtime Dev
4+
description: 'Emits event for remote proxies extrinsic'
5+
crates:
6+
- name: pallet-proxy
7+
bump: minor

substrate/frame/proxy/src/lib.rs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1026,7 +1026,15 @@ impl<T: Config> Pallet<T> {
10261026
/// Parameters:
10271027
/// - `delegator`: The delegator account.
10281028
pub fn remove_all_proxy_delegates(delegator: &T::AccountId) {
1029-
let (_, old_deposit) = Proxies::<T>::take(&delegator);
1030-
T::Currency::unreserve(&delegator, old_deposit);
1029+
let (proxies, old_deposit) = Proxies::<T>::take(delegator);
1030+
T::Currency::unreserve(delegator, old_deposit);
1031+
proxies.into_iter().for_each(|proxy_def| {
1032+
Self::deposit_event(Event::<T>::ProxyRemoved {
1033+
delegator: delegator.clone(),
1034+
delegatee: proxy_def.delegate,
1035+
proxy_type: proxy_def.proxy_type,
1036+
delay: proxy_def.delay,
1037+
});
1038+
});
10311039
}
10321040
}

substrate/frame/proxy/src/tests.rs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -403,6 +403,34 @@ fn filtering_works() {
403403
assert_ok!(Proxy::proxy(RuntimeOrigin::signed(2), 1, None, call.clone()));
404404
expect_events(vec![
405405
BalancesEvent::<Test>::Unreserved { who: 1, amount: 5 }.into(),
406+
ProxyEvent::ProxyRemoved {
407+
delegator: 1,
408+
delegatee: 2,
409+
proxy_type: ProxyType::Any,
410+
delay: 0,
411+
}
412+
.into(),
413+
ProxyEvent::ProxyRemoved {
414+
delegator: 1,
415+
delegatee: 3,
416+
proxy_type: ProxyType::JustTransfer,
417+
delay: 0,
418+
}
419+
.into(),
420+
ProxyEvent::ProxyRemoved {
421+
delegator: 1,
422+
delegatee: 4,
423+
proxy_type: ProxyType::JustUtility,
424+
delay: 0,
425+
}
426+
.into(),
427+
ProxyEvent::ProxyRemoved {
428+
delegator: 1,
429+
delegatee: 5,
430+
proxy_type: ProxyType::Any,
431+
delay: 0,
432+
}
433+
.into(),
406434
ProxyEvent::ProxyExecuted { result: Ok(()) }.into(),
407435
]);
408436
});

0 commit comments

Comments
 (0)