diff --git a/substrate/frame/democracy/src/lib.rs b/substrate/frame/democracy/src/lib.rs index 91362a0a3e..4e11c20765 100644 --- a/substrate/frame/democracy/src/lib.rs +++ b/substrate/frame/democracy/src/lib.rs @@ -537,6 +537,8 @@ pub mod pallet { Voted { voter: T::AccountId, ref_index: ReferendumIndex, vote: AccountVote> }, /// An account has secconded a proposal Seconded { seconder: T::AccountId, prop_index: PropIndex }, + /// A proposal got canceled. + ProposalCanceled { prop_index: PropIndex }, } #[pallet::error] @@ -1277,6 +1279,7 @@ pub mod pallet { } } + Self::deposit_event(Event::::ProposalCanceled { prop_index }); Ok(()) } } diff --git a/substrate/frame/democracy/src/tests/public_proposals.rs b/substrate/frame/democracy/src/tests/public_proposals.rs index aadc92d24f..db06696ca5 100644 --- a/substrate/frame/democracy/src/tests/public_proposals.rs +++ b/substrate/frame/democracy/src/tests/public_proposals.rs @@ -96,11 +96,11 @@ fn invalid_seconds_upper_bound_should_not_work() { #[test] fn cancel_proposal_should_work() { new_test_ext().execute_with(|| { - System::set_block_number(0); assert_ok!(propose_set_balance_and_note(1, 2, 2)); assert_ok!(propose_set_balance_and_note(1, 4, 4)); assert_noop!(Democracy::cancel_proposal(Origin::signed(1), 0), BadOrigin); assert_ok!(Democracy::cancel_proposal(Origin::root(), 0)); + System::assert_last_event(crate::Event::ProposalCanceled { prop_index: 0 }.into()); assert_eq!(Democracy::backing_for(0), None); assert_eq!(Democracy::backing_for(1), Some(4)); });