@paraswap/dex-lib 3.11.8-stader.4 → 3.11.8

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 (252) 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/balancer-v3/batch-router.json +989 -0
  5. package/build/abi/balancer-v3/router.json +1792 -0
  6. package/build/abi/balancer-v3/vault-extension.json +2834 -0
  7. package/build/abi/{cables/CablesMainnetRFQ.json → inception/inception-ineth-pool.json} +489 -510
  8. package/build/abi/inception/inception-ratio-feed.json +329 -0
  9. package/build/abi/inception/inception-vault.json +991 -0
  10. package/build/abi/permit2.json +581 -0
  11. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +52 -0
  12. package/build/abi/usual-m-smart-m/usualM.abi.json +483 -0
  13. package/build/abi/usual-m-usd0/usualCollateralDao.abi.json +681 -0
  14. package/build/abi/{integral/relayer.json → wombat/pool.json} +474 -721
  15. package/build/dex/aave-v1/aave-v1.d.ts +2 -1
  16. package/build/dex/aave-v1/aave-v1.js +23 -0
  17. package/build/dex/aave-v1/aave-v1.js.map +1 -1
  18. package/build/dex/aave-v2/tokens-avalanche.json +44 -0
  19. package/build/dex/aave-v2/tokens-mainnet.json +188 -0
  20. package/build/dex/aave-v2/tokens-polygon.json +44 -0
  21. package/build/dex/balancer-v3/abi/balancerBatchRouter.d.ts +729 -0
  22. package/build/dex/balancer-v3/abi/balancerBatchRouter.js +732 -0
  23. package/build/dex/balancer-v3/abi/balancerBatchRouter.js.map +1 -0
  24. package/build/dex/balancer-v3/abi/balancerRouter.d.ts +1406 -0
  25. package/build/dex/balancer-v3/abi/balancerRouter.js +1175 -0
  26. package/build/dex/balancer-v3/abi/balancerRouter.js.map +1 -0
  27. package/build/dex/balancer-v3/abi/vaultExtension.V3.d.ts +2081 -0
  28. package/build/dex/balancer-v3/abi/vaultExtension.V3.js +1851 -0
  29. package/build/dex/balancer-v3/abi/vaultExtension.V3.js.map +1 -0
  30. package/build/dex/balancer-v3/balancer-v3-pool.d.ts +80 -0
  31. package/build/dex/balancer-v3/balancer-v3-pool.js +461 -0
  32. package/build/dex/balancer-v3/balancer-v3-pool.js.map +1 -0
  33. package/build/dex/balancer-v3/balancer-v3-sepolia-pools.d.ts +34 -0
  34. package/build/dex/balancer-v3/balancer-v3-sepolia-pools.js +406 -0
  35. package/build/dex/balancer-v3/balancer-v3-sepolia-pools.js.map +1 -0
  36. package/build/dex/balancer-v3/balancer-v3.d.ts +57 -0
  37. package/build/dex/balancer-v3/balancer-v3.js +383 -0
  38. package/build/dex/balancer-v3/balancer-v3.js.map +1 -0
  39. package/build/dex/balancer-v3/config.d.ts +8 -0
  40. package/build/dex/balancer-v3/config.js +24 -0
  41. package/build/dex/balancer-v3/config.js.map +1 -0
  42. package/build/dex/balancer-v3/getGasCost.d.ts +2 -0
  43. package/build/dex/balancer-v3/getGasCost.js +41 -0
  44. package/build/dex/balancer-v3/getGasCost.js.map +1 -0
  45. package/build/dex/balancer-v3/getOnChainState.d.ts +10 -0
  46. package/build/dex/balancer-v3/getOnChainState.js +164 -0
  47. package/build/dex/balancer-v3/getOnChainState.js.map +1 -0
  48. package/build/dex/balancer-v3/getPoolsApi.d.ts +2 -0
  49. package/build/dex/balancer-v3/getPoolsApi.js +81 -0
  50. package/build/dex/balancer-v3/getPoolsApi.js.map +1 -0
  51. package/build/dex/balancer-v3/getTopPoolsApi.d.ts +13 -0
  52. package/build/dex/balancer-v3/getTopPoolsApi.js +62 -0
  53. package/build/dex/balancer-v3/getTopPoolsApi.js.map +1 -0
  54. package/build/dex/balancer-v3/optimizer.d.ts +2 -0
  55. package/build/dex/{trader-joe-v2.1 → balancer-v3}/optimizer.js +17 -16
  56. package/build/dex/balancer-v3/optimizer.js.map +1 -0
  57. package/build/dex/balancer-v3/stablePool.d.ts +7 -0
  58. package/build/dex/balancer-v3/stablePool.js +73 -0
  59. package/build/dex/balancer-v3/stablePool.js.map +1 -0
  60. package/build/dex/balancer-v3/types.d.ts +62 -0
  61. package/build/dex/balancer-v3/types.js +3 -0
  62. package/build/dex/balancer-v3/types.js.map +1 -0
  63. package/build/dex/balancer-v3/weightedPool.d.ts +1 -0
  64. package/build/dex/balancer-v3/weightedPool.js +6 -0
  65. package/build/dex/balancer-v3/weightedPool.js.map +1 -0
  66. package/build/dex/inception/config.d.ts +4 -0
  67. package/build/dex/inception/config.js +109 -0
  68. package/build/dex/inception/config.js.map +1 -0
  69. package/build/dex/inception/inception-event-pool.d.ts +16 -0
  70. package/build/dex/inception/inception-event-pool.js +49 -0
  71. package/build/dex/inception/inception-event-pool.js.map +1 -0
  72. package/build/dex/inception/inception.d.ts +43 -0
  73. package/build/dex/inception/inception.js +180 -0
  74. package/build/dex/inception/inception.js.map +1 -0
  75. package/build/dex/inception/tokens.d.ts +9 -0
  76. package/build/dex/inception/tokens.js +28 -0
  77. package/build/dex/inception/tokens.js.map +1 -0
  78. package/build/dex/inception/types.d.ts +22 -0
  79. package/build/dex/inception/types.js +3 -0
  80. package/build/dex/inception/types.js.map +1 -0
  81. package/build/dex/inception/utils.d.ts +7 -0
  82. package/build/dex/inception/utils.js +58 -0
  83. package/build/dex/inception/utils.js.map +1 -0
  84. package/build/dex/index.js +0 -2
  85. package/build/dex/index.js.map +1 -1
  86. package/build/dex/jarvis.d.ts +2 -1
  87. package/build/dex/jarvis.js +58 -0
  88. package/build/dex/jarvis.js.map +1 -1
  89. package/build/dex/maker-psm/scripts/gem.abi.json +136 -0
  90. package/build/dex/maker-psm/scripts/validate-state.d.ts +0 -0
  91. package/build/dex/maker-psm/scripts/validate-state.js +185 -0
  92. package/build/dex/maker-psm/scripts/validate-state.js.map +1 -0
  93. package/build/dex/maker-psm/scripts/vat.abi.json +243 -0
  94. package/build/dex/platypus/platypus.d.ts +2 -1
  95. package/build/dex/platypus/platypus.js +45 -0
  96. package/build/dex/platypus/platypus.js.map +1 -1
  97. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +1 -0
  98. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +53 -0
  99. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +1 -0
  100. package/build/dex/stable-pool.js +1 -8
  101. package/build/dex/stable-pool.js.map +1 -1
  102. package/build/dex/swaap-v1/swaap-v1.d.ts +2 -1
  103. package/build/dex/swaap-v1/swaap-v1.js +14 -0
  104. package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
  105. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +17 -0
  106. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +64 -0
  107. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +1 -0
  108. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +17 -0
  109. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +79 -0
  110. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +1 -0
  111. package/build/dex/uniswap-v3/uniswap-v3-pricing.d.ts +4 -0
  112. package/build/dex/uniswap-v3/uniswap-v3-pricing.js +43 -0
  113. package/build/dex/uniswap-v3/uniswap-v3-pricing.js.map +1 -0
  114. package/build/dex/uniswap-v3/uniswap-v3-worker.d.ts +1 -0
  115. package/build/dex/uniswap-v3/uniswap-v3-worker.js +10 -0
  116. package/build/dex/uniswap-v3/uniswap-v3-worker.js.map +1 -0
  117. package/build/dex/usual/types.d.ts +13 -0
  118. package/build/dex/usual/types.js +3 -0
  119. package/build/dex/usual/types.js.map +1 -0
  120. package/build/dex/usual/usual-bond.d.ts +18 -0
  121. package/build/dex/usual/usual-bond.js +52 -0
  122. package/build/dex/usual/usual-bond.js.map +1 -0
  123. package/build/dex/usual/usual-m-smart-m.d.ts +17 -0
  124. package/build/dex/usual/usual-m-smart-m.js +50 -0
  125. package/build/dex/usual/usual-m-smart-m.js.map +1 -0
  126. package/build/dex/usual/usual-m-usd0.d.ts +17 -0
  127. package/build/dex/usual/usual-m-usd0.js +51 -0
  128. package/build/dex/usual/usual-m-usd0.js.map +1 -0
  129. package/build/dex/usual/usual.d.ts +27 -0
  130. package/build/dex/usual/usual.js +125 -0
  131. package/build/dex/usual/usual.js.map +1 -0
  132. package/build/dex/usual-m-smart-m/config.d.ts +3 -0
  133. package/build/dex/usual-m-smart-m/config.js +13 -0
  134. package/build/dex/usual-m-smart-m/config.js.map +1 -0
  135. package/build/dex/usual-m-smart-m/types.d.ts +7 -0
  136. package/build/dex/usual-m-smart-m/types.js +3 -0
  137. package/build/dex/usual-m-smart-m/types.js.map +1 -0
  138. package/build/dex/usual-m-smart-m/usual-m-smart-m.d.ts +35 -0
  139. package/build/dex/usual-m-smart-m/usual-m-smart-m.js +161 -0
  140. package/build/dex/usual-m-smart-m/usual-m-smart-m.js.map +1 -0
  141. package/build/dex/{stader → usual-m-usd0}/config.d.ts +1 -1
  142. package/build/dex/usual-m-usd0/config.js +14 -0
  143. package/build/dex/usual-m-usd0/config.js.map +1 -0
  144. package/build/dex/usual-m-usd0/types.d.ts +8 -0
  145. package/build/dex/usual-m-usd0/types.js +3 -0
  146. package/build/dex/usual-m-usd0/types.js.map +1 -0
  147. package/build/dex/usual-m-usd0/usual-m-usd0.d.ts +35 -0
  148. package/build/dex/usual-m-usd0/usual-m-usd0.js +159 -0
  149. package/build/dex/usual-m-usd0/usual-m-usd0.js.map +1 -0
  150. package/build/dex/zerox/index.d.ts +4 -26
  151. package/build/dex/zerox/index.js +50 -42
  152. package/build/dex/zerox/index.js.map +1 -1
  153. package/build/dex/zerox/types.d.ts +29 -0
  154. package/build/dex/zerox/types.js +8 -1
  155. package/build/dex/zerox/types.js.map +1 -1
  156. package/package.json +1 -1
  157. package/src/dex/balancer-v3/balancer-v3-sepolia-pools.ts +404 -0
  158. package/src/dex/index.ts +0 -2
  159. package/tests/constants-e2e.ts +0 -5
  160. package/.idea/aws.xml +0 -17
  161. package/.idea/codeStyles/Project.xml +0 -19
  162. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  163. package/.idea/misc.xml +0 -6
  164. package/.idea/modules.xml +0 -8
  165. package/.idea/paraswap-dex-lib.iml +0 -9
  166. package/.idea/prettier.xml +0 -7
  167. package/.idea/vcs.xml +0 -6
  168. package/build/abi/SSPM.json +0 -829
  169. package/build/abi/StaderOracle.json +0 -2170
  170. package/build/abi/integral/factory.json +0 -333
  171. package/build/abi/integral/oracle.json +0 -501
  172. package/build/abi/integral/pool.json +0 -1041
  173. package/build/dex/cables/cables.d.ts +0 -59
  174. package/build/dex/cables/cables.js +0 -614
  175. package/build/dex/cables/cables.js.map +0 -1
  176. package/build/dex/cables/config.d.ts +0 -4
  177. package/build/dex/cables/config.js +0 -15
  178. package/build/dex/cables/config.js.map +0 -1
  179. package/build/dex/cables/constants.d.ts +0 -20
  180. package/build/dex/cables/constants.js +0 -24
  181. package/build/dex/cables/constants.js.map +0 -1
  182. package/build/dex/cables/rate-fetcher.d.ts +0 -34
  183. package/build/dex/cables/rate-fetcher.js +0 -106
  184. package/build/dex/cables/rate-fetcher.js.map +0 -1
  185. package/build/dex/cables/types.d.ts +0 -113
  186. package/build/dex/cables/types.js +0 -19
  187. package/build/dex/cables/types.js.map +0 -1
  188. package/build/dex/cables/validators.d.ts +0 -5
  189. package/build/dex/cables/validators.js +0 -49
  190. package/build/dex/cables/validators.js.map +0 -1
  191. package/build/dex/fluid-dex/fluid-dex-generate-pool.d.ts +0 -49
  192. package/build/dex/fluid-dex/fluid-dex-generate-pool.js +0 -104
  193. package/build/dex/fluid-dex/fluid-dex-generate-pool.js.map +0 -1
  194. package/build/dex/integral/config.d.ts +0 -4
  195. package/build/dex/integral/config.js +0 -20
  196. package/build/dex/integral/config.js.map +0 -1
  197. package/build/dex/integral/context.d.ts +0 -40
  198. package/build/dex/integral/context.js +0 -158
  199. package/build/dex/integral/context.js.map +0 -1
  200. package/build/dex/integral/integral-factory.d.ts +0 -24
  201. package/build/dex/integral/integral-factory.js +0 -95
  202. package/build/dex/integral/integral-factory.js.map +0 -1
  203. package/build/dex/integral/integral-pool.d.ts +0 -50
  204. package/build/dex/integral/integral-pool.js +0 -149
  205. package/build/dex/integral/integral-pool.js.map +0 -1
  206. package/build/dex/integral/integral-pricing.d.ts +0 -18
  207. package/build/dex/integral/integral-pricing.js +0 -114
  208. package/build/dex/integral/integral-pricing.js.map +0 -1
  209. package/build/dex/integral/integral-relayer.d.ts +0 -42
  210. package/build/dex/integral/integral-relayer.js +0 -192
  211. package/build/dex/integral/integral-relayer.js.map +0 -1
  212. package/build/dex/integral/integral-token.d.ts +0 -27
  213. package/build/dex/integral/integral-token.js +0 -59
  214. package/build/dex/integral/integral-token.js.map +0 -1
  215. package/build/dex/integral/integral.d.ts +0 -41
  216. package/build/dex/integral/integral.js +0 -376
  217. package/build/dex/integral/integral.js.map +0 -1
  218. package/build/dex/integral/types.d.ts +0 -85
  219. package/build/dex/integral/types.js +0 -9
  220. package/build/dex/integral/types.js.map +0 -1
  221. package/build/dex/integral/utils-e2e.d.ts +0 -9
  222. package/build/dex/integral/utils-e2e.js +0 -131
  223. package/build/dex/integral/utils-e2e.js.map +0 -1
  224. package/build/dex/integral/utils.d.ts +0 -17
  225. package/build/dex/integral/utils.js +0 -94
  226. package/build/dex/integral/utils.js.map +0 -1
  227. package/build/dex/stader/config.js +0 -14
  228. package/build/dex/stader/config.js.map +0 -1
  229. package/build/dex/stader/stader-pool.d.ts +0 -18
  230. package/build/dex/stader/stader-pool.js +0 -47
  231. package/build/dex/stader/stader-pool.js.map +0 -1
  232. package/build/dex/stader/stader.d.ts +0 -42
  233. package/build/dex/stader/stader.js +0 -141
  234. package/build/dex/stader/stader.js.map +0 -1
  235. package/build/dex/stader/types.d.ts +0 -13
  236. package/build/dex/stader/types.js +0 -8
  237. package/build/dex/stader/types.js.map +0 -1
  238. package/build/dex/stader/utils.d.ts +0 -4
  239. package/build/dex/stader/utils.js +0 -24
  240. package/build/dex/stader/utils.js.map +0 -1
  241. package/build/dex/trader-joe-v2.1/optimizer.d.ts +0 -2
  242. package/build/dex/trader-joe-v2.1/optimizer.js.map +0 -1
  243. package/src/abi/SSPM.json +0 -829
  244. package/src/abi/StaderOracle.json +0 -2170
  245. package/src/dex/stader/config.ts +0 -13
  246. package/src/dex/stader/stader-e2e.test.ts +0 -74
  247. package/src/dex/stader/stader-events.test.ts +0 -64
  248. package/src/dex/stader/stader-integration.test.ts +0 -210
  249. package/src/dex/stader/stader-pool.ts +0 -68
  250. package/src/dex/stader/stader.ts +0 -208
  251. package/src/dex/stader/types.ts +0 -16
  252. package/src/dex/stader/utils.ts +0 -34
