@paraswap/dex-lib 4.8.21-redis-token-slots.3 → 4.8.21

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 (409) hide show
  1. package/build/dex/balancer-v3/balancer-v3.js +2 -2
  2. package/build/dex/fluid-dex/constants.d.ts +1 -0
  3. package/build/dex/fluid-dex/constants.js +2 -1
  4. package/build/dex/fluid-dex/constants.js.map +1 -1
  5. package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.d.ts +8 -41
  6. package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.js +20 -66
  7. package/build/dex/fluid-dex/fluid-dex-liquidity-proxy.js.map +1 -1
  8. package/build/dex/fluid-dex/fluid-dex.d.ts +4 -0
  9. package/build/dex/fluid-dex/fluid-dex.js +29 -4
  10. package/build/dex/fluid-dex/fluid-dex.js.map +1 -1
  11. package/build/dex/renegade/api/auth.d.ts +1 -0
  12. package/build/dex/renegade/api/auth.js +63 -0
  13. package/build/dex/renegade/api/auth.js.map +1 -0
  14. package/build/dex/renegade/api/renegade-client.d.ts +18 -0
  15. package/build/dex/renegade/api/renegade-client.js +82 -0
  16. package/build/dex/renegade/api/renegade-client.js.map +1 -0
  17. package/build/dex/renegade/api/types.d.ts +110 -0
  18. package/build/dex/{wombat → renegade/api}/types.js.map +1 -1
  19. package/build/dex/{stader → renegade}/config.d.ts +1 -1
  20. package/build/dex/renegade/config.js +16 -0
  21. package/build/dex/renegade/config.js.map +1 -0
  22. package/build/dex/renegade/constants.d.ts +25 -0
  23. package/build/dex/renegade/constants.js +47 -0
  24. package/build/dex/renegade/constants.js.map +1 -0
  25. package/build/dex/renegade/rate-fetcher.d.ts +23 -0
  26. package/build/dex/renegade/rate-fetcher.js +135 -0
  27. package/build/dex/renegade/rate-fetcher.js.map +1 -0
  28. package/build/dex/renegade/renegade-levels-response.d.ts +22 -0
  29. package/build/dex/renegade/renegade-levels-response.js +99 -0
  30. package/build/dex/renegade/renegade-levels-response.js.map +1 -0
  31. package/build/dex/renegade/renegade.d.ts +57 -0
  32. package/build/dex/renegade/renegade.js +499 -0
  33. package/build/dex/renegade/renegade.js.map +1 -0
  34. package/build/dex/renegade/types.d.ts +38 -0
  35. package/build/dex/renegade/types.js +4 -0
  36. package/build/dex/renegade/types.js.map +1 -0
  37. package/build/index.d.ts +0 -1
  38. package/build/index.js +1 -3
  39. package/build/index.js.map +1 -1
  40. package/package.json +1 -1
  41. package/build/abi/AaveV2_lending_pool.json +0 -53
  42. package/build/abi/Bancor.json +0 -392
  43. package/build/abi/Compound_CETH.json +0 -12
  44. package/build/abi/SSPM.json +0 -829
  45. package/build/abi/Smoothy.json +0 -1049
  46. package/build/abi/StaderOracle.json +0 -2170
  47. package/build/abi/aave-weth-gateway-avalanche.json +0 -242
  48. package/build/abi/aave-weth-gateway-polygon.json +0 -242
  49. package/build/abi/aave-weth-gateway.json +0 -24
  50. package/build/abi/bunni-v2/BunniHook.abi.json +0 -1921
  51. package/build/abi/bunni-v2/BunniHub.abi.json +0 -1598
  52. package/build/abi/bunni-v2/BunniToken.abi.json +0 -833
  53. package/build/abi/bunni-v2/FeeOverrideHooklet.abi.json +0 -1947
  54. package/build/abi/bunni-v2/FloodPlain.abi.json +0 -1195
  55. package/build/abi/bunni-v2/PoolManager.abi.json +0 -1366
  56. package/build/abi/bunni-v2/V4Quoter.abi.json +0 -637
  57. package/build/abi/concentrator/arUSD.json +0 -568
  58. package/build/abi/concentrator/arUSD5115.json +0 -1746
  59. package/build/abi/gmx/fast-price-events.json +0 -70
  60. package/build/abi/gmx/fast-price-feed.json +0 -748
  61. package/build/abi/gmx/reader.json +0 -337
  62. package/build/abi/gmx/vault-price-feed.json +0 -477
  63. package/build/abi/gmx/vault.json +0 -2002
  64. package/build/abi/jarvis/ChainlinkAccessControlledOffchainAggregator.json +0 -1009
  65. package/build/abi/jarvis/SynthereumPriceFeed.json +0 -381
  66. package/build/abi/jarvis/jarvis-v6-pool.json +0 -1041
  67. package/build/abi/kyberdmm/kyber-dmm-exchange-router.abi.json +0 -1148
  68. package/build/abi/kyberdmm/kyber-dmm-factory.abi.json +0 -335
  69. package/build/abi/kyberdmm/kyber-dmm-pool.abi.json +0 -803
  70. package/build/abi/synthetix/CombinedSynthetix.abi.json +0 -442
  71. package/build/abi/wombat/asset.json +0 -743
  72. package/build/abi/wombat/bmw.json +0 -1247
  73. package/build/abi/wombat/pool-v2.json +0 -1289
  74. package/build/abi/wombat/pool-v3.json +0 -2013
  75. package/build/dex/aave-v2/aave-v2.d.ts +0 -33
  76. package/build/dex/aave-v2/aave-v2.js +0 -328
  77. package/build/dex/aave-v2/aave-v2.js.map +0 -1
  78. package/build/dex/aave-v2/config.d.ts +0 -14
  79. package/build/dex/aave-v2/config.js +0 -49
  80. package/build/dex/aave-v2/config.js.map +0 -1
  81. package/build/dex/aave-v2/tokenlist.json +0 -904
  82. package/build/dex/aave-v2/tokens.d.ts +0 -8
  83. package/build/dex/aave-v2/tokens.js +0 -65
  84. package/build/dex/aave-v2/tokens.js.map +0 -1
  85. package/build/dex/aave-v2/types.d.ts +0 -33
  86. package/build/dex/aave-v2/types.js +0 -11
  87. package/build/dex/aave-v2/types.js.map +0 -1
  88. package/build/dex/bancor/bancor.d.ts +0 -15
  89. package/build/dex/bancor/bancor.js +0 -74
  90. package/build/dex/bancor/bancor.js.map +0 -1
  91. package/build/dex/bancor/config.d.ts +0 -6
  92. package/build/dex/bancor/config.js +0 -11
  93. package/build/dex/bancor/config.js.map +0 -1
  94. package/build/dex/bancor/types.d.ts +0 -16
  95. package/build/dex/bancor/types.js +0 -8
  96. package/build/dex/bancor/types.js.map +0 -1
  97. package/build/dex/bunni-v2/bunni-v2-pool.d.ts +0 -62
  98. package/build/dex/bunni-v2/bunni-v2-pool.js +0 -505
  99. package/build/dex/bunni-v2/bunni-v2-pool.js.map +0 -1
  100. package/build/dex/bunni-v2/bunni-v2.d.ts +0 -51
  101. package/build/dex/bunni-v2/bunni-v2.js +0 -460
  102. package/build/dex/bunni-v2/bunni-v2.js.map +0 -1
  103. package/build/dex/bunni-v2/config.d.ts +0 -3
  104. package/build/dex/bunni-v2/config.js +0 -130
  105. package/build/dex/bunni-v2/config.js.map +0 -1
  106. package/build/dex/bunni-v2/encoder.d.ts +0 -19
  107. package/build/dex/bunni-v2/encoder.js +0 -400
  108. package/build/dex/bunni-v2/encoder.js.map +0 -1
  109. package/build/dex/bunni-v2/getOnChainState.d.ts +0 -26
  110. package/build/dex/bunni-v2/getOnChainState.js +0 -493
  111. package/build/dex/bunni-v2/getOnChainState.js.map +0 -1
  112. package/build/dex/bunni-v2/hook/BunniSwapMath.d.ts +0 -7
  113. package/build/dex/bunni-v2/hook/BunniSwapMath.js +0 -198
  114. package/build/dex/bunni-v2/hook/BunniSwapMath.js.map +0 -1
  115. package/build/dex/bunni-v2/hook/SwapMath.d.ts +0 -8
  116. package/build/dex/bunni-v2/hook/SwapMath.js +0 -65
  117. package/build/dex/bunni-v2/hook/SwapMath.js.map +0 -1
  118. package/build/dex/bunni-v2/hooklet/FeeOverrideHooklet.d.ts +0 -33
  119. package/build/dex/bunni-v2/hooklet/FeeOverrideHooklet.js +0 -33
  120. package/build/dex/bunni-v2/hooklet/FeeOverrideHooklet.js.map +0 -1
  121. package/build/dex/bunni-v2/hooklet/index.d.ts +0 -21
  122. package/build/dex/bunni-v2/hooklet/index.js +0 -64
  123. package/build/dex/bunni-v2/hooklet/index.js.map +0 -1
  124. package/build/dex/bunni-v2/ldf/CarpetedDoubleGeometricDistribution.d.ts +0 -70
  125. package/build/dex/bunni-v2/ldf/CarpetedDoubleGeometricDistribution.js +0 -277
  126. package/build/dex/bunni-v2/ldf/CarpetedDoubleGeometricDistribution.js.map +0 -1
  127. package/build/dex/bunni-v2/ldf/CarpetedGeometricDistribution.d.ts +0 -64
  128. package/build/dex/bunni-v2/ldf/CarpetedGeometricDistribution.js +0 -262
  129. package/build/dex/bunni-v2/ldf/CarpetedGeometricDistribution.js.map +0 -1
  130. package/build/dex/bunni-v2/ldf/DoubleGeometricDistribution.d.ts +0 -60
  131. package/build/dex/bunni-v2/ldf/DoubleGeometricDistribution.js +0 -224
  132. package/build/dex/bunni-v2/ldf/DoubleGeometricDistribution.js.map +0 -1
  133. package/build/dex/bunni-v2/ldf/GeometricDistribution.d.ts +0 -56
  134. package/build/dex/bunni-v2/ldf/GeometricDistribution.js +0 -489
  135. package/build/dex/bunni-v2/ldf/GeometricDistribution.js.map +0 -1
  136. package/build/dex/bunni-v2/ldf/LDFType.d.ts +0 -5
  137. package/build/dex/bunni-v2/ldf/LDFType.js +0 -10
  138. package/build/dex/bunni-v2/ldf/LDFType.js.map +0 -1
  139. package/build/dex/bunni-v2/ldf/ShiftMode.d.ts +0 -7
  140. package/build/dex/bunni-v2/ldf/ShiftMode.js +0 -19
  141. package/build/dex/bunni-v2/ldf/ShiftMode.js.map +0 -1
  142. package/build/dex/bunni-v2/ldf/UniformDistribution.d.ts +0 -55
  143. package/build/dex/bunni-v2/ldf/UniformDistribution.js +0 -291
  144. package/build/dex/bunni-v2/ldf/UniformDistribution.js.map +0 -1
  145. package/build/dex/bunni-v2/ldf/index.d.ts +0 -15
  146. package/build/dex/bunni-v2/ldf/index.js +0 -21
  147. package/build/dex/bunni-v2/ldf/index.js.map +0 -1
  148. package/build/dex/bunni-v2/lib/AmAmmPayload.d.ts +0 -4
  149. package/build/dex/bunni-v2/lib/AmAmmPayload.js +0 -10
  150. package/build/dex/bunni-v2/lib/AmAmmPayload.js.map +0 -1
  151. package/build/dex/bunni-v2/lib/BitMath.d.ts +0 -4
  152. package/build/dex/bunni-v2/lib/BitMath.js +0 -24
  153. package/build/dex/bunni-v2/lib/BitMath.js.map +0 -1
  154. package/build/dex/bunni-v2/lib/Constants.d.ts +0 -15
  155. package/build/dex/bunni-v2/lib/Constants.js +0 -19
  156. package/build/dex/bunni-v2/lib/Constants.js.map +0 -1
  157. package/build/dex/bunni-v2/lib/ExpMath.d.ts +0 -5
  158. package/build/dex/bunni-v2/lib/ExpMath.js +0 -121
  159. package/build/dex/bunni-v2/lib/ExpMath.js.map +0 -1
  160. package/build/dex/bunni-v2/lib/FeeMath.d.ts +0 -2
  161. package/build/dex/bunni-v2/lib/FeeMath.js +0 -27
  162. package/build/dex/bunni-v2/lib/FeeMath.js.map +0 -1
  163. package/build/dex/bunni-v2/lib/FixedPointMath.d.ts +0 -3
  164. package/build/dex/bunni-v2/lib/FixedPointMath.js +0 -15
  165. package/build/dex/bunni-v2/lib/FixedPointMath.js.map +0 -1
  166. package/build/dex/bunni-v2/lib/FullMathX96.d.ts +0 -4
  167. package/build/dex/bunni-v2/lib/FullMathX96.js +0 -21
  168. package/build/dex/bunni-v2/lib/FullMathX96.js.map +0 -1
  169. package/build/dex/bunni-v2/lib/IdleBalance.d.ts +0 -11
  170. package/build/dex/bunni-v2/lib/IdleBalance.js +0 -33
  171. package/build/dex/bunni-v2/lib/IdleBalance.js.map +0 -1
  172. package/build/dex/bunni-v2/lib/LiquidityAmounts.d.ts +0 -6
  173. package/build/dex/bunni-v2/lib/LiquidityAmounts.js +0 -25
  174. package/build/dex/bunni-v2/lib/LiquidityAmounts.js.map +0 -1
  175. package/build/dex/bunni-v2/lib/Math.d.ts +0 -28
  176. package/build/dex/bunni-v2/lib/Math.js +0 -169
  177. package/build/dex/bunni-v2/lib/Math.js.map +0 -1
  178. package/build/dex/bunni-v2/lib/Oracle.d.ts +0 -27
  179. package/build/dex/bunni-v2/lib/Oracle.js +0 -180
  180. package/build/dex/bunni-v2/lib/Oracle.js.map +0 -1
  181. package/build/dex/bunni-v2/lib/QueryLDF.d.ts +0 -12
  182. package/build/dex/bunni-v2/lib/QueryLDF.js +0 -90
  183. package/build/dex/bunni-v2/lib/QueryLDF.js.map +0 -1
  184. package/build/dex/bunni-v2/lib/QueryTwap.d.ts +0 -2
  185. package/build/dex/bunni-v2/lib/QueryTwap.js +0 -13
  186. package/build/dex/bunni-v2/lib/QueryTwap.js.map +0 -1
  187. package/build/dex/bunni-v2/lib/SqrtPriceMath.d.ts +0 -8
  188. package/build/dex/bunni-v2/lib/SqrtPriceMath.js +0 -84
  189. package/build/dex/bunni-v2/lib/SqrtPriceMath.js.map +0 -1
  190. package/build/dex/bunni-v2/lib/TickMath.d.ts +0 -11
  191. package/build/dex/bunni-v2/lib/TickMath.js +0 -100
  192. package/build/dex/bunni-v2/lib/TickMath.js.map +0 -1
  193. package/build/dex/bunni-v2/lib/VaultMath.d.ts +0 -2
  194. package/build/dex/bunni-v2/lib/VaultMath.js +0 -11
  195. package/build/dex/bunni-v2/lib/VaultMath.js.map +0 -1
  196. package/build/dex/bunni-v2/logic/AmAmm.d.ts +0 -11
  197. package/build/dex/bunni-v2/logic/AmAmm.js +0 -156
  198. package/build/dex/bunni-v2/logic/AmAmm.js.map +0 -1
  199. package/build/dex/bunni-v2/logic/BunniHookLogic.d.ts +0 -10
  200. package/build/dex/bunni-v2/logic/BunniHookLogic.js +0 -298
  201. package/build/dex/bunni-v2/logic/BunniHookLogic.js.map +0 -1
  202. package/build/dex/bunni-v2/logic/BunniHubLogic.d.ts +0 -5
  203. package/build/dex/bunni-v2/logic/BunniHubLogic.js +0 -245
  204. package/build/dex/bunni-v2/logic/BunniHubLogic.js.map +0 -1
  205. package/build/dex/bunni-v2/logic/BunniQuoter.d.ts +0 -12
  206. package/build/dex/bunni-v2/logic/BunniQuoter.js +0 -201
  207. package/build/dex/bunni-v2/logic/BunniQuoter.js.map +0 -1
  208. package/build/dex/bunni-v2/subgraph.d.ts +0 -7
  209. package/build/dex/bunni-v2/subgraph.js +0 -184
  210. package/build/dex/bunni-v2/subgraph.js.map +0 -1
  211. package/build/dex/bunni-v2/types.d.ts +0 -257
  212. package/build/dex/bunni-v2/types.js.map +0 -1
  213. package/build/dex/bunni-v2/utils.d.ts +0 -12
  214. package/build/dex/bunni-v2/utils.js +0 -182
  215. package/build/dex/bunni-v2/utils.js.map +0 -1
  216. package/build/dex/compound/compound.d.ts +0 -15
  217. package/build/dex/compound/compound.js +0 -57
  218. package/build/dex/compound/compound.js.map +0 -1
  219. package/build/dex/compound/types.d.ts +0 -8
  220. package/build/dex/compound/types.js +0 -9
  221. package/build/dex/compound/types.js.map +0 -1
  222. package/build/dex/concentrator-arusd/concentrator-arusd-event.d.ts +0 -17
  223. package/build/dex/concentrator-arusd/concentrator-arusd-event.js +0 -69
  224. package/build/dex/concentrator-arusd/concentrator-arusd-event.js.map +0 -1
  225. package/build/dex/concentrator-arusd/concentrator-arusd.d.ts +0 -41
  226. package/build/dex/concentrator-arusd/concentrator-arusd.js +0 -202
  227. package/build/dex/concentrator-arusd/concentrator-arusd.js.map +0 -1
  228. package/build/dex/concentrator-arusd/config.d.ts +0 -3
  229. package/build/dex/concentrator-arusd/config.js +0 -14
  230. package/build/dex/concentrator-arusd/config.js.map +0 -1
  231. package/build/dex/concentrator-arusd/types.d.ts +0 -14
  232. package/build/dex/concentrator-arusd/types.js +0 -3
  233. package/build/dex/concentrator-arusd/types.js.map +0 -1
  234. package/build/dex/concentrator-arusd/utils.d.ts +0 -4
  235. package/build/dex/concentrator-arusd/utils.js +0 -26
  236. package/build/dex/concentrator-arusd/utils.js.map +0 -1
  237. package/build/dex/curve-v1/forks/swerve/config.d.ts +0 -4
  238. package/build/dex/curve-v1/forks/swerve/config.js +0 -47
  239. package/build/dex/curve-v1/forks/swerve/config.js.map +0 -1
  240. package/build/dex/curve-v1/forks/swerve/swerve.d.ts +0 -16
  241. package/build/dex/curve-v1/forks/swerve/swerve.js +0 -46
  242. package/build/dex/curve-v1/forks/swerve/swerve.js.map +0 -1
  243. package/build/dex/gmx/config.d.ts +0 -11
  244. package/build/dex/gmx/config.js +0 -61
  245. package/build/dex/gmx/config.js.map +0 -1
  246. package/build/dex/gmx/fast-price-feed.d.ts +0 -26
  247. package/build/dex/gmx/fast-price-feed.js +0 -184
  248. package/build/dex/gmx/fast-price-feed.js.map +0 -1
  249. package/build/dex/gmx/gmx.d.ts +0 -54
  250. package/build/dex/gmx/gmx.js +0 -247
  251. package/build/dex/gmx/gmx.js.map +0 -1
  252. package/build/dex/gmx/pool.d.ts +0 -21
  253. package/build/dex/gmx/pool.js +0 -212
  254. package/build/dex/gmx/pool.js.map +0 -1
  255. package/build/dex/gmx/types.d.ts +0 -100
  256. package/build/dex/gmx/types.js +0 -3
  257. package/build/dex/gmx/types.js.map +0 -1
  258. package/build/dex/gmx/usdg.d.ts +0 -15
  259. package/build/dex/gmx/usdg.js +0 -62
  260. package/build/dex/gmx/usdg.js.map +0 -1
  261. package/build/dex/gmx/vault-price-feed.d.ts +0 -47
  262. package/build/dex/gmx/vault-price-feed.js +0 -245
  263. package/build/dex/gmx/vault-price-feed.js.map +0 -1
  264. package/build/dex/gmx/vault-utils.d.ts +0 -8
  265. package/build/dex/gmx/vault-utils.js +0 -42
  266. package/build/dex/gmx/vault-utils.js.map +0 -1
  267. package/build/dex/gmx/vault.d.ts +0 -46
  268. package/build/dex/gmx/vault.js +0 -182
  269. package/build/dex/gmx/vault.js.map +0 -1
  270. package/build/dex/jarvis-v6/chainLinkpriceFeed-event.d.ts +0 -15
  271. package/build/dex/jarvis-v6/chainLinkpriceFeed-event.js +0 -51
  272. package/build/dex/jarvis-v6/chainLinkpriceFeed-event.js.map +0 -1
  273. package/build/dex/jarvis-v6/config.d.ts +0 -4
  274. package/build/dex/jarvis-v6/config.js +0 -244
  275. package/build/dex/jarvis-v6/config.js.map +0 -1
  276. package/build/dex/jarvis-v6/jarvis-v6-events.d.ts +0 -27
  277. package/build/dex/jarvis-v6/jarvis-v6-events.js +0 -54
  278. package/build/dex/jarvis-v6/jarvis-v6-events.js.map +0 -1
  279. package/build/dex/jarvis-v6/jarvis-v6.d.ts +0 -49
  280. package/build/dex/jarvis-v6/jarvis-v6.js +0 -321
  281. package/build/dex/jarvis-v6/jarvis-v6.js.map +0 -1
  282. package/build/dex/jarvis-v6/syntheteumPool-event.d.ts +0 -15
  283. package/build/dex/jarvis-v6/syntheteumPool-event.js +0 -49
  284. package/build/dex/jarvis-v6/syntheteumPool-event.js.map +0 -1
  285. package/build/dex/jarvis-v6/types.d.ts +0 -48
  286. package/build/dex/jarvis-v6/types.js +0 -9
  287. package/build/dex/jarvis-v6/types.js.map +0 -1
  288. package/build/dex/jarvis-v6/utils.d.ts +0 -13
  289. package/build/dex/jarvis-v6/utils.js +0 -75
  290. package/build/dex/jarvis-v6/utils.js.map +0 -1
  291. package/build/dex/kyberdmm/config.d.ts +0 -9
  292. package/build/dex/kyberdmm/config.js +0 -59
  293. package/build/dex/kyberdmm/config.js.map +0 -1
  294. package/build/dex/kyberdmm/fee-formula.d.ts +0 -15
  295. package/build/dex/kyberdmm/fee-formula.js +0 -88
  296. package/build/dex/kyberdmm/fee-formula.js.map +0 -1
  297. package/build/dex/kyberdmm/kyberdmm.d.ts +0 -55
  298. package/build/dex/kyberdmm/kyberdmm.js +0 -447
  299. package/build/dex/kyberdmm/kyberdmm.js.map +0 -1
  300. package/build/dex/kyberdmm/math-ext.d.ts +0 -2
  301. package/build/dex/kyberdmm/math-ext.js +0 -27
  302. package/build/dex/kyberdmm/math-ext.js.map +0 -1
  303. package/build/dex/kyberdmm/pool.d.ts +0 -50
  304. package/build/dex/kyberdmm/pool.js +0 -157
  305. package/build/dex/kyberdmm/pool.js.map +0 -1
  306. package/build/dex/kyberdmm/types.d.ts +0 -81
  307. package/build/dex/kyberdmm/types.js +0 -9
  308. package/build/dex/kyberdmm/types.js.map +0 -1
  309. package/build/dex/quickswap/thena-fusion.d.ts +0 -6
  310. package/build/dex/quickswap/thena-fusion.js +0 -19
  311. package/build/dex/quickswap/thena-fusion.js.map +0 -1
  312. package/build/dex/smoothy/smoothy.d.ts +0 -16
  313. package/build/dex/smoothy/smoothy.js +0 -60
  314. package/build/dex/smoothy/smoothy.js.map +0 -1
  315. package/build/dex/smoothy/types.d.ts +0 -15
  316. package/build/dex/smoothy/types.js +0 -8
  317. package/build/dex/smoothy/types.js.map +0 -1
  318. package/build/dex/stader/config.js +0 -14
  319. package/build/dex/stader/config.js.map +0 -1
  320. package/build/dex/stader/stader-pool.d.ts +0 -19
  321. package/build/dex/stader/stader-pool.js +0 -56
  322. package/build/dex/stader/stader-pool.js.map +0 -1
  323. package/build/dex/stader/stader.d.ts +0 -42
  324. package/build/dex/stader/stader.js +0 -195
  325. package/build/dex/stader/stader.js.map +0 -1
  326. package/build/dex/stader/types.d.ts +0 -13
  327. package/build/dex/stader/types.js +0 -8
  328. package/build/dex/stader/types.js.map +0 -1
  329. package/build/dex/stader/utils.d.ts +0 -4
  330. package/build/dex/stader/utils.js +0 -23
  331. package/build/dex/stader/utils.js.map +0 -1
  332. package/build/dex/synthetix/config.d.ts +0 -4
  333. package/build/dex/synthetix/config.js +0 -53
  334. package/build/dex/synthetix/config.js.map +0 -1
  335. package/build/dex/synthetix/constants.d.ts +0 -23
  336. package/build/dex/synthetix/constants.js +0 -32
  337. package/build/dex/synthetix/constants.js.map +0 -1
  338. package/build/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.d.ts +0 -17
  339. package/build/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.js +0 -102
  340. package/build/dex/synthetix/contract-math/DexPriceAggregatorUniswapV3.js.map +0 -1
  341. package/build/dex/synthetix/contract-math/ExchangeRates.d.ts +0 -8
  342. package/build/dex/synthetix/contract-math/ExchangeRates.js +0 -77
  343. package/build/dex/synthetix/contract-math/ExchangeRates.js.map +0 -1
  344. package/build/dex/synthetix/contract-math/ExchangeRatesWithDexPricing.d.ts +0 -17
  345. package/build/dex/synthetix/contract-math/ExchangeRatesWithDexPricing.js +0 -126
  346. package/build/dex/synthetix/contract-math/ExchangeRatesWithDexPricing.js.map +0 -1
  347. package/build/dex/synthetix/contract-math/FullMath.d.ts +0 -3
  348. package/build/dex/synthetix/contract-math/FullMath.js +0 -14
  349. package/build/dex/synthetix/contract-math/FullMath.js.map +0 -1
  350. package/build/dex/synthetix/contract-math/OracleLibrary.d.ts +0 -8
  351. package/build/dex/synthetix/contract-math/OracleLibrary.js +0 -60
  352. package/build/dex/synthetix/contract-math/OracleLibrary.js.map +0 -1
  353. package/build/dex/synthetix/contract-math/SafeDecimalMath.d.ts +0 -9
  354. package/build/dex/synthetix/contract-math/SafeDecimalMath.js +0 -41
  355. package/build/dex/synthetix/contract-math/SafeDecimalMath.js.map +0 -1
  356. package/build/dex/synthetix/contract-math/TickMath.d.ts +0 -7
  357. package/build/dex/synthetix/contract-math/TickMath.js +0 -63
  358. package/build/dex/synthetix/contract-math/TickMath.js.map +0 -1
  359. package/build/dex/synthetix/contract-math/synthetix-math.d.ts +0 -17
  360. package/build/dex/synthetix/contract-math/synthetix-math.js +0 -127
  361. package/build/dex/synthetix/contract-math/synthetix-math.js.map +0 -1
  362. package/build/dex/synthetix/synthetix-state.d.ts +0 -36
  363. package/build/dex/synthetix/synthetix-state.js +0 -615
  364. package/build/dex/synthetix/synthetix-state.js.map +0 -1
  365. package/build/dex/synthetix/synthetix.d.ts +0 -45
  366. package/build/dex/synthetix/synthetix.js +0 -304
  367. package/build/dex/synthetix/synthetix.js.map +0 -1
  368. package/build/dex/synthetix/types.d.ts +0 -90
  369. package/build/dex/synthetix/types.js +0 -3
  370. package/build/dex/synthetix/types.js.map +0 -1
  371. package/build/dex/synthetix/utils.d.ts +0 -10
  372. package/build/dex/synthetix/utils.js +0 -91
  373. package/build/dex/synthetix/utils.js.map +0 -1
  374. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.d.ts +0 -7
  375. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js +0 -20
  376. package/build/dex/trader-joe-v2.1/trader-joe-v2.1.js.map +0 -1
  377. package/build/dex/uniswap-v4/api-go/compare-pricing.d.ts +0 -1
  378. package/build/dex/uniswap-v4/api-go/compare-pricing.js +0 -187
  379. package/build/dex/uniswap-v4/api-go/compare-pricing.js.map +0 -1
  380. package/build/dex/uniswap-v4/api-go/compare-states.d.ts +0 -1
  381. package/build/dex/uniswap-v4/api-go/compare-states.js +0 -149
  382. package/build/dex/uniswap-v4/api-go/compare-states.js.map +0 -1
  383. package/build/dex/uniswap-v4/api-go/fetch-pool-key.d.ts +0 -0
  384. package/build/dex/uniswap-v4/api-go/fetch-pool-key.js +0 -140
  385. package/build/dex/uniswap-v4/api-go/fetch-pool-key.js.map +0 -1
  386. package/build/dex/wombat/config.d.ts +0 -4
  387. package/build/dex/wombat/config.js +0 -77
  388. package/build/dex/wombat/config.js.map +0 -1
  389. package/build/dex/wombat/types.d.ts +0 -34
  390. package/build/dex/wombat/types.js +0 -3
  391. package/build/dex/wombat/utils.d.ts +0 -10
  392. package/build/dex/wombat/utils.js +0 -79
  393. package/build/dex/wombat/utils.js.map +0 -1
  394. package/build/dex/wombat/wombat-bmw.d.ts +0 -40
  395. package/build/dex/wombat/wombat-bmw.js +0 -136
  396. package/build/dex/wombat/wombat-bmw.js.map +0 -1
  397. package/build/dex/wombat/wombat-pool.d.ts +0 -60
  398. package/build/dex/wombat/wombat-pool.js +0 -488
  399. package/build/dex/wombat/wombat-pool.js.map +0 -1
  400. package/build/dex/wombat/wombat-quoter.d.ts +0 -17
  401. package/build/dex/wombat/wombat-quoter.js +0 -192
  402. package/build/dex/wombat/wombat-quoter.js.map +0 -1
  403. package/build/dex/wombat/wombat.d.ts +0 -58
  404. package/build/dex/wombat/wombat.js +0 -298
  405. package/build/dex/wombat/wombat.js.map +0 -1
  406. package/build/tenderly-simulation.d.ts +0 -221
  407. package/build/tenderly-simulation.js +0 -517
  408. package/build/tenderly-simulation.js.map +0 -1
  409. /package/build/dex/{bunni-v2 → renegade/api}/types.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renegade-client.js","sourceRoot":"","sources":["../../../../src/dex/renegade/api/renegade-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,110 @@
