@paraswap/dex-lib 3.8.28-fm.11 → 3.8.28-fm.13

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 (246) 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/BProtocol.json +1155 -0
  6. package/build/abi/Jarvis.json +1172 -0
  7. package/build/abi/MStableAsset.json +1545 -0
  8. package/build/abi/OneInchLp.json +1304 -0
  9. package/build/abi/Onebit.json +736 -0
  10. package/build/abi/Shell.json +1294 -0
  11. package/build/abi/TraderJoeV2Router.json +50 -0
  12. package/build/abi/platypus/asset.json +490 -0
  13. package/build/abi/platypus/avax-pool.json +820 -0
  14. package/build/abi/platypus/oracle.json +119 -0
  15. package/build/abi/platypus/pool.json +677 -0
  16. package/build/abi/smardex/all/smardex-router.json +648 -0
  17. package/build/abi/smardex/layer-1/smardex-factory.json +242 -0
  18. package/build/abi/smardex/layer-1/smardex-pool.json +506 -0
  19. package/build/abi/smardex/layer-2/smardex-factory.json +185 -0
  20. package/build/abi/smardex/layer-2/smardex-pool.json +578 -0
  21. package/build/abi/swaap-v1/pool.json +1346 -0
  22. package/build/abi/uniswap-v3/AlienBaseV3Router.abi.json +52 -0
  23. package/build/abi/wombat/pool.json +1289 -0
  24. package/build/abi/zrx.v2.json +1967 -0
  25. package/build/abi/zrx.v3.json +3454 -0
  26. package/build/abi/zrx.v4.json +2193 -0
  27. package/build/dex/OneInchLp.d.ts +24 -0
  28. package/build/dex/OneInchLp.js +43 -0
  29. package/build/dex/OneInchLp.js.map +1 -0
  30. package/build/dex/aave-v1/aave-v1.d.ts +34 -0
  31. package/build/dex/aave-v1/aave-v1.js +181 -0
  32. package/build/dex/aave-v1/aave-v1.js.map +1 -0
  33. package/build/dex/aave-v1/config.d.ts +11 -0
  34. package/build/dex/aave-v1/config.js +20 -0
  35. package/build/dex/aave-v1/config.js.map +1 -0
  36. package/build/dex/aave-v1/tokens-mainnet.json +134 -0
  37. package/build/dex/aave-v1/tokens.d.ts +3 -0
  38. package/build/dex/aave-v1/tokens.js +50 -0
  39. package/build/dex/aave-v1/tokens.js.map +1 -0
  40. package/build/dex/aave-v1/types.d.ts +12 -0
  41. package/build/dex/aave-v1/types.js +3 -0
  42. package/build/dex/aave-v1/types.js.map +1 -0
  43. package/build/dex/aave-v2/tokens-avalanche.json +44 -0
  44. package/build/dex/aave-v2/tokens-mainnet.json +188 -0
  45. package/build/dex/aave-v2/tokens-polygon.json +44 -0
  46. package/build/dex/bProtocol/bProtocol.d.ts +15 -0
  47. package/build/dex/bProtocol/bProtocol.js +56 -0
  48. package/build/dex/bProtocol/bProtocol.js.map +1 -0
  49. package/build/dex/bProtocol/types.d.ts +11 -0
  50. package/build/dex/bProtocol/types.js +8 -0
  51. package/build/dex/bProtocol/types.js.map +1 -0
  52. package/build/dex/bProtocol.d.ts +18 -0
  53. package/build/dex/bProtocol.js +39 -0
  54. package/build/dex/bProtocol.js.map +1 -0
  55. package/build/dex/bancor.d.ts +26 -0
  56. package/build/dex/bancor.js +58 -0
  57. package/build/dex/bancor.js.map +1 -0
  58. package/build/dex/compound.d.ts +18 -0
  59. package/build/dex/compound.js +46 -0
  60. package/build/dex/compound.js.map +1 -0
  61. package/build/dex/curve-v2.d.ts +58 -0
  62. package/build/dex/curve-v2.js +180 -0
  63. package/build/dex/curve-v2.js.map +1 -0
  64. package/build/dex/dodo-v1.d.ts +33 -0
  65. package/build/dex/dodo-v1.js +63 -0
  66. package/build/dex/dodo-v1.js.map +1 -0
  67. package/build/dex/jarvis.d.ts +56 -0
  68. package/build/dex/jarvis.js +163 -0
  69. package/build/dex/jarvis.js.map +1 -0
  70. package/build/dex/lido.d.ts +19 -0
  71. package/build/dex/lido.js +42 -0
  72. package/build/dex/lido.js.map +1 -0
  73. package/build/dex/mStable.d.ts +44 -0
  74. package/build/dex/mStable.js +75 -0
  75. package/build/dex/mStable.js.map +1 -0
  76. package/build/dex/maker-psm/scripts/gem.abi.json +136 -0
  77. package/build/dex/maker-psm/scripts/validate-state.d.ts +0 -0
  78. package/build/dex/maker-psm/scripts/validate-state.js +185 -0
  79. package/build/dex/maker-psm/scripts/validate-state.js.map +1 -0
  80. package/build/dex/maker-psm/scripts/vat.abi.json +243 -0
  81. package/build/dex/onebit/onebit.d.ts +16 -0
  82. package/build/dex/onebit/onebit.js +61 -0
  83. package/build/dex/onebit/onebit.js.map +1 -0
  84. package/build/dex/onebit/types.d.ts +14 -0
  85. package/build/dex/onebit/types.js +8 -0
  86. package/build/dex/onebit/types.js.map +1 -0
  87. package/build/dex/onebit.d.ts +25 -0
  88. package/build/dex/onebit.js +42 -0
  89. package/build/dex/onebit.js.map +1 -0
  90. package/build/dex/platypus/asset.d.ts +14 -0
  91. package/build/dex/platypus/asset.js +97 -0
  92. package/build/dex/platypus/asset.js.map +1 -0
  93. package/build/dex/platypus/config.d.ts +11 -0
  94. package/build/dex/platypus/config.js +69 -0
  95. package/build/dex/platypus/config.js.map +1 -0
  96. package/build/dex/platypus/platypus.d.ts +63 -0
  97. package/build/dex/platypus/platypus.js +487 -0
  98. package/build/dex/platypus/platypus.js.map +1 -0
  99. package/build/dex/platypus/pool-avax.d.ts +8 -0
  100. package/build/dex/platypus/pool-avax.js +54 -0
  101. package/build/dex/platypus/pool-avax.js.map +1 -0
  102. package/build/dex/platypus/pool-base.d.ts +19 -0
  103. package/build/dex/platypus/pool-base.js +86 -0
  104. package/build/dex/platypus/pool-base.js.map +1 -0
  105. package/build/dex/platypus/pool-pure.d.ts +8 -0
  106. package/build/dex/platypus/pool-pure.js +37 -0
  107. package/build/dex/platypus/pool-pure.js.map +1 -0
  108. package/build/dex/platypus/pool-subscriber.d.ts +14 -0
  109. package/build/dex/platypus/pool-subscriber.js +167 -0
  110. package/build/dex/platypus/pool-subscriber.js.map +1 -0
  111. package/build/dex/platypus/pool.d.ts +8 -0
  112. package/build/dex/platypus/pool.js +58 -0
  113. package/build/dex/platypus/pool.js.map +1 -0
  114. package/build/dex/platypus/types.d.ts +92 -0
  115. package/build/dex/platypus/types.js +10 -0
  116. package/build/dex/platypus/types.js.map +1 -0
  117. package/build/dex/quickswap/spiritswap-v3.d.ts +6 -0
  118. package/build/dex/quickswap/spiritswap-v3.js +19 -0
  119. package/build/dex/quickswap/spiritswap-v3.js.map +1 -0
  120. package/build/dex/shell.d.ts +25 -0
  121. package/build/dex/shell.js +41 -0
  122. package/build/dex/shell.js.map +1 -0
  123. package/build/dex/smardex/config.d.ts +4 -0
  124. package/build/dex/smardex/config.js +64 -0
  125. package/build/dex/smardex/config.js.map +1 -0
  126. package/build/dex/smardex/constants.d.ts +18 -0
  127. package/build/dex/smardex/constants.js +33 -0
  128. package/build/dex/smardex/constants.js.map +1 -0
  129. package/build/dex/smardex/sdk/constants.d.ts +6 -0
  130. package/build/dex/smardex/sdk/constants.js +13 -0
  131. package/build/dex/smardex/sdk/constants.js.map +1 -0
  132. package/build/dex/smardex/sdk/core.d.ts +113 -0
  133. package/build/dex/smardex/sdk/core.js +499 -0
  134. package/build/dex/smardex/sdk/core.js.map +1 -0
  135. package/build/dex/smardex/sdk/errors.d.ts +15 -0
  136. package/build/dex/smardex/sdk/errors.js +22 -0
  137. package/build/dex/smardex/sdk/errors.js.map +1 -0
  138. package/build/dex/smardex/sdk/types.d.ts +62 -0
  139. package/build/dex/smardex/sdk/types.js +3 -0
  140. package/build/dex/smardex/sdk/types.js.map +1 -0
  141. package/build/dex/smardex/sdk/utils.d.ts +44 -0
  142. package/build/dex/smardex/sdk/utils.js +133 -0
  143. package/build/dex/smardex/sdk/utils.js.map +1 -0
  144. package/build/dex/smardex/smardex-event-pool.d.ts +28 -0
  145. package/build/dex/smardex/smardex-event-pool.js +119 -0
  146. package/build/dex/smardex/smardex-event-pool.js.map +1 -0
  147. package/build/dex/smardex/smardex.d.ts +65 -0
  148. package/build/dex/smardex/smardex.js +519 -0
  149. package/build/dex/smardex/smardex.js.map +1 -0
  150. package/build/dex/smardex/types.d.ts +55 -0
  151. package/build/dex/smardex/types.js +3 -0
  152. package/build/dex/smardex/types.js.map +1 -0
  153. package/build/dex/smoothy.d.ts +26 -0
  154. package/build/dex/smoothy.js +48 -0
  155. package/build/dex/smoothy.js.map +1 -0
  156. package/build/dex/solidly/forks-override/cone.d.ts +22 -0
  157. package/build/dex/solidly/forks-override/cone.js +53 -0
  158. package/build/dex/solidly/forks-override/cone.js.map +1 -0
  159. package/build/dex/solidly/forks-override/solisnek.d.ts +8 -0
  160. package/build/dex/solidly/forks-override/solisnek.js +15 -0
  161. package/build/dex/solidly/forks-override/solisnek.js.map +1 -0
  162. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +1 -0
  163. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +53 -0
  164. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +1 -0
  165. package/build/dex/stable-pool.d.ts +28 -0
  166. package/build/dex/stable-pool.js +55 -0
  167. package/build/dex/stable-pool.js.map +1 -0
  168. package/build/dex/swaap-v1/config.d.ts +17 -0
  169. package/build/dex/swaap-v1/config.js +56 -0
  170. package/build/dex/swaap-v1/config.js.map +1 -0
  171. package/build/dex/swaap-v1/constants.d.ts +6 -0
  172. package/build/dex/swaap-v1/constants.js +17 -0
  173. package/build/dex/swaap-v1/constants.js.map +1 -0
  174. package/build/dex/swaap-v1/libraries/ChainlinkUtils.d.ts +25 -0
  175. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js +62 -0
  176. package/build/dex/swaap-v1/libraries/ChainlinkUtils.js.map +1 -0
  177. package/build/dex/swaap-v1/libraries/Const.d.ts +18 -0
  178. package/build/dex/swaap-v1/libraries/Const.js +26 -0
  179. package/build/dex/swaap-v1/libraries/Const.js.map +1 -0
  180. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.d.ts +77 -0
  181. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js +316 -0
  182. package/build/dex/swaap-v1/libraries/GeometricBrownianMotion.js.map +1 -0
  183. package/build/dex/swaap-v1/libraries/LogExpMath.d.ts +75 -0
  184. package/build/dex/swaap-v1/libraries/LogExpMath.js +418 -0
  185. package/build/dex/swaap-v1/libraries/LogExpMath.js.map +1 -0
  186. package/build/dex/swaap-v1/libraries/MathMMM.d.ts +185 -0
  187. package/build/dex/swaap-v1/libraries/MathMMM.js +453 -0
  188. package/build/dex/swaap-v1/libraries/MathMMM.js.map +1 -0
  189. package/build/dex/swaap-v1/libraries/Num.d.ts +31 -0
  190. package/build/dex/swaap-v1/libraries/Num.js +167 -0
  191. package/build/dex/swaap-v1/libraries/Num.js.map +1 -0
  192. package/build/dex/swaap-v1/libraries/PoolQuotations.d.ts +23 -0
  193. package/build/dex/swaap-v1/libraries/PoolQuotations.js +131 -0
  194. package/build/dex/swaap-v1/libraries/PoolQuotations.js.map +1 -0
  195. package/build/dex/swaap-v1/libraries/Struct.d.ts +56 -0
  196. package/build/dex/swaap-v1/libraries/Struct.js +3 -0
  197. package/build/dex/swaap-v1/libraries/Struct.js.map +1 -0
  198. package/build/dex/swaap-v1/swaap-v1-pool.d.ts +45 -0
  199. package/build/dex/swaap-v1/swaap-v1-pool.js +656 -0
  200. package/build/dex/swaap-v1/swaap-v1-pool.js.map +1 -0
  201. package/build/dex/swaap-v1/swaap-v1.d.ts +62 -0
  202. package/build/dex/swaap-v1/swaap-v1.js +383 -0
  203. package/build/dex/swaap-v1/swaap-v1.js.map +1 -0
  204. package/build/dex/swaap-v1/types.d.ts +106 -0
  205. package/build/dex/swaap-v1/types.js +9 -0
  206. package/build/dex/swaap-v1/types.js.map +1 -0
  207. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.d.ts +7 -0
  208. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.js +20 -0
  209. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.js.map +1 -0
  210. package/build/dex/trader-joe-v2.1.d.ts +43 -0
  211. package/build/dex/trader-joe-v2.1.js +79 -0
  212. package/build/dex/trader-joe-v2.1.js.map +1 -0
  213. package/build/dex/trader-joe-v2.d.ts +40 -0
  214. package/build/dex/trader-joe-v2.js +74 -0
  215. package/build/dex/trader-joe-v2.js.map +1 -0
  216. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +17 -0
  217. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +64 -0
  218. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +1 -0
  219. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +17 -0
  220. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +79 -0
  221. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +1 -0
  222. package/build/dex/uniswap-v3/uniswap-v3.js +1 -1
  223. package/build/dex/uniswap-v3/uniswap-v3.js.map +1 -1
  224. package/build/dex/zerox/config.d.ts +2 -0
  225. package/build/dex/zerox/config.js +33 -0
  226. package/build/dex/zerox/config.js.map +1 -0
  227. package/build/dex/zerox/index.d.ts +22 -0
  228. package/build/dex/zerox/index.js +225 -0
  229. package/build/dex/zerox/index.js.map +1 -0
  230. package/build/dex/zerox/order.d.ts +88 -0
  231. package/build/dex/zerox/order.js +53 -0
  232. package/build/dex/zerox/order.js.map +1 -0
  233. package/build/dex/zerox/types.d.ts +73 -0
  234. package/build/dex/zerox/types.js +21 -0
  235. package/build/dex/zerox/types.js.map +1 -0
  236. package/build/pricing-helper.js +13 -2
  237. package/build/pricing-helper.js.map +1 -1
  238. package/package.json +1 -1
  239. package/src/dex/uniswap-v3/uniswap-v3.ts +18 -17
  240. package/src/pricing-helper.ts +34 -2
  241. package/build/dex-utils.d.ts +0 -3
  242. package/build/dex-utils.js +0 -10
  243. package/build/dex-utils.js.map +0 -1
  244. package/build/stateful-dual-synchronizer.d.ts +0 -46
  245. package/build/stateful-dual-synchronizer.js +0 -300
  246. package/build/stateful-dual-synchronizer.js.map +0 -1
