@paraswap/dex-lib 3.8.5 → 3.8.6-augustus-rfq.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 (199) 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/AaveV1_lending_pool.json +27 -0
  5. package/build/abi/platypus/asset.json +490 -0
  6. package/build/abi/platypus/avax-pool.json +820 -0
  7. package/build/abi/platypus/oracle.json +119 -0
  8. package/build/abi/platypus/pool.json +677 -0
  9. package/build/abi/smardex/all/smardex-router.json +648 -0
  10. package/build/abi/smardex/layer-1/smardex-factory.json +242 -0
  11. package/build/abi/smardex/layer-1/smardex-pool.json +506 -0
  12. package/build/abi/smardex/layer-2/smardex-factory.json +185 -0
  13. package/build/abi/smardex/layer-2/smardex-pool.json +578 -0
  14. package/build/abi/swaap-v1/pool.json +1346 -0
  15. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +52 -0
  16. package/build/abi/wombat/pool.json +1289 -0
  17. package/build/dex/aave-v1/aave-v1.d.ts +34 -0
  18. package/build/dex/aave-v1/aave-v1.js +181 -0
  19. package/build/dex/aave-v1/aave-v1.js.map +1 -0
  20. package/build/dex/aave-v1/config.d.ts +11 -0
  21. package/build/dex/aave-v1/config.js +20 -0
  22. package/build/dex/aave-v1/config.js.map +1 -0
  23. package/build/dex/aave-v1/tokens-mainnet.json +134 -0
  24. package/build/dex/aave-v1/tokens.d.ts +3 -0
  25. package/build/dex/aave-v1/tokens.js +50 -0
  26. package/build/dex/aave-v1/tokens.js.map +1 -0
  27. package/build/dex/aave-v1/types.d.ts +12 -0
  28. package/build/dex/aave-v1/types.js +3 -0
  29. package/build/dex/aave-v1/types.js.map +1 -0
  30. package/build/dex/aave-v2/tokens-avalanche.json +44 -0
  31. package/build/dex/aave-v2/tokens-mainnet.json +188 -0
  32. package/build/dex/aave-v2/tokens-polygon.json +44 -0
  33. package/build/dex/bProtocol.d.ts +18 -0
  34. package/build/dex/bProtocol.js +39 -0
  35. package/build/dex/bProtocol.js.map +1 -0
  36. package/build/dex/bancor.d.ts +26 -0
  37. package/build/dex/bancor.js +58 -0
  38. package/build/dex/bancor.js.map +1 -0
  39. package/build/dex/compound.d.ts +18 -0
  40. package/build/dex/compound.js +46 -0
  41. package/build/dex/compound.js.map +1 -0
  42. package/build/dex/curve-v2.d.ts +58 -0
  43. package/build/dex/curve-v2.js +180 -0
  44. package/build/dex/curve-v2.js.map +1 -0
  45. package/build/dex/dodo-v1.d.ts +33 -0
  46. package/build/dex/dodo-v1.js +63 -0
  47. package/build/dex/dodo-v1.js.map +1 -0
  48. package/build/dex/generic-rfq/generic-rfq.js +11 -2
  49. package/build/dex/generic-rfq/generic-rfq.js.map +1 -1
  50. package/build/dex/generic-rfq/rate-fetcher.d.ts +1 -0
  51. package/build/dex/generic-rfq/rate-fetcher.js +13 -0
  52. package/build/dex/generic-rfq/rate-fetcher.js.map +1 -1
  53. package/build/dex/lido.d.ts +19 -0
  54. package/build/dex/lido.js +42 -0
  55. package/build/dex/lido.js.map +1 -0
  56. package/build/dex/maker-psm/scripts/gem.abi.json +136 -0
  57. package/build/dex/maker-psm/scripts/validate-state.d.ts +0 -0
  58. package/build/dex/maker-psm/scripts/validate-state.js +185 -0
  59. package/build/dex/maker-psm/scripts/validate-state.js.map +1 -0
  60. package/build/dex/maker-psm/scripts/vat.abi.json +243 -0
  61. package/build/dex/onebit.d.ts +25 -0
  62. package/build/dex/onebit.js +42 -0
  63. package/build/dex/onebit.js.map +1 -0
  64. package/build/dex/platypus/asset.d.ts +14 -0
  65. package/build/dex/platypus/asset.js +97 -0
  66. package/build/dex/platypus/asset.js.map +1 -0
  67. package/build/dex/platypus/config.d.ts +11 -0
  68. package/build/dex/platypus/config.js +69 -0
  69. package/build/dex/platypus/config.js.map +1 -0
  70. package/build/dex/platypus/platypus.d.ts +63 -0
  71. package/build/dex/platypus/platypus.js +487 -0
  72. package/build/dex/platypus/platypus.js.map +1 -0
  73. package/build/dex/platypus/pool-avax.d.ts +8 -0
  74. package/build/dex/platypus/pool-avax.js +54 -0
  75. package/build/dex/platypus/pool-avax.js.map +1 -0
  76. package/build/dex/platypus/pool-base.d.ts +19 -0
  77. package/build/dex/platypus/pool-base.js +86 -0
  78. package/build/dex/platypus/pool-base.js.map +1 -0
  79. package/build/dex/platypus/pool-pure.d.ts +8 -0
  80. package/build/dex/platypus/pool-pure.js +37 -0
  81. package/build/dex/platypus/pool-pure.js.map +1 -0
  82. package/build/dex/platypus/pool-subscriber.d.ts +14 -0
  83. package/build/dex/platypus/pool-subscriber.js +167 -0
  84. package/build/dex/platypus/pool-subscriber.js.map +1 -0
  85. package/build/dex/platypus/pool.d.ts +8 -0
  86. package/build/dex/platypus/pool.js +58 -0
  87. package/build/dex/platypus/pool.js.map +1 -0
  88. package/build/dex/platypus/types.d.ts +92 -0
  89. package/build/dex/platypus/types.js +10 -0
  90. package/build/dex/platypus/types.js.map +1 -0
  91. package/build/dex/quickswap/spiritswap-v3.d.ts +6 -0
  92. package/build/dex/quickswap/spiritswap-v3.js +19 -0
  93. package/build/dex/quickswap/spiritswap-v3.js.map +1 -0
  94. package/build/dex/smardex/config.d.ts +4 -0
  95. package/build/dex/smardex/config.js +64 -0
  96. package/build/dex/smardex/config.js.map +1 -0
  97. package/build/dex/smardex/constants.d.ts +18 -0
  98. package/build/dex/smardex/constants.js +33 -0
  99. package/build/dex/smardex/constants.js.map +1 -0
  100. package/build/dex/smardex/sdk/constants.d.ts +6 -0
  101. package/build/dex/smardex/sdk/constants.js +13 -0
  102. package/build/dex/smardex/sdk/constants.js.map +1 -0
  103. package/build/dex/smardex/sdk/core.d.ts +113 -0
  104. package/build/dex/smardex/sdk/core.js +499 -0
  105. package/build/dex/smardex/sdk/core.js.map +1 -0
  106. package/build/dex/smardex/sdk/errors.d.ts +15 -0
  107. package/build/dex/smardex/sdk/errors.js +22 -0
  108. package/build/dex/smardex/sdk/errors.js.map +1 -0
  109. package/build/dex/smardex/sdk/types.d.ts +62 -0
  110. package/build/dex/smardex/sdk/types.js +3 -0
  111. package/build/dex/smardex/sdk/types.js.map +1 -0
  112. package/build/dex/smardex/sdk/utils.d.ts +44 -0
  113. package/build/dex/smardex/sdk/utils.js +133 -0
  114. package/build/dex/smardex/sdk/utils.js.map +1 -0
  115. package/build/dex/smardex/smardex-event-pool.d.ts +28 -0
  116. package/build/dex/smardex/smardex-event-pool.js +119 -0
  117. package/build/dex/smardex/smardex-event-pool.js.map +1 -0
  118. package/build/dex/smardex/smardex.d.ts +65 -0
  119. package/build/dex/smardex/smardex.js +519 -0
  120. package/build/dex/smardex/smardex.js.map +1 -0
  121. package/build/dex/smardex/types.d.ts +55 -0
  122. package/build/dex/smardex/types.js +3 -0
  123. package/build/dex/smardex/types.js.map +1 -0
  124. package/build/dex/smoothy.d.ts +26 -0
  125. package/build/dex/smoothy.js +48 -0
  126. package/build/dex/smoothy.js.map +1 -0
  127. package/build/dex/solidly/forks-override/cone.d.ts +22 -0
  128. package/build/dex/solidly/forks-override/cone.js +53 -0
  129. package/build/dex/solidly/forks-override/cone.js.map +1 -0
  130. package/build/dex/solidly/forks-override/solisnek.d.ts +8 -0
  131. package/build/dex/solidly/forks-override/solisnek.js +15 -0
  132. package/build/dex/solidly/forks-override/solisnek.js.map +1 -0
  133. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +1 -0
  134. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +53 -0
  135. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +1 -0
  136. package/build/dex/stable-pool.d.ts +28 -0
  137. package/build/dex/stable-pool.js +55 -0
  138. package/build/dex/stable-pool.js.map +1 -0
  139. package/build/dex/swaap-v1/config.d.ts +17 -0
  140. package/build/dex/swaap-v1/config.js +56 -0
  141. package/build/dex/swaap-v1/config.js.map +1 -0
  142. package/build/dex/swaap-v1/constants.d.ts +6 -0
  143. package/build/dex/swaap-v1/constants.js +17 -0
  144. package/build/dex/swaap-v1/constants.js.map +1 -0
  145. package/build/dex/swaap-v1/libraries/ChainlinkUtils.d.ts +25 -0
  146. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js +62 -0
  147. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js.map +1 -0
  148. package/build/dex/swaap-v1/libraries/Const.d.ts +18 -0
  149. package/build/dex/swaap-v1/libraries/Const.js +26 -0
  150. package/build/dex/swaap-v1/libraries/Const.js.map +1 -0
  151. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.d.ts +77 -0
  152. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js +316 -0
  153. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js.map +1 -0
  154. package/build/dex/swaap-v1/libraries/LogExpMath.d.ts +75 -0
  155. package/build/dex/swaap-v1/libraries/LogExpMath.js +418 -0
  156. package/build/dex/swaap-v1/libraries/LogExpMath.js.map +1 -0
  157. package/build/dex/swaap-v1/libraries/MathMMM.d.ts +185 -0
  158. package/build/dex/swaap-v1/libraries/MathMMM.js +453 -0
  159. package/build/dex/swaap-v1/libraries/MathMMM.js.map +1 -0
  160. package/build/dex/swaap-v1/libraries/Num.d.ts +31 -0
  161. package/build/dex/swaap-v1/libraries/Num.js +167 -0
  162. package/build/dex/swaap-v1/libraries/Num.js.map +1 -0
  163. package/build/dex/swaap-v1/libraries/PoolQuotations.d.ts +23 -0
  164. package/build/dex/swaap-v1/libraries/PoolQuotations.js +131 -0
  165. package/build/dex/swaap-v1/libraries/PoolQuotations.js.map +1 -0
  166. package/build/dex/swaap-v1/libraries/Struct.d.ts +56 -0
  167. package/build/dex/swaap-v1/libraries/Struct.js +3 -0
  168. package/build/dex/swaap-v1/libraries/Struct.js.map +1 -0
  169. package/build/dex/swaap-v1/swaap-v1-pool.d.ts +45 -0
  170. package/build/dex/swaap-v1/swaap-v1-pool.js +656 -0
  171. package/build/dex/swaap-v1/swaap-v1-pool.js.map +1 -0
  172. package/build/dex/swaap-v1/swaap-v1.d.ts +62 -0
  173. package/build/dex/swaap-v1/swaap-v1.js +383 -0
  174. package/build/dex/swaap-v1/swaap-v1.js.map +1 -0
  175. package/build/dex/swaap-v1/types.d.ts +106 -0
  176. package/build/dex/swaap-v1/types.js +9 -0
  177. package/build/dex/swaap-v1/types.js.map +1 -0
  178. package/build/dex/trader-joe-v2.1.d.ts +43 -0
  179. package/build/dex/trader-joe-v2.1.js +79 -0
  180. package/build/dex/trader-joe-v2.1.js.map +1 -0
  181. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +17 -0
  182. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +64 -0
  183. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +1 -0
  184. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +17 -0
  185. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +79 -0
  186. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +1 -0
  187. package/config.ts +1946 -0
  188. package/package.json +1 -1
  189. package/src/dex/dexs.txt +58 -0
  190. package/src/dex/generic-rfq/generic-rfq.ts +13 -2
  191. package/src/dex/generic-rfq/rate-fetcher.ts +28 -0
  192. package/.idea/aws.xml +0 -17
  193. package/.idea/codeStyles/Project.xml +0 -19
  194. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  195. package/.idea/misc.xml +0 -6
  196. package/.idea/modules.xml +0 -8
  197. package/.idea/paraswap-dex-lib.iml +0 -9
  198. package/.idea/prettier.xml +0 -7
  199. package/.idea/vcs.xml +0 -6
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "3.8.5",
3
+ "version": "3.8.6-augustus-rfq.0",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
@@ -0,0 +1,58 @@
1
+ aave-v2
2
+ aave-v3
3
+ aave-v3-stata
4
+ algebra
5
+ angle-staked-stable
6
+ angle-transmuter
7
+ augustus-approvals.ts
8
+ augustus-rfq.ts
9
+ balancer-v1
10
+ balancer-v2
11
+ bancor
12
+ camelot
13
+ compound
14
+ curve-v1
15
+ curve-v1-factory
16
+ curve-v1-stable-ng
17
+ curve-v2
18
+ dexalot
19
+ dexs.txt
20
+ dodo-v1
21
+ dodo-v2.ts
22
+ etherfi.ts
23
+ generic-rfq
24
+ gmx
25
+ hashflow
26
+ idex.ts
27
+ idle-dao
28
+ index.ts
29
+ jarvis-v6
30
+ kyberdmm
31
+ lido
32
+ limit-order-exchange.ts
33
+ maker-psm
34
+ maverick-v1
35
+ maverick-v2
36
+ nerve
37
+ pancakeswap-v3
38
+ paraswap-limit-orders
39
+ polygon-migrator
40
+ quick-perps
41
+ quickswap
42
+ simple-exchange.ts
43
+ smoothy
44
+ solidly
45
+ solidly-v3
46
+ spark
47
+ stable-pool
48
+ swaap-v2
49
+ swell
50
+ synthetix
51
+ trader-joe-v2.1
52
+ uniswap-v2
53
+ uniswap-v3
54
+ uniswap-v3.ts
55
+ weth
56
+ wombat
57
+ woo-fi-v2
58
+ wsteth
@@ -84,8 +84,19 @@ export class GenericRFQ extends ParaSwapLimitOrders {
84
84
  side: SwapSide,
85
85
  blockNumber: number,
86
86
  ): Promise<string[]> {
87
- const _destToken = this.dexHelper.config.wrapETH(destToken);
88
- return [this.getIdentifier(srcToken.address, _destToken.address)];
87
+ const _destToken = this.dexHelper.config
88
+ .wrapETH(destToken)
89
+ .address.toLowerCase();
90
+ const _srcToken = this.dexHelper.config
91
+ .wrapETH(srcToken)
92
+ .address.toLowerCase();
93
+
94
+ const currentPair = `${_srcToken}_${_destToken}`;
95
+ const availablePairs = await this.rateFetcher.getAvailablePairs();
96
+
97
+ return availablePairs
98
+ .filter(p => p === currentPair)
99
+ .map(_ => this.getIdentifier(_srcToken, _destToken));
89
100
  }
