@paraswap/dex-lib 4.1.15 → 4.1.16

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 (244) 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/{integral/pool.json → inception/inception-ineth-pool.json} +558 -537
  5. package/build/abi/inception/inception-ratio-feed.json +329 -0
  6. package/build/abi/inception/inception-vault.json +991 -0
  7. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +52 -0
  8. package/build/abi/usual-m-smart-m/usualM.abi.json +483 -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/balancer-v3/abi/balancerBatchRouter.d.ts +729 -0
  17. package/build/dex/balancer-v3/abi/balancerBatchRouter.js +732 -0
  18. package/build/dex/balancer-v3/abi/balancerBatchRouter.js.map +1 -0
  19. package/build/dex/balancer-v3/abi/balancerRouter.d.ts +1406 -0
  20. package/build/dex/balancer-v3/abi/balancerRouter.js +1175 -0
  21. package/build/dex/balancer-v3/abi/balancerRouter.js.map +1 -0
  22. package/build/dex/balancer-v3/abi/vaultExtension.V3.d.ts +2081 -0
  23. package/build/dex/balancer-v3/abi/vaultExtension.V3.js +1851 -0
  24. package/build/dex/balancer-v3/abi/vaultExtension.V3.js.map +1 -0
  25. package/build/dex/balancer-v3/balancer-v3-sepolia-pools.d.ts +34 -0
  26. package/build/dex/balancer-v3/balancer-v3-sepolia-pools.js +406 -0
  27. package/build/dex/balancer-v3/balancer-v3-sepolia-pools.js.map +1 -0
  28. package/build/dex/balancer-v3/gyroECLPPool.d.ts +11 -0
  29. package/build/dex/balancer-v3/gyroECLPPool.js +6 -0
  30. package/build/dex/balancer-v3/gyroECLPPool.js.map +1 -0
  31. package/build/dex/balancer-v3/utils.d.ts +2 -0
  32. package/build/dex/balancer-v3/utils.js +11 -0
  33. package/build/dex/balancer-v3/utils.js.map +1 -0
  34. package/build/dex/erc4626/scripts/validate-state.d.ts +0 -0
  35. package/build/dex/erc4626/scripts/validate-state.js +146 -0
  36. package/build/dex/erc4626/scripts/validate-state.js.map +1 -0
  37. package/build/dex/inception/config.d.ts +4 -0
  38. package/build/dex/inception/config.js +109 -0
  39. package/build/dex/inception/config.js.map +1 -0
  40. package/build/dex/inception/inception-event-pool.d.ts +16 -0
  41. package/build/dex/inception/inception-event-pool.js +49 -0
  42. package/build/dex/inception/inception-event-pool.js.map +1 -0
  43. package/build/dex/inception/inception.d.ts +43 -0
  44. package/build/dex/inception/inception.js +180 -0
  45. package/build/dex/inception/inception.js.map +1 -0
  46. package/build/dex/inception/tokens.d.ts +9 -0
  47. package/build/dex/inception/tokens.js +28 -0
  48. package/build/dex/inception/tokens.js.map +1 -0
  49. package/build/dex/inception/types.d.ts +22 -0
  50. package/build/dex/{m-token → inception}/types.js.map +1 -1
  51. package/build/dex/inception/utils.d.ts +7 -0
  52. package/build/dex/inception/utils.js +58 -0
  53. package/build/dex/inception/utils.js.map +1 -0
  54. package/build/dex/jarvis.d.ts +2 -1
  55. package/build/dex/jarvis.js +58 -0
  56. package/build/dex/jarvis.js.map +1 -1
  57. package/build/dex/maker-psm/scripts/gem.abi.json +136 -0
  58. package/build/dex/maker-psm/scripts/validate-state.d.ts +0 -0
  59. package/build/dex/maker-psm/scripts/validate-state.js +185 -0
  60. package/build/dex/maker-psm/scripts/validate-state.js.map +1 -0
  61. package/build/dex/maker-psm/scripts/vat.abi.json +243 -0
  62. package/build/dex/maverick-v2/maverick-v2-pool.js +2 -2
  63. package/build/dex/maverick-v2/maverick-v2-pool.js.map +1 -1
  64. package/build/dex/platypus/platypus.d.ts +2 -1
  65. package/build/dex/platypus/platypus.js +45 -0
  66. package/build/dex/platypus/platypus.js.map +1 -1
  67. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +1 -0
  68. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +53 -0
  69. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +1 -0
  70. package/build/dex/stable-pool.js +1 -8
  71. package/build/dex/stable-pool.js.map +1 -1
  72. package/build/dex/swaap-v1/swaap-v1.d.ts +2 -1
  73. package/build/dex/swaap-v1/swaap-v1.js +14 -0
  74. package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
  75. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +17 -0
  76. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +64 -0
  77. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +1 -0
  78. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +17 -0
  79. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +79 -0
  80. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +1 -0
  81. package/build/dex/uniswap-v3/uniswap-v3-pricing.d.ts +4 -0
  82. package/build/dex/uniswap-v3/uniswap-v3-pricing.js +43 -0
  83. package/build/dex/uniswap-v3/uniswap-v3-pricing.js.map +1 -0
  84. package/build/dex/uniswap-v3/uniswap-v3-worker.d.ts +1 -0
  85. package/build/dex/uniswap-v3/uniswap-v3-worker.js +10 -0
  86. package/build/dex/uniswap-v3/uniswap-v3-worker.js.map +1 -0
  87. package/build/dex/uniswap-v4/config.js +0 -43
  88. package/build/dex/uniswap-v4/config.js.map +1 -1
  89. package/build/dex/uniswap-v4/encoder.js +2 -12
  90. package/build/dex/uniswap-v4/encoder.js.map +1 -1
  91. package/build/dex/uniswap-v4/types.d.ts +4 -72
  92. package/build/dex/uniswap-v4/uniswap-v4.d.ts +6 -6
  93. package/build/dex/uniswap-v4/uniswap-v4.js +47 -29
  94. package/build/dex/uniswap-v4/uniswap-v4.js.map +1 -1
  95. package/build/dex/usual/usual-m-smart-m.d.ts +17 -0
  96. package/build/dex/usual/usual-m-smart-m.js +50 -0
  97. package/build/dex/usual/usual-m-smart-m.js.map +1 -0
  98. package/build/dex/usual-m-smart-m/config.d.ts +3 -0
  99. package/build/dex/usual-m-smart-m/config.js +13 -0
  100. package/build/dex/usual-m-smart-m/config.js.map +1 -0
  101. package/build/dex/usual-m-smart-m/types.d.ts +7 -0
  102. package/build/dex/usual-m-smart-m/types.js +3 -0
  103. package/build/dex/usual-m-smart-m/types.js.map +1 -0
  104. package/build/dex/usual-m-smart-m/usual-m-smart-m.d.ts +35 -0
  105. package/build/dex/usual-m-smart-m/usual-m-smart-m.js +161 -0
  106. package/build/dex/usual-m-smart-m/usual-m-smart-m.js.map +1 -0
  107. package/build/dex/{m-token → usual-m-usd0}/config.d.ts +2 -2
  108. package/build/dex/usual-m-usd0/config.js +14 -0
  109. package/build/dex/usual-m-usd0/config.js.map +1 -0
  110. package/build/dex/usual-m-usd0/types.d.ts +8 -0
  111. package/build/dex/usual-m-usd0/types.js +3 -0
  112. package/build/dex/usual-m-usd0/types.js.map +1 -0
  113. package/build/dex/usual-m-usd0/usual-m-usd0.d.ts +35 -0
  114. package/build/dex/usual-m-usd0/usual-m-usd0.js +159 -0
  115. package/build/dex/usual-m-usd0/usual-m-usd0.js.map +1 -0
  116. package/build/dex/zerox/index.d.ts +4 -26
  117. package/build/dex/zerox/index.js +50 -42
  118. package/build/dex/zerox/index.js.map +1 -1
  119. package/build/dex/zerox/types.d.ts +29 -0
  120. package/build/dex/zerox/types.js +8 -1
  121. package/build/dex/zerox/types.js.map +1 -1
  122. package/package.json +1 -1
  123. package/src/dex/maverick-v2/maverick-v2-pool.ts +2 -2
  124. package/.idea/aws.xml +0 -17
  125. package/.idea/codeStyles/Project.xml +0 -19
  126. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  127. package/.idea/misc.xml +0 -6
  128. package/.idea/modules.xml +0 -8
  129. package/.idea/paraswap-dex-lib.iml +0 -9
  130. package/.idea/prettier.xml +0 -7
  131. package/.idea/vcs.xml +0 -6
  132. package/build/abi/integral/factory.json +0 -333
  133. package/build/abi/integral/oracle.json +0 -501
  134. package/build/abi/uniswap-v4/pool-manager.abi.json +0 -1366
  135. package/build/abi/uniswap-v4/state-view.abi.json +0 -365
  136. package/build/dex/fluid-dex/fluid-dex-generate-pool.d.ts +0 -49
  137. package/build/dex/fluid-dex/fluid-dex-generate-pool.js +0 -104
  138. package/build/dex/fluid-dex/fluid-dex-generate-pool.js.map +0 -1
  139. package/build/dex/integral/config.d.ts +0 -4
  140. package/build/dex/integral/config.js +0 -20
  141. package/build/dex/integral/config.js.map +0 -1
  142. package/build/dex/integral/context.d.ts +0 -40
  143. package/build/dex/integral/context.js +0 -158
  144. package/build/dex/integral/context.js.map +0 -1
  145. package/build/dex/integral/integral-factory.d.ts +0 -24
  146. package/build/dex/integral/integral-factory.js +0 -95
  147. package/build/dex/integral/integral-factory.js.map +0 -1
  148. package/build/dex/integral/integral-pool.d.ts +0 -50
  149. package/build/dex/integral/integral-pool.js +0 -149
  150. package/build/dex/integral/integral-pool.js.map +0 -1
  151. package/build/dex/integral/integral-pricing.d.ts +0 -18
  152. package/build/dex/integral/integral-pricing.js +0 -114
  153. package/build/dex/integral/integral-pricing.js.map +0 -1
  154. package/build/dex/integral/integral-relayer.d.ts +0 -42
  155. package/build/dex/integral/integral-relayer.js +0 -192
  156. package/build/dex/integral/integral-relayer.js.map +0 -1
  157. package/build/dex/integral/integral-token.d.ts +0 -27
  158. package/build/dex/integral/integral-token.js +0 -59
  159. package/build/dex/integral/integral-token.js.map +0 -1
  160. package/build/dex/integral/integral.d.ts +0 -41
  161. package/build/dex/integral/integral.js +0 -376
  162. package/build/dex/integral/integral.js.map +0 -1
  163. package/build/dex/integral/types.d.ts +0 -85
  164. package/build/dex/integral/types.js +0 -9
  165. package/build/dex/integral/types.js.map +0 -1
  166. package/build/dex/integral/utils-e2e.d.ts +0 -9
  167. package/build/dex/integral/utils-e2e.js +0 -131
  168. package/build/dex/integral/utils-e2e.js.map +0 -1
  169. package/build/dex/integral/utils.d.ts +0 -17
  170. package/build/dex/integral/utils.js +0 -94
  171. package/build/dex/integral/utils.js.map +0 -1
  172. package/build/dex/m-token/config.js +0 -19
  173. package/build/dex/m-token/config.js.map +0 -1
  174. package/build/dex/m-token/m-token.d.ts +0 -29
  175. package/build/dex/m-token/m-token.js +0 -145
  176. package/build/dex/m-token/m-token.js.map +0 -1
  177. package/build/dex/m-token/m-wrapped-m.d.ts +0 -17
  178. package/build/dex/m-token/m-wrapped-m.js +0 -50
  179. package/build/dex/m-token/m-wrapped-m.js.map +0 -1
  180. package/build/dex/m-token/types.d.ts +0 -12
  181. package/build/dex/spark/susds-psm.d.ts +0 -49
  182. package/build/dex/spark/susds-psm.js +0 -245
  183. package/build/dex/spark/susds-psm.js.map +0 -1
  184. package/build/dex/trader-joe-v2.1/optimizer.d.ts +0 -2
  185. package/build/dex/trader-joe-v2.1/optimizer.js +0 -47
  186. package/build/dex/trader-joe-v2.1/optimizer.js.map +0 -1
  187. package/build/dex/uniswap-v4/constants.d.ts +0 -7
  188. package/build/dex/uniswap-v4/constants.js +0 -18
  189. package/build/dex/uniswap-v4/constants.js.map +0 -1
  190. package/build/dex/uniswap-v4/contract-math/BitMath.d.ts +0 -4
  191. package/build/dex/uniswap-v4/contract-math/BitMath.js +0 -53
  192. package/build/dex/uniswap-v4/contract-math/BitMath.js.map +0 -1
  193. package/build/dex/uniswap-v4/contract-math/FixedPoint128.d.ts +0 -3
  194. package/build/dex/uniswap-v4/contract-math/FixedPoint128.js +0 -8
  195. package/build/dex/uniswap-v4/contract-math/FixedPoint128.js.map +0 -1
  196. package/build/dex/uniswap-v4/contract-math/FixedPoint96.d.ts +0 -4
  197. package/build/dex/uniswap-v4/contract-math/FixedPoint96.js +0 -9
  198. package/build/dex/uniswap-v4/contract-math/FixedPoint96.js.map +0 -1
  199. package/build/dex/uniswap-v4/contract-math/FullMath.d.ts +0 -4
  200. package/build/dex/uniswap-v4/contract-math/FullMath.js +0 -19
  201. package/build/dex/uniswap-v4/contract-math/FullMath.js.map +0 -1
  202. package/build/dex/uniswap-v4/contract-math/LiquidityMath.d.ts +0 -3
  203. package/build/dex/uniswap-v4/contract-math/LiquidityMath.js +0 -18
  204. package/build/dex/uniswap-v4/contract-math/LiquidityMath.js.map +0 -1
  205. package/build/dex/uniswap-v4/contract-math/Position.d.ts +0 -9
  206. package/build/dex/uniswap-v4/contract-math/Position.js +0 -39
  207. package/build/dex/uniswap-v4/contract-math/Position.js.map +0 -1
  208. package/build/dex/uniswap-v4/contract-math/SqrtPriceMath.d.ts +0 -11
  209. package/build/dex/uniswap-v4/contract-math/SqrtPriceMath.js +0 -80
  210. package/build/dex/uniswap-v4/contract-math/SqrtPriceMath.js.map +0 -1
  211. package/build/dex/uniswap-v4/contract-math/SwapMath.d.ts +0 -8
  212. package/build/dex/uniswap-v4/contract-math/SwapMath.js +0 -70
  213. package/build/dex/uniswap-v4/contract-math/SwapMath.js.map +0 -1
  214. package/build/dex/uniswap-v4/contract-math/Tick.d.ts +0 -9
  215. package/build/dex/uniswap-v4/contract-math/Tick.js +0 -40
  216. package/build/dex/uniswap-v4/contract-math/Tick.js.map +0 -1
  217. package/build/dex/uniswap-v4/contract-math/TickBitMap.d.ts +0 -8
  218. package/build/dex/uniswap-v4/contract-math/TickBitMap.js +0 -40
  219. package/build/dex/uniswap-v4/contract-math/TickBitMap.js.map +0 -1
  220. package/build/dex/uniswap-v4/contract-math/TickMath.d.ts +0 -9
  221. package/build/dex/uniswap-v4/contract-math/TickMath.js +0 -164
  222. package/build/dex/uniswap-v4/contract-math/TickMath.js.map +0 -1
  223. package/build/dex/uniswap-v4/contract-math/UnsafeMath.d.ts +0 -4
  224. package/build/dex/uniswap-v4/contract-math/UnsafeMath.js +0 -16
  225. package/build/dex/uniswap-v4/contract-math/UnsafeMath.js.map +0 -1
  226. package/build/dex/uniswap-v4/contract-math/uniswap-v4-math.d.ts +0 -8
  227. package/build/dex/uniswap-v4/contract-math/uniswap-v4-math.js +0 -11
  228. package/build/dex/uniswap-v4/contract-math/uniswap-v4-math.js.map +0 -1
  229. package/build/dex/uniswap-v4/contract-math/uniswap-v4-pool-math.d.ts +0 -15
  230. package/build/dex/uniswap-v4/contract-math/uniswap-v4-pool-math.js +0 -108
  231. package/build/dex/uniswap-v4/contract-math/uniswap-v4-pool-math.js.map +0 -1
  232. package/build/dex/uniswap-v4/contract-math/utils.d.ts +0 -4
  233. package/build/dex/uniswap-v4/contract-math/utils.js +0 -23
  234. package/build/dex/uniswap-v4/contract-math/utils.js.map +0 -1
  235. package/build/dex/uniswap-v4/subgraph.d.ts +0 -5
  236. package/build/dex/uniswap-v4/subgraph.js +0 -80
  237. package/build/dex/uniswap-v4/subgraph.js.map +0 -1
  238. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.d.ts +0 -33
  239. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js +0 -260
  240. package/build/dex/uniswap-v4/uniswap-v4-pool-manager.js.map +0 -1
  241. package/build/dex/uniswap-v4/utils.d.ts +0 -2
  242. package/build/dex/uniswap-v4/utils.js +0 -15
  243. package/build/dex/uniswap-v4/utils.js.map +0 -1
  244. /package/build/dex/{m-token → inception}/types.js +0 -0
