@paraswap/dex-lib 3.8.18 → 3.8.21-traderjoe-multihop.0

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 (211) hide show
  1. package/.idea/aws.xml +17 -0
  2. package/.idea/codeStyles/Project.xml +19 -0
  3. package/.idea/codeStyles/codeStyleConfig.xml +5 -0
  4. package/.idea/misc.xml +6 -0
  5. package/.idea/modules.xml +8 -0
  6. package/.idea/paraswap-dex-lib.iml +9 -0
  7. package/.idea/prettier.xml +7 -0
  8. package/.idea/vcs.xml +6 -0
  9. package/build/dex/index.js +2 -0
  10. package/build/dex/index.js.map +1 -1
  11. package/build/dex/trader-joe-v2.1/base.js +5 -16
  12. package/build/dex/trader-joe-v2.1/base.js.map +1 -1
  13. package/build/dex/trader-joe-v2.1/config.d.ts +3 -0
  14. package/build/dex/trader-joe-v2.1/config.js +5 -1
  15. package/build/dex/trader-joe-v2.1/config.js.map +1 -1
  16. package/build/dex/trader-joe-v2.1/optimizer.d.ts +2 -0
  17. package/build/dex/trader-joe-v2.1/optimizer.js +44 -0
  18. package/build/dex/trader-joe-v2.1/optimizer.js.map +1 -0
  19. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.d.ts +2 -14
  20. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js +3 -85
  21. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js.map +1 -1
  22. package/build/dex/trader-joe-v2.1/types.d.ts +3 -3
  23. package/package.json +1 -1
  24. package/src/dex/index.ts +2 -0
  25. package/src/dex/trader-joe-v2.1/base.ts +167 -0
  26. package/src/dex/trader-joe-v2.1/config.ts +5 -0
  27. package/src/dex/trader-joe-v2.1/optimizer.ts +52 -0
  28. package/src/dex/trader-joe-v2.1/trader-joe-v2.1.ts +8 -165
  29. package/src/dex/trader-joe-v2.1/trader-joe-v2.2.ts +23 -0
  30. package/src/dex/trader-joe-v2.1/types.ts +3 -3
  31. package/.vscode/launch.json +0 -53
  32. package/.vscode/settings.json +0 -2
  33. package/.vscode/tasks.json +0 -15
  34. package/build/abi/AaveV1_lending_pool.json +0 -27
  35. package/build/abi/platypus/asset.json +0 -490
  36. package/build/abi/platypus/avax-pool.json +0 -820
  37. package/build/abi/platypus/oracle.json +0 -119
  38. package/build/abi/platypus/pool.json +0 -677
  39. package/build/abi/smardex/all/smardex-router.json +0 -648
  40. package/build/abi/smardex/layer-1/smardex-factory.json +0 -242
  41. package/build/abi/smardex/layer-1/smardex-pool.json +0 -506
  42. package/build/abi/smardex/layer-2/smardex-factory.json +0 -185
  43. package/build/abi/smardex/layer-2/smardex-pool.json +0 -578
  44. package/build/abi/swaap-v1/pool.json +0 -1346
  45. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +0 -52
  46. package/build/abi/wombat/pool.json +0 -1289
  47. package/build/dex/aave-v1/aave-v1.d.ts +0 -34
  48. package/build/dex/aave-v1/aave-v1.js +0 -181
  49. package/build/dex/aave-v1/aave-v1.js.map +0 -1
  50. package/build/dex/aave-v1/config.d.ts +0 -11
  51. package/build/dex/aave-v1/config.js +0 -20
  52. package/build/dex/aave-v1/config.js.map +0 -1
  53. package/build/dex/aave-v1/tokens-mainnet.json +0 -134
  54. package/build/dex/aave-v1/tokens.d.ts +0 -3
  55. package/build/dex/aave-v1/tokens.js +0 -50
  56. package/build/dex/aave-v1/tokens.js.map +0 -1
  57. package/build/dex/aave-v1/types.d.ts +0 -12
  58. package/build/dex/aave-v1/types.js +0 -3
  59. package/build/dex/aave-v1/types.js.map +0 -1
  60. package/build/dex/aave-v2/tokens-avalanche.json +0 -44
  61. package/build/dex/aave-v2/tokens-mainnet.json +0 -188
  62. package/build/dex/aave-v2/tokens-polygon.json +0 -44
  63. package/build/dex/bProtocol.d.ts +0 -18
  64. package/build/dex/bProtocol.js +0 -39
  65. package/build/dex/bProtocol.js.map +0 -1
  66. package/build/dex/bancor.d.ts +0 -26
  67. package/build/dex/bancor.js +0 -58
  68. package/build/dex/bancor.js.map +0 -1
  69. package/build/dex/compound.d.ts +0 -18
  70. package/build/dex/compound.js +0 -46
  71. package/build/dex/compound.js.map +0 -1
  72. package/build/dex/curve-v2.d.ts +0 -58
  73. package/build/dex/curve-v2.js +0 -180
  74. package/build/dex/curve-v2.js.map +0 -1
  75. package/build/dex/dodo-v1.d.ts +0 -33
  76. package/build/dex/dodo-v1.js +0 -63
  77. package/build/dex/dodo-v1.js.map +0 -1
  78. package/build/dex/lido.d.ts +0 -19
  79. package/build/dex/lido.js +0 -42
  80. package/build/dex/lido.js.map +0 -1
  81. package/build/dex/maker-psm/scripts/gem.abi.json +0 -136
  82. package/build/dex/maker-psm/scripts/validate-state.d.ts +0 -0
  83. package/build/dex/maker-psm/scripts/validate-state.js +0 -185
  84. package/build/dex/maker-psm/scripts/validate-state.js.map +0 -1
  85. package/build/dex/maker-psm/scripts/vat.abi.json +0 -243
  86. package/build/dex/onebit.d.ts +0 -25
  87. package/build/dex/onebit.js +0 -42
  88. package/build/dex/onebit.js.map +0 -1
  89. package/build/dex/platypus/asset.d.ts +0 -14
  90. package/build/dex/platypus/asset.js +0 -97
  91. package/build/dex/platypus/asset.js.map +0 -1
  92. package/build/dex/platypus/config.d.ts +0 -11
  93. package/build/dex/platypus/config.js +0 -69
  94. package/build/dex/platypus/config.js.map +0 -1
  95. package/build/dex/platypus/platypus.d.ts +0 -63
  96. package/build/dex/platypus/platypus.js +0 -487
  97. package/build/dex/platypus/platypus.js.map +0 -1
  98. package/build/dex/platypus/pool-avax.d.ts +0 -8
  99. package/build/dex/platypus/pool-avax.js +0 -54
  100. package/build/dex/platypus/pool-avax.js.map +0 -1
  101. package/build/dex/platypus/pool-base.d.ts +0 -19
  102. package/build/dex/platypus/pool-base.js +0 -86
  103. package/build/dex/platypus/pool-base.js.map +0 -1
  104. package/build/dex/platypus/pool-pure.d.ts +0 -8
  105. package/build/dex/platypus/pool-pure.js +0 -37
  106. package/build/dex/platypus/pool-pure.js.map +0 -1
  107. package/build/dex/platypus/pool-subscriber.d.ts +0 -14
  108. package/build/dex/platypus/pool-subscriber.js +0 -167
  109. package/build/dex/platypus/pool-subscriber.js.map +0 -1
  110. package/build/dex/platypus/pool.d.ts +0 -8
  111. package/build/dex/platypus/pool.js +0 -58
  112. package/build/dex/platypus/pool.js.map +0 -1
  113. package/build/dex/platypus/types.d.ts +0 -92
  114. package/build/dex/platypus/types.js +0 -10
  115. package/build/dex/platypus/types.js.map +0 -1
  116. package/build/dex/quickswap/spiritswap-v3.d.ts +0 -6
  117. package/build/dex/quickswap/spiritswap-v3.js +0 -19
  118. package/build/dex/quickswap/spiritswap-v3.js.map +0 -1
  119. package/build/dex/smardex/config.d.ts +0 -4
  120. package/build/dex/smardex/config.js +0 -64
  121. package/build/dex/smardex/config.js.map +0 -1
  122. package/build/dex/smardex/constants.d.ts +0 -18
  123. package/build/dex/smardex/constants.js +0 -33
  124. package/build/dex/smardex/constants.js.map +0 -1
  125. package/build/dex/smardex/sdk/constants.d.ts +0 -6
  126. package/build/dex/smardex/sdk/constants.js +0 -13
  127. package/build/dex/smardex/sdk/constants.js.map +0 -1
  128. package/build/dex/smardex/sdk/core.d.ts +0 -113
  129. package/build/dex/smardex/sdk/core.js +0 -499
  130. package/build/dex/smardex/sdk/core.js.map +0 -1
  131. package/build/dex/smardex/sdk/errors.d.ts +0 -15
  132. package/build/dex/smardex/sdk/errors.js +0 -22
  133. package/build/dex/smardex/sdk/errors.js.map +0 -1
  134. package/build/dex/smardex/sdk/types.d.ts +0 -62
  135. package/build/dex/smardex/sdk/types.js +0 -3
  136. package/build/dex/smardex/sdk/types.js.map +0 -1
  137. package/build/dex/smardex/sdk/utils.d.ts +0 -44
  138. package/build/dex/smardex/sdk/utils.js +0 -133
  139. package/build/dex/smardex/sdk/utils.js.map +0 -1
  140. package/build/dex/smardex/smardex-event-pool.d.ts +0 -28
  141. package/build/dex/smardex/smardex-event-pool.js +0 -119
  142. package/build/dex/smardex/smardex-event-pool.js.map +0 -1
  143. package/build/dex/smardex/smardex.d.ts +0 -65
  144. package/build/dex/smardex/smardex.js +0 -519
  145. package/build/dex/smardex/smardex.js.map +0 -1
  146. package/build/dex/smardex/types.d.ts +0 -55
  147. package/build/dex/smardex/types.js +0 -3
  148. package/build/dex/smardex/types.js.map +0 -1
  149. package/build/dex/smoothy.d.ts +0 -26
  150. package/build/dex/smoothy.js +0 -48
  151. package/build/dex/smoothy.js.map +0 -1
  152. package/build/dex/solidly/forks-override/cone.d.ts +0 -22
  153. package/build/dex/solidly/forks-override/cone.js +0 -53
  154. package/build/dex/solidly/forks-override/cone.js.map +0 -1
  155. package/build/dex/solidly/forks-override/solisnek.d.ts +0 -8
  156. package/build/dex/solidly/forks-override/solisnek.js +0 -15
  157. package/build/dex/solidly/forks-override/solisnek.js.map +0 -1
  158. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +0 -1
  159. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +0 -53
  160. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +0 -1
  161. package/build/dex/stable-pool.d.ts +0 -28
  162. package/build/dex/stable-pool.js +0 -55
  163. package/build/dex/stable-pool.js.map +0 -1
  164. package/build/dex/swaap-v1/config.d.ts +0 -17
  165. package/build/dex/swaap-v1/config.js +0 -56
  166. package/build/dex/swaap-v1/config.js.map +0 -1
  167. package/build/dex/swaap-v1/constants.d.ts +0 -6
  168. package/build/dex/swaap-v1/constants.js +0 -17
  169. package/build/dex/swaap-v1/constants.js.map +0 -1
  170. package/build/dex/swaap-v1/libraries/ChainlinkUtils.d.ts +0 -25
  171. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js +0 -62
  172. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js.map +0 -1
  173. package/build/dex/swaap-v1/libraries/Const.d.ts +0 -18
  174. package/build/dex/swaap-v1/libraries/Const.js +0 -26
  175. package/build/dex/swaap-v1/libraries/Const.js.map +0 -1
  176. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.d.ts +0 -77
  177. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js +0 -316
  178. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js.map +0 -1
  179. package/build/dex/swaap-v1/libraries/LogExpMath.d.ts +0 -75
  180. package/build/dex/swaap-v1/libraries/LogExpMath.js +0 -418
  181. package/build/dex/swaap-v1/libraries/LogExpMath.js.map +0 -1
  182. package/build/dex/swaap-v1/libraries/MathMMM.d.ts +0 -185
  183. package/build/dex/swaap-v1/libraries/MathMMM.js +0 -453
  184. package/build/dex/swaap-v1/libraries/MathMMM.js.map +0 -1
  185. package/build/dex/swaap-v1/libraries/Num.d.ts +0 -31
  186. package/build/dex/swaap-v1/libraries/Num.js +0 -167
  187. package/build/dex/swaap-v1/libraries/Num.js.map +0 -1
  188. package/build/dex/swaap-v1/libraries/PoolQuotations.d.ts +0 -23
  189. package/build/dex/swaap-v1/libraries/PoolQuotations.js +0 -131
  190. package/build/dex/swaap-v1/libraries/PoolQuotations.js.map +0 -1
  191. package/build/dex/swaap-v1/libraries/Struct.d.ts +0 -56
  192. package/build/dex/swaap-v1/libraries/Struct.js +0 -3
  193. package/build/dex/swaap-v1/libraries/Struct.js.map +0 -1
  194. package/build/dex/swaap-v1/swaap-v1-pool.d.ts +0 -45
  195. package/build/dex/swaap-v1/swaap-v1-pool.js +0 -656
  196. package/build/dex/swaap-v1/swaap-v1-pool.js.map +0 -1
  197. package/build/dex/swaap-v1/swaap-v1.d.ts +0 -62
  198. package/build/dex/swaap-v1/swaap-v1.js +0 -383
  199. package/build/dex/swaap-v1/swaap-v1.js.map +0 -1
  200. package/build/dex/swaap-v1/types.d.ts +0 -106
  201. package/build/dex/swaap-v1/types.js +0 -9
  202. package/build/dex/swaap-v1/types.js.map +0 -1
  203. package/build/dex/trader-joe-v2.1.d.ts +0 -43
  204. package/build/dex/trader-joe-v2.1.js +0 -79
  205. package/build/dex/trader-joe-v2.1.js.map +0 -1
  206. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +0 -17
  207. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +0 -64
  208. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +0 -1
  209. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +0 -17
  210. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +0 -79
  211. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +0 -1
