@mento-protocol/mento-sdk 2.0.0-beta.8 → 3.0.0-beta.1

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 (359) hide show
  1. package/README.md +220 -5
  2. package/dist/cache/routes.42220.d.ts +3 -0
  3. package/dist/cache/routes.42220.d.ts.map +1 -0
  4. package/dist/cache/routes.42220.js +112 -0
  5. package/dist/cache/routes.42220.js.map +1 -0
  6. package/dist/cache/tokens.11142220.d.ts +3 -0
  7. package/dist/cache/tokens.11142220.d.ts.map +1 -0
  8. package/dist/cache/tokens.11142220.js +129 -0
  9. package/dist/cache/tokens.11142220.js.map +1 -0
  10. package/dist/cache/tokens.42220.d.ts +3 -0
  11. package/dist/cache/tokens.42220.d.ts.map +1 -0
  12. package/dist/cache/tokens.42220.js +129 -0
  13. package/dist/cache/tokens.42220.js.map +1 -0
  14. package/dist/core/abis/bipoolmanager.d.ts +34 -0
  15. package/dist/core/abis/bipoolmanager.d.ts.map +1 -0
  16. package/dist/core/abis/bipoolmanager.js +72 -0
  17. package/dist/core/abis/bipoolmanager.js.map +1 -0
  18. package/dist/core/abis/broker.d.ts +2 -0
  19. package/dist/core/abis/broker.d.ts.map +1 -0
  20. package/dist/{abis → core/abis}/broker.js +3 -2
  21. package/dist/core/abis/broker.js.map +1 -0
  22. package/dist/core/abis/erc20.d.ts +2 -0
  23. package/dist/core/abis/erc20.d.ts.map +1 -0
  24. package/dist/{abis → core/abis}/erc20.js +5 -2
  25. package/dist/core/abis/erc20.js.map +1 -0
  26. package/dist/core/abis/fpmm.d.ts +34 -0
  27. package/dist/core/abis/fpmm.d.ts.map +1 -0
  28. package/dist/core/abis/fpmm.js +11 -0
  29. package/dist/core/abis/fpmm.js.map +1 -0
  30. package/dist/core/abis/fpmmFactory.d.ts +21 -0
  31. package/dist/core/abis/fpmmFactory.d.ts.map +1 -0
  32. package/dist/core/abis/fpmmFactory.js +9 -0
  33. package/dist/core/abis/fpmmFactory.js.map +1 -0
  34. package/dist/core/abis/index.d.ts +10 -0
  35. package/dist/core/abis/index.d.ts.map +1 -0
  36. package/dist/{abis → core/abis}/index.js +5 -0
  37. package/dist/core/abis/index.js.map +1 -0
  38. package/dist/core/abis/pricingmodule.d.ts +2 -0
  39. package/dist/core/abis/pricingmodule.d.ts.map +1 -0
  40. package/dist/core/abis/pricingmodule.js +6 -0
  41. package/dist/core/abis/pricingmodule.js.map +1 -0
  42. package/dist/core/abis/reserve.d.ts +2 -0
  43. package/dist/core/abis/reserve.d.ts.map +1 -0
  44. package/dist/core/abis/reserve.js +10 -0
  45. package/dist/core/abis/reserve.js.map +1 -0
  46. package/dist/core/abis/router.d.ts +2 -0
  47. package/dist/core/abis/router.d.ts.map +1 -0
  48. package/dist/core/abis/router.js +10 -0
  49. package/dist/core/abis/router.js.map +1 -0
  50. package/dist/core/abis/uniswapV3.d.ts +4 -0
  51. package/dist/core/abis/uniswapV3.d.ts.map +1 -0
  52. package/dist/{abis → core/abis}/uniswapV3.js +7 -6
  53. package/dist/core/abis/uniswapV3.js.map +1 -0
  54. package/dist/core/abis/virtualPool.d.ts +10 -0
  55. package/dist/core/abis/virtualPool.d.ts.map +1 -0
  56. package/dist/core/abis/virtualPool.js +6 -0
  57. package/dist/core/abis/virtualPool.js.map +1 -0
  58. package/dist/core/abis/virtualPoolFactory.d.ts +27 -0
  59. package/dist/core/abis/virtualPoolFactory.d.ts.map +1 -0
  60. package/dist/core/abis/virtualPoolFactory.js +9 -0
  61. package/dist/core/abis/virtualPoolFactory.js.map +1 -0
  62. package/dist/core/constants/aaveConfig.d.ts.map +1 -0
  63. package/dist/core/constants/aaveConfig.js.map +1 -0
  64. package/dist/{constants → core/constants}/addresses.d.ts +4 -5
  65. package/dist/core/constants/addresses.d.ts.map +1 -0
  66. package/dist/core/constants/addresses.js +73 -0
  67. package/dist/core/constants/addresses.js.map +1 -0
  68. package/dist/core/constants/chainId.d.ts +5 -0
  69. package/dist/core/constants/chainId.d.ts.map +1 -0
  70. package/dist/{constants → core/constants}/chainId.js +1 -1
  71. package/dist/core/constants/chainId.js.map +1 -0
  72. package/dist/core/constants/contractNames.d.ts.map +1 -0
  73. package/dist/core/constants/contractNames.js.map +1 -0
  74. package/dist/{constants → core/constants}/index.d.ts +0 -2
  75. package/dist/core/constants/index.d.ts.map +1 -0
  76. package/dist/{constants → core/constants}/index.js +0 -2
  77. package/dist/core/constants/index.js.map +1 -0
  78. package/dist/{constants → core/constants}/mentoAddresses.d.ts +2 -0
  79. package/dist/core/constants/mentoAddresses.d.ts.map +1 -0
  80. package/dist/{constants → core/constants}/mentoAddresses.js +2 -0
  81. package/dist/core/constants/mentoAddresses.js.map +1 -0
  82. package/dist/core/constants/protocolAddresses.d.ts.map +1 -0
  83. package/dist/core/constants/protocolAddresses.js.map +1 -0
  84. package/dist/core/errors/base.d.ts +8 -0
  85. package/dist/core/errors/base.d.ts.map +1 -0
  86. package/dist/core/errors/base.js +17 -0
  87. package/dist/core/errors/base.js.map +1 -0
  88. package/dist/core/errors/index.d.ts +3 -0
  89. package/dist/core/errors/index.d.ts.map +1 -0
  90. package/dist/core/errors/index.js +19 -0
  91. package/dist/core/errors/index.js.map +1 -0
  92. package/dist/core/errors/router.d.ts +8 -0
  93. package/dist/core/errors/router.d.ts.map +1 -0
  94. package/dist/core/errors/router.js +14 -0
  95. package/dist/core/errors/router.js.map +1 -0
  96. package/dist/core/types/contractAddresses.d.ts +39 -0
  97. package/dist/core/types/contractAddresses.d.ts.map +1 -0
  98. package/dist/core/types/contractAddresses.js.map +1 -0
  99. package/dist/{types → core/types}/index.d.ts +2 -1
  100. package/dist/core/types/index.d.ts.map +1 -0
  101. package/dist/{types → core/types}/index.js +2 -1
  102. package/dist/core/types/index.js.map +1 -0
  103. package/dist/core/types/pool.d.ts +35 -0
  104. package/dist/core/types/pool.d.ts.map +1 -0
  105. package/dist/core/types/pool.js +14 -0
  106. package/dist/core/types/pool.js.map +1 -0
  107. package/dist/core/types/provider.d.ts +45 -0
  108. package/dist/core/types/provider.d.ts.map +1 -0
  109. package/dist/core/types/provider.js +4 -0
  110. package/dist/core/types/provider.js.map +1 -0
  111. package/dist/core/types/route.d.ts +62 -0
  112. package/dist/core/types/route.d.ts.map +1 -0
  113. package/dist/{types/provider.js → core/types/route.js} +1 -1
  114. package/dist/core/types/route.js.map +1 -0
  115. package/dist/{types → core/types}/token.d.ts +7 -7
  116. package/dist/core/types/token.d.ts.map +1 -0
  117. package/dist/{types → core/types}/token.js.map +1 -1
  118. package/dist/index.d.ts +39 -46
  119. package/dist/index.d.ts.map +1 -1
  120. package/dist/index.js +57 -81
  121. package/dist/index.js.map +1 -1
  122. package/dist/services/index.d.ts +6 -5
  123. package/dist/services/index.d.ts.map +1 -1
  124. package/dist/services/index.js +6 -5
  125. package/dist/services/index.js.map +1 -1
  126. package/dist/services/pools/PoolService.d.ts +37 -0
  127. package/dist/services/pools/PoolService.d.ts.map +1 -0
  128. package/dist/services/pools/PoolService.js +158 -0
  129. package/dist/services/pools/PoolService.js.map +1 -0
  130. package/dist/services/pools/index.d.ts +2 -0
  131. package/dist/services/pools/index.d.ts.map +1 -0
  132. package/dist/services/pools/index.js +18 -0
  133. package/dist/services/pools/index.js.map +1 -0
  134. package/dist/services/quotes/QuoteService.d.ts +41 -0
  135. package/dist/services/quotes/QuoteService.d.ts.map +1 -0
  136. package/dist/services/quotes/QuoteService.js +61 -0
  137. package/dist/services/quotes/QuoteService.js.map +1 -0
  138. package/dist/services/quotes/index.d.ts +2 -0
  139. package/dist/services/quotes/index.d.ts.map +1 -0
  140. package/dist/services/quotes/index.js +18 -0
  141. package/dist/services/quotes/index.js.map +1 -0
  142. package/dist/services/routes/RouteService.d.ts +109 -0
  143. package/dist/services/routes/RouteService.d.ts.map +1 -0
  144. package/dist/services/routes/RouteService.js +241 -0
  145. package/dist/services/routes/RouteService.js.map +1 -0
  146. package/dist/services/routes/index.d.ts +2 -0
  147. package/dist/services/routes/index.d.ts.map +1 -0
  148. package/dist/services/routes/index.js +18 -0
  149. package/dist/services/routes/index.js.map +1 -0
  150. package/dist/services/swap/SwapService.d.ts +158 -0
  151. package/dist/services/swap/SwapService.d.ts.map +1 -0
  152. package/dist/services/swap/SwapService.js +160 -0
  153. package/dist/services/swap/SwapService.js.map +1 -0
  154. package/dist/services/swap/index.d.ts +2 -0
  155. package/dist/services/swap/index.d.ts.map +1 -0
  156. package/dist/services/swap/index.js +18 -0
  157. package/dist/services/swap/index.js.map +1 -0
  158. package/dist/services/tokens/index.d.ts +2 -0
  159. package/dist/services/tokens/index.d.ts.map +1 -0
  160. package/dist/services/tokens/index.js +18 -0
  161. package/dist/services/tokens/index.js.map +1 -0
  162. package/dist/services/tokens/supply/ISupplyCalculator.d.ts.map +1 -0
  163. package/dist/services/tokens/supply/ISupplyCalculator.js.map +1 -0
  164. package/dist/services/{supply → tokens/supply}/aaveSupplyCalculator.d.ts +4 -3
  165. package/dist/services/tokens/supply/aaveSupplyCalculator.d.ts.map +1 -0
  166. package/dist/services/{supply → tokens/supply}/aaveSupplyCalculator.js +7 -7
  167. package/dist/services/tokens/supply/aaveSupplyCalculator.js.map +1 -0
  168. package/dist/services/tokens/supply/calculatorFactory.d.ts +8 -0
  169. package/dist/services/tokens/supply/calculatorFactory.d.ts.map +1 -0
  170. package/dist/services/tokens/supply/calculatorFactory.js.map +1 -0
  171. package/dist/services/tokens/supply/defaultCalculatorFactory.d.ts +9 -0
  172. package/dist/services/tokens/supply/defaultCalculatorFactory.d.ts.map +1 -0
  173. package/dist/services/{supply → tokens/supply}/defaultCalculatorFactory.js +12 -7
  174. package/dist/services/tokens/supply/defaultCalculatorFactory.js.map +1 -0
  175. package/dist/services/tokens/supply/index.d.ts.map +1 -0
  176. package/dist/services/tokens/supply/index.js.map +1 -0
  177. package/dist/services/tokens/supply/multisigSupplyCalculator.d.ts +9 -0
  178. package/dist/services/tokens/supply/multisigSupplyCalculator.d.ts.map +1 -0
  179. package/dist/services/tokens/supply/multisigSupplyCalculator.js +33 -0
  180. package/dist/services/tokens/supply/multisigSupplyCalculator.js.map +1 -0
  181. package/dist/services/{supply → tokens/supply}/uniV3SupplyCalculator.d.ts +3 -3
  182. package/dist/services/tokens/supply/uniV3SupplyCalculator.d.ts.map +1 -0
  183. package/dist/services/{supply → tokens/supply}/uniV3SupplyCalculator.js +11 -6
  184. package/dist/services/tokens/supply/uniV3SupplyCalculator.js.map +1 -0
  185. package/dist/services/{supplyAdjustmentService.d.ts → tokens/supplyAdjustmentService.d.ts} +7 -2
  186. package/dist/services/tokens/supplyAdjustmentService.d.ts.map +1 -0
  187. package/dist/services/{supplyAdjustmentService.js → tokens/supplyAdjustmentService.js} +14 -11
  188. package/dist/services/tokens/supplyAdjustmentService.js.map +1 -0
  189. package/dist/services/tokens/tokenService.d.ts +33 -0
  190. package/dist/services/tokens/tokenService.d.ts.map +1 -0
  191. package/dist/services/tokens/tokenService.js +136 -0
  192. package/dist/services/tokens/tokenService.js.map +1 -0
  193. package/dist/utils/chainConfig.d.ts +16 -0
  194. package/dist/utils/chainConfig.d.ts.map +1 -0
  195. package/dist/utils/chainConfig.js +62 -0
  196. package/dist/utils/chainConfig.js.map +1 -0
  197. package/dist/utils/costUtils.d.ts +12 -0
  198. package/dist/utils/costUtils.d.ts.map +1 -0
  199. package/dist/utils/costUtils.js +59 -0
  200. package/dist/utils/costUtils.js.map +1 -0
  201. package/dist/utils/index.d.ts +4 -0
  202. package/dist/utils/index.d.ts.map +1 -1
  203. package/dist/utils/index.js +4 -0
  204. package/dist/utils/index.js.map +1 -1
  205. package/dist/utils/pathEncoder.d.ts +28 -0
  206. package/dist/utils/pathEncoder.d.ts.map +1 -0
  207. package/dist/utils/pathEncoder.js +57 -0
  208. package/dist/utils/pathEncoder.js.map +1 -0
  209. package/dist/utils/routeUtils.d.ts +295 -0
  210. package/dist/utils/routeUtils.d.ts.map +1 -0
  211. package/dist/utils/routeUtils.js +371 -0
  212. package/dist/utils/routeUtils.js.map +1 -0
  213. package/dist/utils/routes.d.ts +9 -0
  214. package/dist/utils/routes.d.ts.map +1 -0
  215. package/dist/utils/routes.js +49 -0
  216. package/dist/utils/routes.js.map +1 -0
  217. package/dist/utils/sortUtils.d.ts +24 -0
  218. package/dist/utils/sortUtils.d.ts.map +1 -0
  219. package/dist/utils/sortUtils.js +39 -0
  220. package/dist/utils/sortUtils.js.map +1 -0
  221. package/dist/utils/tokens.d.ts +78 -0
  222. package/dist/utils/tokens.d.ts.map +1 -0
  223. package/dist/utils/tokens.js +181 -0
  224. package/dist/utils/tokens.js.map +1 -0
  225. package/package.json +10 -23
  226. package/dist/abis/bipoolmanager.d.ts +0 -15
  227. package/dist/abis/bipoolmanager.d.ts.map +0 -1
  228. package/dist/abis/bipoolmanager.js +0 -26
  229. package/dist/abis/bipoolmanager.js.map +0 -1
  230. package/dist/abis/broker.d.ts +0 -2
  231. package/dist/abis/broker.d.ts.map +0 -1
  232. package/dist/abis/broker.js.map +0 -1
  233. package/dist/abis/erc20.d.ts +0 -2
  234. package/dist/abis/erc20.d.ts.map +0 -1
  235. package/dist/abis/erc20.js.map +0 -1
  236. package/dist/abis/index.d.ts +0 -5
  237. package/dist/abis/index.d.ts.map +0 -1
  238. package/dist/abis/index.js.map +0 -1
  239. package/dist/abis/pricingmodule.d.ts +0 -2
  240. package/dist/abis/pricingmodule.d.ts.map +0 -1
  241. package/dist/abis/pricingmodule.js +0 -5
  242. package/dist/abis/pricingmodule.js.map +0 -1
  243. package/dist/abis/reserve.d.ts +0 -2
  244. package/dist/abis/reserve.d.ts.map +0 -1
  245. package/dist/abis/reserve.js +0 -9
  246. package/dist/abis/reserve.js.map +0 -1
  247. package/dist/abis/uniswapV3.d.ts +0 -4
  248. package/dist/abis/uniswapV3.d.ts.map +0 -1
  249. package/dist/abis/uniswapV3.js.map +0 -1
  250. package/dist/adapters/implementations/ethersAdapter.d.ts +0 -9
  251. package/dist/adapters/implementations/ethersAdapter.d.ts.map +0 -1
  252. package/dist/adapters/implementations/ethersAdapter.js +0 -19
  253. package/dist/adapters/implementations/ethersAdapter.js.map +0 -1
  254. package/dist/adapters/implementations/ethersV5Adapter.d.ts +0 -9
  255. package/dist/adapters/implementations/ethersV5Adapter.d.ts.map +0 -1
  256. package/dist/adapters/implementations/ethersV5Adapter.js +0 -19
  257. package/dist/adapters/implementations/ethersV5Adapter.js.map +0 -1
  258. package/dist/adapters/implementations/viemAdapter.d.ts +0 -9
  259. package/dist/adapters/implementations/viemAdapter.d.ts.map +0 -1
  260. package/dist/adapters/implementations/viemAdapter.js +0 -26
  261. package/dist/adapters/implementations/viemAdapter.js.map +0 -1
  262. package/dist/adapters/index.d.ts +0 -5
  263. package/dist/adapters/index.d.ts.map +0 -1
  264. package/dist/adapters/index.js +0 -10
  265. package/dist/adapters/index.js.map +0 -1
  266. package/dist/adapters/proxies/ethersAdapterProxy.d.ts +0 -25
  267. package/dist/adapters/proxies/ethersAdapterProxy.d.ts.map +0 -1
  268. package/dist/adapters/proxies/ethersAdapterProxy.js +0 -71
  269. package/dist/adapters/proxies/ethersAdapterProxy.js.map +0 -1
  270. package/dist/adapters/proxies/ethersV5AdapterProxy.d.ts +0 -25
  271. package/dist/adapters/proxies/ethersV5AdapterProxy.d.ts.map +0 -1
  272. package/dist/adapters/proxies/ethersV5AdapterProxy.js +0 -71
  273. package/dist/adapters/proxies/ethersV5AdapterProxy.js.map +0 -1
  274. package/dist/adapters/proxies/viemAdapterProxy.d.ts +0 -25
  275. package/dist/adapters/proxies/viemAdapterProxy.d.ts.map +0 -1
  276. package/dist/adapters/proxies/viemAdapterProxy.js +0 -71
  277. package/dist/adapters/proxies/viemAdapterProxy.js.map +0 -1
  278. package/dist/constants/aaveConfig.d.ts.map +0 -1
  279. package/dist/constants/aaveConfig.js.map +0 -1
  280. package/dist/constants/addresses.d.ts.map +0 -1
  281. package/dist/constants/addresses.js +0 -61
  282. package/dist/constants/addresses.js.map +0 -1
  283. package/dist/constants/chainId.d.ts +0 -5
  284. package/dist/constants/chainId.d.ts.map +0 -1
  285. package/dist/constants/chainId.js.map +0 -1
  286. package/dist/constants/contractNames.d.ts.map +0 -1
  287. package/dist/constants/contractNames.js.map +0 -1
  288. package/dist/constants/index.d.ts.map +0 -1
  289. package/dist/constants/index.js.map +0 -1
  290. package/dist/constants/mentoAddresses.d.ts.map +0 -1
  291. package/dist/constants/mentoAddresses.js.map +0 -1
  292. package/dist/constants/proposalState.d.ts +0 -11
  293. package/dist/constants/proposalState.d.ts.map +0 -1
  294. package/dist/constants/proposalState.js +0 -15
  295. package/dist/constants/proposalState.js.map +0 -1
  296. package/dist/constants/protocolAddresses.d.ts.map +0 -1
  297. package/dist/constants/protocolAddresses.js.map +0 -1
  298. package/dist/constants/stableTokenMetadata.d.ts +0 -12
  299. package/dist/constants/stableTokenMetadata.d.ts.map +0 -1
  300. package/dist/constants/stableTokenMetadata.js +0 -14
  301. package/dist/constants/stableTokenMetadata.js.map +0 -1
  302. package/dist/services/collateralAssetService.d.ts +0 -8
  303. package/dist/services/collateralAssetService.d.ts.map +0 -1
  304. package/dist/services/collateralAssetService.js +0 -47
  305. package/dist/services/collateralAssetService.js.map +0 -1
  306. package/dist/services/stableTokenService.d.ts +0 -9
  307. package/dist/services/stableTokenService.d.ts.map +0 -1
  308. package/dist/services/stableTokenService.js +0 -40
  309. package/dist/services/stableTokenService.js.map +0 -1
  310. package/dist/services/supply/ISupplyCalculator.d.ts.map +0 -1
  311. package/dist/services/supply/ISupplyCalculator.js.map +0 -1
  312. package/dist/services/supply/aaveSupplyCalculator.d.ts.map +0 -1
  313. package/dist/services/supply/aaveSupplyCalculator.js.map +0 -1
  314. package/dist/services/supply/calculatorFactory.d.ts +0 -8
  315. package/dist/services/supply/calculatorFactory.d.ts.map +0 -1
  316. package/dist/services/supply/calculatorFactory.js.map +0 -1
  317. package/dist/services/supply/defaultCalculatorFactory.d.ts +0 -9
  318. package/dist/services/supply/defaultCalculatorFactory.d.ts.map +0 -1
  319. package/dist/services/supply/defaultCalculatorFactory.js.map +0 -1
  320. package/dist/services/supply/index.d.ts.map +0 -1
  321. package/dist/services/supply/index.js.map +0 -1
  322. package/dist/services/supply/multisigSupplyCalculator.d.ts +0 -9
  323. package/dist/services/supply/multisigSupplyCalculator.d.ts.map +0 -1
  324. package/dist/services/supply/multisigSupplyCalculator.js +0 -21
  325. package/dist/services/supply/multisigSupplyCalculator.js.map +0 -1
  326. package/dist/services/supply/uniV3SupplyCalculator.d.ts.map +0 -1
  327. package/dist/services/supply/uniV3SupplyCalculator.js.map +0 -1
  328. package/dist/services/supplyAdjustmentService.d.ts.map +0 -1
  329. package/dist/services/supplyAdjustmentService.js.map +0 -1
  330. package/dist/services/tokenMetadataService.d.ts +0 -8
  331. package/dist/services/tokenMetadataService.d.ts.map +0 -1
  332. package/dist/services/tokenMetadataService.js +0 -44
  333. package/dist/services/tokenMetadataService.js.map +0 -1
  334. package/dist/types/contractAddresses.d.ts +0 -23
  335. package/dist/types/contractAddresses.d.ts.map +0 -1
  336. package/dist/types/contractAddresses.js.map +0 -1
  337. package/dist/types/exchange.d.ts +0 -6
  338. package/dist/types/exchange.d.ts.map +0 -1
  339. package/dist/types/exchange.js +0 -3
  340. package/dist/types/exchange.js.map +0 -1
  341. package/dist/types/index.d.ts.map +0 -1
  342. package/dist/types/index.js.map +0 -1
  343. package/dist/types/provider.d.ts +0 -11
  344. package/dist/types/provider.d.ts.map +0 -1
  345. package/dist/types/provider.js.map +0 -1
  346. package/dist/types/token.d.ts.map +0 -1
  347. /package/dist/{constants → core/constants}/aaveConfig.d.ts +0 -0
  348. /package/dist/{constants → core/constants}/aaveConfig.js +0 -0
  349. /package/dist/{constants → core/constants}/contractNames.d.ts +0 -0
  350. /package/dist/{constants → core/constants}/contractNames.js +0 -0
  351. /package/dist/{constants → core/constants}/protocolAddresses.d.ts +0 -0
  352. /package/dist/{constants → core/constants}/protocolAddresses.js +0 -0
  353. /package/dist/{types → core/types}/contractAddresses.js +0 -0
  354. /package/dist/{types → core/types}/token.js +0 -0
  355. /package/dist/services/{supply → tokens/supply}/ISupplyCalculator.d.ts +0 -0
  356. /package/dist/services/{supply → tokens/supply}/ISupplyCalculator.js +0 -0
  357. /package/dist/services/{supply → tokens/supply}/calculatorFactory.js +0 -0
  358. /package/dist/services/{supply → tokens/supply}/index.d.ts +0 -0
  359. /package/dist/services/{supply → tokens/supply}/index.js +0 -0
