@mento-protocol/mento-sdk 3.2.3 → 3.2.5

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 +222 -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 +115 -0
  265. package/dist/services/trading/TradingService.js +227 -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
@@ -1,12 +1,6 @@
1
- import { TradablePairWithSpread } from './constants';
2
- import { Address } from './interfaces';
3
- import { TradablePair, TradablePairID } from './mento';
1
+ import type { Route, RouteID, RouteWithCost, Pool } from '../core/types';
4
2
  type TokenSymbol = string;
5
- interface ExchangeDetails {
6
- providerAddr: Address;
7
- id: string;
8
- assets: [Address, Address];
9
- }
3
+ type Address = string;
10
4
  /**
11
5
  * =============================================================================
12
6
  * ROUTE GENERATION UTILITIES
@@ -18,12 +12,12 @@ interface ExchangeDetails {
18
12
  *
19
13
  * 1. Build connectivity structures from direct trading pairs
20
14
  * 2. Generate all possible routes (direct + two-hop)
21
- * 3. Select optimal routes using spread data or heuristics
15
+ * 3. Select optimal routes using cost data or heuristics
22
16
  *
23
17
  * ALGORITHM OVERVIEW:
24
18
  * - Creates a graph where tokens are nodes and direct exchanges are edges
25
19
  * - Uses graph traversal to find two-hop routes through intermediate tokens
26
- * - Optimizes route selection based on spread costs when available
20
+ * - Optimizes route selection based on cost data when available
27
21
  * - Falls back to heuristics (prefer direct routes, major stablecoins)
28
22
  * =============================================================================
29
23
  */
