@mento-protocol/mento-sdk 3.2.3 → 3.2.4

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 (396) hide show
  1. package/dist/cache/routes.d.ts +13 -0
  2. package/dist/cache/routes.js +14089 -0
  3. package/dist/cache/tokens.d.ts +68 -0
  4. package/dist/cache/tokens.js +460 -0
  5. package/dist/core/abis/activePool.d.ts +2 -0
  6. package/dist/core/abis/activePool.js +14 -0
  7. package/dist/core/abis/addressesRegistry.d.ts +2 -0
  8. package/dist/core/abis/addressesRegistry.js +26 -0
  9. package/dist/core/abis/bipoolmanager.d.ts +34 -0
  10. package/dist/core/abis/bipoolmanager.js +72 -0
  11. package/dist/core/abis/borrowerOperations.d.ts +9 -0
  12. package/dist/core/abis/borrowerOperations.js +89 -0
  13. package/dist/core/abis/breakerbox.d.ts +13 -0
  14. package/dist/core/abis/breakerbox.js +8 -0
  15. package/dist/core/abis/broker.d.ts +2 -0
  16. package/dist/core/abis/broker.js +9 -0
  17. package/dist/core/abis/erc20.d.ts +9 -0
  18. package/dist/core/abis/erc20.js +21 -0
  19. package/dist/core/abis/fpmm.d.ts +270 -0
  20. package/dist/core/abis/fpmm.js +49 -0
  21. package/dist/core/abis/fpmmFactory.d.ts +85 -0
  22. package/dist/core/abis/fpmmFactory.js +26 -0
  23. package/dist/core/abis/hintHelpers.d.ts +2 -0
  24. package/dist/core/abis/hintHelpers.js +14 -0
  25. package/dist/core/abis/index.d.ts +22 -0
  26. package/dist/core/abis/index.js +38 -0
  27. package/dist/core/abis/liquidityStrategy.d.ts +132 -0
  28. package/dist/core/abis/liquidityStrategy.js +10 -0
  29. package/dist/core/abis/multiTroveGetter.d.ts +8 -0
  30. package/dist/core/abis/multiTroveGetter.js +15 -0
  31. package/dist/core/abis/priceFeed.d.ts +7 -0
  32. package/dist/core/abis/priceFeed.js +16 -0
  33. package/dist/core/abis/pricingmodule.d.ts +2 -0
  34. package/dist/core/abis/pricingmodule.js +6 -0
  35. package/dist/core/abis/reserve.d.ts +3 -0
  36. package/dist/core/abis/reserve.js +18 -0
  37. package/dist/core/abis/router.d.ts +521 -0
  38. package/dist/core/abis/router.js +45 -0
  39. package/dist/core/abis/sortedTroves.d.ts +2 -0
  40. package/dist/core/abis/sortedTroves.js +15 -0
  41. package/dist/core/abis/systemParams.d.ts +2 -0
  42. package/dist/core/abis/systemParams.js +14 -0
  43. package/dist/core/abis/troveManager.d.ts +2 -0
  44. package/dist/core/abis/troveManager.js +27 -0
  45. package/dist/core/abis/troveNFT.d.ts +2 -0
  46. package/dist/core/abis/troveNFT.js +9 -0
  47. package/dist/core/abis/virtualPool.d.ts +50 -0
  48. package/dist/core/abis/virtualPool.js +11 -0
  49. package/dist/core/abis/virtualPoolFactory.d.ts +59 -0
  50. package/dist/core/abis/virtualPoolFactory.js +17 -0
  51. package/dist/core/constants/addresses.d.ts +18 -0
  52. package/dist/core/constants/addresses.js +113 -0
  53. package/dist/core/constants/borrowConstants.d.ts +10 -0
  54. package/dist/core/constants/borrowConstants.js +16 -0
  55. package/dist/core/constants/borrowRegistries.d.ts +7 -0
  56. package/dist/core/constants/borrowRegistries.js +30 -0
  57. package/dist/core/constants/chainId.d.ts +7 -0
  58. package/dist/{cjs/enums → core/constants}/chainId.js +4 -1
  59. package/dist/core/constants/contractNames.d.ts +21 -0
  60. package/dist/core/constants/contractNames.js +24 -0
  61. package/dist/core/constants/index.d.ts +6 -0
  62. package/dist/core/constants/index.js +22 -0
  63. package/dist/core/errors/base.d.ts +8 -0
  64. package/dist/core/errors/base.js +17 -0
  65. package/dist/core/errors/index.d.ts +4 -0
  66. package/dist/{cjs/constants → core/errors}/index.js +4 -4
  67. package/dist/core/errors/oracle.d.ts +9 -0
  68. package/dist/core/errors/oracle.js +15 -0
  69. package/dist/core/errors/router.d.ts +14 -0
  70. package/dist/core/errors/router.js +24 -0
  71. package/dist/core/types/borrow.d.ts +87 -0
  72. package/dist/{cjs/interfaces/tradingLimitsConfig.js → core/types/borrow.js} +1 -0
  73. package/dist/core/types/contractAddresses.d.ts +42 -0
  74. package/dist/{cjs → core}/types/contractAddresses.js +1 -0
  75. package/dist/core/types/index.d.ts +10 -0
  76. package/dist/core/types/index.js +26 -0
  77. package/dist/core/types/liquidity.d.ts +194 -0
  78. package/dist/core/types/liquidity.js +3 -0
  79. package/dist/core/types/pool.d.ts +208 -0
  80. package/dist/core/types/pool.js +14 -0
  81. package/dist/core/types/provider.d.ts +45 -0
  82. package/dist/{cjs/interfaces/tradingLimitsState.js → core/types/provider.js} +1 -0
  83. package/dist/core/types/route.d.ts +62 -0
  84. package/dist/{cjs/interfaces/IChainClient.js → core/types/route.js} +1 -0
  85. package/dist/core/types/token.d.ts +21 -0
  86. package/dist/{cjs/interfaces/tradingLimit.js → core/types/token.js} +1 -0
  87. package/dist/core/types/tradingLimits.d.ts +91 -0
  88. package/dist/core/types/tradingLimits.js +3 -0
  89. package/dist/core/types/tradingMode.d.ts +24 -0
  90. package/dist/core/types/tradingMode.js +31 -0
  91. package/dist/core/types/transaction.d.ts +45 -0
  92. package/dist/core/types/transaction.js +3 -0
  93. package/dist/esm/cache/routes.js +14084 -0
  94. package/dist/esm/cache/tokens.js +452 -0
  95. package/dist/esm/core/abis/activePool.js +10 -0
  96. package/dist/esm/core/abis/addressesRegistry.js +22 -0
  97. package/dist/esm/core/abis/bipoolmanager.js +68 -0
  98. package/dist/esm/core/abis/borrowerOperations.js +85 -0
  99. package/dist/esm/core/abis/breakerbox.js +4 -0
  100. package/dist/esm/core/abis/broker.js +5 -0
  101. package/dist/esm/core/abis/erc20.js +17 -0
  102. package/dist/esm/core/abis/fpmm.js +45 -0
  103. package/dist/esm/core/abis/fpmmFactory.js +22 -0
  104. package/dist/esm/core/abis/hintHelpers.js +10 -0
  105. package/dist/esm/core/abis/index.js +21 -0
  106. package/dist/esm/core/abis/liquidityStrategy.js +6 -0
  107. package/dist/esm/core/abis/multiTroveGetter.js +11 -0
  108. package/dist/esm/core/abis/priceFeed.js +12 -0
  109. package/dist/esm/core/abis/pricingmodule.js +2 -0
  110. package/dist/esm/core/abis/reserve.js +14 -0
  111. package/dist/esm/core/abis/router.js +41 -0
  112. package/dist/esm/core/abis/sortedTroves.js +11 -0
  113. package/dist/esm/core/abis/systemParams.js +10 -0
  114. package/dist/esm/core/abis/troveManager.js +23 -0
  115. package/dist/esm/core/abis/troveNFT.js +5 -0
  116. package/dist/esm/core/abis/virtualPool.js +7 -0
  117. package/dist/esm/core/abis/virtualPoolFactory.js +13 -0
  118. package/dist/esm/core/constants/addresses.js +107 -0
  119. package/dist/esm/core/constants/borrowConstants.js +12 -0
  120. package/dist/esm/core/constants/borrowRegistries.js +25 -0
  121. package/dist/esm/{enums → core/constants}/chainId.js +2 -0
  122. package/dist/esm/core/constants/contractNames.js +20 -0
  123. package/dist/esm/core/constants/index.js +5 -0
  124. package/dist/esm/core/errors/base.js +12 -0
  125. package/dist/esm/core/errors/index.js +3 -0
  126. package/dist/esm/core/errors/oracle.js +10 -0
  127. package/dist/esm/core/errors/router.js +18 -0
  128. package/dist/esm/core/types/index.js +9 -0
  129. package/dist/esm/core/types/pool.js +10 -0
  130. package/dist/esm/core/types/tradingLimits.js +1 -0
  131. package/dist/esm/core/types/tradingMode.js +26 -0
  132. package/dist/esm/core/types/transaction.js +1 -0
  133. package/dist/esm/index.js +138 -6
  134. package/dist/esm/package.json +1 -0
  135. package/dist/esm/services/borrow/BorrowService.js +455 -0
  136. package/dist/esm/services/borrow/borrowHelpers.js +3 -0
  137. package/dist/esm/services/borrow/borrowMath.js +127 -0
  138. package/dist/esm/services/borrow/index.js +3 -0
  139. package/dist/esm/services/borrow/internal/borrowApprovalService.js +48 -0
  140. package/dist/esm/services/borrow/internal/borrowContextStore.js +35 -0
  141. package/dist/esm/services/borrow/internal/borrowErc20.js +38 -0
  142. package/dist/esm/services/borrow/internal/borrowHints.js +27 -0
  143. package/dist/esm/services/borrow/internal/borrowPositionParser.js +82 -0
  144. package/dist/esm/services/borrow/internal/borrowReadService.js +271 -0
  145. package/dist/esm/services/borrow/internal/borrowRegistryReader.js +108 -0
  146. package/dist/esm/services/borrow/internal/borrowTransactionService.js +271 -0
  147. package/dist/esm/services/borrow/internal/borrowTypes.js +1 -0
  148. package/dist/esm/services/borrow/internal/borrowValidation.js +89 -0
  149. package/dist/esm/services/index.js +8 -0
  150. package/dist/esm/services/liquidity/LiquidityService.js +163 -0
  151. package/dist/esm/services/liquidity/basicLiquidity.js +162 -0
  152. package/dist/esm/services/liquidity/index.js +1 -0
  153. package/dist/esm/services/liquidity/liquidityHelpers.js +95 -0
  154. package/dist/esm/services/liquidity/rebalance.js +59 -0
  155. package/dist/esm/services/liquidity/zapHelpers.js +120 -0
  156. package/dist/esm/services/liquidity/zapIn.js +112 -0
  157. package/dist/esm/services/liquidity/zapOut.js +248 -0
  158. package/dist/esm/services/pools/PoolService.js +204 -0
  159. package/dist/esm/services/pools/index.js +1 -0
  160. package/dist/esm/services/pools/poolDetails.js +209 -0
  161. package/dist/esm/services/pools/poolDiscovery.js +112 -0
  162. package/dist/esm/services/pools/rebalancePreview.js +181 -0
  163. package/dist/esm/services/quotes/QuoteService.js +85 -0
  164. package/dist/esm/services/quotes/index.js +1 -0
  165. package/dist/esm/services/routes/RouteService.js +268 -0
  166. package/dist/esm/services/routes/index.js +1 -0
  167. package/dist/esm/services/swap/SwapService.js +247 -0
  168. package/dist/esm/services/swap/index.js +1 -0
  169. package/dist/esm/services/tokens/index.js +1 -0
  170. package/dist/esm/services/tokens/tokenService.js +285 -0
  171. package/dist/esm/services/trading/TradingLimitsService.js +154 -0
  172. package/dist/esm/services/trading/TradingService.js +196 -0
  173. package/dist/esm/services/trading/index.js +2 -0
  174. package/dist/esm/utils/chainConfig.js +118 -0
  175. package/dist/esm/utils/costUtils.js +56 -0
  176. package/dist/esm/utils/deadline.js +22 -0
  177. package/dist/esm/utils/index.js +9 -0
  178. package/dist/esm/utils/multicall.js +47 -0
  179. package/dist/esm/utils/pathEncoder.js +69 -0
  180. package/dist/esm/utils/rateFeed.js +23 -0
  181. package/dist/esm/utils/retry.js +24 -0
  182. package/dist/esm/{routeUtils.js → utils/routeUtils.js} +115 -116
  183. package/dist/esm/utils/routes.js +2 -0
  184. package/dist/esm/utils/sortUtils.js +33 -0
  185. package/dist/esm/utils/tokens.js +2 -0
  186. package/dist/esm/utils/tradingLimits.js +163 -0
  187. package/dist/esm/utils/validation.js +30 -0
  188. package/dist/index.d.ts +101 -0
  189. package/dist/index.js +158 -0
  190. package/dist/services/borrow/BorrowService.d.ts +381 -0
  191. package/dist/services/borrow/BorrowService.js +460 -0
  192. package/dist/services/borrow/borrowHelpers.d.ts +4 -0
  193. package/dist/services/borrow/borrowHelpers.js +13 -0
  194. package/dist/services/borrow/borrowMath.d.ts +21 -0
  195. package/dist/services/borrow/borrowMath.js +137 -0
  196. package/dist/services/borrow/index.d.ts +4 -0
  197. package/dist/{cjs/interfaces → services/borrow}/index.js +4 -4
  198. package/dist/services/borrow/internal/borrowApprovalService.d.ts +14 -0
  199. package/dist/services/borrow/internal/borrowApprovalService.js +53 -0
  200. package/dist/services/borrow/internal/borrowContextStore.d.ts +11 -0
  201. package/dist/services/borrow/internal/borrowContextStore.js +40 -0
  202. package/dist/services/borrow/internal/borrowErc20.d.ts +5 -0
  203. package/dist/services/borrow/internal/borrowErc20.js +43 -0
  204. package/dist/services/borrow/internal/borrowHints.d.ts +7 -0
  205. package/dist/services/borrow/internal/borrowHints.js +31 -0
  206. package/dist/services/borrow/internal/borrowPositionParser.d.ts +4 -0
  207. package/dist/services/borrow/internal/borrowPositionParser.js +87 -0
  208. package/dist/services/borrow/internal/borrowReadService.d.ts +31 -0
  209. package/dist/services/borrow/internal/borrowReadService.js +276 -0
  210. package/dist/services/borrow/internal/borrowRegistryReader.d.ts +5 -0
  211. package/dist/services/borrow/internal/borrowRegistryReader.js +113 -0
  212. package/dist/services/borrow/internal/borrowTransactionService.d.ts +23 -0
  213. package/dist/services/borrow/internal/borrowTransactionService.js +276 -0
  214. package/dist/services/borrow/internal/borrowTypes.d.ts +15 -0
  215. package/dist/services/borrow/internal/borrowTypes.js +3 -0
  216. package/dist/services/borrow/internal/borrowValidation.d.ts +14 -0
  217. package/dist/services/borrow/internal/borrowValidation.js +104 -0
  218. package/dist/services/index.d.ts +9 -0
  219. package/dist/{cjs → services}/index.js +9 -7
  220. package/dist/services/liquidity/LiquidityService.d.ts +139 -0
  221. package/dist/services/liquidity/LiquidityService.js +168 -0
  222. package/dist/services/liquidity/basicLiquidity.d.ts +11 -0
  223. package/dist/services/liquidity/basicLiquidity.js +172 -0
  224. package/dist/services/liquidity/index.d.ts +2 -0
  225. package/dist/{cjs/types → services/liquidity}/index.js +2 -2
  226. package/dist/services/liquidity/liquidityHelpers.d.ts +19 -0
  227. package/dist/services/liquidity/liquidityHelpers.js +104 -0
  228. package/dist/services/liquidity/rebalance.d.ts +6 -0
  229. package/dist/services/liquidity/rebalance.js +64 -0
  230. package/dist/services/liquidity/zapHelpers.d.ts +66 -0
  231. package/dist/services/liquidity/zapHelpers.js +129 -0
  232. package/dist/services/liquidity/zapIn.d.ts +18 -0
  233. package/dist/services/liquidity/zapIn.js +119 -0
  234. package/dist/services/liquidity/zapOut.d.ts +9 -0
  235. package/dist/services/liquidity/zapOut.js +255 -0
  236. package/dist/services/pools/PoolService.d.ts +69 -0
  237. package/dist/services/pools/PoolService.js +209 -0
  238. package/dist/services/pools/index.d.ts +2 -0
  239. package/dist/{cjs/enums → services/pools}/index.js +2 -3
  240. package/dist/services/pools/poolDetails.d.ts +13 -0
  241. package/dist/services/pools/poolDetails.js +216 -0
  242. package/dist/services/pools/poolDiscovery.d.ts +12 -0
  243. package/dist/services/pools/poolDiscovery.js +117 -0
  244. package/dist/services/pools/rebalancePreview.d.ts +5 -0
  245. package/dist/services/pools/rebalancePreview.js +186 -0
  246. package/dist/services/quotes/QuoteService.d.ts +51 -0
  247. package/dist/services/quotes/QuoteService.js +91 -0
  248. package/dist/services/quotes/index.d.ts +2 -0
  249. package/dist/services/quotes/index.js +18 -0
  250. package/dist/services/routes/RouteService.d.ts +117 -0
  251. package/dist/services/routes/RouteService.js +306 -0
  252. package/dist/services/routes/index.d.ts +2 -0
  253. package/dist/services/routes/index.js +18 -0
  254. package/dist/services/swap/SwapService.d.ts +198 -0
  255. package/dist/services/swap/SwapService.js +252 -0
  256. package/dist/services/swap/index.d.ts +2 -0
  257. package/dist/services/swap/index.js +18 -0
  258. package/dist/services/tokens/index.d.ts +2 -0
  259. package/dist/services/tokens/index.js +18 -0
  260. package/dist/services/tokens/tokenService.d.ts +55 -0
  261. package/dist/services/tokens/tokenService.js +290 -0
  262. package/dist/services/trading/TradingLimitsService.d.ts +38 -0
  263. package/dist/services/trading/TradingLimitsService.js +159 -0
  264. package/dist/services/trading/TradingService.d.ts +113 -0
  265. package/dist/services/trading/TradingService.js +201 -0
  266. package/dist/services/trading/index.d.ts +3 -0
  267. package/dist/services/trading/index.js +19 -0
  268. package/dist/utils/chainConfig.d.ts +16 -0
  269. package/dist/utils/chainConfig.js +123 -0
  270. package/dist/utils/costUtils.d.ts +12 -0
  271. package/dist/utils/costUtils.js +60 -0
  272. package/dist/utils/deadline.d.ts +21 -0
  273. package/dist/utils/deadline.js +26 -0
  274. package/dist/utils/index.d.ts +10 -0
  275. package/dist/utils/index.js +26 -0
  276. package/dist/utils/multicall.d.ts +30 -0
  277. package/dist/utils/multicall.js +52 -0
  278. package/dist/utils/pathEncoder.d.ts +34 -0
  279. package/dist/utils/pathEncoder.js +73 -0
  280. package/dist/utils/rateFeed.d.ts +18 -0
  281. package/dist/utils/rateFeed.js +27 -0
  282. package/dist/utils/retry.d.ts +12 -0
  283. package/dist/utils/retry.js +28 -0
  284. package/dist/{esm → utils}/routeUtils.d.ts +84 -93
  285. package/dist/{cjs → utils}/routeUtils.js +123 -124
  286. package/dist/utils/routes.d.ts +3 -0
  287. package/dist/utils/routes.js +8 -0
  288. package/dist/utils/sortUtils.d.ts +24 -0
  289. package/dist/utils/sortUtils.js +39 -0
  290. package/dist/utils/tokens.d.ts +2 -0
  291. package/dist/utils/tokens.js +13 -0
  292. package/dist/utils/tradingLimits.d.ts +41 -0
  293. package/dist/utils/tradingLimits.js +171 -0
  294. package/dist/utils/validation.d.ts +19 -0
  295. package/dist/utils/validation.js +34 -0
  296. package/package.json +1 -1
  297. package/dist/cjs/ChainClient.d.ts +0 -9
  298. package/dist/cjs/ChainClient.js +0 -58
  299. package/dist/cjs/TestChainClient.d.ts +0 -7
  300. package/dist/cjs/TestChainClient.js +0 -41
  301. package/dist/cjs/constants/addresses.d.ts +0 -4
  302. package/dist/cjs/constants/addresses.js +0 -59
  303. package/dist/cjs/constants/currencies.d.ts +0 -5
  304. package/dist/cjs/constants/currencies.js +0 -29
  305. package/dist/cjs/constants/index.d.ts +0 -4
  306. package/dist/cjs/constants/tokens.11142220.d.ts +0 -2
  307. package/dist/cjs/constants/tokens.11142220.js +0 -128
  308. package/dist/cjs/constants/tokens.42220.d.ts +0 -2
  309. package/dist/cjs/constants/tokens.42220.js +0 -128
  310. package/dist/cjs/constants/tokens.d.ts +0 -65
  311. package/dist/cjs/constants/tokens.js +0 -170
  312. package/dist/cjs/constants/tradablePairs.11142220.d.ts +0 -2
  313. package/dist/cjs/constants/tradablePairs.11142220.js +0 -7391
  314. package/dist/cjs/constants/tradablePairs.42220.d.ts +0 -2
  315. package/dist/cjs/constants/tradablePairs.42220.js +0 -7391
  316. package/dist/cjs/constants/tradablePairs.d.ts +0 -16
  317. package/dist/cjs/constants/tradablePairs.js +0 -53
  318. package/dist/cjs/enums/chainId.d.ts +0 -4
  319. package/dist/cjs/enums/index.d.ts +0 -3
  320. package/dist/cjs/enums/proposalState.d.ts +0 -10
  321. package/dist/cjs/enums/proposalState.js +0 -14
  322. package/dist/cjs/enums/tradingMode.d.ts +0 -17
  323. package/dist/cjs/enums/tradingMode.js +0 -21
  324. package/dist/cjs/governance.d.ts +0 -62
  325. package/dist/cjs/governance.js +0 -151
  326. package/dist/cjs/index.d.ts +0 -7
  327. package/dist/cjs/interfaces/IChainClient.d.ts +0 -6
  328. package/dist/cjs/interfaces/index.d.ts +0 -4
  329. package/dist/cjs/interfaces/tradingLimit.d.ts +0 -7
  330. package/dist/cjs/interfaces/tradingLimitsConfig.d.ts +0 -10
  331. package/dist/cjs/interfaces/tradingLimitsState.d.ts +0 -9
  332. package/dist/cjs/limits.d.ts +0 -33
  333. package/dist/cjs/limits.js +0 -130
  334. package/dist/cjs/mento.d.ts +0 -287
  335. package/dist/cjs/mento.js +0 -699
  336. package/dist/cjs/routeUtils.d.ts +0 -304
  337. package/dist/cjs/types/contractAddressMap.d.ts +0 -4
  338. package/dist/cjs/types/contractAddressMap.js +0 -2
  339. package/dist/cjs/types/contractAddresses.d.ts +0 -23
  340. package/dist/cjs/types/index.d.ts +0 -2
  341. package/dist/cjs/utils.d.ts +0 -80
  342. package/dist/cjs/utils.js +0 -177
  343. package/dist/esm/ChainClient.d.ts +0 -9
  344. package/dist/esm/ChainClient.js +0 -54
  345. package/dist/esm/TestChainClient.d.ts +0 -7
  346. package/dist/esm/TestChainClient.js +0 -37
  347. package/dist/esm/constants/addresses.d.ts +0 -4
  348. package/dist/esm/constants/addresses.js +0 -55
  349. package/dist/esm/constants/currencies.d.ts +0 -5
  350. package/dist/esm/constants/currencies.js +0 -26
  351. package/dist/esm/constants/index.d.ts +0 -4
  352. package/dist/esm/constants/index.js +0 -4
  353. package/dist/esm/constants/tokens.11142220.d.ts +0 -2
  354. package/dist/esm/constants/tokens.11142220.js +0 -125
  355. package/dist/esm/constants/tokens.42220.d.ts +0 -2
  356. package/dist/esm/constants/tokens.42220.js +0 -125
  357. package/dist/esm/constants/tokens.d.ts +0 -65
  358. package/dist/esm/constants/tokens.js +0 -142
  359. package/dist/esm/constants/tradablePairs.11142220.d.ts +0 -2
  360. package/dist/esm/constants/tradablePairs.11142220.js +0 -7388
  361. package/dist/esm/constants/tradablePairs.42220.d.ts +0 -2
  362. package/dist/esm/constants/tradablePairs.42220.js +0 -7388
  363. package/dist/esm/constants/tradablePairs.d.ts +0 -16
  364. package/dist/esm/constants/tradablePairs.js +0 -26
  365. package/dist/esm/enums/chainId.d.ts +0 -4
  366. package/dist/esm/enums/index.d.ts +0 -3
  367. package/dist/esm/enums/index.js +0 -3
  368. package/dist/esm/enums/proposalState.d.ts +0 -10
  369. package/dist/esm/enums/proposalState.js +0 -11
  370. package/dist/esm/enums/tradingMode.d.ts +0 -17
  371. package/dist/esm/enums/tradingMode.js +0 -18
  372. package/dist/esm/governance.d.ts +0 -62
  373. package/dist/esm/governance.js +0 -147
  374. package/dist/esm/index.d.ts +0 -7
  375. package/dist/esm/interfaces/IChainClient.d.ts +0 -6
  376. package/dist/esm/interfaces/index.d.ts +0 -4
  377. package/dist/esm/interfaces/index.js +0 -4
  378. package/dist/esm/interfaces/tradingLimit.d.ts +0 -7
  379. package/dist/esm/interfaces/tradingLimitsConfig.d.ts +0 -10
  380. package/dist/esm/interfaces/tradingLimitsState.d.ts +0 -9
  381. package/dist/esm/limits.d.ts +0 -33
  382. package/dist/esm/limits.js +0 -123
  383. package/dist/esm/mento.d.ts +0 -287
  384. package/dist/esm/mento.js +0 -671
  385. package/dist/esm/types/contractAddressMap.d.ts +0 -4
  386. package/dist/esm/types/contractAddresses.d.ts +0 -23
  387. package/dist/esm/types/index.d.ts +0 -2
  388. package/dist/esm/types/index.js +0 -2
  389. package/dist/esm/utils.d.ts +0 -80
  390. package/dist/esm/utils.js +0 -162
  391. /package/dist/esm/{interfaces/IChainClient.js → core/types/borrow.js} +0 -0
  392. /package/dist/esm/{types → core/types}/contractAddresses.js +0 -0
  393. /package/dist/esm/{interfaces/tradingLimit.js → core/types/liquidity.js} +0 -0
  394. /package/dist/esm/{interfaces/tradingLimitsConfig.js → core/types/provider.js} +0 -0
  395. /package/dist/esm/{interfaces/tradingLimitsState.js → core/types/route.js} +0 -0
  396. /package/dist/esm/{types/contractAddressMap.js → core/types/token.js} +0 -0
