1use const_crypto::ed25519;
2use solana_program::{pubkey, pubkey::Pubkey};
3
4pub const ADMIN_ADDRESS: Pubkey = pubkey!("MAnTnweDD7eCsobn7AJucVHgk3YcKf6QWHGYSgqmbRJ");
6
7pub const TOKEN_DECIMALS: u8 = 11;
10
11pub const ONE_OIL: u64 = 10u64.pow(TOKEN_DECIMALS as u32);
13
14pub const ONE_MINUTE: i64 = 60;
16
17pub const ONE_HOUR: i64 = 60 * ONE_MINUTE;
19
20pub const ONE_DAY: i64 = 24 * ONE_HOUR;
22
23pub const ONE_WEEK: i64 = 7 * ONE_DAY;
25
26pub const ONE_MINUTE_SLOTS: u64 = 150;
28
29pub const ONE_HOUR_SLOTS: u64 = 60 * ONE_MINUTE_SLOTS;
31
32pub const TWELVE_HOURS_SLOTS: u64 = 12 * ONE_HOUR_SLOTS;
34
35pub const ONE_DAY_SLOTS: u64 = 24 * ONE_HOUR_SLOTS;
37
38pub const ONE_WEEK_SLOTS: u64 = 7 * ONE_DAY_SLOTS;
40
41pub const INTERMISSION_SLOTS: u64 = 35;
43
44pub const MAX_SUPPLY: u64 = ONE_OIL * 21_000_000;
47
48pub const AUTOMATION: &[u8] = b"automation";
50
51pub const BOARD: &[u8] = b"board";
53
54pub const CONFIG: &[u8] = b"config";
56
57pub const DRILLER: &[u8] = b"driller";
59
60pub const RIG: &[u8] = b"rig";
62
63pub const REFERRAL: &[u8] = b"referral";
65
66pub const SEEKER: &[u8] = b"seeker";
68
69pub const SQUARE: &[u8] = b"square";
71
72pub const STAKE: &[u8] = b"stake";
74
75pub const ROUND: &[u8] = b"round";
77
78pub const TREASURY: &[u8] = b"treasury";
80
81pub const POOL: &[u8] = b"pool";
83
84pub const WELL: &[u8] = b"well";
86
87pub const BID: &[u8] = b"bid";
89
90pub const AUCTION: &[u8] = b"auction";
92
93pub const EPOCH: &[u8] = b"epoch";
95
96pub const AUCTION_POOL: &[u8] = b"auction_pool";
98
99const PROGRAM_ID: [u8; 32] = unsafe { *(&crate::id() as *const Pubkey as *const [u8; 32]) };
101
102pub const CONFIG_ADDRESS: Pubkey =
104 Pubkey::new_from_array(ed25519::derive_program_address(&[CONFIG], &PROGRAM_ID).0);
105
106pub const MINT_ADDRESS: Pubkey = pubkey!("oiLH2BP2Bi9zTocAYdjp676AEb7e3ZQtRSG3MxaKQFF");
108
109pub const SOL_MINT: Pubkey = pubkey!("So11111111111111111111111111111111111111112");
111
112pub const SPLIT_ADDRESS: Pubkey = pubkey!("SpLiT11111111111111111111111111111111111112");
114
115pub const TREASURY_ADDRESS: Pubkey =
117 Pubkey::new_from_array(ed25519::derive_program_address(&[TREASURY], &PROGRAM_ID).0);
118
119pub const TREASURY_BUMP: u8 = ed25519::derive_program_address(&[TREASURY], &PROGRAM_ID).1;
121
122pub const DENOMINATOR_BPS: u64 = 10_000;
124
125pub const CHECKPOINT_FEE: u64 = 10_000; pub const EMISSION_PER_ROUND: u64 = 200;