@mento-protocol/mento-sdk 3.2.2 → 3.2.3

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 (397) hide show
  1. package/dist/cjs/ChainClient.d.ts +9 -0
  2. package/dist/cjs/ChainClient.js +58 -0
  3. package/dist/cjs/TestChainClient.d.ts +7 -0
  4. package/dist/cjs/TestChainClient.js +41 -0
  5. package/dist/cjs/constants/addresses.d.ts +4 -0
  6. package/dist/cjs/constants/addresses.js +59 -0
  7. package/dist/cjs/constants/currencies.d.ts +5 -0
  8. package/dist/cjs/constants/currencies.js +29 -0
  9. package/dist/cjs/constants/index.d.ts +4 -0
  10. package/dist/{services/borrow → cjs/constants}/index.js +4 -4
  11. package/dist/cjs/constants/tokens.11142220.d.ts +2 -0
  12. package/dist/cjs/constants/tokens.11142220.js +128 -0
  13. package/dist/cjs/constants/tokens.42220.d.ts +2 -0
  14. package/dist/cjs/constants/tokens.42220.js +128 -0
  15. package/dist/cjs/constants/tokens.d.ts +65 -0
  16. package/dist/cjs/constants/tokens.js +170 -0
  17. package/dist/cjs/constants/tradablePairs.11142220.d.ts +2 -0
  18. package/dist/cjs/constants/tradablePairs.11142220.js +7391 -0
  19. package/dist/cjs/constants/tradablePairs.42220.d.ts +2 -0
  20. package/dist/cjs/constants/tradablePairs.42220.js +7391 -0
  21. package/dist/cjs/constants/tradablePairs.d.ts +16 -0
  22. package/dist/cjs/constants/tradablePairs.js +53 -0
  23. package/dist/cjs/enums/chainId.d.ts +4 -0
  24. package/dist/{core/constants → cjs/enums}/chainId.js +1 -4
  25. package/dist/cjs/enums/index.d.ts +3 -0
  26. package/dist/{services/liquidity → cjs/enums}/index.js +3 -2
  27. package/dist/cjs/enums/proposalState.d.ts +10 -0
  28. package/dist/cjs/enums/proposalState.js +14 -0
  29. package/dist/cjs/enums/tradingMode.d.ts +17 -0
  30. package/dist/cjs/enums/tradingMode.js +21 -0
  31. package/dist/cjs/governance.d.ts +62 -0
  32. package/dist/cjs/governance.js +151 -0
  33. package/dist/cjs/index.d.ts +7 -0
  34. package/dist/{core/constants → cjs}/index.js +7 -6
  35. package/dist/cjs/interfaces/IChainClient.d.ts +6 -0
  36. package/dist/{core/types/route.js → cjs/interfaces/IChainClient.js} +0 -1
  37. package/dist/cjs/interfaces/index.d.ts +4 -0
  38. package/dist/{core/errors → cjs/interfaces}/index.js +4 -4
  39. package/dist/cjs/interfaces/tradingLimit.d.ts +7 -0
  40. package/dist/{core/types/token.js → cjs/interfaces/tradingLimit.js} +0 -1
  41. package/dist/cjs/interfaces/tradingLimitsConfig.d.ts +10 -0
  42. package/dist/{core/types/borrow.js → cjs/interfaces/tradingLimitsConfig.js} +0 -1
  43. package/dist/cjs/interfaces/tradingLimitsState.d.ts +9 -0
  44. package/dist/{core/types/provider.js → cjs/interfaces/tradingLimitsState.js} +0 -1
  45. package/dist/cjs/limits.d.ts +33 -0
  46. package/dist/cjs/limits.js +130 -0
  47. package/dist/cjs/mento.d.ts +287 -0
  48. package/dist/cjs/mento.js +699 -0
  49. package/dist/{utils → cjs}/routeUtils.d.ts +93 -84
  50. package/dist/{utils → cjs}/routeUtils.js +124 -123
  51. package/dist/cjs/types/contractAddressMap.d.ts +4 -0
  52. package/dist/cjs/types/contractAddressMap.js +2 -0
  53. package/dist/cjs/types/contractAddresses.d.ts +23 -0
  54. package/dist/cjs/types/contractAddresses.js +2 -0
  55. package/dist/cjs/types/index.d.ts +2 -0
  56. package/dist/{services/pools → cjs/types}/index.js +2 -2
  57. package/dist/cjs/utils.d.ts +80 -0
  58. package/dist/cjs/utils.js +177 -0
  59. package/dist/esm/ChainClient.d.ts +9 -0
  60. package/dist/esm/ChainClient.js +54 -0
  61. package/dist/esm/TestChainClient.d.ts +7 -0
  62. package/dist/esm/TestChainClient.js +37 -0
  63. package/dist/esm/constants/addresses.d.ts +4 -0
  64. package/dist/esm/constants/addresses.js +55 -0
  65. package/dist/esm/constants/currencies.d.ts +5 -0
  66. package/dist/esm/constants/currencies.js +26 -0
  67. package/dist/esm/constants/index.d.ts +4 -0
  68. package/dist/esm/constants/index.js +4 -0
  69. package/dist/esm/constants/tokens.11142220.d.ts +2 -0
  70. package/dist/esm/constants/tokens.11142220.js +125 -0
  71. package/dist/esm/constants/tokens.42220.d.ts +2 -0
  72. package/dist/esm/constants/tokens.42220.js +125 -0
  73. package/dist/esm/constants/tokens.d.ts +65 -0
  74. package/dist/esm/constants/tokens.js +142 -0
  75. package/dist/esm/constants/tradablePairs.11142220.d.ts +2 -0
  76. package/dist/esm/constants/tradablePairs.11142220.js +7388 -0
  77. package/dist/esm/constants/tradablePairs.42220.d.ts +2 -0
  78. package/dist/esm/constants/tradablePairs.42220.js +7388 -0
  79. package/dist/esm/constants/tradablePairs.d.ts +16 -0
  80. package/dist/esm/constants/tradablePairs.js +26 -0
  81. package/dist/esm/enums/chainId.d.ts +4 -0
  82. package/dist/esm/{core/constants → enums}/chainId.js +0 -2
  83. package/dist/esm/enums/index.d.ts +3 -0
  84. package/dist/esm/enums/index.js +3 -0
  85. package/dist/esm/enums/proposalState.d.ts +10 -0
  86. package/dist/esm/enums/proposalState.js +11 -0
  87. package/dist/esm/enums/tradingMode.d.ts +17 -0
  88. package/dist/esm/enums/tradingMode.js +18 -0
  89. package/dist/esm/governance.d.ts +62 -0
  90. package/dist/esm/governance.js +147 -0
  91. package/dist/esm/index.d.ts +7 -0
  92. package/dist/esm/index.js +6 -138
  93. package/dist/esm/interfaces/IChainClient.d.ts +6 -0
  94. package/dist/esm/interfaces/index.d.ts +4 -0
  95. package/dist/esm/interfaces/index.js +4 -0
  96. package/dist/esm/interfaces/tradingLimit.d.ts +7 -0
  97. package/dist/esm/interfaces/tradingLimitsConfig.d.ts +10 -0
  98. package/dist/esm/interfaces/tradingLimitsState.d.ts +9 -0
  99. package/dist/esm/limits.d.ts +33 -0
  100. package/dist/esm/limits.js +123 -0
  101. package/dist/esm/mento.d.ts +287 -0
  102. package/dist/esm/mento.js +671 -0
  103. package/dist/esm/routeUtils.d.ts +304 -0
  104. package/dist/esm/{utils/routeUtils.js → routeUtils.js} +116 -115
  105. package/dist/esm/types/contractAddressMap.d.ts +4 -0
  106. package/dist/esm/types/contractAddresses.d.ts +23 -0
  107. package/dist/esm/types/index.d.ts +2 -0
  108. package/dist/esm/types/index.js +2 -0
  109. package/dist/esm/utils.d.ts +80 -0
  110. package/dist/esm/utils.js +162 -0
  111. package/package.json +1 -1
  112. package/dist/cache/routes.d.ts +0 -13
  113. package/dist/cache/routes.js +0 -13733
  114. package/dist/cache/tokens.d.ts +0 -68
  115. package/dist/cache/tokens.js +0 -446
  116. package/dist/core/abis/activePool.d.ts +0 -2
  117. package/dist/core/abis/activePool.js +0 -14
  118. package/dist/core/abis/addressesRegistry.d.ts +0 -2
  119. package/dist/core/abis/addressesRegistry.js +0 -26
  120. package/dist/core/abis/bipoolmanager.d.ts +0 -34
  121. package/dist/core/abis/bipoolmanager.js +0 -72
  122. package/dist/core/abis/borrowerOperations.d.ts +0 -9
  123. package/dist/core/abis/borrowerOperations.js +0 -89
  124. package/dist/core/abis/breakerbox.d.ts +0 -13
  125. package/dist/core/abis/breakerbox.js +0 -8
  126. package/dist/core/abis/broker.d.ts +0 -2
  127. package/dist/core/abis/broker.js +0 -9
  128. package/dist/core/abis/erc20.d.ts +0 -9
  129. package/dist/core/abis/erc20.js +0 -21
  130. package/dist/core/abis/fpmm.d.ts +0 -270
  131. package/dist/core/abis/fpmm.js +0 -49
  132. package/dist/core/abis/fpmmFactory.d.ts +0 -85
  133. package/dist/core/abis/fpmmFactory.js +0 -26
  134. package/dist/core/abis/hintHelpers.d.ts +0 -2
  135. package/dist/core/abis/hintHelpers.js +0 -14
  136. package/dist/core/abis/index.d.ts +0 -22
  137. package/dist/core/abis/index.js +0 -38
  138. package/dist/core/abis/liquidityStrategy.d.ts +0 -132
  139. package/dist/core/abis/liquidityStrategy.js +0 -10
  140. package/dist/core/abis/multiTroveGetter.d.ts +0 -8
  141. package/dist/core/abis/multiTroveGetter.js +0 -15
  142. package/dist/core/abis/priceFeed.d.ts +0 -7
  143. package/dist/core/abis/priceFeed.js +0 -16
  144. package/dist/core/abis/pricingmodule.d.ts +0 -2
  145. package/dist/core/abis/pricingmodule.js +0 -6
  146. package/dist/core/abis/reserve.d.ts +0 -3
  147. package/dist/core/abis/reserve.js +0 -18
  148. package/dist/core/abis/router.d.ts +0 -521
  149. package/dist/core/abis/router.js +0 -45
  150. package/dist/core/abis/sortedTroves.d.ts +0 -2
  151. package/dist/core/abis/sortedTroves.js +0 -15
  152. package/dist/core/abis/systemParams.d.ts +0 -2
  153. package/dist/core/abis/systemParams.js +0 -14
  154. package/dist/core/abis/troveManager.d.ts +0 -2
  155. package/dist/core/abis/troveManager.js +0 -27
  156. package/dist/core/abis/troveNFT.d.ts +0 -2
  157. package/dist/core/abis/troveNFT.js +0 -9
  158. package/dist/core/abis/virtualPool.d.ts +0 -50
  159. package/dist/core/abis/virtualPool.js +0 -11
  160. package/dist/core/abis/virtualPoolFactory.d.ts +0 -59
  161. package/dist/core/abis/virtualPoolFactory.js +0 -17
  162. package/dist/core/constants/addresses.d.ts +0 -18
  163. package/dist/core/constants/addresses.js +0 -113
  164. package/dist/core/constants/borrowConstants.d.ts +0 -10
  165. package/dist/core/constants/borrowConstants.js +0 -16
  166. package/dist/core/constants/borrowRegistries.d.ts +0 -7
  167. package/dist/core/constants/borrowRegistries.js +0 -30
  168. package/dist/core/constants/chainId.d.ts +0 -7
  169. package/dist/core/constants/contractNames.d.ts +0 -21
  170. package/dist/core/constants/contractNames.js +0 -24
  171. package/dist/core/constants/index.d.ts +0 -6
  172. package/dist/core/errors/base.d.ts +0 -8
  173. package/dist/core/errors/base.js +0 -17
  174. package/dist/core/errors/index.d.ts +0 -4
  175. package/dist/core/errors/oracle.d.ts +0 -9
  176. package/dist/core/errors/oracle.js +0 -15
  177. package/dist/core/errors/router.d.ts +0 -14
  178. package/dist/core/errors/router.js +0 -24
  179. package/dist/core/types/borrow.d.ts +0 -87
  180. package/dist/core/types/contractAddresses.d.ts +0 -42
  181. package/dist/core/types/contractAddresses.js +0 -3
  182. package/dist/core/types/index.d.ts +0 -10
  183. package/dist/core/types/index.js +0 -26
  184. package/dist/core/types/liquidity.d.ts +0 -194
  185. package/dist/core/types/liquidity.js +0 -3
  186. package/dist/core/types/pool.d.ts +0 -208
  187. package/dist/core/types/pool.js +0 -14
  188. package/dist/core/types/provider.d.ts +0 -45
  189. package/dist/core/types/route.d.ts +0 -62
  190. package/dist/core/types/token.d.ts +0 -21
  191. package/dist/core/types/tradingLimits.d.ts +0 -91
  192. package/dist/core/types/tradingLimits.js +0 -3
  193. package/dist/core/types/tradingMode.d.ts +0 -24
  194. package/dist/core/types/tradingMode.js +0 -31
  195. package/dist/core/types/transaction.d.ts +0 -45
  196. package/dist/core/types/transaction.js +0 -3
  197. package/dist/esm/cache/routes.js +0 -13728
  198. package/dist/esm/cache/tokens.js +0 -438
  199. package/dist/esm/core/abis/activePool.js +0 -10
  200. package/dist/esm/core/abis/addressesRegistry.js +0 -22
  201. package/dist/esm/core/abis/bipoolmanager.js +0 -68
  202. package/dist/esm/core/abis/borrowerOperations.js +0 -85
  203. package/dist/esm/core/abis/breakerbox.js +0 -4
  204. package/dist/esm/core/abis/broker.js +0 -5
  205. package/dist/esm/core/abis/erc20.js +0 -17
  206. package/dist/esm/core/abis/fpmm.js +0 -45
  207. package/dist/esm/core/abis/fpmmFactory.js +0 -22
  208. package/dist/esm/core/abis/hintHelpers.js +0 -10
  209. package/dist/esm/core/abis/index.js +0 -21
  210. package/dist/esm/core/abis/liquidityStrategy.js +0 -6
  211. package/dist/esm/core/abis/multiTroveGetter.js +0 -11
  212. package/dist/esm/core/abis/priceFeed.js +0 -12
  213. package/dist/esm/core/abis/pricingmodule.js +0 -2
  214. package/dist/esm/core/abis/reserve.js +0 -14
  215. package/dist/esm/core/abis/router.js +0 -41
  216. package/dist/esm/core/abis/sortedTroves.js +0 -11
  217. package/dist/esm/core/abis/systemParams.js +0 -10
  218. package/dist/esm/core/abis/troveManager.js +0 -23
  219. package/dist/esm/core/abis/troveNFT.js +0 -5
  220. package/dist/esm/core/abis/virtualPool.js +0 -7
  221. package/dist/esm/core/abis/virtualPoolFactory.js +0 -13
  222. package/dist/esm/core/constants/addresses.js +0 -107
  223. package/dist/esm/core/constants/borrowConstants.js +0 -12
  224. package/dist/esm/core/constants/borrowRegistries.js +0 -25
  225. package/dist/esm/core/constants/contractNames.js +0 -20
  226. package/dist/esm/core/constants/index.js +0 -5
  227. package/dist/esm/core/errors/base.js +0 -12
  228. package/dist/esm/core/errors/index.js +0 -3
  229. package/dist/esm/core/errors/oracle.js +0 -10
  230. package/dist/esm/core/errors/router.js +0 -18
  231. package/dist/esm/core/types/index.js +0 -9
  232. package/dist/esm/core/types/pool.js +0 -10
  233. package/dist/esm/core/types/tradingLimits.js +0 -1
  234. package/dist/esm/core/types/tradingMode.js +0 -26
  235. package/dist/esm/core/types/transaction.js +0 -1
  236. package/dist/esm/package.json +0 -1
  237. package/dist/esm/services/borrow/BorrowService.js +0 -455
  238. package/dist/esm/services/borrow/borrowHelpers.js +0 -3
  239. package/dist/esm/services/borrow/borrowMath.js +0 -127
  240. package/dist/esm/services/borrow/index.js +0 -3
  241. package/dist/esm/services/borrow/internal/borrowApprovalService.js +0 -48
  242. package/dist/esm/services/borrow/internal/borrowContextStore.js +0 -35
  243. package/dist/esm/services/borrow/internal/borrowErc20.js +0 -38
  244. package/dist/esm/services/borrow/internal/borrowHints.js +0 -27
  245. package/dist/esm/services/borrow/internal/borrowPositionParser.js +0 -82
  246. package/dist/esm/services/borrow/internal/borrowReadService.js +0 -271
  247. package/dist/esm/services/borrow/internal/borrowRegistryReader.js +0 -108
  248. package/dist/esm/services/borrow/internal/borrowTransactionService.js +0 -271
  249. package/dist/esm/services/borrow/internal/borrowTypes.js +0 -1
  250. package/dist/esm/services/borrow/internal/borrowValidation.js +0 -89
  251. package/dist/esm/services/index.js +0 -8
  252. package/dist/esm/services/liquidity/LiquidityService.js +0 -163
  253. package/dist/esm/services/liquidity/basicLiquidity.js +0 -162
  254. package/dist/esm/services/liquidity/index.js +0 -1
  255. package/dist/esm/services/liquidity/liquidityHelpers.js +0 -95
  256. package/dist/esm/services/liquidity/rebalance.js +0 -59
  257. package/dist/esm/services/liquidity/zapHelpers.js +0 -120
  258. package/dist/esm/services/liquidity/zapIn.js +0 -112
  259. package/dist/esm/services/liquidity/zapOut.js +0 -248
  260. package/dist/esm/services/pools/PoolService.js +0 -204
  261. package/dist/esm/services/pools/index.js +0 -1
  262. package/dist/esm/services/pools/poolDetails.js +0 -209
  263. package/dist/esm/services/pools/poolDiscovery.js +0 -112
  264. package/dist/esm/services/pools/rebalancePreview.js +0 -181
  265. package/dist/esm/services/quotes/QuoteService.js +0 -85
  266. package/dist/esm/services/quotes/index.js +0 -1
  267. package/dist/esm/services/routes/RouteService.js +0 -268
  268. package/dist/esm/services/routes/index.js +0 -1
  269. package/dist/esm/services/swap/SwapService.js +0 -247
  270. package/dist/esm/services/swap/index.js +0 -1
  271. package/dist/esm/services/tokens/index.js +0 -1
  272. package/dist/esm/services/tokens/tokenService.js +0 -285
  273. package/dist/esm/services/trading/TradingLimitsService.js +0 -154
  274. package/dist/esm/services/trading/TradingService.js +0 -196
  275. package/dist/esm/services/trading/index.js +0 -2
  276. package/dist/esm/utils/chainConfig.js +0 -118
  277. package/dist/esm/utils/costUtils.js +0 -56
  278. package/dist/esm/utils/deadline.js +0 -22
  279. package/dist/esm/utils/index.js +0 -9
  280. package/dist/esm/utils/multicall.js +0 -47
  281. package/dist/esm/utils/pathEncoder.js +0 -69
  282. package/dist/esm/utils/rateFeed.js +0 -23
  283. package/dist/esm/utils/retry.js +0 -24
  284. package/dist/esm/utils/routes.js +0 -2
  285. package/dist/esm/utils/sortUtils.js +0 -33
  286. package/dist/esm/utils/tokens.js +0 -2
  287. package/dist/esm/utils/tradingLimits.js +0 -163
  288. package/dist/esm/utils/validation.js +0 -30
  289. package/dist/index.d.ts +0 -101
  290. package/dist/index.js +0 -158
  291. package/dist/services/borrow/BorrowService.d.ts +0 -381
  292. package/dist/services/borrow/BorrowService.js +0 -460
  293. package/dist/services/borrow/borrowHelpers.d.ts +0 -4
  294. package/dist/services/borrow/borrowHelpers.js +0 -13
  295. package/dist/services/borrow/borrowMath.d.ts +0 -21
  296. package/dist/services/borrow/borrowMath.js +0 -137
  297. package/dist/services/borrow/index.d.ts +0 -4
  298. package/dist/services/borrow/internal/borrowApprovalService.d.ts +0 -14
  299. package/dist/services/borrow/internal/borrowApprovalService.js +0 -53
  300. package/dist/services/borrow/internal/borrowContextStore.d.ts +0 -11
  301. package/dist/services/borrow/internal/borrowContextStore.js +0 -40
  302. package/dist/services/borrow/internal/borrowErc20.d.ts +0 -5
  303. package/dist/services/borrow/internal/borrowErc20.js +0 -43
  304. package/dist/services/borrow/internal/borrowHints.d.ts +0 -7
  305. package/dist/services/borrow/internal/borrowHints.js +0 -31
  306. package/dist/services/borrow/internal/borrowPositionParser.d.ts +0 -4
  307. package/dist/services/borrow/internal/borrowPositionParser.js +0 -87
  308. package/dist/services/borrow/internal/borrowReadService.d.ts +0 -31
  309. package/dist/services/borrow/internal/borrowReadService.js +0 -276
  310. package/dist/services/borrow/internal/borrowRegistryReader.d.ts +0 -5
  311. package/dist/services/borrow/internal/borrowRegistryReader.js +0 -113
  312. package/dist/services/borrow/internal/borrowTransactionService.d.ts +0 -23
  313. package/dist/services/borrow/internal/borrowTransactionService.js +0 -276
  314. package/dist/services/borrow/internal/borrowTypes.d.ts +0 -15
  315. package/dist/services/borrow/internal/borrowTypes.js +0 -3
  316. package/dist/services/borrow/internal/borrowValidation.d.ts +0 -14
  317. package/dist/services/borrow/internal/borrowValidation.js +0 -104
  318. package/dist/services/index.d.ts +0 -9
  319. package/dist/services/index.js +0 -25
  320. package/dist/services/liquidity/LiquidityService.d.ts +0 -139
  321. package/dist/services/liquidity/LiquidityService.js +0 -168
  322. package/dist/services/liquidity/basicLiquidity.d.ts +0 -11
  323. package/dist/services/liquidity/basicLiquidity.js +0 -172
  324. package/dist/services/liquidity/index.d.ts +0 -2
  325. package/dist/services/liquidity/liquidityHelpers.d.ts +0 -19
  326. package/dist/services/liquidity/liquidityHelpers.js +0 -104
  327. package/dist/services/liquidity/rebalance.d.ts +0 -6
  328. package/dist/services/liquidity/rebalance.js +0 -64
  329. package/dist/services/liquidity/zapHelpers.d.ts +0 -66
  330. package/dist/services/liquidity/zapHelpers.js +0 -129
  331. package/dist/services/liquidity/zapIn.d.ts +0 -18
  332. package/dist/services/liquidity/zapIn.js +0 -119
  333. package/dist/services/liquidity/zapOut.d.ts +0 -9
  334. package/dist/services/liquidity/zapOut.js +0 -255
  335. package/dist/services/pools/PoolService.d.ts +0 -69
  336. package/dist/services/pools/PoolService.js +0 -209
  337. package/dist/services/pools/index.d.ts +0 -2
  338. package/dist/services/pools/poolDetails.d.ts +0 -13
  339. package/dist/services/pools/poolDetails.js +0 -216
  340. package/dist/services/pools/poolDiscovery.d.ts +0 -12
  341. package/dist/services/pools/poolDiscovery.js +0 -117
  342. package/dist/services/pools/rebalancePreview.d.ts +0 -5
  343. package/dist/services/pools/rebalancePreview.js +0 -186
  344. package/dist/services/quotes/QuoteService.d.ts +0 -51
  345. package/dist/services/quotes/QuoteService.js +0 -91
  346. package/dist/services/quotes/index.d.ts +0 -2
  347. package/dist/services/quotes/index.js +0 -18
  348. package/dist/services/routes/RouteService.d.ts +0 -117
  349. package/dist/services/routes/RouteService.js +0 -306
  350. package/dist/services/routes/index.d.ts +0 -2
  351. package/dist/services/routes/index.js +0 -18
  352. package/dist/services/swap/SwapService.d.ts +0 -198
  353. package/dist/services/swap/SwapService.js +0 -252
  354. package/dist/services/swap/index.d.ts +0 -2
  355. package/dist/services/swap/index.js +0 -18
  356. package/dist/services/tokens/index.d.ts +0 -2
  357. package/dist/services/tokens/index.js +0 -18
  358. package/dist/services/tokens/tokenService.d.ts +0 -55
  359. package/dist/services/tokens/tokenService.js +0 -290
  360. package/dist/services/trading/TradingLimitsService.d.ts +0 -38
  361. package/dist/services/trading/TradingLimitsService.js +0 -159
  362. package/dist/services/trading/TradingService.d.ts +0 -113
  363. package/dist/services/trading/TradingService.js +0 -201
  364. package/dist/services/trading/index.d.ts +0 -3
  365. package/dist/services/trading/index.js +0 -19
  366. package/dist/utils/chainConfig.d.ts +0 -16
  367. package/dist/utils/chainConfig.js +0 -123
  368. package/dist/utils/costUtils.d.ts +0 -12
  369. package/dist/utils/costUtils.js +0 -60
  370. package/dist/utils/deadline.d.ts +0 -21
  371. package/dist/utils/deadline.js +0 -26
  372. package/dist/utils/index.d.ts +0 -10
  373. package/dist/utils/index.js +0 -26
  374. package/dist/utils/multicall.d.ts +0 -30
  375. package/dist/utils/multicall.js +0 -52
  376. package/dist/utils/pathEncoder.d.ts +0 -34
  377. package/dist/utils/pathEncoder.js +0 -73
  378. package/dist/utils/rateFeed.d.ts +0 -18
  379. package/dist/utils/rateFeed.js +0 -27
  380. package/dist/utils/retry.d.ts +0 -12
  381. package/dist/utils/retry.js +0 -28
  382. package/dist/utils/routes.d.ts +0 -3
  383. package/dist/utils/routes.js +0 -8
  384. package/dist/utils/sortUtils.d.ts +0 -24
  385. package/dist/utils/sortUtils.js +0 -39
  386. package/dist/utils/tokens.d.ts +0 -2
  387. package/dist/utils/tokens.js +0 -13
  388. package/dist/utils/tradingLimits.d.ts +0 -41
  389. package/dist/utils/tradingLimits.js +0 -171
  390. package/dist/utils/validation.d.ts +0 -19
  391. package/dist/utils/validation.js +0 -34
  392. /package/dist/esm/{core/types/borrow.js → interfaces/IChainClient.js} +0 -0
  393. /package/dist/esm/{core/types/contractAddresses.js → interfaces/tradingLimit.js} +0 -0
  394. /package/dist/esm/{core/types/liquidity.js → interfaces/tradingLimitsConfig.js} +0 -0
  395. /package/dist/esm/{core/types/provider.js → interfaces/tradingLimitsState.js} +0 -0
  396. /package/dist/esm/{core/types/route.js → types/contractAddressMap.js} +0 -0
  397. /package/dist/esm/{core/types/token.js → types/contractAddresses.js} +0 -0
