1use serde::{Deserialize, Serialize};
2use steel::*;
3
4pub enum OreEvent {
5 Reset = 0,
6 Bury = 1,
7 Deploy = 2,
8 Liq = 3,
9 Claim = 4,
10}
11
12#[repr(C)]
13#[derive(Clone, Copy, Debug, Default, PartialEq, Pod, Zeroable, Serialize, Deserialize)]
14pub struct ResetEvent {
15 pub disc: u64,
17
18 pub round_id: u64,
20
21 pub start_slot: u64,
23
24 pub end_slot: u64,
26
27 pub winning_square: u64,
29
30 pub top_miner: Pubkey,
32
33 pub num_winners: u64,
35
36 pub motherlode: u64,
38
39 pub total_deployed: u64,
41
42 pub total_vaulted: u64,
44
45 pub total_winnings: u64,
47
48 pub total_minted: u64,
50
51 pub ts: i64,
53
54 pub rng: u64,
56
57 pub deployed_winning_square: u64,
59}
60
61#[repr(C)]
62#[derive(Clone, Copy, Debug, Default, PartialEq, Pod, Zeroable, Serialize, Deserialize)]
63pub struct BuryEvent {
64 pub disc: u64,
66
67 pub ore_buried: u64,
69
70 pub ore_shared: u64,
72
73 pub sol_amount: u64,
75
76 pub new_circulating_supply: u64,
78
79 pub ts: i64,
81}
82
83#[repr(C)]
84#[derive(Clone, Copy, Debug, Default, PartialEq, Pod, Zeroable, Serialize, Deserialize)]
85pub struct DeployEvent {
86 pub disc: u64,
88
89 pub authority: Pubkey,
91
92 pub amount: u64,
94
95 pub mask: u64,
97
98 pub round_id: u64,
100
101 pub signer: Pubkey,
103
104 pub strategy: u64,
106
107 pub total_squares: u64,
109
110 pub ts: i64,
112}
113
114#[repr(C)]
115#[derive(Clone, Copy, Debug, Default, PartialEq, Pod, Zeroable, Serialize, Deserialize)]
116pub struct LiqEvent {
117 pub disc: u64,
119
120 pub sol_amount: u64,
122
123 pub recipient: Pubkey,
125
126 pub ts: i64,
128}
129
130#[repr(C)]
132#[derive(Clone, Copy, Debug, Default, PartialEq, Pod, Zeroable, Serialize, Deserialize)]
133pub struct ClaimEvent {
134 pub disc: u64,
136
137 pub authority: Pubkey,
139
140 pub amount: u64,
142
143 pub claim_type: u64,
145
146 pub ts: i64,
148}
149
150event!(ResetEvent);
151event!(BuryEvent);
152event!(DeployEvent);
153event!(LiqEvent);
154event!(ClaimEvent);