{"version":3,"sources":["../../../../src/raydium/clmm/libraries/constants.ts"],"sourcesContent":["import BN from \"bn.js\";\n\nexport const Q64 = new BN(1).shln(64);\n\nexport const RESOLUTION = 64;\n\nexport const Q128 = new BN(1).shln(128);\n\nexport const U64_MAX = new BN(1).shln(64).subn(1);\n\nexport const U128_MAX = new BN(1).shln(128).subn(1);\n\nexport const MIN_TICK = -443636;\n\nexport const MAX_TICK = 443636;\n\nexport const MIN_SQRT_PRICE_X64 = new BN(\"4295048016\");\n\nexport const MAX_SQRT_PRICE_X64 = new BN(\"79226673521066979257578248091\");\n\nexport const LOG_B_2_X32 = new BN(\"59543866431248\");\n\nexport const LOG_B_P_ERR_MARGIN_LOWER_X64 = new BN(\"184467440737095516\");\n\nexport const LOG_B_P_ERR_MARGIN_UPPER_X64 = new BN(\"15793534762490258745\");\n\nexport const BIT_PRECISION = 16;\n\nexport const TICK_ARRAY_BITMAP_SIZE = 512;\n\nexport const TICK_ARRAY_SIZE = 60;\n\nexport const MAGIC_SQRT_10001 = new BN(\"18446743708227953217\");\n\nexport const TICK_TO_SQRT_PRICE_FACTORS: { bit: number; factor: BN }[] = [\n  { bit: 0, factor: new BN(\"fffcb933bd6fb800\", 16) }, // i=0\n  { bit: 1, factor: new BN(\"fff97272373d4000\", 16) }, // i=1\n  { bit: 2, factor: new BN(\"fff2e50f5f657000\", 16) }, // i=2\n  { bit: 3, factor: new BN(\"ffe5caca7e10f000\", 16) }, // i=3\n  { bit: 4, factor: new BN(\"ffcb9843d60f7000\", 16) }, // i=4\n  { bit: 5, factor: new BN(\"ff973b41fa98e800\", 16) }, // i=5\n  { bit: 6, factor: new BN(\"ff2ea16466c9b000\", 16) }, // i=6\n  { bit: 7, factor: new BN(\"fe5dee046a9a3800\", 16) }, // i=7\n  { bit: 8, factor: new BN(\"fcbe86c7900bb000\", 16) }, // i=8\n  { bit: 9, factor: new BN(\"f987a7253ac65800\", 16) }, // i=9\n  { bit: 10, factor: new BN(\"f3392b0822bb6000\", 16) }, // i=10\n  { bit: 11, factor: new BN(\"e7159475a2caf000\", 16) }, // i=11\n  { bit: 12, factor: new BN(\"d097f3bdfd2f2000\", 16) }, // i=12\n  { bit: 13, factor: new BN(\"a9f746462d9f8000\", 16) }, // i=13\n  { bit: 14, factor: new BN(\"70d869a156f31c00\", 16) }, // i=14\n  { bit: 15, factor: new BN(\"31be135f97ed3200\", 16) }, // i=15\n  { bit: 16, factor: new BN(\"9aa508b5b85a500\", 16) }, // i=16\n  { bit: 17, factor: new BN(\"5d6af8dedc582c\", 16) }, // i=17\n  { bit: 18, factor: new BN(\"2216e584f5fa\", 16) }, // i=18\n];\n\nexport const FEE_RATE_DENOMINATOR = 1_000_000;\n\nexport const MAX_FEE_RATE = 100_000;\n\nexport enum CollectFeeOn {\n  FromInput = 0,\n  TokenOnlyA = 1,\n  TokenOnlyB = 2,\n}\n\n// export const FEE_RATE_DENOMINATOR_VALUE = 1_000_000;\n\nexport const MAX_FEE_RATE_NUMERATOR = 100_000;\nexport const VOLATILITY_ACCUMULATOR_SCALE = 10_000;\nexport const REDUCTION_FACTOR_DENOMINATOR = 10_000;\nexport const DYNAMIC_FEE_CONTROL_DENOMINATOR = 100_000;\n\nexport const TICK_ARRAY_SIZE_USIZE = 60;\n\nexport const REWARD_NUM = 3;\n\nexport const OBSERVATION_NUM = 100;\nexport const OBSERVATION_UPDATE_DURATION_DEFAULT = 15;\n\nexport const OPERATION_SIZE_USIZE = 10;\nexport const WHITE_MINT_SIZE_USIZE = 100;\n\nexport const EXTENSION_TICKARRAY_BITMAP_SIZE = 14;\n\nexport enum PoolStatusBitIndex {\n  OpenPositionOrIncreaseLiquidity = 0,\n  DecreaseLiquidity = 1,\n  CollectFee = 2,\n  CollectReward = 3,\n  Swap = 4,\n  LimitOrder = 5,\n}\n\nexport enum PoolStatusBitFlag {\n  Enable = 0,\n  Disable = 1,\n}\n\nexport enum RewardState {\n  Uninitialized = 0,\n  Initialized = 1,\n  Opening = 2,\n  Ended = 3,\n}\n\nexport enum UpdateAmmConfigParam {\n  TradeFeeRate = 0,\n  ProtocolFeeRate = 1,\n  FundFeeRate = 2,\n  NewOwner = 3,\n  NewFundOwner = 4,\n}\n\nexport enum UpdateOperationAccountParam {\n  UpdateOperationOwner = 0,\n  RemoveOperationOwner = 1,\n  UpdateWhitelistMint = 2,\n  RemoveWhitelistMint = 3,\n}\n\nexport const BN_ZERO = new BN(0);\nexport const BN_ONE = new BN(1);\nexport const BN_NEGATIVE_ONE = new BN(-1);\n\nexport const mockV3CreatePoolInfo = {\n  tvl: 0,\n  volumeQuote: 0,\n  mintAmountA: 0,\n  mintAmountB: 0,\n  rewardDefaultInfos: [],\n  farmUpcomingCount: 0,\n  farmOngoingCount: 0,\n  farmFinishedCount: 0,\n\n  day: {\n    volume: 0,\n    volumeQuote: 0,\n    volumeFee: 0,\n    apr: 0,\n    feeApr: 0,\n    priceMin: 0,\n    priceMax: 0,\n    rewardApr: [0],\n  },\n  week: {\n    volume: 0,\n    volumeQuote: 0,\n    volumeFee: 0,\n    apr: 0,\n    feeApr: 0,\n    priceMin: 0,\n    priceMax: 0,\n    rewardApr: [0],\n  },\n  month: {\n    volume: 0,\n    volumeQuote: 0,\n    volumeFee: 0,\n    apr: 0,\n    feeApr: 0,\n    priceMin: 0,\n    priceMax: 0,\n    rewardApr: [0],\n  },\n  pooltype: [],\n};\n\n/**\n * Get human-readable description for collectFeeOn value\n * CollectFeeOn enum values:\n * 0 = FromInput - fee collected from input token during swap\n * 1 = Token0Only - fee collected from token0\n * 2 = Token1Only - fee collected from token1\n */\nexport function getCollectFeeOnDescription(value: number): string {\n  switch (value) {\n    case 0:\n      return \"0 (FromInput - fee from input token)\";\n    case 1:\n      return \"1 (Token0Only - fee from token0)\";\n    case 2:\n      return \"2 (Token1Only - fee from token1)\";\n    default:\n      return `${value} (unknown)`;\n  }\n}\n\nexport const DYNAMIC_CONFIG_INDEX = 2;\nexport const U64_IGNORE_RANGE = new BN(\"18446744073700000000\");\n"],"mappings":"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","names":[]}