@@ -0,0 +1,50 @@
1
+ export declare const VIRTUAL_POOL_ABI: readonly [{
2
+ readonly name: "protocolFee";
3
+ readonly type: "function";
4
+ readonly stateMutability: "view";
5
+ readonly inputs: readonly [];
6
+ readonly outputs: readonly [{
7
+ readonly type: "uint256";
8
+ }];
9
+ }, {
10
+ readonly name: "getReserves";
11
+ readonly type: "function";
12
+ readonly stateMutability: "view";
13
+ readonly inputs: readonly [];
14
+ readonly outputs: readonly [{
15
+ readonly type: "uint256";
16
+ }, {
17
+ readonly type: "uint256";
18
+ }, {
19
+ readonly type: "uint256";
20
+ }];
21
+ }, {
22
+ readonly name: "metadata";
23
+ readonly type: "function";
24
+ readonly stateMutability: "view";
25
+ readonly inputs: readonly [];
26
+ readonly outputs: readonly [{
27
+ readonly type: "uint256";
28
+ }, {
29
+ readonly type: "uint256";
30
+ }, {
31
+ readonly type: "uint256";
32
+ }, {
33
+ readonly type: "uint256";
34
+ }, {
35
+ readonly type: "address";
36
+ }, {
37
+ readonly type: "address";
38
+ }];
39
+ }, {
40
+ readonly name: "tokens";
41
+ readonly type: "function";
42
+ readonly stateMutability: "view";
43
+ readonly inputs: readonly [];
44
+ readonly outputs: readonly [{
45
+ readonly type: "address";
46
+ }, {
47
+ readonly type: "address";
48
+ }];
49
+ }];
50
+ //# sourceMappingURL=virtualPool.d.ts.map
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VIRTUAL_POOL_ABI = void 0;
4
+ const viem_1 = require("viem");
5
+ exports.VIRTUAL_POOL_ABI = (0, viem_1.parseAbi)([
6
+ 'function protocolFee() view returns (uint256)',
7
+ 'function getReserves() view returns (uint256, uint256, uint256)',
8
+ 'function metadata() view returns (uint256, uint256, uint256, uint256, address, address)',
9
+ 'function tokens() view returns (address, address)',
10
+ ]);
11
+ //# sourceMappingURL=virtualPool.js.map
@@ -0,0 +1,59 @@
1
+ export declare const VIRTUAL_POOL_FACTORY_ABI: readonly [{
2
+ readonly name: "getOrPrecomputeProxyAddress";
3
+ readonly type: "function";
4
+ readonly stateMutability: "view";
5
+ readonly inputs: readonly [{
6
+ readonly type: "address";
7
+ readonly name: "token0";
8
+ }, {
9
+ readonly type: "address";
10
+ readonly name: "token1";
11
+ }];
12
+ readonly outputs: readonly [{
13
+ readonly type: "address";
14
+ }];
15
+ }, {
16
+ readonly name: "isPool";
17
+ readonly type: "function";
18
+ readonly stateMutability: "view";
19
+ readonly inputs: readonly [{
20
+ readonly type: "address";
21
+ readonly name: "pool";
22
+ }];
23
+ readonly outputs: readonly [{
24
+ readonly type: "bool";
25
+ }];
26
+ }, {
27
+ readonly name: "getAllPools";
28
+ readonly type: "function";
29
+ readonly stateMutability: "view";
30
+ readonly inputs: readonly [];
31
+ readonly outputs: readonly [{
32
+ readonly type: "address[]";
33
+ }];
34
+ }, {
35
+ readonly name: "InvalidExchangeProvider";
36
+ readonly type: "error";
37
+ readonly inputs: readonly [];
38
+ }, {
39
+ readonly name: "InvalidExchangeId";
40
+ readonly type: "error";
41
+ readonly inputs: readonly [];
42
+ }, {
43
+ readonly name: "VirtualPoolAlreadyExistsForThisPair";
44
+ readonly type: "error";
45
+ readonly inputs: readonly [];
46
+ }, {
47
+ readonly name: "InvalidCreateXBytecode";
48
+ readonly type: "error";
49
+ readonly inputs: readonly [];
50
+ }, {
51
+ readonly name: "PoolNotFound";
52
+ readonly type: "error";
53
+ readonly inputs: readonly [];
54
+ }, {
55
+ readonly name: "PoolAlreadyDeprecated";
56
+ readonly type: "error";
57
+ readonly inputs: readonly [];
58
+ }];
59
+ //# sourceMappingURL=virtualPoolFactory.d.ts.map
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VIRTUAL_POOL_FACTORY_ABI = void 0;
4
+ const viem_1 = require("viem");
5
+ exports.VIRTUAL_POOL_FACTORY_ABI = (0, viem_1.parseAbi)([
6
+ 'function getOrPrecomputeProxyAddress(address token0, address token1) view returns (address)',
7
+ 'function isPool(address pool) view returns (bool)',
8
+ 'function getAllPools() view returns (address[])',
9
+ // Custom errors
10
+ 'error InvalidExchangeProvider()',
11
+ 'error InvalidExchangeId()',
12
+ 'error VirtualPoolAlreadyExistsForThisPair()',
13
+ 'error InvalidCreateXBytecode()',
14
+ 'error PoolNotFound()',
15
+ 'error PoolAlreadyDeprecated()',
16
+ ]);
17
+ //# sourceMappingURL=virtualPoolFactory.js.map
@@ -0,0 +1,18 @@
1
+ import { ChainId } from './chainId';
2
+ import { ContractAddresses, ContractAddressMap } from '../types';
3
+ export declare const addresses: ContractAddressMap;
4
+ export type Identifier = keyof ContractAddresses;
5
+ /**
6
+ * Get the address of a contract for a given chain, returning undefined if not found.
7
+ * Use this when the contract may not be deployed on the target chain.
8
+ */
9
+ export declare function tryGetContractAddress(chainId: ChainId, contractName: Identifier): string | undefined;
10
+ /**
11
+ * Get the address of a contract for a given chain
12
+ * @param chainId - The chain ID
13
+ * @param contractName - The contract name
14
+ * @returns The contract address
15
+ * @throws Error if the address is not found for the given chain
16
+ */
17
+ export declare function getContractAddress(chainId: ChainId, contractName: Identifier): string;
18
+ //# sourceMappingURL=addresses.d.ts.map
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.addresses = void 0;
4
+ exports.tryGetContractAddress = tryGetContractAddress;
5
+ exports.getContractAddress = getContractAddress;
6
+ const chainId_1 = require("./chainId");
7
+ exports.addresses = {
8
+ [chainId_1.ChainId.CELO]: {
9
+ // Oracles & Breakers
10
+ BreakerBox: '0x303ED1df62Fa067659B586EbEe8De0EcE824Ab39',
11
+ MedianDeltaBreaker: '0x49349F92D2B17d491e42C8fdB02D19f072F9B5D9',
12
+ SortedOracles: '0xefB84935239dAcdecF7c5bA76d8dE40b077B7b33',
13
+ ValueDeltaBreaker: '0x4DBC33B3abA78475A5AA4BC7A5B11445d387BF68',
14
+ // DEX
15
+ BiPoolManager: '0x22d9db95E6Ae61c104A7B6F6C78D7993B94ec901',
16
+ Broker: '0x777A8255cA72412f0d706dc03C9D1987306B4CaD',
17
+ ConstantProductPricingModule: '0x0c07126d0CB30E66eF7553Cc7C37143B4f06DddB',
18
+ ConstantSumPricingModule: '0xDebED1F6f6ce9F6e73AA25F95acBFFE2397550Fb',
19
+ MentoRouter: '0xbe729350f8cdfc19db6866e8579841188ee57f67',
20
+ Reserve: '0x9380fA34Fd9e4Fd14c06305fd7B6199089eD4eb9',
21
+ // Stable Tokens
22
+ StableToken: '0x765DE816845861e75A25fCA122bb6898B8B1282a', // USDm
23
+ // Governance
24
+ Airgrab: '0x7D8E73deafDBAfc98fDBe7974168cFA6d8B9AE0C',
25
+ Emission: '0x5C789592E2611df1873b46D394c69f75faB99778',
26
+ Locking: '0x001Bb66636dCd149A1A2bA8C50E408BdDd80279C',
27
+ MentoGovernor: '0x47036d78bB3169b4F5560dD77BF93f4412A59852',
28
+ MentoToken: '0x7FF62f59e3e89EA34163EA1458EEBCc81177Cfb6',
29
+ TimelockController: '0x890DB8A597940165901372Dd7DB61C9f246e2147',
30
+ // V3
31
+ FPMMFactory: '0xa849b475FE5a4B5C9C3280152c7a1945b907613b',
32
+ VirtualPoolFactory: '0x22abd4ADF6aab38aC1022352d496A07Acee5aCB3',
33
+ Router: '0x4861840C2EfB2b98312B0aE34d86fD73E8f9B6f6',
34
+ ReserveLiquidityStrategy: '0xa0fB8b16ce6AF3634fF9F3f4F40E49E1C1ae4f0B',
35
+ CDPLiquidityStrategy: '0x4e78BD9565341EAbe99cDC024acB044d9BDcB985',
36
+ },
37
+ [chainId_1.ChainId.MONAD_TESTNET]: {
38
+ BreakerBox: '0x88869E30609D2C0E4032463D713328C6f541878e',
39
+ MedianDeltaBreaker: '0xf923C884F319b8866F67C5719A80E5cB4D0FAF2c',
40
+ SortedOracles: '0x85ed9ac57827132B8F60938F3165BC139E1F53cd',
41
+ ValueDeltaBreaker: '0xbbD0D093F5F11D16D4456FBd6229c9a3b70B8Aaf',
42
+ Reserve: '0xbCdc1D0b92DfceEaa0FcD0a0D53355F4bF1DB8a7',
43
+ StableToken: '0x5eCc03111ad2A78F981A108759bc73BAE2AB31bc', // USDm
44
+ FPMMFactory: '0x353ED52bF8482027C0e0b9e3c0e5d96A9F680980',
45
+ Router: '0xcf6cD45210b3ffE3cA28379C4683F1e60D0C2CCd',
46
+ ReserveLiquidityStrategy: '0x734bb3251Ec3f1A83f8f2A8609bcEF649D54EbF8',
47
+ OpenLiquidityStrategy: '0xCCd2aD0603a08EBc14D223a983171ef18192e8c9',
48
+ },
49
+ [chainId_1.ChainId.MONAD]: {
50
+ BreakerBox: '0x9fc1E0d10fb38954Da385B8B25aB2BbaF3241722',
51
+ MedianDeltaBreaker: '0x3E4F2Bca4f7192Be4C3c5E5bD4840F2E90a8Ba84',
52
+ SortedOracles: '0x6f92C745346057a61b259579256159458a0a6A92',
53
+ ValueDeltaBreaker: '0xca2e7563dfC30bc94687F3deAcF682E1dBAffA13',
54
+ Reserve: '0x4255Cf38e51516766180b33122029A88Cb853806',
55
+ StableToken: '0xBC69212B8E4d445b2307C9D32dD68E2A4Df00115', // USDm
56
+ FPMMFactory: '0xa849b475FE5a4B5C9C3280152c7a1945b907613b',
57
+ Router: '0x4861840C2EfB2b98312B0aE34d86fD73E8f9B6f6',
58
+ ReserveLiquidityStrategy: '0xa0fB8b16ce6AF3634fF9F3f4F40E49E1C1ae4f0B',
59
+ OpenLiquidityStrategy: '0x54e2Ae8c8448912E17cE0b2453bAFB7B0D80E40f',
60
+ },
61
+ [chainId_1.ChainId.CELO_SEPOLIA]: {
62
+ // Oracles & Breakers
63
+ BreakerBox: '0x578bD46003B9D3fd4c3C3f47c98B329562a6a1dE',
64
+ MedianDeltaBreaker: '0xd29B4e743F7B84D63fBF9149B6D983DF2eF5C952',
65
+ SortedOracles: '0xfaa7Ca2B056E60F6733aE75AA0709140a6eAfD20',
66
+ ValueDeltaBreaker: '0x03CDf2966185Eb0b980f2481Ad386B8aFdAB4534',
67
+ // DEX
68
+ BiPoolManager: '0xeCB3C656C131fCd9bB8D1d80898716bD684feb78',
69
+ Broker: '0xB9Ae2065142EB79b6c5EB1E8778F883fad6B07Ba',
70
+ ConstantProductPricingModule: '0x2584a5835e3aE7E901e6462E1de06920c2C68028',
71
+ ConstantSumPricingModule: '0x3b199d9EbEbe509bb711BfFb455c2d79102A9602',
72
+ MentoRouter: '0x8e4Fb12D86D5DF911086a9153e79CA27e0c96156',
73
+ Reserve: '0x2bC2D48735842924C508468C5A02580aD4F6d99A',
74
+ // Governance
75
+ Emission: '0x3C1BEA0F35b5dcAc1065CA9b3b6877657dEa4A69',
76
+ Locking: '0xB72320fC501cb30E55bAF0DA48c20b11fAc9f79D',
77
+ MentoGovernor: '0x23173Ac37b8E4e5a60d787aC543B3F51e8f398b4',
78
+ MentoToken: '0x07867fd40EB56b4380bE39c88D0a7EA59Aa99A20',
79
+ TimelockController: '0x74c44Be99937815173A3C56274331e0A05611e0D',
80
+ // V3
81
+ FPMMFactory: '0x353ED52bF8482027C0e0b9e3c0e5d96A9F680980',
82
+ VirtualPoolFactory: '0x887955f28723B0e9Bddc358448CB5B1FDe692da4',
83
+ Router: '0xcf6cD45210b3ffE3cA28379C4683F1e60D0C2CCd',
84
+ ReserveLiquidityStrategy: '0x734bb3251Ec3f1A83f8f2A8609bcEF649D54EbF8',
85
+ CDPLiquidityStrategy: '0x065AE7D4e207C8f4dca112D0B79E668cc7e93e03',
86
+ },
87
+ };
88
+ /**
89
+ * Get the address of a contract for a given chain, returning undefined if not found.
90
+ * Use this when the contract may not be deployed on the target chain.
91
+ */
92
+ function tryGetContractAddress(chainId, contractName) {
93
+ const addressesForChain = exports.addresses[chainId];
94
+ if (!addressesForChain) {
95
+ return undefined;
96
+ }
97
+ return addressesForChain[contractName];
98
+ }
99
+ /**
100
+ * Get the address of a contract for a given chain
101
+ * @param chainId - The chain ID
102
+ * @param contractName - The contract name
103
+ * @returns The contract address
104
+ * @throws Error if the address is not found for the given chain
105
+ */
106
+ function getContractAddress(chainId, contractName) {
107
+ const address = tryGetContractAddress(chainId, contractName);
108
+ if (!address) {
109
+ throw new Error(`Address not found for contract ${contractName} on chain ID ${chainId}`);
110
+ }
111
+ return address;
112
+ }
113
+ //# sourceMappingURL=addresses.js.map
@@ -0,0 +1,10 @@
1
+ export declare const MAX_ANNUAL_INTEREST_RATE = 2500000000000000000n;
2
+ export declare const UPFRONT_INTEREST_PERIOD = 604800;
3
+ export declare const INTEREST_RATE_ADJ_COOLDOWN = 604800;
4
+ export declare const MAX_LTV_ALLOWED_RATIO = 916n;
5
+ export declare const LTV_RISK_MEDIUM = 540n;
6
+ export declare const LTV_RISK_HIGH = 730n;
7
+ export declare const REDEMPTION_RISK_MEDIUM = 50n;
8
+ export declare const REDEMPTION_RISK_LOW = 600n;
9
+ export declare const COLL_INDEX = 0n;
10
+ //# sourceMappingURL=borrowConstants.d.ts.map
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.COLL_INDEX = exports.REDEMPTION_RISK_LOW = exports.REDEMPTION_RISK_MEDIUM = exports.LTV_RISK_HIGH = exports.LTV_RISK_MEDIUM = exports.MAX_LTV_ALLOWED_RATIO = exports.INTEREST_RATE_ADJ_COOLDOWN = exports.UPFRONT_INTEREST_PERIOD = exports.MAX_ANNUAL_INTEREST_RATE = void 0;
4
+ // Compile-time constants from Constants.sol
5
+ exports.MAX_ANNUAL_INTEREST_RATE = 2500000000000000000n; // 250%
6
+ exports.UPFRONT_INTEREST_PERIOD = 604800; // 7 days in seconds
7
+ exports.INTEREST_RATE_ADJ_COOLDOWN = 604800; // 7 days in seconds
8
+ // UI-level constants from Bold frontend (constants.ts)
9
+ exports.MAX_LTV_ALLOWED_RATIO = 916n; // 91.6% (per-mille)
10
+ exports.LTV_RISK_MEDIUM = 540n; // 54% of maxLtv
11
+ exports.LTV_RISK_HIGH = 730n; // 73% of maxLtv
12
+ exports.REDEMPTION_RISK_MEDIUM = 50n; // 5% of total debt
13
+ exports.REDEMPTION_RISK_LOW = 600n; // 60% of total debt
14
+ // Single branch index for Mento
15
+ exports.COLL_INDEX = 0n;
16
+ //# sourceMappingURL=borrowConstants.js.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Known AddressesRegistry contracts per chain, keyed by debt token symbol.
3
+ * Each registry is the entry point for one Bold deployment.
4
+ */
5
+ export declare const borrowRegistries: Record<number, Record<string, string>>;
6
+ export declare function getBorrowRegistry(chainId: number, debtTokenSymbol: string): string;
7
+ //# sourceMappingURL=borrowRegistries.d.ts.map
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.borrowRegistries = void 0;
4
+ exports.getBorrowRegistry = getBorrowRegistry;
5
+ const chainId_1 = require("./chainId");
6
+ /**
7
+ * Known AddressesRegistry contracts per chain, keyed by debt token symbol.
8
+ * Each registry is the entry point for one Bold deployment.
9
+ */
10
+ exports.borrowRegistries = {
11
+ [chainId_1.ChainId.CELO]: {
12
+ GBPm: '0xB3136DBadB14Ab587FFa91545538126938Fe0C6E',
13
+ },
14
+ [chainId_1.ChainId.CELO_SEPOLIA]: {
15
+ GBPm: '0x8b33D626E8d79388889d404fBC515Ed131c9508e',
16
+ },
17
+ };
18
+ function getBorrowRegistry(chainId, debtTokenSymbol) {
19
+ const registries = exports.borrowRegistries[chainId];
20
+ if (!registries) {
21
+ throw new Error(`No borrow registries found for chain ID ${chainId}`);
22
+ }
23
+ const registry = registries[debtTokenSymbol];
24
+ if (!registry) {
25
+ const available = Object.keys(registries).join(', ') || 'none';
26
+ throw new Error(`No borrow registry found for "${debtTokenSymbol}" on chain ${chainId}. Available: ${available}`);
27
+ }
28
+ return registry;
29
+ }
30
+ //# sourceMappingURL=borrowRegistries.js.map
@@ -0,0 +1,7 @@
1
+ export declare enum ChainId {
2
+ CELO = 42220,
3
+ CELO_SEPOLIA = 11142220,
4
+ MONAD_TESTNET = 10143,
5
+ MONAD = 143
6
+ }
7
+ //# sourceMappingURL=chainId.d.ts.map
@@ -5,4 +5,7 @@ var ChainId;
5
5
  (function (ChainId) {
6
6
  ChainId[ChainId["CELO"] = 42220] = "CELO";
7
7
  ChainId[ChainId["CELO_SEPOLIA"] = 11142220] = "CELO_SEPOLIA";
8
- })(ChainId = exports.ChainId || (exports.ChainId = {}));
8
+ ChainId[ChainId["MONAD_TESTNET"] = 10143] = "MONAD_TESTNET";
9
+ ChainId[ChainId["MONAD"] = 143] = "MONAD";
10
+ })(ChainId || (exports.ChainId = ChainId = {}));
11
+ //# sourceMappingURL=chainId.js.map
@@ -0,0 +1,21 @@
1
+ export declare const GOVERNANCEFACTORY = "GovernanceFactory";
2
+ export declare const AIRGRAB = "Airgrab";
3
+ export declare const EMISSION = "Emission";
4
+ export declare const MENTOGOVERNOR = "MentoGovernor";
5
+ export declare const MENTOTOKEN = "MentoToken";
6
+ export declare const TIMELOCKCONTROLLER = "TimelockController";
7
+ export declare const LOCKING = "Locking";
8
+ export declare const BROKER = "Broker";
9
+ export declare const BIPOOLMANAGER = "BiPoolManager";
10
+ export declare const BREAKERBOX = "BreakerBox";
11
+ export declare const RESERVE = "Reserve";
12
+ export declare const CONSTANTSUM = "ConstantSumPricingModule";
13
+ export declare const CONSTANTPRODUCT = "ConstantProductPricingModule";
14
+ export declare const MEDIANDELTA = "MedianDeltaBreaker";
15
+ export declare const VALUEDELTA = "ValueDeltaBreaker";
16
+ export declare const STABLETOKEN = "StableToken";
17
+ export declare const STABLETOKNEUR = "StableTokenEUR";
18
+ export declare const STABLETOKENBRL = "StableTokenBRL";
19
+ export declare const STABLETOKENXOF = "StableTokenXOF";
20
+ export declare const SORTEDORACLES = "SortedOracles";
21
+ //# sourceMappingURL=contractNames.d.ts.map
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SORTEDORACLES = exports.STABLETOKENXOF = exports.STABLETOKENBRL = exports.STABLETOKNEUR = exports.STABLETOKEN = exports.VALUEDELTA = exports.MEDIANDELTA = exports.CONSTANTPRODUCT = exports.CONSTANTSUM = exports.RESERVE = exports.BREAKERBOX = exports.BIPOOLMANAGER = exports.BROKER = exports.LOCKING = exports.TIMELOCKCONTROLLER = exports.MENTOTOKEN = exports.MENTOGOVERNOR = exports.EMISSION = exports.AIRGRAB = exports.GOVERNANCEFACTORY = void 0;
4
+ exports.GOVERNANCEFACTORY = 'GovernanceFactory';
5
+ exports.AIRGRAB = 'Airgrab';
6
+ exports.EMISSION = 'Emission';
7
+ exports.MENTOGOVERNOR = 'MentoGovernor';
8
+ exports.MENTOTOKEN = 'MentoToken';
9
+ exports.TIMELOCKCONTROLLER = 'TimelockController';
10
+ exports.LOCKING = 'Locking';
11
+ exports.BROKER = 'Broker';
12
+ exports.BIPOOLMANAGER = 'BiPoolManager';
13
+ exports.BREAKERBOX = 'BreakerBox';
14
+ exports.RESERVE = 'Reserve';
15
+ exports.CONSTANTSUM = 'ConstantSumPricingModule';
16
+ exports.CONSTANTPRODUCT = 'ConstantProductPricingModule';
17
+ exports.MEDIANDELTA = 'MedianDeltaBreaker';
18
+ exports.VALUEDELTA = 'ValueDeltaBreaker';
19
+ exports.STABLETOKEN = 'StableToken';
20
+ exports.STABLETOKNEUR = 'StableTokenEUR';
21
+ exports.STABLETOKENBRL = 'StableTokenBRL';
22
+ exports.STABLETOKENXOF = 'StableTokenXOF';
23
+ exports.SORTEDORACLES = 'SortedOracles';
24
+ //# sourceMappingURL=contractNames.js.map
@@ -0,0 +1,6 @@
1
+ export * from './addresses';
2
+ export * from './chainId';
3
+ export * from './contractNames';
4
+ export * from './borrowConstants';
5
+ export * from './borrowRegistries';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,22 @@
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("./addresses"), exports);
18
+ __exportStar(require("./chainId"), exports);
19
+ __exportStar(require("./contractNames"), exports);
20
+ __exportStar(require("./borrowConstants"), exports);
21
+ __exportStar(require("./borrowRegistries"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -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,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,4 @@
1
+ export * from './base';
2
+ export * from './oracle';
3
+ export * from './router';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -14,7 +14,7 @@ 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("./addresses"), exports);
18
- __exportStar(require("./currencies"), exports);
19
- __exportStar(require("./tokens"), exports);
20
- __exportStar(require("./tradablePairs"), exports);
17
+ __exportStar(require("./base"), exports);
18
+ __exportStar(require("./oracle"), exports);
19
+ __exportStar(require("./router"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,9 @@
1
+ import { MentoError } from './base';
2
+ /**
3
+ * Error thrown when the FX market is closed and oracle prices are unavailable.
4
+ * The OracleAdapter reverts with FXMarketClosed() (sig 0xa407143a) during market closure.
5
+ */
6
+ export declare class FXMarketClosedError extends MentoError {
7
+ constructor();
8
+ }
9
+ //# sourceMappingURL=oracle.d.ts.map
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FXMarketClosedError = void 0;
4
+ const base_1 = require("./base");
5
+ /**
6
+ * Error thrown when the FX market is closed and oracle prices are unavailable.
7
+ * The OracleAdapter reverts with FXMarketClosed() (sig 0xa407143a) during market closure.
8
+ */
9
+ class FXMarketClosedError extends base_1.MentoError {
10
+ constructor() {
11
+ super('FX market is currently closed. Swap quotes are unavailable until the market reopens.');
12
+ }
13
+ }
14
+ exports.FXMarketClosedError = FXMarketClosedError;
15
+ //# sourceMappingURL=oracle.js.map
@@ -0,0 +1,14 @@
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
+ /**
9
+ * Error thrown when no executable zap-out route exists for the requested amount.
10
+ */
11
+ export declare class ZapOutRouteNotViableError extends MentoError {
12
+ constructor(poolAddress: string, tokenOut: string);
13
+ }
14
+ //# sourceMappingURL=router.d.ts.map
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ZapOutRouteNotViableError = 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
+ /**
15
+ * Error thrown when no executable zap-out route exists for the requested amount.
16
+ */
17
+ class ZapOutRouteNotViableError extends base_1.MentoError {
18
+ constructor(poolAddress, tokenOut) {
19
+ super(`No viable zap-out route for pool ${poolAddress} to ${tokenOut}. ` +
20
+ 'Try reducing the amount or removing liquidity in balanced mode.');
21
+ }
22
+ }
23
+ exports.ZapOutRouteNotViableError = ZapOutRouteNotViableError;
24
+ //# sourceMappingURL=router.js.map
@@ -0,0 +1,87 @@
1
+ export interface BorrowPosition {
2
+ troveId: string;
3
+ collateral: bigint;
4
+ debt: bigint;
5
+ annualInterestRate: bigint;
6
+ status: TroveStatus;
7
+ interestBatchManager: string | null;
8
+ lastDebtUpdateTime: number;
9
+ lastInterestRateAdjTime: number;
10
+ redistBoldDebtGain: bigint;
11
+ redistCollGain: bigint;
12
+ accruedInterest: bigint;
13
+ recordedDebt: bigint;
14
+ accruedBatchManagementFee: bigint;
15
+ }
16
+ export type TroveStatus = 'active' | 'closedByOwner' | 'closedByLiquidation' | 'zombie' | 'nonExistent';
17
+ export interface LoanDetails {
18
+ collateral: bigint | null;
19
+ collateralUsd: bigint | null;
20
+ collPrice: bigint | null;
21
+ debt: bigint | null;
22
+ interestRate: bigint | null;
23
+ ltv: bigint | null;
24
+ maxLtv: bigint;
25
+ maxLtvAllowed: bigint;
26
+ liquidationPrice: bigint | null;
27
+ liquidationRisk: RiskLevel | null;
28
+ maxDebt: bigint | null;
29
+ maxDebtAllowed: bigint | null;
30
+ status: 'healthy' | 'at-risk' | 'liquidatable' | 'underwater' | null;
31
+ }
32
+ export type RiskLevel = 'low' | 'medium' | 'high';
33
+ export interface OpenTroveParams {
34
+ owner: string;
35
+ ownerIndex: number;
36
+ collAmount: bigint;
37
+ boldAmount: bigint;
38
+ annualInterestRate: bigint;
39
+ maxUpfrontFee: bigint;
40
+ interestBatchManager?: string;
41
+ addManager?: string;
42
+ removeManager?: string;
43
+ receiver?: string;
44
+ }
45
+ export interface AdjustTroveParams {
46
+ troveId: string;
47
+ collChange: bigint;
48
+ isCollIncrease: boolean;
49
+ debtChange: bigint;
50
+ isDebtIncrease: boolean;
51
+ maxUpfrontFee: bigint;
52
+ }
53
+ export interface InterestRateBracket {
54
+ rate: bigint;
55
+ totalDebt: bigint;
56
+ }
57
+ export interface SystemParams {
58
+ mcr: bigint;
59
+ ccr: bigint;
60
+ scr: bigint;
61
+ bcr: bigint;
62
+ minDebt: bigint;
63
+ ethGasCompensation: bigint;
64
+ minAnnualInterestRate: bigint;
65
+ }
66
+ export interface BorrowContractAddresses {
67
+ borrowerOperations: string;
68
+ troveManager: string;
69
+ sortedTroves: string;
70
+ activePool: string;
71
+ defaultPool: string;
72
+ hintHelpers: string;
73
+ multiTroveGetter: string;
74
+ collToken: string;
75
+ debtToken: string;
76
+ troveNFT: string;
77
+ metadataNFT: string;
78
+ stabilityPool: string;
79
+ priceFeed: string;
80
+ collSurplusPool: string;
81
+ interestRouter: string;
82
+ collateralRegistry: string;
83
+ gasToken: string;
84
+ gasPoolAddress: string;
85
+ liquidityStrategy: string;
86
+ }
87
+ //# sourceMappingURL=borrow.d.ts.map
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=borrow.js.map