@@ -0,0 +1,73 @@
1
+ import { Address } from '@paraswap/sdk';
2
+ import { NumberAsString } from '../../types';
3
+ export declare enum OrderStatus {
4
+ INVALID = 0,
5
+ INVALID_MAKER_ASSET_AMOUNT = 1,
6
+ INVALID_TAKER_ASSET_AMOUNT = 2,
7
+ FILLABLE = 3,
8
+ EXPIRED = 4,
9
+ FULLY_FILLED = 5,
10
+ CANCELLED = 6
11
+ }
12
+ declare type Value = NumberAsString | number;
13
+ export interface ZeroXSignedOrderV2 {
14
+ senderAddress: string;
15
+ makerAddress: string;
16
+ takerAddress: string;
17
+ makerFee: Value;
18
+ takerFee: Value;
19
+ makerAssetAmount: Value;
20
+ takerAssetAmount: Value;
21
+ makerAssetData: string;
22
+ takerAssetData: string;
23
+ salt: Value;
24
+ exchangeAddress: string;
25
+ feeRecipientAddress: string;
26
+ expirationTimeSeconds: Value;
27
+ makerFeeAssetData: string;
28
+ takerFeeAssetData: string;
29
+ signature: string;
30
+ }
31
+ export interface ZeroXSignedOrderV4 {
32
+ makerToken: string;
33
+ takerToken: string;
34
+ makerAmount: Value;
35
+ takerAmount: Value;
36
+ maker: string;
37
+ taker: string;
38
+ txOrigin: string;
39
+ pool: string;
40
+ expiry: Value;
41
+ salt: Value;
42
+ signature: any;
43
+ }
44
+ export declare type ZeroXSignedOrder = ZeroXSignedOrderV2 | ZeroXSignedOrderV4;
45
+ export declare enum ZeroXFunctions {
46
+ swapOnZeroXv2 = "swapOnZeroXv2",
47
+ swapOnZeroXv4 = "swapOnZeroXv4",
48
+ swapOnZeroXv2WithPermit = "swapOnZeroXv2WithPermit",
49
+ swapOnZeroXv4WithPermit = "swapOnZeroXv4WithPermit"
50
+ }
51
+ export declare type ZeroXData = {
52
+ version: number;
53
+ order: ZeroXSignedOrder;
54
+ };
55
+ export declare type SwapOnZeroXParam = [
56
+ srcToken: Address,
57
+ destToken: Address,
58
+ srcAmount: NumberAsString,
59
+ destAmount: NumberAsString,
60
+ exchange: Address,
61
+ payload: string
62
+ ];
63
+ export declare type SwapOnZeroXWithPermitParam = [
64
+ srcToken: Address,
65
+ destToken: Address,
66
+ srcAmount: NumberAsString,
67
+ destAmount: NumberAsString,
68
+ exchange: Address,
69
+ payload: string,
70
+ permit: string
71
+ ];
72
+ export declare type ZeroXParam = SwapOnZeroXParam | SwapOnZeroXWithPermitParam;
73
+ export {};
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZeroXFunctions = exports.OrderStatus = void 0;
4
+ var OrderStatus;
5
+ (function (OrderStatus) {
6
+ OrderStatus[OrderStatus["INVALID"] = 0] = "INVALID";
7
+ OrderStatus[OrderStatus["INVALID_MAKER_ASSET_AMOUNT"] = 1] = "INVALID_MAKER_ASSET_AMOUNT";
8
+ OrderStatus[OrderStatus["INVALID_TAKER_ASSET_AMOUNT"] = 2] = "INVALID_TAKER_ASSET_AMOUNT";
9
+ OrderStatus[OrderStatus["FILLABLE"] = 3] = "FILLABLE";
10
+ OrderStatus[OrderStatus["EXPIRED"] = 4] = "EXPIRED";
11
+ OrderStatus[OrderStatus["FULLY_FILLED"] = 5] = "FULLY_FILLED";
12
+ OrderStatus[OrderStatus["CANCELLED"] = 6] = "CANCELLED";
13
+ })(OrderStatus = exports.OrderStatus || (exports.OrderStatus = {}));
14
+ var ZeroXFunctions;
15
+ (function (ZeroXFunctions) {
16
+ ZeroXFunctions["swapOnZeroXv2"] = "swapOnZeroXv2";
17
+ ZeroXFunctions["swapOnZeroXv4"] = "swapOnZeroXv4";
18
+ ZeroXFunctions["swapOnZeroXv2WithPermit"] = "swapOnZeroXv2WithPermit";
19
+ ZeroXFunctions["swapOnZeroXv4WithPermit"] = "swapOnZeroXv4WithPermit";
20
+ })(ZeroXFunctions = exports.ZeroXFunctions || (exports.ZeroXFunctions = {}));
21
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/zerox/types.ts"],"names":[],"mappings":";;;AAGA,IAAY,WAQX;AARD,WAAY,WAAW;IACrB,mDAAO,CAAA;IACP,yFAA0B,CAAA;IAC1B,yFAA0B,CAAA;IAC1B,qDAAQ,CAAA;IACR,mDAAO,CAAA;IACP,6DAAY,CAAA;IACZ,uDAAS,CAAA;AACX,CAAC,EARW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAQtB;AAuCD,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,iDAA+B,CAAA;IAC/B,iDAA+B,CAAA;IAC/B,qEAAmD,CAAA;IACnD,qEAAmD,CAAA;AACrD,CAAC,EALW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAKzB"}
@@ -117,7 +117,10 @@ class PricingHelper {
117
117
  srcDexFee: 0,
118
118
  destDexFee: 0,
119
119
  }, rollupL1ToL2GasRatio, overrideTimeout, fmode) {
120
+ const start = Date.now();
121
+ const token_key = `${Math.round(Math.random() * 10000)}_${from.address}_${to.address}`.toLowerCase();
120
122
  const dexPoolPrices = await Promise.all(dexKeys.map(async (key) => {
123
+ const start = Date.now();
121
124
  try {
122
125
  const limitPools = limitPoolsMap ? limitPoolsMap[key] : null;
123
126
  if (limitPools && !limitPools.length)
@@ -170,16 +173,21 @@ class PricingHelper {
170
173
  }
171
174
  }, reject)
172
175
  .finally(() => {
176
+ this.logger.info(`{benchmarks} (total-for-dex): [finally] Dex ${key}, tokenPair: ${token_key} took ${end - start}ms to resolve/reject`);
173
177
  clearTimeout(timer);
174
178
  });
175
179
  });
176
180
  }
