1use steel::*;
15
16#[repr(C)]
18#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
19pub struct Initialized {
20 pub admin: Pubkey,
21}
22
23#[repr(C)]
28#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
29pub struct TicketPurchased {
30 pub user: Pubkey,
32 pub amount: u64,
34}
35
36#[repr(C)]
38#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
39pub struct FeesRouted {
40 pub amount: u64,
41 pub daily_share: u64,
42 pub weekly_share: u64,
43 pub buyback_share: u64,
44 pub team_share: u64,
45}
46
47#[repr(C)]
49#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
50pub struct Paid {
51 pub recipient: Pubkey,
52 pub amount: u64,
53 pub series_id: u16,
54 pub _pad: [u8; 6],
55 pub period: u64,
56}
57
58#[repr(C)]
60#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
61pub struct WeeklyFinalized {
62 pub moved_to_stability: u64,
63}
64
65#[repr(C)]
67#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
68pub struct DailyFinalized {
69 pub moved_to_stability: u64,
70}
71
72#[repr(C)]
74#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)]
75pub struct DailyRotated {
76 pub vault_locked: u64,
77}
78
79event!(Initialized);
80event!(TicketPurchased);
81event!(FeesRouted);
82event!(Paid);
83event!(WeeklyFinalized);
84event!(DailyFinalized);
85event!(DailyRotated);