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 BlacklistAdded {
94 pub config: Pubkey,
95 pub blocked_address: Pubkey,
96 pub reason: String,
97 pub blacklisted_by: Pubkey,
98 pub timestamp: i64,
99}
100
101#[event]
102pub struct BlacklistRemoved {
103 pub config: Pubkey,
104 pub unblocked_address: Pubkey,
105 pub removed_by: Pubkey,
106 pub timestamp: i64,
107}
108
109#[event]
110pub struct TokensSeized {
111 pub config: Pubkey,
112 pub from: Pubkey,
113 pub amount: u64,
114 pub seized_by: Pubkey,
115 pub timestamp: i64,
116}
117
118#[event]
119pub struct AuditLogRecorded {
120 pub config: Pubkey,
121 pub index: u64,
122 pub action: u8,
123 pub actor: Pubkey,
124 pub timestamp: i64,
125}