1use steel::*;
4
5#[repr(u8)]
6#[derive(Clone, Copy, Debug, Eq, PartialEq, num_enum::TryFromPrimitive)]
7pub enum DojosInstruction {
8 BuyStarterPack = 1,
10
11 RecruitShogunTickets = 2,
13 RecruitShogunSol = 32,
14 SeatShogun = 3,
15 SeatShogunFillAll = 41,
16 ReplaceShogun = 34,
17 Dine = 5,
18 UpgradeBarracksShards = 7,
19 UpgradeBarracksSol = 26,
20 UpgradeForge = 8,
21 MergeShogun = 9,
22 PrestigeUpgrade = 10,
23 ClaimShards = 11,
24 ClaimReferralReward = 12,
25 ClaimRecruitReward = 36,
26 ClaimForgeReward = 37,
27 ClaimDineReward = 38,
28 ClaimDailyReward = 39,
29 ClaimCollectionReward = 40,
30 ClaimOffChainTaskReward = 43,
31 ClaimSeekerTaskReward = 44,
32 MintSoulbound = 45,
33 StartMission = 46,
34 ClaimMissionReward = 47,
35 BuyBundle = 13,
36 BuyTicketsWithShards = 22,
37 BuyFlashSale = 24,
38 ClearForgeCooldown = 15,
39 Log = 20,
40 LevelUpShogun = 25,
41 RollSceneSectionAmethyst = 27,
42 RollSceneSectionShards = 31,
43 SalvageSceneSection = 28,
44 BuyChest = 29,
45 BuyScene = 33,
46 UpdateActiveScene = 30,
47 BuySceneDojo = 35,
48
49 Initialize = 0,
51 SetGenesisSlot = 19,
52}
53
54#[repr(C)]
55#[derive(Clone, Copy, Debug, Pod, Zeroable)]
56pub struct Initialize {}
57
58#[repr(C)]
59#[derive(Clone, Copy, Debug, Pod, Zeroable)]
60pub struct BuyStarterPack {
61 pub referrer: [u8; 32], }
63
64#[repr(C)]
65#[derive(Clone, Copy, Debug, Pod, Zeroable)]
66pub struct RecruitShogunTickets {
67 pub count: [u8; 8], pub seed: [u8; 32], }
70
71#[repr(C)]
72#[derive(Clone, Copy, Debug, Pod, Zeroable)]
73pub struct RecruitShogunSol {
74 pub count: [u8; 8], pub seed: [u8; 32], }
77
78#[repr(C)]
80#[derive(Clone, Copy, Debug, Pod, Zeroable)]
81pub struct SeatShogun {
82 pub slot: [u8; 8],
83 pub rarity: [u8; 8],
84 pub element: [u8; 8],
85}
86
87#[repr(C)]
89#[derive(Clone, Copy, Debug, Pod, Zeroable)]
90pub struct SeatShogunFillAllEntry {
91 pub rarity: [u8; 8],
92 pub element: [u8; 8],
93}
94
95#[repr(C)]
97#[derive(Clone, Copy, Debug, Pod, Zeroable)]
98pub struct SeatShogunFillAll {
99 pub count: u8,
100 pub _pad: [u8; 7],
101 pub entries: [SeatShogunFillAllEntry; 12],
102}
103
104#[repr(C)]
106#[derive(Clone, Copy, Debug, Pod, Zeroable)]
107pub struct ReplaceShogun {
108 pub slot: [u8; 8],
109 pub new_rarity: [u8; 8],
110 pub new_element: [u8; 8],
111}
112
113#[repr(C)]
115#[derive(Clone, Copy, Debug, Pod, Zeroable)]
116pub struct Dine {
117 pub tier: [u8; 8],
118 pub slot: [u8; 8],
119}
120
121#[repr(C)]
122#[derive(Clone, Copy, Debug, Pod, Zeroable)]
123pub struct UpgradeBarracksShards {}
124
125#[repr(C)]
126#[derive(Clone, Copy, Debug, Pod, Zeroable)]
127pub struct UpgradeBarracksSol {}
128
129#[repr(C)]
130#[derive(Clone, Copy, Debug, Pod, Zeroable)]
131pub struct UpgradeForge {}
132
133#[repr(C)]
135#[derive(Clone, Copy, Debug, Pod, Zeroable)]
136pub struct MergeShogun {
137 pub merge_type: [u8; 8], pub seed: [u8; 32],
139}
140
141#[repr(C)]
143#[derive(Clone, Copy, Debug, Pod, Zeroable)]
144pub struct PrestigeUpgrade {
145 pub slot: [u8; 8],
146}
147
148#[repr(C)]
150#[derive(Clone, Copy, Debug, Pod, Zeroable)]
151pub struct LevelUpShogun {
152 pub slot: [u8; 8],
153}
154
155#[repr(C)]
156#[derive(Clone, Copy, Debug, Pod, Zeroable)]
157pub struct ClaimShards {} #[repr(C)]
160#[derive(Clone, Copy, Debug, Pod, Zeroable)]
161pub struct ClaimReferralReward {}
162
163#[repr(C)]
164#[derive(Clone, Copy, Debug, Pod, Zeroable)]
165pub struct ClaimRecruitReward {}
166
167#[repr(C)]
168#[derive(Clone, Copy, Debug, Pod, Zeroable)]
169pub struct ClaimForgeReward {}
170
171#[repr(C)]
172#[derive(Clone, Copy, Debug, Pod, Zeroable)]
173pub struct ClaimDineReward {}
174
175#[repr(C)]
176#[derive(Clone, Copy, Debug, Pod, Zeroable)]
177pub struct ClaimDailyReward {
178 pub signature: [u8; 64],
179}
180
181#[repr(C)]
182#[derive(Clone, Copy, Debug, Pod, Zeroable)]
183pub struct ClaimCollectionReward {
184 pub collection_index: u8,
186}
187
188#[repr(C)]
190#[derive(Clone, Copy, Debug, Pod, Zeroable)]
191pub struct ClaimOffChainTaskReward {
192 pub task_id: [u8; 8],
193 pub signature: [u8; 64],
194}
195
196#[repr(C)]
198#[derive(Clone, Copy, Debug, Pod, Zeroable)]
199pub struct ClaimSeekerTaskReward {}
200
201#[repr(C)]
203#[derive(Clone, Copy, Debug, Pod, Zeroable)]
204pub struct MintSoulbound {}
205
206#[repr(C)]
208#[derive(Clone, Copy, Debug, Pod, Zeroable)]
209pub struct StartMission {
210 pub mission_type: [u8; 8],
211 pub slot_mask: [u8; 8],
212}
213
214#[repr(C)]
216#[derive(Clone, Copy, Debug, Pod, Zeroable)]
217pub struct ClaimMissionReward {
218 pub mission_index: [u8; 8],
219 pub seed: [u8; 32],
220}
221
222#[repr(C)]
223#[derive(Clone, Copy, Debug, Pod, Zeroable)]
224pub struct BuyBundle {} #[repr(C)]
227#[derive(Clone, Copy, Debug, Pod, Zeroable)]
228pub struct BuyTicketsWithShards {} #[repr(C)]
231#[derive(Clone, Copy, Debug, Pod, Zeroable)]
232pub struct BuyFlashSale {} #[repr(C)]
235#[derive(Clone, Copy, Debug, Pod, Zeroable)]
236pub struct ClearForgeCooldown {}
237
238#[repr(C)]
239#[derive(Clone, Copy, Debug, Pod, Zeroable)]
240pub struct SetGenesisSlot {
241 pub genesis_slot: [u8; 8],
242 pub halving_period_slots: [u8; 8],
244}
245
246#[repr(C)]
247#[derive(Clone, Copy, Debug, Pod, Zeroable)]
248pub struct Log {
249 pub _reserved: [u8; 8], }
251
252#[repr(C)]
253#[derive(Clone, Copy, Debug, Pod, Zeroable)]
254pub struct RollSceneSectionAmethyst {
255 pub count: [u8; 8], pub seed: [u8; 32], }
258
259#[repr(C)]
260#[derive(Clone, Copy, Debug, Pod, Zeroable)]
261pub struct RollSceneSectionShards {
262 pub count: [u8; 8], pub seed: [u8; 32], }
265
266#[repr(C)]
268#[derive(Clone, Copy, Debug, Pod, Zeroable)]
269pub struct SalvageSceneSection {}
270
271#[repr(C)]
272#[derive(Clone, Copy, Debug, Pod, Zeroable)]
273pub struct BuyChest {}
274
275#[repr(C)]
276#[derive(Clone, Copy, Debug, Pod, Zeroable)]
277pub struct BuyScene {
278 pub scene_id: [u8; 8], }
280
281#[repr(C)]
282#[derive(Clone, Copy, Debug, Pod, Zeroable)]
283pub struct UpdateActiveScene {
284 pub scene_id: [u8; 8],
285}
286
287#[repr(C)]
289#[derive(Clone, Copy, Debug, Pod, Zeroable)]
290pub struct BuySceneDojo {
291 pub scene_id: [u8; 8],
292}
293
294instruction!(DojosInstruction, Initialize);
295instruction!(DojosInstruction, BuyStarterPack);
296instruction!(DojosInstruction, RecruitShogunTickets);
297instruction!(DojosInstruction, RecruitShogunSol);
298instruction!(DojosInstruction, SeatShogun);
299instruction!(DojosInstruction, SeatShogunFillAll);
300instruction!(DojosInstruction, ReplaceShogun);
301instruction!(DojosInstruction, Dine);
302instruction!(DojosInstruction, UpgradeBarracksShards);
303instruction!(DojosInstruction, UpgradeBarracksSol);
304instruction!(DojosInstruction, UpgradeForge);
305instruction!(DojosInstruction, MergeShogun);
306instruction!(DojosInstruction, PrestigeUpgrade);
307instruction!(DojosInstruction, ClaimShards);
308instruction!(DojosInstruction, ClaimReferralReward);
309instruction!(DojosInstruction, ClaimRecruitReward);
310instruction!(DojosInstruction, ClaimForgeReward);
311instruction!(DojosInstruction, ClaimDineReward);
312instruction!(DojosInstruction, ClaimDailyReward);
313instruction!(DojosInstruction, ClaimCollectionReward);
314instruction!(DojosInstruction, ClaimOffChainTaskReward);
315instruction!(DojosInstruction, ClaimSeekerTaskReward);
316instruction!(DojosInstruction, MintSoulbound);
317instruction!(DojosInstruction, StartMission);
318instruction!(DojosInstruction, ClaimMissionReward);
319instruction!(DojosInstruction, BuyBundle);
320instruction!(DojosInstruction, BuyTicketsWithShards);
321instruction!(DojosInstruction, BuyFlashSale);
322instruction!(DojosInstruction, ClearForgeCooldown);
323instruction!(DojosInstruction, SetGenesisSlot);
324instruction!(DojosInstruction, Log);
325instruction!(DojosInstruction, LevelUpShogun);
326instruction!(DojosInstruction, RollSceneSectionAmethyst);
327instruction!(DojosInstruction, RollSceneSectionShards);
328instruction!(DojosInstruction, SalvageSceneSection);
329instruction!(DojosInstruction, BuyChest);
330instruction!(DojosInstruction, BuyScene);
331instruction!(DojosInstruction, UpdateActiveScene);
332instruction!(DojosInstruction, BuySceneDojo);