use crate::states::Factor;
const SECONDS_PER_YEAR: Factor = 3600 * 24 * 365;
pub const DEFAULT_RECEIVER_FACTOR: Factor = 70_000_000_000_000_000_000;
pub const DEFAULT_SWAP_IMPACT_EXPONENT: Factor = super::MARKET_USD_UNIT;
pub const DEFAULT_SWAP_IMPACT_POSITIVE_FACTOR: Factor = 0;
pub const DEFAULT_SWAP_IMPACT_NEGATIVE_FACTOR: Factor = 0;
pub const DEFAULT_SWAP_FEE_FACTOR_FOR_POSITIVE_IMPACT: Factor = 0;
pub const DEFAULT_SWAP_FEE_FACTOR_FOR_NEGATIVE_IMPACT: Factor = 0;
pub const DEFAULT_MIN_POSITION_SIZE_USD: Factor = super::MARKET_USD_UNIT;
pub const DEFAULT_MIN_COLLATERAL_VALUE: Factor = super::MARKET_USD_UNIT;
pub const DEFAULT_MIN_COLLATERAL_FACTOR: Factor = super::MARKET_USD_UNIT / 100;
pub const DEFAULT_MIN_COLLATERAL_FACTOR_FOR_OPEN_INTEREST_FOR_LONG: Factor = 380_000_000_000;
pub const DEFAULT_MIN_COLLATERAL_FACTOR_FOR_OPEN_INTEREST_FOR_SHORT: Factor = 380_000_000_000;
pub const DEFAULT_MAX_POSITIVE_POSITION_IMPACT_FACTOR: Factor = 500_000_000_000_000_000;
pub const DEFAULT_MAX_NEGATIVE_POSITION_IMPACT_FACTOR: Factor = 500_000_000_000_000_000;
pub const DEFAULT_MAX_POSITION_IMPACT_FACTOR_FOR_LIQUIDATIONS: Factor = 0;
pub const DEFAULT_POSITION_IMPACT_EXPONENT: Factor = 2 * super::MARKET_USD_UNIT;
pub const DEFAULT_POSITION_IMPACT_POSITIVE_FACTOR: Factor = 10_000_000_000_000;
pub const DEFAULT_POSITION_IMPACT_NEGATIVE_FACTOR: Factor = 20_000_000_000_000;
pub const DEFAULT_ORDER_FEE_FACTOR_FOR_POSITIVE_IMPACT: Factor = 50_000_000_000_000_000;
pub const DEFAULT_ORDER_FEE_FACTOR_FOR_NEGATIVE_IMPACT: Factor = 70_000_000_000_000_000;
pub const DEFAULT_LIQUIDATION_FEE_FACTOR: Factor = 20 * super::MARKET_USD_UNIT / 10_000;
pub const DEFAULT_POSITION_IMPACT_DISTRIBUTE_FACTOR: Factor = 230_000_000_000_000_000;
pub const DEFAULT_MIN_POSITION_IMPACT_POOL_AMOUNT: Factor = 1_500_000_000;
pub const DEFAULT_BORROWING_FEE_FACTOR_FOR_LONG: Factor = 2_780_000_000_000;
pub const DEFAULT_BORROWING_FEE_FACTOR_FOR_SHORT: Factor = 2_780_000_000_000;
pub const DEFAULT_BORROWING_FEE_EXPONENT_FOR_LONG: Factor = super::MARKET_USD_UNIT;
pub const DEFAULT_BORROWING_FEE_EXPONENT_FOR_SHORT: Factor = super::MARKET_USD_UNIT;
pub const DEFAULT_BORROWING_FEE_OPTIMAL_USAGE_FACTOR_FOR_LONG: Factor =
75 * super::MARKET_USD_UNIT / 100;
pub const DEFAULT_BORROWING_FEE_OPTIMAL_USAGE_FACTOR_FOR_SHORT: Factor =
75 * super::MARKET_USD_UNIT / 100;
pub const DEFAULT_BORROWING_FEE_BASE_FACTOR_FOR_LONG: Factor =
60 * super::MARKET_USD_UNIT / 100 / SECONDS_PER_YEAR;
pub const DEFAULT_BORROWING_FEE_BASE_FACTOR_FOR_SHORT: Factor =
60 * super::MARKET_USD_UNIT / 100 / SECONDS_PER_YEAR;
pub const DEFAULT_BORROWING_FEE_ABOVE_OPTIMAL_USAGE_FACTOR_FOR_LONG: Factor =
150 * super::MARKET_USD_UNIT / 100 / SECONDS_PER_YEAR;
pub const DEFAULT_BORROWING_FEE_ABOVE_OPTIMAL_USAGE_FACTOR_FOR_SHORT: Factor =
150 * super::MARKET_USD_UNIT / 100 / SECONDS_PER_YEAR;
pub const DEFAULT_FUNDING_FEE_EXPONENT: Factor = super::MARKET_USD_UNIT;
pub const DEFAULT_FUNDING_FEE_FACTOR: Factor = 2_000_000_000_000;
pub const DEFAULT_FUNDING_FEE_MAX_FACTOR_PER_SECOND: Factor = 1_500_000_000_000;
pub const DEFAULT_FUNDING_FEE_MIN_FACTOR_PER_SECOND: Factor = 30_000_000_000;
pub const DEFAULT_FUNDING_FEE_INCREASE_FACTOR_PER_SECOND: Factor = 116_000_000;
pub const DEFAULT_FUNDING_FEE_DECREASE_FACTOR_PER_SECOND: Factor = 0;
pub const DEFAULT_FUNDING_FEE_THRESHOLD_FOR_STABLE_FUNDING: Factor = 5_000_000_000_000_000_000;
pub const DEFAULT_FUNDING_FEE_THRESHOLD_FOR_DECREASE_FUNDING: Factor = 0;
pub const DEFAULT_RESERVE_FACTOR: Factor = 50_000_000_000_000_000_000;
pub const DEFAULT_OPEN_INTEREST_RESERVE_FACTOR: Factor = 45_000_000_000_000_000_000;
pub const DEFAULT_MAX_PNL_FACTOR_FOR_LONG_DEPOSIT: Factor = 60_000_000_000_000_000_000;
pub const DEFAULT_MAX_PNL_FACTOR_FOR_SHORT_DEPOSIT: Factor = 60_000_000_000_000_000_000;
pub const DEFAULT_MAX_PNL_FACTOR_FOR_LONG_WITHDRAWAL: Factor = 60_000_000_000_000_000_000;
pub const DEFAULT_MAX_PNL_FACTOR_FOR_SHORT_WITHDRAWAL: Factor = 60_000_000_000_000_000_000;
pub const DEFAULT_MAX_PNL_FACTOR_FOR_LONG_TRADER: Factor = 60_000_000_000_000_000_000;
pub const DEFAULT_MAX_PNL_FACTOR_FOR_SHORT_TRADER: Factor = 60_000_000_000_000_000_000;
pub const DEFAULT_MAX_PNL_FACTOR_FOR_LONG_ADL: Factor = 55_000_000_000_000_000_000;
pub const DEFAULT_MAX_PNL_FACTOR_FOR_SHORT_ADL: Factor = 55_000_000_000_000_000_000;
pub const DEFAULT_MIN_PNL_FACTOR_AFTER_LONG_ADL: Factor = 50_000_000_000_000_000_000;
pub const DEFAULT_MIN_PNL_FACTOR_AFTER_SHORT_ADL: Factor = 50_000_000_000_000_000_000;
pub const DEFAULT_MAX_POOL_AMOUNT_FOR_LONG_TOKEN: Factor = 900_000_000_000;
pub const DEFAULT_MAX_POOL_AMOUNT_FOR_SHORT_TOKEN: Factor = 900_000_000_000;
pub const DEFAULT_MAX_POOL_VALUE_FOR_DEPOSIT_LONG_TOKEN: Factor = 750_000 * super::MARKET_USD_UNIT;
pub const DEFAULT_MAX_POOL_VALUE_FOR_DEPOSIT_SHORT_TOKEN: Factor = 750_000 * super::MARKET_USD_UNIT;
pub const DEFAULT_MAX_OPEN_INTEREST_FOR_LONG: Factor = 450_000 * super::MARKET_USD_UNIT;
pub const DEFAULT_MAX_OPEN_INTEREST_FOR_SHORT: Factor = 450_000 * super::MARKET_USD_UNIT;
pub const DEFAULT_MIN_TOKENS_FOR_FIRST_DEPOSIT: Factor = 0;
pub const DEFAULT_SKIP_BORROWING_FEE_FOR_SMALLER_SIDE: bool = true;
pub const DEFAULT_IGNORE_OPEN_INTEREST_FOR_USAGE_FACTOR: bool = false;