@paraswap/dex-lib 3.11.0-bebop.3 → 3.11.1-algebra.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 (291) 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/uniswap-v3/AlienBaseV3Router.abi.json +52 -0
  5. package/build/abi/{angle-transmuter/ChainlinkAccessControlledOffchainAggregator.json → wombat/pool.json} +637 -594
  6. package/build/config.js +0 -1
  7. package/build/config.js.map +1 -1
  8. package/build/dex/aave-v1/aave-v1.js +1 -0
  9. package/build/dex/aave-v1/aave-v1.js.map +1 -1
  10. package/build/dex/aave-v2/tokens-avalanche.json +44 -0
  11. package/build/dex/aave-v2/tokens-mainnet.json +188 -0
  12. package/build/dex/aave-v2/tokens-polygon.json +44 -0
  13. package/build/dex/algebra/algebra-pool-v1_1.js +5 -5
  14. package/build/dex/algebra/algebra-pool-v1_1.js.map +1 -1
  15. package/build/dex/algebra/lib/AlgebraMath.js +1 -4
  16. package/build/dex/algebra/lib/AlgebraMath.js.map +1 -1
  17. package/build/dex/bProtocol.d.ts +18 -0
  18. package/build/dex/bProtocol.js +39 -0
  19. package/build/dex/bProtocol.js.map +1 -0
  20. package/build/dex/balancer-v3/abi/balancerBatchRouter.d.ts +729 -0
  21. package/build/dex/balancer-v3/abi/balancerBatchRouter.js +732 -0
  22. package/build/dex/balancer-v3/abi/balancerBatchRouter.js.map +1 -0
  23. package/build/dex/balancer-v3/abi/balancerRouter.d.ts +1406 -0
  24. package/build/dex/balancer-v3/abi/balancerRouter.js +1175 -0
  25. package/build/dex/balancer-v3/abi/balancerRouter.js.map +1 -0
  26. package/build/dex/balancer-v3/abi/vaultExtension.V3.d.ts +2081 -0
  27. package/build/dex/balancer-v3/abi/vaultExtension.V3.js +1851 -0
  28. package/build/dex/balancer-v3/abi/vaultExtension.V3.js.map +1 -0
  29. package/build/dex/balancer-v3/balancer-v3-pool.d.ts +76 -0
  30. package/build/dex/balancer-v3/balancer-v3-pool.js +383 -0
  31. package/build/dex/balancer-v3/balancer-v3-pool.js.map +1 -0
  32. package/build/dex/balancer-v3/balancer-v3.d.ts +57 -0
  33. package/build/dex/balancer-v3/balancer-v3.js +373 -0
  34. package/build/dex/balancer-v3/balancer-v3.js.map +1 -0
  35. package/build/dex/balancer-v3/config.d.ts +8 -0
  36. package/build/dex/balancer-v3/config.js +24 -0
  37. package/build/dex/balancer-v3/config.js.map +1 -0
  38. package/build/dex/balancer-v3/getOnChainState.d.ts +10 -0
  39. package/build/dex/balancer-v3/getOnChainState.js +158 -0
  40. package/build/dex/balancer-v3/getOnChainState.js.map +1 -0
  41. package/build/dex/balancer-v3/getPoolsApi.d.ts +2 -0
  42. package/build/dex/balancer-v3/getPoolsApi.js +81 -0
  43. package/build/dex/balancer-v3/getPoolsApi.js.map +1 -0
  44. package/build/dex/balancer-v3/getTopPoolsApi.d.ts +13 -0
  45. package/build/dex/balancer-v3/getTopPoolsApi.js +62 -0
  46. package/build/dex/balancer-v3/getTopPoolsApi.js.map +1 -0
  47. package/build/dex/balancer-v3/types.d.ts +63 -0
  48. package/build/dex/balancer-v3/types.js +3 -0
  49. package/build/dex/balancer-v3/types.js.map +1 -0
  50. package/build/dex/bancor.d.ts +26 -0
  51. package/build/dex/bancor.js +58 -0
  52. package/build/dex/bancor.js.map +1 -0
  53. package/build/dex/bebop/bebop.js +1 -1
  54. package/build/dex/bebop/bebop.js.map +1 -1
  55. package/build/dex/bebop/config.js +0 -5
  56. package/build/dex/bebop/config.js.map +1 -1
  57. package/build/dex/bebop/rate-fetcher.d.ts +1 -3
  58. package/build/dex/bebop/rate-fetcher.js +2 -42
  59. package/build/dex/bebop/rate-fetcher.js.map +1 -1
  60. package/build/dex/bebop/validators.d.ts +0 -2
  61. package/build/dex/bebop/validators.js +1 -9
  62. package/build/dex/bebop/validators.js.map +1 -1
  63. package/build/dex/compound.d.ts +18 -0
  64. package/build/dex/compound.js +46 -0
  65. package/build/dex/compound.js.map +1 -0
  66. package/build/dex/curve-v2.d.ts +58 -0
  67. package/build/dex/curve-v2.js +180 -0
  68. package/build/dex/curve-v2.js.map +1 -0
  69. package/build/dex/dodo-v1.d.ts +33 -0
  70. package/build/dex/dodo-v1.js +63 -0
  71. package/build/dex/dodo-v1.js.map +1 -0
  72. package/build/dex/fluid-dex/fluid-dex-pool.d.ts +47 -0
  73. package/build/dex/fluid-dex/fluid-dex-pool.js +119 -0
  74. package/build/dex/fluid-dex/fluid-dex-pool.js.map +1 -0
  75. package/build/dex/fluid-dex/fluid-dex.js +1 -1
  76. package/build/dex/fluid-dex/fluid-dex.js.map +1 -1
  77. package/build/dex/inception/inception-event-pool.d.ts +4 -4
  78. package/build/dex/inception/inception-event-pool.js +7 -9
  79. package/build/dex/inception/inception-event-pool.js.map +1 -1
  80. package/build/dex/inception/inception.d.ts +6 -6
  81. package/build/dex/inception/inception.js +16 -40
  82. package/build/dex/inception/inception.js.map +1 -1
  83. package/build/dex/inception/utils.d.ts +1 -0
  84. package/build/dex/inception/utils.js +22 -1
  85. package/build/dex/inception/utils.js.map +1 -1
  86. package/build/dex/lido.d.ts +19 -0
  87. package/build/dex/lido.js +42 -0
  88. package/build/dex/lido.js.map +1 -0
  89. package/build/dex/maker-psm/scripts/gem.abi.json +136 -0
  90. package/build/dex/maker-psm/scripts/validate-state.d.ts +0 -0
  91. package/build/dex/maker-psm/scripts/validate-state.js +185 -0
  92. package/build/dex/maker-psm/scripts/validate-state.js.map +1 -0
  93. package/build/dex/maker-psm/scripts/vat.abi.json +243 -0
  94. package/build/dex/onebit.d.ts +25 -0
  95. package/build/dex/onebit.js +42 -0
  96. package/build/dex/onebit.js.map +1 -0
  97. package/build/dex/platypus/platypus.js +17 -3
  98. package/build/dex/platypus/platypus.js.map +1 -1
  99. package/build/dex/smoothy.d.ts +26 -0
  100. package/build/dex/smoothy.js +48 -0
  101. package/build/dex/smoothy.js.map +1 -0
  102. package/build/dex/solidly-v3/scripts/check-event-pool-event.d.ts +1 -0
  103. package/build/dex/solidly-v3/scripts/check-event-pool-event.js +53 -0
  104. package/build/dex/solidly-v3/scripts/check-event-pool-event.js.map +1 -0
  105. package/build/dex/stable-pool.d.ts +28 -0
  106. package/build/dex/stable-pool.js +55 -0
  107. package/build/dex/stable-pool.js.map +1 -0
  108. package/build/dex/swaap-v1/swaap-v1.js +4 -0
  109. package/build/dex/swaap-v1/swaap-v1.js.map +1 -1
  110. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.d.ts +7 -0
  111. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.js +20 -0
  112. package/build/dex/trader-joe-v2.1/trader-joe-v2.1-new.js.map +1 -0
  113. package/build/dex/trader-joe-v2.1.d.ts +43 -0
  114. package/build/dex/trader-joe-v2.1.js +79 -0
  115. package/build/dex/trader-joe-v2.1.js.map +1 -0
  116. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.d.ts +17 -0
  117. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js +64 -0
  118. package/build/dex/uniswap-v3/forks/alien-base-v3/alien-base-v3.js.map +1 -0
  119. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.d.ts +17 -0
  120. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js +79 -0
  121. package/build/dex/uniswap-v3/forks/alien-v3/alien-v3.js.map +1 -0
  122. package/build/dex/uniswap-v3/uniswap-v3-pricing.d.ts +4 -0
  123. package/build/dex/uniswap-v3/uniswap-v3-pricing.js +43 -0
  124. package/build/dex/uniswap-v3/uniswap-v3-pricing.js.map +1 -0
  125. package/build/dex/uniswap-v3/uniswap-v3-worker.d.ts +1 -0
  126. package/build/dex/uniswap-v3/uniswap-v3-worker.js +10 -0
  127. package/build/dex/uniswap-v3/uniswap-v3-worker.js.map +1 -0
  128. package/build/lib/fetcher/wsFetcher.d.ts +3 -7
  129. package/build/lib/fetcher/wsFetcher.js +51 -64
  130. package/build/lib/fetcher/wsFetcher.js.map +1 -1
  131. package/package.json +2 -4
  132. package/src/config.ts +0 -1
  133. package/src/dex/algebra/algebra-pool-v1_1.ts +5 -5
  134. package/src/dex/algebra/lib/AlgebraMath.ts +1 -5
  135. package/src/dex/algebra/scripts/validate-state.test.ts +384 -0
  136. package/src/dex/bebop/bebop-e2e.test.ts +0 -21
  137. package/src/dex/bebop/bebop.ts +1 -1
  138. package/src/dex/bebop/config.ts +0 -5
  139. package/src/dex/bebop/rate-fetcher.ts +6 -51
  140. package/src/dex/bebop/validators.ts +0 -10
  141. package/src/dex/fluid-dex/fluid-dex.ts +0 -1
  142. package/src/lib/fetcher/wsFetcher.ts +66 -79
  143. package/build/abi/Aave_GSM.json +0 -751
  144. package/build/abi/Balancer.json +0 -257
  145. package/build/abi/BalancerV2.json +0 -1179
  146. package/build/abi/RamsesV2Pool.abi.json +0 -1554
  147. package/build/abi/RamsesV2Quoter.abi.json +0 -274
  148. package/build/abi/USDM.json +0 -807
  149. package/build/abi/UniswapV2Router.json +0 -397
  150. package/build/abi/angle-transmuter/ChainlinkEACAggregatorProxy.json +0 -509
  151. package/build/abi/cables/CablesMainnetRFQ.json +0 -1083
  152. package/build/abi/curve-v1/CurveBUSDv2.abi.json +0 -1356
  153. package/build/abi/curve-v1/CurveTokenV1.json +0 -305
  154. package/build/abi/curve-v1/CurveTokenV2.json +0 -318
  155. package/build/abi/curve-v1/CurveV1StableNg.json +0 -1452
  156. package/build/abi/curve-v1/CurveV2Swap.json +0 -700
  157. package/build/abi/curve-v1/FactoryCryptoRegistry.json +0 -316
  158. package/build/abi/curve-v1/FactoryRegistry.json +0 -508
  159. package/build/abi/curve-v1/StableSwapAave.json +0 -1152
  160. package/build/abi/curve-v1/StableSwapBUSD.json +0 -814
  161. package/build/abi/curve-v1/StableSwapCompound.json +0 -814
  162. package/build/abi/curve-v1/StableSwapIDLE.json +0 -1253
  163. package/build/abi/curve-v1/StableSwapPax.json +0 -865
  164. package/build/abi/curve-v1/StableSwapSnow.json +0 -900
  165. package/build/abi/curve-v1/StableSwapUSDN.json +0 -1004
  166. package/build/abi/curve-v1/StableSwapUSDT.json +0 -814
  167. package/build/abi/curve-v1/StableSwapY.json +0 -814
  168. package/build/abi/inception/inception-ineth.json +0 -609
  169. package/build/abi/kyberdmm/kyber-storage.abi.json +0 -824
  170. package/build/abi/kyberdmm.abi.json +0 -1148
  171. package/build/abi/maverick-v2/MaverickV2Quoter.json +0 -278
  172. package/build/abi/nerve/nerve-metapool.json +0 -790
  173. package/build/abi/uniswap-v3/UniswapV3Quoter.abi.json +0 -193
  174. package/build/abi/velodrome-slipstream/VelodromeSlipstreamQuoterV2.abi.json +0 -267
  175. package/build/dex/balancer-v1/balancer-pools.json +0 -33333
  176. package/build/dex/bebop/bebop.json +0 -72
  177. package/build/dex/bebop/websocket-fetcher.d.ts +0 -35
  178. package/build/dex/bebop/websocket-fetcher.js +0 -87
  179. package/build/dex/bebop/websocket-fetcher.js.map +0 -1
  180. package/build/dex/cables/cables.d.ts +0 -57
  181. package/build/dex/cables/cables.js +0 -471
  182. package/build/dex/cables/cables.js.map +0 -1
  183. package/build/dex/cables/config.d.ts +0 -4
  184. package/build/dex/cables/config.js +0 -15
  185. package/build/dex/cables/config.js.map +0 -1
  186. package/build/dex/cables/constants.d.ts +0 -19
  187. package/build/dex/cables/constants.js +0 -26
  188. package/build/dex/cables/constants.js.map +0 -1
  189. package/build/dex/cables/rate-fetcher.d.ts +0 -34
  190. package/build/dex/cables/rate-fetcher.js +0 -106
  191. package/build/dex/cables/rate-fetcher.js.map +0 -1
  192. package/build/dex/cables/types.d.ts +0 -106
  193. package/build/dex/cables/types.js +0 -12
  194. package/build/dex/cables/types.js.map +0 -1
  195. package/build/dex/cables/validators.d.ts +0 -5
  196. package/build/dex/cables/validators.js +0 -49
  197. package/build/dex/cables/validators.js.map +0 -1
  198. package/build/dex/idle-dao/idle-dao-pool.d.ts +0 -56
  199. package/build/dex/idle-dao/idle-dao-pool.js +0 -176
  200. package/build/dex/idle-dao/idle-dao-pool.js.map +0 -1
  201. package/build/dex/idle-dao/idle-dao-pooling-pool.d.ts +0 -16
  202. package/build/dex/idle-dao/idle-dao-pooling-pool.js +0 -57
  203. package/build/dex/idle-dao/idle-dao-pooling-pool.js.map +0 -1
  204. package/build/dex/idle-dao/scripts.d.ts +0 -9
  205. package/build/dex/idle-dao/scripts.js +0 -552
  206. package/build/dex/idle-dao/scripts.js.map +0 -1
  207. package/build/dex/inception/inception-native.d.ts +0 -43
  208. package/build/dex/inception/inception-native.js +0 -131
  209. package/build/dex/inception/inception-native.js.map +0 -1
  210. package/build/dex/inception/inception-pool.d.ts +0 -18
  211. package/build/dex/inception/inception-pool.js +0 -32
  212. package/build/dex/inception/inception-pool.js.map +0 -1
  213. package/build/dex/inception/inception-price-feed.d.ts +0 -19
  214. package/build/dex/inception/inception-price-feed.js +0 -51
  215. package/build/dex/inception/inception-price-feed.js.map +0 -1
  216. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-balancerv1-curvev1-eth-usdc-gusd.json +0 -16
  217. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +0 -16
  218. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +0 -16
  219. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +0 -16
  220. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-dai-usdc-eth.json +0 -16
  221. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-eth-usdc-dai.json +0 -16
  222. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +0 -16
  223. package/build/executor/fixtures/executor01/exchange-params/price-route-multiswap-sushiv3-usdt-usdc-dai.json +0 -16
  224. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-eth-usdc.json +0 -9
  225. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-usdc-eth.json +0 -9
  226. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-balancerv1-usdc-wbtc.json +0 -9
  227. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-eth-steth.json +0 -9
  228. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-steth-eth.json +0 -9
  229. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-curvev1-usdc-usdt.json +0 -9
  230. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-eth-usdc.json +0 -9
  231. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-usdc-eth.json +0 -9
  232. package/build/executor/fixtures/executor01/exchange-params/price-route-simpleSwap-univ3-usdc-usdt.json +0 -9
  233. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +0 -12
  234. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +0 -7
  235. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +0 -7
  236. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-dai-usdc-eth.json +0 -7
  237. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-eth-usdc-dai.json +0 -7
  238. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +0 -12
  239. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-simpleSwap-univ3-eth-usdc.json +0 -7
  240. package/build/executor/fixtures/executor01/maybe-weth-calldata/price-route-simpleSwap-univ3-usdc-eth.json +0 -7
  241. package/build/executor/fixtures/executor01/routes/price-route-multiswap-balancerv1-curvev1-eth-usdc-gusd.json +0 -78
  242. package/build/executor/fixtures/executor01/routes/price-route-multiswap-balancerv1-sushiv3-wbtc-eth-sushi.json +0 -81
  243. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-curvev1-eth-usdc-gusd.json +0 -78
  244. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-curvev1-gusd-usdc-eth.json +0 -78
  245. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-dai-usdc-eth.json +0 -81
  246. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-eth-usdc-dai.json +0 -81
  247. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-usdc-eth-wbtc.json +0 -81
  248. package/build/executor/fixtures/executor01/routes/price-route-multiswap-sushiv3-usdt-usdc-dai.json +0 -81
  249. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-eth-usdc.json +0 -64
  250. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-usdc-eth.json +0 -85
  251. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-balancerv1-usdc-wbtc.json +0 -64
  252. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-eth-steth.json +0 -52
  253. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-steth-eth.json +0 -52
  254. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-curvev1-usdc-usdt.json +0 -52
  255. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-eth-usdc.json +0 -55
  256. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-usdc-eth.json +0 -55
  257. package/build/executor/fixtures/executor01/routes/price-route-simpleSwap-univ3-usdc-usdt.json +0 -55
  258. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +0 -23
  259. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +0 -37
  260. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +0 -23
  261. package/build/executor/fixtures/executor02/exchange-params/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +0 -23
  262. package/build/executor/fixtures/executor02/exchange-params/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +0 -51
  263. package/build/executor/fixtures/executor02/exchange-params/price-route-multiswap-univ3-usdt-dai-eth.json +0 -58
  264. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +0 -23
  265. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +0 -23
  266. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +0 -9
  267. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +0 -16
  268. package/build/executor/fixtures/executor02/exchange-params/price-route-simpleSwap-univ3-curvev1-usdt-dai.json +0 -23
  269. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +0 -12
  270. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +0 -7
  271. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +0 -12
  272. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +0 -12
  273. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +0 -7
  274. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-multiswap-univ3-usdt-dai-eth.json +0 -7
  275. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +0 -7
  276. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +0 -7
  277. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +0 -7
  278. package/build/executor/fixtures/executor02/maybe-weth-calldata/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +0 -7
  279. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-balancerv1-sushiv3-univ3-bal-eth-sushi.json +0 -130
  280. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-maverickv1-sushiv3-univ3-eth-usdc-mav.json +0 -136
  281. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-univ3-sushiv3-sushi-eth-wbtc.json +0 -100
  282. package/build/executor/fixtures/executor02/routes/price-route-multiSwap-univ3-sushiv3-wbtc-eth-sushi.json +0 -100
  283. package/build/executor/fixtures/executor02/routes/price-route-multiswap-curvev1-univ3-dai-usdc-eth.json +0 -166
  284. package/build/executor/fixtures/executor02/routes/price-route-multiswap-univ3-usdt-dai-eth.json +0 -190
  285. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-balancerv1-eth-usdc.json +0 -114
  286. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-balancerv1-usdc-eth.json +0 -114
  287. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-univ3-eth-sushi.json +0 -55
  288. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-sushiv3-univ3-sushi-eth.json +0 -73
  289. package/build/executor/fixtures/executor02/routes/price-route-simpleSwap-univ3-curvev1-usdt-dai.json +0 -82
  290. package/src/dex/bebop/bebop.json +0 -72
  291. package/src/dex/bebop/bebop.proto +0 -15
