1use anchor_lang::prelude::*;
2
3#[event]
4pub struct StablecoinInitialized {
5 pub config: Pubkey,
6 pub mint: Pubkey,
7 pub master_authority: Pubkey,
8 pub name: String,
9 pub symbol: String,
10 pub preset: u8,
11 pub timestamp: i64,
12}
13
14#[event]
15pub struct TokensMinted {
16 pub config: Pubkey,
17 pub minter: Pubkey,
18 pub recipient: Pubkey,
19 pub amount: u64,
20 pub total_minted: u64,
21 pub timestamp: i64,
22}
23
24#[event]
25pub struct TokensBurned {
26 pub config: Pubkey,
27 pub burner: Pubkey,
28 pub from: Pubkey,
29 pub amount: u64,
30 pub total_burned: u64,
31 pub timestamp: i64,
32}
33
34#[event]
35pub struct AccountFrozen {
36 pub config: Pubkey,
37 pub authority: Pubkey,
38 pub target_account: Pubkey,
39 pub timestamp: i64,
40}
41
42#[event]
43pub struct AccountThawed {
44 pub config: Pubkey,
45 pub authority: Pubkey,
46 pub target_account: Pubkey,
47 pub timestamp: i64,
48}
49
50#[event]
51pub struct ProgramPaused {
52 pub config: Pubkey,
53 pub pauser: Pubkey,
54 pub timestamp: i64,
55}
56
57#[event]
58pub struct ProgramUnpaused {
59 pub config: Pubkey,
60 pub pauser: Pubkey,
61 pub timestamp: i64,
62}
63
64#[event]
65pub struct RoleUpdated {
66 pub config: Pubkey,
67 pub role: String,
68 pub old_holder: Pubkey,
69 pub new_holder: Pubkey,
70 pub updated_by: Pubkey,
71 pub timestamp: i64,
72}
73
74#[event]
75pub struct MinterUpdated {
76 pub config: Pubkey,
77 pub minter: Pubkey,
78 pub is_active: bool,
79 pub mint_quota: u64,
80 pub updated_by: Pubkey,
81 pub timestamp: i64,
82}
83
84#[event]
85pub struct AuthorityTransferred {
86 pub config: Pubkey,
87 pub old_authority: Pubkey,
88 pub new_authority: Pubkey,
89 pub timestamp: i64,
90}
91
92#[event]
93pub struct AuthorityNominated {
94 pub config: Pubkey,
95 pub old_authority: Pubkey,
96 pub nominated_authority: Pubkey,
97 pub timestamp: i64,
98}
99
100#[event]
101pub struct BlacklistAdded {
102 pub config: Pubkey,
103 pub blocked_address: Pubkey,
104 pub reason: String,
105 pub blacklisted_by: Pubkey,
106 pub timestamp: i64,
107}
108
109#[event]
110pub struct BlacklistRemoved {
111 pub config: Pubkey,
112 pub unblocked_address: Pubkey,
113 pub removed_by: Pubkey,
114 pub timestamp: i64,
115}
116
117#[event]
118pub struct AllowlistAdded {
119 pub config: Pubkey,
120 pub address: Pubkey,
121 pub added_by: Pubkey,
122 pub reason: String,
123 pub timestamp: i64,
124}
125
126#[event]
127pub struct AllowlistRemoved {
128 pub config: Pubkey,
129 pub address: Pubkey,
130 pub removed_by: Pubkey,
131 pub timestamp: i64,
132}
133
134#[event]
135pub struct TokensSeized {
136 pub config: Pubkey,
137 pub from: Pubkey,
138 pub amount: u64,
139 pub seized_by: Pubkey,
140 pub timestamp: i64,
141}
142
143#[event]
144pub struct AuditLogRecorded {
145 pub config: Pubkey,
146 pub index: u64,
147 pub action: u8,
148 pub actor: Pubkey,
149 pub timestamp: i64,
150}
151
152#[event]
153pub struct SupplyCapUpdated {
154 pub config: Pubkey,
155 pub old_cap: u64,
156 pub new_cap: u64,
157 pub timestamp: i64,
158}
159
160#[event]
161pub struct MetadataUpdated {
162 pub config: Pubkey,
163 pub timestamp: i64,
164}