@paraswap/dex-lib 3.11.5-fluid-dex-changes.1 → 3.11.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/.vscode/launch.json +53 -0
  2. package/.vscode/settings.json +2 -0
  3. package/.vscode/tasks.json +15 -0
  4. package/build/abi/fluid-dex/resolver.abi.json +4 -731
  5. package/build/abi/{cables/CablesMainnetRFQ.json → inception/inception-ineth-pool.json} +489 -510
  6. package/build/abi/inception/inception-ratio-feed.json +329 -0
  7. package/build/abi/inception/inception-vault.json +991 -0
  8. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +52 -0
  9. package/build/abi/{integral/relayer.json → wombat/pool.json} +474 -721
  10. package/build/dex/aave-v1/aave-v1.d.ts +2 -1
  11. package/build/dex/aave-v1/aave-v1.js +23 -0
  12. package/build/dex/aave-v1/aave-v1.js.map +1 -1
  13. package/build/dex/aave-v2/tokens-avalanche.json +44 -0
  14. package/build/dex/aave-v2/tokens-mainnet.json +188 -0
  15. package/build/dex/aave-v2/tokens-polygon.json +44 -0
  16. package/build/dex/algebra/algebra.js +10 -18
  17. package/build/dex/algebra/algebra.js.map +1 -1
  18. package/build/dex/algebra/config.js +1 -1
  19. package/build/dex/algebra/config.js.map +1 -1
  20. package/build/dex/balancer-v2/balancer-v2.js +1 -0
  21. package/build/dex/balancer-v2/balancer-v2.js.map +1 -1
  22. package/build/dex/balancer-v3/abi/balancerBatchRouter.d.ts +729 -0
  23. package/build/dex/balancer-v3/abi/balancerBatchRouter.js +732 -0
  24. package/build/dex/balancer-v3/abi/balancerBatchRouter.js.map +1 -0
  25. package/build/dex/balancer-v3/abi/balancerRouter.d.ts +1406 -0
  26. package/build/dex/balancer-v3/abi/balancerRouter.js +1175 -0
  27. package/build/dex/balancer-v3/abi/balancerRouter.js.map +1 -0
  28. package/build/dex/balancer-v3/abi/vaultExtension.V3.d.ts +2081 -0
  29. package/build/dex/balancer-v3/abi/vaultExtension.V3.js +1851 -0
  30. package/build/dex/balancer-v3/abi/vaultExtension.V3.js.map +1 -0
  31. package/build/dex/balancer-v3/balancer-v3-pool.d.ts +76 -0
  32. package/build/dex/balancer-v3/balancer-v3-pool.js +383 -0
  33. package/build/dex/balancer-v3/balancer-v3-pool.js.map +1 -0
  34. package/build/dex/balancer-v3/balancer-v3.d.ts +57 -0
  35. package/build/dex/balancer-v3/balancer-v3.js +373 -0
  36. package/build/dex/balancer-v3/balancer-v3.js.map +1 -0
  37. package/build/dex/balancer-v3/config.d.ts +8 -0
  38. package/build/dex/balancer-v3/config.js +24 -0
  39. package/build/dex/balancer-v3/config.js.map +1 -0
  40. package/build/dex/balancer-v3/getOnChainState.d.ts +10 -0
  41. package/build/dex/balancer-v3/getOnChainState.js +158 -0
  42. package/build/dex/balancer-v3/getOnChainState.js.map +1 -0
  43. package/build/dex/balancer-v3/getPoolsApi.d.ts +2 -0
  44. package/build/dex/balancer-v3/getPoolsApi.js +81 -0
  45. package/build/dex/balancer-v3/getPoolsApi.js.map +1 -0
  46. package/build/dex/balancer-v3/getTopPoolsApi.d.ts +13 -0
  47. package/build/dex/balancer-v3/getTopPoolsApi.js +62 -0
  48. package/build/dex/balancer-v3/getTopPoolsApi.js.map +1 -0
  49. package/build/dex/balancer-v3/types.d.ts +63 -0
  50. package/build/dex/balancer-v3/types.js +3 -0
  51. package/build/dex/balancer-v3/types.js.map +1 -0
  52. package/build/dex/fluid-dex/config.js +1 -1
  53. package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.js +1 -28
  54. package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.js.map +1 -1
  55. package/build/dex/fluid-dex/fluid-dex.d.ts +10 -17
  56. package/build/dex/fluid-dex/fluid-dex.js +67 -218
  57. package/build/dex/fluid-dex/fluid-dex.js.map +1 -1
  58. package/build/dex/fluid-dex/types.d.ts +2 -22
  59. package/build/dex/inception/config.d.ts +4 -0
  60. package/build/dex/inception/config.js +109 -0
  61. package/build/dex/inception/config.js.map +1 -0
  62. package/build/dex/inception/inception-event-pool.d.ts +16 -0
  63. package/build/dex/inception/inception-event-pool.js +49 -0
  64. package/build/dex/inception/inception-event-pool.js.map +1 -0
  65. package/build/dex/inception/inception.d.ts +43 -0
  66. package/build/dex/inception/inception.js +180 -0
  67. package/build/dex/inception/inception.js.map +1 -0
  68. package/build/dex/inception/tokens.d.ts +9 -0
  69. package/build/dex/inception/tokens.js +28 -0
  70. package/build/dex/inception/tokens.js.map +1 -0
  71. package/build/dex/inception/types.d.ts +22 -0
  72. package/build/dex/inception/types.js +3 -0
  73. package/build/dex/inception/types.js.map +1 -0
  74. package/build/dex/inception/utils.d.ts +7 -0
  75. package/build/dex/inception/utils.js +58 -0
  76. package/build/dex/inception/utils.js.map +1 -0
  77. package/build/dex/jarvis.d.ts +2 -1
  78. package/build/dex/jarvis.js +58 -0
  79. package/build/dex/jarvis.js.map +1 -1
  80. package/build/dex/maker-psm/scripts/gem.abi.json +136 -0
  81. package/build/dex/maker-psm/scripts/validate-state.d.ts +0 -0
  82. package/build/dex/maker-psm/scripts/validate-state.js +185 -0
  83. package/build/dex/maker-psm/scripts/validate-state.js.map +1 -0
  84. package/build/dex/maker-psm/scripts/vat.abi.json +243 -0
  85. package/build/dex/platypus/platypus.d.ts +2 -1
  86. package/build/dex/platypus/platypus.js +45 -0
  87. package/build/dex/platypus/platypus.js.map +1 -1
  88. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +1 -0
  89. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +53 -0
  90. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +1 -0
  91. package/build/dex/stable-pool.js +1 -8
  92. package/build/dex/stable-pool.js.map +1 -1
  93. package/build/dex/swaap-v1/swaap-v1.d.ts +2 -1
  94. package/build/dex/swaap-v1/swaap-v1.js +14 -0
  95. package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
  96. package/build/dex/uniswap-v3/config.js +1 -1
  97. package/build/dex/uniswap-v3/config.js.map +1 -1
  98. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +17 -0
  99. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +64 -0
  100. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +1 -0
  101. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +17 -0
  102. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +79 -0
  103. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +1 -0
  104. package/build/dex/uniswap-v3/uniswap-v3-pricing.d.ts +4 -0
  105. package/build/dex/uniswap-v3/uniswap-v3-pricing.js +43 -0
  106. package/build/dex/uniswap-v3/uniswap-v3-pricing.js.map +1 -0
  107. package/build/dex/uniswap-v3/uniswap-v3-worker.d.ts +1 -0
  108. package/build/dex/uniswap-v3/uniswap-v3-worker.js +10 -0
  109. package/build/dex/uniswap-v3/uniswap-v3-worker.js.map +1 -0
  110. package/build/dex/zerox/index.d.ts +4 -26
  111. package/build/dex/zerox/index.js +50 -42
  112. package/build/dex/zerox/index.js.map +1 -1
  113. package/build/dex/zerox/types.d.ts +29 -0
  114. package/build/dex/zerox/types.js +8 -1
  115. package/build/dex/zerox/types.js.map +1 -1
  116. package/package.json +1 -1
  117. package/src/abi/fluid-dex/resolver.abi.json +4 -731
  118. package/src/dex/algebra/algebra.ts +20 -19
  119. package/src/dex/algebra/config.ts +1 -2
  120. package/src/dex/balancer-v2/balancer-v2-e2e.test.ts +78 -0
  121. package/src/dex/balancer-v2/balancer-v2.ts +2 -0
  122. package/src/dex/fluid-dex/config.ts +1 -1
  123. package/src/dex/fluid-dex/fluid-dex-e2e.test.ts +3 -151
  124. package/src/dex/fluid-dex/fluid-dex-events.test.ts +4 -2
  125. package/src/dex/fluid-dex/fluid-dex-integration.test.ts +11 -79
  126. package/src/dex/fluid-dex/fluid-dex-liquidity-proxy.ts +0 -33
  127. package/src/dex/fluid-dex/fluid-dex.ts +104 -302
  128. package/src/dex/fluid-dex/types.ts +1 -25
  129. package/src/dex/uniswap-v3/config.ts +1 -2
  130. package/.idea/aws.xml +0 -17
  131. package/.idea/codeStyles/Project.xml +0 -19
  132. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  133. package/.idea/misc.xml +0 -6
  134. package/.idea/modules.xml +0 -8
  135. package/.idea/paraswap-dex-lib.iml +0 -9
  136. package/.idea/prettier.xml +0 -7
  137. package/.idea/vcs.xml +0 -6
  138. package/build/abi/integral/factory.json +0 -333
  139. package/build/abi/integral/oracle.json +0 -501
  140. package/build/abi/integral/pool.json +0 -1041
  141. package/build/dex/cables/cables.d.ts +0 -59
  142. package/build/dex/cables/cables.js +0 -599
  143. package/build/dex/cables/cables.js.map +0 -1
  144. package/build/dex/cables/config.d.ts +0 -4
  145. package/build/dex/cables/config.js +0 -15
  146. package/build/dex/cables/config.js.map +0 -1
  147. package/build/dex/cables/constants.d.ts +0 -20
  148. package/build/dex/cables/constants.js +0 -24
  149. package/build/dex/cables/constants.js.map +0 -1
  150. package/build/dex/cables/rate-fetcher.d.ts +0 -34
  151. package/build/dex/cables/rate-fetcher.js +0 -106
  152. package/build/dex/cables/rate-fetcher.js.map +0 -1
  153. package/build/dex/cables/types.d.ts +0 -113
  154. package/build/dex/cables/types.js +0 -19
  155. package/build/dex/cables/types.js.map +0 -1
  156. package/build/dex/cables/validators.d.ts +0 -5
  157. package/build/dex/cables/validators.js +0 -49
  158. package/build/dex/cables/validators.js.map +0 -1
  159. package/build/dex/fluid-dex/fluid-dex-generate-pool.d.ts +0 -49
  160. package/build/dex/fluid-dex/fluid-dex-generate-pool.js +0 -104
  161. package/build/dex/fluid-dex/fluid-dex-generate-pool.js.map +0 -1
  162. package/build/dex/integral/config.d.ts +0 -4
  163. package/build/dex/integral/config.js +0 -20
  164. package/build/dex/integral/config.js.map +0 -1
  165. package/build/dex/integral/context.d.ts +0 -40
  166. package/build/dex/integral/context.js +0 -158
  167. package/build/dex/integral/context.js.map +0 -1
  168. package/build/dex/integral/integral-factory.d.ts +0 -24
  169. package/build/dex/integral/integral-factory.js +0 -95
  170. package/build/dex/integral/integral-factory.js.map +0 -1
  171. package/build/dex/integral/integral-pool.d.ts +0 -50
  172. package/build/dex/integral/integral-pool.js +0 -149
  173. package/build/dex/integral/integral-pool.js.map +0 -1
  174. package/build/dex/integral/integral-pricing.d.ts +0 -18
  175. package/build/dex/integral/integral-pricing.js +0 -114
  176. package/build/dex/integral/integral-pricing.js.map +0 -1
  177. package/build/dex/integral/integral-relayer.d.ts +0 -42
  178. package/build/dex/integral/integral-relayer.js +0 -192
  179. package/build/dex/integral/integral-relayer.js.map +0 -1
  180. package/build/dex/integral/integral-token.d.ts +0 -27
  181. package/build/dex/integral/integral-token.js +0 -59
  182. package/build/dex/integral/integral-token.js.map +0 -1
  183. package/build/dex/integral/integral.d.ts +0 -41
  184. package/build/dex/integral/integral.js +0 -376
  185. package/build/dex/integral/integral.js.map +0 -1
  186. package/build/dex/integral/types.d.ts +0 -85
  187. package/build/dex/integral/types.js +0 -9
  188. package/build/dex/integral/types.js.map +0 -1
  189. package/build/dex/integral/utils-e2e.d.ts +0 -9
  190. package/build/dex/integral/utils-e2e.js +0 -131
  191. package/build/dex/integral/utils-e2e.js.map +0 -1
  192. package/build/dex/integral/utils.d.ts +0 -17
  193. package/build/dex/integral/utils.js +0 -94
  194. package/build/dex/integral/utils.js.map +0 -1
  195. package/build/dex/trader-joe-v2.1/optimizer.d.ts +0 -2
  196. package/build/dex/trader-joe-v2.1/optimizer.js +0 -47
  197. package/build/dex/trader-joe-v2.1/optimizer.js.map +0 -1
