@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
@@ -1,8 +1,6 @@
1
1
  export * from './addresses';
2
2
  export * from './chainId';
3
- export * from './proposalState';
4
3
  export * from './contractNames';
5
- export * from './stableTokenMetadata';
6
4
  export * from './protocolAddresses';
7
5
  export * from './mentoAddresses';
8
6
  export * from './aaveConfig';
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/constants/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,WAAW,CAAA;AACzB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA"}
@@ -16,9 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./addresses"), exports);
18
18
  __exportStar(require("./chainId"), exports);
19
- __exportStar(require("./proposalState"), exports);
20
19
  __exportStar(require("./contractNames"), exports);
21
- __exportStar(require("./stableTokenMetadata"), exports);
22
20
  __exportStar(require("./protocolAddresses"), exports);
23
21
  __exportStar(require("./mentoAddresses"), exports);
24
22
  __exportStar(require("./aaveConfig"), exports);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/constants/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA2B;AAC3B,4CAAyB;AACzB,kDAA+B;AAC/B,sDAAmC;AACnC,mDAAgC;AAChC,+CAA4B"}
@@ -1,5 +1,7 @@
1
1
  export declare const MENTO_ADDRESSES: {
2
2
  readonly PROTOCOL_MULTISIG: "0x87647780180b8f55980c7d3ffefe08a9b29e9ae1";
3
3
  readonly OPERATIONAL_WALLET: "0xDA7BFEF937F0944551a24b4C68B054bfA7127570";
4
+ readonly OPERATIONAL_WALLET_2: "0xD3D2e5c5Af667DA817b2D752d86c8f40c22137E1";
5
+ readonly REBALANCER_BOT: "0xaa8299FC6A685B5f9Ce9bdA8d0B3ea3D54731976";
4
6
  };
5
7
  //# sourceMappingURL=mentoAddresses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mentoAddresses.d.ts","sourceRoot":"","sources":["../../../src/core/constants/mentoAddresses.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe;;;;;CAKlB,CAAA"}
@@ -4,5 +4,7 @@ exports.MENTO_ADDRESSES = void 0;
4
4
  exports.MENTO_ADDRESSES = {
5
5
  PROTOCOL_MULTISIG: '0x87647780180b8f55980c7d3ffefe08a9b29e9ae1',
6
6
  OPERATIONAL_WALLET: '0xDA7BFEF937F0944551a24b4C68B054bfA7127570',
7
+ OPERATIONAL_WALLET_2: '0xD3D2e5c5Af667DA817b2D752d86c8f40c22137E1',
8
+ REBALANCER_BOT: '0xaa8299FC6A685B5f9Ce9bdA8d0B3ea3D54731976',
7
9
  };
8
10
  //# sourceMappingURL=mentoAddresses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mentoAddresses.js","sourceRoot":"","sources":["../../../src/core/constants/mentoAddresses.ts"],"names":[],"mappings":";;;AAAa,QAAA,eAAe,GAAG;IAC7B,iBAAiB,EAAE,4CAA4C;IAC/D,kBAAkB,EAAE,4CAA4C;IAChE,oBAAoB,EAAE,4CAA4C;IAClE,cAAc,EAAE,4CAA4C;CACpD,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocolAddresses.d.ts","sourceRoot":"","sources":["../../../src/core/constants/protocolAddresses.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;CAGrB,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protocolAddresses.js","sourceRoot":"","sources":["../../../src/core/constants/protocolAddresses.ts"],"names":[],"mappings":";;;AAAa,QAAA,kBAAkB,GAAG;IAChC,sBAAsB,EAAE,4CAA4C;IACpE,aAAa,EAAE,4CAA4C;CACnD,CAAA"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Base error class for all Mento SDK errors.