1
+ export type AssembleExternalMatchRequest = {
2
+ signed_quote: SignedExternalQuote;
3
+ do_gas_estimation?: boolean;
4
+ allow_shared?: boolean;
5
+ matching_pool?: string;
6
+ relayer_fee_rate?: number;
7
+ receiver_address?: string | null;
8
+ updated_order?: ExternalOrder | null;
9
+ };
10
+ export type ExternalOrder = {
11
+ quote_mint: string;
12
+ base_mint: string;
13
+ side: 'Buy' | 'Sell';
14
+ base_amount: string;
15
+ quote_amount: string;
16
+ exact_base_output: string;
17
+ exact_quote_output: string;
18
+ min_fill_size: string;
19
+ };
20
+ export type ExternalQuoteRequest = {
21
+ external_order: ExternalOrder;
22
+ matching_pool?: string;
23
+ relayer_fee_rate?: number;
24
+ };
25
+ export type SignedExternalQuote = {
26
+ quote: ApiExternalQuote;
27
+ signature: string;
28
+ };
29
+ export type SponsoredMatchResponse = {
30
+ match_bundle: AtomicMatchApiBundle;
31
+ is_sponsored: boolean;
32
+ gas_sponsorship_info?: GasSponsorshipInfo | null;
33
+ };
34
+ export type SponsoredQuoteResponse = {
35
+ signed_quote: SignedExternalQuote;
36
+ gas_sponsorship_info?: SignedGasSponsorshipInfo | null;
37
+ };
38
+ export type QuoteQueryParams = {
39
+ disable_gas_sponsorship?: boolean;
40
+ refund_address?: string;
41
+ refund_native_eth?: boolean;
42
+ use_gas_sponsorship?: boolean;
43
+ };
44
+ type ApiExternalAssetTransfer = {
45
+ mint: string;
46
+ amount: string;
47
+ };
48
+ type ApiExternalMatchResult = {
49
+ quote_mint: string;
50
+ base_mint: string;
51
+ quote_amount: string;
52
+ base_amount: string;
53
+ direction: 'Buy' | 'Sell';
54
+ };
55
+ type ApiTimestampedPrice = {
56
+ price: string;
57
+ timestamp: number;
58
+ };
59
+ type AtomicMatchApiBundle = {
60
+ match_result: ApiExternalMatchResult;
61
+ fees: FeeTake;
62
+ receive: ApiExternalAssetTransfer;
63
+ send: ApiExternalAssetTransfer;
64
+ settlement_tx: TransactionRequest;
65
+ };
66
+ type ApiExternalQuote = {
67
+ order: ExternalOrder;
68
+ match_result: ApiExternalMatchResult;
69
+ fees: FeeTake;
70
+ send: ApiExternalAssetTransfer;
71
+ receive: ApiExternalAssetTransfer;
72
+ price: ApiTimestampedPrice;
73
+ timestamp: number;
74
+ };
75
+ type FeeTake = {
76
+ relayer_fee: string;
77
+ protocol_fee: string;
78
+ };
79
+ type GasSponsorshipInfo = {
80
+ refund_amount: string;
81
+ refund_native_eth: boolean;
82
+ refund_address: string | null;
83
+ };
84
+ type SignedGasSponsorshipInfo = {
85
+ gas_sponsorship_info: GasSponsorshipInfo;
86
+ signature: string;
87
+ };
88
+ type TransactionRequest = {
89
+ from?: string | null;
90
+ to?: string | null;
91
+ gasPrice?: string;
92
+ maxFeePerGas?: string;
93
+ maxPriorityFeePerGas?: string;
94
+ maxFeePerBlobGas?: string;
95
+ gas?: string;
96
+ value?: string;
97
+ input?: string;
98
+ data?: string;
99
+ nonce?: string;
100
+ chainId?: string;
101
+ accessList?: Array<{
102
+ address: string;
103
+ storageKeys: string[];
104
+ }>;
105
+ type?: string;
106
+ blobVersionedHashes?: string[];
107
+ sidecar?: Record<string, any>;
108
+ authorizationList?: Array<Record<string, any>>;
109
+ };
110
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/wombat/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/dex/renegade/api/types.ts"],"names":[],"mappings":""}
@@ -1,3 +1,3 @@
1
1
  import { DexParams } from './types';
