multiversx_sc_modules/governance/
governance_events.rs1multiversx_sc::imports!();
2
3use super::governance_proposal::GovernanceProposal;
4use crate::governance::ProposalId;
5
6#[multiversx_sc::module]
7pub trait GovernanceEventsModule {
8 #[event("proposalCreated")]
9 fn proposal_created_event(
10 &self,
11 #[indexed] proposal_id: usize,
12 #[indexed] proposer: &ManagedAddress,
13 #[indexed] start_block: u64,
14 proposal: &GovernanceProposal<Self::Api>,
15 );
16
17 #[event("upVoteCast")]
18 fn up_vote_cast_event(
19 &self,
20 #[indexed] up_voter: &ManagedAddress,
21 #[indexed] proposal_id: ProposalId,
22 nr_votes: &BigUint,
23 );
24
25 #[event("downVoteCast")]
26 fn down_vote_cast_event(
27 &self,
28 #[indexed] down_voter: &ManagedAddress,
29 #[indexed] proposal_id: ProposalId,
30 nr_downvotes: &BigUint,
31 );
32
33 #[event("downVetoVoteCast")]
34 fn down_veto_vote_cast_event(
35 &self,
36 #[indexed] down_veto_voter: &ManagedAddress,
37 #[indexed] proposal_id: ProposalId,
38 nr_downvotes: &BigUint,
39 );
40
41 #[event("abstainVoteCast")]
42 fn abstain_vote_cast_event(
43 &self,
44 #[indexed] abstain_voter: &ManagedAddress,
45 #[indexed] proposal_id: ProposalId,
46 nr_downvotes: &BigUint,
47 );
48
49 #[event("proposalCanceled")]
50 fn proposal_canceled_event(&self, #[indexed] proposal_id: usize);
51
52 #[event("proposalQueued")]
53 fn proposal_queued_event(&self, #[indexed] proposal_id: usize, #[indexed] queued_block: u64);
54
55 #[event("proposalExecuted")]
56 fn proposal_executed_event(&self, #[indexed] proposal_id: usize);
57
58 #[event("userDeposit")]
59 fn user_deposit_event(
60 &self,
61 #[indexed] address: &ManagedAddress,
62 #[indexed] proposal_id: ProposalId,
63 payment: &EsdtTokenPayment<Self::Api>,
64 );
65
66 #[event("userClaimDepositedTokens")]
67 fn user_claim_event(
68 &self,
69 #[indexed] address: &ManagedAddress,
70 #[indexed] proposal_id: ProposalId,
71 payment: &EsdtTokenPayment<Self::Api>,
72 );
73}