@@ -1,245 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.sUSDSPsm = exports.sUSDSPsmConfig = void 0;
7
- const spark_1 = require("./spark");
8
- const types_1 = require("./types");
9
- const constants_1 = require("@paraswap/core/build/constants");
10
- const constants_2 = require("../../constants");
11
- const utils_1 = require("../../utils");
12
- const abi_1 = require("@ethersproject/abi");
13
- const SSRAuthOracle_abi_json_1 = __importDefault(require("../../abi/sdai/SSRAuthOracle.abi.json"));
14
- const PSM3_abi_json_1 = __importDefault(require("../../abi/sdai/PSM3.abi.json"));
15
- const config_1 = require("./config");
16
- const utils_2 = require("../../executor/utils");
17
- const bigint_constants_1 = require("../../bigint-constants");
18
- const constants_3 = require("./constants");
19
- exports.sUSDSPsmConfig = {
20
- sUSDSPsm: {
21
- [constants_2.Network.ARBITRUM]: {
22
- sdaiAddress: '0xdDb46999F8891663a8F2828d25298f70416d7610', // sUSDS
23
- sdaiDecimals: 18,
24
- daiAddress: '0x6491c05A82219b8D1479057361ff1654749b876b', // USDS
25
- daiDecimals: 18,
26
- usdcAddress: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831', // USDC
27
- usdcDecimals: 6,
28
- potAddress: '0xEE2816c1E1eed14d444552654Ed3027abC033A36', // SSRAuthOracle contract address
29
- psmAddress: '0x2B05F8e1cACC6974fD79A673a341Fe1f58d27266', // PSM contract address
30
- savingsRate: {
31
- symbol: 'ssrOracle',
32
- topic: '0xc234856e2a0c5b406365714ced016892e7d98f7b1d49982cdd8db416a586d811', // SetSUSDSData event
33
- },
34
- poolInterface: new abi_1.Interface(SSRAuthOracle_abi_json_1.default),
35
- exchangeInterface: new abi_1.Interface(PSM3_abi_json_1.default),
36
- swapFunctions: types_1.SparkSUSDSPsmFunctions,
37
- referralCode: '1004',
38
- },
39
- [constants_2.Network.BASE]: {
40
- sdaiAddress: '0x5875eEE11Cf8398102FdAd704C9E96607675467a', // sUSDS
41
- sdaiDecimals: 18,
42
- daiAddress: '0x820C137fa70C8691f0e44Dc420a5e53c168921Dc', // USDS
43
- daiDecimals: 18,
44
- usdcAddress: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913', // USDC
45
- usdcDecimals: 6,
46
- potAddress: '0x65d946e533748A998B1f0E430803e39A6388f7a1', // SSRAuthOracle contract address
47
- psmAddress: '0x1601843c5E9bC251A3272907010AFa41Fa18347E', // PSM contract address
48
- savingsRate: {
49
- symbol: 'ssrOracle',
50
- topic: '0x7373720000000000000000000000000000000000000000000000000000000000',
51
- },
52
- poolInterface: new abi_1.Interface(SSRAuthOracle_abi_json_1.default),
53
- exchangeInterface: new abi_1.Interface(PSM3_abi_json_1.default),
54
- swapFunctions: types_1.SparkSUSDSPsmFunctions,
55
- referralCode: '1004',
56
- },
57
- },
58
- };
59
- class sUSDSPsm extends spark_1.Spark {
60
- network;
61
- dexHelper;
62
- config;
63
- daiAddress;
64
- sdaiAddress;
65
- potAddress;
66
- abiInterface;
67
- adapters;
68
- sdaiInterface;
69
- swapFunctions;
70
- referralCode;
71
- static dexKeysWithNetwork = (0, utils_1.getDexKeysWithNetwork)(exports.sUSDSPsmConfig);
72
- usdcAddress;
73
- daiPrecision;
74
- sDaiPrecision;
75
- usdcPrecision;
76
- constructor(network, dexKey, dexHelper, config = exports.sUSDSPsmConfig[dexKey][network], daiAddress = exports.sUSDSPsmConfig[dexKey][network].daiAddress, sdaiAddress = exports.sUSDSPsmConfig[dexKey][network].sdaiAddress, potAddress = exports.sUSDSPsmConfig[dexKey][network].potAddress, abiInterface = exports.sUSDSPsmConfig[dexKey][network]
77
- .poolInterface, adapters = config_1.Adapters[network] || {}, sdaiInterface = exports.sUSDSPsmConfig[dexKey][network].exchangeInterface, swapFunctions = exports.sUSDSPsmConfig[dexKey][network].swapFunctions, referralCode = exports.sUSDSPsmConfig[dexKey][network].referralCode) {
78
- super(network, dexKey, dexHelper, config, daiAddress, sdaiAddress, potAddress, abiInterface, adapters, sdaiInterface, swapFunctions, referralCode);
79
- this.network = network;
80
- this.dexHelper = dexHelper;
81
- this.config = config;
82
- this.daiAddress = daiAddress;
83
- this.sdaiAddress = sdaiAddress;
84
- this.potAddress = potAddress;
85
- this.abiInterface = abiInterface;
86
- this.adapters = adapters;
87
- this.sdaiInterface = sdaiInterface;
88
- this.swapFunctions = swapFunctions;
89
- this.referralCode = referralCode;
90
- this.usdcAddress = config.usdcAddress;
91
- this.daiPrecision = 10n ** BigInt(config.daiDecimals);
92
- this.sDaiPrecision = 10n ** BigInt(config.sdaiDecimals);
93
- this.usdcPrecision = 10n ** BigInt(config.usdcDecimals);
94
- }
95
- isUSDC(tokenAddress) {
96
- return this.usdcAddress.toLowerCase() === tokenAddress.toLowerCase();
97
- }
98
- isAppropriatePair(srcToken, destToken) {
99
- if (srcToken.address.toLowerCase() === destToken.address.toLowerCase()) {
100
- return false;
101
- }
102
- const supportedTokens = [
103
- this.daiAddress.toLowerCase(),
104
- this.usdcAddress.toLowerCase(),
105
- this.sdaiAddress.toLowerCase(),
106
- ];
107
- return (supportedTokens.indexOf(srcToken.address.toLowerCase()) > -1 &&
108
- supportedTokens.indexOf(destToken.address.toLowerCase()) > -1);
109
- }
110
- convertOneToOne(assetPrecision, convertAssetPrecision) {
111
- return (assets) => {
112
- return (assets * convertAssetPrecision + assetPrecision) / assetPrecision;
113
- };
114
- }
115
- previewSell(srcToken, destToken, amounts, state) {
116
- let calcFunction;
117
- const isDaiSrcAsset = this.isDai(srcToken.address);
118
- const isUSDCToUSDS = this.isUSDC(srcToken.address) && this.isDai(destToken.address);
119
- const isUSDSToUSDC = this.isDai(srcToken.address) && this.isUSDC(destToken.address);
120
- const isUSDCSrcAsset = this.isUSDC(srcToken.address);
121
- const isUSDCDestAsset = this.isUSDC(destToken.address);
122
- if (isUSDCToUSDS) {
123
- calcFunction = this.convertOneToOne(this.usdcPrecision, this.daiPrecision).bind(this);
124
- }
125
- else if (isUSDSToUSDC) {
126
- calcFunction = this.convertOneToOne(this.daiPrecision, this.usdcPrecision).bind(this);
127
- }
128
- else if (isDaiSrcAsset) {
129
- calcFunction = this.previewDeposit.bind(this);
130
- }
131
- else {
132
- if (isUSDCSrcAsset) {
133
- calcFunction = (assets, state) => {
134
- const res = this.previewDeposit(assets, state);
135
- return (res * this.sDaiPrecision) / this.usdcPrecision;
136
- };
137
- }
138
- else if (isUSDCDestAsset) {
139
- calcFunction = (assets, state) => {
140
- const res = this.previewRedeem(assets, state);
141
- return (res * this.usdcPrecision) / this.sDaiPrecision;
142
- };
143
- }
144
- else {
145
- calcFunction = this.previewRedeem.bind(this);
146
- }
147
- }
148
- return amounts.map(amount => calcFunction(amount, state));
149
- }
150
- previewBuy(srcToken, destToken, amounts, state) {
151
- let calcFunction;
152
- const isDaiSrcAsset = this.isDai(srcToken.address);
153
- const isUSDCToUSDS = this.isUSDC(srcToken.address) && this.isDai(destToken.address);
154
- const isUSDSToUSDC = this.isDai(srcToken.address) && this.isUSDC(destToken.address);
155
- const isUSDCSrcAsset = this.isUSDC(srcToken.address);
156
- const isUSDCDestAsset = this.isUSDC(destToken.address);
157
- if (isUSDCToUSDS) {
158
- calcFunction = this.convertOneToOne(this.daiPrecision, this.usdcPrecision).bind(this);
159
- }
160
- else if (isUSDSToUSDC) {
161
- calcFunction = this.convertOneToOne(this.usdcPrecision, this.daiPrecision).bind(this);
162
- }
163
- else if (isDaiSrcAsset) {
164
- calcFunction = this.previewMint.bind(this);
165
- }
166
- else {
167
- if (isUSDCSrcAsset) {
168
- calcFunction = (assets, state) => {
169
- const res = this.previewMint(assets, state);
170
- return (res * this.usdcPrecision) / this.sDaiPrecision;
171
- };
172
- }
173
- else if (isUSDCDestAsset) {
174
- calcFunction = (assets, state) => {
175
- const res = this.previewWithdraw(assets, state);
176
- return (res * this.sDaiPrecision) / this.usdcPrecision;
177
- };
178
- }
179
- else {
180
- calcFunction = this.previewWithdraw.bind(this);
181
- }
182
- }
183
- return amounts.map(amount => calcFunction(amount, state));
184
- }
185
- async getPricesVolume(srcToken, destToken, amounts, side, blockNumber, limitPools) {
186
- if (!this.isAppropriatePair(srcToken, destToken))
187
- return null;
188
- const state = this.eventPool.getState(blockNumber);
189
- if (!state)
190
- return null;
191
- let results;
192
- if (side === constants_1.SwapSide.SELL) {
193
- results = this.previewSell(srcToken, destToken, amounts, state);
194
- }
195
- else {
196
- results = this.previewBuy(srcToken, destToken, amounts, state);
197
- }
198
- return [
199
- {
200
- // cannot produce 1:1 price without making an rpc call for block.timestamp and using it for price calculation in `calcChi` function
201
- prices: results,
202
- unit: bigint_constants_1.BI_POWS[18],
203
- gasCost: constants_3.SDAI_DEPOSIT_GAS_COST,
204
- exchange: this.dexKey,
205
- data: { exchange: `${this.sdaiAddress}` },
206
- poolAddresses: [`${this.sdaiAddress}`],
207
- },
208
- ];
209
- }
210
- getDexParam(srcToken, destToken, srcAmount, destAmount, recipient, data, side, _, executorAddress) {
211
- const isSell = side === constants_1.SwapSide.SELL;
212
- let swapData;
213
- if (isSell) {
214
- swapData = this.sdaiInterface.encodeFunctionData('swapExactIn', [
215
- srcToken,
216
- destToken,
217
- srcAmount,
218
- destAmount,
219
- recipient,
220
- this.config.referralCode,
221
- ]);
222
- }
223
- else {
224
- swapData = this.sdaiInterface.encodeFunctionData('swapExactOut', [
225
- srcToken,
226
- destToken,
227
- destAmount,
228
- srcAmount,
229
- recipient,
230
- this.config.referralCode,
231
- ]);
232
- }
233
- return {
234
- needWrapNative: this.needWrapNative,
235
- dexFuncHasRecipient: true,
236
- exchangeData: swapData,
237
- targetExchange: this.config.psmAddress,
238
- returnAmountPos: isSell
239
- ? (0, utils_2.extractReturnAmountPosition)(this.sdaiInterface, 'swapExactIn', 'amountOut')
240
- : undefined,
241
- };
242
- }
243
- }
244
- exports.sUSDSPsm = sUSDSPsm;
245
- //# sourceMappingURL=susds-psm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"susds-psm.js","sourceRoot":"","sources":["../../../src/dex/spark/susds-psm.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { UnoptimizedRate } from '../../types';
2
- export declare function traderJoeMerge(or: UnoptimizedRate): UnoptimizedRate;
@@ -1,47 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.traderJoeMerge = void 0;
7
- const lodash_1 = __importDefault(require("lodash"));
8
- // We support multihop for TraderJoeV2.1 and TraderJoeV2.2
9
- const TraderJoeV2Forks = ['TraderJoeV2.1', 'TraderJoeV2.2'].map(dexName => dexName.toLowerCase());
10
- function traderJoeMerge(or) {
11
- const fixRoute = (rawRate) => {
12
- let lastExchange = false;
13
- let optimizedRate = new Array();
14
- rawRate.forEach((s) => {
15
- if (s.swapExchanges.length !== 1 ||
16
- !TraderJoeV2Forks.includes(s.swapExchanges[0].exchange.toLowerCase())) {
17
- lastExchange = false;
18
- optimizedRate.push(s);
19
- }
20
- else if (lastExchange &&
21
- lodash_1.default.last(lastExchange.swapExchanges[0].data.tokenPath).toLowerCase() === s.swapExchanges[0].data.tokenPath[0].toLowerCase()) {
22
- lastExchange.swapExchanges[0].data.tokenPath.push(s.swapExchanges[0].data.tokenPath[1]);
23
- lastExchange.swapExchanges[0].data.binSteps.push(s.swapExchanges[0].data.binSteps[0]);
24
- lastExchange.swapExchanges[0].data.versions.push(s.swapExchanges[0].data.versions[0]);
25
- lastExchange.swapExchanges[0].poolAddresses.push(s.swapExchanges[0].poolAddresses[0]);
26
- lastExchange.swapExchanges[0].data.gasUSD = (parseFloat(lastExchange.swapExchanges[0].data.gasUSD) +
27
- parseFloat(s.swapExchanges[0].data.gasUSD)).toFixed(6);
28
- lastExchange.destToken = s.destToken;
29
- lastExchange.destDecimals = s.destDecimals;
30
- lastExchange.swapExchanges[0].destAmount =
31
- s.swapExchanges[0].destAmount;
32
- }
33
- else {
34
- lastExchange = lodash_1.default.cloneDeep(s);
35
- optimizedRate.push(lastExchange);
36
- }
37
- });
38
- return optimizedRate;
39
- };
40
- or.bestRoute = or.bestRoute.map(r => ({
41
- ...r,
42
- swaps: fixRoute(r.swaps),
43
- }));
44
- return or;
45
- }
46
- exports.traderJoeMerge = traderJoeMerge;
47
- //# sourceMappingURL=optimizer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"optimizer.js","sourceRoot":"","sources":["../../../src/dex/trader-joe-v2.1/optimizer.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- export declare const TICK_BITMAP_TO_USE = 4n;
2
- export declare const TICK_BITMAP_BUFFER = 8n;
3
- export declare const TICK_BITMAP_TO_USE_BY_CHAIN: Record<number, bigint>;
4
- export declare const TICK_BITMAP_BUFFER_BY_CHAIN: Record<number, bigint>;
5
- export declare const OUT_OF_RANGE_ERROR_POSTFIX = "INVALID_TICK_BIT_MAP_RANGES";
6
- export declare const SUBGRAPH_TIMEOUT: number;
7
- export declare const POOL_CACHE_REFRESH_INTERVAL: number;
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.POOL_CACHE_REFRESH_INTERVAL = exports.SUBGRAPH_TIMEOUT = exports.OUT_OF_RANGE_ERROR_POSTFIX = exports.TICK_BITMAP_BUFFER_BY_CHAIN = exports.TICK_BITMAP_TO_USE_BY_CHAIN = exports.TICK_BITMAP_BUFFER = exports.TICK_BITMAP_TO_USE = void 0;
4
- // This is used for price calculation. If out of scope, return 0n
5
- const constants_1 = require("../../constants");
6
- exports.TICK_BITMAP_TO_USE = 4n;
7
- // This is used to check if the state is still valid.
8
- exports.TICK_BITMAP_BUFFER = 8n;
9
- exports.TICK_BITMAP_TO_USE_BY_CHAIN = {
10
- [constants_1.Network.MAINNET]: 8n,
11
- };
12
- exports.TICK_BITMAP_BUFFER_BY_CHAIN = {
13
- [constants_1.Network.MAINNET]: 16n,
14
- };
15
- exports.OUT_OF_RANGE_ERROR_POSTFIX = `INVALID_TICK_BIT_MAP_RANGES`;
16
- exports.SUBGRAPH_TIMEOUT = 30 * 1000;
17
- exports.POOL_CACHE_REFRESH_INTERVAL = 60 * 5; // 5 minutes
18
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/uniswap-v4/constants.ts"],"names":[],"mappings":";;;AAAA,iEAAiE;AACjE,+CAA0C;AAE7B,QAAA,kBAAkB,GAAG,EAAE,CAAC;AAErC,qDAAqD;AACxC,QAAA,kBAAkB,GAAG,EAAE,CAAC;AAExB,QAAA,2BAA2B,GAA2B;IACjE,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE,EAAE;CACtB,CAAC;AAEW,QAAA,2BAA2B,GAA2B;IACjE,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE,GAAG;CACvB,CAAC;AAEW,QAAA,0BAA0B,GAAG,6BAA6B,CAAC;AAE3D,QAAA,gBAAgB,GAAG,EAAE,GAAG,IAAI,CAAC;AAE7B,QAAA,2BAA2B,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,YAAY"}
@@ -1,4 +0,0 @@
1
- export declare class BitMath {
2
- static mostSignificantBit(x: bigint): bigint;
3
- static leastSignificantBit(x: bigint): bigint;
4
- }
@@ -1,53 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BitMath = void 0;
4
- const utils_1 = require("../../../utils");
5
- class BitMath {
6
- static mostSignificantBit(x) {
7
- (0, utils_1._require)(x > 0, '', { x }, 'x > 0');
8
- let r = 0n;
9
- if (x > 0xffffffffffffffffffffffffffffffffn) {
10
- x >>= 128n;
11
- r += 128n;
12
- }
13
- if (x > 0xffffffffffffffffn) {
14
- x >>= 64n;
15
- r += 64n;
16
- }
17
- if (x > 0xffffffffn) {
18
- x >>= 32n;
19
- r += 32n;
20
- }
21
- if (x > 0xffffn) {
22
- x >>= 16n;
23
- r += 16n;
24
- }
25
- if (x > 0xffn) {
26
- x >>= 8n;
27
- r += 8n;
28
- }
29
- if (x > 0xfn) {
30
- x >>= 4n;
31
- r += 4n;
32
- }
33
- if (x > 0x3n) {
34
- x >>= 2n;
35
- r += 2n;
36
- }
37
- if (x > 0x1n) {
38
- r += 1n;
39
- }
40
- return r;
41
- }
42
- static leastSignificantBit(x) {
43
- (0, utils_1._require)(x > 0, '', { x }, 'x > 0');
44
- let r = 0n;
45
- while ((x & 1n) === 0n) {
46
- x >>= 1n;
47
- r++;
48
- }
49
- return r;
50
- }
51
- }
52
- exports.BitMath = BitMath;
53
- //# sourceMappingURL=BitMath.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BitMath.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/contract-math/BitMath.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAE1C,MAAa,OAAO;IAClB,MAAM,CAAC,kBAAkB,CAAC,CAAS;QACjC,IAAA,gBAAQ,EAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAEpC,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,IAAI,CAAC,GAAG,mCAAmC,EAAE,CAAC;YAC5C,CAAC,KAAK,IAAI,CAAC;YACX,CAAC,IAAI,IAAI,CAAC;QACZ,CAAC;QACD,IAAI,CAAC,GAAG,mBAAmB,EAAE,CAAC;YAC5B,CAAC,KAAK,GAAG,CAAC;YACV,CAAC,IAAI,GAAG,CAAC;QACX,CAAC;QACD,IAAI,CAAC,GAAG,WAAW,EAAE,CAAC;YACpB,CAAC,KAAK,GAAG,CAAC;YACV,CAAC,IAAI,GAAG,CAAC;QACX,CAAC;QACD,IAAI,CAAC,GAAG,OAAO,EAAE,CAAC;YAChB,CAAC,KAAK,GAAG,CAAC;YACV,CAAC,IAAI,GAAG,CAAC;QACX,CAAC;QACD,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC;YACd,CAAC,KAAK,EAAE,CAAC;YACT,CAAC,IAAI,EAAE,CAAC;QACV,CAAC;QACD,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YACb,CAAC,KAAK,EAAE,CAAC;YACT,CAAC,IAAI,EAAE,CAAC;QACV,CAAC;QACD,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YACb,CAAC,KAAK,EAAE,CAAC;YACT,CAAC,IAAI,EAAE,CAAC;QACV,CAAC;QACD,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YACb,CAAC,IAAI,EAAE,CAAC;QACV,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,CAAC,mBAAmB,CAAC,CAAS;QAClC,IAAA,gBAAQ,EAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QAEpC,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC;YACvB,CAAC,KAAK,EAAE,CAAC;YACT,CAAC,EAAE,CAAC;QACN,CAAC;QAED,OAAO,CAAC,CAAC;IACX,CAAC;CACF;AAnDD,0BAmDC"}
@@ -1,3 +0,0 @@
1
- export declare class FixedPoint128 {
2
- static readonly Q128 = 340282366920938463463374607431768211456n;
3
- }
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FixedPoint128 = void 0;
4
- class FixedPoint128 {
5
- static Q128 = 0x100000000000000000000000000000000n;
6
- }
7
- exports.FixedPoint128 = FixedPoint128;
8
- //# sourceMappingURL=FixedPoint128.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FixedPoint128.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/contract-math/FixedPoint128.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAa;IACxB,MAAM,CAAU,IAAI,GAAG,oCAAoC,CAAC;;AAD9D,sCAEC"}
@@ -1,4 +0,0 @@
1
- export declare class FixedPoint96 {
2
- static readonly RESOLUTION = 96n;
3
- static readonly Q96 = 79228162514264337593543950336n;
4
- }
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FixedPoint96 = void 0;
4
- class FixedPoint96 {
5
- static RESOLUTION = 96n;
6
- static Q96 = 0x1000000000000000000000000n;
7
- }
8
- exports.FixedPoint96 = FixedPoint96;
9
- //# sourceMappingURL=FixedPoint96.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FixedPoint96.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/contract-math/FixedPoint96.ts"],"names":[],"mappings":";;;AAAA,MAAa,YAAY;IACvB,MAAM,CAAU,UAAU,GAAG,GAAG,CAAC;IACjC,MAAM,CAAU,GAAG,GAAG,4BAA4B,CAAC;;AAFrD,oCAGC"}
@@ -1,4 +0,0 @@
1
- export declare class FullMath {
2
- static mulDiv(a: bigint, b: bigint, denominator: bigint): bigint;
3
- static mulDivRoundingUp(a: bigint, b: bigint, denominator: bigint): bigint;
4
- }
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FullMath = void 0;
4
- const bigint_constants_1 = require("../../../bigint-constants");
5
- const utils_1 = require("../../../utils");
6
- class FullMath {
7
- static mulDiv(a, b, denominator) {
8
- const result = (a * b) / denominator;
9
- (0, utils_1._require)(result <= bigint_constants_1.BI_MAX_UINT256, '', { result, BI_MAX_UINT: bigint_constants_1.BI_MAX_UINT256 }, 'result <= BI_MAX_UINT');
10
- return result;
11
- }
12
- static mulDivRoundingUp(a, b, denominator) {
13
- const result = (a * b + denominator - 1n) / denominator;
14
- (0, utils_1._require)(result <= bigint_constants_1.BI_MAX_UINT256, '', { result, BI_MAX_UINT: bigint_constants_1.BI_MAX_UINT256 }, 'result <= BI_MAX_UINT');
15
- return result;
16
- }
17
- }
18
- exports.FullMath = FullMath;
19
- //# sourceMappingURL=FullMath.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FullMath.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/contract-math/FullMath.ts"],"names":[],"mappings":";;;AAAA,gEAA2D;AAC3D,0CAA0C;AAE1C,MAAa,QAAQ;IACnB,MAAM,CAAC,MAAM,CAAC,CAAS,EAAE,CAAS,EAAE,WAAmB;QACrD,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC;QAErC,IAAA,gBAAQ,EACN,MAAM,IAAI,iCAAc,EACxB,EAAE,EACF,EAAE,MAAM,EAAE,WAAW,EAAE,iCAAc,EAAE,EACvC,uBAAuB,CACxB,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAC,CAAS,EAAE,CAAS,EAAE,WAAmB;QAC/D,MAAM,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,WAAW,GAAG,EAAE,CAAC,GAAG,WAAW,CAAC;QAExD,IAAA,gBAAQ,EACN,MAAM,IAAI,iCAAc,EACxB,EAAE,EACF,EAAE,MAAM,EAAE,WAAW,EAAE,iCAAc,EAAE,EACvC,uBAAuB,CACxB,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AA1BD,4BA0BC"}
@@ -1,3 +0,0 @@
1
- export declare class LiquidityMath {
2
- static addDelta(x: bigint, y: bigint): bigint;
3
- }
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LiquidityMath = void 0;
4
- const utils_1 = require("../../../utils");
5
- class LiquidityMath {
6
- static addDelta(x, y) {
7
- const UINT128_MAX = (1n << 128n) - 1n;
8
- const INT128_MIN = -(1n << 127n);
9
- const INT128_MAX = (1n << 127n) - 1n;
10
- (0, utils_1._require)(x < 0n || x > UINT128_MAX, 'x must be a uint128 value', { x }, 'x < 0n || x > UINT128_MAX');
11
- (0, utils_1._require)(y < INT128_MIN || y > INT128_MAX, 'y must be an int128 value', { y }, 'y < INT128_MIN || y > INT128_MAX');
12
- const z = x + y;
13
- (0, utils_1._require)(z < 0n || z > UINT128_MAX, 'SafeCastOverflow: result exceeds uint128 range', { z }, 'z < 0n || z > UINT128_MAX');
14
- return z;
15
- }
16
- }
17
- exports.LiquidityMath = LiquidityMath;
18
- //# sourceMappingURL=LiquidityMath.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LiquidityMath.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/contract-math/LiquidityMath.ts"],"names":[],"mappings":";;;AAAA,0CAA0C;AAE1C,MAAa,aAAa;IACxB,MAAM,CAAC,QAAQ,CAAC,CAAS,EAAE,CAAS;QAClC,MAAM,WAAW,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;QAErC,IAAA,gBAAQ,EACN,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,WAAW,EACzB,2BAA2B,EAC3B,EAAE,CAAC,EAAE,EACL,2BAA2B,CAC5B,CAAC;QAEF,IAAA,gBAAQ,EACN,CAAC,GAAG,UAAU,IAAI,CAAC,GAAG,UAAU,EAChC,2BAA2B,EAC3B,EAAE,CAAC,EAAE,EACL,kCAAkC,CACnC,CAAC;QAEF,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEhB,IAAA,gBAAQ,EACN,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,WAAW,EACzB,gDAAgD,EAChD,EAAE,CAAC,EAAE,EACL,2BAA2B,CAC5B,CAAC;QAEF,OAAO,CAAC,CAAC;IACX,CAAC;CACF;AA/BD,sCA+BC"}
@@ -1,9 +0,0 @@
1
- import { PoolState, PositionState } from '../types';
2
- export declare class Position {
3
- private static calculatePositionKey;
4
- static get(poolState: PoolState, owner: string, tickLower: bigint, tickUpper: bigint, salt: string): PositionState | undefined;
5
- static update(poolState: PoolState, owner: string, tickLower: bigint, tickUpper: bigint, salt: string, liquidityDelta: bigint, feeGrowthInside0X128: bigint, feeGrowthInside1X128: bigint): {
6
- feesOwed0: bigint;
7
- feesOwed1: bigint;
8
- };
9
- }
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Position = void 0;
4
- const utils_1 = require("../../../utils");
5
- class Position {
6
- static calculatePositionKey(owner, tickLower, tickUpper, salt) {
7
- return `${owner}-${tickLower.toString()}-${tickUpper.toString()}-${salt}`;
8
- }
9
- static get(poolState, owner, tickLower, tickUpper, salt) {
10
- const positionKey = Position.calculatePositionKey(owner, tickLower, tickUpper, salt);
11
- return poolState.positions[positionKey];
12
- }
13
- static update(poolState, owner, tickLower, tickUpper, salt, liquidityDelta, feeGrowthInside0X128, feeGrowthInside1X128) {
14
- const positionKey = Position.calculatePositionKey(owner, tickLower, tickUpper, salt);
15
- let position = poolState.positions[positionKey];
16
- (0, utils_1._require)(Boolean(position), 'Position does not exist', { position });
17
- let { liquidity, feeGrowthInside0LastX128, feeGrowthInside1LastX128 } = position;
18
- if (liquidityDelta === 0n) {
19
- (0, utils_1._require)(liquidity !== 0n, 'Cannot update empty position', {
20
- liquidityDelta,
21
- });
22
- }
23
- else {
24
- liquidity += liquidityDelta;
25
- }
26
- const feesOwed0 = ((feeGrowthInside0X128 - feeGrowthInside0LastX128) * liquidity) /
27
- BigInt(1 << 128);
28
- const feesOwed1 = ((feeGrowthInside1X128 - feeGrowthInside1LastX128) * liquidity) /
29
- BigInt(1 << 128);
30
- poolState.positions[positionKey] = {
31
- liquidity,
32
- feeGrowthInside0LastX128: feeGrowthInside0X128,
33
- feeGrowthInside1LastX128: feeGrowthInside1X128,
34
- };
35
- return { feesOwed0, feesOwed1 };
36
- }
37
- }
38
- exports.Position = Position;
39
- //# sourceMappingURL=Position.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Position.js","sourceRoot":"","sources":["../../../../src/dex/uniswap-v4/contract-math/Position.ts"],"names":[],"mappings":";;;AACA,0CAA0C;AAE1C,MAAa,QAAQ;IACX,MAAM,CAAC,oBAAoB,CACjC,KAAa,EACb,SAAiB,EACjB,SAAiB,EACjB,IAAY;QAEZ,OAAO,GAAG,KAAK,IAAI,SAAS,CAAC,QAAQ,EAAE,IAAI,SAAS,CAAC,QAAQ,EAAE,IAAI,IAAI,EAAE,CAAC;IAC5E,CAAC;IAED,MAAM,CAAC,GAAG,CACR,SAAoB,EACpB,KAAa,EACb,SAAiB,EACjB,SAAiB,EACjB,IAAY;QAEZ,MAAM,WAAW,GAAG,QAAQ,CAAC,oBAAoB,CAC/C,KAAK,EACL,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;QAEF,OAAO,SAAS,CAAC,SAAU,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,MAAM,CACX,SAAoB,EACpB,KAAa,EACb,SAAiB,EACjB,SAAiB,EACjB,IAAY,EACZ,cAAsB,EACtB,oBAA4B,EAC5B,oBAA4B;QAE5B,MAAM,WAAW,GAAG,QAAQ,CAAC,oBAAoB,CAC/C,KAAK,EACL,SAAS,EACT,SAAS,EACT,IAAI,CACL,CAAC;QACF,IAAI,QAAQ,GAAG,SAAS,CAAC,SAAU,CAAC,WAAW,CAAC,CAAC;QAEjD,IAAA,gBAAQ,EAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,yBAAyB,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QAErE,IAAI,EAAE,SAAS,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,GACnE,QAAQ,CAAC;QAEX,IAAI,cAAc,KAAK,EAAE,EAAE,CAAC;YAC1B,IAAA,gBAAQ,EAAC,SAAS,KAAK,EAAE,EAAE,8BAA8B,EAAE;gBACzD,cAAc;aACf,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,SAAS,IAAI,cAAc,CAAC;QAC9B,CAAC;QAED,MAAM,SAAS,GACb,CAAC,CAAC,oBAAoB,GAAG,wBAAwB,CAAC,GAAG,SAAS,CAAC;YAC/D,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QACnB,MAAM,SAAS,GACb,CAAC,CAAC,oBAAoB,GAAG,wBAAwB,CAAC,GAAG,SAAS,CAAC;YAC/D,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC;QAEnB,SAAS,CAAC,SAAU,CAAC,WAAW,CAAC,GAAG;YAClC,SAAS;YACT,wBAAwB,EAAE,oBAAoB;YAC9C,wBAAwB,EAAE,oBAAoB;SAC/C,CAAC;QAEF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IAClC,CAAC;CAuBF;AA/FD,4BA+FC"}
@@ -1,11 +0,0 @@
1
- export declare class SqrtPriceMath {
2
- static getNextSqrtPriceFromAmount0RoundingUp(sqrtPX96: bigint, liquidity: bigint, amount: bigint, add: boolean): bigint;
3
- static getNextSqrtPriceFromAmount1RoundingDown(sqrtPX96: bigint, liquidity: bigint, amount: bigint, add: boolean): bigint;
4
- static getNextSqrtPriceFromInput(sqrtPX96: bigint, liquidity: bigint, amountIn: bigint, zeroForOne: boolean): bigint;
5
- static getNextSqrtPriceFromOutput(sqrtPX96: bigint, liquidity: bigint, amountOut: bigint, zeroForOne: boolean): bigint;
6
- static getAmount0Delta(sqrtPriceAX96: bigint, sqrtPriceBX96: bigint, liquidity: bigint, roundUp: boolean): bigint;
7
- static absDiff(a: bigint, b: bigint): bigint;
8
- static getAmount1Delta(sqrtPriceAX96: bigint, sqrtPriceBX96: bigint, liquidity: bigint, roundUp: boolean): bigint;
9
- static getAmount0DeltaSigned(sqrtPriceAX96: bigint, sqrtPriceBX96: bigint, liquidity: bigint): bigint;
10
- static getAmount1DeltaSigned(sqrtPriceAX96: bigint, sqrtPriceBX96: bigint, liquidity: bigint): bigint;
11
- }