177
181
  catch (e) {
178
- this.logger.error(`Error_${key}_getPoolPrices:`, e);
182
+ this.logger.error(`{benchmarks} (limited-by-timeout-for-dex) [error]: Dex ${key}, tokenPair: ${token_key} took ${end - start}ms to resolve/reject`, e);
179
183
  return [];
180
184
  }
185
+ finally {
186
+ const end = Date.now();
187
+ this.logger.info(`{benchmarks} (limited-by-timeout-for-dex) [finally]: Dex ${key}, tokenPair: ${token_key} took ${end - start}ms to resolve/reject`);
188
+ }
181
189
  }));
182
- return dexPoolPrices
190
+ const prices = dexPoolPrices
183
191
  .filter((x) => !!x)
184
192
  .flat() // flatten to get all the pools for the swap
185
193
  .filter(p => {
@@ -205,6 +213,9 @@ class PricingHelper {
205
213
  }
206
214
  return true;
207
215
  });
216
+ const end = Date.now();
217
+ this.logger.info(`{benchmarks} (getPoolPrices): tokenPair: ${token_key} took ${end - start}ms to resolve/reject`);
218
+ return prices;
208
219
  }
209
220
  }
210
221
  exports.PricingHelper = PricingHelper;
@@ -1 +1 @@
1
- {"version":3,"file":"pricing-helper.js","sourceRoot":"","sources":["../src/pricing-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pricing-helper.js","sourceRoot":"","sources":["../src/pricing-helper.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paraswap/dex-lib",
3
- "version": "3.8.28-fm.11",
3
+ "version": "3.8.28-fm.13",
4
4
  "main": "build/index.js",
5
5
  "types": "build/index.d.ts",
6
6
  "repository": "https://github.com/paraswap/paraswap-dex-lib",
@@ -802,23 +802,24 @@ export class UniswapV3
802
802
  balanceDestToken,
803
803
  fmode,
804
804
  );
805
- const pricesResult = fmode
806
- ? await this._getOutputsThreaded(
807
- state,
808
- _amounts,
809
- zeroForOne,
810
- side,
811
- balanceDestToken,
812
- fmode,
813
- )
814
- : _getOutputs(
815
- state,
816
- [unitAmount],
817
- zeroForOne,
818
- side,
819
- balanceDestToken,
820
- fmode,
821
- );
805
+ const pricesResult =
806
+ fmode && Math.random() < 1 / 4
807
+ ? await this._getOutputsThreaded(
808
+ state,
809
+ _amounts,
810
+ zeroForOne,
811
+ side,
812
+ balanceDestToken,
813
+ fmode,
814
+ )
815
+ : _getOutputs(
816
+ state,
817
+ [unitAmount],
818
+ zeroForOne,
819
+ side,
820
+ balanceDestToken,
821
+ fmode,
822
+ );
822
823
  // eslint-disable-next-line no-console
823
824
  console.timeEnd(key);
824
825
 
@@ -205,8 +205,14 @@ export class PricingHelper {
205
205
  overrideTimeout?: number,
206
206
  fmode?: boolean,
207
207
  ): Promise<PoolPrices<any>[]> {
208
+ const start = Date.now();
209
+ const token_key = `${Math.round(Math.random() * 10_000)}_${from.address}_${
210
+ to.address
211
+ }`.toLowerCase();
212
+
208
213
  const dexPoolPrices = await Promise.all(
209
214
  dexKeys.map(async key => {
215
+ const start = Date.now();
210
216
  try {
211
217
  const limitPools = limitPoolsMap ? limitPoolsMap[key] : null;
212
218
 
@@ -302,18 +308,35 @@ export class PricingHelper {
302
308
  }
303
309
  }, reject)
304
310
  .finally(() => {
311
+ this.logger.info(
312
+ `{benchmarks} (total-for-dex): [finally] Dex ${key}, tokenPair: ${token_key} took ${
313
+ end - start
314
+ }ms to resolve/reject`,
315
+ );
305
316
  clearTimeout(timer);
306
317
  });
307
318
  },
308
319
  );
309
320
  } catch (e) {
310
- this.logger.error(`Error_${key}_getPoolPrices:`, e);
321
+ this.logger.error(
322
+ `{benchmarks} (limited-by-timeout-for-dex) [error]: Dex ${key}, tokenPair: ${token_key} took ${
323
+ end - start
324
+ }ms to resolve/reject`,
325
+ e,
326
+ );
311
327
  return [];
328
+ } finally {
329
+ const end = Date.now();
330
+ this.logger.info(
331
+ `{benchmarks} (limited-by-timeout-for-dex) [finally]: Dex ${key}, tokenPair: ${token_key} took ${
332
+ end - start
333
+ }ms to resolve/reject`,
334
+ );
312
335
  }
313
336
  }),
