@paraswap/dex-lib 4.7.27 → 4.7.28

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 (332) hide show
  1. package/build/abi/PendleRouterStatic.json +19 -0
  2. package/build/abi/apex-defi/ApexDefiFactory.abi.json +1749 -0
  3. package/build/abi/apex-defi/ApexDefiRouter.abi.json +1120 -0
  4. package/build/abi/apex-defi/ApexDefiToken.abi.json +229 -0
  5. package/build/abi/apex-defi/ApexDefiWrapper.abi.json +92 -0
  6. package/build/abi/apex-defi/ApexDefiWrapperFactory.abi.json +1107 -0
  7. package/build/abi/ekubo-v3/core.json +797 -0
  8. package/build/abi/ekubo-v3/mev-capture-router.json +936 -0
  9. package/build/abi/ekubo-v3/quote-data-fetcher.json +161 -0
  10. package/build/abi/ekubo-v3/twamm-data-fetcher.json +216 -0
  11. package/build/abi/ekubo-v3/twamm.json +613 -0
  12. package/build/abi/idle-dao/idle-cdo-factory.json +38 -0
  13. package/build/abi/idle-dao/idle-cdo.json +1245 -0
  14. package/build/abi/infusion/InfusionFactory.json +147 -0
  15. package/build/abi/infusion/InfusionPair.json +658 -0
  16. package/build/abi/infusion/InfusionRouter.json +442 -0
  17. package/build/abi/maker-psm/pot.json +322 -0
  18. package/build/abi/maker-psm/psm.json +243 -0
  19. package/build/abi/maker-psm/vat.json +363 -0
  20. package/build/abi/nomiswap-v2/nomiswap-v2-pool.json +773 -0
  21. package/build/abi/pangolin-v3/PangolinV3StateMulticall.abi.json +796 -0
  22. package/build/abi/pendle/pendle-deployer.abi.json +520 -0
  23. package/build/abi/pendle/pendle-oracle.abi.json +413 -0
  24. package/build/abi/quick-perps/fast-price-events.json +70 -0
  25. package/build/abi/quick-perps/fast-price-feed.json +741 -0
  26. package/build/abi/quick-perps/reader.json +313 -0
  27. package/build/abi/quick-perps/vault-price-feed.json +323 -0
  28. package/build/abi/quick-perps/vault.json +1953 -0
  29. package/build/abi/ring-v2/few-wrapped-token.json +587 -0
  30. package/build/abi/ring-v2/ring-v2-factory.json +125 -0
  31. package/build/abi/ring-v2/ring-v2-pool.json +461 -0
  32. package/build/abi/ring-v2/ring-v2-router.json +332 -0
  33. package/build/abi/stabull/stabull-curve.json +738 -0
  34. package/build/abi/stabull/stabull-router.json +76 -0
  35. package/build/abi/uniswap-v2/excalibur-pool.json +881 -0
  36. package/build/abi/uniswap-v2/mdex-factory.json +759 -0
  37. package/build/abi/uniswap-v4/hooks/SpotDynamicFeeManager.json +26 -0
  38. package/build/abi/uniswap-v4/hooks/SpotHook.json +54 -0
  39. package/build/abi/uniswap-v4/hooks/SpotPolicyManager.json +45 -0
  40. package/build/abi/uniswap-v4/hooks/cabalcoin-hook.abi.json +682 -0
  41. package/build/abi/uniswap-v4/hooks/fee-hook.abi.json +1335 -0
  42. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.d.ts +29 -0
  43. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.js +153 -0
  44. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying-factory.js.map +1 -0
  45. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.d.ts +40 -0
  46. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.js +323 -0
  47. package/build/dex/aave-pt-to-underlying/aave-pt-to-underlying.js.map +1 -0
  48. package/build/dex/aave-pt-to-underlying/config.d.ts +3 -0
  49. package/build/dex/aave-pt-to-underlying/config.js +24 -0
  50. package/build/dex/aave-pt-to-underlying/config.js.map +1 -0
  51. package/build/dex/aave-pt-to-underlying/constants.d.ts +2 -0
  52. package/build/dex/aave-pt-to-underlying/constants.js +6 -0
  53. package/build/dex/aave-pt-to-underlying/constants.js.map +1 -0
  54. package/build/dex/aave-pt-to-underlying/types.d.ts +24 -0
  55. package/build/dex/aave-pt-to-underlying/types.js +3 -0
  56. package/build/dex/aave-pt-to-underlying/types.js.map +1 -0
  57. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.d.ts +39 -0
  58. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.js +244 -0
  59. package/build/dex/aave-pt-to-usdc/aave-pt-to-usdc.js.map +1 -0
  60. package/build/dex/aave-pt-to-usdc/config.d.ts +3 -0
  61. package/build/dex/aave-pt-to-usdc/config.js +47 -0
  62. package/build/dex/aave-pt-to-usdc/config.js.map +1 -0
  63. package/build/dex/aave-pt-to-usdc/constants.d.ts +2 -0
  64. package/build/dex/aave-pt-to-usdc/constants.js +6 -0
  65. package/build/dex/aave-pt-to-usdc/constants.js.map +1 -0
  66. package/build/dex/aave-pt-to-usdc/types.d.ts +22 -0
  67. package/build/dex/aave-pt-to-usdc/types.js +3 -0
  68. package/build/dex/aave-pt-to-usdc/types.js.map +1 -0
  69. package/build/dex/apex-defi/apex-defi-factory.d.ts +26 -0
  70. package/build/dex/apex-defi/apex-defi-factory.js +53 -0
  71. package/build/dex/apex-defi/apex-defi-factory.js.map +1 -0
  72. package/build/dex/apex-defi/apex-defi-pool.d.ts +55 -0
  73. package/build/dex/apex-defi/apex-defi-pool.js +247 -0
  74. package/build/dex/apex-defi/apex-defi-pool.js.map +1 -0
  75. package/build/dex/apex-defi/apex-defi-wrapper-factory.d.ts +57 -0
  76. package/build/dex/apex-defi/apex-defi-wrapper-factory.js +250 -0
  77. package/build/dex/apex-defi/apex-defi-wrapper-factory.js.map +1 -0
  78. package/build/dex/apex-defi/apex-defi.d.ts +97 -0
  79. package/build/dex/apex-defi/apex-defi.js +1021 -0
  80. package/build/dex/apex-defi/apex-defi.js.map +1 -0
  81. package/build/dex/apex-defi/config.d.ts +4 -0
  82. package/build/dex/apex-defi/config.js +138 -0
  83. package/build/dex/apex-defi/config.js.map +1 -0
  84. package/build/dex/apex-defi/types.d.ts +32 -0
  85. package/build/dex/apex-defi/types.js +3 -0
  86. package/build/dex/apex-defi/types.js.map +1 -0
  87. package/build/dex/apex-defi/utils.d.ts +46 -0
  88. package/build/dex/apex-defi/utils.js +133 -0
  89. package/build/dex/apex-defi/utils.js.map +1 -0
  90. package/build/dex/ekubo/pools/base-pool.d.ts +47 -0
  91. package/build/dex/ekubo/pools/base-pool.js +184 -0
  92. package/build/dex/ekubo/pools/base-pool.js.map +1 -0
  93. package/build/dex/ekubo/pools/iface.d.ts +46 -0
  94. package/build/dex/ekubo/pools/iface.js +75 -0
  95. package/build/dex/ekubo/pools/iface.js.map +1 -0
  96. package/build/dex/ekubo/pools/math/price.d.ts +7 -0
  97. package/build/dex/ekubo/pools/math/price.js +112 -0
  98. package/build/dex/ekubo/pools/math/price.js.map +1 -0
  99. package/build/dex/ekubo/pools/oracle-pool.d.ts +10 -0
  100. package/build/dex/ekubo/pools/oracle-pool.js +19 -0
  101. package/build/dex/ekubo/pools/oracle-pool.js.map +1 -0
  102. package/build/dex/ekubo/pools/pool-utils.d.ts +44 -0
  103. package/build/dex/ekubo/pools/pool-utils.js +240 -0
  104. package/build/dex/ekubo/pools/pool-utils.js.map +1 -0
  105. package/build/dex/ekubo-v3/config.d.ts +13 -0
  106. package/build/dex/ekubo-v3/config.js +23 -0
  107. package/build/dex/ekubo-v3/config.js.map +1 -0
  108. package/build/dex/ekubo-v3/ekubo-v3-pool-manager.d.ts +34 -0
  109. package/build/dex/ekubo-v3/ekubo-v3-pool-manager.js +421 -0
  110. package/build/dex/ekubo-v3/ekubo-v3-pool-manager.js.map +1 -0
  111. package/build/dex/ekubo-v3/ekubo-v3.d.ts +38 -0
  112. package/build/dex/ekubo-v3/ekubo-v3.js +274 -0
  113. package/build/dex/ekubo-v3/ekubo-v3.js.map +1 -0
  114. package/build/dex/ekubo-v3/pools/base.d.ts +42 -0
  115. package/build/dex/ekubo-v3/pools/base.js +307 -0
  116. package/build/dex/ekubo-v3/pools/base.js.map +1 -0
  117. package/build/dex/ekubo-v3/pools/full-range.d.ts +25 -0
  118. package/build/dex/ekubo-v3/pools/full-range.js +105 -0
  119. package/build/dex/ekubo-v3/pools/full-range.js.map +1 -0
  120. package/build/dex/ekubo-v3/pools/math/constants.d.ts +12 -0
  121. package/build/dex/ekubo-v3/pools/math/constants.js +16 -0
  122. package/build/dex/ekubo-v3/pools/math/constants.js.map +1 -0
  123. package/build/dex/ekubo-v3/pools/math/delta.d.ts +2 -0
  124. package/build/dex/ekubo-v3/pools/math/delta.js +51 -0
  125. package/build/dex/ekubo-v3/pools/math/delta.js.map +1 -0
  126. package/build/dex/ekubo-v3/pools/math/sqrt-ratio.d.ts +8 -0
  127. package/build/dex/ekubo-v3/pools/math/sqrt-ratio.js +113 -0
  128. package/build/dex/ekubo-v3/pools/math/sqrt-ratio.js.map +1 -0
  129. package/build/dex/ekubo-v3/pools/math/swap.d.ts +18 -0
  130. package/build/dex/ekubo-v3/pools/math/swap.js +128 -0
  131. package/build/dex/ekubo-v3/pools/math/swap.js.map +1 -0
  132. package/build/dex/ekubo-v3/pools/math/tick.d.ts +8 -0
  133. package/build/dex/ekubo-v3/pools/math/tick.js +129 -0
  134. package/build/dex/ekubo-v3/pools/math/tick.js.map +1 -0
  135. package/build/dex/ekubo-v3/pools/math/twamm/exp2.d.ts +1 -0
  136. package/build/dex/ekubo-v3/pools/math/twamm/exp2.js +86 -0
  137. package/build/dex/ekubo-v3/pools/math/twamm/exp2.js.map +1 -0
  138. package/build/dex/ekubo-v3/pools/math/twamm/sqrt-ratio.d.ts +1 -0
  139. package/build/dex/ekubo-v3/pools/math/twamm/sqrt-ratio.js +56 -0
  140. package/build/dex/ekubo-v3/pools/math/twamm/sqrt-ratio.js.map +1 -0
  141. package/build/dex/ekubo-v3/pools/mev-capture.d.ts +8 -0
  142. package/build/dex/ekubo-v3/pools/mev-capture.js +42 -0
  143. package/build/dex/ekubo-v3/pools/mev-capture.js.map +1 -0
  144. package/build/dex/ekubo-v3/pools/oracle.d.ts +8 -0
  145. package/build/dex/ekubo-v3/pools/oracle.js +18 -0
  146. package/build/dex/ekubo-v3/pools/oracle.js.map +1 -0
  147. package/build/dex/ekubo-v3/pools/pool.d.ts +56 -0
  148. package/build/dex/ekubo-v3/pools/pool.js +88 -0
  149. package/build/dex/ekubo-v3/pools/pool.js.map +1 -0
  150. package/build/dex/ekubo-v3/pools/stableswap.d.ts +22 -0
  151. package/build/dex/ekubo-v3/pools/stableswap.js +123 -0
  152. package/build/dex/ekubo-v3/pools/stableswap.js.map +1 -0
  153. package/build/dex/ekubo-v3/pools/twamm.d.ts +40 -0
  154. package/build/dex/ekubo-v3/pools/twamm.js +265 -0
  155. package/build/dex/ekubo-v3/pools/twamm.js.map +1 -0
  156. package/build/dex/ekubo-v3/pools/utils.d.ts +62 -0
  157. package/build/dex/ekubo-v3/pools/utils.js +160 -0
  158. package/build/dex/ekubo-v3/pools/utils.js.map +1 -0
  159. package/build/dex/ekubo-v3/types.d.ts +58 -0
  160. package/build/dex/ekubo-v3/types.js +3 -0
  161. package/build/dex/ekubo-v3/types.js.map +1 -0
  162. package/build/dex/ekubo-v3/utils.d.ts +10 -0
  163. package/build/dex/ekubo-v3/utils.js +54 -0
  164. package/build/dex/ekubo-v3/utils.js.map +1 -0
  165. package/build/dex/generic-rfq/validators.js +1 -1
  166. package/build/dex/generic-rfq/validators.js.map +1 -1
  167. package/build/dex/idle-dao/config.d.ts +5 -0
  168. package/build/dex/idle-dao/config.js +24 -0
  169. package/build/dex/idle-dao/config.js.map +1 -0
  170. package/build/dex/idle-dao/idle-dao.d.ts +42 -0
  171. package/build/dex/idle-dao/idle-dao.js +279 -0
  172. package/build/dex/idle-dao/idle-dao.js.map +1 -0
  173. package/build/dex/idle-dao/token_list.d.ts +4 -0
  174. package/build/dex/idle-dao/token_list.js +289 -0
  175. package/build/dex/idle-dao/token_list.js.map +1 -0
  176. package/build/dex/idle-dao/tokens.d.ts +9 -0
  177. package/build/dex/idle-dao/tokens.js +68 -0
  178. package/build/dex/idle-dao/tokens.js.map +1 -0
  179. package/build/dex/idle-dao/types.d.ts +35 -0
  180. package/build/dex/idle-dao/types.js +11 -0
  181. package/build/dex/idle-dao/types.js.map +1 -0
  182. package/build/dex/idle-dao/utils.d.ts +8 -0
  183. package/build/dex/idle-dao/utils.js +149 -0
  184. package/build/dex/idle-dao/utils.js.map +1 -0
  185. package/build/dex/infusion/config.d.ts +3 -0
  186. package/build/dex/infusion/config.js +20 -0
  187. package/build/dex/infusion/config.js.map +1 -0
  188. package/build/dex/infusion/infusion-stable-pool.d.ts +4 -0
  189. package/build/dex/infusion/infusion-stable-pool.js +74 -0
  190. package/build/dex/infusion/infusion-stable-pool.js.map +1 -0
  191. package/build/dex/infusion/infusion.d.ts +51 -0
  192. package/build/dex/infusion/infusion.js +461 -0
  193. package/build/dex/infusion/infusion.js.map +1 -0
  194. package/build/dex/infusion/types.d.ts +45 -0
  195. package/build/dex/infusion/types.js +3 -0
  196. package/build/dex/infusion/types.js.map +1 -0
  197. package/build/dex/infusion/utils/isStablePair.d.ts +2 -0
  198. package/build/dex/infusion/utils/isStablePair.js +18 -0
  199. package/build/dex/infusion/utils/isStablePair.js.map +1 -0
  200. package/build/dex/maker-psm/config.d.ts +11 -0
  201. package/build/dex/maker-psm/config.js +53 -0
  202. package/build/dex/maker-psm/config.js.map +1 -0
  203. package/build/dex/maker-psm/maker-psm-event-pool.d.ts +43 -0
  204. package/build/dex/maker-psm/maker-psm-event-pool.js +132 -0
  205. package/build/dex/maker-psm/maker-psm-event-pool.js.map +1 -0
  206. package/build/dex/maker-psm/maker-psm.d.ts +103 -0
  207. package/build/dex/maker-psm/maker-psm.js +493 -0
  208. package/build/dex/maker-psm/maker-psm.js.map +1 -0
  209. package/build/dex/maker-psm/types.d.ts +39 -0
  210. package/build/dex/maker-psm/types.js +3 -0
  211. package/build/dex/maker-psm/types.js.map +1 -0
  212. package/build/dex/miro-migrator/miro-migrator-state.d.ts +27 -0
  213. package/build/dex/miro-migrator/miro-migrator-state.js +89 -0
  214. package/build/dex/miro-migrator/miro-migrator-state.js.map +1 -0
  215. package/build/dex/quick-perps/config.d.ts +11 -0
  216. package/build/dex/quick-perps/config.js +27 -0
  217. package/build/dex/quick-perps/config.js.map +1 -0
  218. package/build/dex/quick-perps/fast-price-feed.d.ts +26 -0
  219. package/build/dex/quick-perps/fast-price-feed.js +184 -0
  220. package/build/dex/quick-perps/fast-price-feed.js.map +1 -0
  221. package/build/dex/quick-perps/pool.d.ts +21 -0
  222. package/build/dex/quick-perps/pool.js +229 -0
  223. package/build/dex/quick-perps/pool.js.map +1 -0
  224. package/build/dex/quick-perps/quick-perps.d.ts +53 -0
  225. package/build/dex/quick-perps/quick-perps.js +247 -0
  226. package/build/dex/quick-perps/quick-perps.js.map +1 -0
  227. package/build/dex/quick-perps/types.d.ts +98 -0
  228. package/build/dex/quick-perps/types.js +3 -0
  229. package/build/dex/quick-perps/types.js.map +1 -0
  230. package/build/dex/quick-perps/usdq.d.ts +15 -0
  231. package/build/dex/quick-perps/usdq.js +62 -0
  232. package/build/dex/quick-perps/usdq.js.map +1 -0
  233. package/build/dex/quick-perps/vault-price-feed.d.ts +43 -0
  234. package/build/dex/quick-perps/vault-price-feed.js +203 -0
  235. package/build/dex/quick-perps/vault-price-feed.js.map +1 -0
  236. package/build/dex/quick-perps/vault-utils.d.ts +8 -0
  237. package/build/dex/quick-perps/vault-utils.js +42 -0
  238. package/build/dex/quick-perps/vault-utils.js.map +1 -0
  239. package/build/dex/quick-perps/vault.d.ts +46 -0
  240. package/build/dex/quick-perps/vault.js +182 -0
  241. package/build/dex/quick-perps/vault.js.map +1 -0
  242. package/build/dex/solidly/forks-override/aerodrome.d.ts +14 -0
  243. package/build/dex/solidly/forks-override/aerodrome.js +50 -0
  244. package/build/dex/solidly/forks-override/aerodrome.js.map +1 -0
  245. package/build/dex/solidly/forks-override/chronos.d.ts +23 -0
  246. package/build/dex/solidly/forks-override/chronos.js +141 -0
  247. package/build/dex/solidly/forks-override/chronos.js.map +1 -0
  248. package/build/dex/solidly/forks-override/usdfi.d.ts +8 -0
  249. package/build/dex/solidly/forks-override/usdfi.js +15 -0
  250. package/build/dex/solidly/forks-override/usdfi.js.map +1 -0
  251. package/build/dex/solidly/forks-override/velocimeter.d.ts +23 -0
  252. package/build/dex/solidly/forks-override/velocimeter.js +77 -0
  253. package/build/dex/solidly/forks-override/velocimeter.js.map +1 -0
  254. package/build/dex/stabull/config.d.ts +3 -0
  255. package/build/dex/stabull/config.js +177 -0
  256. package/build/dex/stabull/config.js.map +1 -0
  257. package/build/dex/stabull/stabull-pool.d.ts +46 -0
  258. package/build/dex/stabull/stabull-pool.js +113 -0
  259. package/build/dex/stabull/stabull-pool.js.map +1 -0
  260. package/build/dex/stabull/stabull.d.ts +55 -0
  261. package/build/dex/stabull/stabull.js +286 -0
  262. package/build/dex/stabull/stabull.js.map +1 -0
  263. package/build/dex/stabull/types.d.ts +21 -0
  264. package/build/dex/stabull/types.js +3 -0
  265. package/build/dex/stabull/types.js.map +1 -0
  266. package/build/dex/uniswap-v2/dfyn.d.ts +19 -0
  267. package/build/dex/uniswap-v2/dfyn.js +61 -0
  268. package/build/dex/uniswap-v2/dfyn.js.map +1 -0
  269. package/build/dex/uniswap-v2/excalibur.d.ts +24 -0
  270. package/build/dex/uniswap-v2/excalibur.js +47 -0
  271. package/build/dex/uniswap-v2/excalibur.js.map +1 -0
  272. package/build/dex/uniswap-v2/mdex.d.ts +24 -0
  273. package/build/dex/uniswap-v2/mdex.js +50 -0
  274. package/build/dex/uniswap-v2/mdex.js.map +1 -0
  275. package/build/dex/uniswap-v2/nomiswap-v2.d.ts +24 -0
  276. package/build/dex/uniswap-v2/nomiswap-v2.js +57 -0
  277. package/build/dex/uniswap-v2/nomiswap-v2.js.map +1 -0
  278. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.d.ts +4 -0
  279. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.js +56 -0
  280. package/build/dex/uniswap-v3/forks/pangolin-v3/utils.js.map +1 -0
  281. package/build/dex/uniswap-v4/contract-math/Position.d.ts +9 -0
  282. package/build/dex/uniswap-v4/contract-math/Position.js +39 -0
  283. package/build/dex/uniswap-v4/contract-math/Position.js.map +1 -0
  284. package/build/dex/uniswap-v4/hooks/arena.d.ts +6 -0
  285. package/build/dex/uniswap-v4/hooks/arena.js +10 -0
  286. package/build/dex/uniswap-v4/hooks/arena.js.map +1 -0
  287. package/build/dex/uniswap-v4/hooks/base-fee/base-fee-hook.d.ts +0 -0
  288. package/build/dex/uniswap-v4/hooks/base-fee/base-fee-hook.js +2 -0
  289. package/build/dex/uniswap-v4/hooks/base-fee/base-fee-hook.js.map +1 -0
  290. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.d.ts +7 -0
  291. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.js +28 -0
  292. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/cabalcoin-hook-pool.js.map +1 -0
  293. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.d.ts +0 -0
  294. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.js +2 -0
  295. package/build/dex/uniswap-v4/hooks/cabalcoin-hook/types.js.map +1 -0
  296. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.d.ts +7 -0
  297. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.js +28 -0
  298. package/build/dex/uniswap-v4/hooks/fee-hook/fee-hook-pool.js.map +1 -0
  299. package/build/dex/uniswap-v4/hooks/fee-hook/types.d.ts +0 -0
  300. package/build/dex/uniswap-v4/hooks/fee-hook/types.js +2 -0
  301. package/build/dex/uniswap-v4/hooks/fee-hook/types.js.map +1 -0
  302. package/build/dex/uniswap-v4/hooks/index.d.ts +1 -0
  303. package/build/dex/uniswap-v4/hooks/index.js +18 -0
  304. package/build/dex/uniswap-v4/hooks/index.js.map +1 -0
  305. package/build/dex/uniswap-v4/hooks/spot.d.ts +15 -0
  306. package/build/dex/uniswap-v4/hooks/spot.js +109 -0
  307. package/build/dex/uniswap-v4/hooks/spot.js.map +1 -0
  308. package/build/dex/uniswap-v4/hooks/template.d.ts +150 -0
  309. package/build/dex/uniswap-v4/hooks/template.js +104 -0
  310. package/build/dex/uniswap-v4/hooks/template.js.map +1 -0
  311. package/build/dex/usdc-transmuter/usdc-transmuter-pool.d.ts +26 -0
  312. package/build/dex/usdc-transmuter/usdc-transmuter-pool.js +75 -0
  313. package/build/dex/usdc-transmuter/usdc-transmuter-pool.js.map +1 -0
  314. package/build/dex/usual/usual-usdc-usdc.d.ts +17 -0
  315. package/build/dex/usual/usual-usdc-usdc.js +59 -0
  316. package/build/dex/usual/usual-usdc-usdc.js.map +1 -0
  317. package/build/dex/yo/config.d.ts +3 -0
  318. package/build/dex/yo/config.js +21 -0
  319. package/build/dex/yo/config.js.map +1 -0
  320. package/build/dex/yo/types.d.ts +13 -0
  321. package/build/dex/yo/types.js +3 -0
  322. package/build/dex/yo/types.js.map +1 -0
  323. package/build/dex/yo/yo-pool.d.ts +13 -0
  324. package/build/dex/yo/yo-pool.js +26 -0
  325. package/build/dex/yo/yo-pool.js.map +1 -0
  326. package/build/dex/yo/yo.d.ts +39 -0
  327. package/build/dex/yo/yo.js +248 -0
  328. package/build/dex/yo/yo.js.map +1 -0
  329. package/build/implementations/api-paraswap-sdk.d.ts +25 -0
  330. package/build/implementations/api-paraswap-sdk.js +102 -0
  331. package/build/implementations/api-paraswap-sdk.js.map +1 -0
  332. package/package.json +1 -1