package/dist/index.js CHANGED
@@ -15,108 +15,84 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.Mento = void 0;
18
- const adapters_1 = require("./adapters");
19
- const services_1 = require("./services");
20
- const addresses_1 = require("./constants/addresses");
21
- /** Helper type guard for Ethers v5 Provider */
22
- function isEthersV5Provider(provider) {
23
- // Check for v5 specific properties that don't exist in v6
24
- return ('getNetwork' in provider &&
25
- '_network' in provider &&
26
- // v5 specific internal property
27
- 'formatter' in provider);
28
- }
29
- /** Helper type guard for Ethers v6 Provider */
30
- function isEthersV6Provider(provider) {
31
- // Check for v6 specific properties that don't exist in v5
32
- return ('getNetwork' in provider &&
33
- // v6 specific methods
34
- 'broadcastTransaction' in provider);
35
- }
36
- /** Helper type guard for Viem Provider */
37
- function isViemProvider(provider) {
38
- return !('getNetwork' in provider);
39
- }
18
+ const viem_1 = require("viem");
19
+ const addresses_1 = require("./core/constants/addresses");
20
+ const chainConfig_1 = require("./utils/chainConfig");
21
+ const tokens_1 = require("@services/tokens");
22
+ const pools_1 = require("@services/pools");
23
+ const routes_1 = require("@services/routes");
24
+ const quotes_1 = require("@services/quotes");
25
+ const swap_1 = require("@services/swap");
40
26
  /**
41
27
  * @class Mento
42
- * @description The main class for the Mento SDK. It initializes the provider and services,
28
+ * @description The main class for the Mento SDK. Initializes a viem PublicClient internally
43
29
  * and provides a public API for interacting with the Mento Protocol.
44
30
  * @dev example usage:
45
- * // Ethers v6
46
- * const mento = await Mento.create({
47
- * provider: new ethers.JsonRpcProvider("https://forno.celo.org")
48
- * });
49
- *
50
- * // Ethers v5
51
- * const mento = await Mento.create({
52
- * provider: new ethersV5.providers.JsonRpcProvider("https://forno.celo.org")
53
- * });
54
- *
55
- * // Viem
56
- * const mento = await Mento.create({
57
- * provider: createPublicClient({
58
- * transport: http("https://forno.celo.org")
59
- * })
60
- * });
31
+ * const mento = await Mento.create(ChainId.CELO);
32
+ * // or with custom RPC URL
33
+ * const mento = await Mento.create(ChainId.CELO, 'https://custom-rpc-url.com');
61
34
  *
62
35
  * // Get all stable tokens
63
- * const stableTokens = await mento.getStableTokens();
36
+ * const stableTokens = await mento.tokens.getStableTokens();
64
37
  *
65
38
  * // Get all collateral assets
66
- * const collateralAssets = await mento.getCollateralAssets();
39
+ * const collateralAssets = await mento.tokens.getCollateralAssets();
40
+ *
41
+ * // Get all pools
42
+ * const pools = await mento.pools.getPools();
43
+ *
44
+ * // Find a route between tokens
45
+ * const route = await mento.routes.findRoute(cUSD, CELO);
46
+ *
47
+ * // Get a quote for a swap
48
+ * const amountOut = await mento.quotes.getAmountOut(cUSD, CELO, amountIn);
49
+ *
50
+ * // Build swap parameters
51
+ * const swapDetails = await mento.swap.buildSwapParams(cUSD, CELO, amountIn, { slippageTolerance: 0.5 });
67
52
  */
