use anchor_lang::prelude::*;
use anchor_lang::solana_program::{pubkey, pubkey::Pubkey};
#[constant]
pub const BASIS_POINT_MAX: i32 = 10000;
#[constant]
pub const MAX_BIN_PER_ARRAY: usize = 70;
#[constant]
pub const MAX_BIN_PER_POSITION: usize = 70;
#[constant]
pub const MIN_BIN_ID: i32 = -443636;
#[constant]
pub const MAX_BIN_ID: i32 = 443636;
#[constant]
pub const MAX_FEE_RATE: u64 = 100_000_000;
#[constant]
pub const FEE_PRECISION: u64 = 1_000_000_000;
#[constant]
pub const MAX_PROTOCOL_SHARE: u16 = 2_500;
#[constant]
pub const HOST_FEE_BPS: u16 = 2_000;
pub const U24_MAX: u32 = 0xffffff;
#[constant]
pub const NUM_REWARDS: usize = 2;
#[constant]
pub const MIN_REWARD_DURATION: u64 = 1;
#[constant]
pub const MAX_REWARD_DURATION: u64 = 31536000;
pub const DEFAULT_OBSERVATION_LENGTH: u64 = 100;
pub const SAMPLE_LIFETIME: u64 = 120; #[constant]
pub const EXTENSION_BINARRAY_BITMAP_SIZE: usize = 12;
#[constant]
pub const BIN_ARRAY_BITMAP_SIZE: i32 = 512;
pub const MAX_BASE_FACTOR_STEP: u16 = 100;
pub const MAX_FEE_UPDATE_WINDOW: i64 = 0;
#[constant]
pub const MAX_REWARD_BIN_SPLIT: usize = 15;
#[cfg(feature = "localnet")]
pub static ALPHA_ACCESS_COLLECTION_MINTS: [Pubkey; 1] =
[pubkey!("J1S9H3QjnRtBbbuD4HjPV6RpRhwuk4zKbxsnCHuTgh9w")];
#[cfg(not(feature = "localnet"))]
pub static ALPHA_ACCESS_COLLECTION_MINTS: [Pubkey; 1] =
[pubkey!("5rwhXUgAAdbVEaFQzAwgrcWwoCqYGzR1Mo2KwUYfbRuS")];