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