68
53
  class Mento {
69
- constructor(provider, stableTokenService, collateralAssetService) {
70
- this.provider = provider;
71
- this.stableTokenService = stableTokenService;
72
- this.collateralAssetService = collateralAssetService;
73
- }
74
- static async create(config) {
75
- if (!config.provider) {
76
- throw new Error('Provider is required to initialize Mento SDK');
77
- }
78
- let provider;
79
- if (isEthersV5Provider(config.provider)) {
80
- provider = new adapters_1.EthersV5Adapter(config.provider);
81
- }
82
- else if (isEthersV6Provider(config.provider)) {
83
- provider = new adapters_1.EthersAdapter(config.provider);
84
- }
85
- else if (isViemProvider(config.provider)) {
86
- provider = new adapters_1.ViemAdapter(config.provider);
87
- }
88
- else {
89
- throw new Error('Unsupported provider type');
90
- }
91
- const stableTokenService = new services_1.StableTokenService(provider);
92
- const collateralAssetService = new services_1.CollateralAssetService(provider);
93
- return new Mento(provider, stableTokenService, collateralAssetService);
94
- }
95
- async getStableTokens() {
96
- return this.stableTokenService.getStableTokens();
54
+ constructor(chainId, tokens, pools, routes, quotes, swap) {
55
+ this.chainId = chainId;
56
+ this.tokens = tokens;
57
+ this.pools = pools;
58
+ this.routes = routes;
59
+ this.quotes = quotes;
60
+ this.swap = swap;
97
61
  }
98
62
  /**
99
- * Get all collateral assets that are available on the current chain.
100
- * @returns An array of collateral assets
63
+ * Create a new Mento SDK instance
64
+ * @param chainId - The chain ID (e.g., ChainId.CELO, ChainId.CELO_SEPOLIA)
65
+ * @param rpcUrl - Optional RPC URL. If not provided, uses default for the chain
66
+ * @returns A new Mento instance
101
67
  */
102
- async getCollateralAssets() {
103
- return this.collateralAssetService.getCollateralAssets();
68
+ static async create(chainId, rpcUrl) {
69
+ // Use provided RPC URL or default for the chain
70
+ const transport = (0, viem_1.http)(rpcUrl || (0, chainConfig_1.getDefaultRpcUrl)(chainId));
71
+ // Create viem PublicClient
72
+ const publicClient = (0, viem_1.createPublicClient)({
73
+ chain: (0, chainConfig_1.getChainConfig)(chainId),
74
+ transport,
75
+ });
76
+ const tokenService = new tokens_1.TokenService(publicClient, chainId);
77
+ const poolService = new pools_1.PoolService(publicClient, chainId);
78
+ const routeService = new routes_1.RouteService(publicClient, chainId, poolService);
79
+ const quoteService = new quotes_1.QuoteService(publicClient, chainId, routeService);
80
+ const swapService = new swap_1.SwapService(publicClient, chainId, routeService, quoteService);
81
+ // Return new mento
82
+ return new Mento(chainId, tokenService, poolService, routeService, quoteService, swapService);
104
83
  }
105
84
  /**
106
85
  * Get the address of a contract for the current chain
107
86
  * @param contractName - The contract name
108
87
  * @returns The contract address
109
88
  */
110
- async getContractAddress(contractName) {
111
- const chainId = (await this.provider.getChainId());
112
- return addresses_1.addresses[chainId][contractName];
89
+ getContractAddress(contractName) {
90
+ return (0, addresses_1.getContractAddress)(this.chainId, contractName);
113
91
  }
114
92
  }
115
93
  exports.Mento = Mento;
116
- __exportStar(require("./constants"), exports);
117
- __exportStar(require("./types"), exports);
118
- __exportStar(require("./adapters"), exports);
94
+ __exportStar(require("./core/constants"), exports);
95
+ __exportStar(require("./core/types"), exports);
96
+ __exportStar(require("./core/abis"), exports);
119
97
  __exportStar(require("./services"), exports);
120
- __exportStar(require("./abis"), exports);
121
- __exportStar(require("./utils"), exports);
122
98
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAIA,yCAAwE;AAOxE,yCAAuE;AAEvE,qDAAiD;AAgBjD,+CAA+C;AAC/C,SAAS,kBAAkB,CACzB,QAA2B;IAE3B,0DAA0D;IAC1D,OAAO,CACL,YAAY,IAAI,QAAQ;QACxB,UAAU,IAAI,QAAQ;QACtB,gCAAgC;QAChC,WAAW,IAAI,QAAQ,CACxB,CAAA;AACH,CAAC;AAED,+CAA+C;AAC/C,SAAS,kBAAkB,CACzB,QAA2B;IAE3B,0DAA0D;IAC1D,OAAO,CACL,YAAY,IAAI,QAAQ;QACxB,sBAAsB;QACtB,sBAAsB,IAAI,QAAQ,CACnC,CAAA;AACH,CAAC;AAED,0CAA0C;AAC1C,SAAS,cAAc,CAAC,QAA2B;IACjD,OAAO,CAAC,CAAC,YAAY,IAAI,QAAQ,CAAC,CAAA;AACpC,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAa,KAAK;IAKhB,YACE,QAAyB,EACzB,kBAAsC,EACtC,sBAA8C;QAE9C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAA;QAC5C,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAA;IACtD,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAmB;QAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;QACjE,CAAC;QAED,IAAI,QAAyB,CAAA;QAC7B,IAAI,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,QAAQ,GAAG,IAAI,0BAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QACjD,CAAC;aAAM,IAAI,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/C,QAAQ,GAAG,IAAI,wBAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC/C,CAAC;aAAM,IAAI,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC3C,QAAQ,GAAG,IAAI,sBAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;QAC7C,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAA;QAC9C,CAAC;QAED,MAAM,kBAAkB,GAAG,IAAI,6BAAkB,CAAC,QAAQ,CAAC,CAAA;QAC3D,MAAM,sBAAsB,GAAG,IAAI,iCAAsB,CAAC,QAAQ,CAAC,CAAA;QAEnE,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,kBAAkB,EAAE,sBAAsB,CAAC,CAAA;IACxE,CAAC;IAEM,KAAK,CAAC,eAAe;QAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAA;IAClD,CAAC;IAED;;;OAGG;IACI,KAAK,CAAC,mBAAmB;QAC9B,OAAO,IAAI,CAAC,sBAAsB,CAAC,mBAAmB,EAAE,CAAA;IAC1D,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,kBAAkB,CAC7B,YAAqC;QAErC,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAY,CAAA;QAC7D,OAAO,qBAAS,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;IACzC,CAAC;CACF;AA5DD,sBA4DC;AAED,8CAA2B;AAC3B,0CAAuB;AACvB,6CAA0B;AAC1B,6CAA0B;AAC1B,yCAAsB;AACtB,0CAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+BAAkE;AAGlE,0DAA+D;AAC/D,qDAAsE;AACtE,6CAA+C;AAC/C,2CAA6C;AAC7C,6CAA+C;AAC/C,6CAA+C;AAC/C,yCAA4C;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAa,KAAK;IAChB,YACU,OAAe,EAChB,MAAoB,EACpB,KAAkB,EAClB,MAAoB,EACpB,MAAoB,EACpB,IAAiB;QALhB,YAAO,GAAP,OAAO,CAAQ;QAChB,WAAM,GAAN,MAAM,CAAc;QACpB,UAAK,GAAL,KAAK,CAAa;QAClB,WAAM,GAAN,MAAM,CAAc;QACpB,WAAM,GAAN,MAAM,CAAc;QACpB,SAAI,GAAJ,IAAI,CAAa;IACvB,CAAC;IAEJ;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,MAAe;QACzD,gDAAgD;QAChD,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,MAAM,IAAI,IAAA,8BAAgB,EAAC,OAAO,CAAC,CAAC,CAAA;QAE3D,2BAA2B;QAC3B,MAAM,YAAY,GAAG,IAAA,yBAAkB,EAAC;YACtC,KAAK,EAAE,IAAA,4BAAc,EAAC,OAAO,CAAC;YAC9B,SAAS;SACV,CAAC,CAAA;QAEF,MAAM,YAAY,GAAG,IAAI,qBAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAC5D,MAAM,WAAW,GAAG,IAAI,mBAAW,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAC1D,MAAM,YAAY,GAAG,IAAI,qBAAY,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;QACzE,MAAM,YAAY,GAAG,IAAI,qBAAY,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;QAC1E,MAAM,WAAW,GAAG,IAAI,kBAAW,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;QAEtF,mBAAmB;QACnB,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,CAAA;IAC/F,CAAC;IAED;;;;OAIG;IACI,kBAAkB,CAAC,YAAqC;QAC7D,OAAO,IAAA,8BAAkB,EAAC,IAAI,CAAC,OAAkB,EAAE,YAAY,CAAC,CAAA;IAClE,CAAC;CACF;AA5CD,sBA4CC;AAED,mDAAgC;AAChC,+CAA4B;AAC5B,8CAA2B;AAC3B,6CAA0B"}
@@ -1,6 +1,7 @@
1
- export * from './collateralAssetService';
2
- export * from './stableTokenService';
3
- export * from './supplyAdjustmentService';
4
- export * from './tokenMetadataService';
5
- export * from './supply';
1
+ export * from './tokens/supplyAdjustmentService';
2
+ export * from './tokens/supply';
3
+ export * from './pools';
4
+ export * from './routes';
5
+ export * from './quotes';
6
+ export * from './swap';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,2BAA2B,CAAA;AACzC,cAAc,wBAAwB,CAAA;AACtC,cAAc,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAA;AAChD,cAAc,iBAAiB,CAAA;AAC/B,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,QAAQ,CAAA"}
@@ -14,9 +14,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./collateralAssetService"), exports);
18
- __exportStar(require("./stableTokenService"), exports);
19
- __exportStar(require("./supplyAdjustmentService"), exports);
20
- __exportStar(require("./tokenMetadataService"), exports);
21
- __exportStar(require("./supply"), exports);
17
+ __exportStar(require("./tokens/supplyAdjustmentService"), exports);
18
+ __exportStar(require("./tokens/supply"), exports);
19
+ __exportStar(require("./pools"), exports);
20
+ __exportStar(require("./routes"), exports);
21
+ __exportStar(require("./quotes"), exports);
22
+ __exportStar(require("./swap"), exports);
22
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAwC;AACxC,uDAAoC;AACpC,4DAAyC;AACzC,yDAAsC;AACtC,2CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,mEAAgD;AAChD,kDAA+B;AAC/B,0CAAuB;AACvB,2CAAwB;AACxB,2CAAwB;AACxB,yCAAsB"}
@@ -0,0 +1,37 @@
1
+ import { Pool } from '../../core/types';
2
+ import { PublicClient } from 'viem';
3
+ /**
4
+ * Service for discovering liquidity pools in the Mento protocol.
5
+ * Aggregates pools from multiple factory contracts (FPMM and VirtualPool).
6
+ */
7
+ export declare class PoolService {
8
+ private publicClient;
9
+ private chainId;
10
+ private poolsCache;
11
+ constructor(publicClient: PublicClient, chainId: number);
12
+ /**
13
+ * Fetches all pools available in the protocol from both FPMM and Virtual pool factories
14
+ * Results are cached in memory for the service instance lifetime
15
+ *
16
+ * @returns Array of all pools available in the protocol
17
+ * @throws {Error} If RPC call fails or pools are unavailable
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * const pools = await poolService.getPools()
22
+ * console.log(`Found ${pools.length} pools`)
23
+ * ```
24
+ */
25
+ getPools(): Promise<Pool[]>;
26
+ /**
27
+ * Fetches all FPMM pools from the FPMM Factory
28
+ */
29
+ private fetchFPMMPools;
30
+ /**
31
+ * Fetches all Virtual pools by discovering them from BiPoolManager exchanges.
32
+ * VirtualPoolFactory doesn't have an enumeration method,
33
+ * so we have to derive pools from BiPoolManager.
34
+ */
35
+ private fetchVirtualPools;
36
+ }
37
+ //# sourceMappingURL=PoolService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PoolService.d.ts","sourceRoot":"","sources":["../../../src/services/pools/PoolService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAY,MAAM,kBAAkB,CAAA;AAEjD,OAAO,EAAE,YAAY,EAAW,MAAM,MAAM,CAAA;AAK5C;;;GAGG;AACH,qBAAa,WAAW;IAGV,OAAO,CAAC,YAAY;IAAgB,OAAO,CAAC,OAAO;IAF/D,OAAO,CAAC,UAAU,CAAsB;gBAEpB,YAAY,EAAE,YAAY,EAAU,OAAO,EAAE,MAAM;IAEvE;;;;;;;;;;;;OAYG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAoBjC;;OAEG;YACW,cAAc;IAkD5B;;;;OAIG;YACW,iBAAiB;CAmEhC"}
@@ -0,0 +1,158 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PoolService = void 0;
4
+ const constants_1 = require("../../core/constants");
5
+ const types_1 = require("../../core/types");
6
+ const abis_1 = require("../../core/abis");
7
+ const sortUtils_1 = require("../../utils/sortUtils");
8
+ // TODO: Update to enrich pools with more data as needed. Use optional flag to include more data.
9
+ /**
10
+ * Service for discovering liquidity pools in the Mento protocol.
11
+ * Aggregates pools from multiple factory contracts (FPMM and VirtualPool).
12
+ */
13
+ class PoolService {
14
+ constructor(publicClient, chainId) {
15
+ this.publicClient = publicClient;
16
+ this.chainId = chainId;
17
+ this.poolsCache = null;
18
+ }
19
+ /**
20
+ * Fetches all pools available in the protocol from both FPMM and Virtual pool factories
21
+ * Results are cached in memory for the service instance lifetime
22
+ *
23
+ * @returns Array of all pools available in the protocol
24
+ * @throws {Error} If RPC call fails or pools are unavailable
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * const pools = await poolService.getPools()
29
+ * console.log(`Found ${pools.length} pools`)
30
+ * ```
31
+ */
32
+ async getPools() {
33
+ if (this.poolsCache) {
34
+ return this.poolsCache;
35
+ }
36
+ // TODO: Update to use router.factoryRegistry.poolFactories()
37
+ // for dynamic factory discovery. For now we will use
38
+ // the hardcoded factory addresses for the chain for v1.
39
+ const pools = [];
40
+ const fpmmPools = await this.fetchFPMMPools();
41
+ pools.push(...fpmmPools);
42
+ const virtualPools = await this.fetchVirtualPools();
43
+ pools.push(...virtualPools);
44
+ this.poolsCache = pools;
45
+ return pools;
46
+ }
47
+ /**
48
+ * Fetches all FPMM pools from the FPMM Factory
49
+ */
50
+ async fetchFPMMPools() {
51
+ const fpmmFactoryAddress = (0, constants_1.getContractAddress)(this.chainId, 'FPMMFactory');
52
+ if (!fpmmFactoryAddress) {
53
+ console.warn('FPMM Factory address not found for this chain');
54
+ return [];
55
+ }
56
+ try {
57
+ // Get all deployed FPMM pool addresses
58
+ const poolAddresses = (await this.publicClient.readContract({
59
+ address: fpmmFactoryAddress,
60
+ abi: abis_1.FPMM_FACTORY_ABI,
61
+ functionName: 'deployedFPMMAddresses',
62
+ }));
63
+ if (poolAddresses.length === 0) {
64
+ return [];
65
+ }
66
+ const poolDataPromises = poolAddresses.map(async (poolAddress) => {
67
+ const [token0, token1] = await Promise.all([
68
+ this.publicClient.readContract({
69
+ address: poolAddress,
70
+ abi: abis_1.FPMM_ABI,
71
+ functionName: 'token0',
72
+ }),
73
+ this.publicClient.readContract({
74
+ address: poolAddress,
75
+ abi: abis_1.FPMM_ABI,
76
+ functionName: 'token1',
77
+ }),
78
+ ]);
79
+ return {
80
+ factoryAddr: fpmmFactoryAddress,
81
+ poolAddr: poolAddress,
82
+ token0: token0,
83
+ token1: token1,
84
+ poolType: types_1.PoolType.FPMM,
85
+ };
86
+ });
87
+ return await Promise.all(poolDataPromises);
88
+ }
89
+ catch (error) {
90
+ console.error('Failed to fetch FPMM pools:', error);
91
+ throw new Error(`Failed to fetch FPMM pools: ${error.message}`);
92
+ }
93
+ }
94
+ /**
95
+ * Fetches all Virtual pools by discovering them from BiPoolManager exchanges.
96
+ * VirtualPoolFactory doesn't have an enumeration method,
97
+ * so we have to derive pools from BiPoolManager.
98
+ */
99
+ async fetchVirtualPools() {
100
+ const virtualPoolFactoryAddress = (0, constants_1.getContractAddress)(this.chainId, 'VirtualPoolFactory');
101
+ const biPoolManagerAddress = (0, constants_1.getContractAddress)(this.chainId, 'BiPoolManager');
102
+ if (!virtualPoolFactoryAddress || !biPoolManagerAddress) {
103
+ console.warn('VirtualPoolFactory or BiPoolManager address not found for this chain');
104
+ return [];
105
+ }
106
+ try {
107
+ // TODO: When new virtual pool factory is deployed
108
+ // we can simplify this by using VirtualPoolFactory.getAllPools() returns(address[])
109
+ // Get all exchanges from BiPoolManager
110
+ const exchangesData = (await this.publicClient.readContract({
111
+ address: biPoolManagerAddress,
112
+ abi: abis_1.BIPOOL_MANAGER_ABI,
113
+ functionName: 'getExchanges',
114
+ }));
115
+ if (exchangesData.length === 0) {
116
+ return [];
117
+ }
118
+ // For each exchange, check if a virtual pool exists, and if so, return the pool address.
119
+ const poolPromises = exchangesData.map(async (exchange) => {
120
+ if (exchange.assets.length !== 2) {
121
+ console.warn(`Skipping invalid exchange ${exchange.exchangeId}: expected 2 assets`);
122
+ return null;
123
+ }
124
+ const [token0, token1] = (0, sortUtils_1.sortTokenAddresses)(exchange.assets[0], exchange.assets[1]);
125
+ const poolAddress = (await this.publicClient.readContract({
126
+ address: virtualPoolFactoryAddress,
127
+ abi: abis_1.VIRTUAL_POOL_FACTORY_ABI,
128
+ functionName: 'getOrPrecomputeProxyAddress',
129
+ args: [token0, token1],
130
+ }));
131
+ const isDeployed = (await this.publicClient.readContract({
132
+ address: virtualPoolFactoryAddress,
133
+ abi: abis_1.VIRTUAL_POOL_FACTORY_ABI,
134
+ functionName: 'isPool',
135
+ args: [poolAddress],
136
+ }));
137
+ if (!isDeployed) {
138
+ return null;
139
+ }
140
+ return {
141
+ factoryAddr: virtualPoolFactoryAddress,
142
+ poolAddr: poolAddress,
143
+ token0: token0,
144
+ token1: token1,
145
+ poolType: types_1.PoolType.Virtual,
146
+ };
147
+ });
148
+ const results = await Promise.all(poolPromises);
149
+ return results.filter((pool) => pool !== null);
150
+ }
151
+ catch (error) {
152
+ console.error('Failed to fetch Virtual pools:', error);
153
+ throw new Error(`Failed to fetch Virtual pools: ${error.message}`);
154
+ }
155
+ }
156
+ }
157
+ exports.PoolService = PoolService;
158
+ //# sourceMappingURL=PoolService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PoolService.js","sourceRoot":"","sources":["../../../src/services/pools/PoolService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from "./PoolService";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/pools/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -0,0 +1,18 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/pools/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B"}
@@ -0,0 +1,41 @@
1
+ import { Address, 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
17
+ * @param tokenOut - The address of the output token
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
+ * const cUSD = '0x765DE816845861e75A25fCA122bb6898B8B1282a'
27
+ * const CELO = '0x471EcE3750Da237f93B8E339c536989b8978a438'
28
+ *
29
+ * // Calculate output for 100 cUSD
30
+ * const amountIn = BigInt(100) * BigInt(10 ** 18) // 100 cUSD in wei
31
+ * const expectedOut = await quoteService.getAmountOut(cUSD, CELO, amountIn)
32
+ * console.log(`Expected CELO output: ${expectedOut}`)
33
+ *
34
+ * // Or provide a pre-fetched route for better performance
35
+ * const route = await routeService.findRoute(cUSD, CELO)
36
+ * const expectedOut2 = await quoteService.getAmountOut(cUSD, CELO, amountIn, route)
37
+ * ```
38
+ */
39
+ getAmountOut(tokenIn: Address, tokenOut: Address, amountIn: bigint, route?: Route): Promise<bigint>;
40
+ }
41
+ //# sourceMappingURL=QuoteService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuoteService.d.ts","sourceRoot":"","sources":["../../../src/services/quotes/QuoteService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAKxC;;;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;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;CAmB1G"}
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.QuoteService = void 0;
4
+ const abis_1 = require("../../core/abis");
5
+ const constants_1 = require("../../core/constants");
6
+ const pathEncoder_1 = require("../../utils/pathEncoder");
7
+ /**
8
+ * Service for getting swap quotes from the Mento protocol.
9
+ * Calculates expected output amounts for trades without executing them.
10
+ */
11
+ class QuoteService {
12
+ constructor(publicClient, chainId, routeService) {
13
+ this.publicClient = publicClient;
14
+ this.chainId = chainId;
15
+ this.routeService = routeService;
16
+ }
17
+ /**
18
+ * Calculates the expected output amount for a swap between two tokens.
19
+ *
20
+ * @param tokenIn - The address of the input token
21
+ * @param tokenOut - The address of the output token
22
+ * @param amountIn - The amount of input tokens (in wei/smallest unit)
23
+ * @param route - Optional pre-fetched route. If not provided, the optimal route will be found automatically.
24
+ * @returns The expected output amount (in wei/smallest unit)
25
+ * @throws {RouteNotFoundError} If no route exists between the token pair
26
+ * @throws {Error} If the Router contract call fails
27
+ *
28
+ * @example
29
+ * ```typescript
30
+ * const cUSD = '0x765DE816845861e75A25fCA122bb6898B8B1282a'
31
+ * const CELO = '0x471EcE3750Da237f93B8E339c536989b8978a438'
32
+ *
33
+ * // Calculate output for 100 cUSD
34
+ * const amountIn = BigInt(100) * BigInt(10 ** 18) // 100 cUSD in wei
35
+ * const expectedOut = await quoteService.getAmountOut(cUSD, CELO, amountIn)
36
+ * console.log(`Expected CELO output: ${expectedOut}`)
37
+ *
38
+ * // Or provide a pre-fetched route for better performance
39
+ * const route = await routeService.findRoute(cUSD, CELO)
40
+ * const expectedOut2 = await quoteService.getAmountOut(cUSD, CELO, amountIn, route)
41
+ * ```
42
+ */
43
+ async getAmountOut(tokenIn, tokenOut, amountIn, route) {
44
+ // If the consumer does not provide a route then we find the best route.
45
+ if (!route) {
46
+ route = await this.routeService.findRoute(tokenIn, tokenOut);
47
+ }
48
+ // Convert route.path to Router contract's Route[] format
49
+ const routerRoutes = (0, pathEncoder_1.encodeRoutePath)(route.path, tokenIn, tokenOut);
50
+ const routerAddress = (0, constants_1.getContractAddress)(this.chainId, 'Router');
51
+ const amounts = (await this.publicClient.readContract({
52
+ address: routerAddress,
53
+ abi: abis_1.ROUTER_ABI,
54
+ functionName: 'getAmountsOut',
55
+ args: [amountIn, routerRoutes],
56
+ }));
57
+ return amounts[amounts.length - 1];
58
+ }
59
+ }
60
+ exports.QuoteService = QuoteService;
61
+ //# sourceMappingURL=QuoteService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuoteService.js","sourceRoot":"","sources":["../../../src/services/quotes/QuoteService.ts"],"names":[],"mappings":";;;AAGA,0CAA4C;AAC5C,oDAAkE;AAClE,yDAAyD;AAEzD;;;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;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,KAAK,CAAC,YAAY,CAAC,OAAgB,EAAE,QAAiB,EAAE,QAAgB,EAAE,KAAa;QACrF,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,OAAO,EAAE,QAAQ,CAAC,CAAA;QACnE,MAAM,aAAa,GAAG,IAAA,8BAAkB,EAAC,IAAI,CAAC,OAAkB,EAAE,QAAQ,CAAC,CAAA;QAE3E,MAAM,OAAO,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YACpD,OAAO,EAAE,aAA8B;YACvC,GAAG,EAAE,iBAAU;YACf,YAAY,EAAE,eAAe;YAC7B,IAAI,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC;SAC/B,CAAC,CAAa,CAAA;QAEf,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACpC,CAAC;CACF;AApDD,oCAoDC"}
@@ -0,0 +1,2 @@
1
+ export * from './QuoteService';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/quotes/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
@@ -0,0 +1,18 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/quotes/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA8B"}