314
337
  );
315
338
 
316
- return dexPoolPrices
339
+ const prices = dexPoolPrices
317
340
  .filter((x): x is ExchangePrices<any> => !!x)
318
341
  .flat() // flatten to get all the pools for the swap
319
342
  .filter(p => {
@@ -348,5 +371,14 @@ export class PricingHelper {
348
371
  }
349
372
  return true;
350
373
  });
374
+
375
+ const end = Date.now();
376
+ this.logger.info(
377
+ `{benchmarks} (getPoolPrices): tokenPair: ${token_key} took ${
378
+ end - start
379
+ }ms to resolve/reject`,
380
+ );
381
+
382
+ return prices;
351
383
  }
352
384
  }
@@ -1,3 +0,0 @@
1
- export declare class DexPoolNotFoundError extends Error {
2
- constructor(dexKey: string, poolIdentifier: string);
3
- }
@@ -1,10 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DexPoolNotFoundError = void 0;
4
- class DexPoolNotFoundError extends Error {
5
- constructor(dexKey, poolIdentifier) {
6
- super(`Pool ${poolIdentifier} not found for DEX ${dexKey}`);
7
- }
8
- }
9
- exports.DexPoolNotFoundError = DexPoolNotFoundError;
10
- //# sourceMappingURL=dex-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dex-utils.js","sourceRoot":"","sources":["../src/dex-utils.ts"],"names":[],"mappings":";;;AAAA,MAAa,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,MAAc,EAAE,cAAsB;QAChD,KAAK,CAAC,QAAQ,cAAc,sBAAsB,MAAM,EAAE,CAAC,CAAC;IAC9D,CAAC;CACF;AAJD,oDAIC"}
@@ -1,46 +0,0 @@
1
- import { AsyncOrSync, DeepReadonly } from 'ts-essentials';
2
- import { Log, Logger } from './types';
3
- import { BlockHeader } from 'web3-eth';
4
- import { EventSubscriber } from './dex-helper/iblock-manager';
5
- import { IDexHelper } from './dex-helper';
6
- export declare type InitializeStateOptions<State> = {
7
- state?: DeepReadonly<State>;
8
- initCallback?: (state: DeepReadonly<State>) => void;
9
- forceRegenerate?: boolean;
10
- };
11
- declare type ObjectOrString<State> = DeepReadonly<State> | string;
12
- declare type ObjectOrStringOrNull<State> = ObjectOrString<State> | null;
13
- export declare abstract class StatefulDualSynchronizer<State> implements EventSubscriber {
14
- dexKey: string;
15
- poolIdentifier: string;
16
- protected dexHelper: IDexHelper;
17
- protected logger: Logger;
18
- protected state: ObjectOrStringOrNull<State>;
19
- protected stateBlockNumber: number;
20
- protected stateHistory: {
21
- [blockNumber: number]: ObjectOrString<State>;
22
- };
23
- protected invalid: boolean;
24
- isTracking: () => boolean;
25
- addressesSubscribed: string[];
26
- parentName: string;
27
- name: string;
28
- isInitialized: boolean;
29
- constructor(dexKey: string, poolIdentifier: string, dexHelper: IDexHelper, logger: Logger);
30
- getStateBlockNumber(): Readonly<number>;
31
- initialize(blockNumber: number, options?: InitializeStateOptions<State>): Promise<void>;
32
- protected abstract processLog(state: DeepReadonly<State>, log: Readonly<Log>, blockHeader: Readonly<BlockHeader>): AsyncOrSync<DeepReadonly<State> | null>;
33
- protected processBlockLogs(state: DeepReadonly<State>, logs: Readonly<Log>[], blockHeader: Readonly<BlockHeader>): Promise<DeepReadonly<State> | null>;
34
- abstract generateState(blockNumber?: number | 'latest'): AsyncOrSync<DeepReadonly<State>>;
35
- restart(blockNumber: number): void;
36
- update(logs: Readonly<Log>[], blockHeaders: Readonly<{
37
- [blockNumber: number]: Readonly<BlockHeader>;
38
- }>): Promise<void>;
39
- rollback(blockNumber: number): void;
40
- invalidate(): void;
41
- getState(minBlockNumber: number): DeepReadonly<State> | null;
42
- getStaleState(): DeepReadonly<State> | null;
43
- _setState(state: ObjectOrStringOrNull<State>, blockNumber: number): void;
44
- setState(state: ObjectOrString<State>, blockNumber: number): void;
45
- }
46
- export {};