1mod config;
2mod game;
3mod dojo;
4mod shogun;
5mod barracks;
6mod mission;
7mod forge;
8mod tasks;
9mod treasury;
10mod referral;
11mod scenes;
12mod prestige;
13mod seeker;
14
15pub use config::*;
16pub use game::*;
17pub use dojo::*;
18pub use shogun::*;
19pub use barracks::*;
20pub use mission::*;
21pub use forge::*;
22pub use tasks::*;
23pub use treasury::*;
24pub use referral::*;
25pub use scenes::*;
26pub use prestige::*;
27pub use seeker::*;
28
29use crate::consts::*;
30use solana_program::pubkey::Pubkey;
31
32#[repr(u8)]
33#[derive(Clone, Copy, Debug, Eq, PartialEq, num_enum::IntoPrimitive, num_enum::TryFromPrimitive)]
34pub enum DojosAccount {
35 Config = 0,
36 Game = 8,
37 Dojo = 1,
38 Barracks = 3,
39 Mission = 13,
40 Forge = 4,
41 Treasury = 5,
42 Referral = 6,
43 Scenes = 7,
44 Tasks = 10,
45 Prestige = 11,
46 Seeker = 12,
47}
48
49pub fn config_pda(program_id: &Pubkey) -> (Pubkey, u8) {
51 Pubkey::find_program_address(&[CONFIG], program_id)
52}
53
54pub fn game_pda(program_id: &Pubkey) -> (Pubkey, u8) {
56 Pubkey::find_program_address(&[GAME], program_id)
57}
58
59pub fn dojo_pda(program_id: &Pubkey, owner: &Pubkey) -> (Pubkey, u8) {
61 Pubkey::find_program_address(&[DOJO, owner.as_ref()], program_id)
62}
63
64pub fn barracks_pda(program_id: &Pubkey, dojo: &Pubkey) -> (Pubkey, u8) {
66 Pubkey::find_program_address(&[BARRACKS, dojo.as_ref()], program_id)
67}
68
69pub fn mission_pda(program_id: &Pubkey, dojo: &Pubkey) -> (Pubkey, u8) {
71 Pubkey::find_program_address(&[MISSION, dojo.as_ref()], program_id)
72}
73
74pub fn forge_pda(program_id: &Pubkey, dojo: &Pubkey) -> (Pubkey, u8) {
76 Pubkey::find_program_address(&[FORGE, dojo.as_ref()], program_id)
77}
78
79pub fn tasks_pda(program_id: &Pubkey, dojo: &Pubkey) -> (Pubkey, u8) {
81 Pubkey::find_program_address(&[TASKS, dojo.as_ref()], program_id)
82}
83
84pub fn treasury_pda(program_id: &Pubkey) -> (Pubkey, u8) {
86 Pubkey::find_program_address(&[TREASURY], program_id)
87}
88
89pub fn referral_pda(program_id: &Pubkey, referrer_dojo: &Pubkey) -> (Pubkey, u8) {
91 Pubkey::find_program_address(&[REFERRAL, referrer_dojo.as_ref()], program_id)
92}
93
94pub fn scenes_pda(program_id: &Pubkey, dojo: &Pubkey) -> (Pubkey, u8) {
96 Pubkey::find_program_address(&[SCENES, dojo.as_ref()], program_id)
97}
98
99pub fn prestige_pda(program_id: &Pubkey, dojo: &Pubkey) -> (Pubkey, u8) {
101 Pubkey::find_program_address(&[PRESTIGE, dojo.as_ref()], program_id)
102}
103
104pub fn seeker_pda(program_id: &Pubkey, sgt_mint: &Pubkey) -> (Pubkey, u8) {
106 Pubkey::find_program_address(&[SEEKER, sgt_mint.as_ref()], program_id)
107}