use solana_program::{pubkey, pubkey::Pubkey}; /// The authority allowed to initialize the program. pub const ADMIN_ADDRESS: Pubkey = pubkey!("HBUh9g46wk2X89CvaNN15UmsznP59rh6od1h8JwYAopk"); /// The decimal precision of the ORE token. /// There are 100 billion indivisible units per ORE (called "grams"). pub const TOKEN_DECIMALS: u8 = 11; /// One ORE token, denominated in indivisible units. pub const ONE_ORE: u64 = 10u64.pow(TOKEN_DECIMALS as u32); /// The duration of one minute, in seconds. pub const ONE_MINUTE: i64 = 60; /// The duration of one hour, in seconds. pub const ONE_HOUR: i64 = 60 * ONE_MINUTE; /// The duration of one day, in seconds. pub const ONE_DAY: i64 = 24 * ONE_HOUR; /// The number of seconds for when the winning square expires. pub const ONE_WEEK: i64 = 7 * ONE_DAY; /// The number of slots in one week. pub const ONE_MINUTE_SLOTS: u64 = 200; /// The number of slots in one hour. pub const ONE_HOUR_SLOTS: u64 = 60 * ONE_MINUTE_SLOTS; /// The number of slots in 12 hours. pub const TWELVE_HOURS_SLOTS: u64 = 12 * ONE_HOUR_SLOTS; /// The number of slots in one day. pub const ONE_DAY_SLOTS: u64 = 24 * ONE_HOUR_SLOTS; /// The number of slots in one week. pub const ONE_WEEK_SLOTS: u64 = 7 * ONE_DAY_SLOTS; /// The seed of the automation account PDA. pub const AUTOMATION: &[u8] = b"automation"; /// The seed of the board account PDA. pub const BOARD: &[u8] = b"board"; /// The seed of the stats account PDA. pub const STATS: &[u8] = b"stats"; /// The seed of the config account PDA. pub const CONFIG: &[u8] = b"config"; /// The seed of the miner account PDA. pub const MINER: &[u8] = b"miner"; /// The seed of the seeker account PDA. pub const SEEKER: &[u8] = b"seeker"; /// The seed of the square account PDA. pub const SQUARE: &[u8] = b"square"; /// The seed of the stake account PDA. pub const STAKE: &[u8] = b"stake"; /// The seed of the round account PDA. pub const ROUND: &[u8] = b"round"; /// The seed of the treasury account PDA. pub const TREASURY: &[u8] = b"treasury"; /// The address of the mint account. pub const MINT_ADDRESS: Pubkey = pubkey!("oreoU2P8bN6jkk3jbaiVxYnG1dCXcYxwhwyK9jSybcp"); /// The address of the sol mint account. pub const SOL_MINT: Pubkey = pubkey!("So11111111111111111111111111111111111111112"); /// The address to indicate ORE rewards are split between all miners. pub const SPLIT_ADDRESS: Pubkey = pubkey!("SpLiT11111111111111111111111111111111111112"); /// The address to indicate automation is permissionless. pub const EXECUTOR_ADDRESS: Pubkey = pubkey!("executor11111111111111111111111111111111112"); /// Denominator for fee calculations. pub const DENOMINATOR_BPS: u64 = 10_000; /// The address of the boost reserve token account. pub const BOOST_RESERVE_TOKEN: Pubkey = pubkey!("Gce36ZUsBDJsoLrfCBxUB5Sfq2DsGunofStvxFx6rBiD"); /// The fee paid to bots if they checkpoint a user. pub const CHECKPOINT_FEE: u64 = 10_000; // 0.00001 SOL /// Amount paid to bots per transaction for auto-compounding staking yield, in lamports. pub const COMPOUND_FEE_PER_TRANSACTION: u64 = 7_000; /// The fee paid to the admin for each transaction. pub const ADMIN_FEE: u64 = 100; // 1% /// The address to receive the admin fee. pub const ADMIN_FEE_COLLECTOR: Pubkey = pubkey!("DyB4Kv6V613gp2LWQTq1dwDYHGKuUEoDHnCouGUtxFiX"); /// The swap program used for buybacks. pub const SWAP_PROGRAM: Pubkey = pubkey!("JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4"); /// The address of the var account. pub const VAR_ADDRESS: Pubkey = pubkey!("BWCaDY96Xe4WkFq1M7UiCCRcChsJ3p51L5KrGzhxgm2E"); /// The address which can call the bury and wrap instructions. pub const BURY_AUTHORITY: Pubkey = pubkey!("HNWhK5f8RMWBqcA7mXJPaxdTPGrha3rrqUrri7HSKb3T"); /// The address of the board account. pub const BOARD_ADDRESS: Pubkey = pubkey!("BrcSxdp1nXFzou1YyDnQJcPNBNHgoypZmTsyKBSLLXzi"); /// The address of the treasury account. pub const TREASURY_ADDRESS: Pubkey = pubkey!("45db2FSR4mcXdSVVZbKbwojU6uYDpMyhpEi7cC8nHaWG"); /// The address of the config account. pub const CONFIG_ADDRESS: Pubkey = pubkey!("9c9X7aDRAF41faiDs94ELjT19UrGnn72wBW9hPsS4Awy");