@@ -0,0 +1,45 @@
1
+ import { UniswapV2Data, UniswapV2PoolOrderedParams, DexParams as UniswapV2DexParams, UniswapPool } from '../uniswap-v2/types';
2
+ import { UniswapV2Pair } from '../uniswap-v2/uniswap-v2';
3
+ export type PoolState = {
4
+ reserves0: string;
5
+ reserves1: string;
6
+ feeCode: number;
7
+ };
8
+ export interface InfusionPoolOrderedParams extends UniswapV2PoolOrderedParams {
9
+ decimalsIn: number;
10
+ decimalsOut: number;
11
+ stable: boolean;
12
+ }
13
+ export type InfusionData = UniswapV2Data;
14
+ export type InfusionPool = UniswapPool;
15
+ export interface DexParams extends Omit<UniswapV2DexParams, 'feeCode'> {
16
+ feeCode: number;
17
+ stableFee?: number;
18
+ volatileFee?: number;
19
+ feeFactor?: number;
20
+ }
21
+ export interface InfusionPair extends UniswapV2Pair {
22
+ stable: boolean;
23
+ }
24
+ export type InfusionParam = SellOnInfusionParam | SellETHOnInfusionParam;
25
+ export type SellOnInfusionParam = [
26
+ amountIn: string,
27
+ amountOutMin: string,
28
+ routes: {
29
+ from: string;
30
+ to: string;
31
+ stable: boolean;
32
+ }[],
33
+ to: string,
34
+ deadline: number
35
+ ];
36
+ export type SellETHOnInfusionParam = [
37
+ amountOutMin: string,
38
+ routes: {
39
+ from: string;
40
+ to: string;
41
+ stable: boolean;
42
+ }[],
43
+ to: string,
44
+ deadline: number
45
+ ];
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/dex/infusion/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare const stablecoins: Record<number, string[]>;
2
+ export declare function isStablePair(chainId: number, tokenA: string, tokenB: string): boolean;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stablecoins = void 0;
4
+ exports.isStablePair = isStablePair;
5
+ const constants_1 = require("../../../constants");
6
+ exports.stablecoins = {
7
+ [constants_1.Network.BASE]: [
8
+ '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'.toLowerCase(), // usdc
9
+ '0xd9aAEc86B65D86f6A7B5B1b0c42FFA531710b6CA'.toLowerCase(), // usdbc
10
+ '0xEB466342C4d449BC9f53A865D5Cb90586f405215'.toLowerCase(), // axelar usdc
11
+ ],
12
+ };
13
+ function isStablePair(chainId, tokenA, tokenB) {
14
+ const stables = exports.stablecoins[chainId];
15
+ return (stables.includes(tokenA.toLocaleLowerCase()) &&
16
+ stables.includes(tokenB.toLocaleLowerCase()));
17
+ }
18
+ //# sourceMappingURL=isStablePair.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isStablePair.js","sourceRoot":"","sources":["../../../../src/dex/infusion/utils/isStablePair.ts"],"names":[],"mappings":";;;AAUA,oCAOC;AAjBD,kDAA6C;AAEhC,QAAA,WAAW,GAA6B;IACnD,CAAC,mBAAO,CAAC,IAAI,CAAC,EAAE;QACd,4CAA4C,CAAC,WAAW,EAAE,EAAE,OAAO;QACnE,4CAA4C,CAAC,WAAW,EAAE,EAAE,QAAQ;QACpE,4CAA4C,CAAC,WAAW,EAAE,EAAE,cAAc;KAC3E;CACF,CAAC;AAEF,SAAgB,YAAY,CAAC,OAAe,EAAE,MAAc,EAAE,MAAc;IAC1E,MAAM,OAAO,GAAG,mBAAW,CAAC,OAAO,CAAC,CAAC;IAErC,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;QAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAC7C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { DexParams } from './types';
2
+ import { DexConfigMap } from '../../types';
3
+ export declare const MakerPsmConfig: DexConfigMap<DexParams>;
4
+ export declare const Adapters: {
5
+ [chainId: number]: {
6
+ [side: string]: {
7
+ name: string;
8
+ index: number;
9
+ }[] | null;
10
+ };
11
+ };
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Adapters = exports.MakerPsmConfig = void 0;
4
+ const constants_1 = require("../../constants");
5
+ // Warning: Addresses should be lowercased
6
+ exports.MakerPsmConfig = {
7
+ MakerPsm: {
8
+ [constants_1.Network.MAINNET]: {
9
+ dai: {
10
+ address: '0x6b175474e89094c44da98b954eedeac495271d0f',
11
+ decimals: 18,
12
+ },
13
+ vatAddress: '0x35d1b3f3d7966a1dfe207aa4514c12a259a0492b',
14
+ pools: [
15
+ {
16
+ gem: {
17
+ address: '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
18
+ decimals: 6,
19
+ },
20
+ gemJoinAddress: '0x0a59649758aa4d66e25f08dd01271e891fe52199',
21
+ psmAddress: '0x89b78cfa322f6c5de0abceecab66aee45393cc5a',
22
+ identifier: '0x50534d2d555344432d4100000000000000000000000000000000000000000000', // bytes32("PSM-USDC-A")
23
+ },
24
+ {
25
+ gem: {
26
+ address: '0x8e870d67f660d95d5be530380d0ec0bd388289e1',
27
+ decimals: 18,
28
+ },
29
+ gemJoinAddress: '0x7bbd8ca5e413bca521c2c80d8d1908616894cf21',
30
+ psmAddress: '0x961ae24a1ceba861d1fdf723794f6024dc5485cf',
31
+ identifier: '0x50534d2d5041582d410000000000000000000000000000000000000000000000', // bytes32("PSM-PAX-A")
32
+ },
33
+ ],
34
+ },
35
+ },
36
+ };
37
+ exports.Adapters = {
38
+ [constants_1.Network.MAINNET]: {
39
+ [constants_1.SwapSide.SELL]: [
40
+ {
41
+ name: 'Adapter03',
42
+ index: 9,
43
+ },
44
+ ],
45
+ [constants_1.SwapSide.BUY]: [
46
+ {
47
+ name: 'BuyAdapter',
48
+ index: 5,
49
+ },
50
+ ],
51
+ },
52
+ };
53
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/dex/maker-psm/config.ts"],"names":[],"mappings":";;;AAEA,+CAAoD;AAEpD,0CAA0C;AAC7B,QAAA,cAAc,GAA4B;IACrD,QAAQ,EAAE;QACR,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;YACjB,GAAG,EAAE;gBACH,OAAO,EAAE,4CAA4C;gBACrD,QAAQ,EAAE,EAAE;aACb;YACD,UAAU,EAAE,4CAA4C;YACxD,KAAK,EAAE;gBACL;oBACE,GAAG,EAAE;wBACH,OAAO,EAAE,4CAA4C;wBACrD,QAAQ,EAAE,CAAC;qBACZ;oBACD,cAAc,EAAE,4CAA4C;oBAC5D,UAAU,EAAE,4CAA4C;oBACxD,UAAU,EACR,oEAAoE,EAAE,wBAAwB;iBACjG;gBACD;oBACE,GAAG,EAAE;wBACH,OAAO,EAAE,4CAA4C;wBACrD,QAAQ,EAAE,EAAE;qBACb;oBACD,cAAc,EAAE,4CAA4C;oBAC5D,UAAU,EAAE,4CAA4C;oBACxD,UAAU,EACR,oEAAoE,EAAE,uBAAuB;iBAChG;aACF;SACF;KACF;CACF,CAAC;AAEW,QAAA,QAAQ,GAIjB;IACF,CAAC,mBAAO,CAAC,OAAO,CAAC,EAAE;QACjB,CAAC,oBAAQ,CAAC,IAAI,CAAC,EAAE;YACf;gBACE,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,CAAC;aACT;SACF;QACD,CAAC,oBAAQ,CAAC,GAAG,CAAC,EAAE;YACd;gBACE,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,CAAC;aACT;SACF;KACF;CACF,CAAC"}
@@ -0,0 +1,43 @@
1
+ import { DeepReadonly } from 'ts-essentials';
2
+ import { Address, Log, Logger } from '../../types';
3
+ import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
4
+ import { IDexHelper } from '../../dex-helper/idex-helper';
5
+ import { PoolState, PoolConfig } from './types';
6
+ export declare class MakerPsmEventPool extends StatefulEventSubscriber<PoolState> {
7
+ protected network: number;
8
+ protected dexHelper: IDexHelper;
9
+ poolConfig: PoolConfig;
10
+ protected vatAddress: Address;
11
+ handlers: {
12
+ [event: string]: (event: any, pool: PoolState, log: Log) => PoolState;
13
+ };
14
+ logDecoder: (log: Log) => any;
15
+ to18ConversionFactor: bigint;
16
+ bytes32Tout: string;
17
+ bytes32Tin: string;
18
+ constructor(parentName: string, network: number, dexHelper: IDexHelper, logger: Logger, poolConfig: PoolConfig, vatAddress: Address);
19
+ handleFile(event: any, pool: PoolState, log: Log): PoolState;
20
+ handleSellGem(event: any, pool: PoolState, log: Log): PoolState;
21
+ handleBuyGem(event: any, pool: PoolState, log: Log): PoolState;
22
+ getIdentifier(): string;
23
+ /**
24
+ * The function is called every time any of the subscribed
25
+ * addresses release log. The function accepts the current
26
+ * state, updates the state according to the log, and returns
27
+ * the updated state.
28
+ * @param state - Current state of event subscriber
29
+ * @param log - Log released by one of the subscribed addresses
30
+ * @returns Updates state of the event subscriber after the log
31
+ */
32
+ protected processLog(state: DeepReadonly<PoolState>, log: Readonly<Log>): DeepReadonly<PoolState> | null;
33
+ /**
34
+ * The function generates state using on-chain calls. This
35
+ * function is called to regenerate state if the event based
36
+ * system fails to fetch events and the local state is no
37
+ * more correct.
38
+ * @param blockNumber - Blocknumber for which the state should
39
+ * should be generated
40
+ * @returns state of the event subscriber at blocknumber
41
+ */
42
+ generateState(blockNumber: number): Promise<Readonly<PoolState>>;
43
+ }
@@ -0,0 +1,132 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.MakerPsmEventPool = void 0;
7
+ const abi_1 = require("@ethersproject/abi");
8
+ const stateful_event_subscriber_1 = require("../../stateful-event-subscriber");
9
+ const utils_1 = require("../../utils");
10
+ const psm_json_1 = __importDefault(require("../../abi/maker-psm/psm.json"));
11
+ const vat_json_1 = __importDefault(require("../../abi/maker-psm/vat.json"));
12
+ const vatInterface = new abi_1.Interface(vat_json_1.default);
13
+ const psmInterface = new abi_1.Interface(psm_json_1.default);
14
+ const bigIntify = (b) => BigInt(b.toString());
15
+ async function getOnChainState(multiContract, poolConfigs, vatAddress, blockNumber) {
16
+ const callData = poolConfigs
17
+ .map(c => [
18
+ {
19
+ target: c.psmAddress,
20
+ callData: psmInterface.encodeFunctionData('tin', []),
21
+ },
22
+ {
23
+ target: c.psmAddress,
24
+ callData: psmInterface.encodeFunctionData('tout', []),
25
+ },
26
+ {
27
+ target: vatAddress,
28
+ callData: vatInterface.encodeFunctionData('ilks', [c.identifier]),
29
+ },
30
+ ])
31
+ .flat();
32
+ const res = await multiContract.methods
33
+ .aggregate(callData)
34
+ .call({}, blockNumber);
35
+ let i = 0;
36
+ return poolConfigs.map(c => {
37
+ const tin = bigIntify(psmInterface.decodeFunctionResult('tin', res.returnData[i++])[0]);
38
+ const tout = bigIntify(psmInterface.decodeFunctionResult('tout', res.returnData[i++])[0]);
39
+ const ilks = vatInterface.decodeFunctionResult('ilks', res.returnData[i++]);
40
+ const Art = bigIntify(ilks.Art);
41
+ const line = bigIntify(ilks.line);
42
+ const rate = bigIntify(ilks.rate);
43
+ return {
44
+ tin,
45
+ tout,
46
+ Art,
47
+ line,
48
+ rate,
49
+ };
50
+ });
51
+ }
52
+ class MakerPsmEventPool extends stateful_event_subscriber_1.StatefulEventSubscriber {
53
+ network;
54
+ dexHelper;
55
+ poolConfig;
56
+ vatAddress;
57
+ handlers = {};
58
+ logDecoder;
59
+ to18ConversionFactor;
60
+ bytes32Tout = '0x746f757400000000000000000000000000000000000000000000000000000000'; // bytes32('tout')
61
+ bytes32Tin = '0x74696e0000000000000000000000000000000000000000000000000000000000'; // bytes32('tin')
62
+ constructor(parentName, network, dexHelper, logger, poolConfig, vatAddress) {
63
+ super(parentName, poolConfig.identifier, dexHelper, logger);
64
+ this.network = network;
65
+ this.dexHelper = dexHelper;
66
+ this.poolConfig = poolConfig;
67
+ this.vatAddress = vatAddress;
68
+ this.logDecoder = (log) => psmInterface.parseLog(log);
69
+ this.addressesSubscribed = [poolConfig.psmAddress];
70
+ this.to18ConversionFactor = (0, utils_1.getBigIntPow)(18 - poolConfig.gem.decimals);
71
+ // Add handlers
72
+ this.handlers['File'] = this.handleFile.bind(this);
73
+ this.handlers['SellGem'] = this.handleSellGem.bind(this);
74
+ this.handlers['BuyGem'] = this.handleBuyGem.bind(this);
75
+ }
76
+ handleFile(event, pool, log) {
77
+ if (event.args.what === this.bytes32Tin) {
78
+ pool.tin = bigIntify(event.args.data);
79
+ }
80
+ else if (event.args.what === this.bytes32Tout) {
81
+ pool.tout = bigIntify(event.args.data);
82
+ }
83
+ return pool;
84
+ }
85
+ handleSellGem(event, pool, log) {
86
+ pool.Art += bigIntify(event.args.value) * this.to18ConversionFactor;
87
+ return pool;
88
+ }
89
+ handleBuyGem(event, pool, log) {
90
+ pool.Art -= bigIntify(event.args.value) * this.to18ConversionFactor;
91
+ return pool;
92
+ }
93
+ getIdentifier() {
94
+ return `${this.parentName}_${this.poolConfig.psmAddress}`.toLowerCase();
95
+ }
96
+ /**
97
+ * The function is called every time any of the subscribed
98
+ * addresses release log. The function accepts the current
99
+ * state, updates the state according to the log, and returns
100
+ * the updated state.
101
+ * @param state - Current state of event subscriber
102
+ * @param log - Log released by one of the subscribed addresses
103
+ * @returns Updates state of the event subscriber after the log
104
+ */
105
+ processLog(state, log) {
106
+ try {
107
+ const event = this.logDecoder(log);
108
+ if (event.name in this.handlers) {
109
+ return this.handlers[event.name](event, state, log);
110
+ }
111
+ return state;
112
+ }
113
+ catch (e) {
114
+ this.logger.error(`Error_${this.parentName}_processLog could not parse the log with topic ${log.topics}:`, e);
115
+ return null;
116
+ }
117
+ }
118
+ /**
119
+ * The function generates state using on-chain calls. This
120
+ * function is called to regenerate state if the event based
121
+ * system fails to fetch events and the local state is no
122
+ * more correct.
123
+ * @param blockNumber - Blocknumber for which the state should
124
+ * should be generated
125
+ * @returns state of the event subscriber at blocknumber
126
+ */
127
+ async generateState(blockNumber) {
128
+ return (await getOnChainState(this.dexHelper.multiContract, [this.poolConfig], this.vatAddress, blockNumber))[0];
129
+ }
130
+ }
131
+ exports.MakerPsmEventPool = MakerPsmEventPool;
132
+ //# sourceMappingURL=maker-psm-event-pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maker-psm-event-pool.js","sourceRoot":"","sources":["../../../src/dex/maker-psm/maker-psm-event-pool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,103 @@
1
+ import { DeepReadonly } from 'ts-essentials';
2
+ import { Token, Address, ExchangePrices, PoolPrices, Log, AdapterExchangeParam, SimpleExchangeParam, PoolLiquidity, Logger, NumberAsString, DexExchangeParam, ExchangeTxInfo, PreprocessTransactionOptions } from '../../types';
3
+ import { SwapSide, Network } from '../../constants';
4
+ import { StatefulEventSubscriber } from '../../stateful-event-subscriber';
5
+ import { IDex } from '../../dex/idex';
6
+ import { IDexHelper } from '../../dex-helper/idex-helper';
7
+ import { MakerPsmData, PoolState, PoolConfig, MakerPsmDirectPayload } from './types';
8
+ import { SimpleExchange } from '../simple-exchange';
9
+ import { OptimalSwapExchange } from '@paraswap/core';
10
+ export declare class MakerPsmEventPool extends StatefulEventSubscriber<PoolState> {
11
+ protected network: number;
12
+ protected dexHelper: IDexHelper;
13
+ poolConfig: PoolConfig;
14
+ protected vatAddress: Address;
15
+ handlers: {
16
+ [event: string]: (event: any, pool: PoolState, log: Log) => PoolState;
17
+ };
18
+ logDecoder: (log: Log) => any;
19
+ to18ConversionFactor: bigint;
20
+ bytes32Tout: string;
21
+ bytes32Tin: string;
22
+ constructor(parentName: string, network: number, dexHelper: IDexHelper, logger: Logger, poolConfig: PoolConfig, vatAddress: Address);
23
+ handleFile(event: any, pool: PoolState, log: Log): PoolState;
24
+ handleSellGem(event: any, pool: PoolState, log: Log): PoolState;
25
+ handleBuyGem(event: any, pool: PoolState, log: Log): PoolState;
26
+ getIdentifier(): string;
27
+ /**
28
+ * The function is called every time any of the subscribed
29
+ * addresses release log. The function accepts the current
30
+ * state, updates the state according to the log, and returns
31
+ * the updated state.
32
+ * @param state - Current state of event subscriber
33
+ * @param log - Log released by one of the subscribed addresses
34
+ * @returns Updates state of the event subscriber after the log
35
+ */
36
+ protected processLog(state: DeepReadonly<PoolState>, log: Readonly<Log>): DeepReadonly<PoolState> | null;
37
+ /**
38
+ * The function generates state using on-chain calls. This
39
+ * function is called to regenerate state if the event based
40
+ * system fails to fetch events and the local state is no
41
+ * more correct.
42
+ * @param blockNumber - Blocknumber for which the state should
43
+ * should be generated
44
+ * @returns state of the event subscriber at blocknumber
45
+ */
46
+ generateState(blockNumber: number): Promise<Readonly<PoolState>>;
47
+ }
48
+ export declare class MakerPsm extends SimpleExchange implements IDex<MakerPsmData, MakerPsmDirectPayload> {
49
+ protected network: Network;
50
+ protected dexHelper: IDexHelper;
51
+ protected adapters: {
52
+ [side: string]: {
53
+ name: string;
54
+ index: number;
55
+ }[] | null;
56
+ };
57
+ protected dai: Token;
58
+ protected vatAddress: Address;
59
+ protected poolConfigs: PoolConfig[];
60
+ protected eventPools: {
61
+ [gemAddress: string]: MakerPsmEventPool;
62
+ };
63
+ readonly hasConstantPriceLargeAmounts = true;
64
+ readonly isFeeOnTransferSupported = false;
65
+ static dexKeysWithNetwork: {
66
+ key: string;
67
+ networks: Network[];
68
+ }[];
69
+ logger: Logger;
70
+ constructor(network: Network, dexKey: string, dexHelper: IDexHelper, adapters?: {
71
+ [side: string]: {
72
+ name: string;
73
+ index: number;
74
+ }[] | null;
75
+ }, dai?: Token, vatAddress?: Address, poolConfigs?: PoolConfig[]);
76
+ static getDirectFunctionNameV6(): string[];
77
+ initializePricing(blockNumber: number): Promise<void>;
78
+ getAdapters(side: SwapSide): {
79
+ name: string;
80
+ index: number;
81
+ }[] | null;
82
+ getEventPool(srcToken: Token, destToken: Token): MakerPsmEventPool | null;
83
+ getPoolIdentifiers(srcToken: Token, destToken: Token, side: SwapSide, blockNumber: number): Promise<string[]>;
84
+ getPoolState(pool: MakerPsmEventPool, blockNumber: number): Promise<PoolState>;
85
+ computePrices(isSrcDai: boolean, to18ConversionFactor: bigint, side: SwapSide, amounts: bigint[], poolState: PoolState): bigint[];
86
+ getPricesVolume(srcToken: Token, destToken: Token, amounts: bigint[], side: SwapSide, blockNumber: number, limitPools?: string[]): Promise<null | ExchangePrices<MakerPsmData>>;
87
+ getCalldataGasCost(poolPrices: PoolPrices<MakerPsmData>): number | number[];
88
+ getPsmParams(srcToken: string, srcAmount: string, destAmount: string, data: MakerPsmData, side: SwapSide): {
89
+ isGemSell: boolean;
90
+ gemAmount: string;
91
+ };
92
+ getAdapterParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: MakerPsmData, side: SwapSide): AdapterExchangeParam;
93
+ getSimpleParam(srcToken: string, destToken: string, srcAmount: string, destAmount: string, data: MakerPsmData, side: SwapSide): Promise<SimpleExchangeParam>;
94
+ getTokenFromAddress(address: Address): Token;
95
+ preProcessTransaction?(optimalSwapExchange: OptimalSwapExchange<MakerPsmData>, srcToken: Token, destToken: Token, side: SwapSide, options: PreprocessTransactionOptions): Promise<[OptimalSwapExchange<MakerPsmData>, ExchangeTxInfo]>;
96
+ getDexParam(srcToken: Address, destToken: Address, srcAmount: NumberAsString, destAmount: NumberAsString, recipient: Address, data: MakerPsmData, side: SwapSide): DexExchangeParam;
97
+ getDirectParamV6(srcToken: Address, destToken: Address, fromAmount: NumberAsString, toAmount: NumberAsString, quotedAmount: NumberAsString, data: MakerPsmData, side: SwapSide, permit: string, uuid: string, partnerAndFee: string, beneficiary: string, blockNumber: number, contractMethod: string): {
98
+ params: MakerPsmDirectPayload;
99
+ encoder: (...params: (string | MakerPsmDirectPayload)[]) => string;
100
+ networkFee: string;
101
+ };
102
+ getTopPoolsForToken(tokenAddress: Address, limit: number): Promise<PoolLiquidity[]>;
103
+ }