pub mod market;
pub mod glv;
pub use self::{glv::*, market::*};
use gmsol_utils::price::Decimal;
use crate::states::{Amount, Factor};
pub const EVENT_AUTHORITY_SEED: &[u8] = b"__event_authority";
pub const MAREKT_TOKEN_MINT_SEED: &[u8] = b"market_token_mint";
pub const MARKET_VAULT_SEED: &[u8] = b"market_vault";
pub const GT_MINT_SEED: &[u8] = b"gt";
pub const CLAIMABLE_ACCOUNT_SEED: &[u8] = b"claimable_account";
pub const ESCROW_ACCOUNT_SEED: &[u8] = b"escrow_account";
pub const MARKET_TOKEN_DECIMALS: u8 = 9;
pub const MARKET_USD_UNIT: u128 = 10u128.pow(MARKET_DECIMALS as u32);
pub const FUNDING_AMOUNT_PER_SIZE_ADJUSTMENT: u128 = 10u128.pow((MARKET_DECIMALS >> 1) as u32);
pub const MARKET_USD_TO_AMOUNT_DIVISOR: u128 =
10u128.pow((MARKET_DECIMALS - MARKET_TOKEN_DECIMALS) as u32);
pub const MARKET_DECIMALS: u8 = Decimal::MAX_DECIMALS;
pub const DEFAULT_CLAIMABLE_TIME_WINDOW: Amount = 3600;
pub const DEFAULT_RECENT_TIME_WINDOW: Amount = 300;
pub const DEFAULT_REQUEST_EXPIRATION: Amount = 3600;
pub const DEFAULT_ORACLE_MAX_AGE: Amount = 3600;
pub const DEFAULT_ORACLE_MAX_TIMESTAMP_RANGE: Amount = 300;
pub const DEFAULT_ORACLE_MAX_FUTURE_TIMESTAMP_EXCESS: Amount = 0;
pub const DEFAULT_ADL_PRICES_MAX_STALENESS: Amount = 0;
pub const DEFAULT_ORACLE_REF_PRICE_DEVIATION: Factor = 1_000_000_000_000_000;
pub const DEFAULT_GT_VAULT_TIME_WINDOW: u32 = 24 * 60 * 60;