multiversx_sc_modules/governance/
governance_events.rs

1multiversx_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}