@@ -33,15 +27,15 @@ interface ExchangeDetails {
33
27
  *
34
28
  * CONCRETE EXAMPLE:
35
29
  * Given these direct trading pairs:
36
- * - cUSD ↔ CELO (direct exchange exists)
37
- * - CELO ↔ cEUR (direct exchange exists)
38
- * - cUSDcREAL (direct exchange exists)
30
+ * - USDm ↔ CELO (direct exchange exists)
31
+ * - CELO ↔ EURm (direct exchange exists)
32
+ * - USDmBRLm (direct exchange exists)
39
33
  *
40
34
  * How route finding works:
41
- * - Direct route: cUSDcEUR? Check token graph: cUSD connects to [CELO, cREAL], none is cEUR → No direct route
42
- * - Two-hop route: cUSD → ? → cEUR?
43
- * - cUSD connects to CELO, CELO connects to cEUR → Found route: cUSD → CELO → cEUR
44
- * - cUSD connects to cREAL, cREAL connects to [cUSD] → No route via cREAL
35
+ * - Direct route: USDmEURm? Check token graph: USDm connects to [CELO, BRLm], none is EURm → No direct route
36
+ * - Two-hop route: USDm → ? → EURm?
37
+ * - USDm connects to CELO, CELO connects to EURm → Found route: USDm → CELO → EURm
38
+ * - USDm connects to BRLm, BRLm connects to [USDm] → No route via BRLm
45
39
  *
46
40
  * The "connectivity" part means we can quickly traverse the network of
47
41
  * token connections to find all possible trading paths.
@@ -50,36 +44,36 @@ export interface ConnectivityData {
50
44
  /** Maps token address to symbol for efficient lookups
51
45
  *
52
46
  * ```
53
- * '0x765D...' → 'cUSD'
47
+ * '0x765D...' → 'USDm'
54
48
  * '0x471E...' → 'CELO'
55
- * '0xD876...' → 'cEUR'
49
+ * '0xD876...' → 'EURm'
56
50
  * ```
57
51
  */
58
52
  addrToSymbol: Map<Address, TokenSymbol>;
59
53
  /** Adjacency list mapping which tokens connect to which
60
54
  * Used for finding two-hop routes by traversing token → neighbor → neighbor.
61
55
  *
62
- * Example for a cUSD => cEUR swap: First we find cUSD → [CELO, cKES, ...]
63
- * Then we find CELO → [cUSD, cEUR, ...] = found route via cUSD → CELO → cEUR
56
+ * Example for a USDm => EURm swap: First we find USDm → [CELO, KESm, ...]
57
+ * Then we find CELO → [USDm, EURm, ...] = found route via USDm → CELO → EURm
64
58
  *
65
59
  * ```
66
- * 'cUSD_addr' → Set(['CELO_addr', 'cKES_addr']) // cUSD connects to CELO and cKES
67
- * 'CELO_addr' → Set(['cUSD_addr', 'cEUR_addr']) // CELO connects to cUSD and cEUR
68
- * 'cEUR_addr' → Set(['CELO_addr']) // cEUR connects to CELO
69
- * 'cKES_addr' → Set(['cUSD_addr']) // cKES connects to cUSD
60
+ * 'USDm_addr' → Set(['CELO_addr', 'KESm_addr']) // USDm connects to CELO and KESm
61
+ * 'CELO_addr' → Set(['USDm_addr', 'EURm_addr']) // CELO connects to USDm and EURm
62
+ * 'EURm_addr' → Set(['CELO_addr']) // EURm connects to CELO
63
+ * 'KESm_addr' → Set(['USDm_addr']) // KESm connects to USDm
70
64
  * ```
71
65
  */
72
66
  tokenGraph: Map<Address, Set<Address>>;
73
- /** Maps sorted token address pairs to their direct exchange hop details
67
+ /** Maps sorted token address pairs to their direct route details
74
68
  * ```
75
- * 'CELO_addr-cEUR_addr' → { exchange details for CELO ↔ cEUR }
76
- * 'CELO_addr-cUSD_addr' → { exchange details for CELO ↔ cUSD }
77
- * 'cUSD_addr-cKES_addr' → { exchange details for cUSDcKES }
69
+ * 'CELO_addr-EURm_addr' → { route details for CELO ↔ EURm }
70
+ * 'CELO_addr-USDm_addr' → { route details for CELO ↔ USDm }
71
+ * 'USDm_addr-KESm_addr' → { route details for USDmKESm }
78
72
  * ```
79
73
  */
80
- directPathMap: Map<TradablePairID, ExchangeDetails>;
81
- /** Original direct trading pairs from mento.getDirectPairs() for reference */
82
- directPairs: TradablePair[];
74
+ directRouteMap: Map<RouteID, Pool>;
75
+ /** Original direct routes from mento.getDirectRoutes() for reference */
76
+ directRoutes: Route[];
83
77
  }
84
78
  /**
85
79
  * Builds the connectivity data structures needed for route generation.
@@ -91,23 +85,23 @@ export interface ConnectivityData {
91
85
  *
92
86
  * ```
93
87
  * Input: TradablePairs = [
94
- * { id: 'cUSD-CELO', assets: [cUSD, CELO], path: [exchange1_CELO_cUSD] },
95
- * { id: 'CELO-cEUR', assets: [CELO, cEUR], path: [exchange2_CELO_cEUR] }
88
+ * { id: 'USDm-CELO', assets: [USDm, CELO], path: [exchange1_CELO_USDm] },
89
+ * { id: 'CELO-EURm', assets: [CELO, EURm], path: [exchange2_CELO_EURm] }
96
90
  * ]
97
91
  *
98
92
  * Step 1 - Build addrToSymbol map:
99
- * cUSD.address → 'cUSD'
93
+ * USDm.address → 'USDm'
100
94
  * CELO.address → 'CELO'
101
- * cEUR.address → 'cEUR'
95
+ * EURm.address → 'EURm'
102
96
  *
103
97
  * Step 2 - Build directPathMap (sorted alphabetically for consistency):
104
- * 'CELO_addr-cEUR_addr' → exchange2_CELO_cEUR
105
- * 'CELO_addr-cUSD_addr' → exchange1_CELO_cUSD
98
+ * 'CELO_addr-EURm_addr' → exchange2_CELO_EURm
99
+ * 'CELO_addr-USDm_addr' → exchange1_CELO_USDm
106
100
  *
107
101
  * Step 3 - Build bidirectional tokenGraph:
108
- * cUSD.address → Set([CELO.address])
109
- * CELO.address → Set([cUSD.address, cEUR.address])
110
- * cEUR.address → Set([CELO.address])
102
+ * USDm.address → Set([CELO.address])
103
+ * CELO.address → Set([USDm.address, EURm.address])
104
+ * EURm.address → Set([CELO.address])
111
105
  * ```
112
106
  *
113
107
  * **Result**: We can now efficiently answer:
@@ -115,32 +109,32 @@ export interface ConnectivityData {
115
109
  * - "What exchange connects tokens X and Y?" → directPathMap.get(sortedAddressPairKey)
116
110
  * - "What tokens can I reach from token X?" → tokenGraph.get(X)
117
111
  *
118
- * @param directPairs - Array of direct trading pairs
112
+ * @param directRoutes - Array of direct trading pairs
119
113
  * @returns Connectivity data structure for efficient route generation
120
114
  *
121
115
  * @example
122
116
  * ```typescript
123
117
  * const directPairs = [
124
- * { id: 'cUSD-CELO', assets: [cUSD, CELO], path: [exchange1] },
125
- * { id: 'CELO-cEUR', assets: [CELO, cEUR], path: [exchange2] }
118
+ * { id: 'USDm-CELO', assets: [USDm, CELO], path: [exchange1] },
119
+ * { id: 'CELO-EURm', assets: [CELO, EURm], path: [exchange2] }
126
120
  * ]
127
121
  *
128
122
  * const connectivityData = buildConnectivityStructures(directPairs)
129
123
  *
130
124
  * // Now we can efficiently find routes:
131
- * // 1. Check if cUSD connects to anything: connectivityData.tokenGraph.get(cUSD.address) → [CELO.address]
132
- * // 2. Check if CELO connects to cEUR: connectivityData.tokenGraph.get(CELO.address) → [cUSD.address, cEUR.address] ✓
133
- * // 3. Get exchange details: connectivityData.directPathMap.get('CELO_addr-cEUR_addr') → exchange2_CELO_cEUR
134
- * // Result: Found route cUSD → CELO → cEUR with exchange details
125
+ * // 1. Check if USDm connects to anything: connectivityData.tokenGraph.get(USDm.address) → [CELO.address]
126
+ * // 2. Check if CELO connects to EURm: connectivityData.tokenGraph.get(CELO.address) → [USDm.address, EURm.address] ✓
127
+ * // 3. Get exchange details: connectivityData.directPathMap.get('CELO_addr-EURm_addr') → exchange2_CELO_EURm
128
+ * // Result: Found route USDm → CELO → EURm with exchange details
135
129
  * ```
136
130
  */
137
- export declare function buildConnectivityStructures(directPairs: TradablePair[]): ConnectivityData;
131
+ export declare function buildConnectivityStructures(directRoutes: Route[]): ConnectivityData;
138
132
  /**
139
133
  * Generates all possible routes (direct + two-hop) using connectivity data.
140
134
  *
141
135
  * This function implements a route discovery algorithm that:
142
136
  *
143
- * 1. **Adds all direct pairs** (single-hop routes)
137
+ * 1. **Adds all direct routes** (single-hop routes)
144
138
  * 2. **Discovers two-hop routes** using graph traversal:
145
139
  * - For each token A, find its neighbors (tokens directly connected)
146
140
  * - For each neighbor B, find B's neighbors
@@ -148,28 +142,28 @@ export declare function buildConnectivityStructures(directPairs: TradablePair[])
148
142
  *
149
143
  * **Route Deduplication**: Multiple routes between the same token pair
150
144
  * are collected in arrays, allowing the selection algorithm to choose
151
- * the best one based on spread data or heuristics.
145
+ * the best one based on cost data or heuristics.
152
146
  *
153
- * **Canonical Pair IDs**: All pairs use alphabetically sorted symbols
154
- * (e.g., 'cEUR-cUSD' not 'cUSD-cEUR') for consistent identification.
147
+ * **Canonical Route IDs**: All routes use alphabetically sorted symbols
148
+ * (e.g., 'EURm-USDm' not 'USDm-EURm') for consistent identification.
155
149
  *
156
150
  * @param connectivityData - The connectivity data from buildConnectivityStructures()
157
- * @returns Map of pair ID -> array of possible routes for that pair
151
+ * @returns Map of route ID -> array of possible routes for that token pair
158
152
  *
159
153
  * @example
160
154
  * ```typescript
161
- * // Given direct pairs: cUSD-CELO, CELO-cEUR, cUSD-USDC
155
+ * // Given direct routes: USDm-CELO, CELO-EURm, USDm-USDC
162
156
  * const allRoutes = generateAllRoutes(connectivityData)
163
157
  *
164
158
  * // Results might include:
165
- * // 'cUSD-CELO' -> [{ path: [cUSD->CELO] }] // direct route
166
- * // 'cEUR-cUSD' -> [
167
- * // { path: [cUSD->USDC, USDC->cEUR] } // two-hop via USDC
168
- * // { path: [cUSD->CELO, CELO->cEUR] } // two-hop via CELO
159
+ * // 'USDm-CELO' -> [{ path: [USDm->CELO] }] // direct route
160
+ * // 'EURm-USDm' -> [
161
+ * // { path: [USDm->USDC, USDC->EURm] } // two-hop via USDC
162
+ * // { path: [USDm->CELO, CELO->EURm] } // two-hop via CELO
169
163
  * // ]
170
164
  * ```
171
165
  */
172
- export declare function generateAllRoutes(connectivityData: ConnectivityData): Map<TradablePairID, TradablePair[]>;
166
+ export declare function generateAllRoutes(connectivityData: ConnectivityData): Map<RouteID, Route[]>;
173
167
  /**
174
168
  * Creates a two-hop tradable pair if valid exchange hops exist.
175
169
  *
@@ -193,31 +187,27 @@ export declare function generateAllRoutes(connectivityData: ConnectivityData): M
193
187
  *
194
188
  * @example
195
189
  * ```typescript
196
- * // Create route: cUSD -> CELO -> cEUR
190
+ * // Create route: USDm -> CELO -> EURm
197
191
  * const pair = createTwoHopPair(
198
- * '0x765D...', // cUSD address
192
+ * '0x765D...', // USDm address
199
193
  * '0x471E...', // CELO address
200
- * '0xD876...', // cEUR address
194
+ * '0xD876...', // EURm address
201
195
  * addrToSymbol,
202
196
  * directPathMap
203
197
  * )
204
198
  *
205
199
  * // Result:
206
200
  * // {
207
- * // id: 'cEUR-cUSD', // alphabetical order
208
- * // assets: [cEUR, cUSD], // alphabetical order
201
+ * // id: 'EURm-USDm', // alphabetical order
202
+ * // assets: [EURm, USDm], // alphabetical order
209
203
  * // path: [ // actual routing path
210
- * // { cUSD->CELO exchange },
211
- * // { CELO->cEUR exchange }
204
+ * // { USDm->CELO exchange },
205
+ * // { CELO->EURm exchange }
212
206
  * // ]
213
207
  * // }
214
208
  * ```
215
209
  */
216
- export declare function createTwoHopPair(startToken: Address, intermediateToken: Address, endToken: Address, addrToSymbol: Map<Address, TokenSymbol>, directPathMap: Map<string, {
217
- providerAddr: Address;
218
- id: string;
219
- assets: [Address, Address];
220
- }>): TradablePair | null;
210
+ export declare function createTwoHopRoute(startAddr: Address, intermediateAddr: Address, endAddr: Address, addrToSymbol: Map<Address, TokenSymbol>, directRouteMap: Map<RouteID, Pool>): Route | null;
221
211
  /**
222
212
  * Selects optimal routes from all candidates based on spread data or heuristics.
223
213
  *
@@ -239,38 +229,38 @@ export declare function createTwoHopPair(startToken: Address, intermediateToken:
239
229
  *
240
230
  * @example
241
231
  * ```typescript
242
- * // Multiple routes for cUSD-cEUR pair
232
+ * // Multiple routes for USDm-EURm pair
243
233
  * const candidates = new Map([
244
- * ['cEUR-cUSD', [
245
- * { path: [cUSD->CELO->cEUR], spreadData: { totalSpreadPercent: 0.5 } },
246
- * { path: [cUSD->cREAL->cEUR], spreadData: { totalSpreadPercent: 0.3 } },
247
- * { path: [cUSD->cEUR] } // direct route, no spread data
234
+ * ['EURm-USDm', [
235
+ * { path: [USDm->CELO->EURm], costData: { totalCostPercent: 0.5 } },
236
+ * { path: [USDm->BRLm->EURm], costData: { totalCostPercent: 0.3 } },
237
+ * { path: [USDm->EURm] } // direct route, no cost data
248
238
  * ]]
249
239
  * ])
250
240
  *
251
241
  * const optimal = selectOptimalRoutes(candidates, false, assetMap)
252
- * // Returns the cUSD->cREAL->cEUR route (lowest spread: 0.3%)
242
+ * // Returns the USDm->BRLm->EURm route (lowest cost: 0.3%)
253
243
  * ```
254
244
  */
255
- export declare function selectOptimalRoutes(allRoutes: Map<TradablePairID, TradablePair[]>, returnAllRoutes: boolean, addrToSymbol: Map<Address, TokenSymbol>): (TradablePair | TradablePairWithSpread)[];
245
+ export declare function selectOptimalRoutes(allRoutes: Map<RouteID, Route[]>, returnAllRoutes: boolean, addrToSymbol: Map<Address, TokenSymbol>): (Route | RouteWithCost)[];
256
246
  /**
257
- * Selects the best route from candidates using spread data or fallback heuristics.
247
+ * Selects the best route from candidates using cost data or fallback heuristics.
258
248
  *
259
249
  * This function implements a sophisticated route selection algorithm with
260
250
  * multiple optimization tiers:
261
251
  *
262
- * **Tier 1 - Spread-Based Optimization** (Preferred):
263
- * - Use routes with spread data (actual cost information)
264
- * - Select route with lowest `totalSpreadPercent`
252
+ * **Tier 1 - Cost-Based Optimization** (Preferred):
253
+ * - Use routes with cost data (actual cost information)
254
+ * - Select route with lowest `totalCostPercent`
265
255
  * - This provides the most cost-efficient trading
266
256
  *
267
257
  * **Tier 2 - Direct Route Preference** (Fallback):
268
- * - If no spread data available, prefer direct (single-hop) routes
258
+ * - If no cost data available, prefer direct (single-hop) routes
269
259
  * - Direct routes have lower execution risk and gas costs
270
260
  *
271
261
  * **Tier 3 - Major Stablecoin Preference** (Final Fallback):
272
262
  * - For two-hop routes, prefer those going through major stablecoins
273
- * - Major FX currencies like cUSD and cEUR typically have better liquidity
263
+ * - Major FX currencies like USDm and EURm typically have better liquidity
274
264
  *
275
265
  * **Tier 4 - First Available** (Last Resort):
276
266
  * - If no other heuristics apply, use the first route found
@@ -282,23 +272,24 @@ export declare function selectOptimalRoutes(allRoutes: Map<TradablePairID, Trada
282
272
  * @example
283
273
  * ```typescript
284
274
  * const candidates = [
285
- * { path: [A->B->C], spreadData: { totalSpreadPercent: 0.8 } },
286
- * { path: [A->D->C], spreadData: { totalSpreadPercent: 0.4 } }, // Winner: lowest spread
287
- * { path: [A->C] }, // direct route, no spread data
275
+ * { path: [A->B->C], costData: { totalCostPercent: 0.8 } },
276
+ * { path: [A->D->C], costData: { totalCostPercent: 0.4 } }, // Winner: lowest cost
277
+ * { path: [A->C] }, // direct route, no cost data
288
278
  * ]
289
279
  *
290
280
  * const best = selectBestRoute(candidates, assetMap)
291
- * // Returns the A->D->C route (0.4% spread)
281
+ * // Returns the A->D->C route (0.4% cost)
292
282
  * ```
293
283
  */
294
- export declare function selectBestRoute(candidates: TradablePair[], addrToSymbol: Map<Address, TokenSymbol>): TradablePair | TradablePairWithSpread;
284
+ export declare function selectBestRoute(candidates: Route[], addrToSymbol: Map<Address, TokenSymbol>): Route | RouteWithCost;
295
285
  /**
296
286
  * Extracts the intermediate token address from a two-hop route.
297
287
  * In a two-hop route A->B->C, this function finds token B (the intermediate).
298
288
  */
299
- export declare function getIntermediateToken(route: TradablePair): Address | undefined;
289
+ export declare function getIntermediateToken(route: Route): Address | undefined;
300
290
  /**
301
- * Type guard to check if a Route has spread data.
291
+ * Type guard to check if a Route has cost data.
302
292
  */
303
- export declare function hasSpreadData(pair: TradablePair | TradablePairWithSpread): pair is TradablePairWithSpread;
293
+ export declare function hasCostData(pair: Route | RouteWithCost): pair is RouteWithCost;
304
294
  export {};
295
+ //# sourceMappingURL=routeUtils.d.ts.map