From 2982bf3ec56d3cd8cece1e4981781024ce4b52a3 Mon Sep 17 00:00:00 2001 From: dharjeezy <dharjeezy@gmail.com> Date: Wed, 24 Jul 2024 09:22:22 +0100 Subject: [PATCH] include events for voting (#4613) closes https://github.com/paritytech/polkadot-sdk/issues/143 Polkadot address: 12GyGD3QhT4i2JJpNzvMf96sxxBLWymz4RdGCxRH5Rj5agKW --------- Co-authored-by: Muharem <ismailov.m.h@gmail.com> --- prdoc/pr_4613.prdoc | 10 ++++++++++ substrate/frame/conviction-voting/src/lib.rs | 6 ++++++ 2 files changed, 16 insertions(+) create mode 100644 prdoc/pr_4613.prdoc diff --git a/prdoc/pr_4613.prdoc b/prdoc/pr_4613.prdoc new file mode 100644 index 00000000000..e6b2e6adc61 --- /dev/null +++ b/prdoc/pr_4613.prdoc @@ -0,0 +1,10 @@ +title: "pallet-conviction-voting: Include events for vote and remove vote" + +doc: + - audience: Runtime User + description: | + Introduce event called `Voted: { who: T::AccountId, vote: AccountVote<BalanceOf<T, I>> }` and `VoteRemoved: { who: T::AccountId, vote: AccountVote<BalanceOf<T, I>> }` + +crates: + - name: pallet-conviction-voting + bump: major diff --git a/substrate/frame/conviction-voting/src/lib.rs b/substrate/frame/conviction-voting/src/lib.rs index be7f7f44807..85da1aed3c2 100644 --- a/substrate/frame/conviction-voting/src/lib.rs +++ b/substrate/frame/conviction-voting/src/lib.rs @@ -171,6 +171,10 @@ pub mod pallet { Delegated(T::AccountId, T::AccountId), /// An \[account\] has cancelled a previous delegation operation. Undelegated(T::AccountId), + /// An account that has voted + Voted { who: T::AccountId, vote: AccountVote<BalanceOf<T, I>> }, + /// A vote that been removed + VoteRemoved { who: T::AccountId, vote: AccountVote<BalanceOf<T, I>> }, } #[pallet::error] @@ -428,6 +432,7 @@ impl<T: Config<I>, I: 'static> Pallet<T, I> { // Extend the lock to `balance` (rather than setting it) since we don't know what // other votes are in place. Self::extend_lock(who, &class, vote.balance()); + Self::deposit_event(Event::Voted { who: who.clone(), vote }); Ok(()) }) }) @@ -463,6 +468,7 @@ impl<T: Config<I>, I: 'static> Pallet<T, I> { if let Some(approve) = v.1.as_standard() { tally.reduce(approve, *delegations); } + Self::deposit_event(Event::VoteRemoved { who: who.clone(), vote: v.1 }); Ok(()) }, PollStatus::Completed(end, approved) => { -- GitLab