package/.idea/aws.xml ADDED
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="accountSettings">
4
+ <option name="activeProfile" value="profile:default" />
5
+ <option name="activeRegion" value="us-east-1" />
6
+ <option name="recentlyUsedProfiles">
7
+ <list>
8
+ <option value="profile:default" />
9
+ </list>
10
+ </option>
11
+ <option name="recentlyUsedRegions">
12
+ <list>
13
+ <option value="us-east-1" />
14
+ </list>
15
+ </option>
16
+ </component>
17
+ </project>
@@ -0,0 +1,19 @@
1
+ <component name="ProjectCodeStyleConfiguration">
2
+ <code_scheme name="Project" version="173">
3
+ <ScalaCodeStyleSettings>
4
+ <option name="MULTILINE_STRING_CLOSING_QUOTES_ON_NEW_LINE" value="true" />
5
+ </ScalaCodeStyleSettings>
6
+ <TypeScriptCodeStyleSettings version="0">
7
+ <option name="SPACE_WITHIN_ARRAY_INITIALIZER_BRACKETS" value="true" />
8
+ <option name="USE_DOUBLE_QUOTES" value="false" />
9
+ <option name="SPACES_WITHIN_IMPORTS" value="true" />
10
+ </TypeScriptCodeStyleSettings>
11
+ <codeStyleSettings language="TypeScript">
12
+ <indentOptions>
13
+ <option name="INDENT_SIZE" value="2" />
14
+ <option name="CONTINUATION_INDENT_SIZE" value="2" />
15
+ <option name="TAB_SIZE" value="2" />
16
+ </indentOptions>
17
+ </codeStyleSettings>
18
+ </code_scheme>
19
+ </component>
@@ -0,0 +1,5 @@
1
+ <component name="ProjectCodeStyleConfiguration">
2
+ <state>
3
+ <option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" />
4
+ </state>
5
+ </component>
package/.idea/misc.xml ADDED
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectRootManager">
4
+ <output url="file://$PROJECT_DIR$/out" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectModuleManager">
4
+ <modules>
5
+ <module fileurl="file://$PROJECT_DIR$/.idea/paraswap-dex-lib.iml" filepath="$PROJECT_DIR$/.idea/paraswap-dex-lib.iml" />
6
+ </modules>
7
+ </component>
8
+ </project>
@@ -0,0 +1,9 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module type="JAVA_MODULE" version="4">
3
+ <component name="NewModuleRootManager" inherit-compiler-output="true">
4
+ <exclude-output />
5
+ <content url="file://$MODULE_DIR$" />
6
+ <orderEntry type="inheritedJdk" />
7
+ <orderEntry type="sourceFolder" forTests="false" />
8
+ </component>
9
+ </module>
@@ -0,0 +1,7 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="PrettierConfiguration">
4
+ <option name="myRunOnSave" value="true" />
5
+ <option name="myRunOnReformat" value="true" />
6
+ </component>
7
+ </project>
package/.idea/vcs.xml ADDED
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="" vcs="Git" />
5
+ </component>
6
+ </project>
@@ -69,6 +69,7 @@ const quickswap_v3_1 = require("./quickswap/quickswap-v3");
69
69
  const thena_fusion_1 = require("./quickswap/thena-fusion");