2
2
  import { DexConfigMap } from '../../types';
3
- export declare const StaderConfig: DexConfigMap<DexParams>;
3
+ export declare const RenegadeConfig: DexConfigMap<DexParams>;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RenegadeConfig = void 0;
4
+ const constants_1 = require("../../constants");
5
+ const constants_2 = require("./constants");
6
+ exports.RenegadeConfig = {
7
+ [constants_2.RENEGADE_NAME]: {
8
+ [constants_1.Network.ARBITRUM]: {
9
+ usdcAddress: '0xaf88d065e77c8cc2239327c5edb3a432268e5831',
10
+ },
11
+ [constants_1.Network.BASE]: {
12
+ usdcAddress: '0x833589fcd6edb6e08f4c7c32d4f71b54bda02913',
13
+ },
14
+ },
15
+ };
16
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/renegade/config.ts"],"names":[],"mappings":";;;AAEA,+CAA0C;AAC1C,2CAA4C;AAE/B,QAAA,cAAc,GAA4B;IACrD,CAAC,yBAAa,CAAC,EAAE;QACf,CAAC,mBAAO,CAAC,QAAQ,CAAC,EAAE;YAClB,WAAW,EAAE,4CAA4C;SAC1D;QACD,CAAC,mBAAO,CAAC,IAAI,CAAC,EAAE;YACd,WAAW,EAAE,4CAA4C;SAC1D;KACF;CACF,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { Network } from '../../constants';
2
+ export declare const RENEGADE_NAME = "Renegade";
3
+ export declare const RENEGADE_ARBITRUM_BASE_URL = "https://arbitrum-one.auth-server.renegade.fi";
4
+ export declare const RENEGADE_BASE_BASE_URL = "https://base-mainnet.auth-server.renegade.fi";
5
+ export declare const RENEGADE_LEVELS_ENDPOINT = "/rfqt/v3/levels";
6
+ export declare const RENEGADE_QUOTE_ENDPOINT = "/v0/matching-engine/quote";
7
+ export declare const RENEGADE_ASSEMBLE_ENDPOINT = "/v0/matching-engine/assemble-external-match";
8
+ export declare function buildRenegadeApiUrl(network: Network): string;
9
+ export declare const RENEGADE_LEVELS_CACHE_TTL_SECONDS = 30;
10
+ export declare const RENEGADE_LEVELS_POLLING_INTERVAL = 15000;
11
+ export declare const RENEGADE_LEVELS_CACHE_KEY = "renegade_levels";
12
+ export declare const RENEGADE_TOKEN_METADATA_CACHE_TTL_SECONDS: number;
13
+ export declare const RENEGADE_TOKEN_METADATA_POLLING_INTERVAL: number;
14
+ export declare const RENEGADE_TOKEN_METADATA_CACHE_KEY = "renegade_token_metadata";
15
+ export declare const RENEGADE_QUOTE_CACHE_TTL_SECONDS = 5;
16
+ export declare const RENEGADE_QUOTE_CACHE_KEY = "renegade_quote";
17
+ export declare const RENEGADE_API_TIMEOUT_MS = 10000;
18
+ export declare const RENEGADE_INIT_TIMEOUT_MS = 5000;
19
+ export declare const RENEGADE_HEADER_PREFIX = "x-renegade";
20
+ export declare const RENEGADE_API_KEY_HEADER = "x-renegade-api-key";
21
+ export declare const RENEGADE_AUTH_HEADER = "x-renegade-auth";
22
+ export declare const RENEGADE_AUTH_EXPIRATION_HEADER = "x-renegade-auth-expiration";
23
+ export declare const REQUEST_SIGNATURE_DURATION_MS = 10000;
24
+ export declare const RENEGADE_GAS_COST = 3000000;
25
+ export declare const RENEGADE_TOKEN_MAPPINGS_BASE_URL = "https://raw.githubusercontent.com/renegade-fi/token-mappings/main/";
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RENEGADE_TOKEN_MAPPINGS_BASE_URL = exports.RENEGADE_GAS_COST = exports.REQUEST_SIGNATURE_DURATION_MS = exports.RENEGADE_AUTH_EXPIRATION_HEADER = exports.RENEGADE_AUTH_HEADER = exports.RENEGADE_API_KEY_HEADER = exports.RENEGADE_HEADER_PREFIX = exports.RENEGADE_INIT_TIMEOUT_MS = exports.RENEGADE_API_TIMEOUT_MS = exports.RENEGADE_QUOTE_CACHE_KEY = exports.RENEGADE_QUOTE_CACHE_TTL_SECONDS = exports.RENEGADE_TOKEN_METADATA_CACHE_KEY = exports.RENEGADE_TOKEN_METADATA_POLLING_INTERVAL = exports.RENEGADE_TOKEN_METADATA_CACHE_TTL_SECONDS = exports.RENEGADE_LEVELS_CACHE_KEY = exports.RENEGADE_LEVELS_POLLING_INTERVAL = exports.RENEGADE_LEVELS_CACHE_TTL_SECONDS = exports.RENEGADE_ASSEMBLE_ENDPOINT = exports.RENEGADE_QUOTE_ENDPOINT = exports.RENEGADE_LEVELS_ENDPOINT = exports.RENEGADE_BASE_BASE_URL = exports.RENEGADE_ARBITRUM_BASE_URL = exports.RENEGADE_NAME = void 0;
4
+ exports.buildRenegadeApiUrl = buildRenegadeApiUrl;
5
+ // Constants for Renegade DEX integration
6
+ const constants_1 = require("../../constants");
7
+ exports.RENEGADE_NAME = 'Renegade';
8
+ // Base API URLs for each network
9
+ exports.RENEGADE_ARBITRUM_BASE_URL = 'https://arbitrum-one.auth-server.renegade.fi';
10
+ exports.RENEGADE_BASE_BASE_URL = 'https://base-mainnet.auth-server.renegade.fi';
11
+ exports.RENEGADE_LEVELS_ENDPOINT = '/rfqt/v3/levels';
12
+ exports.RENEGADE_QUOTE_ENDPOINT = '/v0/matching-engine/quote';
13
+ exports.RENEGADE_ASSEMBLE_ENDPOINT = '/v0/matching-engine/assemble-external-match';
14
+ // Get Renegade API base URL for a specific network.
15
+ function buildRenegadeApiUrl(network) {
16
+ switch (network) {
17
+ case constants_1.Network.ARBITRUM:
18
+ return exports.RENEGADE_ARBITRUM_BASE_URL;
19
+ case constants_1.Network.BASE:
20
+ return exports.RENEGADE_BASE_BASE_URL;
21
+ default:
22
+ throw new Error(`Network ${network} is not supported by Renegade`);
23
+ }
24
+ }
25
+ // Caching constants
26
+ exports.RENEGADE_LEVELS_CACHE_TTL_SECONDS = 30;
27
+ exports.RENEGADE_LEVELS_POLLING_INTERVAL = 15_000;
28
+ exports.RENEGADE_LEVELS_CACHE_KEY = 'renegade_levels';
29
+ exports.RENEGADE_TOKEN_METADATA_CACHE_TTL_SECONDS = 24 * 60 * 60; // 24 hours
30
+ exports.RENEGADE_TOKEN_METADATA_POLLING_INTERVAL = 24 * 60 * 60 * 1000; // 24 hours
31
+ exports.RENEGADE_TOKEN_METADATA_CACHE_KEY = 'renegade_token_metadata';
32
+ exports.RENEGADE_QUOTE_CACHE_TTL_SECONDS = 5;
33
+ exports.RENEGADE_QUOTE_CACHE_KEY = 'renegade_quote';
34
+ // API timeout settings
35
+ exports.RENEGADE_API_TIMEOUT_MS = 10_000;
36
+ exports.RENEGADE_INIT_TIMEOUT_MS = 5_000;
37
+ // Authentication constants
38
+ exports.RENEGADE_HEADER_PREFIX = 'x-renegade';
39
+ exports.RENEGADE_API_KEY_HEADER = 'x-renegade-api-key';
40
+ exports.RENEGADE_AUTH_HEADER = 'x-renegade-auth';
41
+ exports.RENEGADE_AUTH_EXPIRATION_HEADER = 'x-renegade-auth-expiration';
42
+ exports.REQUEST_SIGNATURE_DURATION_MS = 10_000;
43
+ // Gas cost estimation
44
+ exports.RENEGADE_GAS_COST = 3_000_000;
45
+ // Token metadata API constants
46
+ exports.RENEGADE_TOKEN_MAPPINGS_BASE_URL = 'https://raw.githubusercontent.com/renegade-fi/token-mappings/main/';
47
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/dex/renegade/constants.ts"],"names":[],"mappings":";;;AAiBA,kDASC;AA1BD,yCAAyC;AACzC,+CAA0C;AAE7B,QAAA,aAAa,GAAG,UAAU,CAAC;AAExC,iCAAiC;AACpB,QAAA,0BAA0B,GACrC,8CAA8C,CAAC;AACpC,QAAA,sBAAsB,GACjC,8CAA8C,CAAC;AAEpC,QAAA,wBAAwB,GAAG,iBAAiB,CAAC;AAC7C,QAAA,uBAAuB,GAAG,2BAA2B,CAAC;AACtD,QAAA,0BAA0B,GACrC,6CAA6C,CAAC;AAEhD,oDAAoD;AACpD,SAAgB,mBAAmB,CAAC,OAAgB;IAClD,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,mBAAO,CAAC,QAAQ;YACnB,OAAO,kCAA0B,CAAC;QACpC,KAAK,mBAAO,CAAC,IAAI;YACf,OAAO,8BAAsB,CAAC;QAChC;YACE,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,+BAA+B,CAAC,CAAC;IACvE,CAAC;AACH,CAAC;AAED,oBAAoB;AACP,QAAA,iCAAiC,GAAG,EAAE,CAAC;AACvC,QAAA,gCAAgC,GAAG,MAAM,CAAC;AAC1C,QAAA,yBAAyB,GAAG,iBAAiB,CAAC;AAE9C,QAAA,yCAAyC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,WAAW;AACrE,QAAA,wCAAwC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW;AAC3E,QAAA,iCAAiC,GAAG,yBAAyB,CAAC;AAE9D,QAAA,gCAAgC,GAAG,CAAC,CAAC;AACrC,QAAA,wBAAwB,GAAG,gBAAgB,CAAC;AAEzD,uBAAuB;AACV,QAAA,uBAAuB,GAAG,MAAM,CAAC;AACjC,QAAA,wBAAwB,GAAG,KAAK,CAAC;AAE9C,2BAA2B;AACd,QAAA,sBAAsB,GAAG,YAAY,CAAC;AACtC,QAAA,uBAAuB,GAAG,oBAAoB,CAAC;AAC/C,QAAA,oBAAoB,GAAG,iBAAiB,CAAC;AACzC,QAAA,+BAA+B,GAAG,4BAA4B,CAAC;AAC/D,QAAA,6BAA6B,GAAG,MAAM,CAAC;AAEpD,sBAAsB;AACT,QAAA,iBAAiB,GAAG,SAAS,CAAC;AAE3C,+BAA+B;AAClB,QAAA,gCAAgC,GAC3C,oEAAoE,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { Network } from '../../constants';
2
+ import { IDexHelper } from '../../dex-helper';
3
+ import { Logger } from '../../types';
4
+ import { RenegadeRateFetcherConfig } from './types';
5
+ export declare class RateFetcher {
6
+ private dexHelper;
7
+ private dexKey;
8
+ private network;
9
+ private logger;
10
+ private config;
11
+ private levelsFetcher;
12
+ private levelsCacheKey;
13
+ private levelsCacheTTL;
14
+ private tokenMetadataFetcher;
15
+ private tokenMetadataCacheKey;
16
+ private tokenMetadataCacheTTL;
17
+ constructor(dexHelper: IDexHelper, dexKey: string, network: Network, logger: Logger, config: RenegadeRateFetcherConfig);
18
+ private getChainName;
19
+ private handleLevelsResponse;
20
+ private handleTokenMetadataResponse;
21
+ start(): void;
22
+ stop(): void;
23
+ }
@@ -0,0 +1,135 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RateFetcher = void 0;
4
+ const constants_1 = require("../../constants");
5
+ const fetcher_1 = require("../../lib/fetcher/fetcher");
6
+ const auth_1 = require("./api/auth");
7
+ const constants_2 = require("./constants");
8
+ const renegade_levels_response_1 = require("./renegade-levels-response");
9
+ // RateFetcher for Renegade DEX integration using the Fetcher class.
10
+ // This implementation uses the standard Fetcher class with HMAC-SHA256 authentication
11
+ // and includes polling functionality for real-time price level updates.
12
+ class RateFetcher {
13
+ dexHelper;
14
+ dexKey;
15
+ network;
16
+ logger;
17
+ config;
18
+ levelsFetcher;
19
+ levelsCacheKey;
20
+ levelsCacheTTL;
21
+ tokenMetadataFetcher;
22
+ tokenMetadataCacheKey;
23
+ tokenMetadataCacheTTL;
24
+ constructor(dexHelper, dexKey, network, logger, config) {
25
+ this.dexHelper = dexHelper;
26
+ this.dexKey = dexKey;
27
+ this.network = network;
28
+ this.logger = logger;
29
+ this.config = config;
30
+ this.levelsCacheKey = config.levelsCacheKey;
31
+ this.levelsCacheTTL = config.levelsCacheTTL;
32
+ this.tokenMetadataCacheKey = config.tokenMetadataCacheKey;
33
+ this.tokenMetadataCacheTTL = config.tokenMetadataCacheTTL;
34
+ // Build network-specific API URL
35
+ const baseUrl = (0, constants_2.buildRenegadeApiUrl)(this.network);
36
+ const url = `${baseUrl}${constants_2.RENEGADE_LEVELS_ENDPOINT}`;
37
+ // Create authentication function for Renegade API
38
+ const authenticate = (options) => {
39
+ // Convert headers to string format for auth function
40
+ const stringHeaders = {};
41
+ for (const [key, value] of Object.entries(options.headers ?? {})) {
42
+ stringHeaders[key] = String(value);
43
+ }
44
+ // Generate authenticated headers using HMAC-SHA256
45
+ const authenticatedHeaders = (0, auth_1.generateRenegadeAuthHeaders)(constants_2.RENEGADE_LEVELS_ENDPOINT, options.data ? JSON.stringify(options.data) : '', // Convert body to string
46
+ stringHeaders, this.config.apiKey, this.config.apiSecret);
47
+ options.headers = authenticatedHeaders;
48
+ return options;
49
+ };
50
+ // Create caster function to validate and transform response
51
+ const caster = (data) => {
52
+ if (typeof data !== 'object' || data === null) {
53
+ throw new Error('Invalid response format from Renegade API');
54
+ }
55
+ const response = data;
56
+ return new renegade_levels_response_1.RenegadeLevelsResponse(response);
57
+ };
58
+ // Create request info for the Fetcher
59
+ const requestInfo = {
60
+ requestOptions: {
61
+ url,
62
+ method: 'GET',
63
+ headers: {
64
+ 'Content-Type': 'application/json',
65
+ },
66
+ },
67
+ caster,
68
+ authenticate,
69
+ };
70
+ // Initialize the Fetcher
71
+ this.levelsFetcher = new fetcher_1.Fetcher(this.dexHelper.httpRequest, {
72
+ info: requestInfo,
73
+ handler: this.handleLevelsResponse.bind(this),
74
+ }, constants_2.RENEGADE_LEVELS_POLLING_INTERVAL, this.logger);
75
+ const chainName = this.getChainName();
76
+ const tokenUrl = `${constants_2.RENEGADE_TOKEN_MAPPINGS_BASE_URL}${chainName}.json`;
77
+ const tokenCaster = (data) => {
78
+ if (typeof data !== 'object' || data === null) {
79
+ throw new Error('Invalid token metadata response format');
80
+ }
81
+ return data;
82
+ };
83
+ const tokenRequestInfo = {
84
+ requestOptions: {
85
+ url: tokenUrl,
86
+ method: 'GET',
87
+ },
88
+ caster: tokenCaster,
89
+ };
90
+ this.tokenMetadataFetcher = new fetcher_1.Fetcher(this.dexHelper.httpRequest, {
91
+ info: tokenRequestInfo,
92
+ handler: this.handleTokenMetadataResponse.bind(this),
93
+ }, constants_2.RENEGADE_TOKEN_METADATA_POLLING_INTERVAL, this.logger);
94
+ }
95
+ // Get chain name for token mappings URL.
96
+ getChainName() {
97
+ switch (this.network) {
98
+ case constants_1.Network.ARBITRUM:
99
+ return 'arbitrum-one';
100
+ case constants_1.Network.BASE:
101
+ return 'base-mainnet';
102
+ default:
103
+ throw new Error(`Network ${this.network} is not supported for token metadata`);
104
+ }
105
+ }
106
+ // Handle successful levels response from the Fetcher.
107
+ handleLevelsResponse(levelsResponse) {
108
+ const rawData = levelsResponse.getRawData();
109
+ this.logger.info(`Renegade levels response: ${JSON.stringify(rawData)}`);
110
+ this.dexHelper.cache.setex(this.dexKey, this.network, this.levelsCacheKey, this.levelsCacheTTL, JSON.stringify(rawData));
111
+ }
112
+ // Handle successful token metadata response from the Fetcher.
113
+ handleTokenMetadataResponse(tokenRemap) {
114
+ const tokensMap = {};
115
+ for (const tokenInfo of tokenRemap.tokens) {
116
+ const address = tokenInfo.address.toLowerCase();
117
+ tokensMap[address] = {
118
+ address: tokenInfo.address,
119
+ decimals: tokenInfo.decimals,
120
+ symbol: tokenInfo.ticker,
121
+ };
122
+ }
123
+ this.dexHelper.cache.setex(this.dexKey, this.network, this.tokenMetadataCacheKey, this.tokenMetadataCacheTTL, JSON.stringify(tokensMap));
124
+ }
125
+ start() {
126
+ this.levelsFetcher.startPolling();
127
+ this.tokenMetadataFetcher.startPolling();
128
+ }
129
+ stop() {
130
+ this.levelsFetcher.stopPolling();
131
+ this.tokenMetadataFetcher.stopPolling();
132
+ }
133
+ }
134
+ exports.RateFetcher = RateFetcher;
135
+ //# sourceMappingURL=rate-fetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-fetcher.js","sourceRoot":"","sources":["../../../src/dex/renegade/rate-fetcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { Address, PoolLiquidity } from '../../types';
2
+ import { RenegadeDepth } from './types';
3
+ export declare class RenegadeLevelsResponse {
4
+ private readonly levels;
5
+ private readonly poolLiquidity;
6
+ constructor(data: {
7
+ [pairIdentifier: string]: RenegadeDepth;
8
+ });
9
+ getRawData(): {
10
+ [pairIdentifier: string]: RenegadeDepth;
11
+ };
12
+ getPoolLiquidity(tokenAddress: Address): PoolLiquidity[];
13
+ getDirectionalLiquidityForToken(tokenAddress: Address, usdcAddress: Address): Array<{
14
+ baseToken: Address;
15
+ quoteToken: Address;
16
+ outboundLiquidityUSD: number;
17
+ reverseLiquidityUSD: number;
18
+ isTokenBase: boolean;
19
+ }>;
20
+ private parsePairIdentifier;
21
+ private calculateLiquidityUSD;
22
+ }
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RenegadeLevelsResponse = void 0;
4
+ const constants_1 = require("./constants");
5
+ // Depth response from Renegade API.
6
+ class RenegadeLevelsResponse {
7
+ levels;
8
+ poolLiquidity;
9
+ constructor(data) {
10
+ this.levels = data;
11
+ if (!this.levels || typeof this.levels !== 'object') {
12
+ throw new Error('Invalid Renegade levels response: expected object');
13
+ }
14
+ this.poolLiquidity = {};
15
+ for (const [pairIdentifier, pairData] of Object.entries(this.levels)) {
16
+ const askLiquidityUSD = pairData.asks.reduce((acc, [price, size]) => {
17
+ return acc + parseFloat(size) * parseFloat(price);
18
+ }, 0);
19
+ const bidLiquidityUSD = pairData.bids.reduce((acc, [price, size]) => {
20
+ return acc + parseFloat(size) * parseFloat(price);
21
+ }, 0);
22
+ const liquidityUSD = askLiquidityUSD + bidLiquidityUSD;
23
+ this.poolLiquidity[pairIdentifier] = {
24
+ poolIdentifier: pairIdentifier,
25
+ exchange: constants_1.RENEGADE_NAME,
26
+ address: pairIdentifier.split('/')[0],
27
+ connectorTokens: [],
28
+ liquidityUSD,
29
+ };
30
+ }
31
+ }
32
+ // Returns the raw levels data.
33
+ getRawData() {
34
+ return this.levels;
35
+ }
36
+ // Returns the pool liquidity for the given base token.
37
+ getPoolLiquidity(tokenAddress) {
38
+ const pools = [];
39
+ for (const [pair, pool] of Object.entries(this.poolLiquidity)) {
40
+ if (pair.toLowerCase().indexOf(tokenAddress.toLowerCase()) !== -1) {
41
+ pools.push(pool);
42
+ }
43
+ }
44
+ return pools;
45
+ }
46
+ // Returns directional liquidity data for a token across all relevant pairs.
47
+ getDirectionalLiquidityForToken(tokenAddress, usdcAddress) {
48
+ const normalizedTokenAddress = tokenAddress.toLowerCase();
49
+ const normalizedUsdcAddress = usdcAddress.toLowerCase();
50
+ const results = [];
51
+ for (const [pairIdentifier, pairDepth] of Object.entries(this.levels)) {
52
+ const parsedPair = this.parsePairIdentifier(pairIdentifier);
53
+ if (!parsedPair)
54
+ continue;
55
+ const [baseToken, quoteToken] = parsedPair;
56
+ if (quoteToken !== normalizedUsdcAddress)
57
+ continue; // quote token should always be USDC
58
+ const isTokenBase = normalizedTokenAddress === baseToken;
59
+ const isTokenQuote = normalizedTokenAddress === quoteToken;
60
+ if (!isTokenBase && !isTokenQuote)
61
+ continue;
62
+ // Calculate directional liquidity
63
+ // If token is base: outbound = bids (sell base), reverse = asks (buy base)
64
+ // If token is quote: outbound = asks (sell quote), reverse = bids (buy quote)
65
+ const outboundLiquidityUSD = isTokenBase
66
+ ? this.calculateLiquidityUSD(pairDepth.bids)
67
+ : this.calculateLiquidityUSD(pairDepth.asks);
68
+ const reverseLiquidityUSD = isTokenBase
69
+ ? this.calculateLiquidityUSD(pairDepth.asks)
70
+ : this.calculateLiquidityUSD(pairDepth.bids);
71
+ if (outboundLiquidityUSD <= 0)
72
+ continue;
73
+ results.push({
74
+ baseToken,
75
+ quoteToken,
76
+ outboundLiquidityUSD,
77
+ reverseLiquidityUSD,
78
+ isTokenBase,
79
+ });
80
+ }
81
+ return results;
82
+ }
83
+ // Internal helper: parse pair identifier into [base, quote] tuple.
84
+ // Pair identifiers are formatted as [base]/[quote], where quote is always USDC.
85
+ parsePairIdentifier(pairIdentifier) {
86
+ const parts = pairIdentifier.split('/').map(s => s.toLowerCase());
87
+ if (parts.length !== 2 || !parts[0] || !parts[1]) {
88
+ return null;
89
+ }
90
+ return [parts[0], parts[1]];
91
+ }
92
+ // Internal helper: calculate USD liquidity from price levels.
93
+ // Sums price * size across all levels (both are strings).
94
+ calculateLiquidityUSD(levels) {
95
+ return levels.reduce((acc, [price, size]) => acc + parseFloat(size) * parseFloat(price), 0);
96
+ }
97
+ }
98
+ exports.RenegadeLevelsResponse = RenegadeLevelsResponse;
99
+ //# sourceMappingURL=renegade-levels-response.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renegade-levels-response.js","sourceRoot":"","sources":["../../../src/dex/renegade/renegade-levels-response.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,57 @@
1
+ import { Network, SwapSide } from '../../constants';
2
+ import { IDexHelper } from '../../dex-helper/idex-helper';
3
+ import { IDex } from '../../dex/idex';
4
+ import { AdapterExchangeParam, Address, DexExchangeParam, ExchangePrices, ExchangeTxInfo, Logger, NumberAsString, OptimalSwapExchange, PoolLiquidity, PoolPrices, PreprocessTransactionOptions, Token, TransferFeeParams } from '../../types';
5
+ import { SimpleExchange } from '../simple-exchange';
6
+ import { SignedExternalQuote } from './api/types';
7
+ import { RenegadeLevelsResponse } from './renegade-levels-response';
8
+ import { RenegadeData } from './types';
9
+ export declare class Renegade extends SimpleExchange implements IDex<RenegadeData> {
10
+ readonly network: Network;
11
+ readonly dexKey: string;
12
+ readonly dexHelper: IDexHelper;
13
+ readonly hasConstantPriceLargeAmounts = false;
14
+ readonly needWrapNative = true;
15
+ readonly isFeeOnTransferSupported = false;
16
+ readonly isStatePollingDex = true;
17
+ static dexKeysWithNetwork: {
18
+ key: string;
19
+ networks: Network[];
20
+ }[];
21
+ private rateFetcher;
22
+ private renegadeClient;
23
+ private tokensMap;
24
+ private readonly apiKey;
25
+ private readonly apiSecret;
26
+ private usdcAddress;
27
+ logger: Logger;
28
+ constructor(network: Network, dexKey: string, dexHelper: IDexHelper);
29
+ initializePricing(blockNumber: number): Promise<void>;
30
+ getAdapters(side: SwapSide): {
31
+ name: string;
32
+ index: number;
33
+ }[] | null;
34
+ private getPoolIdentifier;
35
+ getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
36
+ getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[], transferFees?: TransferFeeParams, isFirstSwap?: boolean): Promise<ExchangePrices<RenegadeData> | null>;
37
+ private getRateForAmount;
38
+ getCalldataGasCost(_poolPrices: PoolPrices<RenegadeData>): number | number[];
39
+ getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: RenegadeData, side: SwapSide): AdapterExchangeParam;
40
+ updatePoolState(): Promise<void>;
41
+ setTokensMap(): Promise<void>;
42
+ getTopPoolsForToken(tokenAddress: Address, limit: number): Promise<PoolLiquidity[]>;
43
+ getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: RenegadeData, side: SwapSide): DexExchangeParam;
44
+ preProcessTransaction(optimalSwapExchange: OptimalSwapExchange<RenegadeData>, srcToken: Token, destToken: Token, side: SwapSide, options: PreprocessTransactionOptions): Promise<[OptimalSwapExchange<RenegadeData>, ExchangeTxInfo]>;
45
+ releaseResources(): Promise<void>;
46
+ getCachedSignedQuote(srcToken: Token, destToken: Token): Promise<SignedExternalQuote | null>;
47
+ getCachedLevels(): Promise<RenegadeLevelsResponse | null>;
48
+ getCachedTokens(): Promise<Record<string, Token> | null>;
49
+ private getQuoteCacheKey;
50
+ private createExternalOrderWithInputAmount;
51
+ private createExternalOrderWithExactOutputAmount;
52
+ private areTokensSupported;
53
+ private isRenegadeSell;
54
+ getTokenFromAddress(address: Address): Token;
55
+ isUSDC(tokenAddress: Address): boolean;
56
+ private _sortTokens;
57
+ }