@paraswap/dex-lib 3.8.18 → 3.8.20

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 (203) 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/config.d.ts +3 -0
  12. package/build/dex/trader-joe-v2.1/config.js +5 -1
  13. package/build/dex/trader-joe-v2.1/config.js.map +1 -1
  14. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.d.ts +2 -14
  15. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js +3 -85
  16. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js.map +1 -1
  17. package/package.json +1 -1
  18. package/src/dex/index.ts +2 -0
  19. package/src/dex/trader-joe-v2.1/base.ts +178 -0
  20. package/src/dex/trader-joe-v2.1/config.ts +5 -0
  21. package/src/dex/trader-joe-v2.1/trader-joe-v2.1.ts +8 -165
  22. package/src/dex/trader-joe-v2.1/trader-joe-v2.2.ts +23 -0
  23. package/.vscode/launch.json +0 -53
  24. package/.vscode/settings.json +0 -2
  25. package/.vscode/tasks.json +0 -15
  26. package/build/abi/AaveV1_lending_pool.json +0 -27
  27. package/build/abi/platypus/asset.json +0 -490
  28. package/build/abi/platypus/avax-pool.json +0 -820
  29. package/build/abi/platypus/oracle.json +0 -119
  30. package/build/abi/platypus/pool.json +0 -677
  31. package/build/abi/smardex/all/smardex-router.json +0 -648
  32. package/build/abi/smardex/layer-1/smardex-factory.json +0 -242
  33. package/build/abi/smardex/layer-1/smardex-pool.json +0 -506
  34. package/build/abi/smardex/layer-2/smardex-factory.json +0 -185
  35. package/build/abi/smardex/layer-2/smardex-pool.json +0 -578
  36. package/build/abi/swaap-v1/pool.json +0 -1346
  37. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +0 -52
  38. package/build/abi/wombat/pool.json +0 -1289
  39. package/build/dex/aave-v1/aave-v1.d.ts +0 -34
  40. package/build/dex/aave-v1/aave-v1.js +0 -181
  41. package/build/dex/aave-v1/aave-v1.js.map +0 -1
  42. package/build/dex/aave-v1/config.d.ts +0 -11
  43. package/build/dex/aave-v1/config.js +0 -20
  44. package/build/dex/aave-v1/config.js.map +0 -1
  45. package/build/dex/aave-v1/tokens-mainnet.json +0 -134
  46. package/build/dex/aave-v1/tokens.d.ts +0 -3
  47. package/build/dex/aave-v1/tokens.js +0 -50
  48. package/build/dex/aave-v1/tokens.js.map +0 -1
  49. package/build/dex/aave-v1/types.d.ts +0 -12
  50. package/build/dex/aave-v1/types.js +0 -3
  51. package/build/dex/aave-v1/types.js.map +0 -1
  52. package/build/dex/aave-v2/tokens-avalanche.json +0 -44
  53. package/build/dex/aave-v2/tokens-mainnet.json +0 -188
  54. package/build/dex/aave-v2/tokens-polygon.json +0 -44
  55. package/build/dex/bProtocol.d.ts +0 -18
  56. package/build/dex/bProtocol.js +0 -39
  57. package/build/dex/bProtocol.js.map +0 -1
  58. package/build/dex/bancor.d.ts +0 -26
  59. package/build/dex/bancor.js +0 -58
  60. package/build/dex/bancor.js.map +0 -1
  61. package/build/dex/compound.d.ts +0 -18
  62. package/build/dex/compound.js +0 -46
  63. package/build/dex/compound.js.map +0 -1
  64. package/build/dex/curve-v2.d.ts +0 -58
  65. package/build/dex/curve-v2.js +0 -180
  66. package/build/dex/curve-v2.js.map +0 -1
  67. package/build/dex/dodo-v1.d.ts +0 -33
  68. package/build/dex/dodo-v1.js +0 -63
  69. package/build/dex/dodo-v1.js.map +0 -1
  70. package/build/dex/lido.d.ts +0 -19
  71. package/build/dex/lido.js +0 -42
  72. package/build/dex/lido.js.map +0 -1
  73. package/build/dex/maker-psm/scripts/gem.abi.json +0 -136
  74. package/build/dex/maker-psm/scripts/validate-state.d.ts +0 -0
  75. package/build/dex/maker-psm/scripts/validate-state.js +0 -185
  76. package/build/dex/maker-psm/scripts/validate-state.js.map +0 -1
  77. package/build/dex/maker-psm/scripts/vat.abi.json +0 -243
  78. package/build/dex/onebit.d.ts +0 -25
  79. package/build/dex/onebit.js +0 -42
  80. package/build/dex/onebit.js.map +0 -1
  81. package/build/dex/platypus/asset.d.ts +0 -14
  82. package/build/dex/platypus/asset.js +0 -97
  83. package/build/dex/platypus/asset.js.map +0 -1
  84. package/build/dex/platypus/config.d.ts +0 -11
  85. package/build/dex/platypus/config.js +0 -69
  86. package/build/dex/platypus/config.js.map +0 -1
  87. package/build/dex/platypus/platypus.d.ts +0 -63
  88. package/build/dex/platypus/platypus.js +0 -487
  89. package/build/dex/platypus/platypus.js.map +0 -1
  90. package/build/dex/platypus/pool-avax.d.ts +0 -8
  91. package/build/dex/platypus/pool-avax.js +0 -54
  92. package/build/dex/platypus/pool-avax.js.map +0 -1
  93. package/build/dex/platypus/pool-base.d.ts +0 -19
  94. package/build/dex/platypus/pool-base.js +0 -86
  95. package/build/dex/platypus/pool-base.js.map +0 -1
  96. package/build/dex/platypus/pool-pure.d.ts +0 -8
  97. package/build/dex/platypus/pool-pure.js +0 -37
  98. package/build/dex/platypus/pool-pure.js.map +0 -1
  99. package/build/dex/platypus/pool-subscriber.d.ts +0 -14
  100. package/build/dex/platypus/pool-subscriber.js +0 -167
  101. package/build/dex/platypus/pool-subscriber.js.map +0 -1
  102. package/build/dex/platypus/pool.d.ts +0 -8
  103. package/build/dex/platypus/pool.js +0 -58
  104. package/build/dex/platypus/pool.js.map +0 -1
  105. package/build/dex/platypus/types.d.ts +0 -92
  106. package/build/dex/platypus/types.js +0 -10
  107. package/build/dex/platypus/types.js.map +0 -1
  108. package/build/dex/quickswap/spiritswap-v3.d.ts +0 -6
  109. package/build/dex/quickswap/spiritswap-v3.js +0 -19
  110. package/build/dex/quickswap/spiritswap-v3.js.map +0 -1
  111. package/build/dex/smardex/config.d.ts +0 -4
  112. package/build/dex/smardex/config.js +0 -64
  113. package/build/dex/smardex/config.js.map +0 -1
  114. package/build/dex/smardex/constants.d.ts +0 -18
  115. package/build/dex/smardex/constants.js +0 -33
  116. package/build/dex/smardex/constants.js.map +0 -1
  117. package/build/dex/smardex/sdk/constants.d.ts +0 -6
  118. package/build/dex/smardex/sdk/constants.js +0 -13
  119. package/build/dex/smardex/sdk/constants.js.map +0 -1
  120. package/build/dex/smardex/sdk/core.d.ts +0 -113
  121. package/build/dex/smardex/sdk/core.js +0 -499
  122. package/build/dex/smardex/sdk/core.js.map +0 -1
  123. package/build/dex/smardex/sdk/errors.d.ts +0 -15
  124. package/build/dex/smardex/sdk/errors.js +0 -22
  125. package/build/dex/smardex/sdk/errors.js.map +0 -1
  126. package/build/dex/smardex/sdk/types.d.ts +0 -62
  127. package/build/dex/smardex/sdk/types.js +0 -3
  128. package/build/dex/smardex/sdk/types.js.map +0 -1
  129. package/build/dex/smardex/sdk/utils.d.ts +0 -44
  130. package/build/dex/smardex/sdk/utils.js +0 -133
  131. package/build/dex/smardex/sdk/utils.js.map +0 -1
  132. package/build/dex/smardex/smardex-event-pool.d.ts +0 -28
  133. package/build/dex/smardex/smardex-event-pool.js +0 -119
  134. package/build/dex/smardex/smardex-event-pool.js.map +0 -1
  135. package/build/dex/smardex/smardex.d.ts +0 -65
  136. package/build/dex/smardex/smardex.js +0 -519
  137. package/build/dex/smardex/smardex.js.map +0 -1
  138. package/build/dex/smardex/types.d.ts +0 -55
  139. package/build/dex/smardex/types.js +0 -3
  140. package/build/dex/smardex/types.js.map +0 -1
  141. package/build/dex/smoothy.d.ts +0 -26
  142. package/build/dex/smoothy.js +0 -48
  143. package/build/dex/smoothy.js.map +0 -1
  144. package/build/dex/solidly/forks-override/cone.d.ts +0 -22
  145. package/build/dex/solidly/forks-override/cone.js +0 -53
  146. package/build/dex/solidly/forks-override/cone.js.map +0 -1
  147. package/build/dex/solidly/forks-override/solisnek.d.ts +0 -8
  148. package/build/dex/solidly/forks-override/solisnek.js +0 -15
  149. package/build/dex/solidly/forks-override/solisnek.js.map +0 -1
  150. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +0 -1
  151. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +0 -53
  152. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +0 -1
  153. package/build/dex/stable-pool.d.ts +0 -28
  154. package/build/dex/stable-pool.js +0 -55
  155. package/build/dex/stable-pool.js.map +0 -1
  156. package/build/dex/swaap-v1/config.d.ts +0 -17
  157. package/build/dex/swaap-v1/config.js +0 -56
  158. package/build/dex/swaap-v1/config.js.map +0 -1
  159. package/build/dex/swaap-v1/constants.d.ts +0 -6
  160. package/build/dex/swaap-v1/constants.js +0 -17
  161. package/build/dex/swaap-v1/constants.js.map +0 -1
  162. package/build/dex/swaap-v1/libraries/ChainlinkUtils.d.ts +0 -25
  163. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js +0 -62
  164. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js.map +0 -1
  165. package/build/dex/swaap-v1/libraries/Const.d.ts +0 -18
  166. package/build/dex/swaap-v1/libraries/Const.js +0 -26
  167. package/build/dex/swaap-v1/libraries/Const.js.map +0 -1
  168. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.d.ts +0 -77
  169. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js +0 -316
  170. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js.map +0 -1
  171. package/build/dex/swaap-v1/libraries/LogExpMath.d.ts +0 -75
  172. package/build/dex/swaap-v1/libraries/LogExpMath.js +0 -418
  173. package/build/dex/swaap-v1/libraries/LogExpMath.js.map +0 -1
  174. package/build/dex/swaap-v1/libraries/MathMMM.d.ts +0 -185
  175. package/build/dex/swaap-v1/libraries/MathMMM.js +0 -453
  176. package/build/dex/swaap-v1/libraries/MathMMM.js.map +0 -1
  177. package/build/dex/swaap-v1/libraries/Num.d.ts +0 -31
  178. package/build/dex/swaap-v1/libraries/Num.js +0 -167
  179. package/build/dex/swaap-v1/libraries/Num.js.map +0 -1
  180. package/build/dex/swaap-v1/libraries/PoolQuotations.d.ts +0 -23
  181. package/build/dex/swaap-v1/libraries/PoolQuotations.js +0 -131
  182. package/build/dex/swaap-v1/libraries/PoolQuotations.js.map +0 -1
  183. package/build/dex/swaap-v1/libraries/Struct.d.ts +0 -56
  184. package/build/dex/swaap-v1/libraries/Struct.js +0 -3
  185. package/build/dex/swaap-v1/libraries/Struct.js.map +0 -1
  186. package/build/dex/swaap-v1/swaap-v1-pool.d.ts +0 -45
  187. package/build/dex/swaap-v1/swaap-v1-pool.js +0 -656
  188. package/build/dex/swaap-v1/swaap-v1-pool.js.map +0 -1
  189. package/build/dex/swaap-v1/swaap-v1.d.ts +0 -62
  190. package/build/dex/swaap-v1/swaap-v1.js +0 -383
  191. package/build/dex/swaap-v1/swaap-v1.js.map +0 -1
  192. package/build/dex/swaap-v1/types.d.ts +0 -106
  193. package/build/dex/swaap-v1/types.js +0 -9
  194. package/build/dex/swaap-v1/types.js.map +0 -1
  195. package/build/dex/trader-joe-v2.1.d.ts +0 -43
  196. package/build/dex/trader-joe-v2.1.js +0 -79
  197. package/build/dex/trader-joe-v2.1.js.map +0 -1
  198. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +0 -17
  199. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +0 -64
  200. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +0 -1
  201. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +0 -17
  202. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +0 -79
  203. 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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"}