@@ -1,381 +0,0 @@
1
- import { PublicClient } from 'viem';
2
- import { AdjustTroveParams, BorrowPosition, CallParams, InterestRateBracket, OpenTroveParams, SystemParams } from '../../core/types';
3
- /**
4
- * Service for managing borrowing positions (troves) in the Mento protocol.
5
- * Provides methods to open, adjust, and close troves, manage collateral and debt,
6
- * handle interest rates and batch managers, and query position data.
7
- *
8
- * All `build*` methods return `CallParams` ({ to, data, value }) that can be
9
- * executed with any wallet client. The `debtTokenSymbol` parameter (e.g., 'GBPm')
10
- * identifies which borrowing deployment to interact with.
11
- *
12
- * @example
13
- * ```typescript
14
- * const mento = await Mento.create(ChainId.CELO)
15
- *
16
- * const ownerIndex = await mento.borrow.findNextAvailableOwnerIndex('GBPm', '0x...', '0x...')
17
- *
18
- * // Open a trove
19
- * const tx = await mento.borrow.buildOpenTroveTransaction('GBPm', {
20
- * owner: '0x...', ownerIndex,
21
- * collAmount: parseUnits('10', 18),
22
- * boldAmount: parseUnits('1000', 18),
23
- * annualInterestRate: parseUnits('0.05', 18),
24
- * maxUpfrontFee: parseUnits('100', 18),
25
- * })
26
- * await walletClient.sendTransaction(tx)
27
- * ```
28
- */
29
- export declare class BorrowService {
30
- private contextStore;
31
- private txService;
32
- private approvalService;
33
- private readService;
34
- constructor(publicClient: PublicClient, chainId: number);
35
- /**
36
- * Builds a transaction to open a new trove (borrowing position).
37
- * Requires prior collateral approval via `buildCollateralApprovalParams`.
38
- *
39
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
40
- * @param params - Trove opening parameters including collateral, debt amount, and interest rate
41
- * @returns Transaction parameters ready to send
42
- */
43
- buildOpenTroveTransaction(debtTokenSymbol: string, params: OpenTroveParams): Promise<CallParams>;
44
- /**
45
- * Builds a transaction to adjust an existing trove's collateral and/or debt.
46
- *
47
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
48
- * @param params - Adjustment parameters specifying collateral/debt changes
49
- * @returns Transaction parameters ready to send
50
- */
51
- buildAdjustTroveTransaction(debtTokenSymbol: string, params: AdjustTroveParams): Promise<CallParams>;
52
- /**
53
- * Builds a transaction to adjust a zombie trove. Zombie troves are still-open troves whose
54
- * debt fell below the branch minimum debt, typically after a redemption.
55
- *
56
- * Use this when `getTroveData()` or `getUserTroves()` returns `status === 'zombie'`.
57
- * Same parameters as `buildAdjustTroveTransaction`.
58
- *
59
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
60
- * @param params - Adjustment parameters specifying collateral/debt changes
61
- * @returns Transaction parameters ready to send
62
- */
63
- buildAdjustZombieTroveTransaction(debtTokenSymbol: string, params: AdjustTroveParams): Promise<CallParams>;
64
- /**
65
- * Builds a transaction to close a trove, repaying all debt and reclaiming collateral.
66
- *
67
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
68
- * @param troveId - The NFT token ID identifying the trove
69
- * @returns Transaction parameters ready to send
70
- */
71
- buildCloseTroveTransaction(debtTokenSymbol: string, troveId: string): Promise<CallParams>;
72
- /**
73
- * Builds a transaction to add collateral to an existing trove.
74
- * Requires prior collateral approval via `buildCollateralApprovalParams`.
75
- *
76
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
77
- * @param troveId - The NFT token ID identifying the trove
78
- * @param amount - Amount of collateral to add (in wei)
79
- * @returns Transaction parameters ready to send
80
- */
81
- buildAddCollTransaction(debtTokenSymbol: string, troveId: string, amount: bigint): Promise<CallParams>;
82
- /**
83
- * Builds a transaction to withdraw collateral from an existing trove.
84
- *
85
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
86
- * @param troveId - The NFT token ID identifying the trove
87
- * @param amount - Amount of collateral to withdraw (in wei)
88
- * @returns Transaction parameters ready to send
89
- */
90
- buildWithdrawCollTransaction(debtTokenSymbol: string, troveId: string, amount: bigint): Promise<CallParams>;
91
- /**
92
- * Builds a transaction to borrow additional debt against an existing trove.
93
- *
94
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
95
- * @param troveId - The NFT token ID identifying the trove
96
- * @param amount - Additional debt amount to borrow (in wei)
97
- * @param maxFee - Maximum upfront fee the borrower is willing to pay (in wei)
98
- * @returns Transaction parameters ready to send
99
- */
100
- buildBorrowMoreTransaction(debtTokenSymbol: string, troveId: string, amount: bigint, maxFee: bigint): Promise<CallParams>;
101
- /**
102
- * Builds a transaction to repay debt on an existing trove.
103
- *
104
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
105
- * @param troveId - The NFT token ID identifying the trove
106
- * @param amount - Amount of debt to repay (in wei)
107
- * @returns Transaction parameters ready to send
108
- */
109
- buildRepayDebtTransaction(debtTokenSymbol: string, troveId: string, amount: bigint): Promise<CallParams>;
110
- /**
111
- * Builds a transaction to change the annual interest rate on a trove.
112
- *
113
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
114
- * @param troveId - The NFT token ID identifying the trove
115
- * @param newRate - New annual interest rate (18-decimal fixed-point, e.g., parseUnits('0.05', 18) for 5%)
116
- * @param maxFee - Maximum upfront fee the borrower is willing to pay (in wei)
117
- * @returns Transaction parameters ready to send
118
- */
119
- buildAdjustInterestRateTransaction(debtTokenSymbol: string, troveId: string, newRate: bigint, maxFee: bigint): Promise<CallParams>;
120
- /**
121
- * Builds a transaction to claim collateral surplus after a liquidation.
122
- * This is for collateral held in the surplus pool after `closedByLiquidation`.
123
- * Zombie troves with remaining collateral should usually be closed or adjusted instead.
124
- *
125
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
126
- * @returns Transaction parameters ready to send
127
- */
128
- buildClaimCollateralTransaction(debtTokenSymbol: string): Promise<CallParams>;
129
- /**
130
- * Builds a transaction to delegate interest rate management to a batch manager.
131
- *
132
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
133
- * @param troveId - The NFT token ID identifying the trove
134
- * @param manager - Address of the batch manager contract
135
- * @param maxFee - Maximum upfront fee the borrower is willing to pay (in wei)
136
- * @returns Transaction parameters ready to send
137
- */
138
- buildSetBatchManagerTransaction(debtTokenSymbol: string, troveId: string, manager: string, maxFee: bigint): Promise<CallParams>;
139
- /**
140
- * Builds a transaction to remove a trove from a batch manager, setting a new individual rate.
141
- *
142
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
143
- * @param troveId - The NFT token ID identifying the trove
144
- * @param newRate - New individual annual interest rate (18-decimal fixed-point)
145
- * @param maxFee - Maximum upfront fee the borrower is willing to pay (in wei)
146
- * @returns Transaction parameters ready to send
147
- */
148
- buildRemoveFromBatchTransaction(debtTokenSymbol: string, troveId: string, newRate: bigint, maxFee: bigint): Promise<CallParams>;
149
- /**
150
- * Builds a transaction to switch a trove to a different batch manager.
151
- *
152
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
153
- * @param troveId - The NFT token ID identifying the trove
154
- * @param newManager - Address of the new batch manager contract
155
- * @param maxFee - Maximum upfront fee the borrower is willing to pay (in wei)
156
- * @returns Transaction parameters ready to send
157
- */
158
- buildSwitchBatchManagerTransaction(debtTokenSymbol: string, troveId: string, newManager: string, maxFee: bigint): Promise<CallParams>;
159
- /**
160
- * Builds a transaction to delegate interest rate management to another address
161
- * with bounded rate constraints.
162
- *
163
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
164
- * @param troveId - The NFT token ID identifying the trove
165
- * @param delegate - Address to delegate interest rate management to
166
- * @param minRate - Minimum allowed annual interest rate (18-decimal fixed-point)
167
- * @param maxRate - Maximum allowed annual interest rate (18-decimal fixed-point)
168
- * @param newRate - Initial annual interest rate to set (18-decimal fixed-point)
169
- * @param maxFee - Maximum upfront fee the borrower is willing to pay (in wei)
170
- * @param minChangePeriod - Minimum time between rate changes (in seconds)
171
- * @returns Transaction parameters ready to send
172
- */
173
- buildSetInterestDelegateTransaction(debtTokenSymbol: string, troveId: string, delegate: string, minRate: bigint, maxRate: bigint, newRate: bigint, maxFee: bigint, minChangePeriod: bigint): Promise<CallParams>;
174
- /**
175
- * Builds a transaction to remove the interest rate delegate from a trove.
176
- *
177
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
178
- * @param troveId - The NFT token ID identifying the trove
179
- * @returns Transaction parameters ready to send
180
- */
181
- buildRemoveInterestDelegateTransaction(debtTokenSymbol: string, troveId: string): Promise<CallParams>;
182
- /**
183
- * Builds approval params to allow BorrowerOperations to spend collateral tokens.
184
- * Must be executed before `buildOpenTroveTransaction` or `buildAddCollTransaction`.
185
- *
186
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
187
- * @param amount - Amount of collateral to approve (in wei)
188
- * @returns Transaction parameters for the ERC-20 approve call
189
- */
190
- buildCollateralApprovalParams(debtTokenSymbol: string, amount: bigint): Promise<CallParams>;
191
- /**
192
- * Builds approval params for the debt token (e.g., for repayment or closing).
193
- *
194
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
195
- * @param spender - Address to approve as spender
196
- * @param amount - Amount of debt tokens to approve (in wei)
197
- * @returns Transaction parameters for the ERC-20 approve call
198
- */
199
- buildDebtApprovalParams(debtTokenSymbol: string, spender: string, amount: bigint): Promise<CallParams>;
200
- /**
201
- * Builds approval params for the gas compensation token (required when opening a trove).
202
- *
203
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
204
- * @param amount - Amount to approve (in wei). If omitted, approves the gas compensation amount.
205
- * @returns Transaction parameters for the ERC-20 approve call
206
- */
207
- buildGasCompensationApprovalParams(debtTokenSymbol: string, amount?: bigint): Promise<CallParams>;
208
- /**
209
- * Gets the current collateral token allowance for BorrowerOperations.
210
- *
211
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
212
- * @param owner - Address to check allowance for
213
- * @returns Current allowance in wei
214
- */
215
- getCollateralAllowance(debtTokenSymbol: string, owner: string): Promise<bigint>;
216
- /**
217
- * Gets the current debt token allowance for a specific spender.
218
- *
219
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
220
- * @param owner - Address to check allowance for
221
- * @param spender - Address of the approved spender
222
- * @returns Current allowance in wei
223
- */
224
- getDebtAllowance(debtTokenSymbol: string, owner: string, spender: string): Promise<bigint>;
225
- /**
226
- * Gets the current gas compensation token allowance.
227
- *
228
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
229
- * @param owner - Address to check allowance for
230
- * @returns Current allowance in wei
231
- */
232
- getGasTokenAllowance(debtTokenSymbol: string, owner: string): Promise<bigint>;
233
- /**
234
- * Fetches on-chain data for a specific trove.
235
- * The returned position reflects the trove's current lifecycle status, including
236
- * zombie troves that may still hold collateral even when their debt is zero.
237
- *
238
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
239
- * @param troveId - The NFT token ID identifying the trove
240
- * @returns Trove position data including collateral, debt, interest rate, and status
241
- */
242
- getTroveData(debtTokenSymbol: string, troveId: string): Promise<BorrowPosition>;
243
- /**
244
- * Fetches troves currently owned by an address via the Trove NFT.
245
- * This includes zombie troves that have been removed from `SortedTroves` but are still owned
246
- * by the address. Closed or liquidated troves are not returned once their Trove NFT is burned
247
- * or transferred away.
248
- *
249
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
250
- * @param owner - Address to query troves for
251
- * @returns Array of trove positions currently owned by the address
252
- */
253
- getUserTroves(debtTokenSymbol: string, owner: string): Promise<BorrowPosition[]>;
254
- /**
255
- * Gets the current collateral token price from the price feed.
256
- *
257
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
258
- * @returns Collateral price in 18-decimal fixed-point format
259
- */
260
- getCollateralPrice(debtTokenSymbol: string): Promise<bigint>;
261
- /**
262
- * Gets the system parameters for a borrowing deployment.
263
- * Returns MCR, CCR, SCR, BCR, minimum debt, gas compensation, and minimum interest rate.
264
- *
265
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
266
- * @returns System parameters (all values in 18-decimal fixed-point)
267
- */
268
- getSystemParams(debtTokenSymbol: string): Promise<SystemParams>;
269
- /**
270
- * Checks whether the borrowing system has been shut down (e.g., during a crisis).
271
- *
272
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
273
- * @returns true if the system is shut down, false otherwise
274
- */
275
- isSystemShutDown(debtTokenSymbol: string): Promise<boolean>;
276
- /**
277
- * Gets aggregate collateral and debt statistics for the borrowing branch.
278
- *
279
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
280
- * @returns Total collateral and total debt across all troves (in wei)
281
- */
282
- getBranchStats(debtTokenSymbol: string): Promise<{
283
- totalColl: bigint;
284
- totalDebt: bigint;
285
- }>;
286
- /**
287
- * Gets the distribution of debt across interest rate brackets.
288
- *
289
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
290
- * @returns Array of brackets, each with a rate and total debt at that rate
291
- */
292
- getInterestRateBrackets(debtTokenSymbol: string): Promise<InterestRateBracket[]>;
293
- /**
294
- * Gets the weighted average interest rate across all active troves.
295
- *
296
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
297
- * @returns Average annual interest rate in 18-decimal fixed-point
298
- */
299
- getAverageInterestRate(debtTokenSymbol: string): Promise<bigint>;
300
- /**
301
- * Gets information about a batch manager's configuration.
302
- *
303
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
304
- * @param address - Address of the batch manager
305
- * @returns Batch manager config (min/max rate, min change period), or null if not a valid manager
306
- */
307
- getBatchManagerInfo(debtTokenSymbol: string, address: string): Promise<{
308
- minRate: bigint;
309
- maxRate: bigint;
310
- minChangePeriod: bigint;
311
- } | null>;
312
- /**
313
- * Estimates the upfront fee for opening a new trove.
314
- *
315
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
316
- * @param amount - Debt amount to borrow (in wei)
317
- * @param rate - Annual interest rate (18-decimal fixed-point)
318
- * @returns Estimated upfront fee in wei
319
- */
320
- predictOpenTroveUpfrontFee(debtTokenSymbol: string, amount: bigint, rate: bigint): Promise<bigint>;
321
- /**
322
- * Estimates the upfront fee for increasing debt on an existing trove.
323
- *
324
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
325
- * @param troveId - The NFT token ID identifying the trove
326
- * @param debtIncrease - Amount of additional debt (in wei)
327
- * @returns Estimated upfront fee in wei
328
- */
329
- predictAdjustUpfrontFee(debtTokenSymbol: string, troveId: string, debtIncrease: bigint): Promise<bigint>;
330
- /**
331
- * Estimates the upfront fee for changing a trove's interest rate.
332
- *
333
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
334
- * @param troveId - The NFT token ID identifying the trove
335
- * @param newRate - New annual interest rate (18-decimal fixed-point)
336
- * @returns Estimated upfront fee in wei
337
- */
338
- predictAdjustInterestRateUpfrontFee(debtTokenSymbol: string, troveId: string, newRate: bigint): Promise<bigint>;
339
- /**
340
- * Estimates the upfront fee for joining a batch manager.
341
- *
342
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
343
- * @param troveId - The NFT token ID identifying the trove
344
- * @param batchAddress - Address of the batch manager to join
345
- * @returns Estimated upfront fee in wei
346
- */
347
- predictJoinBatchUpfrontFee(debtTokenSymbol: string, troveId: string, batchAddress: string): Promise<bigint>;
348
- /**
349
- * Gets the current number of troves owned by an address via the Trove NFT.
350
- *
351
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
352
- * @param owner - Address of the trove owner
353
- * @returns The number of troves currently owned by the address
354
- */
355
- getOwnedTroveCount(debtTokenSymbol: string, owner: string): Promise<number>;
356
- /**
357
- * Finds the first safe owner index for opening a trove with the given transaction sender.
358
- *
359
- * The `opener` must be the address that will call BorrowerOperations on-chain.
360
- * For smart accounts, pass the smart account address rather than the controlling EOA.
361
- *
362
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
363
- * @param owner - Address that will own the trove NFT
364
- * @param opener - Address that will submit the open-trove transaction on-chain
365
- * @returns The first owner index that does not already map to an existing trove
366
- */
367
- findNextAvailableOwnerIndex(debtTokenSymbol: string, owner: string, opener: string): Promise<number>;
368
- /**
369
- * Gets the current number of troves owned by an address via the Trove NFT.
370
- *
371
- * @deprecated Use `findNextAvailableOwnerIndex` when preparing an open-trove transaction.
372
- *
373
- * @param debtTokenSymbol - The debt token symbol (e.g., 'GBPm')
374
- * @param owner - Address of the trove owner
375
- * @returns The number of troves currently owned by the address
376
- */
377
- getNextOwnerIndex(debtTokenSymbol: string, owner: string): Promise<number>;
378
- private withContext;
379
- private ensureInitialized;
380
- }
381
- //# sourceMappingURL=BorrowService.d.ts.map