1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
use crate::*;
#[event]
pub struct GovernorCreateEvent {
#[index]
pub governor: Pubkey,
pub electorate: Pubkey,
pub smart_wallet: Pubkey,
pub parameters: GovernanceParameters,
}
#[event]
pub struct ProposalCreateEvent {
#[index]
pub governor: Pubkey,
#[index]
pub proposal: Pubkey,
pub index: u64,
pub instructions: Vec<ProposalInstruction>,
}
#[event]
pub struct ProposalActivateEvent {
#[index]
pub governor: Pubkey,
#[index]
pub proposal: Pubkey,
pub voting_ends_at: i64,
}
#[event]
pub struct ProposalCancelEvent {
#[index]
pub governor: Pubkey,
#[index]
pub proposal: Pubkey,
}
#[event]
pub struct ProposalQueueEvent {
#[index]
pub governor: Pubkey,
#[index]
pub proposal: Pubkey,
#[index]
pub transaction: Pubkey,
}
#[event]
pub struct VoteSetEvent {
#[index]
pub governor: Pubkey,
#[index]
pub proposal: Pubkey,
#[index]
pub voter: Pubkey,
#[index]
pub vote: Pubkey,
#[index]
pub side: u8,
pub weight: u64,
}
#[event]
pub struct ProposalMetaCreateEvent {
#[index]
pub governor: Pubkey,
#[index]
pub proposal: Pubkey,
pub title: String,
pub description_link: String,
}
#[event]
pub struct GovernorSetParamsEvent {
#[index]
pub governor: Pubkey,
pub prev_params: GovernanceParameters,
pub params: GovernanceParameters,
}
#[event]
pub struct GovernorSetElectorateEvent {
#[index]
pub governor: Pubkey,
pub prev_electorate: Pubkey,
pub new_electorate: Pubkey,
}