@@ -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"}
@@ -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"}
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.20",
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,178 @@
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
+ [
57
+ [
58
+ data.binStep, // _pairBinSteps: uint256[]
59
+ ],
60
+ [
61
+ this.versionIndex, // _versions: uint8[]
62
+ ],
63
+ [
64
+ data.tokenIn,
65
+ data.tokenOut, // _tokenPath: address[]
66
+ ],
67
+ ],
68
+ getLocalDeadlineAsFriendlyPlaceholder(), // _deadline: uint256
69
+ ],
70
+ ],
71
+ );
72
+
73
+ return {
74
+ targetExchange: this.routerAddress,
75
+ payload,
76
+ networkFee: '0',
77
+ };
78
+ }
79
+
80
+ getSimpleParam(
81
+ srcToken: Address,
82
+ destToken: Address,
83
+ srcAmount: NumberAsString,
84
+ destAmount: NumberAsString,
85
+ data: TraderJoeV2Data,
86
+ side: SwapSide,
87
+ ): AsyncOrSync<SimpleExchangeParam> {
88
+ const swapFunction =
89
+ side === SwapSide.SELL
90
+ ? TraderJoeV2RouterFunctions.swapExactTokensForTokens
91
+ : TraderJoeV2RouterFunctions.swapTokensForExactTokens;
92
+
93
+ const swapFunctionParams: TraderJoeV2RouterParam =
94
+ side === SwapSide.SELL
95
+ ? [
96
+ srcAmount,
97
+ destAmount,
98
+ [[data.binStep], [this.versionIndex], [srcToken, destToken]],
99
+ this.augustusAddress,
100
+ getLocalDeadlineAsFriendlyPlaceholder(),
101
+ ]
102
+ : [
103
+ destAmount,
104
+ srcAmount,
105
+ [[data.binStep], [this.versionIndex], [srcToken, destToken]],
106
+ this.augustusAddress,
107
+ getLocalDeadlineAsFriendlyPlaceholder(),
108
+ ];
109
+
110
+ const swapData = this.exchangeRouterInterface.encodeFunctionData(
111
+ swapFunction,
112
+ swapFunctionParams,
113
+ );
114
+
115
+ return this.buildSimpleParamWithoutWETHConversion(
116
+ srcToken,
117
+ srcAmount,
118
+ destToken,
119
+ destAmount,
120
+ swapData,
121
+ this.routerAddress,
122
+ );
123
+ }
124
+
125
+ getDexParam(
126
+ srcToken: Address,
127
+ destToken: Address,
128
+ srcAmount: NumberAsString,
129
+ destAmount: NumberAsString,
130
+ recipient: Address,
131
+ data: TraderJoeV2Data,
132
+ side: SwapSide,
133
+ ): DexExchangeParam {
134
+ const swapFunction =
135
+ side === SwapSide.SELL
136
+ ? TraderJoeV2RouterFunctions.swapExactTokensForTokens
137
+ : TraderJoeV2RouterFunctions.swapTokensForExactTokens;
138
+
139
+ const placeholder = getLocalDeadlineAsFriendlyPlaceholder();
140
+
141
+ const swapFunctionParams: TraderJoeV2RouterParam =
142
+ side === SwapSide.SELL
143
+ ? [
144
+ srcAmount,
145
+ destAmount,
146
+ [[data.binStep], [this.versionIndex], [srcToken, destToken]],
147
+ recipient,
148
+ placeholder,
149
+ ]
150
+ : [
151
+ destAmount,
152
+ srcAmount,
153
+ [[data.binStep], [this.versionIndex], [srcToken, destToken]],
154
+ recipient,
155
+ placeholder,
156
+ ];
157
+
158
+ const swapData = this.exchangeRouterInterface.encodeFunctionData(
159
+ swapFunction,
160
+ swapFunctionParams,
161
+ );
162
+
163
+ return {
164
+ needWrapNative: this.needWrapNative,
165
+ dexFuncHasRecipient: true,
166
+ exchangeData: swapData,
167
+ targetExchange: this.routerAddress,
168
+ returnAmountPos:
169
+ side === SwapSide.SELL
170
+ ? extractReturnAmountPosition(
171
+ this.exchangeRouterInterface,
172
+ swapFunction,
173
+ 'amountOut',
174
+ )
175
+ : undefined,
176
+ };
177
+ }
178
+ }
@@ -7,3 +7,8 @@ export const TRADERJOE_V2_1_ROUTER_ADDRESS: { [network: number]: Address } = {
7
7
  [Network.BSC]: '0xb4315e873dBcf96Ffd0acd8EA43f689D8c20fB30',
8
8
  [Network.MAINNET]: '0x9A93a421b74F1c5755b83dD2C211614dC419C44b',
9
9
  };
10
+
11
+ export const TRADERJOE_V2_2_ROUTER_ADDRESS: { [network: number]: Address } = {
12
+ [Network.AVALANCHE]: '0x18556da13313f3532c54711497a8fedac273220e',
13
+ [Network.ARBITRUM]: '0x18556da13313f3532c54711497a8fedac273220e',
14
+ };