70
70
  const swaap_v2_1 = require("./swaap-v2/swaap-v2");
71
71
  const trader_joe_v2_1_1 = require("./trader-joe-v2.1/trader-joe-v2.1");
72
+ const trader_joe_v2_2_1 = require("./trader-joe-v2.1/trader-joe-v2.2");
72
73
  const pancakeswap_v3_1 = require("./pancakeswap-v3/pancakeswap-v3");
73
74
  const algebra_1 = require("./algebra/algebra");
74
75
  const angle_transmuter_1 = require("./angle-transmuter/angle-transmuter");
@@ -96,6 +97,7 @@ const LegacyDexes = [
96
97
  quickswap_v3_1.QuickSwapV3,
97
98
  thena_fusion_1.ThenaFusion,
98
99
  trader_joe_v2_1_1.TraderJoeV21,
100
+ trader_joe_v2_2_1.TraderJoeV22,
99
101
  lido_1.Lido,
100
102
  augustus_rfq_1.AugustusRFQOrder,
101
103
  etherfi_1.EtherFi,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dex/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dex/index.ts"],"names":[],"mappings":"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"}
@@ -20,18 +20,7 @@ class BaseTraderJoeV2 extends simple_exchange_1.SimpleExchange {
20
20
  getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
21
21
  let payload = this.abiCoder.encodeParameters(['tuple(tuple(uint256[],uint8[],address[]),uint256)'], [
22
22
  [
23
- [
24
- [
25
- data.binStep, // _pairBinSteps: uint256[]
26
- ],
27
- [
28
- this.versionIndex, // _versions: uint8[]
29
- ],
30
- [
31
- data.tokenIn,
32
- data.tokenOut, // _tokenPath: address[]
33
- ],
34
- ],
23
+ [data.binSteps, data.versions, data.tokenPath],
35
24
  (0, simple_exchange_1.getLocalDeadlineAsFriendlyPlaceholder)(), // _deadline: uint256
36
25
  ],
37
26
  ]);
@@ -49,14 +38,14 @@ class BaseTraderJoeV2 extends simple_exchange_1.SimpleExchange {
49
38
  ? [
50
39
  srcAmount,
51
40
  destAmount,
52
- [[data.binStep], [this.versionIndex], [srcToken, destToken]],
41
+ [data.binSteps, data.versions, data.tokenPath],
53
42
  this.augustusAddress,
54
43
  (0, simple_exchange_1.getLocalDeadlineAsFriendlyPlaceholder)(),
55
44
  ]
56
45
  : [
57
46
  destAmount,
58
47
  srcAmount,
59
- [[data.binStep], [this.versionIndex], [srcToken, destToken]],
48
+ [data.binSteps, data.versions, data.tokenPath],
60
49
  this.augustusAddress,
61
50
  (0, simple_exchange_1.getLocalDeadlineAsFriendlyPlaceholder)(),
62
51
  ];
@@ -72,14 +61,14 @@ class BaseTraderJoeV2 extends simple_exchange_1.SimpleExchange {
72
61
  ? [
73
62
  srcAmount,
74
63
  destAmount,
75
- [[data.binStep], [this.versionIndex], [srcToken, destToken]],
64
+ [data.binSteps, data.versions, data.tokenPath],
76
65
  recipient,
77
66
  placeholder,
78
67
  ]
79
68
  : [
80
69
  destAmount,
81
70
  srcAmount,
82
- [[data.binStep], [this.versionIndex], [srcToken, destToken]],
71
+ [data.binSteps, data.versions, data.tokenPath],
83
72
  recipient,
84
73
  placeholder,
85
74
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/dex/trader-joe-v2.1/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/dex/trader-joe-v2.1/base.ts"],"names":[],"mappings":"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"}
@@ -2,3 +2,6 @@ import { Address } from '@paraswap/core';
2
2
  export declare const TRADERJOE_V2_1_ROUTER_ADDRESS: {
3
3
  [network: number]: Address;
4
4
  };
5
+ export declare const TRADERJOE_V2_2_ROUTER_ADDRESS: {
6
+ [network: number]: Address;
7
+ };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TRADERJOE_V2_1_ROUTER_ADDRESS = void 0;
3
+ exports.TRADERJOE_V2_2_ROUTER_ADDRESS = exports.TRADERJOE_V2_1_ROUTER_ADDRESS = void 0;
4
4
  const constants_1 = require("../../constants");
5
5
  exports.TRADERJOE_V2_1_ROUTER_ADDRESS = {
6
6
  [constants_1.Network.AVALANCHE]: '0xb4315e873dBcf96Ffd0acd8EA43f689D8c20fB30',
@@ -8,4 +8,8 @@ exports.TRADERJOE_V2_1_ROUTER_ADDRESS = {
8
8
  [constants_1.Network.BSC]: '0xb4315e873dBcf96Ffd0acd8EA43f689D8c20fB30',
9
9
  [constants_1.Network.MAINNET]: '0x9A93a421b74F1c5755b83dD2C211614dC419C44b',
10
10
  };
11
+ exports.TRADERJOE_V2_2_ROUTER_ADDRESS = {
12
+ [constants_1.Network.AVALANCHE]: '0x18556da13313f3532c54711497a8fedac273220e',
13
+ [constants_1.Network.ARBITRUM]: '0x18556da13313f3532c54711497a8fedac273220e',
14
+ };
11
15
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/trader-joe-v2.1/config.ts"],"names":[],"mappings":";;;AACA,+CAA0C;AAE7B,QAAA,6BAA6B,GAAmC;IAC3E,CAAC,mBAAO,CAAC,SAAS,CAAC,EAAE,4CAA4C;IACjE,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE,4CAA4C;IAChE,CAAC,mBAAO,CAAC,GAAG,CAAC,EAAE,4CAA4C;IAC3D,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE,4CAA4C;CAChE,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/trader-joe-v2.1/config.ts"],"names":[],"mappings":";;;AACA,+CAA0C;AAE7B,QAAA,6BAA6B,GAAmC;IAC3E,CAAC,mBAAO,CAAC,SAAS,CAAC,EAAE,4CAA4C;IACjE,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE,4CAA4C;IAChE,CAAC,mBAAO,CAAC,GAAG,CAAC,EAAE,4CAA4C;IAC3D,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE,4CAA4C;CAChE,CAAC;AAEW,QAAA,6BAA6B,GAAmC;IAC3E,CAAC,mBAAO,CAAC,SAAS,CAAC,EAAE,4CAA4C;IACjE,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE,4CAA4C;CACjE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { UnoptimizedRate } from '../../types';
2
+ export declare function traderJoeMerge(or: UnoptimizedRate): UnoptimizedRate;
@@ -0,0 +1,44 @@
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
+ function traderJoeMerge(or) {
9
+ const fixRoute = (rawRate) => {
10
+ let lastExchange = false;
11
+ let optimizedRate = new Array();
12
+ rawRate.forEach((s) => {
13
+ if (s.swapExchanges.length !== 1) {
14
+ lastExchange = false;
15
+ optimizedRate.push(s);
16
+ }
17
+ else if (lastExchange &&
18
+ lodash_1.default.last(lastExchange.swapExchanges[0].data.tokenPath).toLowerCase() === s.swapExchanges[0].data.tokenPath[0].toLowerCase()) {
19
+ lastExchange.swapExchanges[0].data.tokenPath.push(s.swapExchanges[0].data.tokenPath[1]);
20
+ lastExchange.swapExchanges[0].data.binSteps.push(s.swapExchanges[0].data.binSteps[0]);
21
+ lastExchange.swapExchanges[0].data.versions.push(s.swapExchanges[0].data.versions[0]);
22
+ lastExchange.swapExchanges[0].poolAddresses.push(s.swapExchanges[0].poolAddresses[0]);
23
+ lastExchange.swapExchanges[0].data.gasUSD = (parseFloat(lastExchange.swapExchanges[0].data.gasUSD) +
24
+ parseFloat(s.swapExchanges[0].data.gasUSD)).toFixed(6);
25
+ lastExchange.destToken = s.destToken;
26
+ lastExchange.destDecimals = s.destDecimals;
27
+ lastExchange.swapExchanges[0].destAmount =
28
+ s.swapExchanges[0].destAmount;
29
+ }
30
+ else {
31
+ lastExchange = lodash_1.default.cloneDeep(s);
32
+ optimizedRate.push(lastExchange);
33
+ }
34
+ });
35
+ return optimizedRate;
36
+ };
37
+ or.bestRoute = or.bestRoute.map(r => ({
38
+ ...r,
39
+ swaps: fixRoute(r.swaps),
40
+ }));
41
+ return or;
42
+ }
43
+ exports.traderJoeMerge = traderJoeMerge;
44
+ //# sourceMappingURL=optimizer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optimizer.js","sourceRoot":"","sources":["../../../src/dex/trader-joe-v2.1/optimizer.ts"],"names":[],"mappings":";;;;;;AACA,oDAAuB;AAEvB,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,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;gBAChC,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;AAhDD,wCAgDC"}
@@ -1,19 +1,7 @@
1
- import { SwapSide } from '../../constants';
2
- import { AdapterExchangeParam, Address, DexExchangeParam, SimpleExchangeParam } from '../../types';
3
- import { IDexTxBuilder } from '../idex';
4
1
  import { IDexHelper } from '../../dex-helper';
5
- import { SimpleExchange } from '../simple-exchange';
6
- import { NumberAsString } from '@paraswap/core';
7
- import { AsyncOrSync } from 'ts-essentials';
8
- import { Interface } from '@ethersproject/abi';
9
- import { TraderJoeV2Data, TraderJoeV2RouterParam } from './types';
10
- export declare class TraderJoeV21 extends SimpleExchange implements IDexTxBuilder<TraderJoeV2Data, TraderJoeV2RouterParam> {
2
+ import { BaseTraderJoeV2 } from './base';
3
+ export declare class TraderJoeV21 extends BaseTraderJoeV2 {
11
4
  static dexKeys: string[];
12
- protected routerAddress: string;
13
- exchangeRouterInterface: Interface;
14
5
  needWrapNative: boolean;
15
6
  constructor(dexHelper: IDexHelper);
16
- getAdapterParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, data: TraderJoeV2Data, side: SwapSide): AdapterExchangeParam;
17
- getSimpleParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, data: TraderJoeV2Data, side: SwapSide): AsyncOrSync<SimpleExchangeParam>;
18
- getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: TraderJoeV2Data, side: SwapSide): DexExchangeParam;
19
7
  }
@@ -4,98 +4,16 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.TraderJoeV21 = void 0;
7
- const constants_1 = require("../../constants");
8
- const simple_exchange_1 = require("../simple-exchange");
9
7
  const abi_1 = require("@ethersproject/abi");
10
8
  const TraderJoeV21Router_json_1 = __importDefault(require("../../abi/TraderJoeV21Router.json"));
11
- const types_1 = require("./types");
12
9
  const config_1 = require("./config");
13
- const utils_1 = require("../../executor/utils");
14
- class TraderJoeV21 extends simple_exchange_1.SimpleExchange {
10
+ const base_1 = require("./base");
11
+ class TraderJoeV21 extends base_1.BaseTraderJoeV2 {
15
12
  constructor(dexHelper) {
16
- super(dexHelper, 'traderjoev2.1');
13
+ super(dexHelper, 'traderjoev2.1', config_1.TRADERJOE_V2_1_ROUTER_ADDRESS[dexHelper.config.data.network], '2');
17
14
  this.needWrapNative = true;
18
- this.routerAddress =
19
- config_1.TRADERJOE_V2_1_ROUTER_ADDRESS[dexHelper.config.data.network];
20
15
  this.exchangeRouterInterface = new abi_1.Interface(TraderJoeV21Router_json_1.default);
21
16
  }
22
- getAdapterParam(srcToken, destToken, srcAmount, destAmount, data, side) {
23
- let payload = this.abiCoder.encodeParameters(['tuple(tuple(uint256[],uint8[],address[]),uint256)'], [
24
- [
25
- [
26
- [
27
- data.binStep, // _pairBinSteps: uint256[]
28
- ],
29
- [
30
- 2, // _versions: uint8[]
31
- ],
32
- [
33
- data.tokenIn,
34
- data.tokenOut, // _tokenPath: address[]
35
- ],
36
- ],
37
- (0, simple_exchange_1.getLocalDeadlineAsFriendlyPlaceholder)(), // _deadline: uint256
38
- ],
39
- ]);
40
- return {
41
- targetExchange: this.routerAddress,
42
- payload,
43
- networkFee: '0',
44
- };
45
- }
46
- getSimpleParam(srcToken, destToken, srcAmount, destAmount, data, side) {
47
- const swapFunction = side === constants_1.SwapSide.SELL
48
- ? types_1.TraderJoeV2RouterFunctions.swapExactTokensForTokens
49
- : types_1.TraderJoeV2RouterFunctions.swapTokensForExactTokens;
50
- const swapFunctionParams = side === constants_1.SwapSide.SELL
51
- ? [
52
- srcAmount,
53
- destAmount,
54
- [[data.binStep], ['2'], [srcToken, destToken]],
55
- this.augustusAddress,
56
- (0, simple_exchange_1.getLocalDeadlineAsFriendlyPlaceholder)(),
57
- ]
58
- : [
59
- destAmount,
60
- srcAmount,
61
- [[data.binStep], ['2'], [srcToken, destToken]],
62
- this.augustusAddress,
63
- (0, simple_exchange_1.getLocalDeadlineAsFriendlyPlaceholder)(),
64
- ];
65
- const swapData = this.exchangeRouterInterface.encodeFunctionData(swapFunction, swapFunctionParams);
66
- return this.buildSimpleParamWithoutWETHConversion(srcToken, srcAmount, destToken, destAmount, swapData, this.routerAddress);
67
- }
68
- getDexParam(srcToken, destToken, srcAmount, destAmount, recipient, data, side) {
69
- const swapFunction = side === constants_1.SwapSide.SELL
70
- ? types_1.TraderJoeV2RouterFunctions.swapExactTokensForTokens
71
- : types_1.TraderJoeV2RouterFunctions.swapTokensForExactTokens;
72
- const placeholder = (0, simple_exchange_1.getLocalDeadlineAsFriendlyPlaceholder)();
73
- const swapFunctionParams = side === constants_1.SwapSide.SELL
74
- ? [
75
- srcAmount,
76
- destAmount,
77
- [[data.binStep], ['2'], [srcToken, destToken]],
78
- recipient,
79
- placeholder,
80
- ]
81
- : [
82
- destAmount,
83
- srcAmount,
84
- [[data.binStep], ['2'], [srcToken, destToken]],
85
- recipient,
86
- placeholder,
87
- ];
88
- const swapData = this.exchangeRouterInterface.encodeFunctionData(swapFunction, swapFunctionParams);
89
- return {
90
- needWrapNative: this.needWrapNative,
91
- dexFuncHasRecipient: true,
92
- exchangeData: swapData,
93
- targetExchange: this.routerAddress,
94
- returnAmountPos: side === constants_1.SwapSide.SELL
95
- ? (0, utils_1.extractReturnAmountPosition)(this.exchangeRouterInterface, swapFunction, 'amountOut')
96
- : undefined,
97
- };
98
- }
99
17
  }
100
18
  exports.TraderJoeV21 = TraderJoeV21;
101
19
  TraderJoeV21.dexKeys = ['traderjoev2.1'];
@@ -1 +1 @@
1
- {"version":3,"file":"trader-joe-v2.1.js","sourceRoot":"","sources":["../../../src/dex/trader-joe-v2.1/trader-joe-v2.1.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"trader-joe-v2.1.js","sourceRoot":"","sources":["../../../src/dex/trader-joe-v2.1/trader-joe-v2.1.ts"],"names":[],"mappings":";;;;;;AACA,4CAA6D;AAC7D,gGAAsE;AACtE,qCAAyD;AACzD,iCAAyC;AAEzC,MAAa,YAAa,SAAQ,sBAAe;IAI/C,YAAY,SAAqB;QAC/B,KAAK,CACH,SAAS,EACT,eAAe,EACf,sCAA6B,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAC5D,GAAG,CACJ,CAAC;QARJ,mBAAc,GAAG,IAAI,CAAC;QAUpB,IAAI,CAAC,uBAAuB,GAAG,IAAI,eAAS,CAC1C,iCAAuC,CACxC,CAAC;IACJ,CAAC;;AAfH,oCAgBC;AAfQ,oBAAO,GAAG,CAAC,eAAe,CAAC,CAAC"}
@@ -21,9 +21,9 @@ export declare type TraderJoeV2RouterBuyParams = [
21
21
  ];
22
22
  export declare type TraderJoeV2RouterParam = TraderJoeV2RouterSellParams | TraderJoeV2RouterBuyParams;
23
23
  export declare type TraderJoeV2Data = {
24
- tokenIn: string;
25
- tokenOut: string;
26
- binStep: string;
24
+ tokenPath: string[];
25
+ binSteps: string[];
26
+ versions: string[];
27
27
  };
28
28
  export declare enum TraderJoeV2RouterFunctions {
29
29
  swapExactTokensForTokens = "swapExactTokensForTokens",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "3.8.18",
3
+ "version": "3.8.21-traderjoe-multihop.0",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
package/src/dex/index.ts CHANGED
@@ -67,6 +67,7 @@ import { QuickSwapV3 } from './quickswap/quickswap-v3';
67
67
  import { ThenaFusion } from './quickswap/thena-fusion';
68
68
  import { SwaapV2 } from './swaap-v2/swaap-v2';
69
69
  import { TraderJoeV21 } from './trader-joe-v2.1/trader-joe-v2.1';
70
+ import { TraderJoeV22 } from './trader-joe-v2.1/trader-joe-v2.2';
70
71
  import { PancakeswapV3 } from './pancakeswap-v3/pancakeswap-v3';
71
72
  import { Algebra } from './algebra/algebra';
72
73
  import { AngleTransmuter } from './angle-transmuter/angle-transmuter';
@@ -95,6 +96,7 @@ const LegacyDexes = [
95
96
  QuickSwapV3,
96
97
  ThenaFusion,
97
98
  TraderJoeV21,
99
+ TraderJoeV22,
98
100
  Lido,
99
101
  AugustusRFQOrder,
100
102
  EtherFi,
@@ -0,0 +1,167 @@
1
+ import { SwapSide } from '../../constants';
2
+ import {
3
+ AdapterExchangeParam,
4
+ Address,
5
+ DexExchangeParam,
6
+ SimpleExchangeParam,
7
+ } from '../../types';
8
+ import { IDexTxBuilder } from '../idex';
9
+ import { IDexHelper } from '../../dex-helper';
10
+ import {
11
+ getLocalDeadlineAsFriendlyPlaceholder,
12
+ SimpleExchange,
13
+ } from '../simple-exchange';
14
+ import { NumberAsString } from '@paraswap/core';
15
+ import { AsyncOrSync } from 'ts-essentials';
16
+ import { Interface, JsonFragment } from '@ethersproject/abi';
17
+ import TraderJoeV21RouterABI from '../../abi/TraderJoeV21Router.json';
18
+ import {
19
+ TraderJoeV2Data,
20
+ TraderJoeV2RouterFunctions,
21
+ TraderJoeV2RouterParam,
22
+ } from './types';
23
+ import { extractReturnAmountPosition } from '../../executor/utils';
24
+
25
+ export class BaseTraderJoeV2
26
+ extends SimpleExchange
27
+ implements IDexTxBuilder<TraderJoeV2Data, TraderJoeV2RouterParam>
28
+ {
29
+ exchangeRouterInterface: Interface;
30
+
31
+ constructor(
32
+ dexHelper: IDexHelper,
33
+ dexKey: string,
34
+ protected routerAddress: string,
35
+ protected versionIndex: string,
36
+ ) {
37
+ super(dexHelper, dexKey);
38
+
39
+ this.exchangeRouterInterface = new Interface(
40
+ TraderJoeV21RouterABI as JsonFragment[],
41
+ );
42
+ }
43
+
44
+ getAdapterParam(
45
+ srcToken: Address,
46
+ destToken: Address,
47
+ srcAmount: NumberAsString,
48
+ destAmount: NumberAsString,
49
+ data: TraderJoeV2Data,
50
+ side: SwapSide,
51
+ ): AdapterExchangeParam {
52
+ let payload = this.abiCoder.encodeParameters(
53
+ ['tuple(tuple(uint256[],uint8[],address[]),uint256)'],
54
+ [
55
+ [
56
+ [data.binSteps, data.versions, data.tokenPath],
57
+ getLocalDeadlineAsFriendlyPlaceholder(), // _deadline: uint256
58
+ ],
59
+ ],
60
+ );
61
+
62
+ return {
63
+ targetExchange: this.routerAddress,
64
+ payload,
65
+ networkFee: '0',
66
+ };
67
+ }
68
+
69
+ getSimpleParam(
70
+ srcToken: Address,
71
+ destToken: Address,
72
+ srcAmount: NumberAsString,
73
+ destAmount: NumberAsString,
74
+ data: TraderJoeV2Data,
75
+ side: SwapSide,
76
+ ): AsyncOrSync<SimpleExchangeParam> {
77
+ const swapFunction =
78
+ side === SwapSide.SELL
79
+ ? TraderJoeV2RouterFunctions.swapExactTokensForTokens
80
+ : TraderJoeV2RouterFunctions.swapTokensForExactTokens;
81
+
82
+ const swapFunctionParams: TraderJoeV2RouterParam =
83
+ side === SwapSide.SELL
84
+ ? [
85
+ srcAmount,
86
+ destAmount,
87
+ [data.binSteps, data.versions, data.tokenPath],
88
+ this.augustusAddress,
89
+ getLocalDeadlineAsFriendlyPlaceholder(),
90
+ ]
91
+ : [
92
+ destAmount,
93
+ srcAmount,
94
+ [data.binSteps, data.versions, data.tokenPath],
95
+ this.augustusAddress,
96
+ getLocalDeadlineAsFriendlyPlaceholder(),
97
+ ];
98
+
99
+ const swapData = this.exchangeRouterInterface.encodeFunctionData(
100
+ swapFunction,
101
+ swapFunctionParams,
102
+ );
103
+
104
+ return this.buildSimpleParamWithoutWETHConversion(
105
+ srcToken,
106
+ srcAmount,
107
+ destToken,
108
+ destAmount,
109
+ swapData,
110
+ this.routerAddress,
111
+ );
112
+ }
113
+
114
+ getDexParam(
115
+ srcToken: Address,
116
+ destToken: Address,
117
+ srcAmount: NumberAsString,
118
+ destAmount: NumberAsString,
119
+ recipient: Address,
120
+ data: TraderJoeV2Data,
121
+ side: SwapSide,
122
+ ): DexExchangeParam {
123
+ const swapFunction =
124
+ side === SwapSide.SELL
125
+ ? TraderJoeV2RouterFunctions.swapExactTokensForTokens
126
+ : TraderJoeV2RouterFunctions.swapTokensForExactTokens;
127
+
128
+ const placeholder = getLocalDeadlineAsFriendlyPlaceholder();
129
+
130
+ const swapFunctionParams: TraderJoeV2RouterParam =
131
+ side === SwapSide.SELL
132
+ ? [
133
+ srcAmount,
134
+ destAmount,
135
+ [data.binSteps, data.versions, data.tokenPath],
136
+ recipient,
137
+ placeholder,
138
+ ]
139
+ : [
140
+ destAmount,
141
+ srcAmount,
142
+ [data.binSteps, data.versions, data.tokenPath],
143
+ recipient,
144
+ placeholder,
145
+ ];
146
+
147
+ const swapData = this.exchangeRouterInterface.encodeFunctionData(
148
+ swapFunction,
149
+ swapFunctionParams,
150
+ );
151
+
152
+ return {
153
+ needWrapNative: this.needWrapNative,
154
+ dexFuncHasRecipient: true,
155
+ exchangeData: swapData,
156
+ targetExchange: this.routerAddress,
157
+ returnAmountPos:
158
+ side === SwapSide.SELL
159
+ ? extractReturnAmountPosition(
160
+ this.exchangeRouterInterface,
161
+ swapFunction,
162
+ 'amountOut',
163
+ )
164
+ : undefined,
165
+ };
166
+ }
167
+ }