3
+ * Provides consistent error naming and proper prototype chain setup.
4
+ */
5
+ export declare class MentoError extends Error {
6
+ constructor(message: string);
7
+ }
8
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/core/errors/base.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,UAAW,SAAQ,KAAK;gBACvB,OAAO,EAAE,MAAM;CAM5B"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MentoError = void 0;
4
+ /**
5
+ * Base error class for all Mento SDK errors.
6
+ * Provides consistent error naming and proper prototype chain setup.
7
+ */
8
+ class MentoError extends Error {
9
+ constructor(message) {
10
+ super(message);
11
+ this.name = this.constructor.name;
12
+ // Maintains proper prototype chain for instanceof checks
13
+ Object.setPrototypeOf(this, new.target.prototype);
14
+ }
15
+ }
16
+ exports.MentoError = MentoError;
17
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/core/errors/base.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,MAAa,UAAW,SAAQ,KAAK;IACnC,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAA;QACjC,yDAAyD;QACzD,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;IACnD,CAAC;CACF;AAPD,gCAOC"}
@@ -0,0 +1,3 @@
1
+ export * from './base';
2
+ export * from './router';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/errors/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA"}
@@ -0,0 +1,19 @@
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("./base"), exports);
18
+ __exportStar(require("./router"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/errors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAsB;AACtB,2CAAwB"}
@@ -0,0 +1,8 @@
1
+ import { MentoError } from './base';
2
+ /**
3
+ * Error thrown when no tradable route exists between two tokens.
4
+ */
5
+ export declare class RouteNotFoundError extends MentoError {
6
+ constructor(tokenIn: string, tokenOut: string);
7
+ }
8
+ //# sourceMappingURL=router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../src/core/errors/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAEnC;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,UAAU;gBACpC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAK9C"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RouteNotFoundError = void 0;
4
+ const base_1 = require("./base");
5
+ /**
6
+ * Error thrown when no tradable route exists between two tokens.
7
+ */
8
+ class RouteNotFoundError extends base_1.MentoError {
9
+ constructor(tokenIn, tokenOut) {
10
+ super(`No route found for tokens ${tokenIn} and ${tokenOut}. They may not have a tradable path.`);
11
+ }
12
+ }
13
+ exports.RouteNotFoundError = RouteNotFoundError;
14
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../../src/core/errors/router.ts"],"names":[],"mappings":";;;AAAA,iCAAmC;AAEnC;;GAEG;AACH,MAAa,kBAAmB,SAAQ,iBAAU;IAChD,YAAY,OAAe,EAAE,QAAgB;QAC3C,KAAK,CACH,6BAA6B,OAAO,QAAQ,QAAQ,sCAAsC,CAC3F,CAAA;IACH,CAAC;CACF;AAND,gDAMC"}
@@ -0,0 +1,39 @@
1
+ import type { ChainId } from '../constants/chainId';
2
+ /**
3
+ * All possible contract identifiers across all chains.
4
+ * Not all chains have all contracts deployed.
5
+ */
6
+ export type ContractAddresses = {
7
+ FPMMFactory?: string;
8
+ VirtualPoolFactory?: string;
9
+ BreakerBox?: string;
10
+ MedianDeltaBreaker?: string;
11
+ SortedOracles?: string;
12
+ ValueDeltaBreaker?: string;
13
+ BiPoolManager?: string;
14
+ Broker?: string;
15
+ ConstantProductPricingModule?: string;
16
+ ConstantSumPricingModule?: string;
17
+ MentoRouter?: string;
18
+ Reserve?: string;
19
+ Airgrab?: string;
20
+ Emission?: string;
21
+ GovernanceFactory?: string;
22
+ Locking?: string;
23
+ MentoGovernor?: string;
24
+ MentoToken?: string;
25
+ TimelockController?: string;
26
+ StableToken?: string;
27
+ StableTokenEUR?: string;
28
+ StableTokenBRL?: string;
29
+ StableTokenXOF?: string;
30
+ Router?: string;
31
+ };
32
+ /**
33
+ * Map of chain IDs to their contract addresses.
34
+ * Each chain may have a different subset of contracts deployed.
35
+ */
36
+ export type ContractAddressMap = {
37
+ [key in ChainId]: ContractAddresses;
38
+ };
39
+ //# sourceMappingURL=contractAddresses.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contractAddresses.d.ts","sourceRoot":"","sources":["../../../src/core/types/contractAddresses.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAEnD;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAG3B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAG1B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,4BAA4B,CAAC,EAAE,MAAM,CAAA;IACrC,wBAAwB,CAAC,EAAE,MAAM,CAAA;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAGhB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAG3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,cAAc,CAAC,EAAE,MAAM,CAAA;IAGvB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG;KAC9B,GAAG,IAAI,OAAO,GAAG,iBAAiB;CACpC,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contractAddresses.js","sourceRoot":"","sources":["../../../src/core/types/contractAddresses.ts"],"names":[],"mappings":""}
@@ -1,5 +1,6 @@
1
1
  export * from './contractAddresses';
2
2
  export * from './provider';
3
3
  export * from './token';
4
- export * from './exchange';
4
+ export * from './route';
5
+ export * from './pool';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA"}
@@ -17,5 +17,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./contractAddresses"), exports);
18
18
  __exportStar(require("./provider"), exports);
19
19
  __exportStar(require("./token"), exports);
20
- __exportStar(require("./exchange"), exports);
20
+ __exportStar(require("./route"), exports);
21
+ __exportStar(require("./pool"), exports);
21
22
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAmC;AACnC,6CAA0B;AAC1B,0CAAuB;AACvB,0CAAuB;AACvB,yCAAsB"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Types of liquidity pools supported in the Mento protocol
3
+ */
4
+ export declare enum PoolType {
5
+ /** FPMM (Fixed Product Market Maker) pools - v3 native pools */
6
+ FPMM = "FPMM",
7
+ /** Virtual pools - wrapper around v2 BiPoolManager exchanges */
8
+ Virtual = "Virtual"
9
+ }
10
+ /**
11
+ * Represents a liquidity pool between two tokens in the Mento protocol
12
+ */
13
+ export interface Pool {
14
+ /**
15
+ * The address of the factory contract that was used to deploy this pool
16
+ */
17
+ factoryAddr: string;
18
+ /**
19
+ * The deployed pool contract address (serves as unique identifier)
20
+ */
21
+ poolAddr: string;
22
+ /**
23
+ * The address of the first token in the pool
24
+ */
25
+ token0: string;
26
+ /**
27
+ * The address of the second token in the pool
28
+ */
29
+ token1: string;
30
+ /**
31
+ * The type of pool (FPMM or Virtual)
32
+ */
33
+ poolType: `${PoolType}`;
34
+ }
35
+ //# sourceMappingURL=pool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../../src/core/types/pool.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,QAAQ;IAClB,gEAAgE;IAChE,IAAI,SAAS;IACb,gEAAgE;IAChE,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAA;CACxB"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PoolType = void 0;
4
+ /**
5
+ * Types of liquidity pools supported in the Mento protocol
6
+ */
7
+ var PoolType;
8
+ (function (PoolType) {
9
+ /** FPMM (Fixed Product Market Maker) pools - v3 native pools */
10
+ PoolType["FPMM"] = "FPMM";
11
+ /** Virtual pools - wrapper around v2 BiPoolManager exchanges */
12
+ PoolType["Virtual"] = "Virtual";
13
+ })(PoolType || (exports.PoolType = PoolType = {}));
14
+ //# sourceMappingURL=pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../src/core/types/pool.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,QAKX;AALD,WAAY,QAAQ;IAClB,gEAAgE;IAChE,yBAAa,CAAA;IACb,gEAAgE;IAChE,+BAAmB,CAAA;AACrB,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB"}
@@ -0,0 +1,45 @@
1
+ export interface ContractCallOptions {
2
+ address: string;
3
+ abi: string[] | unknown[];
4
+ functionName: string;
5
+ args?: unknown[];
6
+ }
7
+ /**
8
+ * Contract write options for building call parameters
9
+ *
10
+ * Configuration for building transaction call parameters for write operations.
11
+ * These parameters can be used by consumers to execute transactions themselves.
12
+ */
13
+ export interface ContractWriteOptions extends ContractCallOptions {
14
+ /**
15
+ * Optional gas limit override
16
+ * If not provided, will be estimated automatically
17
+ */
18
+ gasLimit?: bigint;
19
+ /**
20
+ * Transaction value in wei
21
+ * For payable functions only
22
+ */
23
+ value?: bigint;
24
+ }
25
+ /**
26
+ * Call parameters for executing a contract transaction
27
+ *
28
+ * Contains all the data needed to execute a contract call.
29
+ * Consumers can use these parameters with their own wallet/signer to execute transactions.
30
+ */
31
+ export interface CallParams {
32
+ /**
33
+ * Contract address to call
34
+ */
35
+ to: string;
36
+ /**
37
+ * Encoded function call data (hex string)
38
+ */
39
+ data: string;
40
+ /**
41
+ * Transaction value in wei (hex string with 0x prefix)
42
+ */
43
+ value: string;
44
+ }
45
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/core/types/provider.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;CACd"}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ // TODO: Review and rename this file to something more descriptive
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/core/types/provider.ts"],"names":[],"mappings":";AAAA,kEAAkE"}
@@ -0,0 +1,62 @@
1
+ import { Pool } from './pool';
2
+ import { Token } from './token';
3
+ /**
4
+ * Route identifier: sorted symbols joined with hyphen
5
+ * Represents the two endpoint tokens regardless of the path taken
6
+ */
7
+ export type RouteID = `${string}-${string}`;
8
+ /**
9
+ * Represents a tradable route between two tokens, including the pool path needed to execute the trade
10
+ */
11
+ export interface Route {
12
+ /**
13
+ * Canonical identifier: sorted symbols joined with hyphen
14
+ * Always uses alphabetical order (e.g., 'cEUR-cUSD' not 'cUSD-cEUR')
15
+ * Ensures consistent identification regardless of query direction
16
+ */
17
+ id: RouteID;
18
+ /**
19
+ * The two tokens being traded, in alphabetical order by symbol
20
+ * Always [symbolA, symbolB] where symbolA < symbolB alphabetically
21
+ */
22
+ tokens: [Token, Token];
23
+ /**
24
+ * Array of exchange hops needed to execute the trade
25
+ * Length 1: Direct route (single pool)
26
+ * Length 2: Two-hop route via intermediate token through two pools
27
+ * Order matters for execution
28
+ */
29
+ path: Array<Pool>;
30
+ }
31
+ /**
32
+ * Extended route with cost data for route optimization
33
+ */
34
+ export interface RouteWithCost extends Route {
35
+ /**
36
+ * Cost data for this route
37
+ * Used to select optimal route when multiple options exist
38
+ */
39
+ costData: {
40
+ /**
41
+ * Total cost percentage for this route
42
+ * Lower is better (more cost-efficient)
43
+ * Example: 0.3 means 0.3% cost
44
+ */
45
+ totalCostPercent: number;
46
+ /**
47
+ * Per-hop cost breakdown
48
+ * Used for detailed cost analysis and debugging
49
+ */
50
+ hops: Array<{
51
+ /**
52
+ * Pool Address for this hop
53
+ */
54
+ poolAddress: string;
55
+ /**
56
+ * Cost percentage for this specific hop
57
+ */
58
+ costPercent: number;
59
+ }>;
60
+ };
61
+ }
62
+ //# sourceMappingURL=route.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/core/types/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAA;AAE3C;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB;;;;OAIG;IACH,EAAE,EAAE,OAAO,CAAA;IAEX;;;OAGG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAEtB;;;;;OAKG;IACH,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,KAAK;IAC1C;;;OAGG;IACH,QAAQ,EAAE;QACR;;;;WAIG;QACH,gBAAgB,EAAE,MAAM,CAAA;QAExB;;;WAGG;QACH,IAAI,EAAE,KAAK,CAAC;YACV;;eAEG;YACH,WAAW,EAAE,MAAM,CAAA;YAEnB;;eAEG;YACH,WAAW,EAAE,MAAM,CAAA;SACpB,CAAC,CAAA;KACH,CAAA;CACF"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=provider.js.map
3
+ //# sourceMappingURL=route.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route.js","sourceRoot":"","sources":["../../../src/core/types/route.ts"],"names":[],"mappings":""}
@@ -1,14 +1,14 @@
1
- import { ISupplyCalculator } from '../services';
2
- export interface BaseToken {
3
- name: string;
4
- symbol: string;
1
+ import { ISupplyCalculator } from '../../services';
2
+ export interface Token {
5
3
  address: string;
6
- decimals: number;
4
+ symbol: string;
5
+ name?: string;
6
+ decimals?: number;
7
7
  }
8
- export interface StableToken extends BaseToken {
8
+ export interface StableToken extends Token {
9
9
  totalSupply: string;
10
10
  }
11
- export type CollateralAsset = BaseToken;
11
+ export type CollateralAsset = Token;
12
12
  /**
13
13
  * A supply adjustment is a calculator that is used to adjust the supply of a token.
14
14
  * It takes the address of the token and will return the amount that should be removed
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../src/core/types/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAElD,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,WAAY,SAAQ,KAAK;IACxC,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,eAAe,GAAG,KAAK,CAAA;AAEnC;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,iBAAiB,CAAA;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,gBAAgB,EAAE,CAAA;CACnD"}
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/types/token.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/core/types/token.ts"],"names":[],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -1,67 +1,60 @@
1
- import type { PublicClient } from 'viem';
2
- import type { Provider as EthersV6Provider } from 'ethers';
3
- import type { providers as EthersV5Providers } from 'ethers-v5';
4
- import { CollateralAsset, ContractAddresses, StableToken } from './types';
5
- export type SupportedProvider = EthersV6Provider | PublicClient | EthersV5Providers.Provider;
6
- export interface MentoConfig {
7
- /** Provider can be one of:
8
- * - Ethers v6 Provider (from 'ethers')
9
- * - Ethers v5 Provider (from 'ethers-v5')
10
- * - Viem PublicClient (from 'viem')
11
- */
12
- provider: SupportedProvider;
13
- }
1
+ import { ContractAddresses } from './core/types';
2
+ import { TokenService } from '@services/tokens';
3
+ import { PoolService } from '@services/pools';
4
+ import { RouteService } from '@services/routes';
5
+ import { QuoteService } from '@services/quotes';
6
+ import { SwapService } from '@services/swap';
14
7
  /**
15
8
  * @class Mento
16
- * @description The main class for the Mento SDK. It initializes the provider and services,
9
+ * @description The main class for the Mento SDK. Initializes a viem PublicClient internally
17
10
  * and provides a public API for interacting with the Mento Protocol.
18
11
  * @dev example usage:
19
- * // Ethers v6
20
- * const mento = await Mento.create({
21
- * provider: new ethers.JsonRpcProvider("https://forno.celo.org")
22
- * });
23
- *
24
- * // Ethers v5
25
- * const mento = await Mento.create({
26
- * provider: new ethersV5.providers.JsonRpcProvider("https://forno.celo.org")
27
- * });
28
- *
29
- * // Viem
30
- * const mento = await Mento.create({
31
- * provider: createPublicClient({
32
- * transport: http("https://forno.celo.org")
33
- * })
34
- * });
12
+ * const mento = await Mento.create(ChainId.CELO);
13
+ * // or with custom RPC URL
14
+ * const mento = await Mento.create(ChainId.CELO, 'https://custom-rpc-url.com');
35
15
  *
36
16
  * // Get all stable tokens
37
- * const stableTokens = await mento.getStableTokens();
17
+ * const stableTokens = await mento.tokens.getStableTokens();
38
18
  *
39
19
  * // Get all collateral assets
40
- * const collateralAssets = await mento.getCollateralAssets();
20
+ * const collateralAssets = await mento.tokens.getCollateralAssets();
21
+ *
22
+ * // Get all pools
23
+ * const pools = await mento.pools.getPools();
24
+ *
25
+ * // Find a route between tokens
26
+ * const route = await mento.routes.findRoute(cUSD, CELO);
27
+ *
28
+ * // Get a quote for a swap
29
+ * const amountOut = await mento.quotes.getAmountOut(cUSD, CELO, amountIn);
30
+ *
31
+ * // Build swap parameters
32
+ * const swapDetails = await mento.swap.buildSwapParams(cUSD, CELO, amountIn, { slippageTolerance: 0.5 });
41
33
  */
42
34
  export declare class Mento {
43
- private provider;
44
- private stableTokenService;
45
- private collateralAssetService;
35
+ private chainId;
36
+ tokens: TokenService;
37
+ pools: PoolService;
38
+ routes: RouteService;
39
+ quotes: QuoteService;
40
+ swap: SwapService;
46
41
  private constructor();
47
- static create(config: MentoConfig): Promise<Mento>;
48
- getStableTokens(): Promise<StableToken[]>;
49
42
  /**
50
- * Get all collateral assets that are available on the current chain.
51
- * @returns An array of collateral assets
43
+ * Create a new Mento SDK instance
44
+ * @param chainId - The chain ID (e.g., ChainId.CELO, ChainId.CELO_SEPOLIA)
45
+ * @param rpcUrl - Optional RPC URL. If not provided, uses default for the chain
46
+ * @returns A new Mento instance
52
47
  */
53
- getCollateralAssets(): Promise<CollateralAsset[]>;
48
+ static create(chainId: number, rpcUrl?: string): Promise<Mento>;
54
49
  /**
55
50
  * Get the address of a contract for the current chain
56
51
  * @param contractName - The contract name
57
52
  * @returns The contract address
58
53
  */
59
- getContractAddress(contractName: keyof ContractAddresses): Promise<string>;
54
+ getContractAddress(contractName: keyof ContractAddresses): string;
60
55
  }
61
- export * from './constants';
62
- export * from './types';
63
- export * from './adapters';
56
+ export * from './core/constants';
57
+ export * from './core/types';
58
+ export * from './core/abis';
64
59
  export * from './services';
65
- export * from './abis';
66
- export * from './utils';
67
60
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,MAAM,CAAA;AACxC,OAAO,KAAK,EAAE,QAAQ,IAAI,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AAC1D,OAAO,KAAK,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,WAAW,CAAA;AAG/D,OAAO,EACL,eAAe,EACf,iBAAiB,EAEjB,WAAW,EACZ,MAAM,SAAS,CAAA;AAKhB,MAAM,MAAM,iBAAiB,GACzB,gBAAgB,GAChB,YAAY,GACZ,iBAAiB,CAAC,QAAQ,CAAA;AAE9B,MAAM,WAAW,WAAW;IAC1B;;;;OAIG;IACH,QAAQ,EAAE,iBAAiB,CAAA;CAC5B;AAgCD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,kBAAkB,CAAoB;IAC9C,OAAO,CAAC,sBAAsB,CAAwB;IAEtD,OAAO;WAUa,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;IAsBlD,eAAe,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAItD;;;OAGG;IACU,mBAAmB,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;IAI9D;;;;OAIG;IACU,kBAAkB,CAC7B,YAAY,EAAE,MAAM,iBAAiB,GACpC,OAAO,CAAC,MAAM,CAAC;CAInB;AAED,cAAc,aAAa,CAAA;AAC3B,cAAc,SAAS,CAAA;AACvB,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAIhD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,KAAK;IAEd,OAAO,CAAC,OAAO;IACR,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,WAAW;IAClB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,IAAI,EAAE,WAAW;IAN1B,OAAO;IASP;;;;;OAKG;WACiB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAoB5E;;;;OAIG;IACI,kBAAkB,CAAC,YAAY,EAAE,MAAM,iBAAiB,GAAG,MAAM;CAGzE;AAED,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA"}