1use solana_program::pubkey::Pubkey;
4use steel::*;
5
6#[repr(C)]
7#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
8pub struct DojoInitialized {
9 pub owner: Pubkey,
10 pub referrer: Pubkey, }
12
13#[repr(C)]
14#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
15pub struct ShogunRecruited {
16 pub dojo: Pubkey,
17 pub pool_index: u64,
18 pub rarity: u64,
19 pub element: u64,
20 pub spirit_power: u64,
21 pub entropy_value: [u8; 32],
24 pub pull_index: u64,
26}
27
28#[repr(C)]
29#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
30pub struct ShogunAssignedToBarracks {
31 pub dojo: Pubkey,
32 pub pool_index: u64,
33 pub slot: u64,
34}
35
36#[repr(C)]
37#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
38pub struct ShogunUnassignedFromBarracks {
39 pub dojo: Pubkey,
40 pub shogun: Pubkey,
41}
42
43#[repr(C)]
44#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
45pub struct OreMined {
46 pub dojo: Pubkey,
47 pub amount: u64,
48 pub slot: u64,
49}
50
51#[repr(C)]
52#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
53pub struct OreRefined {
54 pub dojo: Pubkey,
55 pub ore_in: u64,
56 pub dojo_out: u64, }
58
59#[repr(C)]
60#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
61pub struct ShardsClaimed {
62 pub dojo: Pubkey,
63 pub amount_raw: u64,
64 pub slot: u64,
65}
66
67#[repr(C)]
68#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
69pub struct ShogunMerged {
70 pub dojo: Pubkey,
71 pub pool_index: u64,
72 pub rarity: u64,
73 pub merge_type: u64,
74}
75
76#[repr(C)]
77#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
78pub struct ShogunPrestigeUpgraded {
79 pub dojo: Pubkey,
80 pub pool_index: u64,
81 pub new_prestige: u64,
82 pub new_spirit_power: u64,
83}
84
85#[repr(C)]
86#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
87pub struct EmissionMinted {
88 pub amount: u64,
89 pub slot: u64,
90}
91
92#[repr(C)]
93#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
94pub struct ReferralRewardClaimed {
95 pub referrer: Pubkey,
96 pub referrer_dojo: Pubkey,
97 pub amount: u64,
98}
99
100#[repr(C)]
101#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
102pub struct TaskClaimed {
103 pub dojo: Pubkey,
104 pub task_id: u64,
105 pub recruitment_tickets: u64,
106}
107
108#[repr(C)]
109#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
110pub struct SceneSectionsSalvaged {
111 pub dojo: Pubkey,
112 pub amethyst_refund: u64,
113}
114
115#[repr(C)]
116#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
117pub struct SceneSectionsRolled {
118 pub dojo: Pubkey,
119 pub count: u64,
120 pub payment_type: u8, pub _pad: [u8; 7],
122 pub seed: [u8; 32],
123}
124
125#[repr(C)]
126#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
127pub struct ChestBought {
128 pub dojo: Pubkey,
129 pub amethyst_amount: u64,
130}
131
132#[repr(C)]
133#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
134pub struct SceneBought {
135 pub dojo: Pubkey,
136 pub scene_id: u64,
137}
138
139#[repr(C)]
140#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
141pub struct ActiveSceneUpdated {
142 pub dojo: Pubkey,
143 pub scene_id: u64,
144}
145
146#[repr(C)]
147#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
148pub struct ShogunLeveledUp {
149 pub dojo: Pubkey,
150 pub slot: u64,
151 pub new_level: u64,
152}
153
154#[repr(C)]
155#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
156pub struct ChakraRecovered {
157 pub dojo: Pubkey,
158 pub slot: u64,
159 pub tier: u64,
160}
161
162#[repr(C)]
163#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
164pub struct BarracksUpgraded {
165 pub dojo: Pubkey,
166 pub new_level: u64,
167}
168
169#[repr(C)]
170#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
171pub struct ForgeUpgraded {
172 pub dojo: Pubkey,
173 pub new_level: u64,
174}
175
176#[repr(C)]
177#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
178pub struct BundleBought {
179 pub dojo: Pubkey,
180 pub tickets: u64,
181}
182
183#[repr(C)]
184#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
185pub struct TicketsBoughtWithShards {
186 pub dojo: Pubkey,
187 pub tickets: u64,
188}
189
190#[repr(C)]
191#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
192pub struct FlashSaleBought {
193 pub dojo: Pubkey,
194 pub tickets: u64,
195}
196
197#[repr(C)]
198#[derive(Clone, Copy, Debug, bytemuck::Pod, bytemuck::Zeroable)]
199pub struct ForgeCooldownCleared {
200 pub dojo: Pubkey,
201}
202
203event!(DojoInitialized);
204event!(ShogunRecruited);
205event!(ShogunAssignedToBarracks);
206event!(ShogunUnassignedFromBarracks);
207event!(OreMined);
208event!(OreRefined);
209event!(ShardsClaimed);
210event!(ShogunMerged);
211event!(ShogunPrestigeUpgraded);
212event!(EmissionMinted);
213event!(ReferralRewardClaimed);
214event!(TaskClaimed);
215event!(SceneSectionsSalvaged);
216event!(SceneSectionsRolled);
217event!(ChestBought);
218event!(SceneBought);
219event!(ActiveSceneUpdated);
220event!(ShogunLeveledUp);
221event!(ChakraRecovered);
222event!(BarracksUpgraded);
223event!(ForgeUpgraded);
224event!(BundleBought);
225event!(TicketsBoughtWithShards);
226event!(FlashSaleBought);
227event!(ForgeCooldownCleared);