1use const_crypto::ed25519;
2use solana_program::{pubkey, pubkey::Pubkey};
3
4pub const ADMIN_ADDRESS: Pubkey = pubkey!("DEvGq2WVuA3qkSCtwwuMYThY4onkJunEHSAxU5cieph8");
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 SLOT_DURATION_MS: u64 = 40;
29
30pub const ONE_MINUTE_SLOTS: u64 = 1500;
33
34pub const ONE_HOUR_SLOTS: u64 = 60 * ONE_MINUTE_SLOTS;
36
37pub const TWELVE_HOURS_SLOTS: u64 = 12 * ONE_HOUR_SLOTS;
39
40pub const ONE_DAY_SLOTS: u64 = 24 * ONE_HOUR_SLOTS;
42
43pub const ONE_WEEK_SLOTS: u64 = 7 * ONE_DAY_SLOTS;
45
46pub const INTERMISSION_SLOTS: u64 = 300;
48
49pub const MAX_SUPPLY: u64 = ONE_OIL * 21_000_000;
52
53pub const AUTOMATION: &[u8] = b"automation";
55
56pub const BOARD: &[u8] = b"board";
58
59pub const CONFIG: &[u8] = b"config";
61
62pub const MINER: &[u8] = b"miner";
64
65pub const REFERRAL: &[u8] = b"referral";
67
68pub const STAKE: &[u8] = b"stake";
70
71pub const ROUND: &[u8] = b"round";
73
74pub const TREASURY: &[u8] = b"treasury";
76
77pub const POOL: &[u8] = b"pool";
79
80pub const WELL: &[u8] = b"well";
82
83pub const AUCTION: &[u8] = b"auction";
85
86pub const WHITELIST: &[u8] = b"whitelist";
88
89pub const RIG: &[u8] = b"rig";
91
92pub const MICRO: &[u8] = b"micro";
94
95pub const SHARE: &[u8] = b"share";
97
98const PROGRAM_ID: [u8; 32] = unsafe { *(&crate::id() as *const Pubkey as *const [u8; 32]) };
100
101pub const CONFIG_ADDRESS: Pubkey =
103 Pubkey::new_from_array(ed25519::derive_program_address(&[CONFIG], &PROGRAM_ID).0);
104
105pub const MINT_ADDRESS: Pubkey = pubkey!("oiLTuhTJc9qRDr2FcMiCUBJ3BCunNXP1LGJCG7svBSy");
107
108pub const SOL_MINT: Pubkey = pubkey!("So11111111111111111111111111111111111111112");
110
111pub const SPLIT_ADDRESS: Pubkey = pubkey!("SpLiT11111111111111111111111111111111111112");
113
114pub const POOL_ADDRESS: Pubkey = pubkey!("PooL111111111111111111111111111111111111112");
116
117pub const TREASURY_ADDRESS: Pubkey =
119 Pubkey::new_from_array(ed25519::derive_program_address(&[TREASURY], &PROGRAM_ID).0);
120
121pub const TREASURY_BUMP: u8 = ed25519::derive_program_address(&[TREASURY], &PROGRAM_ID).1;
123
124pub const DENOMINATOR_BPS: u64 = 10_000;
126
127pub const CHECKPOINT_FEE: u64 = 10_000; pub const EMISSION_PER_ROUND: u64 = 200;
132
133pub const CLAIM_AUCTION_OIL_COOLDOWN_SECONDS: i64 = 10;
135
136pub const AUCTION_FLOOR_PRICE: u64 = 10_000_000; pub const ADMIN_FEE: u64 = 100; pub const ADMIN_FEE_COLLECTOR: Pubkey = pubkey!("FEEFFuugN2rj9fcgrdoSfMdPFkRCfkpKi4vCGGYPyEVV");
146
147pub const SWAP_PROGRAM: Pubkey = pubkey!("vnt1u7PzorND5JjweFWmDawKe2hLWoTwHU6QKz6XX98");
149
150pub const VAR_ADDRESS: Pubkey = pubkey!("DQGNTK6bcSMgDQ73b5Fdg6xUwVmvzxP18v4sVdFpEHXb");
152
153pub const BURY_AUTHORITY: Pubkey = pubkey!("BoT3qYmE6xePWPU96Kf2QeuJr1pDgQ3gLWbA6kSyjzV");