90
101
 
91
102
  calcOutsFromAmounts(
@@ -228,6 +228,8 @@ export class RateFetcher {
228
228
 
229
229
  if (isEmpty(pairs)) return;
230
230
 
231
+ const currentPricePairs = new Set();
232
+
231
233
  Object.keys(resp.prices).forEach(pairName => {
232
234
  const pair = pairs[pairName];
233
235
  if (!pair) {
@@ -257,6 +259,7 @@ export class RateFetcher {
257
259
  this.config.rateConfig.dataTTLS,
258
260
  JSON.stringify(prices.bids),
259
261
  );
262
+ currentPricePairs.add(`${baseToken.address}_${quoteToken.address}`);
260
263
  }
261
264
 
262
265
  if (prices.asks.length) {
@@ -267,8 +270,19 @@ export class RateFetcher {
267
270
  this.config.rateConfig.dataTTLS,
268
271
  JSON.stringify(prices.asks),
269
272
  );
273
+ currentPricePairs.add(`${quoteToken.address}_${baseToken.address}`);
270
274
  }
271
275
  });
276
+
277
+ if (currentPricePairs.size > 0) {
278
+ this.dexHelper.cache.setex(
279
+ this.dexKey,
280
+ this.dexHelper.config.data.network,
281
+ `pairs`,
282
+ this.config.rateConfig.dataTTLS,
283
+ JSON.stringify(Array.from(currentPricePairs)),
284
+ );
285
+ }
272
286
  }
273
287
 
274
288
  checkHealth(): boolean {
@@ -307,6 +321,20 @@ export class RateFetcher {
307
321
  });
308
322
  }
309
323
 
324
+ public async getAvailablePairs(): Promise<string[]> {
325
+ const pairs = await this.dexHelper.cache.get(
326
+ this.dexKey,
327
+ this.dexHelper.config.data.network,
328
+ `pairs`,
329
+ );
330
+
331
+ if (!pairs) {
332
+ return [];
333
+ }
334
+
335
+ return JSON.parse(pairs) as string[];
336
+ }
337
+
310
338
  public async getOrderPrice(
311
339
  srcToken: Token,
312
340
  destToken: Token,
package/.idea/aws.xml DELETED
@@ -1,17 +0,0 @@
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>
@@ -1,19 +0,0 @@
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>
@@ -1,5 +0,0 @@
1
- <component name="ProjectCodeStyleConfiguration">
2
- <state>
3
- <option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" />
4
- </state>
5
- </component>
package/.idea/misc.xml DELETED
@@ -1,6 +0,0 @@
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>
package/.idea/modules.xml DELETED
@@ -1,8 +0,0 @@
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>
@@ -1,9 +0,0 @@
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>
@@ -1,7 +0,0 @@
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 DELETED
@@ -1,6 +0,0 @@
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>