@@ -98,6 +98,8 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
98
98
  // across DEXes. It is recommended to use
99
99
  // ${dexKey}_${poolAddress} as a poolIdentifier
100
100
  async getPoolIdentifiers(srcToken, destToken, side, blockNumber) {
101
+ if (side === constants_1.SwapSide.BUY)
102
+ return [];
101
103
  const pool = this.getPoolByTokenPair(srcToken.address, destToken.address);
102
104
  return pool ? [pool.id] : [];
103
105
  }
@@ -123,6 +125,8 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
123
125
  try {
124
126
  if (srcToken.address.toLowerCase() === destToken.address.toLowerCase())
125
127
  return null;
128
+ if (side === constants_1.SwapSide.BUY)
129
+ return null;
126
130
  // Get the pool to use.
127
131
  const pool = this.getPoolByTokenPair(srcToken.address, destToken.address);
128
132
  if (!pool)
@@ -132,21 +136,15 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
132
136
  return null;
133
137
  const liquidityProxyState = await this.liquidityProxy.getStateOrGenerate(blockNumber);
134
138
  const currentPoolReserves = liquidityProxyState.poolsReserves.find(poolReserve => poolReserve.pool.toLowerCase() === pool.address.toLowerCase());
135
- if (!currentPoolReserves) {
139
+ if (!currentPoolReserves)
136
140
  return null;
137
- }
138
141
  const prices = amounts.map(amount => {
139
- if (side === constants_1.SwapSide.SELL) {
140
- return this.swapIn(srcToken.address.toLowerCase() === pool.token0.toLowerCase(), amount, currentPoolReserves.collateralReserves, currentPoolReserves.debtReserves, srcToken.decimals, destToken.decimals, BigInt(currentPoolReserves.fee), currentPoolReserves.dexLimits, Math.floor(Date.now() / 1000));
141
- }
142
- else {
143
- return this.swapOut(srcToken.address.toLowerCase() === pool.token0.toLowerCase(), amount, currentPoolReserves.collateralReserves, currentPoolReserves.debtReserves, srcToken.decimals, destToken.decimals, BigInt(currentPoolReserves.fee), currentPoolReserves.dexLimits, Math.floor(Date.now() / 1000));
144
- }
142
+ return this.swapIn(srcToken.address.toLowerCase() === pool.token0.toLowerCase(), amount, currentPoolReserves.collateralReserves, currentPoolReserves.debtReserves, srcToken.decimals, destToken.decimals, BigInt(currentPoolReserves.fee));
145
143
  });
146
144
  return [
147
145
  {
148
146
  prices: prices,
149
- unit: (0, utils_1.getBigIntPow)(destToken.decimals),
147
+ unit: (0, utils_1.getBigIntPow)((side === constants_1.SwapSide.SELL ? destToken : srcToken).decimals),
150
148
  data: {},
151
149
  exchange: this.dexKey,
152
150
  poolIdentifier: pool.id,
@@ -169,6 +167,8 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
169
167
  // V6: Not used, can be left blank
170
168
  // Hint: abiCoder.encodeParameter() could be useful
171
169
  getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
170
+ if (side === constants_1.SwapSide.BUY)
171
+ throw new Error(`Buy not supported`);
172
172
  // Encode here the payload for adapter
173
173
  const payload = '';
174
174
  const pool = this.getPoolByTokenPair(srcToken, destToken);
@@ -185,26 +185,18 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
185
185
  return [];
186
186
  }
187
187
  async getDexParam(srcToken, destToken, srcAmount, destAmount, recipient, data, side, context, executorAddress) {
188
+ if (side === constants_1.SwapSide.BUY)
189
+ throw new Error(`Buy not supported`);
188
190
  let args;
189
191
  let returnAmountPos;
190
- const method = side === constants_1.SwapSide.SELL ? 'swapIn' : 'swapOut';
191
- returnAmountPos = (0, utils_2.extractReturnAmountPosition)(this.fluidDexPoolIface, method, side === constants_1.SwapSide.SELL ? 'amountOut_' : 'amountIn_');
192
+ const method = 'swapIn';
193
+ returnAmountPos = (0, utils_2.extractReturnAmountPosition)(this.fluidDexPoolIface, method, 'amountOut_');
192
194
  const pool = this.getPoolByTokenPair(srcToken, destToken);
193
- if (side === constants_1.SwapSide.SELL) {
194
- if (pool.token0.toLowerCase() !== srcToken.toLowerCase()) {
195
- args = [false, BigInt(srcAmount), BigInt(destAmount), recipient];
196
- }
197
- else {
198
- args = [true, BigInt(srcAmount), BigInt(destAmount), recipient];
199
- }
195
+ if (pool.token0.toLowerCase() !== srcToken.toLowerCase()) {
196
+ args = [false, BigInt(srcAmount), BigInt(destAmount), recipient];
200
197
  }
201
198
  else {
202
- if (pool.token0.toLowerCase() !== srcToken.toLowerCase()) {
203
- args = [false, BigInt(destAmount), BigInt(srcAmount), recipient];
204
- }
205
- else {
206
- args = [true, BigInt(destAmount), BigInt(srcAmount), recipient];
207
- }
199
+ args = [true, BigInt(srcAmount), BigInt(destAmount), recipient];
208
200
  }
209
201
  const swapData = this.fluidDexPoolIface.encodeFunctionData(method, args);
210
202
  return {
@@ -225,7 +217,7 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
225
217
  * @param outDecimals - The number of decimals for the output token.
226
218
  * @returns The calculated output amount (as a BigInt).
227
219
  */
228
- swapIn(swap0To1, amountIn, colReserves, debtReserves, inDecimals, outDecimals, fee, currentLimits, syncTime) {
220
+ swapIn(swap0To1, amountIn, colReserves, debtReserves, inDecimals, outDecimals, fee) {
229
221
  if (amountIn === 0n) {
230
222
  return 0n; // Return 0 if input amount is 0
231
223
  }
@@ -233,11 +225,11 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
233
225
  colReserves.token1RealReserves + debtReserves.token1RealReserves == 0n) {
234
226
  return 0n;
235
227
  }
236
- const amountInAdjusted = (((amountIn * (this.FEE_100_PERCENT - fee)) / this.FEE_100_PERCENT) *
237
- BigInt(10 ** 12)) /
238
- BigInt(10 ** inDecimals);
239
- const amountOut = this.swapInAdjusted(swap0To1, amountInAdjusted, colReserves, debtReserves, outDecimals, currentLimits, syncTime);
240
- return (amountOut * BigInt(10 ** outDecimals)) / BigInt(10 ** 12);
228
+ const amountInAdjusted = (amountIn * BigInt(10 ** 12)) / BigInt(10 ** inDecimals);
229
+ const amountOut = this.swapInAdjusted(swap0To1, amountInAdjusted, // Convert back to number for internal calculations
230
+ colReserves, debtReserves, fee);
231
+ const result = (amountOut * BigInt(10 ** outDecimals)) / BigInt(10 ** 12);
232
+ return result;
241
233
  }
242
234
  /**
243
235
  * Calculates the output amount for a given input amount in a swap operation.
@@ -247,22 +239,21 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
247
239
  * @param debtReserves - The reserves of the debt pool.
248
240
  * @returns The calculated output amount.
249
241
  */
250
- swapInAdjusted(swap0To1, amountToSwap, colReserves, debtReserves, outDecimals, currentLimits, syncTime) {
242
+ swapInAdjusted(swap0To1, amountToSwap, colReserves, debtReserves, fee) {
251
243
  const { token0RealReserves, token1RealReserves, token0ImaginaryReserves, token1ImaginaryReserves, } = colReserves;
252
244
  const { token0RealReserves: debtToken0RealReserves, token1RealReserves: debtToken1RealReserves, token0ImaginaryReserves: debtToken0ImaginaryReserves, token1ImaginaryReserves: debtToken1ImaginaryReserves, } = debtReserves;
253
245
  // Check if all reserves of collateral pool are greater than 0
254
- const colPoolEnabled = token0RealReserves > 0 &&
255
- token1RealReserves > 0 &&
256
- token0ImaginaryReserves > 0 &&
257
- token1ImaginaryReserves > 0;
246
+ const colPoolEnabled = token0RealReserves > BigInt(0) &&
247
+ token1RealReserves > BigInt(0) &&
248
+ token0ImaginaryReserves > BigInt(0) &&
249
+ token1ImaginaryReserves > BigInt(0);
258
250
  // Check if all reserves of debt pool are greater than 0
259
- const debtPoolEnabled = debtToken0RealReserves > 0 &&
260
- debtToken1RealReserves > 0 &&
261
- debtToken0ImaginaryReserves > 0 &&
262
- debtToken1ImaginaryReserves > 0;
251
+ const debtPoolEnabled = debtToken0RealReserves > BigInt(0) &&
252
+ debtToken1RealReserves > BigInt(0) &&
253
+ debtToken0ImaginaryReserves > BigInt(0) &&
254
+ debtToken1ImaginaryReserves > BigInt(0);
263
255
  let colReserveIn, colReserveOut, debtReserveIn, debtReserveOut;
264
256
  let colIReserveIn, colIReserveOut, debtIReserveIn, debtIReserveOut;
265
- let borrowable, withdrawable;
266
257
  if (swap0To1) {
267
258
  colReserveIn = token0RealReserves;
268
259
  colReserveOut = token1RealReserves;
@@ -272,8 +263,6 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
272
263
  debtReserveOut = debtToken1RealReserves;
273
264
  debtIReserveIn = debtToken0ImaginaryReserves;
274
265
  debtIReserveOut = debtToken1ImaginaryReserves;
275
- borrowable = this.getExpandedLimit(syncTime, currentLimits.borrowableToken1);
276
- withdrawable = this.getExpandedLimit(syncTime, currentLimits.withdrawableToken1);
277
266
  }
278
267
  else {
279
268
  colReserveIn = token1RealReserves;
@@ -284,121 +273,46 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
284
273
  debtReserveOut = debtToken0RealReserves;
285
274
  debtIReserveIn = debtToken1ImaginaryReserves;
286
275
  debtIReserveOut = debtToken0ImaginaryReserves;
287
- borrowable = this.getExpandedLimit(syncTime, currentLimits.borrowableToken0);
288
- withdrawable = this.getExpandedLimit(syncTime, currentLimits.withdrawableToken0);
289
276
  }
290
- // bring borrowable and withdrawable from token decimals to 1e12 decimals, same as amounts
291
- borrowable = (borrowable * BigInt(10 ** 12)) / BigInt(10 ** outDecimals);
292
- withdrawable =
293
- (withdrawable * BigInt(10 ** 12)) / BigInt(10 ** outDecimals);
294
277
  let a;
295
278
  if (colPoolEnabled && debtPoolEnabled) {
296
279
  a = this.swapRoutingIn(amountToSwap, colIReserveOut, colIReserveIn, debtIReserveOut, debtIReserveIn);
297
280
  }
298
281
  else if (debtPoolEnabled) {
299
- a = -1n; // Route from debt pool
282
+ a = BigInt(-1); // Route from debt pool
300
283
  }
301
284
  else if (colPoolEnabled) {
302
- a = amountToSwap + 1n; // Route from collateral pool
285
+ a = amountToSwap + BigInt(1); // Route from collateral pool
303
286
  }
304
287
  else {
305
288
  throw new Error('No pools are enabled');
306
289
  }
307
- let amountOutCollateral = 0n;
308
- let amountOutDebt = 0n;
309
- let amountInCollateral = 0n;
310
- let amountInDebt = 0n;
311
- if (a <= 0n) {
290
+ let amountOutCollateral = BigInt(0);
291
+ let amountOutDebt = BigInt(0);
292
+ if (a <= BigInt(0)) {
312
293
  // Entire trade routes through debt pool
313
- amountInDebt = amountToSwap;
314
- amountOutDebt = this.getAmountOut(amountToSwap, debtIReserveIn, debtIReserveOut);
294
+ amountOutDebt = this.getAmountOut(this.applyFee(amountToSwap, fee), debtIReserveIn, debtIReserveOut);
315
295
  }
316
296
  else if (a >= amountToSwap) {
317
297
  // Entire trade routes through collateral pool
318
- amountInCollateral = amountToSwap;
319
- amountOutCollateral = this.getAmountOut(amountToSwap, colIReserveIn, colIReserveOut);
298
+ amountOutCollateral = this.getAmountOut(this.applyFee(amountToSwap, fee), colIReserveIn, colIReserveOut);
320
299
  }
321
300
  else {
322
301
  // Trade routes through both pools
323
- amountInCollateral = a;
324
- amountOutCollateral = this.getAmountOut(a, colIReserveIn, colIReserveOut);
325
- amountInDebt = amountToSwap - a;
326
- amountOutDebt = this.getAmountOut(amountInDebt, debtIReserveIn, debtIReserveOut);
302
+ amountOutCollateral = this.getAmountOut(this.applyFee(a, fee), colIReserveIn, colIReserveOut);
303
+ amountOutDebt = this.getAmountOut(this.applyFee(amountToSwap - a, fee), debtIReserveIn, debtIReserveOut);
327
304
  }
328
305
  if (amountOutDebt > debtReserveOut) {
329
306
  return 0n;
330
307
  }
331
- if (amountOutDebt > borrowable) {
332
- return 0n;
333
- }
334
308
  if (amountOutCollateral > colReserveOut) {
335
309
  return 0n;
336
310
  }
337
- if (amountOutCollateral > withdrawable) {
338
- return 0n;
339
- }
340
- // For price calculations, we'll use a precision factor for bigint division
341
- const PRECISION = 1000000000000000000000000000n; // 1e27
342
- let oldPrice;
343
- let newPrice;
344
- if (amountInCollateral > amountInDebt) {
345
- // new pool price from col pool
346
- oldPrice = swap0To1
347
- ? (colIReserveOut * PRECISION) / colIReserveIn
348
- : (colIReserveIn * PRECISION) / colIReserveOut;
349
- newPrice = swap0To1
350
- ? ((colIReserveOut - amountOutCollateral) * PRECISION) /
351
- (colIReserveIn + amountInCollateral)
352
- : ((colIReserveIn + amountInCollateral) * PRECISION) /
353
- (colIReserveOut - amountOutCollateral);
354
- }
355
- else {
356
- // new pool price from debt pool
357
- oldPrice = swap0To1
358
- ? (debtIReserveOut * PRECISION) / debtIReserveIn
359
- : (debtIReserveIn * PRECISION) / debtIReserveOut;
360
- newPrice = swap0To1
361
- ? ((debtIReserveOut - amountOutDebt) * PRECISION) /
362
- (debtIReserveIn + amountInDebt)
363
- : ((debtIReserveIn + amountInDebt) * PRECISION) /
364
- (debtIReserveOut - amountOutDebt);
365
- }
366
- // Calculate price difference using bigint arithmetic
367
- const MAX_PRICE_DIFF = 5n; // 5%
368
- const priceDiff = oldPrice > newPrice ? oldPrice - newPrice : newPrice - oldPrice;
369
- const maxAllowedDiff = (oldPrice * MAX_PRICE_DIFF) / 100n;
370
- if (priceDiff > maxAllowedDiff) {
371
- return 0n;
372
- }
373
311
  const totalAmountOut = amountOutCollateral + amountOutDebt;
374
312
  return totalAmountOut;
375
313
  }
376
- /**
377
- * Calculates the currently available swappable amount for a token limit considering expansion since last syncTime.
378
- * @param syncTime - timestamp in seconds when the limits were synced
379
- * @param limit - token limit object containing available amount, expandsTo amount, and expandDuration
380
- * @returns The calculated available swappable amount (borrowable or withdrawable)
381
- */
382
- getExpandedLimit(syncTime, limit) {
383
- const currentTime = Math.floor(Date.now() / 1000); // convert milliseconds to seconds
384
- const elapsedTime = currentTime - syncTime;
385
- limit.expandsDuration = limit.expandsDuration || 0n;
386
- if (elapsedTime < 10n) {
387
- // if almost no time has elapsed, return available amount
388
- return limit.available;
389
- }
390
- if (elapsedTime >= limit.expandsDuration) {
391
- // if duration has passed, return max amount
392
- return limit.expandsTo;
393
- }
394
- // Calculate expansion ratio using bigint arithmetic
395
- // Multiply by a large factor for precision in integer arithmetic
396
- const PRECISION = 1000000;
397
- const ratio = BigInt(elapsedTime * PRECISION) / limit.expandsDuration;
398
- // Calculate expanded amount with precision factor
399
- const expansion = ((limit.expandsTo - limit.available) * ratio) / BigInt(PRECISION);
400
- const expandedAmount = limit.available + expansion;
401
- return expandedAmount;
314
+ applyFee(amount, fee) {
315
+ return (amount * (this.FEE_100_PERCENT - fee)) / this.FEE_100_PERCENT;
402
316
  }
403
317
  /**
404
318
  * Given an input amount of asset and pair reserves, returns the maximum output amount of the other asset.
@@ -483,16 +397,13 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
483
397
  * @param {number} fee - The fee for the swap. 1e4 = 1%
484
398
  * @returns {bigint} amountIn - The calculated input amount required for the swap.
485
399
  */
486
- swapOut(swap0to1, amountOut, colReserves, debtReserves, inDecimals, outDecimals, fee, currentLimits, syncTime) {
400
+ swapOut(swap0to1, amountOut, colReserves, debtReserves, inDecimals, outDecimals, fee) {
487
401
  const amountOutAdjusted = (amountOut * BigInt(10 ** 12)) / BigInt(10 ** outDecimals);
488
- const amountIn = this.swapOutAdjusted(swap0to1, amountOutAdjusted, colReserves, debtReserves, outDecimals, currentLimits, syncTime);
489
- if (amountIn == 2n ** 256n - 1n) {
490
- return amountIn;
491
- }
492
- const ans = (amountIn * this.FEE_100_PERCENT * BigInt(10 ** inDecimals)) /
493
- BigInt(10 ** 12) /
494
- (this.FEE_100_PERCENT - fee);
495
- return ans;
402
+ const amountIn = this.swapOutAdjusted(swap0to1, amountOutAdjusted, colReserves, debtReserves);
403
+ const FEE_100_PERCENT = BigInt(1e6); // Assuming this constant is defined elsewhere
404
+ const result = ((amountIn * FEE_100_PERCENT) / (FEE_100_PERCENT - fee)) *
405
+ BigInt(10 ** (inDecimals - 12));
406
+ return result;
496
407
  }
497
408
  /**
498
409
  * Calculates the input amount for a given output amount in a swap operation.
@@ -502,25 +413,21 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
502
413
  * @param {DebtReserves} debtReserves - The reserves of the debt pool.
503
414
  * @returns {bigint} The calculated input amount required for the swap.
504
415
  */
505
- swapOutAdjusted(swap0to1, amountOut, colReserves, debtReserves, outDecimals, currentLimits, syncTime) {
506
- if (amountOut === 0n) {
507
- return 0n; // Return 0 if output amount is 0
508
- }
416
+ swapOutAdjusted(swap0to1, amountOut, colReserves, debtReserves) {
509
417
  const { token0RealReserves, token1RealReserves, token0ImaginaryReserves, token1ImaginaryReserves, } = colReserves;
510
418
  const { token0RealReserves: debtToken0RealReserves, token1RealReserves: debtToken1RealReserves, token0ImaginaryReserves: debtToken0ImaginaryReserves, token1ImaginaryReserves: debtToken1ImaginaryReserves, } = debtReserves;
511
419
  // Check if all reserves of collateral pool are greater than 0
512
- const colPoolEnabled = token0RealReserves > BigInt(0) &&
513
- token1RealReserves > BigInt(0) &&
514
- token0ImaginaryReserves > BigInt(0) &&
515
- token1ImaginaryReserves > BigInt(0);
420
+ const colPoolEnabled = token0RealReserves > 0n &&
421
+ token1RealReserves > 0n &&
422
+ token0ImaginaryReserves > 0n &&
423
+ token1ImaginaryReserves > 0n;
516
424
  // Check if all reserves of debt pool are greater than 0
517
- const debtPoolEnabled = debtToken0RealReserves > BigInt(0) &&
518
- debtToken1RealReserves > BigInt(0) &&
519
- debtToken0ImaginaryReserves > BigInt(0) &&
520
- debtToken1ImaginaryReserves > BigInt(0);
425
+ const debtPoolEnabled = debtToken0RealReserves > 0n &&
426
+ debtToken1RealReserves > 0n &&
427
+ debtToken0ImaginaryReserves > 0n &&
428
+ debtToken1ImaginaryReserves > 0n;
521
429
  let colReserveIn, colReserveOut, debtReserveIn, debtReserveOut;
522
430
  let colIReserveIn, colIReserveOut, debtIReserveIn, debtIReserveOut;
523
- let borrowable, withdrawable;
524
431
  if (swap0to1) {
525
432
  colReserveIn = token0RealReserves;
526
433
  colReserveOut = token1RealReserves;
@@ -530,8 +437,6 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
530
437
  debtReserveOut = debtToken1RealReserves;
531
438
  debtIReserveIn = debtToken0ImaginaryReserves;
532
439
  debtIReserveOut = debtToken1ImaginaryReserves;
533
- borrowable = this.getExpandedLimit(syncTime, currentLimits.borrowableToken1);
534
- withdrawable = this.getExpandedLimit(syncTime, currentLimits.withdrawableToken1);
535
440
  }
536
441
  else {
537
442
  colReserveIn = token1RealReserves;
@@ -542,103 +447,47 @@ class FluidDex extends simple_exchange_1.SimpleExchange {
542
447
  debtReserveOut = debtToken0RealReserves;
543
448
  debtIReserveIn = debtToken1ImaginaryReserves;
544
449
  debtIReserveOut = debtToken0ImaginaryReserves;
545
- borrowable = this.getExpandedLimit(syncTime, currentLimits.borrowableToken0);
546
- withdrawable = this.getExpandedLimit(syncTime, currentLimits.withdrawableToken0);
547
450
  }
548
- // bring borrowable and withdrawable from token decimals to 1e12 decimals, same as amounts
549
- borrowable = (borrowable * BigInt(10 ** 12)) / BigInt(10 ** outDecimals);
550
- withdrawable =
551
- (withdrawable * BigInt(10 ** 12)) / BigInt(10 ** outDecimals);
552
451
  let a;
553
452
  if (colPoolEnabled && debtPoolEnabled) {
554
453
  a = this.swapRoutingOut(amountOut, colIReserveIn, colIReserveOut, debtIReserveIn, debtIReserveOut);
555
454
  }
556
455
  else if (debtPoolEnabled) {
557
- a = BigInt(-1); // Route from debt pool
456
+ a = -1n; // Route from debt pool
558
457
  }
559
458
  else if (colPoolEnabled) {
560
- a = amountOut + BigInt(1); // Route from collateral pool
459
+ a = amountOut + 1n; // Route from collateral pool
561
460
  }
562
461
  else {
563
462
  throw new Error('No pools are enabled');
564
463
  }
565
- let amountInCollateral = BigInt(0);
566
- let amountInDebt = BigInt(0);
567
- let amountOutCollateral = BigInt(0);
568
- let amountOutDebt = BigInt(0);
569
- if (a <= BigInt(0)) {
464
+ let amountInCollateral = 0n;
465
+ let amountInDebt = 0n;
466
+ if (a <= 0n) {
570
467
  // Entire trade routes through debt pool
571
- amountOutDebt = amountOut;
572
468
  amountInDebt = this.getAmountIn(amountOut, debtIReserveIn, debtIReserveOut);
573
469
  if (amountOut > debtReserveOut) {
574
- return 2n ** 256n - 1n;
575
- }
576
- if (amountOut > borrowable) {
577
- return 2n ** 256n - 1n;
470
+ return 2n ** 64n - 1n; // BigInt max value
578
471
  }
579
472
  }
580
473
  else if (a >= amountOut) {
581
474
  // Entire trade routes through collateral pool
582
- amountOutCollateral = amountOut;
583
475
  amountInCollateral = this.getAmountIn(amountOut, colIReserveIn, colIReserveOut);
584
476
  if (amountOut > colReserveOut) {
585
- return 2n ** 256n - 1n;
586
- }
587
- if (amountOut > withdrawable) {
588
- return 2n ** 256n - 1n;
477
+ return 2n ** 64n - 1n; // BigInt max value
589
478
  }
590
479
  }
591
480
  else {
592
481
  // Trade routes through both pools
593
- amountOutCollateral = a;
594
482
  amountInCollateral = this.getAmountIn(a, colIReserveIn, colIReserveOut);
595
- amountOutDebt = amountOut - a;
596
- amountInDebt = this.getAmountIn(amountOutDebt, debtIReserveIn, debtIReserveOut);
597
- if (amountOutDebt > debtReserveOut || a > colReserveOut) {
598
- return 2n ** 256n - 1n;
599
- }
600
- if (amountOutDebt > borrowable || a > withdrawable) {
601
- return 2n ** 256n - 1n;
483
+ amountInDebt = this.getAmountIn(amountOut - a, debtIReserveIn, debtIReserveOut);
484
+ if (amountOut - a > debtReserveOut || a > debtReserveOut) {
485
+ return 2n ** 64n - 1n; // BigInt max value
602
486
  }
603
487
  }
604
- let oldPrice;
605
- let newPrice;
606
- const SCALE = BigInt(1e27);
607
- // from whatever pool higher amount of swap is routing we are taking that as final price, does not matter much because both pools final price should be same
608
- if (amountOutCollateral > amountOutDebt) {
609
- // new pool price from col pool
610
- oldPrice = swap0to1
611
- ? (colIReserveOut * SCALE) / colIReserveIn
612
- : (colIReserveIn * SCALE) / colIReserveOut;
613
- newPrice = swap0to1
614
- ? ((colIReserveOut - amountOutCollateral) * SCALE) /
615
- (colIReserveIn + amountInCollateral)
616
- : ((colIReserveIn + amountInCollateral) * SCALE) /
617
- (colIReserveOut - amountOutCollateral);
618
- }
619
- else {
620
- // new pool price from debt pool
621
- oldPrice = swap0to1
622
- ? (debtIReserveOut * SCALE) / debtIReserveIn
623
- : (debtIReserveIn * SCALE) / debtIReserveOut;
624
- newPrice = swap0to1
625
- ? ((debtIReserveOut - amountOutDebt) * SCALE) /
626
- (debtIReserveIn + amountInDebt)
627
- : ((debtIReserveIn + amountInDebt) * SCALE) /
628
- (debtIReserveOut - amountOutDebt);
629
- }
630
- const MAX_PRICE_DIFF = BigInt(5); // 5%
631
- if (this.abs(oldPrice - newPrice) >
632
- (oldPrice / BigInt(100)) * MAX_PRICE_DIFF) {
633
- // if price diff is > 5% then swap would revert.
634
- return 2n ** 256n - 1n;
635
- }
636
488
  const totalAmountIn = amountInCollateral + amountInDebt;
637
489
  return totalAmountIn;
638
490
  }
639
- abs(value) {
640
- return value < 0 ? -value : value;
641
- }
642
491
  }
643
492
  exports.FluidDex = FluidDex;
644
493
  FluidDex.dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(config_1.FluidDexConfig);
@@ -1 +1 @@
1
- {"version":3,"file":"fluid-dex.js","sourceRoot":"","sources":["../../../src/dex/fluid-dex/fluid-dex.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,4CAA+C;AAW/C,+CAAoD;AACpD,2EAA6D;AAY7D,wDAAoD;AACpD,gGAAqE;AACrE,qCAA8D;AAC9D,2DAAsD;AACtD,uCAAkE;AAClE,gDAAmE;AAEnE,iDAAoD;AACpD,mCAAmC;AACnC,mCAA+B;AAC/B,2EAAqE;AAErE,MAAa,QAAS,SAAQ,gCAAc;IAmB1C,YACW,OAAgB,EAChB,MAAc,EACd,SAAqB;QAE9B,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAJhB,YAAO,GAAP,OAAO,CAAS;QAChB,WAAM,GAAN,MAAM,CAAQ;QACd,cAAS,GAAT,SAAS,CAAY;QArBvB,iCAA4B,GAAG,KAAK,CAAC;QACrC,mBAAc,GAAG,KAAK,CAAC;QACvB,6BAAwB,GAAG,KAAK,CAAC;QAM1C,UAAK,GAAmB,EAAE,CAAC;QAQ3B,oBAAe,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QAsElC,gBAAW,GAAG,CAAC,MAA0C,EAAU,EAAE;YACnE,OAAO,IAAA,yBAAc,EACnB,MAAM,EACN,CAAC,uDAAuD,CAAC,EACzD,SAAS,EACT,OAAO,CAAC,EAAE;gBACR,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,WAAgB,EAAE,EAAE,CAAC,CAAC;oBACxC,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;oBACxC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;oBACvC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;iBACxC,CAAC,CAAC,CAAC;YACN,CAAC,CACF,CAAC;QACJ,CAAC,CAAC;QA3EA,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,mCAAe,CAChC,MAAM,EACN,uBAAc,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,eAAe,EAC/C,OAAO,EACP,SAAS,EACT,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,IAAI,CAAC,CACzC,CAAC;QAEF,IAAI,CAAC,cAAc,GAAG,IAAI,kDAAsB,CAC9C,MAAM,EACN,IAAI,CAAC,OAAO,CAAC,eAAe,EAC5B,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,MAAM,CACZ,CAAC;QAEF,IAAI,CAAC,iBAAiB,GAAG,IAAI,eAAS,CAAC,4BAAe,CAAC,CAAC;IAC1D,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAC9B,WAAmB;QAEnB,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAC5D,WAAW,EACX,KAAK,CACN,CAAC;QACF,OAAO,IAAI,CAAC,qCAAqC,CAAC,gBAAgB,CAAC,CAAC;IACtE,CAAC;IAEO,qCAAqC,CAC3C,KAAsB;QAEtB,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxB,EAAE,EAAE,YAAY,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE;YAC5C,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;YACnC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;YACjC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE;SAClC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,oDAAoD;IACpD,2DAA2D;IAC3D,oDAAoD;IACpD,0BAA0B;IAC1B,KAAK,CAAC,iBAAiB,CAAC,WAAmB;QACzC,MAAM,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAExD,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACpD,CAAC;IAED,WAAW,CAAC,IAAc;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAES,wBAAwB,CAAC,gBAAiC;QAClE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,qCAAqC,CAAC,gBAAgB,CAAC,CAAC;QAC1E,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,8BAA8B,CAAC,CAAC;IACjE,CAAC;IAiBD,oDAAoD;IACpD,mDAAmD;IACnD,yCAAyC;IACzC,+CAA+C;IAC/C,KAAK,CAAC,kBAAkB,CACtB,QAAe,EACf,SAAgB,EAChB,IAAc,EACd,WAAmB;QAEnB,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/B,CAAC;IAED,kBAAkB,CAChB,QAAiB,EACjB,SAAkB;QAElB,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAE5C,uCAAuC;QACvC,IAAI,UAAU,KAAK,WAAW;YAAE,OAAO,IAAI,CAAC;QAE5C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;YAC7B,IACE,CAAC,UAAU,KAAK,IAAI,CAAC,MAAM,IAAI,WAAW,KAAK,IAAI,CAAC,MAAM,CAAC;gBAC3D,CAAC,UAAU,KAAK,IAAI,CAAC,MAAM,IAAI,WAAW,KAAK,IAAI,CAAC,MAAM,CAAC,EAC3D;gBACA,OAAO,IAAI,CAAC;aACb;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mCAAmC;IACnC,oDAAoD;IACpD,kDAAkD;IAClD,yBAAyB;IACzB,KAAK,CAAC,eAAe,CACnB,QAAe,EACf,SAAgB,EAChB,OAAiB,EACjB,IAAc,EACd,WAAmB,EACnB,UAAqB;QAErB,IAAI;YACF,IAAI,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE;gBACpE,OAAO,IAAI,CAAC;YACd,uBAAuB;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;YAC1E,IAAI,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;YACvB,2DAA2D;YAC3D,IAAI,UAAU,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBAAE,OAAO,IAAI,CAAC;YAE7D,MAAM,mBAAmB,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CACtE,WAAW,CACZ,CAAC;YACF,MAAM,mBAAmB,GAAG,mBAAmB,CAAC,aAAa,CAAC,IAAI,CAChE,WAAW,CAAC,EAAE,CACZ,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAChE,CAAC;YACF,IAAI,CAAC,mBAAmB,EAAE;gBACxB,OAAO,IAAI,CAAC;aACb;YACD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;gBAClC,IAAI,IAAI,KAAK,oBAAQ,CAAC,IAAI,EAAE;oBAC1B,OAAO,IAAI,CAAC,MAAM,CAChB,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAC5D,MAAM,EACN,mBAAmB,CAAC,kBAAkB,EACtC,mBAAmB,CAAC,YAAY,EAChC,QAAQ,CAAC,QAAQ,EACjB,SAAS,CAAC,QAAQ,EAClB,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAC/B,mBAAmB,CAAC,SAAS,EAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAC9B,CAAC;iBACH;qBAAM;oBACL,OAAO,IAAI,CAAC,OAAO,CACjB,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,EAC5D,MAAM,EACN,mBAAmB,CAAC,kBAAkB,EACtC,mBAAmB,CAAC,YAAY,EAChC,QAAQ,CAAC,QAAQ,EACjB,SAAS,CAAC,QAAQ,EAClB,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,EAC/B,mBAAmB,CAAC,SAAS,EAC7B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAC9B,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;YACH,OAAO;gBACL;oBACE,MAAM,EAAE,MAAM;oBACd,IAAI,EAAE,IAAA,oBAAY,EAAC,SAAS,CAAC,QAAQ,CAAC;oBACtC,IAAI,EAAE,EAAE;oBACR,QAAQ,EAAE,IAAI,CAAC,MAAM;oBACrB,cAAc,EAAE,IAAI,CAAC,EAAE;oBACvB,OAAO,EAAE,2BAAkB;oBAC3B,aAAa,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;iBAC9B;aACF,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,yBAAyB,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,MAAM,KAC1D,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,MACjC,KAAK,IAAI,GAAG,EACZ,CAAC,CACF,CAAC;YACF,OAAO,IAAI,CAAC;SACb;IACH,CAAC;IAED,mEAAmE;IACnE,kBAAkB,CAAC,UAAoC;QACrD,OAAO,iBAAiB,CAAC,cAAc,CAAC;IAC1C,CAAC;IAED,iDAAiD;IACjD,yCAAyC;IACzC,kCAAkC;IAClC,mDAAmD;IACnD,eAAe,CACb,QAAgB,EAChB,SAAiB,EACjB,SAAiB,EACjB,UAAkB,EAClB,IAAkB,EAClB,IAAc;QAEd,sCAAsC;QACtC,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAE1D,OAAO;YACL,cAAc,EAAE,IAAK,CAAC,OAAO;YAC7B,OAAO;YACP,UAAU,EAAE,GAAG;SAChB,CAAC;IACJ,CAAC;IAED,oDAAoD;IACpD,yCAAyC;IACzC,KAAK,CAAC,mBAAmB,CACvB,YAAqB,EACrB,KAAa;QAEb,OAAO;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,WAAW,CACf,QAAiB,EACjB,SAAkB,EAClB,SAAiB,EACjB,UAAkB,EAClB,SAAkB,EAClB,IAAkB,EAClB,IAAc,EACd,OAAgB,EAChB,eAAwB;QAExB,IAAI,IAAS,CAAC;QACd,IAAI,eAAmC,CAAC;QAExC,MAAM,MAAM,GAAG,IAAI,KAAK,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;QAE7D,eAAe,GAAG,IAAA,mCAA2B,EAC3C,IAAI,CAAC,iBAAiB,EACtB,MAAM,EACN,IAAI,KAAK,oBAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CACpD,CAAC;QAEF,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAE1D,IAAI,IAAI,KAAK,oBAAQ,CAAC,IAAI,EAAE;YAC1B,IAAI,IAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,EAAE;gBACzD,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC;aAClE;iBAAM;gBACL,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,CAAC;aACjE;SACF;aAAM;YACL,IAAI,IAAK,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,EAAE;gBACzD,IAAI,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;aAClE;iBAAM;gBACL,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;aACjE;SACF;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACzE,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,mBAAmB,EAAE,IAAI;YACzB,YAAY,EAAE,QAAQ;YACtB,cAAc,EAAE,IAAK,CAAC,OAAO;YAC7B,eAAe;SAChB,CAAC;IACJ,CAAC;IAED;;;;;;;;;OASG;IACI,MAAM,CACX,QAAiB,EACjB,QAAgB,EAChB,WAA+B,EAC/B,YAA0B,EAC1B,UAAkB,EAClB,WAAmB,EACnB,GAAW,EACX,aAAwB,EACxB,QAAgB;QAEhB,IAAI,QAAQ,KAAK,EAAE,EAAE;YACnB,OAAO,EAAE,CAAC,CAAC,gCAAgC;SAC5C;QACD,IACE,WAAW,CAAC,kBAAkB,GAAG,YAAY,CAAC,kBAAkB,IAAI,EAAE;YACtE,WAAW,CAAC,kBAAkB,GAAG,YAAY,CAAC,kBAAkB,IAAI,EAAE,EACtE;YACA,OAAO,EAAE,CAAC;SACX;QACD,MAAM,gBAAgB,GACpB,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC;YACjE,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;YACnB,MAAM,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC;QAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CACnC,QAAQ,EACR,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,EACb,QAAQ,CACT,CAAC;QACF,OAAO,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,IAAI,WAAW,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;OAOG;IACI,cAAc,CACnB,QAAiB,EACjB,YAAoB,EACpB,WAA+B,EAC/B,YAA0B,EAC1B,WAAmB,EACnB,aAAwB,EACxB,QAAgB;QAEhB,MAAM,EACJ,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,GACxB,GAAG,WAAW,CAAC;QAChB,MAAM,EACJ,kBAAkB,EAAE,sBAAsB,EAC1C,kBAAkB,EAAE,sBAAsB,EAC1C,uBAAuB,EAAE,2BAA2B,EACpD,uBAAuB,EAAE,2BAA2B,GACrD,GAAG,YAAY,CAAC;QAEjB,8DAA8D;QAC9D,MAAM,cAAc,GAClB,kBAAkB,GAAG,CAAC;YACtB,kBAAkB,GAAG,CAAC;YACtB,uBAAuB,GAAG,CAAC;YAC3B,uBAAuB,GAAG,CAAC,CAAC;QAE9B,wDAAwD;QACxD,MAAM,eAAe,GACnB,sBAAsB,GAAG,CAAC;YAC1B,sBAAsB,GAAG,CAAC;YAC1B,2BAA2B,GAAG,CAAC;YAC/B,2BAA2B,GAAG,CAAC,CAAC;QAElC,IAAI,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,CAAC;QAC/D,IAAI,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,CAAC;QACnE,IAAI,UAAU,EAAE,YAAY,CAAC;QAE7B,IAAI,QAAQ,EAAE;YACZ,YAAY,GAAG,kBAAkB,CAAC;YAClC,aAAa,GAAG,kBAAkB,CAAC;YACnC,aAAa,GAAG,uBAAuB,CAAC;YACxC,cAAc,GAAG,uBAAuB,CAAC;YACzC,aAAa,GAAG,sBAAsB,CAAC;YACvC,cAAc,GAAG,sBAAsB,CAAC;YACxC,cAAc,GAAG,2BAA2B,CAAC;YAC7C,eAAe,GAAG,2BAA2B,CAAC;YAC9C,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAChC,QAAQ,EACR,aAAa,CAAC,gBAAgB,CAC/B,CAAC;YACF,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAClC,QAAQ,EACR,aAAa,CAAC,kBAAkB,CACjC,CAAC;SACH;aAAM;YACL,YAAY,GAAG,kBAAkB,CAAC;YAClC,aAAa,GAAG,kBAAkB,CAAC;YACnC,aAAa,GAAG,uBAAuB,CAAC;YACxC,cAAc,GAAG,uBAAuB,CAAC;YACzC,aAAa,GAAG,sBAAsB,CAAC;YACvC,cAAc,GAAG,sBAAsB,CAAC;YACxC,cAAc,GAAG,2BAA2B,CAAC;YAC7C,eAAe,GAAG,2BAA2B,CAAC;YAC9C,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAChC,QAAQ,EACR,aAAa,CAAC,gBAAgB,CAC/B,CAAC;YACF,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAClC,QAAQ,EACR,aAAa,CAAC,kBAAkB,CACjC,CAAC;SACH;QAED,0FAA0F;QAC1F,UAAU,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,IAAI,WAAW,CAAC,CAAC;QACzE,YAAY;YACV,CAAC,YAAY,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,IAAI,WAAW,CAAC,CAAC;QAEhE,IAAI,CAAS,CAAC;QACd,IAAI,cAAc,IAAI,eAAe,EAAE;YACrC,CAAC,GAAG,IAAI,CAAC,aAAa,CACpB,YAAY,EACZ,cAAc,EACd,aAAa,EACb,eAAe,EACf,cAAc,CACf,CAAC;SACH;aAAM,IAAI,eAAe,EAAE;YAC1B,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,uBAAuB;SACjC;aAAM,IAAI,cAAc,EAAE;YACzB,CAAC,GAAG,YAAY,GAAG,EAAE,CAAC,CAAC,6BAA6B;SACrD;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SACzC;QAED,IAAI,mBAAmB,GAAG,EAAE,CAAC;QAC7B,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,IAAI,kBAAkB,GAAG,EAAE,CAAC;QAC5B,IAAI,YAAY,GAAG,EAAE,CAAC;QAEtB,IAAI,CAAC,IAAI,EAAE,EAAE;YACX,wCAAwC;YACxC,YAAY,GAAG,YAAY,CAAC;YAC5B,aAAa,GAAG,IAAI,CAAC,YAAY,CAC/B,YAAY,EACZ,cAAc,EACd,eAAe,CAChB,CAAC;SACH;aAAM,IAAI,CAAC,IAAI,YAAY,EAAE;YAC5B,8CAA8C;YAC9C,kBAAkB,GAAG,YAAY,CAAC;YAClC,mBAAmB,GAAG,IAAI,CAAC,YAAY,CACrC,YAAY,EACZ,aAAa,EACb,cAAc,CACf,CAAC;SACH;aAAM;YACL,kCAAkC;YAClC,kBAAkB,GAAG,CAAC,CAAC;YACvB,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;YAC1E,YAAY,GAAG,YAAY,GAAG,CAAC,CAAC;YAChC,aAAa,GAAG,IAAI,CAAC,YAAY,CAC/B,YAAY,EACZ,cAAc,EACd,eAAe,CAChB,CAAC;SACH;QAED,IAAI,aAAa,GAAG,cAAc,EAAE;YAClC,OAAO,EAAE,CAAC;SACX;QACD,IAAI,aAAa,GAAG,UAAU,EAAE;YAC9B,OAAO,EAAE,CAAC;SACX;QAED,IAAI,mBAAmB,GAAG,aAAa,EAAE;YACvC,OAAO,EAAE,CAAC;SACX;QAED,IAAI,mBAAmB,GAAG,YAAY,EAAE;YACtC,OAAO,EAAE,CAAC;SACX;QAED,2EAA2E;QAC3E,MAAM,SAAS,GAAG,6BAA6B,CAAC,CAAC,OAAO;QAExD,IAAI,QAAgB,CAAC;QACrB,IAAI,QAAgB,CAAC;QAErB,IAAI,kBAAkB,GAAG,YAAY,EAAE;YACrC,+BAA+B;YAC/B,QAAQ,GAAG,QAAQ;gBACjB,CAAC,CAAC,CAAC,cAAc,GAAG,SAAS,CAAC,GAAG,aAAa;gBAC9C,CAAC,CAAC,CAAC,aAAa,GAAG,SAAS,CAAC,GAAG,cAAc,CAAC;YAEjD,QAAQ,GAAG,QAAQ;gBACjB,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,mBAAmB,CAAC,GAAG,SAAS,CAAC;oBACpD,CAAC,aAAa,GAAG,kBAAkB,CAAC;gBACtC,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,kBAAkB,CAAC,GAAG,SAAS,CAAC;oBAClD,CAAC,cAAc,GAAG,mBAAmB,CAAC,CAAC;SAC5C;aAAM;YACL,gCAAgC;YAChC,QAAQ,GAAG,QAAQ;gBACjB,CAAC,CAAC,CAAC,eAAe,GAAG,SAAS,CAAC,GAAG,cAAc;gBAChD,CAAC,CAAC,CAAC,cAAc,GAAG,SAAS,CAAC,GAAG,eAAe,CAAC;YAEnD,QAAQ,GAAG,QAAQ;gBACjB,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,aAAa,CAAC,GAAG,SAAS,CAAC;oBAC/C,CAAC,cAAc,GAAG,YAAY,CAAC;gBACjC,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,YAAY,CAAC,GAAG,SAAS,CAAC;oBAC7C,CAAC,eAAe,GAAG,aAAa,CAAC,CAAC;SACvC;QACD,qDAAqD;QACrD,MAAM,cAAc,GAAG,EAAE,CAAC,CAAC,KAAK;QAChC,MAAM,SAAS,GACb,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAClE,MAAM,cAAc,GAAG,CAAC,QAAQ,GAAG,cAAc,CAAC,GAAG,IAAI,CAAC;QAE1D,IAAI,SAAS,GAAG,cAAc,EAAE;YAC9B,OAAO,EAAE,CAAC;SACX;QACD,MAAM,cAAc,GAAG,mBAAmB,GAAG,aAAa,CAAC;QAE3D,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACI,gBAAgB,CAAC,QAAgB,EAAE,KAAiB;QACzD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,kCAAkC;QACrF,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;QAC3C,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC,eAAe,IAAI,EAAE,CAAC;QACpD,IAAI,WAAW,GAAG,GAAG,EAAE;YACrB,yDAAyD;YACzD,OAAO,KAAK,CAAC,SAAS,CAAC;SACxB;QAED,IAAI,WAAW,IAAI,KAAK,CAAC,eAAe,EAAE;YACxC,4CAA4C;YAC5C,OAAO,KAAK,CAAC,SAAS,CAAC;SACxB;QAED,oDAAoD;QACpD,iEAAiE;QACjE,MAAM,SAAS,GAAG,OAAO,CAAC;QAC1B,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,GAAG,SAAS,CAAC,GAAG,KAAK,CAAC,eAAe,CAAC;QAEtE,kDAAkD;QAClD,MAAM,SAAS,GACb,CAAC,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QACpE,MAAM,cAAc,GAAG,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;QACnD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;;;;;OAMG;IACI,YAAY,CACjB,QAAgB,EAChB,UAAkB,EAClB,WAAmB;QAEnB,6EAA6E;QAC7E,MAAM,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC;QACzC,MAAM,WAAW,GAAG,UAAU,GAAG,QAAQ,CAAC;QAE1C,0EAA0E;QAC1E,+EAA+E;QAE/E,OAAO,SAAS,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;;;;;OAMG;IACI,WAAW,CAChB,SAAiB,EACjB,UAAkB,EAClB,WAAmB;QAEnB,6EAA6E;QAC7E,MAAM,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;QACzC,MAAM,WAAW,GAAG,WAAW,GAAG,SAAS,CAAC;QAE5C,4EAA4E;QAC5E,OAAO,SAAS,GAAG,WAAW,CAAC;IACjC,CAAC;IAED;;;;;;;;;;;OAWG;IACI,cAAc,CACnB,CAAS,EACT,CAAS,EACT,CAAS,EACT,EAAU,EACV,EAAU;QAEV,wBAAwB;QACxB,MAAM,MAAM,GAAG,MAAM,CACnB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAC1D,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,CACrB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAC5D,CAAC;QAEF,gDAAgD;QAChD,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,QAAQ,GAAG,EAAE,GAAG,MAAM,CAAC;QAC1D,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;QAEtC,qCAAqC;QACrC,MAAM,CAAC,GAAG,SAAS,GAAG,WAAW,CAAC;QAElC,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;;;;;;;;OAWG;IACI,aAAa,CAClB,CAAS,EACT,CAAS,EACT,CAAS,EACT,EAAU,EACV,EAAU;QAEV,wBAAwB;QAExB,MAAM,MAAM,GAAG,IAAA,YAAI,EAAC,kBAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC3E,MAAM,QAAQ,GAAG,IAAA,YAAI,EACnB,kBAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAC7C,CAAC,QAAQ,EAAE,CAAC;QAEb,0CAA0C;QAC1C,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,GAAG,QAAQ,CAAC,CAAC;QAC1E,OAAO,CAAC,CAAC;IACX,CAAC;IAED;;;;;;;;;;OAUG;IACI,OAAO,CACZ,QAAiB,EACjB,SAAiB,EACjB,WAA+B,EAC/B,YAA0B,EAC1B,UAAkB,EAClB,WAAmB,EACnB,GAAW,EACX,aAAwB,EACxB,QAAgB;QAEhB,MAAM,iBAAiB,GACrB,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,IAAI,WAAW,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,CACnC,QAAQ,EACR,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,EACb,QAAQ,CACT,CAAC;QAEF,IAAI,QAAQ,IAAI,EAAE,IAAI,IAAI,GAAG,EAAE,EAAE;YAC/B,OAAO,QAAQ,CAAC;SACjB;QACD,MAAM,GAAG,GACP,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,EAAE,IAAI,UAAU,CAAC,CAAC;YAC5D,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;YAChB,CAAC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC;QAC/B,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;OAOG;IACI,eAAe,CACpB,QAAiB,EACjB,SAAiB,EACjB,WAA+B,EAC/B,YAA0B,EAC1B,WAAmB,EACnB,aAAwB,EACxB,QAAgB;QAEhB,IAAI,SAAS,KAAK,EAAE,EAAE;YACpB,OAAO,EAAE,CAAC,CAAC,iCAAiC;SAC7C;QACD,MAAM,EACJ,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,uBAAuB,GACxB,GAAG,WAAW,CAAC;QAEhB,MAAM,EACJ,kBAAkB,EAAE,sBAAsB,EAC1C,kBAAkB,EAAE,sBAAsB,EAC1C,uBAAuB,EAAE,2BAA2B,EACpD,uBAAuB,EAAE,2BAA2B,GACrD,GAAG,YAAY,CAAC;QAEjB,8DAA8D;QAC9D,MAAM,cAAc,GAClB,kBAAkB,GAAG,MAAM,CAAC,CAAC,CAAC;YAC9B,kBAAkB,GAAG,MAAM,CAAC,CAAC,CAAC;YAC9B,uBAAuB,GAAG,MAAM,CAAC,CAAC,CAAC;YACnC,uBAAuB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAEtC,wDAAwD;QACxD,MAAM,eAAe,GACnB,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC;YAClC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC;YAClC,2BAA2B,GAAG,MAAM,CAAC,CAAC,CAAC;YACvC,2BAA2B,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAE1C,IAAI,YAAoB,EACtB,aAAqB,EACrB,aAAqB,EACrB,cAAsB,CAAC;QACzB,IAAI,aAAqB,EACvB,cAAsB,EACtB,cAAsB,EACtB,eAAuB,CAAC;QAC1B,IAAI,UAAkB,EAAE,YAAoB,CAAC;QAE7C,IAAI,QAAQ,EAAE;YACZ,YAAY,GAAG,kBAAkB,CAAC;YAClC,aAAa,GAAG,kBAAkB,CAAC;YACnC,aAAa,GAAG,uBAAuB,CAAC;YACxC,cAAc,GAAG,uBAAuB,CAAC;YACzC,aAAa,GAAG,sBAAsB,CAAC;YACvC,cAAc,GAAG,sBAAsB,CAAC;YACxC,cAAc,GAAG,2BAA2B,CAAC;YAC7C,eAAe,GAAG,2BAA2B,CAAC;YAC9C,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAChC,QAAQ,EACR,aAAa,CAAC,gBAAgB,CAC/B,CAAC;YACF,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAClC,QAAQ,EACR,aAAa,CAAC,kBAAkB,CACjC,CAAC;SACH;aAAM;YACL,YAAY,GAAG,kBAAkB,CAAC;YAClC,aAAa,GAAG,kBAAkB,CAAC;YACnC,aAAa,GAAG,uBAAuB,CAAC;YACxC,cAAc,GAAG,uBAAuB,CAAC;YACzC,aAAa,GAAG,sBAAsB,CAAC;YACvC,cAAc,GAAG,sBAAsB,CAAC;YACxC,cAAc,GAAG,2BAA2B,CAAC;YAC7C,eAAe,GAAG,2BAA2B,CAAC;YAC9C,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAChC,QAAQ,EACR,aAAa,CAAC,gBAAgB,CAC/B,CAAC;YACF,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAClC,QAAQ,EACR,aAAa,CAAC,kBAAkB,CACjC,CAAC;SACH;QAED,0FAA0F;QAC1F,UAAU,GAAG,CAAC,UAAU,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,IAAI,WAAW,CAAC,CAAC;QACzE,YAAY;YACV,CAAC,YAAY,GAAG,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,IAAI,WAAW,CAAC,CAAC;QAEhE,IAAI,CAAS,CAAC;QACd,IAAI,cAAc,IAAI,eAAe,EAAE;YACrC,CAAC,GAAG,IAAI,CAAC,cAAc,CACrB,SAAS,EACT,aAAa,EACb,cAAc,EACd,cAAc,EACd,eAAe,CAChB,CAAC;SACH;aAAM,IAAI,eAAe,EAAE;YAC1B,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB;SACxC;aAAM,IAAI,cAAc,EAAE;YACzB,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,6BAA6B;SACzD;aAAM;YACL,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;SACzC;QAED,IAAI,kBAAkB,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;QAC3C,IAAI,YAAY,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,mBAAmB,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,aAAa,GAAW,MAAM,CAAC,CAAC,CAAC,CAAC;QAEtC,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE;YAClB,wCAAwC;YACxC,aAAa,GAAG,SAAS,CAAC;YAC1B,YAAY,GAAG,IAAI,CAAC,WAAW,CAC7B,SAAS,EACT,cAAc,EACd,eAAe,CAChB,CAAC;YACF,IAAI,SAAS,GAAG,cAAc,EAAE;gBAC9B,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;aACxB;YACD,IAAI,SAAS,GAAG,UAAU,EAAE;gBAC1B,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;aACxB;SACF;aAAM,IAAI,CAAC,IAAI,SAAS,EAAE;YACzB,8CAA8C;YAC9C,mBAAmB,GAAG,SAAS,CAAC;YAChC,kBAAkB,GAAG,IAAI,CAAC,WAAW,CACnC,SAAS,EACT,aAAa,EACb,cAAc,CACf,CAAC;YACF,IAAI,SAAS,GAAG,aAAa,EAAE;gBAC7B,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;aACxB;YACD,IAAI,SAAS,GAAG,YAAY,EAAE;gBAC5B,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;aACxB;SACF;aAAM;YACL,kCAAkC;YAClC,mBAAmB,GAAG,CAAC,CAAC;YACxB,kBAAkB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC;YACxE,aAAa,GAAG,SAAS,GAAG,CAAC,CAAC;YAC9B,YAAY,GAAG,IAAI,CAAC,WAAW,CAC7B,aAAa,EACb,cAAc,EACd,eAAe,CAChB,CAAC;YACF,IAAI,aAAa,GAAG,cAAc,IAAI,CAAC,GAAG,aAAa,EAAE;gBACvD,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;aACxB;YACD,IAAI,aAAa,GAAG,UAAU,IAAI,CAAC,GAAG,YAAY,EAAE;gBAClD,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;aACxB;SACF;QAED,IAAI,QAAgB,CAAC;QACrB,IAAI,QAAgB,CAAC;QACrB,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAE3B,4JAA4J;QAC5J,IAAI,mBAAmB,GAAG,aAAa,EAAE;YACvC,+BAA+B;YAC/B,QAAQ,GAAG,QAAQ;gBACjB,CAAC,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,GAAG,aAAa;gBAC1C,CAAC,CAAC,CAAC,aAAa,GAAG,KAAK,CAAC,GAAG,cAAc,CAAC;YAC7C,QAAQ,GAAG,QAAQ;gBACjB,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,mBAAmB,CAAC,GAAG,KAAK,CAAC;oBAChD,CAAC,aAAa,GAAG,kBAAkB,CAAC;gBACtC,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,kBAAkB,CAAC,GAAG,KAAK,CAAC;oBAC9C,CAAC,cAAc,GAAG,mBAAmB,CAAC,CAAC;SAC5C;aAAM;YACL,gCAAgC;YAChC,QAAQ,GAAG,QAAQ;gBACjB,CAAC,CAAC,CAAC,eAAe,GAAG,KAAK,CAAC,GAAG,cAAc;gBAC5C,CAAC,CAAC,CAAC,cAAc,GAAG,KAAK,CAAC,GAAG,eAAe,CAAC;YAC/C,QAAQ,GAAG,QAAQ;gBACjB,CAAC,CAAC,CAAC,CAAC,eAAe,GAAG,aAAa,CAAC,GAAG,KAAK,CAAC;oBAC3C,CAAC,cAAc,GAAG,YAAY,CAAC;gBACjC,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,YAAY,CAAC,GAAG,KAAK,CAAC;oBACzC,CAAC,eAAe,GAAG,aAAa,CAAC,CAAC;SACvC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;QACvC,IACE,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAC7B,CAAC,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,EACzC;YACA,gDAAgD;YAChD,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE,CAAC;SACxB;QAED,MAAM,aAAa,GAAG,kBAAkB,GAAG,YAAY,CAAC;QAExD,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,GAAG,CAAC,KAAa;QACvB,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;IACpC,CAAC;;AA76BH,4BA86BC;AA16Be,2BAAkB,GAC9B,IAAA,6BAAqB,EAAC,uBAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"fluid-dex.js","sourceRoot":"","sources":["../../../src/dex/fluid-dex/fluid-dex.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,9 @@ export declare type PoolReserve = {
4
4
  pool: string;
5
5
  token0: string;
6
6
  token1: string;
7
- fee: number;
8
7
  collateralReserves: CollateralReserves;
9
8
  debtReserves: DebtReserves;
10
- dexLimits: DexLimits;
9
+ fee: number;
11
10
  };
12
11
  export declare type PoolReserveResponse = [
13
12
  string,
@@ -15,27 +14,8 @@ export declare type PoolReserveResponse = [
15
14
  string,
16
15
  BigNumber,
17
16
  BigNumber[],
18
- BigNumber[],
19
- DexLimitResponse
17
+ BigNumber[]
20
18
  ];
21
- export declare type DexLimits = {
22
- withdrawableToken0: TokenLimit;
23
- withdrawableToken1: TokenLimit;
24
- borrowableToken0: TokenLimit;
25
- borrowableToken1: TokenLimit;
26
- };
27
- export declare type DexLimitResponse = [
28
- TokenLimitResponse,
29
- TokenLimitResponse,
30
- TokenLimitResponse,
31
- TokenLimitResponse
32
- ];
33
- export declare type TokenLimit = {
34
- available: bigint;
35
- expandsTo: bigint;
36
- expandsDuration: bigint;
37
- };
38
- export declare type TokenLimitResponse = [bigint, bigint, bigint];
39
19
  export declare type FluidDexLiquidityProxyState = {
40
20
  poolsReserves: readonly PoolReserve[];
41
21
  };
@@ -0,0 +1,4 @@
1
+ import { DexParams, PricePoolParams } from './types';
2
+ import { DexConfigMap } from '../../types';
3
+ export declare const InceptionConfig: DexConfigMap<DexParams[]>;
4
+ export declare const InceptionPricePoolConfig: DexConfigMap<PricePoolParams>;