@@ -1,94 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPoolBackReferencedFrom = exports.getPoolIdentifier = exports.isInverted = exports.getTickCumulatives = exports.getAveragePrice = exports.getSpotPrice = exports.getPrice = exports.getDecimalsConverter = exports.sortTokens = exports.uint32ToNumber = exports.ceil_div = void 0;
4
- const decoders_1 = require("../../lib/decoders");
5
- const utils_1 = require("../../utils");
6
- const FullMath_1 = require("../uniswap-v3/contract-math/FullMath");
7
- const Oracle_1 = require("../uniswap-v3/contract-math/Oracle");
8
- const TickMath_1 = require("../uniswap-v3/contract-math/TickMath");
9
- function ceil_div(a, b) {
10
- const c = a / b;
11
- if (a != b * c) {
12
- return c + 1n;
13
- }
14
- else {
15
- return c;
16
- }
17
- }
18
- exports.ceil_div = ceil_div;
19
- const uint32ToNumber = (result) => {
20
- return (0, decoders_1.generalDecoder)(result, ['uint32'], 0, value => parseInt(value[0].toString(), 10));
21
- };
22
- exports.uint32ToNumber = uint32ToNumber;
23
- function sortTokens(srcAddress, destAddress) {
24
- return [srcAddress, destAddress].sort((a, b) => (a < b ? -1 : 1));
25
- }
26
- exports.sortTokens = sortTokens;
27
- function getDecimalsConverter(decimals0, decimals1, inverted) {
28
- return (10n **
29
- (18n + BigInt(inverted ? decimals1 - decimals0 : decimals0 - decimals1)));
30
- }
31
- exports.getDecimalsConverter = getDecimalsConverter;
32
- function getPrice(states, inverted) {
33
- const { base, pricing, relayer } = states;
34
- const decimalsConverter = getDecimalsConverter(base.decimals0, base.decimals1, false);
35
- const spotPrice = getSpotPrice(pricing, decimalsConverter);
36
- const averagePrice = getAveragePrice(relayer, pricing, decimalsConverter);
37
- if (inverted) {
38
- return 10n ** 36n / (spotPrice > averagePrice ? spotPrice : averagePrice);
39
- }
40
- else {
41
- return spotPrice < averagePrice ? spotPrice : averagePrice;
42
- }
43
- }
44
- exports.getPrice = getPrice;
45
- function getSpotPrice(pricing, decimalsConverter) {
46
- const sqrtPriceX96 = pricing.slot0.sqrtPriceX96;
47
- const priceX128 = FullMath_1.FullMath.mulDiv(sqrtPriceX96, sqrtPriceX96, 2n ** 64n);
48
- return FullMath_1.FullMath.mulDiv(priceX128, decimalsConverter, 2n ** 128n);
49
- }
50
- exports.getSpotPrice = getSpotPrice;
51
- function getAveragePrice(relayer, pricing, decimalsConverter) {
52
- (0, utils_1._require)(relayer.twapInterval > 0, 'Twap Interval not set');
53
- const secondsAgo = BigInt(relayer.twapInterval);
54
- const secondsAgos = [secondsAgo, 0n];
55
- const tickCumulatives = getTickCumulatives(pricing, secondsAgos);
56
- const delta = tickCumulatives[1] - tickCumulatives[0];
57
- let arithmeticMeanTick = delta / secondsAgo;
58
- if (delta < 0 && delta % secondsAgo != 0n) {
59
- --arithmeticMeanTick;
60
- }
61
- const sqrtRatioX96 = TickMath_1.TickMath.getSqrtRatioAtTick(arithmeticMeanTick);
62
- const ratioX128 = FullMath_1.FullMath.mulDiv(sqrtRatioX96, sqrtRatioX96, 2n ** 64n);
63
- return FullMath_1.FullMath.mulDiv(ratioX128, decimalsConverter, 2n ** 128n);
64
- }
65
- exports.getAveragePrice = getAveragePrice;
66
- function getTickCumulatives(poolState, secondsAgos) {
67
- const { tickCumulatives } = secondsAgos.reduce((memo, secondsAgo, i) => {
68
- [memo.tickCumulatives[i], memo.secondsPerLiquidityCumulativeX128s[i]] =
69
- Oracle_1.Oracle.observeSingle(poolState, BigInt.asUintN(32, poolState.blockTimestamp), secondsAgo, poolState.slot0.tick, poolState.slot0.observationIndex, poolState.liquidity, poolState.slot0.observationCardinality);
70
- return memo;
71
- }, {
72
- tickCumulatives: Array(secondsAgos.length),
73
- secondsPerLiquidityCumulativeX128s: Array(secondsAgos.length),
74
- });
75
- return tickCumulatives;
76
- }
77
- exports.getTickCumulatives = getTickCumulatives;
78
- function isInverted(tokenIn, tokenOut) {
79
- const [, token1] = tokenIn.toLowerCase() < tokenOut.toLowerCase()
80
- ? [tokenIn, tokenOut]
81
- : [tokenOut, tokenIn];
82
- return tokenIn === token1;
83
- }
84
- exports.isInverted = isInverted;
85
- function getPoolIdentifier(dexKey, srcAddress, destAddress) {
86
- const tokenAddresses = sortTokens(srcAddress.toLowerCase(), destAddress.toLowerCase()).join('_');
87
- return `${dexKey}_${tokenAddresses}`;
88
- }
89
- exports.getPoolIdentifier = getPoolIdentifier;
90
- function getPoolBackReferencedFrom(context, poolAddress) {
91
- return Object.entries(context.pools).find(([, pool]) => pool.base?.poolAddress === poolAddress);
92
- }
93
- exports.getPoolBackReferencedFrom = getPoolBackReferencedFrom;
94
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/dex/integral/utils.ts"],"names":[],"mappings":";;;AAEA,iDAAoD;AAGpD,uCAAuC;AACvC,mEAAgE;AAChE,+DAA4D;AAC5D,mEAAgE;AAKhE,SAAgB,QAAQ,CAAC,CAAS,EAAE,CAAS;IAC3C,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAChB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACd,OAAO,CAAC,GAAG,EAAE,CAAC;KACf;SAAM;QACL,OAAO,CAAC,CAAC;KACV;AACH,CAAC;AAPD,4BAOC;AAEM,MAAM,cAAc,GAAG,CAC5B,MAA0C,EAClC,EAAE;IACV,OAAO,IAAA,yBAAc,EAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,CACnD,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC,CAClC,CAAC;AACJ,CAAC,CAAC;AANW,QAAA,cAAc,kBAMzB;AAEF,SAAgB,UAAU,CAAC,UAAmB,EAAE,WAAoB;IAClE,OAAO,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAFD,gCAEC;AAED,SAAgB,oBAAoB,CAClC,SAAiB,EACjB,SAAiB,EACjB,QAAiB;IAEjB,OAAO,CACL,GAAG;QACH,CAAC,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC,CACzE,CAAC;AACJ,CAAC;AATD,oDASC;AAED,SAAgB,QAAQ,CAAC,MAAkB,EAAE,QAAiB;IAC5D,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAC1C,MAAM,iBAAiB,GAAG,oBAAoB,CAC5C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,KAAK,CACN,CAAC;IACF,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC;IAC1E,IAAI,QAAQ,EAAE;QACZ,OAAO,GAAG,IAAI,GAAG,GAAG,CAAC,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;KAC3E;SAAM;QACL,OAAO,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC;KAC5D;AACH,CAAC;AAdD,4BAcC;AAED,SAAgB,YAAY,CAC1B,OAAyB,EACzB,iBAAyB;IAEzB,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;IAChD,MAAM,SAAS,GAAG,mBAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC;IACzE,OAAO,mBAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;AACnE,CAAC;AAPD,oCAOC;AAED,SAAgB,eAAe,CAC7B,OAAyB,EACzB,OAAyB,EACzB,iBAAyB;IAEzB,IAAA,gBAAQ,EAAC,OAAO,CAAC,YAAY,GAAG,CAAC,EAAE,uBAAuB,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACrC,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IAEjE,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IACtD,IAAI,kBAAkB,GAAG,KAAK,GAAG,UAAU,CAAC;IAC5C,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,UAAU,IAAI,EAAE,EAAE;QACzC,EAAE,kBAAkB,CAAC;KACtB;IAED,MAAM,YAAY,GAAG,mBAAQ,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,mBAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,EAAE,IAAI,GAAG,CAAC,CAAC;IACzE,OAAO,mBAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,iBAAiB,EAAE,EAAE,IAAI,IAAI,CAAC,CAAC;AACnE,CAAC;AAnBD,0CAmBC;AAED,SAAgB,kBAAkB,CAChC,SAA2B,EAC3B,WAAqB;IAErB,MAAM,EAAE,eAAe,EAAE,GAAG,WAAW,CAAC,MAAM,CAC5C,CAAC,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,EAAE;QACtB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC;YACnE,eAAM,CAAC,aAAa,CAClB,SAAS,EACT,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,CAAC,cAAc,CAAC,EAC5C,UAAU,EACV,SAAS,CAAC,KAAK,CAAC,IAAI,EACpB,SAAS,CAAC,KAAK,CAAC,gBAAgB,EAChC,SAAS,CAAC,SAAS,EACnB,SAAS,CAAC,KAAK,CAAC,sBAAsB,CACvC,CAAC;QACJ,OAAO,IAAI,CAAC;IACd,CAAC,EACD;QACE,eAAe,EAAE,KAAK,CAAS,WAAW,CAAC,MAAM,CAAC;QAClD,kCAAkC,EAAE,KAAK,CAAS,WAAW,CAAC,MAAM,CAAC;KACtE,CACF,CAAC;IAEF,OAAO,eAAe,CAAC;AACzB,CAAC;AAzBD,gDAyBC;AAED,SAAgB,UAAU,CAAC,OAAgB,EAAE,QAAiB;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC,GACd,OAAO,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,WAAW,EAAE;QAC5C,CAAC,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC;QACrB,CAAC,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC1B,OAAO,OAAO,KAAK,MAAM,CAAC;AAC5B,CAAC;AAND,gCAMC;AAED,SAAgB,iBAAiB,CAC/B,MAAc,EACd,UAAmB,EACnB,WAAoB;IAEpB,MAAM,cAAc,GAAG,UAAU,CAC/B,UAAU,CAAC,WAAW,EAAE,EACxB,WAAW,CAAC,WAAW,EAAE,CAC1B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,OAAO,GAAG,MAAM,IAAI,cAAc,EAAE,CAAC;AACvC,CAAC;AAVD,8CAUC;AAED,SAAgB,yBAAyB,CACvC,OAAwB,EACxB,WAAoB;IAEpB,OAAO,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CACvC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,KAAK,WAAW,CACrD,CAAC;AACJ,CAAC;AAPD,8DAOC"}
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StaderConfig = void 0;
4
- const constants_1 = require("../../constants");
5
- exports.StaderConfig = {
6
- Stader: {
7
- [constants_1.Network.MAINNET]: {
8
- ETHx: '0xA35b1B31Ce002FBF2058D22F30f95D405200A15b',
9
- SSPM: '0xcf5EA1b38380f6aF39068375516Daf40Ed70D299',
10
- StaderOracle: '0xF64bAe65f6f2a5277571143A24FaaFDFC0C2a737',
11
- },
12
- },
13
- };
14
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/stader/config.ts"],"names":[],"mappings":";;;AAEA,+CAAoD;AAEvC,QAAA,YAAY,GAA4B;IACnD,MAAM,EAAE;QACN,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,IAAI,EAAE,4CAA4C;YAClD,IAAI,EAAE,4CAA4C;YAClD,YAAY,EAAE,4CAA4C;SAC3D;KACF;CACF,CAAC"}
@@ -1,18 +0,0 @@
1
- import { Interface } from '@ethersproject/abi';
2
- import { IDexHelper } from '../../dex-helper/idex-helper';
3
- import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
4
- import { Address, Log, Logger } from '../../types';
5
- import { DeepReadonly } from 'ts-essentials';
6
- import { ETHxPoolState } from './types';
7
- export declare class ETHxEventPool extends StatefulEventSubscriber<ETHxPoolState> {
8
- protected dexHelper: IDexHelper;
9
- private poolAddress;
10
- private poolInterface;
11
- decoder: (log: Log) => import("@ethersproject/abi").LogDescription;
12
- DECIMALS: bigint;
13
- addressesSubscribed: string[];
14
- constructor(parentName: string, dexHelper: IDexHelper, poolAddress: Address, poolInterface: Interface, logger: Logger);
15
- protected processLog(state: DeepReadonly<ETHxPoolState>, log: Readonly<Log>): DeepReadonly<ETHxPoolState> | null;
16
- generateState(blockNumber: number): Promise<DeepReadonly<ETHxPoolState>>;
17
- getPrice(blockNumber: number, ethAmount: bigint): bigint;
18
- }
@@ -1,47 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ETHxEventPool = void 0;
4
- const stateful_event_subscriber_1 = require("../../stateful-event-subscriber");
5
- const utils_1 = require("../../utils");
6
- const utils_2 = require("./utils");
7
- class ETHxEventPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
8
- constructor(parentName, dexHelper, poolAddress, poolInterface, logger) {
9
- super(parentName, 'ETHx', dexHelper, logger);
10
- this.dexHelper = dexHelper;
11
- this.poolAddress = poolAddress;
12
- this.poolInterface = poolInterface;
13
- this.decoder = (log) => this.poolInterface.parseLog(log);
14
- this.DECIMALS = 1000000000000000000n;
15
- this.addressesSubscribed = [poolAddress];
16
- }
17
- processLog(state, log) {
18
- try {
19
- const event = this.decoder(log);
20
- if (event.name === 'ExchangeRateUpdated') {
21
- const totalEth = BigInt(event.args.totalEth);
22
- const ethxSupply = BigInt(event.args.ethxSupply);
23
- return {
24
- totalETHBalance: totalEth,
25
- totalETHXSupply: ethxSupply,
26
- };
27
- }
28
- }
29
- catch (e) {
30
- (0, utils_1.catchParseLogError)(e, this.logger);
31
- }
32
- return null;
33
- }
34
- async generateState(blockNumber) {
35
- const state = await (0, utils_2.getOnChainStateETHx)(this.dexHelper.multiContract, this.poolAddress, this.poolInterface, blockNumber);
36
- return state;
37
- }
38
- getPrice(blockNumber, ethAmount) {
39
- const state = this.getState(blockNumber);
40
- if (!state)
41
- throw new Error('Cannot compute price');
42
- const { totalETHBalance, totalETHXSupply } = state;
43
- return (ethAmount * totalETHXSupply) / totalETHBalance;
44
- }
45
- }
46
- exports.ETHxEventPool = ETHxEventPool;
47
- //# sourceMappingURL=stader-pool.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stader-pool.js","sourceRoot":"","sources":["../../../src/dex/stader/stader-pool.ts"],"names":[],"mappings":";;;AAEA,+EAA0E;AAG1E,uCAAiD;AAEjD,mCAA8C;AAG9C,MAAa,aAAc,SAAQ,mDAAsC;IAKvE,YACE,UAAkB,EACR,SAAqB,EACvB,WAAoB,EACpB,aAAwB,EAChC,MAAc;QAEd,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QALnC,cAAS,GAAT,SAAS,CAAY;QACvB,gBAAW,GAAX,WAAW,CAAS;QACpB,kBAAa,GAAb,aAAa,CAAW;QARlC,YAAO,GAAG,CAAC,GAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QACzD,aAAQ,GAAG,oBAAoB,CAAC;QAW9B,IAAI,CAAC,mBAAmB,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAES,UAAU,CAClB,KAAkC,EAClC,GAAkB;QAElB,IAAI;YACF,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,KAAK,CAAC,IAAI,KAAK,qBAAqB,EAAE;gBACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACjD,OAAO;oBACL,eAAe,EAAE,QAAQ;oBACzB,eAAe,EAAE,UAAU;iBAC5B,CAAC;aACH;SACF;QAAC,OAAO,CAAC,EAAE;YACV,IAAA,0BAAkB,EAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;SACpC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,WAAmB;QAEnB,MAAM,KAAK,GAAG,MAAM,IAAA,2BAAmB,EACrC,IAAI,CAAC,SAAS,CAAC,aAAa,EAC5B,IAAI,CAAC,WAAW,EAChB,IAAI,CAAC,aAAa,EAClB,WAAW,CACZ,CAAC;QAEF,OAAO,KAAK,CAAC;IACf,CAAC;IAED,QAAQ,CAAC,WAAmB,EAAE,SAAiB;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;QACpD,MAAM,EAAE,eAAe,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;QAEnD,OAAO,CAAC,SAAS,GAAG,eAAe,CAAC,GAAG,eAAe,CAAC;IACzD,CAAC;CACF;AAzDD,sCAyDC"}
@@ -1,42 +0,0 @@
1
- import { Interface } from '@ethersproject/abi';
2
- import { NumberAsString, SwapSide } from '@paraswap/core';
3
- import { AdapterExchangeParam, Address, DexExchangeParam, ExchangePrices, Logger, PoolLiquidity, PoolPrices, Token, TransferFeeParams } from '../../types';
4
- import { IDexTxBuilder } from '../idex';
5
- import { Network } from '../../constants';
6
- import { IDexHelper } from '../../dex-helper';
7
- import { SimpleExchange } from '../simple-exchange';
8
- import { AsyncOrSync } from 'ts-essentials';
9
- import { ETHxEventPool } from './stader-pool';
10
- import { StaderData } from './types';
11
- export declare class Stader extends SimpleExchange implements IDexTxBuilder<StaderData, any> {
12
- protected network: Network;
13
- protected config: import("./types").DexParams;
14
- static dexKeys: string[];
15
- ETHxAddress: string;
16
- SSPM_Address: string;
17
- SSPMInterface: Interface;
18
- StaderOracleAddress: string;
19
- StaderOracleInterface: Interface;
20
- erc20Interface: Interface;
21
- needWrapNative: boolean;
22
- ethxPool: ETHxEventPool;
23
- logger: Logger;
24
- hasConstantPriceLargeAmounts: boolean;
25
- static dexKeysWithNetwork: {
26
- key: string;
27
- networks: Network[];
28
- }[];
29
- constructor(network: Network, dexKey: string, dexHelper: IDexHelper, config?: import("./types").DexParams);
30
- getAdapterParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, data: StaderData, side: SwapSide): AdapterExchangeParam;
31
- initializePricing(blockNumber: number): Promise<void>;
32
- getPricesVolume(srcToken: Token, destToken: Token, amountsIn: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[] | undefined, transferFees?: TransferFeeParams | undefined, isFirstSwap?: boolean | undefined): Promise<ExchangePrices<StaderData> | null>;
33
- isEligibleSwap(srcToken: Token | string, destToken: Token | string): boolean;
34
- getDexParam(srcToken: Address, _destToken: Address, srcAmount: NumberAsString, _destAmount: NumberAsString, _recipient: Address, _data: StaderData, _side: SwapSide): DexExchangeParam;
35
- getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
36
- getCalldataGasCost(poolPrices: PoolPrices<StaderData>): number | number[];
37
- getAdapters(side: SwapSide): {
38
- name: string;
39
- index: number;
40
- }[] | null;
41
- getTopPoolsForToken(tokenAddress: string, limit: number): AsyncOrSync<PoolLiquidity[]>;
42
- }
@@ -1,141 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.Stader = void 0;
30
- const abi_1 = require("@ethersproject/abi");
31
- const core_1 = require("@paraswap/core");
32
- const SSPM_json_1 = __importDefault(require("../../abi/SSPM.json"));
33
- const StaderOracle_json_1 = __importDefault(require("../../abi/StaderOracle.json"));
34
- const constants_1 = require("../../constants");
35
- const simple_exchange_1 = require("../simple-exchange");
36
- const bigint_constants_1 = require("../../bigint-constants");
37
- const stader_pool_1 = require("./stader-pool");
38
- const types_1 = require("./types");
39
- const config_1 = require("./config");
40
- const types_2 = require("../weth/types");
41
- const erc20_json_1 = __importDefault(require("../../abi/erc20.json"));
42
- const CALLDATA_GAS_COST = __importStar(require("../../calldata-gas-cost"));
43
- const lodash_1 = __importDefault(require("lodash"));
44
- const utils_1 = require("../../executor/utils");
45
- const utils_2 = require("../../utils");
46
- class Stader extends simple_exchange_1.SimpleExchange {
47
- constructor(network, dexKey, dexHelper, config = config_1.StaderConfig[dexKey][network]) {
48
- super(dexHelper, 'Stader');
49
- this.network = network;
50
- this.config = config;
51
- this.needWrapNative = false;
52
- this.hasConstantPriceLargeAmounts = true;
53
- this.network = dexHelper.config.data.network;
54
- this.ETHxAddress = this.config.ETHx.toLowerCase();
55
- this.SSPM_Address = this.config.SSPM.toLowerCase();
56
- this.SSPMInterface = new abi_1.Interface(SSPM_json_1.default);
57
- this.StaderOracleAddress = this.config.StaderOracle.toLowerCase();
58
- this.StaderOracleInterface = new abi_1.Interface(StaderOracle_json_1.default);
59
- this.erc20Interface = new abi_1.Interface(erc20_json_1.default);
60
- this.logger = dexHelper.getLogger(this.dexKey);
61
- this.ethxPool = new stader_pool_1.ETHxEventPool(this.dexKey, dexHelper, this.StaderOracleAddress, this.StaderOracleInterface, this.logger);
62
- }
63
- getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
64
- return {
65
- targetExchange: constants_1.NULL_ADDRESS,
66
- payload: '0x',
67
- networkFee: '0',
68
- };
69
- }
70
- async initializePricing(blockNumber) {
71
- await this.ethxPool.initialize(blockNumber);
72
- }
73
- async getPricesVolume(srcToken, destToken, amountsIn, side, blockNumber, limitPools, transferFees, isFirstSwap) {
74
- if (side === core_1.SwapSide.BUY)
75
- return null;
76
- if (!this.isEligibleSwap(srcToken, destToken))
77
- return null;
78
- const pool = this.ethxPool;
79
- if (!pool.getState(blockNumber))
80
- return null;
81
- const unitIn = bigint_constants_1.BI_POWS[18];
82
- const unitOut = pool.getPrice(blockNumber, unitIn);
83
- const amountsOut = amountsIn.map(amountIn => pool.getPrice(blockNumber, amountIn));
84
- return [
85
- {
86
- prices: amountsOut,
87
- unit: unitOut,
88
- data: {},
89
- exchange: this.dexKey,
90
- poolIdentifier: `${constants_1.ETHER_ADDRESS}_${destToken.address}`.toLowerCase(),
91
- gasCost: 120000,
92
- poolAddresses: [destToken.address],
93
- },
94
- ];
95
- }
96
- isEligibleSwap(srcToken, destToken) {
97
- const srcTokenAddress = (typeof srcToken === 'string' ? srcToken : srcToken.address).toLowerCase();
98
- const destTokenAddress = (typeof destToken === 'string' ? destToken : destToken.address).toLowerCase();
99
- return (((0, utils_2.isETHAddress)(srcTokenAddress) || this.isWETH(srcTokenAddress)) &&
100
- destTokenAddress === this.ETHxAddress);
101
- }
102
- getDexParam(srcToken, _destToken, srcAmount, _destAmount, _recipient, _data, _side) {
103
- if (_side === core_1.SwapSide.BUY)
104
- throw new Error(`Buy not supported`);
105
- const swapData = this.SSPMInterface.encodeFunctionData(types_1.SSPMFunctions.deposit, [_recipient]);
106
- return {
107
- needWrapNative: this.needWrapNative,
108
- dexFuncHasRecipient: true,
109
- exchangeData: swapData,
110
- targetExchange: this.config.SSPM.toLowerCase(),
111
- preSwapUnwrapCalldata: this.isWETH(srcToken)
112
- ? this.erc20Interface.encodeFunctionData(types_2.WethFunctions.withdraw, [
113
- srcAmount,
114
- ])
115
- : undefined,
116
- returnAmountPos: _side === core_1.SwapSide.SELL
117
- ? (0, utils_1.extractReturnAmountPosition)(this.SSPMInterface, types_1.SSPMFunctions.deposit)
118
- : undefined,
119
- };
120
- }
121
- async getPoolIdentifiers(srcToken, destToken, side, blockNumber) {
122
- if (side === core_1.SwapSide.BUY)
123
- return [];
124
- if (!this.isEligibleSwap(srcToken, destToken))
125
- return [];
126
- return [`${constants_1.ETHER_ADDRESS}_${destToken.address}`.toLowerCase()];
127
- }
128
- getCalldataGasCost(poolPrices) {
129
- return CALLDATA_GAS_COST.DEX_OVERHEAD + CALLDATA_GAS_COST.LENGTH_SMALL;
130
- }
131
- getAdapters(side) {
132
- return null;
133
- }
134
- getTopPoolsForToken(tokenAddress, limit) {
135
- return [];
136
- }
137
- }
138
- exports.Stader = Stader;
139
- Stader.dexKeys = ['Stader'];
140
- Stader.dexKeysWithNetwork = (0, utils_2.getDexKeysWithNetwork)(lodash_1.default.pick(config_1.StaderConfig, ['Stader']));
141
- //# sourceMappingURL=stader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stader.js","sourceRoot":"","sources":["../../../src/dex/stader/stader.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- export declare type ETHxPoolState = {
2
- totalETHBalance: bigint;
3
- totalETHXSupply: bigint;
4
- };
5
- export declare type StaderData = {};
6
- export declare type DexParams = {
7
- ETHx: string;
8
- SSPM: string;
9
- StaderOracle: string;
10
- };
11
- export declare enum SSPMFunctions {
12
- deposit = "deposit"
13
- }
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SSPMFunctions = void 0;
4
- var SSPMFunctions;
5
- (function (SSPMFunctions) {
6
- SSPMFunctions["deposit"] = "deposit";
7
- })(SSPMFunctions = exports.SSPMFunctions || (exports.SSPMFunctions = {}));
8
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/stader/types.ts"],"names":[],"mappings":";;;AAaA,IAAY,aAEX;AAFD,WAAY,aAAa;IACvB,oCAAmB,CAAA;AACrB,CAAC,EAFW,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAExB"}
@@ -1,4 +0,0 @@
1
- import { Contract } from 'web3-eth-contract';
2
- import { ETHxPoolState } from './types';
3
- import { Interface } from '@ethersproject/abi';
4
- export declare function getOnChainStateETHx(multiContract: Contract, poolAddress: string, poolInterface: Interface, blockNumber: number | 'latest'): Promise<ETHxPoolState>;
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getOnChainStateETHx = void 0;
4
- const abi_1 = require("@ethersproject/abi");
5
- async function getOnChainStateETHx(multiContract, poolAddress, poolInterface, blockNumber) {
6
- const coder = new abi_1.AbiCoder();
7
- const data = await multiContract.methods
8
- .aggregate([
9
- {
10
- target: poolAddress,
11
- callData: poolInterface.encodeFunctionData('getExchangeRate', []),
12
- },
13
- ])
14
- .call({}, blockNumber);
15
- const decodedData = coder.decode(['uint256', 'uint256', 'uint256'], data.returnData[0]);
16
- const totalETHBalance = BigInt(decodedData[1].toString());
17
- const totalETHXSupply = BigInt(decodedData[2].toString());
18
- return {
19
- totalETHBalance,
20
- totalETHXSupply,
21
- };
22
- }
23
- exports.getOnChainStateETHx = getOnChainStateETHx;
24
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/dex/stader/utils.ts"],"names":[],"mappings":";;;AAEA,4CAAyD;AAGlD,KAAK,UAAU,mBAAmB,CACvC,aAAuB,EACvB,WAAmB,EACnB,aAAwB,EACxB,WAA8B;IAE9B,MAAM,KAAK,GAAG,IAAI,cAAQ,EAAE,CAAC;IAC7B,MAAM,IAAI,GAA0B,MAAM,aAAa,CAAC,OAAO;SAC5D,SAAS,CAAC;QACT;YACE,MAAM,EAAE,WAAW;YACnB,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,EAAE,CAAC;SAClE;KACF,CAAC;SACD,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;IAEzB,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAC9B,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,EACjC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CACnB,CAAC;IAEF,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC1D,MAAM,eAAe,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;IAE1D,OAAO;QACL,eAAe;QACf,eAAe;KAChB,CAAC;AACJ,CAAC;AA5BD,kDA4BC"}
@@ -1,2 +0,0 @@
1
- import { UnoptimizedRate } from '../../types';
2
- export declare function traderJoeMerge(or: UnoptimizedRate): UnoptimizedRate;
@@ -1 +0,0 @@
1
- {"version":3,"file":"optimizer.js","sourceRoot":"","sources":["../../../src/dex/trader-joe-v2.1/optimizer.ts"],"names":[],"mappings":";;;;;;AACA,oDAAuB;AAEvB,0DAA0D;AAC1D,MAAM,gBAAgB,GAAG,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CACxE,OAAO,CAAC,WAAW,EAAE,CACtB,CAAC;AAEF,SAAgB,cAAc,CAAC,EAAmB;IAChD,MAAM,QAAQ,GAAG,CAAC,OAAsB,EAAiB,EAAE;QACzD,IAAI,YAAY,GAAwB,KAAK,CAAC;QAC9C,IAAI,aAAa,GAAG,IAAI,KAAK,EAAe,CAAC;QAE7C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAc,EAAE,EAAE;YACjC,IACE,CAAC,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;gBAC5B,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,EACrE;gBACA,YAAY,GAAG,KAAK,CAAC;gBACrB,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACvB;iBAAM,IACL,YAAY;gBACZ,gBAAC,CAAC,IAAI,CACO,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CACvD,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,EACvE;gBACA,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAC/C,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CACrC,CAAC;gBACF,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC9C,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CACpC,CAAC;gBACF,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC9C,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CACpC,CAAC;gBACF,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAc,CAAC,IAAI,CAC/C,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAc,CAAC,CAAC,CAAC,CACrC,CAAC;gBACF,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAC1C,UAAU,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;oBACrD,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAC3C,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;gBAEb,YAAY,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC;gBACrC,YAAY,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC;gBAC3C,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU;oBACtC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;aACjC;iBAAM;gBACL,YAAY,GAAG,gBAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC9B,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAClC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,aAAa,CAAC;IACvB,CAAC,CAAC;IACF,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpC,GAAG,CAAC;QACJ,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC;KACzB,CAAC,CAAC,CAAC;IACJ,OAAO,EAAE,CAAC;AACZ,CAAC;AAnDD,wCAmDC"}