@mento-protocol/mento-sdk 3.0.0-beta.26 → 3.0.0-beta.27

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 (433) hide show
  1. package/package.json +1 -1
  2. package/dist/cache/routes.d.ts +0 -13
  3. package/dist/cache/routes.d.ts.map +0 -1
  4. package/dist/cache/routes.js +0 -11483
  5. package/dist/cache/routes.js.map +0 -1
  6. package/dist/cache/tokens.d.ts +0 -67
  7. package/dist/cache/tokens.d.ts.map +0 -1
  8. package/dist/cache/tokens.js +0 -379
  9. package/dist/cache/tokens.js.map +0 -1
  10. package/dist/core/abis/activePool.d.ts +0 -2
  11. package/dist/core/abis/activePool.d.ts.map +0 -1
  12. package/dist/core/abis/activePool.js +0 -14
  13. package/dist/core/abis/activePool.js.map +0 -1
  14. package/dist/core/abis/addressesRegistry.d.ts +0 -2
  15. package/dist/core/abis/addressesRegistry.d.ts.map +0 -1
  16. package/dist/core/abis/addressesRegistry.js +0 -26
  17. package/dist/core/abis/addressesRegistry.js.map +0 -1
  18. package/dist/core/abis/bipoolmanager.d.ts +0 -34
  19. package/dist/core/abis/bipoolmanager.d.ts.map +0 -1
  20. package/dist/core/abis/bipoolmanager.js +0 -72
  21. package/dist/core/abis/bipoolmanager.js.map +0 -1
  22. package/dist/core/abis/borrowerOperations.d.ts +0 -9
  23. package/dist/core/abis/borrowerOperations.d.ts.map +0 -1
  24. package/dist/core/abis/borrowerOperations.js +0 -89
  25. package/dist/core/abis/borrowerOperations.js.map +0 -1
  26. package/dist/core/abis/breakerbox.d.ts +0 -13
  27. package/dist/core/abis/breakerbox.d.ts.map +0 -1
  28. package/dist/core/abis/breakerbox.js +0 -8
  29. package/dist/core/abis/breakerbox.js.map +0 -1
  30. package/dist/core/abis/broker.d.ts +0 -2
  31. package/dist/core/abis/broker.d.ts.map +0 -1
  32. package/dist/core/abis/broker.js +0 -9
  33. package/dist/core/abis/broker.js.map +0 -1
  34. package/dist/core/abis/erc20.d.ts +0 -9
  35. package/dist/core/abis/erc20.d.ts.map +0 -1
  36. package/dist/core/abis/erc20.js +0 -21
  37. package/dist/core/abis/erc20.js.map +0 -1
  38. package/dist/core/abis/fpmm.d.ts +0 -270
  39. package/dist/core/abis/fpmm.d.ts.map +0 -1
  40. package/dist/core/abis/fpmm.js +0 -49
  41. package/dist/core/abis/fpmm.js.map +0 -1
  42. package/dist/core/abis/fpmmFactory.d.ts +0 -85
  43. package/dist/core/abis/fpmmFactory.d.ts.map +0 -1
  44. package/dist/core/abis/fpmmFactory.js +0 -26
  45. package/dist/core/abis/fpmmFactory.js.map +0 -1
  46. package/dist/core/abis/hintHelpers.d.ts +0 -2
  47. package/dist/core/abis/hintHelpers.d.ts.map +0 -1
  48. package/dist/core/abis/hintHelpers.js +0 -14
  49. package/dist/core/abis/hintHelpers.js.map +0 -1
  50. package/dist/core/abis/index.d.ts +0 -22
  51. package/dist/core/abis/index.d.ts.map +0 -1
  52. package/dist/core/abis/index.js +0 -38
  53. package/dist/core/abis/index.js.map +0 -1
  54. package/dist/core/abis/multiTroveGetter.d.ts +0 -8
  55. package/dist/core/abis/multiTroveGetter.d.ts.map +0 -1
  56. package/dist/core/abis/multiTroveGetter.js +0 -15
  57. package/dist/core/abis/multiTroveGetter.js.map +0 -1
  58. package/dist/core/abis/priceFeed.d.ts +0 -7
  59. package/dist/core/abis/priceFeed.d.ts.map +0 -1
  60. package/dist/core/abis/priceFeed.js +0 -16
  61. package/dist/core/abis/priceFeed.js.map +0 -1
  62. package/dist/core/abis/pricingmodule.d.ts +0 -2
  63. package/dist/core/abis/pricingmodule.d.ts.map +0 -1
  64. package/dist/core/abis/pricingmodule.js +0 -6
  65. package/dist/core/abis/pricingmodule.js.map +0 -1
  66. package/dist/core/abis/reserve.d.ts +0 -2
  67. package/dist/core/abis/reserve.d.ts.map +0 -1
  68. package/dist/core/abis/reserve.js +0 -10
  69. package/dist/core/abis/reserve.js.map +0 -1
  70. package/dist/core/abis/router.d.ts +0 -521
  71. package/dist/core/abis/router.d.ts.map +0 -1
  72. package/dist/core/abis/router.js +0 -45
  73. package/dist/core/abis/router.js.map +0 -1
  74. package/dist/core/abis/sortedTroves.d.ts +0 -2
  75. package/dist/core/abis/sortedTroves.d.ts.map +0 -1
  76. package/dist/core/abis/sortedTroves.js +0 -15
  77. package/dist/core/abis/sortedTroves.js.map +0 -1
  78. package/dist/core/abis/systemParams.d.ts +0 -2
  79. package/dist/core/abis/systemParams.d.ts.map +0 -1
  80. package/dist/core/abis/systemParams.js +0 -14
  81. package/dist/core/abis/systemParams.js.map +0 -1
  82. package/dist/core/abis/troveManager.d.ts +0 -2
  83. package/dist/core/abis/troveManager.d.ts.map +0 -1
  84. package/dist/core/abis/troveManager.js +0 -27
  85. package/dist/core/abis/troveManager.js.map +0 -1
  86. package/dist/core/abis/troveNFT.d.ts +0 -2
  87. package/dist/core/abis/troveNFT.d.ts.map +0 -1
  88. package/dist/core/abis/troveNFT.js +0 -9
  89. package/dist/core/abis/troveNFT.js.map +0 -1
  90. package/dist/core/abis/uniswapV3.d.ts +0 -4
  91. package/dist/core/abis/uniswapV3.d.ts.map +0 -1
  92. package/dist/core/abis/uniswapV3.js +0 -16
  93. package/dist/core/abis/uniswapV3.js.map +0 -1
  94. package/dist/core/abis/virtualPool.d.ts +0 -50
  95. package/dist/core/abis/virtualPool.d.ts.map +0 -1
  96. package/dist/core/abis/virtualPool.js +0 -11
  97. package/dist/core/abis/virtualPool.js.map +0 -1
  98. package/dist/core/abis/virtualPoolFactory.d.ts +0 -59
  99. package/dist/core/abis/virtualPoolFactory.d.ts.map +0 -1
  100. package/dist/core/abis/virtualPoolFactory.js +0 -17
  101. package/dist/core/abis/virtualPoolFactory.js.map +0 -1
  102. package/dist/core/constants/aaveConfig.d.ts +0 -7
  103. package/dist/core/constants/aaveConfig.d.ts.map +0 -1
  104. package/dist/core/constants/aaveConfig.js +0 -22
  105. package/dist/core/constants/aaveConfig.js.map +0 -1
  106. package/dist/core/constants/addresses.d.ts +0 -13
  107. package/dist/core/constants/addresses.d.ts.map +0 -1
  108. package/dist/core/constants/addresses.js +0 -83
  109. package/dist/core/constants/addresses.js.map +0 -1
  110. package/dist/core/constants/borrowConstants.d.ts +0 -10
  111. package/dist/core/constants/borrowConstants.d.ts.map +0 -1
  112. package/dist/core/constants/borrowConstants.js +0 -16
  113. package/dist/core/constants/borrowConstants.js.map +0 -1
  114. package/dist/core/constants/borrowRegistries.d.ts +0 -7
  115. package/dist/core/constants/borrowRegistries.d.ts.map +0 -1
  116. package/dist/core/constants/borrowRegistries.js +0 -31
  117. package/dist/core/constants/borrowRegistries.js.map +0 -1
  118. package/dist/core/constants/chainId.d.ts +0 -5
  119. package/dist/core/constants/chainId.d.ts.map +0 -1
  120. package/dist/core/constants/chainId.js +0 -9
  121. package/dist/core/constants/chainId.js.map +0 -1
  122. package/dist/core/constants/contractNames.d.ts +0 -21
  123. package/dist/core/constants/contractNames.d.ts.map +0 -1
  124. package/dist/core/constants/contractNames.js +0 -24
  125. package/dist/core/constants/contractNames.js.map +0 -1
  126. package/dist/core/constants/index.d.ts +0 -9
  127. package/dist/core/constants/index.d.ts.map +0 -1
  128. package/dist/core/constants/index.js +0 -25
  129. package/dist/core/constants/index.js.map +0 -1
  130. package/dist/core/constants/mentoAddresses.d.ts +0 -7
  131. package/dist/core/constants/mentoAddresses.d.ts.map +0 -1
  132. package/dist/core/constants/mentoAddresses.js +0 -10
  133. package/dist/core/constants/mentoAddresses.js.map +0 -1
  134. package/dist/core/constants/protocolAddresses.d.ts +0 -5
  135. package/dist/core/constants/protocolAddresses.d.ts.map +0 -1
  136. package/dist/core/constants/protocolAddresses.js +0 -8
  137. package/dist/core/constants/protocolAddresses.js.map +0 -1
  138. package/dist/core/errors/base.d.ts +0 -8
  139. package/dist/core/errors/base.d.ts.map +0 -1
  140. package/dist/core/errors/base.js +0 -17
  141. package/dist/core/errors/base.js.map +0 -1
  142. package/dist/core/errors/index.d.ts +0 -4
  143. package/dist/core/errors/index.d.ts.map +0 -1
  144. package/dist/core/errors/index.js +0 -20
  145. package/dist/core/errors/index.js.map +0 -1
  146. package/dist/core/errors/oracle.d.ts +0 -9
  147. package/dist/core/errors/oracle.d.ts.map +0 -1
  148. package/dist/core/errors/oracle.js +0 -15
  149. package/dist/core/errors/oracle.js.map +0 -1
  150. package/dist/core/errors/router.d.ts +0 -14
  151. package/dist/core/errors/router.d.ts.map +0 -1
  152. package/dist/core/errors/router.js +0 -24
  153. package/dist/core/errors/router.js.map +0 -1
  154. package/dist/core/types/borrow.d.ts +0 -87
  155. package/dist/core/types/borrow.d.ts.map +0 -1
  156. package/dist/core/types/borrow.js +0 -3
  157. package/dist/core/types/borrow.js.map +0 -1
  158. package/dist/core/types/contractAddresses.d.ts +0 -41
  159. package/dist/core/types/contractAddresses.d.ts.map +0 -1
  160. package/dist/core/types/contractAddresses.js +0 -3
  161. package/dist/core/types/contractAddresses.js.map +0 -1
  162. package/dist/core/types/index.d.ts +0 -10
  163. package/dist/core/types/index.d.ts.map +0 -1
  164. package/dist/core/types/index.js +0 -26
  165. package/dist/core/types/index.js.map +0 -1
  166. package/dist/core/types/liquidity.d.ts +0 -117
  167. package/dist/core/types/liquidity.d.ts.map +0 -1
  168. package/dist/core/types/liquidity.js +0 -3
  169. package/dist/core/types/liquidity.js.map +0 -1
  170. package/dist/core/types/pool.d.ts +0 -145
  171. package/dist/core/types/pool.d.ts.map +0 -1
  172. package/dist/core/types/pool.js +0 -14
  173. package/dist/core/types/pool.js.map +0 -1
  174. package/dist/core/types/provider.d.ts +0 -45
  175. package/dist/core/types/provider.d.ts.map +0 -1
  176. package/dist/core/types/provider.js +0 -3
  177. package/dist/core/types/provider.js.map +0 -1
  178. package/dist/core/types/route.d.ts +0 -62
  179. package/dist/core/types/route.d.ts.map +0 -1
  180. package/dist/core/types/route.js +0 -3
  181. package/dist/core/types/route.js.map +0 -1
  182. package/dist/core/types/token.d.ts +0 -35
  183. package/dist/core/types/token.d.ts.map +0 -1
  184. package/dist/core/types/token.js +0 -3
  185. package/dist/core/types/token.js.map +0 -1
  186. package/dist/core/types/tradingLimits.d.ts +0 -91
  187. package/dist/core/types/tradingLimits.d.ts.map +0 -1
  188. package/dist/core/types/tradingLimits.js +0 -3
  189. package/dist/core/types/tradingLimits.js.map +0 -1
  190. package/dist/core/types/tradingMode.d.ts +0 -24
  191. package/dist/core/types/tradingMode.d.ts.map +0 -1
  192. package/dist/core/types/tradingMode.js +0 -31
  193. package/dist/core/types/tradingMode.js.map +0 -1
  194. package/dist/core/types/transaction.d.ts +0 -45
  195. package/dist/core/types/transaction.d.ts.map +0 -1
  196. package/dist/core/types/transaction.js +0 -3
  197. package/dist/core/types/transaction.js.map +0 -1
  198. package/dist/index.d.ts +0 -87
  199. package/dist/index.d.ts.map +0 -1
  200. package/dist/index.js +0 -136
  201. package/dist/index.js.map +0 -1
  202. package/dist/services/borrow/BorrowService.d.ts +0 -54
  203. package/dist/services/borrow/BorrowService.d.ts.map +0 -1
  204. package/dist/services/borrow/BorrowService.js +0 -129
  205. package/dist/services/borrow/BorrowService.js.map +0 -1
  206. package/dist/services/borrow/borrowHelpers.d.ts +0 -4
  207. package/dist/services/borrow/borrowHelpers.d.ts.map +0 -1
  208. package/dist/services/borrow/borrowHelpers.js +0 -13
  209. package/dist/services/borrow/borrowHelpers.js.map +0 -1
  210. package/dist/services/borrow/borrowMath.d.ts +0 -13
  211. package/dist/services/borrow/borrowMath.d.ts.map +0 -1
  212. package/dist/services/borrow/borrowMath.js +0 -129
  213. package/dist/services/borrow/borrowMath.js.map +0 -1
  214. package/dist/services/borrow/index.d.ts +0 -2
  215. package/dist/services/borrow/index.d.ts.map +0 -1
  216. package/dist/services/borrow/index.js +0 -18
  217. package/dist/services/borrow/index.js.map +0 -1
  218. package/dist/services/borrow/internal/borrowApprovalService.d.ts +0 -14
  219. package/dist/services/borrow/internal/borrowApprovalService.d.ts.map +0 -1
  220. package/dist/services/borrow/internal/borrowApprovalService.js +0 -53
  221. package/dist/services/borrow/internal/borrowApprovalService.js.map +0 -1
  222. package/dist/services/borrow/internal/borrowContextStore.d.ts +0 -11
  223. package/dist/services/borrow/internal/borrowContextStore.d.ts.map +0 -1
  224. package/dist/services/borrow/internal/borrowContextStore.js +0 -40
  225. package/dist/services/borrow/internal/borrowContextStore.js.map +0 -1
  226. package/dist/services/borrow/internal/borrowErc20.d.ts +0 -5
  227. package/dist/services/borrow/internal/borrowErc20.d.ts.map +0 -1
  228. package/dist/services/borrow/internal/borrowErc20.js +0 -43
  229. package/dist/services/borrow/internal/borrowErc20.js.map +0 -1
  230. package/dist/services/borrow/internal/borrowHints.d.ts +0 -7
  231. package/dist/services/borrow/internal/borrowHints.d.ts.map +0 -1
  232. package/dist/services/borrow/internal/borrowHints.js +0 -31
  233. package/dist/services/borrow/internal/borrowHints.js.map +0 -1
  234. package/dist/services/borrow/internal/borrowPositionParser.d.ts +0 -4
  235. package/dist/services/borrow/internal/borrowPositionParser.d.ts.map +0 -1
  236. package/dist/services/borrow/internal/borrowPositionParser.js +0 -87
  237. package/dist/services/borrow/internal/borrowPositionParser.js.map +0 -1
  238. package/dist/services/borrow/internal/borrowReadService.d.ts +0 -28
  239. package/dist/services/borrow/internal/borrowReadService.d.ts.map +0 -1
  240. package/dist/services/borrow/internal/borrowReadService.js +0 -218
  241. package/dist/services/borrow/internal/borrowReadService.js.map +0 -1
  242. package/dist/services/borrow/internal/borrowRegistryReader.d.ts +0 -5
  243. package/dist/services/borrow/internal/borrowRegistryReader.d.ts.map +0 -1
  244. package/dist/services/borrow/internal/borrowRegistryReader.js +0 -96
  245. package/dist/services/borrow/internal/borrowRegistryReader.js.map +0 -1
  246. package/dist/services/borrow/internal/borrowTransactionService.d.ts +0 -23
  247. package/dist/services/borrow/internal/borrowTransactionService.d.ts.map +0 -1
  248. package/dist/services/borrow/internal/borrowTransactionService.js +0 -276
  249. package/dist/services/borrow/internal/borrowTransactionService.js.map +0 -1
  250. package/dist/services/borrow/internal/borrowTypes.d.ts +0 -15
  251. package/dist/services/borrow/internal/borrowTypes.d.ts.map +0 -1
  252. package/dist/services/borrow/internal/borrowTypes.js +0 -3
  253. package/dist/services/borrow/internal/borrowTypes.js.map +0 -1
  254. package/dist/services/borrow/internal/borrowValidation.d.ts +0 -13
  255. package/dist/services/borrow/internal/borrowValidation.d.ts.map +0 -1
  256. package/dist/services/borrow/internal/borrowValidation.js +0 -96
  257. package/dist/services/borrow/internal/borrowValidation.js.map +0 -1
  258. package/dist/services/index.d.ts +0 -9
  259. package/dist/services/index.d.ts.map +0 -1
  260. package/dist/services/index.js +0 -25
  261. package/dist/services/index.js.map +0 -1
  262. package/dist/services/liquidity/LiquidityService.d.ts +0 -154
  263. package/dist/services/liquidity/LiquidityService.d.ts.map +0 -1
  264. package/dist/services/liquidity/LiquidityService.js +0 -184
  265. package/dist/services/liquidity/LiquidityService.js.map +0 -1
  266. package/dist/services/liquidity/basicLiquidity.d.ts +0 -11
  267. package/dist/services/liquidity/basicLiquidity.d.ts.map +0 -1
  268. package/dist/services/liquidity/basicLiquidity.js +0 -172
  269. package/dist/services/liquidity/basicLiquidity.js.map +0 -1
  270. package/dist/services/liquidity/index.d.ts +0 -2
  271. package/dist/services/liquidity/index.d.ts.map +0 -1
  272. package/dist/services/liquidity/index.js +0 -18
  273. package/dist/services/liquidity/index.js.map +0 -1
  274. package/dist/services/liquidity/liquidityHelpers.d.ts +0 -13
  275. package/dist/services/liquidity/liquidityHelpers.d.ts.map +0 -1
  276. package/dist/services/liquidity/liquidityHelpers.js +0 -74
  277. package/dist/services/liquidity/liquidityHelpers.js.map +0 -1
  278. package/dist/services/liquidity/zapHelpers.d.ts +0 -66
  279. package/dist/services/liquidity/zapHelpers.d.ts.map +0 -1
  280. package/dist/services/liquidity/zapHelpers.js +0 -133
  281. package/dist/services/liquidity/zapHelpers.js.map +0 -1
  282. package/dist/services/liquidity/zapIn.d.ts +0 -17
  283. package/dist/services/liquidity/zapIn.d.ts.map +0 -1
  284. package/dist/services/liquidity/zapIn.js +0 -125
  285. package/dist/services/liquidity/zapIn.js.map +0 -1
  286. package/dist/services/liquidity/zapOut.d.ts +0 -17
  287. package/dist/services/liquidity/zapOut.d.ts.map +0 -1
  288. package/dist/services/liquidity/zapOut.js +0 -242
  289. package/dist/services/liquidity/zapOut.js.map +0 -1
  290. package/dist/services/pools/PoolService.d.ts +0 -62
  291. package/dist/services/pools/PoolService.d.ts.map +0 -1
  292. package/dist/services/pools/PoolService.js +0 -110
  293. package/dist/services/pools/PoolService.js.map +0 -1
  294. package/dist/services/pools/index.d.ts +0 -2
  295. package/dist/services/pools/index.d.ts.map +0 -1
  296. package/dist/services/pools/index.js +0 -18
  297. package/dist/services/pools/index.js.map +0 -1
  298. package/dist/services/pools/poolDetails.d.ts +0 -11
  299. package/dist/services/pools/poolDetails.d.ts.map +0 -1
  300. package/dist/services/pools/poolDetails.js +0 -151
  301. package/dist/services/pools/poolDetails.js.map +0 -1
  302. package/dist/services/pools/poolDiscovery.d.ts +0 -12
  303. package/dist/services/pools/poolDiscovery.d.ts.map +0 -1
  304. package/dist/services/pools/poolDiscovery.js +0 -114
  305. package/dist/services/pools/poolDiscovery.js.map +0 -1
  306. package/dist/services/quotes/QuoteService.d.ts +0 -50
  307. package/dist/services/quotes/QuoteService.d.ts.map +0 -1
  308. package/dist/services/quotes/QuoteService.js +0 -88
  309. package/dist/services/quotes/QuoteService.js.map +0 -1
  310. package/dist/services/quotes/index.d.ts +0 -2
  311. package/dist/services/quotes/index.d.ts.map +0 -1
  312. package/dist/services/quotes/index.js +0 -18
  313. package/dist/services/quotes/index.js.map +0 -1
  314. package/dist/services/routes/RouteService.d.ts +0 -109
  315. package/dist/services/routes/RouteService.d.ts.map +0 -1
  316. package/dist/services/routes/RouteService.js +0 -239
  317. package/dist/services/routes/RouteService.js.map +0 -1
  318. package/dist/services/routes/index.d.ts +0 -2
  319. package/dist/services/routes/index.d.ts.map +0 -1
  320. package/dist/services/routes/index.js +0 -18
  321. package/dist/services/routes/index.js.map +0 -1
  322. package/dist/services/swap/SwapService.d.ts +0 -162
  323. package/dist/services/swap/SwapService.d.ts.map +0 -1
  324. package/dist/services/swap/SwapService.js +0 -181
  325. package/dist/services/swap/SwapService.js.map +0 -1
  326. package/dist/services/swap/index.d.ts +0 -2
  327. package/dist/services/swap/index.d.ts.map +0 -1
  328. package/dist/services/swap/index.js +0 -18
  329. package/dist/services/swap/index.js.map +0 -1
  330. package/dist/services/tokens/index.d.ts +0 -2
  331. package/dist/services/tokens/index.d.ts.map +0 -1
  332. package/dist/services/tokens/index.js +0 -18
  333. package/dist/services/tokens/index.js.map +0 -1
  334. package/dist/services/tokens/supply/ISupplyCalculator.d.ts +0 -14
  335. package/dist/services/tokens/supply/ISupplyCalculator.d.ts.map +0 -1
  336. package/dist/services/tokens/supply/ISupplyCalculator.js +0 -3
  337. package/dist/services/tokens/supply/ISupplyCalculator.js.map +0 -1
  338. package/dist/services/tokens/supply/aaveSupplyCalculator.d.ts +0 -22
  339. package/dist/services/tokens/supply/aaveSupplyCalculator.d.ts.map +0 -1
  340. package/dist/services/tokens/supply/aaveSupplyCalculator.js +0 -46
  341. package/dist/services/tokens/supply/aaveSupplyCalculator.js.map +0 -1
  342. package/dist/services/tokens/supply/calculatorFactory.d.ts +0 -8
  343. package/dist/services/tokens/supply/calculatorFactory.d.ts.map +0 -1
  344. package/dist/services/tokens/supply/calculatorFactory.js +0 -3
  345. package/dist/services/tokens/supply/calculatorFactory.js.map +0 -1
  346. package/dist/services/tokens/supply/defaultCalculatorFactory.d.ts +0 -9
  347. package/dist/services/tokens/supply/defaultCalculatorFactory.d.ts.map +0 -1
  348. package/dist/services/tokens/supply/defaultCalculatorFactory.js +0 -28
  349. package/dist/services/tokens/supply/defaultCalculatorFactory.js.map +0 -1
  350. package/dist/services/tokens/supply/index.d.ts +0 -7
  351. package/dist/services/tokens/supply/index.d.ts.map +0 -1
  352. package/dist/services/tokens/supply/index.js +0 -23
  353. package/dist/services/tokens/supply/index.js.map +0 -1
  354. package/dist/services/tokens/supply/multisigSupplyCalculator.d.ts +0 -9
  355. package/dist/services/tokens/supply/multisigSupplyCalculator.d.ts.map +0 -1
  356. package/dist/services/tokens/supply/multisigSupplyCalculator.js +0 -33
  357. package/dist/services/tokens/supply/multisigSupplyCalculator.js.map +0 -1
  358. package/dist/services/tokens/supply/uniV3SupplyCalculator.d.ts +0 -21
  359. package/dist/services/tokens/supply/uniV3SupplyCalculator.d.ts.map +0 -1
  360. package/dist/services/tokens/supply/uniV3SupplyCalculator.js +0 -238
  361. package/dist/services/tokens/supply/uniV3SupplyCalculator.js.map +0 -1
  362. package/dist/services/tokens/supplyAdjustmentService.d.ts +0 -15
  363. package/dist/services/tokens/supplyAdjustmentService.d.ts.map +0 -1
  364. package/dist/services/tokens/supplyAdjustmentService.js +0 -44
  365. package/dist/services/tokens/supplyAdjustmentService.js.map +0 -1
  366. package/dist/services/tokens/tokenService.d.ts +0 -33
  367. package/dist/services/tokens/tokenService.d.ts.map +0 -1
  368. package/dist/services/tokens/tokenService.js +0 -136
  369. package/dist/services/tokens/tokenService.js.map +0 -1
  370. package/dist/services/trading/TradingLimitsService.d.ts +0 -38
  371. package/dist/services/trading/TradingLimitsService.d.ts.map +0 -1
  372. package/dist/services/trading/TradingLimitsService.js +0 -157
  373. package/dist/services/trading/TradingLimitsService.js.map +0 -1
  374. package/dist/services/trading/TradingService.d.ts +0 -110
  375. package/dist/services/trading/TradingService.d.ts.map +0 -1
  376. package/dist/services/trading/TradingService.js +0 -162
  377. package/dist/services/trading/TradingService.js.map +0 -1
  378. package/dist/services/trading/index.d.ts +0 -3
  379. package/dist/services/trading/index.d.ts.map +0 -1
  380. package/dist/services/trading/index.js +0 -19
  381. package/dist/services/trading/index.js.map +0 -1
  382. package/dist/utils/chainConfig.d.ts +0 -16
  383. package/dist/utils/chainConfig.d.ts.map +0 -1
  384. package/dist/utils/chainConfig.js +0 -62
  385. package/dist/utils/chainConfig.js.map +0 -1
  386. package/dist/utils/costUtils.d.ts +0 -12
  387. package/dist/utils/costUtils.d.ts.map +0 -1
  388. package/dist/utils/costUtils.js +0 -59
  389. package/dist/utils/costUtils.js.map +0 -1
  390. package/dist/utils/deadline.d.ts +0 -21
  391. package/dist/utils/deadline.d.ts.map +0 -1
  392. package/dist/utils/deadline.js +0 -26
  393. package/dist/utils/deadline.js.map +0 -1
  394. package/dist/utils/index.d.ts +0 -10
  395. package/dist/utils/index.d.ts.map +0 -1
  396. package/dist/utils/index.js +0 -26
  397. package/dist/utils/index.js.map +0 -1
  398. package/dist/utils/pathEncoder.d.ts +0 -34
  399. package/dist/utils/pathEncoder.d.ts.map +0 -1
  400. package/dist/utils/pathEncoder.js +0 -73
  401. package/dist/utils/pathEncoder.js.map +0 -1
  402. package/dist/utils/rateFeed.d.ts +0 -18
  403. package/dist/utils/rateFeed.d.ts.map +0 -1
  404. package/dist/utils/rateFeed.js +0 -27
  405. package/dist/utils/rateFeed.js.map +0 -1
  406. package/dist/utils/retry.d.ts +0 -12
  407. package/dist/utils/retry.d.ts.map +0 -1
  408. package/dist/utils/retry.js +0 -28
  409. package/dist/utils/retry.js.map +0 -1
  410. package/dist/utils/routeUtils.d.ts +0 -295
  411. package/dist/utils/routeUtils.d.ts.map +0 -1
  412. package/dist/utils/routeUtils.js +0 -371
  413. package/dist/utils/routeUtils.js.map +0 -1
  414. package/dist/utils/routes.d.ts +0 -3
  415. package/dist/utils/routes.d.ts.map +0 -1
  416. package/dist/utils/routes.js +0 -8
  417. package/dist/utils/routes.js.map +0 -1
  418. package/dist/utils/sortUtils.d.ts +0 -24
  419. package/dist/utils/sortUtils.d.ts.map +0 -1
  420. package/dist/utils/sortUtils.js +0 -39
  421. package/dist/utils/sortUtils.js.map +0 -1
  422. package/dist/utils/tokens.d.ts +0 -2
  423. package/dist/utils/tokens.d.ts.map +0 -1
  424. package/dist/utils/tokens.js +0 -13
  425. package/dist/utils/tokens.js.map +0 -1
  426. package/dist/utils/tradingLimits.d.ts +0 -41
  427. package/dist/utils/tradingLimits.d.ts.map +0 -1
  428. package/dist/utils/tradingLimits.js +0 -171
  429. package/dist/utils/tradingLimits.js.map +0 -1
  430. package/dist/utils/validation.d.ts +0 -19
  431. package/dist/utils/validation.d.ts.map +0 -1
  432. package/dist/utils/validation.js +0 -34
  433. package/dist/utils/validation.js.map +0 -1