@@ -1,6 +1,10 @@
1
1
  import { Logger } from 'log4js';
2
2
  import { RequestConfig, Response } from '../../dex-helper/irequest-wrapper';
3
- import WebSocket from 'ws';
3
+ import {
4
+ connection as WebSocketConnection,
5
+ client as WebSocketClient,
6
+ } from 'websocket';
7
+
4
8
  export class SkippingRequest {
5
9
  constructor(public message = '') {}
6
10
  }
@@ -22,77 +26,74 @@ export type RequestInfoWithHandler<T> = {
22
26
 
23
27
  export class WebSocketFetcher<T> {
24
28
  private requests: RequestInfoWithHandler<T>;
25
- // Time to wait before declaring connection as broken and restarting it
26
- private timeoutInterval: number;
27
- // Time to wait after disconnection before reconnecting
28
- private reconnectDelay: number;
29
- private pingTimeout: NodeJS.Timeout | undefined = undefined;
30
29
  public lastFetchSucceeded: boolean = false;
31
30
  private stop: boolean = true;
32
- private connection: WebSocket | null = null;
33
-
34
- constructor(
35
- requestsInfo: RequestInfoWithHandler<T>,
36
- private logger: Logger,
37
- timeoutInterval: number = 10000,
38
- reconnectDelay: number = 5000,
39
- ) {
31
+ private ws: WebSocketClient = new WebSocketClient();
32
+ private connection: WebSocketConnection | null = null;
33
+
34
+ constructor(requestsInfo: RequestInfoWithHandler<T>, private logger: Logger) {
40
35
  this.requests = requestsInfo;
41
- this.timeoutInterval = timeoutInterval;
42
- this.reconnectDelay = reconnectDelay;
36
+ this.ws.on('connect', this.connected.bind(this));
37
+ this.ws.on('connectFailed', this.connectFailed.bind(this));
43
38
  }
44
39
 
45
- private connected() {
40
+ private connected(connection: WebSocketConnection) {
41
+ this.connection = connection;
46
42
  this.logger.info(`Connected to ${this.requests.info.requestOptions.url}`);
47
- this.heartbeat();
43
+ this.connection.on('error', this.onError.bind(this));
44
+ this.connection.on('close', this.onClose.bind(this));
45
+ this.connection.on('message', this.onMessage.bind(this));
48
46
  }
49
47
 
50
- private heartbeat() {
51
- clearTimeout(this.pingTimeout);
52
- this.pingTimeout = setTimeout(() => {
53
- this.logger.warn('No heartbeat. Terminating Connection...');
54
- this?.connection?.terminate();
55
- }, this.timeoutInterval);
48
+ private connectFailed(error: any) {
49
+ this.logger.error(`Connect Error: ${error.toString()}. Reconnecting...`);
50
+ // reconnect on errors / failures
51
+ setTimeout(() => {
52
+ this.startPolling();
53
+ }, 3000);
56
54
  }
57
55
 
58
56
  private onClose() {
59
- this.logger.info(`Connection closed.`);
60
- // Do not reconnect if polling is stopped
61
- if (this.stop) {
62
- clearTimeout(this.pingTimeout);
63
- return;
64
- }
65
-
66
- this.logger.info(`Unexpected closure, Reconnecting...`);
67
- this.reconnectWithDelay();
57
+ this.logger.info(`Connection closed. Reconnecting...`);
58
+ // reconnect on errors / failures
59
+ setTimeout(() => {
60
+ this.startPolling();
61
+ }, 3000);
68
62
  }
69
63
 
70
64
  private onError(error: any) {
71
65
  this.logger.error(
72
- `Websocket Error: ${error.toString()}. Stopping & Reconnecting...`,
66
+ `Connection Error: ${error.toString()}. Stopping & Reconnecting...`,
73
67
  );
74
- this?.connection?.terminate();
68
+ this.stopPolling();
69
+
70
+ // reconnect on errors / failures
71
+ setTimeout(() => {
72
+ this.startPolling();
73
+ }, 3000);
75
74
  }
76
75
 
77
- private onMessage(data: WebSocket.RawData) {
78
- this.heartbeat();
79
- const reqInfo = this.requests;
80
- const info = reqInfo.info;
81
- const options = reqInfo.info.requestOptions;
82
- this.logger.debug(`(${options.url}) received new data`);
83
-
84
- try {
85
- const parsedData = info.caster(data);
86
- reqInfo.handler(parsedData);
87
- } catch (e) {
88
- this.logger.info(e);
89
- this.logger.info(
90
- `(${options.url}) received incorrect data ${JSON.stringify(
91
- data,
92
- ).replace(/(?:\r\n|\r|\n)/g, ' ')}`,
93
- e,
94
- );
95
- return;
76
+ private onMessage(message: any) {
77
+ if (message.type === 'utf8') {
78
+ const response = JSON.parse(message.utf8Data) as Response<T>;
79
+ const reqInfo = this.requests;
80
+ const info = reqInfo.info;
81
+ const options = reqInfo.info.requestOptions;
82
+ this.logger.debug(`(${options.url}) received new data`);
83
+
84
+ try {
85
+ const parsedData = info.caster(response);
86
+ reqInfo.handler(parsedData);
87
+ } catch (e) {
88
+ this.logger.info(e);
89
+ this.logger.info(
90
+ `(${options.url}) received incorrect data ${JSON.stringify(
91
+ response,
92
+ ).replace(/(?:\r\n|\r|\n)/g, ' ')}`,
93
+ e,
94
+ );
95
+ return;
96
+ }
96
97
  }
97
98
  }
98
99
 
@@ -109,44 +110,30 @@ export class WebSocketFetcher<T> {
109
110
  this.logger.info(
110
111
  `Connecting to ${this.requests.info.requestOptions.url}...`,
111
112
  );
112
- const ws = new WebSocket(this.requests.info.requestOptions.url!, {
113
- headers: {
113
+ this.ws.connect(
114
+ this.requests.info.requestOptions.url!,
115
+ undefined,
116
+ undefined,
117
+ {
114
118
  Authorization: authorization,
115
119
  name: name,
116
120
  },
117
- });
118
-
119
- ws.on('open', this.connected.bind(this));
120
- ws.on('message', this.onMessage.bind(this));
121
- ws.on('error', this.onError.bind(this));
122
- ws.on('close', this.onClose.bind(this));
123
- this.connection = ws;
124
- }
125
-
126
- reconnectWithDelay() {
127
- this.logger.info(`Waiting ${this.reconnectDelay}ms before reconnecting...`);
128
- clearTimeout(this.pingTimeout);
129
- setTimeout(() => {
130
- this.reconnect();
131
- }, this.reconnectDelay);
121
+ );
132
122
  }
133
123
 
134
- reconnect() {
135
- clearTimeout(this.pingTimeout);
124
+ startPolling(): void {
125
+ this.stop = false;
136
126
  this.connect();
137
127
  this.logger.info(
138
128
  `Connection started for ${this.requests.info.requestOptions.url}`,
139
129
  );
140
130
  }
141
131
 
142
- startPolling(): void {
143
- this.stop = false;
144
- this.reconnect();
145
- }
146
-
147
132
  stopPolling() {
133
+ if (this.connection) {
134
+ this.connection.close();
135
+ }
148
136
  this.stop = true;
149
- this.connection?.terminate();
150
137
  this.logger.info(
151
138
  `Connection stopped for ${this.requests.info.requestOptions.url}`,
152
139
  );