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
108event!(DojoInitialized);
109event!(ShogunRecruited);
110event!(ShogunAssignedToBarracks);
111event!(ShogunUnassignedFromBarracks);
112event!(OreMined);
113event!(OreRefined);
114event!(ShardsClaimed);
115event!(ShogunMerged);
116event!(ShogunPrestigeUpgraded);
117event!(EmissionMinted);
118event!(ReferralRewardClaimed);
119event!(TaskClaimed);