@@ -1,110 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PoolService = void 0;
4
- const types_1 = require("../../core/types");
5
- const poolDiscovery_1 = require("./poolDiscovery");
6
- const poolDetails_1 = require("./poolDetails");
7
- /**
8
- * Service for discovering liquidity pools in the Mento protocol.
9
- * Aggregates pools from multiple factory contracts (FPMM and VirtualPool).
10
- */
11
- class PoolService {
12
- constructor(publicClient, chainId) {
13
- this.publicClient = publicClient;
14
- this.chainId = chainId;
15
- this.poolsCache = null;
16
- this.discoveryWarnings = [];
17
- }
18
- /**
19
- * Returns any warnings from the last pool discovery operation.
20
- * Useful for debugging when some factories fail but others succeed.
21
- */
22
- getDiscoveryWarnings() {
23
- return [...this.discoveryWarnings];
24
- }
25
- /**
26
- * Fetches all pools available in the protocol from both FPMM and Virtual pool factories
27
- * Results are cached in memory for the service instance lifetime
28
- *
29
- * @returns Array of all pools available in the protocol
30
- * @throws {Error} If no pools can be discovered from any factory
31
- *
32
- * @example
33
- * ```typescript
34
- * const pools = await poolService.getPools()
35
- * console.log(`Found ${pools.length} pools`)
36
- * ```
37
- */
38
- async getPools() {
39
- if (this.poolsCache) {
40
- return this.poolsCache;
41
- }
42
- // TODO: Update to use router.factoryRegistry.poolFactories()
43
- // for dynamic factory discovery. For now we will use
44
- // the hardcoded factory addresses for the chain for v1.
45
- const pools = [];
46
- const warnings = [];
47
- try {
48
- const fpmmPools = await (0, poolDiscovery_1.fetchFPMMPools)(this.publicClient, this.chainId);
49
- pools.push(...fpmmPools);
50
- }
51
- catch (error) {
52
- const message = `Failed to fetch FPMM pools: ${error instanceof Error ? error.message : String(error)}`;
53
- console.warn(`[PoolService] ${message}`);
54
- warnings.push(message);
55
- }
56
- try {
57
- const virtualPools = await (0, poolDiscovery_1.fetchVirtualPools)(this.publicClient, this.chainId);
58
- pools.push(...virtualPools);
59
- }
60
- catch (error) {
61
- const message = `Failed to fetch Virtual pools: ${error instanceof Error ? error.message : String(error)}`;
62
- console.warn(`[PoolService] ${message}`);
63
- warnings.push(message);
64
- }
65
- this.discoveryWarnings = warnings;
66
- // Only throw if NO pools were discovered from any factory
67
- if (pools.length === 0) {
68
- throw new Error('Failed to discover any pools from any factory. ' +
69
- 'All pool factory queries failed. Check network connectivity and RPC endpoint.');
70
- }
71
- this.poolsCache = pools;
72
- return pools;
73
- }
74
- /**
75
- * Fetches enriched on-chain details for a specific pool by address.
76
- * Resolves the pool type from the discovery cache, then fetches
77
- * pool-type-specific data (pricing, fees, rebalancing for FPMM; reserves and spread for Virtual).
78
- *
79
- * @param poolAddr - The deployed pool contract address
80
- * @returns Enriched pool details (FPMMPoolDetails or VirtualPoolDetails)
81
- * @throws {Error} If the pool address is not found in any known factory
82
- * @throws {Error} If on-chain calls fail
83
- *
84
- * @example
85
- * ```typescript
86
- * const details = await poolService.getPoolDetails('0x...')
87
- * if (details.poolType === 'FPMM') {
88
- * console.log(details.pricing.oraclePrice)
89
- * console.log(details.rebalancing.inBand)
90
- * } else {
91
- * console.log(details.spreadPercent)
92
- * }
93
- * ```
94
- */
95
- async getPoolDetails(poolAddr) {
96
- const pools = await this.getPools();
97
- const pool = pools.find((p) => p.poolAddr.toLowerCase() === poolAddr.toLowerCase());
98
- if (!pool) {
99
- throw new Error(`Pool not found: ${poolAddr}. ` + 'Ensure the address is a valid pool discovered by getPools().');
100
- }
101
- if (pool.poolType === types_1.PoolType.FPMM) {
102
- return (0, poolDetails_1.fetchFPMMPoolDetails)(this.publicClient, this.chainId, pool);
103
- }
104
- else {
105
- return (0, poolDetails_1.fetchVirtualPoolDetails)(this.publicClient, pool);
106
- }
107
- }
108
- }
109
- exports.PoolService = PoolService;
110
- //# sourceMappingURL=PoolService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PoolService.js","sourceRoot":"","sources":["../../../src/services/pools/PoolService.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export * from "./PoolService";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/pools/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./PoolService"), exports);
18
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/pools/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B"}
@@ -1,11 +0,0 @@
1
- import { Pool, FPMMPoolDetails, VirtualPoolDetails } from '../../core/types';
2
- import { PublicClient } from 'viem';
3
- /**
4
- * Fetches enriched details for an FPMM pool
5
- */
6
- export declare function fetchFPMMPoolDetails(publicClient: PublicClient, chainId: number, pool: Pool): Promise<FPMMPoolDetails>;
7
- /**
8
- * Fetches enriched details for a Virtual pool
9
- */
10
- export declare function fetchVirtualPoolDetails(publicClient: PublicClient, pool: Pool): Promise<VirtualPoolDetails>;
11
- //# sourceMappingURL=poolDetails.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"poolDetails.d.ts","sourceRoot":"","sources":["../../../src/services/pools/poolDetails.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,eAAe,EAAe,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAEzF,OAAO,EAAE,YAAY,EAAuB,MAAM,MAAM,CAAA;AAExD;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,IAAI,GACT,OAAO,CAAC,eAAe,CAAC,CAmH1B;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,kBAAkB,CAAC,CA4BjH"}
@@ -1,151 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fetchFPMMPoolDetails = fetchFPMMPoolDetails;
4
- exports.fetchVirtualPoolDetails = fetchVirtualPoolDetails;
5
- const constants_1 = require("../../core/constants");
6
- const abis_1 = require("../../core/abis");
7
- const viem_1 = require("viem");
8
- /**
9
- * Fetches enriched details for an FPMM pool
10
- */
11
- async function fetchFPMMPoolDetails(publicClient, chainId, pool) {
12
- const address = pool.poolAddr;
13
- try {
14
- // Known liquidity strategy addresses for this chain
15
- const knownStrategies = getKnownLiquidityStrategies(chainId);
16
- // Fetch core data
17
- const [reservesResult, decimals0, decimals1, lpFee, protocolFee, rebalanceIncentive, rebalanceThresholdAbove, rebalanceThresholdBelow, ...strategyResults] = await Promise.all([
18
- publicClient.readContract({ address, abi: abis_1.FPMM_ABI, functionName: 'getReserves' }),
19
- publicClient.readContract({ address, abi: abis_1.FPMM_ABI, functionName: 'decimals0' }),
20
- publicClient.readContract({ address, abi: abis_1.FPMM_ABI, functionName: 'decimals1' }),
21
- publicClient.readContract({ address, abi: abis_1.FPMM_ABI, functionName: 'lpFee' }),
22
- publicClient.readContract({ address, abi: abis_1.FPMM_ABI, functionName: 'protocolFee' }),
23
- publicClient.readContract({ address, abi: abis_1.FPMM_ABI, functionName: 'rebalanceIncentive' }),
24
- publicClient.readContract({ address, abi: abis_1.FPMM_ABI, functionName: 'rebalanceThresholdAbove' }),
25
- publicClient.readContract({ address, abi: abis_1.FPMM_ABI, functionName: 'rebalanceThresholdBelow' }),
26
- ...knownStrategies.map((strategyAddr) => publicClient.readContract({
27
- address,
28
- abi: abis_1.FPMM_ABI,
29
- functionName: 'liquidityStrategy',
30
- args: [strategyAddr],
31
- })),
32
- ]);
33
- const [reserve0, reserve1, blockTimestampLast] = reservesResult;
34
- const lpFeeBps = lpFee;
35
- const protocolFeeBps = protocolFee;
36
- const rebalanceIncentiveBps = rebalanceIncentive;
37
- const thresholdAboveBps = rebalanceThresholdAbove;
38
- const thresholdBelowBps = rebalanceThresholdBelow;
39
- // Find the active liquidity strategy (first match wins)
40
- const activeIndex = strategyResults.findIndex((result) => result === true);
41
- const liquidityStrategy = activeIndex >= 0 ? knownStrategies[activeIndex] : null;
42
- // Fetch pricing separately — graceful degradation when FX market is closed
43
- let pricing = null;
44
- let inBand = null;
45
- try {
46
- const rebalancingStateResult = await publicClient.readContract({
47
- address,
48
- abi: abis_1.FPMM_ABI,
49
- functionName: 'getRebalancingState',
50
- });
51
- const [oraclePriceNum, oraclePriceDen, reservePriceNum, reservePriceDen, reservePriceAboveOraclePrice, rebalanceThreshold, priceDifference,] = rebalancingStateResult;
52
- pricing = {
53
- oraclePriceNum,
54
- oraclePriceDen,
55
- oraclePrice: Number(oraclePriceNum) / Number(oraclePriceDen),
56
- reservePriceNum,
57
- reservePriceDen,
58
- reservePrice: Number(reservePriceNum) / Number(reservePriceDen),
59
- priceDifferenceBps: priceDifference,
60
- priceDifferencePercent: Number(priceDifference) / 100,
61
- reservePriceAboveOraclePrice,
62
- };
63
- inBand = priceDifference < BigInt(rebalanceThreshold);
64
- }
65
- catch {
66
- // getRebalancingState() failed (likely FXMarketClosed) — pricing stays null
67
- }
68
- return {
69
- ...pool,
70
- poolType: 'FPMM',
71
- scalingFactor0: decimals0,
72
- scalingFactor1: decimals1,
73
- reserve0,
74
- reserve1,
75
- blockTimestampLast,
76
- pricing,
77
- fees: {
78
- lpFeeBps,
79
- lpFeePercent: Number(lpFeeBps) / 100,
80
- protocolFeeBps,
81
- protocolFeePercent: Number(protocolFeeBps) / 100,
82
- totalFeePercent: (Number(lpFeeBps) + Number(protocolFeeBps)) / 100,
83
- },
84
- rebalancing: {
85
- rebalanceIncentiveBps,
86
- rebalanceIncentivePercent: Number(rebalanceIncentiveBps) / 100,
87
- rebalanceThresholdAboveBps: thresholdAboveBps,
88
- rebalanceThresholdAbovePercent: Number(thresholdAboveBps) / 100,
89
- rebalanceThresholdBelowBps: thresholdBelowBps,
90
- rebalanceThresholdBelowPercent: Number(thresholdBelowBps) / 100,
91
- inBand,
92
- liquidityStrategy,
93
- },
94
- };
95
- }
96
- catch (error) {
97
- throw new Error(`Failed to fetch FPMM pool details for ${pool.poolAddr}: ${error.message}`);
98
- }
99
- }
100
- /**
101
- * Fetches enriched details for a Virtual pool
102
- */
103
- async function fetchVirtualPoolDetails(publicClient, pool) {
104
- const address = pool.poolAddr;
105
- try {
106
- const [reservesResult, protocolFee, metadataResult] = await Promise.all([
107
- publicClient.readContract({ address, abi: abis_1.VIRTUAL_POOL_ABI, functionName: 'getReserves' }),
108
- publicClient.readContract({ address, abi: abis_1.VIRTUAL_POOL_ABI, functionName: 'protocolFee' }),
109
- publicClient.readContract({ address, abi: abis_1.VIRTUAL_POOL_ABI, functionName: 'metadata' }),
110
- ]);
111
- const [reserve0, reserve1, blockTimestampLast] = reservesResult;
112
- const [dec0, dec1] = metadataResult;
113
- const spreadBps = protocolFee;
114
- return {
115
- ...pool,
116
- poolType: 'Virtual',
117
- scalingFactor0: dec0,
118
- scalingFactor1: dec1,
119
- reserve0,
120
- reserve1,
121
- blockTimestampLast,
122
- spreadBps,
123
- spreadPercent: Number(spreadBps) / 100,
124
- };
125
- }
126
- catch (error) {
127
- throw new Error(`Failed to fetch Virtual pool details for ${pool.poolAddr}: ${error.message}`);
128
- }
129
- }
130
- /**
131
- * Returns the known liquidity strategy addresses for the given chain.
132
- */
133
- function getKnownLiquidityStrategies(chainId) {
134
- const chainAddresses = constants_1.addresses[chainId];
135
- if (!chainAddresses)
136
- return [];
137
- const strategyCandidates = [
138
- chainAddresses.ReserveLiquidityStrategy,
139
- chainAddresses.CDPLiquidityStrategy,
140
- ].filter((address) => Boolean(address));
141
- // Normalize to checksummed addresses and ignore malformed config values.
142
- return strategyCandidates.flatMap((address) => {
143
- try {
144
- return [(0, viem_1.getAddress)(address)];
145
- }
146
- catch {
147
- return [];
148
- }
149
- });
150
- }
151
- //# sourceMappingURL=poolDetails.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"poolDetails.js","sourceRoot":"","sources":["../../../src/services/pools/poolDetails.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import { Pool } from '../../core/types';
2
- import { PublicClient } from 'viem';
3
- /**
4
- * Fetches all FPMM pools from the FPMM Factory
5
- */
6
- export declare function fetchFPMMPools(publicClient: PublicClient, chainId: number): Promise<Pool[]>;
7
- /**
8
- * Fetches all active Virtual pools from the VirtualPoolFactory,
9
- * then resolves token pairs and exchange IDs from each pool and BiPoolManager.
10
- */
11
- export declare function fetchVirtualPools(publicClient: PublicClient, chainId: number): Promise<Pool[]>;
12
- //# sourceMappingURL=poolDiscovery.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"poolDiscovery.d.ts","sourceRoot":"","sources":["../../../src/services/pools/poolDiscovery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAY,MAAM,kBAAkB,CAAA;AAQjD,OAAO,EAAE,YAAY,EAAW,MAAM,MAAM,CAAA;AAG5C;;GAEG;AACH,wBAAsB,cAAc,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CA8CjG;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CA8DpG"}
@@ -1,114 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fetchFPMMPools = fetchFPMMPools;
4
- exports.fetchVirtualPools = fetchVirtualPools;
5
- const constants_1 = require("../../core/constants");
6
- const types_1 = require("../../core/types");
7
- const abis_1 = require("../../core/abis");
8
- const sortUtils_1 = require("../../utils/sortUtils");
9
- /**
10
- * Fetches all FPMM pools from the FPMM Factory
11
- */
12
- async function fetchFPMMPools(publicClient, chainId) {
13
- const fpmmFactoryAddress = (0, constants_1.getContractAddress)(chainId, 'FPMMFactory');
14
- if (!fpmmFactoryAddress) {
15
- return [];
16
- }
17
- try {
18
- // Get all deployed FPMM pool addresses
19
- const poolAddresses = (await publicClient.readContract({
20
- address: fpmmFactoryAddress,
21
- abi: abis_1.FPMM_FACTORY_ABI,
22
- functionName: 'deployedFPMMAddresses',
23
- }));
24
- if (poolAddresses.length === 0) {
25
- return [];
26
- }
27
- const poolDataPromises = poolAddresses.map(async (poolAddress) => {
28
- const [token0, token1] = await Promise.all([
29
- publicClient.readContract({
30
- address: poolAddress,
31
- abi: abis_1.FPMM_ABI,
32
- functionName: 'token0',
33
- }),
34
- publicClient.readContract({
35
- address: poolAddress,
36
- abi: abis_1.FPMM_ABI,
37
- functionName: 'token1',
38
- }),
39
- ]);
40
- return {
41
- factoryAddr: fpmmFactoryAddress,
42
- poolAddr: poolAddress,
43
- token0: token0,
44
- token1: token1,
45
- poolType: types_1.PoolType.FPMM,
46
- };
47
- });
48
- return await Promise.all(poolDataPromises);
49
- }
50
- catch (error) {
51
- throw new Error(`Failed to fetch FPMM pools: ${error.message}`);
52
- }
53
- }
54
- /**
55
- * Fetches all active Virtual pools from the VirtualPoolFactory,
56
- * then resolves token pairs and exchange IDs from each pool and BiPoolManager.
57
- */
58
- async function fetchVirtualPools(publicClient, chainId) {
59
- const virtualPoolFactoryAddress = (0, constants_1.getContractAddress)(chainId, 'VirtualPoolFactory');
60
- const biPoolManagerAddress = (0, constants_1.getContractAddress)(chainId, 'BiPoolManager');
61
- if (!virtualPoolFactoryAddress || !biPoolManagerAddress) {
62
- return [];
63
- }
64
- try {
65
- // Fetch active pool addresses and all exchanges in parallel
66
- const [poolAddresses, exchangesData] = await Promise.all([
67
- publicClient.readContract({
68
- address: virtualPoolFactoryAddress,
69
- abi: abis_1.VIRTUAL_POOL_FACTORY_ABI,
70
- functionName: 'getAllPools',
71
- }),
72
- publicClient.readContract({
73
- address: biPoolManagerAddress,
74
- abi: abis_1.BIPOOL_MANAGER_ABI,
75
- functionName: 'getExchanges',
76
- }),
77
- ]);
78
- if (poolAddresses.length === 0) {
79
- return [];
80
- }
81
- // Build a lookup from sorted token pair to exchangeId
82
- const tokenPairToExchangeId = new Map();
83
- for (const exchange of exchangesData) {
84
- if (exchange.assets.length === 2) {
85
- const [t0, t1] = (0, sortUtils_1.sortTokenAddresses)(exchange.assets[0], exchange.assets[1]);
86
- tokenPairToExchangeId.set(`${t0}:${t1}`, exchange.exchangeId);
87
- }
88
- }
89
- // For each pool, read its token pair and match to an exchangeId
90
- const poolPromises = poolAddresses.map(async (poolAddress) => {
91
- const [token0, token1] = (await publicClient.readContract({
92
- address: poolAddress,
93
- abi: abis_1.VIRTUAL_POOL_ABI,
94
- functionName: 'tokens',
95
- }));
96
- const [sorted0, sorted1] = (0, sortUtils_1.sortTokenAddresses)(token0, token1);
97
- const exchangeId = tokenPairToExchangeId.get(`${sorted0}:${sorted1}`);
98
- const pool = {
99
- factoryAddr: virtualPoolFactoryAddress,
100
- poolAddr: poolAddress,
101
- token0: sorted0,
102
- token1: sorted1,
103
- poolType: types_1.PoolType.Virtual,
104
- exchangeId,
105
- };
106
- return pool;
107
- });
108
- return await Promise.all(poolPromises);
109
- }
110
- catch (error) {
111
- throw new Error(`Failed to fetch Virtual pools: ${error.message}`);
112
- }
113
- }
114
- //# sourceMappingURL=poolDiscovery.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"poolDiscovery.js","sourceRoot":"","sources":["../../../src/services/pools/poolDiscovery.ts"],"names":[],"mappings":"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"}
@@ -1,50 +0,0 @@
1
- import { PublicClient } from 'viem';
2
- import { RouteService } from '../routes';
3
- import { Route } from '../../core/types';
4
- /**
5
- * Service for getting swap quotes from the Mento protocol.
6
- * Calculates expected output amounts for trades without executing them.
7
- */
8
- export declare class QuoteService {
9
- private publicClient;
10
- private chainId;
11
- private routeService;
12
- constructor(publicClient: PublicClient, chainId: number, routeService: RouteService);
13
- /**
14
- * Calculates the expected output amount for a swap between two tokens.
15
- *
16
- * @param tokenIn - The address of the input token (e.g., '0x765DE816845861e75A25fCA122bb6898B8B1282a')
17
- * @param tokenOut - The address of the output token (e.g., '0x471EcE3750Da237f93B8E339c536989b8978a438')
18
- * @param amountIn - The amount of input tokens (in wei/smallest unit)
19
- * @param route - Optional pre-fetched route. If not provided, the optimal route will be found automatically.
20
- * @returns The expected output amount (in wei/smallest unit)
21
- * @throws {RouteNotFoundError} If no route exists between the token pair
22
- * @throws {Error} If the Router contract call fails
23
- *
24
- * @example
25
- * ```typescript
26
- * // Calculate output for 100 USDm
27
- * const amountIn = BigInt(100) * BigInt(10 ** 18) // 100 USDm in wei
28
- * const expectedOut = await quoteService.getAmountOut(
29
- * '0x765DE816845861e75A25fCA122bb6898B8B1282a', // USDm
30
- * '0x471EcE3750Da237f93B8E339c536989b8978a438', // CELO
31
- * amountIn
32
- * )
33
- * console.log(`Expected CELO output: ${expectedOut}`)
34
- *
35
- * // Or provide a pre-fetched route for better performance
36
- * const route = await routeService.findRoute(
37
- * '0x765DE816845861e75A25fCA122bb6898B8B1282a',
38
- * '0x471EcE3750Da237f93B8E339c536989b8978a438'
39
- * )
40
- * const expectedOut2 = await quoteService.getAmountOut(
41
- * '0x765DE816845861e75A25fCA122bb6898B8B1282a',
42
- * '0x471EcE3750Da237f93B8E339c536989b8978a438',
43
- * amountIn,
44
- * route
45
- * )
46
- * ```
47
- */
48
- getAmountOut(tokenIn: string, tokenOut: string, amountIn: bigint, route?: Route): Promise<bigint>;
49
- }
50
- //# sourceMappingURL=QuoteService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QuoteService.d.ts","sourceRoot":"","sources":["../../../src/services/quotes/QuoteService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,YAAY,EAA4C,MAAM,MAAM,CAAA;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAOxC;;;GAGG;AACH,qBAAa,YAAY;IAErB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,YAAY;gBAFZ,YAAY,EAAE,YAAY,EAC1B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,YAAY;IAGpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACG,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;CAoCxG"}
@@ -1,88 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.QuoteService = void 0;
4
- const viem_1 = require("viem");
5
- const abis_1 = require("../../core/abis");
6
- const constants_1 = require("../../core/constants");
7
- const errors_1 = require("../../core/errors");
8
- const pathEncoder_1 = require("../../utils/pathEncoder");
9
- const validation_1 = require("../../utils/validation");
10
- /**
11
- * Service for getting swap quotes from the Mento protocol.
12
- * Calculates expected output amounts for trades without executing them.
13
- */
14
- class QuoteService {
15
- constructor(publicClient, chainId, routeService) {
16
- this.publicClient = publicClient;
17
- this.chainId = chainId;
18
- this.routeService = routeService;
19
- }
20
- /**
21
- * Calculates the expected output amount for a swap between two tokens.
22
- *
23
- * @param tokenIn - The address of the input token (e.g., '0x765DE816845861e75A25fCA122bb6898B8B1282a')
24
- * @param tokenOut - The address of the output token (e.g., '0x471EcE3750Da237f93B8E339c536989b8978a438')
25
- * @param amountIn - The amount of input tokens (in wei/smallest unit)
26
- * @param route - Optional pre-fetched route. If not provided, the optimal route will be found automatically.
27
- * @returns The expected output amount (in wei/smallest unit)
28
- * @throws {RouteNotFoundError} If no route exists between the token pair
29
- * @throws {Error} If the Router contract call fails
30
- *
31
- * @example
32
- * ```typescript
33
- * // Calculate output for 100 USDm
34
- * const amountIn = BigInt(100) * BigInt(10 ** 18) // 100 USDm in wei
35
- * const expectedOut = await quoteService.getAmountOut(
36
- * '0x765DE816845861e75A25fCA122bb6898B8B1282a', // USDm
37
- * '0x471EcE3750Da237f93B8E339c536989b8978a438', // CELO
38
- * amountIn
39
- * )
40
- * console.log(`Expected CELO output: ${expectedOut}`)
41
- *
42
- * // Or provide a pre-fetched route for better performance
43
- * const route = await routeService.findRoute(
44
- * '0x765DE816845861e75A25fCA122bb6898B8B1282a',
45
- * '0x471EcE3750Da237f93B8E339c536989b8978a438'
46
- * )
47
- * const expectedOut2 = await quoteService.getAmountOut(
48
- * '0x765DE816845861e75A25fCA122bb6898B8B1282a',
49
- * '0x471EcE3750Da237f93B8E339c536989b8978a438',
50
- * amountIn,
51
- * route
52
- * )
53
- * ```
54
- */
55
- async getAmountOut(tokenIn, tokenOut, amountIn, route) {
56
- // Validate address inputs
57
- (0, validation_1.validateAddress)(tokenIn, 'tokenIn');
58
- (0, validation_1.validateAddress)(tokenOut, 'tokenOut');
59
- // If the consumer does not provide a route then we find the best route.
60
- if (!route) {
61
- route = await this.routeService.findRoute(tokenIn, tokenOut);
62
- }
63
- // Convert route.path to Router contract's Route[] format
64
- const routerRoutes = (0, pathEncoder_1.encodeRoutePath)(route.path, tokenIn, tokenOut);
65
- const routerAddress = (0, constants_1.getContractAddress)(this.chainId, 'Router');
66
- try {
67
- const amounts = (await this.publicClient.readContract({
68
- address: routerAddress,
69
- abi: abis_1.ROUTER_ABI,
70
- functionName: 'getAmountsOut',
71
- args: [amountIn, routerRoutes],
72
- }));
73
- return amounts[amounts.length - 1];
74
- }
75
- catch (error) {
76
- if (error instanceof viem_1.BaseError) {
77
- const revertError = error.walk((e) => e instanceof viem_1.ContractFunctionRevertedError);
78
- if (revertError instanceof viem_1.ContractFunctionRevertedError &&
79
- revertError.data?.errorName === 'FXMarketClosed') {
80
- throw new errors_1.FXMarketClosedError();
81
- }
82
- }
83
- throw error;
84
- }
85
- }
86
- }
87
- exports.QuoteService = QuoteService;
88
- //# sourceMappingURL=QuoteService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QuoteService.js","sourceRoot":"","sources":["../../../src/services/quotes/QuoteService.ts"],"names":[],"mappings":";;;AAAA,+BAAsF;AAGtF,0CAA4C;AAC5C,oDAAkE;AAClE,8CAAuD;AACvD,yDAA+E;AAC/E,uDAAwD;AAExD;;;GAGG;AACH,MAAa,YAAY;IACvB,YACU,YAA0B,EAC1B,OAAe,EACf,YAA0B;QAF1B,iBAAY,GAAZ,YAAY,CAAc;QAC1B,YAAO,GAAP,OAAO,CAAQ;QACf,iBAAY,GAAZ,YAAY,CAAc;IACjC,CAAC;IAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;IACH,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,QAAgB,EAAE,QAAgB,EAAE,KAAa;QACnF,0BAA0B;QAC1B,IAAA,4BAAe,EAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QACnC,IAAA,4BAAe,EAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;QAErC,wEAAwE;QACxE,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;QAC9D,CAAC;QAED,yDAAyD;QACzD,MAAM,YAAY,GAAG,IAAA,6BAAe,EAAC,KAAK,CAAC,IAAI,EAAE,OAAkB,EAAE,QAAmB,CAAC,CAAA;QACzF,MAAM,aAAa,GAAG,IAAA,8BAAkB,EAAC,IAAI,CAAC,OAAkB,EAAE,QAAQ,CAAC,CAAA;QAE3E,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gBACpD,OAAO,EAAE,aAA8B;gBACvC,GAAG,EAAE,iBAAU;gBACf,YAAY,EAAE,eAAe;gBAC7B,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAoC,CAAC;aACvD,CAAC,CAAa,CAAA;YAEf,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QACpC,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACxB,IAAI,KAAK,YAAY,gBAAS,EAAE,CAAC;gBAC/B,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,oCAA6B,CAAC,CAAA;gBACjF,IACE,WAAW,YAAY,oCAA6B;oBACpD,WAAW,CAAC,IAAI,EAAE,SAAS,KAAK,gBAAgB,EAChD,CAAC;oBACD,MAAM,IAAI,4BAAmB,EAAE,CAAA;gBACjC,CAAC;YACH,CAAC;YACD,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;CACF;AA9ED,oCA8EC"}
@@ -1,2 +0,0 @@
1
- export * from './QuoteService';
2
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/quotes/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
@@ -1,18 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./QuoteService"), exports);
18
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/quotes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA8B"}