@mento-protocol/mento-sdk 3.0.0-beta.2 → 3.0.0-beta.21

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 (327) hide show
  1. package/README.md +34 -0
  2. package/dist/cache/routes.d.ts +13 -0
  3. package/dist/cache/routes.d.ts.map +1 -0
  4. package/dist/cache/routes.js +130 -0
  5. package/dist/cache/routes.js.map +1 -0
  6. package/dist/cache/tokens.d.ts +67 -0
  7. package/dist/cache/tokens.d.ts.map +1 -0
  8. package/dist/cache/tokens.js +379 -0
  9. package/dist/cache/tokens.js.map +1 -0
  10. package/dist/core/abis/activePool.d.ts +2 -0
  11. package/dist/core/abis/activePool.d.ts.map +1 -0
  12. package/dist/core/abis/activePool.js +14 -0
  13. package/dist/core/abis/activePool.js.map +1 -0
  14. package/dist/core/abis/addressesRegistry.d.ts +2 -0
  15. package/dist/core/abis/addressesRegistry.d.ts.map +1 -0
  16. package/dist/core/abis/addressesRegistry.js +26 -0
  17. package/dist/core/abis/addressesRegistry.js.map +1 -0
  18. package/dist/core/abis/borrowerOperations.d.ts +9 -0
  19. package/dist/core/abis/borrowerOperations.d.ts.map +1 -0
  20. package/dist/core/abis/borrowerOperations.js +89 -0
  21. package/dist/core/abis/borrowerOperations.js.map +1 -0
  22. package/dist/core/abis/breakerbox.d.ts +13 -0
  23. package/dist/core/abis/breakerbox.d.ts.map +1 -0
  24. package/dist/core/abis/breakerbox.js +8 -0
  25. package/dist/core/abis/breakerbox.js.map +1 -0
  26. package/dist/core/abis/erc20.d.ts +7 -0
  27. package/dist/core/abis/erc20.d.ts.map +1 -1
  28. package/dist/core/abis/erc20.js +7 -0
  29. package/dist/core/abis/erc20.js.map +1 -1
  30. package/dist/core/abis/fpmm.d.ts +128 -0
  31. package/dist/core/abis/fpmm.d.ts.map +1 -1
  32. package/dist/core/abis/fpmm.js +10 -0
  33. package/dist/core/abis/fpmm.js.map +1 -1
  34. package/dist/core/abis/hintHelpers.d.ts +2 -0
  35. package/dist/core/abis/hintHelpers.d.ts.map +1 -0
  36. package/dist/core/abis/hintHelpers.js +14 -0
  37. package/dist/core/abis/hintHelpers.js.map +1 -0
  38. package/dist/core/abis/index.d.ts +12 -0
  39. package/dist/core/abis/index.d.ts.map +1 -1
  40. package/dist/core/abis/index.js +12 -0
  41. package/dist/core/abis/index.js.map +1 -1
  42. package/dist/core/abis/multiTroveGetter.d.ts +8 -0
  43. package/dist/core/abis/multiTroveGetter.d.ts.map +1 -0
  44. package/dist/core/abis/multiTroveGetter.js +15 -0
  45. package/dist/core/abis/multiTroveGetter.js.map +1 -0
  46. package/dist/core/abis/priceFeed.d.ts +7 -0
  47. package/dist/core/abis/priceFeed.d.ts.map +1 -0
  48. package/dist/core/abis/priceFeed.js +16 -0
  49. package/dist/core/abis/priceFeed.js.map +1 -0
  50. package/dist/core/abis/router.d.ts +436 -1
  51. package/dist/core/abis/router.d.ts.map +1 -1
  52. package/dist/core/abis/router.js +13 -0
  53. package/dist/core/abis/router.js.map +1 -1
  54. package/dist/core/abis/sortedTroves.d.ts +2 -0
  55. package/dist/core/abis/sortedTroves.d.ts.map +1 -0
  56. package/dist/core/abis/sortedTroves.js +15 -0
  57. package/dist/core/abis/sortedTroves.js.map +1 -0
  58. package/dist/core/abis/systemParams.d.ts +2 -0
  59. package/dist/core/abis/systemParams.d.ts.map +1 -0
  60. package/dist/core/abis/systemParams.js +14 -0
  61. package/dist/core/abis/systemParams.js.map +1 -0
  62. package/dist/core/abis/troveManager.d.ts +2 -0
  63. package/dist/core/abis/troveManager.d.ts.map +1 -0
  64. package/dist/core/abis/troveManager.js +27 -0
  65. package/dist/core/abis/troveManager.js.map +1 -0
  66. package/dist/core/abis/troveNFT.d.ts +2 -0
  67. package/dist/core/abis/troveNFT.d.ts.map +1 -0
  68. package/dist/core/abis/troveNFT.js +9 -0
  69. package/dist/core/abis/troveNFT.js.map +1 -0
  70. package/dist/core/abis/virtualPool.d.ts +40 -0
  71. package/dist/core/abis/virtualPool.d.ts.map +1 -1
  72. package/dist/core/abis/virtualPool.js +6 -1
  73. package/dist/core/abis/virtualPool.js.map +1 -1
  74. package/dist/core/abis/virtualPoolFactory.d.ts +8 -0
  75. package/dist/core/abis/virtualPoolFactory.d.ts.map +1 -1
  76. package/dist/core/abis/virtualPoolFactory.js +1 -0
  77. package/dist/core/abis/virtualPoolFactory.js.map +1 -1
  78. package/dist/core/constants/aaveConfig.js +2 -2
  79. package/dist/core/constants/addresses.d.ts.map +1 -1
  80. package/dist/core/constants/addresses.js +9 -4
  81. package/dist/core/constants/addresses.js.map +1 -1
  82. package/dist/core/constants/borrowConstants.d.ts +10 -0
  83. package/dist/core/constants/borrowConstants.d.ts.map +1 -0
  84. package/dist/core/constants/borrowConstants.js +16 -0
  85. package/dist/core/constants/borrowConstants.js.map +1 -0
  86. package/dist/core/constants/borrowRegistries.d.ts +7 -0
  87. package/dist/core/constants/borrowRegistries.d.ts.map +1 -0
  88. package/dist/core/constants/borrowRegistries.js +31 -0
  89. package/dist/core/constants/borrowRegistries.js.map +1 -0
  90. package/dist/core/constants/index.d.ts +2 -0
  91. package/dist/core/constants/index.d.ts.map +1 -1
  92. package/dist/core/constants/index.js +2 -0
  93. package/dist/core/constants/index.js.map +1 -1
  94. package/dist/core/errors/index.d.ts +1 -0
  95. package/dist/core/errors/index.d.ts.map +1 -1
  96. package/dist/core/errors/index.js +1 -0
  97. package/dist/core/errors/index.js.map +1 -1
  98. package/dist/core/errors/oracle.d.ts +9 -0
  99. package/dist/core/errors/oracle.d.ts.map +1 -0
  100. package/dist/core/errors/oracle.js +15 -0
  101. package/dist/core/errors/oracle.js.map +1 -0
  102. package/dist/core/errors/router.d.ts +6 -0
  103. package/dist/core/errors/router.d.ts.map +1 -1
  104. package/dist/core/errors/router.js +11 -1
  105. package/dist/core/errors/router.js.map +1 -1
  106. package/dist/core/types/borrow.d.ts +87 -0
  107. package/dist/core/types/borrow.d.ts.map +1 -0
  108. package/dist/core/types/borrow.js +3 -0
  109. package/dist/core/types/borrow.js.map +1 -0
  110. package/dist/core/types/contractAddresses.d.ts +2 -0
  111. package/dist/core/types/contractAddresses.d.ts.map +1 -1
  112. package/dist/core/types/index.d.ts +5 -1
  113. package/dist/core/types/index.d.ts.map +1 -1
  114. package/dist/core/types/index.js +5 -1
  115. package/dist/core/types/index.js.map +1 -1
  116. package/dist/core/types/liquidity.d.ts +117 -0
  117. package/dist/core/types/liquidity.d.ts.map +1 -0
  118. package/dist/core/types/liquidity.js +3 -0
  119. package/dist/core/types/liquidity.js.map +1 -0
  120. package/dist/core/types/pool.d.ts +110 -0
  121. package/dist/core/types/pool.d.ts.map +1 -1
  122. package/dist/core/types/provider.d.ts.map +1 -1
  123. package/dist/core/types/provider.js +0 -1
  124. package/dist/core/types/provider.js.map +1 -1
  125. package/dist/core/types/route.d.ts +3 -3
  126. package/dist/core/types/route.d.ts.map +1 -1
  127. package/dist/core/types/token.d.ts +13 -3
  128. package/dist/core/types/token.d.ts.map +1 -1
  129. package/dist/core/types/tradingLimits.d.ts +91 -0
  130. package/dist/core/types/tradingLimits.d.ts.map +1 -0
  131. package/dist/core/types/tradingLimits.js +3 -0
  132. package/dist/core/types/tradingLimits.js.map +1 -0
  133. package/dist/core/types/tradingMode.d.ts +24 -0
  134. package/dist/core/types/tradingMode.d.ts.map +1 -0
  135. package/dist/core/types/tradingMode.js +31 -0
  136. package/dist/core/types/tradingMode.js.map +1 -0
  137. package/dist/core/types/transaction.d.ts +45 -0
  138. package/dist/core/types/transaction.d.ts.map +1 -0
  139. package/dist/core/types/transaction.js +3 -0
  140. package/dist/core/types/transaction.js.map +1 -0
  141. package/dist/index.d.ts +34 -8
  142. package/dist/index.d.ts.map +1 -1
  143. package/dist/index.js +47 -10
  144. package/dist/index.js.map +1 -1
  145. package/dist/services/borrow/BorrowService.d.ts +54 -0
  146. package/dist/services/borrow/BorrowService.d.ts.map +1 -0
  147. package/dist/services/borrow/BorrowService.js +129 -0
  148. package/dist/services/borrow/BorrowService.js.map +1 -0
  149. package/dist/services/borrow/borrowHelpers.d.ts +4 -0
  150. package/dist/services/borrow/borrowHelpers.d.ts.map +1 -0
  151. package/dist/services/borrow/borrowHelpers.js +13 -0
  152. package/dist/services/borrow/borrowHelpers.js.map +1 -0
  153. package/dist/services/borrow/borrowMath.d.ts +13 -0
  154. package/dist/services/borrow/borrowMath.d.ts.map +1 -0
  155. package/dist/services/borrow/borrowMath.js +129 -0
  156. package/dist/services/borrow/borrowMath.js.map +1 -0
  157. package/dist/services/borrow/index.d.ts +2 -0
  158. package/dist/services/borrow/index.d.ts.map +1 -0
  159. package/dist/services/borrow/index.js +18 -0
  160. package/dist/services/borrow/index.js.map +1 -0
  161. package/dist/services/borrow/internal/borrowApprovalService.d.ts +14 -0
  162. package/dist/services/borrow/internal/borrowApprovalService.d.ts.map +1 -0
  163. package/dist/services/borrow/internal/borrowApprovalService.js +53 -0
  164. package/dist/services/borrow/internal/borrowApprovalService.js.map +1 -0
  165. package/dist/services/borrow/internal/borrowContextStore.d.ts +11 -0
  166. package/dist/services/borrow/internal/borrowContextStore.d.ts.map +1 -0
  167. package/dist/services/borrow/internal/borrowContextStore.js +40 -0
  168. package/dist/services/borrow/internal/borrowContextStore.js.map +1 -0
  169. package/dist/services/borrow/internal/borrowErc20.d.ts +5 -0
  170. package/dist/services/borrow/internal/borrowErc20.d.ts.map +1 -0
  171. package/dist/services/borrow/internal/borrowErc20.js +43 -0
  172. package/dist/services/borrow/internal/borrowErc20.js.map +1 -0
  173. package/dist/services/borrow/internal/borrowHints.d.ts +7 -0
  174. package/dist/services/borrow/internal/borrowHints.d.ts.map +1 -0
  175. package/dist/services/borrow/internal/borrowHints.js +31 -0
  176. package/dist/services/borrow/internal/borrowHints.js.map +1 -0
  177. package/dist/services/borrow/internal/borrowPositionParser.d.ts +4 -0
  178. package/dist/services/borrow/internal/borrowPositionParser.d.ts.map +1 -0
  179. package/dist/services/borrow/internal/borrowPositionParser.js +87 -0
  180. package/dist/services/borrow/internal/borrowPositionParser.js.map +1 -0
  181. package/dist/services/borrow/internal/borrowReadService.d.ts +28 -0
  182. package/dist/services/borrow/internal/borrowReadService.d.ts.map +1 -0
  183. package/dist/services/borrow/internal/borrowReadService.js +218 -0
  184. package/dist/services/borrow/internal/borrowReadService.js.map +1 -0
  185. package/dist/services/borrow/internal/borrowRegistryReader.d.ts +5 -0
  186. package/dist/services/borrow/internal/borrowRegistryReader.d.ts.map +1 -0
  187. package/dist/services/borrow/internal/borrowRegistryReader.js +96 -0
  188. package/dist/services/borrow/internal/borrowRegistryReader.js.map +1 -0
  189. package/dist/services/borrow/internal/borrowTransactionService.d.ts +23 -0
  190. package/dist/services/borrow/internal/borrowTransactionService.d.ts.map +1 -0
  191. package/dist/services/borrow/internal/borrowTransactionService.js +276 -0
  192. package/dist/services/borrow/internal/borrowTransactionService.js.map +1 -0
  193. package/dist/services/borrow/internal/borrowTypes.d.ts +15 -0
  194. package/dist/services/borrow/internal/borrowTypes.d.ts.map +1 -0
  195. package/dist/services/borrow/internal/borrowTypes.js +3 -0
  196. package/dist/services/borrow/internal/borrowTypes.js.map +1 -0
  197. package/dist/services/borrow/internal/borrowValidation.d.ts +13 -0
  198. package/dist/services/borrow/internal/borrowValidation.d.ts.map +1 -0
  199. package/dist/services/borrow/internal/borrowValidation.js +96 -0
  200. package/dist/services/borrow/internal/borrowValidation.js.map +1 -0
  201. package/dist/services/index.d.ts +2 -0
  202. package/dist/services/index.d.ts.map +1 -1
  203. package/dist/services/index.js +2 -0
  204. package/dist/services/index.js.map +1 -1
  205. package/dist/services/liquidity/LiquidityService.d.ts +154 -0
  206. package/dist/services/liquidity/LiquidityService.d.ts.map +1 -0
  207. package/dist/services/liquidity/LiquidityService.js +184 -0
  208. package/dist/services/liquidity/LiquidityService.js.map +1 -0
  209. package/dist/services/liquidity/basicLiquidity.d.ts +11 -0
  210. package/dist/services/liquidity/basicLiquidity.d.ts.map +1 -0
  211. package/dist/services/liquidity/basicLiquidity.js +172 -0
  212. package/dist/services/liquidity/basicLiquidity.js.map +1 -0
  213. package/dist/services/liquidity/index.d.ts +2 -0
  214. package/dist/services/liquidity/index.d.ts.map +1 -0
  215. package/dist/services/liquidity/index.js +18 -0
  216. package/dist/services/liquidity/index.js.map +1 -0
  217. package/dist/services/liquidity/liquidityHelpers.d.ts +13 -0
  218. package/dist/services/liquidity/liquidityHelpers.d.ts.map +1 -0
  219. package/dist/services/liquidity/liquidityHelpers.js +74 -0
  220. package/dist/services/liquidity/liquidityHelpers.js.map +1 -0
  221. package/dist/services/liquidity/zapHelpers.d.ts +66 -0
  222. package/dist/services/liquidity/zapHelpers.d.ts.map +1 -0
  223. package/dist/services/liquidity/zapHelpers.js +133 -0
  224. package/dist/services/liquidity/zapHelpers.js.map +1 -0
  225. package/dist/services/liquidity/zapIn.d.ts +17 -0
  226. package/dist/services/liquidity/zapIn.d.ts.map +1 -0
  227. package/dist/services/liquidity/zapIn.js +125 -0
  228. package/dist/services/liquidity/zapIn.js.map +1 -0
  229. package/dist/services/liquidity/zapOut.d.ts +17 -0
  230. package/dist/services/liquidity/zapOut.d.ts.map +1 -0
  231. package/dist/services/liquidity/zapOut.js +242 -0
  232. package/dist/services/liquidity/zapOut.js.map +1 -0
  233. package/dist/services/pools/PoolService.d.ts +35 -10
  234. package/dist/services/pools/PoolService.d.ts.map +1 -1
  235. package/dist/services/pools/PoolService.js +61 -109
  236. package/dist/services/pools/PoolService.js.map +1 -1
  237. package/dist/services/pools/poolDetails.d.ts +11 -0
  238. package/dist/services/pools/poolDetails.d.ts.map +1 -0
  239. package/dist/services/pools/poolDetails.js +145 -0
  240. package/dist/services/pools/poolDetails.js.map +1 -0
  241. package/dist/services/pools/poolDiscovery.d.ts +12 -0
  242. package/dist/services/pools/poolDiscovery.d.ts.map +1 -0
  243. package/dist/services/pools/poolDiscovery.js +114 -0
  244. package/dist/services/pools/poolDiscovery.js.map +1 -0
  245. package/dist/services/quotes/QuoteService.d.ts +21 -12
  246. package/dist/services/quotes/QuoteService.d.ts.map +1 -1
  247. package/dist/services/quotes/QuoteService.js +41 -17
  248. package/dist/services/quotes/QuoteService.js.map +1 -1
  249. package/dist/services/routes/RouteService.d.ts +3 -3
  250. package/dist/services/routes/RouteService.d.ts.map +1 -1
  251. package/dist/services/routes/RouteService.js +3 -5
  252. package/dist/services/routes/RouteService.js.map +1 -1
  253. package/dist/services/swap/SwapService.d.ts +23 -19
  254. package/dist/services/swap/SwapService.d.ts.map +1 -1
  255. package/dist/services/swap/SwapService.js +36 -15
  256. package/dist/services/swap/SwapService.js.map +1 -1
  257. package/dist/services/tokens/supplyAdjustmentService.d.ts +0 -4
  258. package/dist/services/tokens/supplyAdjustmentService.d.ts.map +1 -1
  259. package/dist/services/tokens/supplyAdjustmentService.js +3 -8
  260. package/dist/services/tokens/supplyAdjustmentService.js.map +1 -1
  261. package/dist/services/tokens/tokenService.d.ts.map +1 -1
  262. package/dist/services/tokens/tokenService.js +2 -2
  263. package/dist/services/tokens/tokenService.js.map +1 -1
  264. package/dist/services/trading/TradingLimitsService.d.ts +38 -0
  265. package/dist/services/trading/TradingLimitsService.d.ts.map +1 -0
  266. package/dist/services/trading/TradingLimitsService.js +157 -0
  267. package/dist/services/trading/TradingLimitsService.js.map +1 -0
  268. package/dist/services/trading/TradingService.d.ts +110 -0
  269. package/dist/services/trading/TradingService.d.ts.map +1 -0
  270. package/dist/services/trading/TradingService.js +162 -0
  271. package/dist/services/trading/TradingService.js.map +1 -0
  272. package/dist/services/trading/index.d.ts +3 -0
  273. package/dist/services/trading/index.d.ts.map +1 -0
  274. package/dist/services/trading/index.js +19 -0
  275. package/dist/services/trading/index.js.map +1 -0
  276. package/dist/utils/costUtils.js +4 -4
  277. package/dist/utils/costUtils.js.map +1 -1
  278. package/dist/utils/deadline.d.ts +21 -0
  279. package/dist/utils/deadline.d.ts.map +1 -0
  280. package/dist/utils/deadline.js +26 -0
  281. package/dist/utils/deadline.js.map +1 -0
  282. package/dist/utils/index.d.ts +3 -0
  283. package/dist/utils/index.d.ts.map +1 -1
  284. package/dist/utils/index.js +3 -0
  285. package/dist/utils/index.js.map +1 -1
  286. package/dist/utils/pathEncoder.d.ts +8 -2
  287. package/dist/utils/pathEncoder.d.ts.map +1 -1
  288. package/dist/utils/pathEncoder.js +19 -3
  289. package/dist/utils/pathEncoder.js.map +1 -1
  290. package/dist/utils/rateFeed.d.ts +18 -0
  291. package/dist/utils/rateFeed.d.ts.map +1 -0
  292. package/dist/utils/rateFeed.js +27 -0
  293. package/dist/utils/rateFeed.js.map +1 -0
  294. package/dist/utils/routeUtils.d.ts +53 -53
  295. package/dist/utils/routeUtils.d.ts.map +1 -1
  296. package/dist/utils/routeUtils.js +41 -41
  297. package/dist/utils/routeUtils.js.map +1 -1
  298. package/dist/utils/routes.d.ts +2 -8
  299. package/dist/utils/routes.d.ts.map +1 -1
  300. package/dist/utils/routes.js +5 -46
  301. package/dist/utils/routes.js.map +1 -1
  302. package/dist/utils/tokens.d.ts +1 -77
  303. package/dist/utils/tokens.d.ts.map +1 -1
  304. package/dist/utils/tokens.js +10 -178
  305. package/dist/utils/tokens.js.map +1 -1
  306. package/dist/utils/tradingLimits.d.ts +41 -0
  307. package/dist/utils/tradingLimits.d.ts.map +1 -0
  308. package/dist/utils/tradingLimits.js +171 -0
  309. package/dist/utils/tradingLimits.js.map +1 -0
  310. package/dist/utils/validation.d.ts +19 -0
  311. package/dist/utils/validation.d.ts.map +1 -0
  312. package/dist/utils/validation.js +34 -0
  313. package/dist/utils/validation.js.map +1 -0
  314. package/package.json +3 -1
  315. package/dist/cache/routes.11142220.js +0 -1
  316. package/dist/cache/routes.42220.d.ts +0 -3
  317. package/dist/cache/routes.42220.d.ts.map +0 -1
  318. package/dist/cache/routes.42220.js +0 -112
  319. package/dist/cache/routes.42220.js.map +0 -1
  320. package/dist/cache/tokens.11142220.d.ts +0 -3
  321. package/dist/cache/tokens.11142220.d.ts.map +0 -1
  322. package/dist/cache/tokens.11142220.js +0 -129
  323. package/dist/cache/tokens.11142220.js.map +0 -1
  324. package/dist/cache/tokens.42220.d.ts +0 -3
  325. package/dist/cache/tokens.42220.d.ts.map +0 -1
  326. package/dist/cache/tokens.42220.js +0 -129
  327. package/dist/cache/tokens.42220.js.map +0 -1
@@ -31,5 +31,115 @@ export interface Pool {
31
31
  * The type of pool (FPMM or Virtual)
32
32
  */
33
33
  poolType: `${PoolType}`;
34
+ /**
35
+ * The exchange ID from BiPoolManager (Virtual pools only).
36
+ */
37
+ exchangeId?: string;
38
+ }
39
+ /**
40
+ * Pricing and oracle data for an FPMM pool
41
+ */
42
+ export interface FPMMPricing {
43
+ /** Raw oracle price numerator from contract */
44
+ oraclePriceNum: bigint;
45
+ /** Raw oracle price denominator from contract */
46
+ oraclePriceDen: bigint;
47
+ /** Oracle price as a decimal number (num / den) */
48
+ oraclePrice: number;
49
+ /** Raw reserve/pool price numerator from contract */
50
+ reservePriceNum: bigint;
51
+ /** Raw reserve/pool price denominator from contract */
52
+ reservePriceDen: bigint;
53
+ /** Reserve/pool price as a decimal number (num / den) */
54
+ reservePrice: number;
55
+ /** Price difference in basis points (raw from contract) */
56
+ priceDifferenceBps: bigint;
57
+ /** Price difference as a percentage (bps / 100, e.g. 12 bps → 0.12%) */
58
+ priceDifferencePercent: number;
59
+ /** Whether the reserve/pool price is above the oracle price */
60
+ reservePriceAboveOraclePrice: boolean;
34
61
  }
62
+ /**
63
+ * Fee configuration for an FPMM pool
64
+ */
65
+ export interface FPMMFees {
66
+ /** LP fee in basis points (raw) */
67
+ lpFeeBps: bigint;
68
+ /** LP fee as a percentage (e.g. 0.25 = 0.25%) */
69
+ lpFeePercent: number;
70
+ /** Protocol fee in basis points (raw) */
71
+ protocolFeeBps: bigint;
72
+ /** Protocol fee as a percentage */
73
+ protocolFeePercent: number;
74
+ /** Total fee (lpFee + protocolFee) as a percentage */
75
+ totalFeePercent: number;
76
+ }
77
+ /**
78
+ * Rebalancing state and configuration for an FPMM pool
79
+ */
80
+ export interface FPMMRebalancing {
81
+ /** Rebalance incentive in basis points (raw) */
82
+ rebalanceIncentiveBps: bigint;
83
+ /** Rebalance incentive as a percentage */
84
+ rebalanceIncentivePercent: number;
85
+ /** Threshold above oracle price in basis points (raw) */
86
+ rebalanceThresholdAboveBps: bigint;
87
+ /** Threshold above as a percentage */
88
+ rebalanceThresholdAbovePercent: number;
89
+ /** Threshold below oracle price in basis points (raw) */
90
+ rebalanceThresholdBelowBps: bigint;
91
+ /** Threshold below as a percentage */
92
+ rebalanceThresholdBelowPercent: number;
93
+ /** Whether the current price is within rebalancing thresholds (null when pricing unavailable) */
94
+ inBand: boolean | null;
95
+ /** The active liquidity strategy address for this pool, or null if none */
96
+ liquidityStrategy: string | null;
97
+ }
98
+ /**
99
+ * Enriched details for an FPMM pool including pricing, fees, and rebalancing state
100
+ */
101
+ export interface FPMMPoolDetails extends Pool {
102
+ poolType: 'FPMM';
103
+ /** Scaling factor for token0 (10^tokenDecimals) */
104
+ scalingFactor0: bigint;
105
+ /** Scaling factor for token1 (10^tokenDecimals) */
106
+ scalingFactor1: bigint;
107
+ /** Reserve of token0 (raw) */
108
+ reserve0: bigint;
109
+ /** Reserve of token1 (raw) */
110
+ reserve1: bigint;
111
+ /** Block timestamp of last reserve update */
112
+ blockTimestampLast: bigint;
113
+ /** Pricing and oracle data (null when FX market is closed) */
114
+ pricing: FPMMPricing | null;
115
+ /** Fee configuration */
116
+ fees: FPMMFees;
117
+ /** Rebalancing state */
118
+ rebalancing: FPMMRebalancing;
119
+ }
120
+ /**
121
+ * Enriched details for a Virtual pool including reserves and spread
122
+ */
123
+ export interface VirtualPoolDetails extends Pool {
124
+ poolType: 'Virtual';
125
+ /** Scaling factor for token0 (10^tokenDecimals) */
126
+ scalingFactor0: bigint;
127
+ /** Scaling factor for token1 (10^tokenDecimals) */
128
+ scalingFactor1: bigint;
129
+ /** Reserve (bucket) of token0 (raw) */
130
+ reserve0: bigint;
131
+ /** Reserve (bucket) of token1 (raw) */
132
+ reserve1: bigint;
133
+ /** Block timestamp of last reserve update */
134
+ blockTimestampLast: bigint;
135
+ /** Spread/fee in basis points (raw) */
136
+ spreadBps: bigint;
137
+ /** Spread as a percentage (e.g. 0.5 = 0.5%) */
138
+ spreadPercent: number;
139
+ }
140
+ /**
141
+ * Discriminated union of enriched pool details.
142
+ * Use `poolType` to narrow the type.
143
+ */
144
+ export type PoolDetails = FPMMPoolDetails | VirtualPoolDetails;
35
145
  //# sourceMappingURL=pool.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../../src/core/types/pool.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,QAAQ;IAClB,gEAAgE;IAChE,IAAI,SAAS;IACb,gEAAgE;IAChE,OAAO,YAAY;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAA;IAEhB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IAEd;;OAEG;IACH,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAA;CACxB"}
1
+ {"version":3,"file":"pool.d.ts","sourceRoot":"","sources":["../../../src/core/types/pool.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/core/types/provider.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;CACd"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../src/core/types/provider.ts"],"names":[],"mappings":"AACA,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;CACd"}
@@ -1,4 +1,3 @@
1
1
  "use strict";
2
- // TODO: Review and rename this file to something more descriptive
3
2
  Object.defineProperty(exports, "__esModule", { value: true });
4
3
  //# sourceMappingURL=provider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/core/types/provider.ts"],"names":[],"mappings":";AAAA,kEAAkE"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/core/types/provider.ts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  import { Pool } from './pool';
2
- import { Token } from './token';
2
+ import { RouteToken } from './token';
3
3
  /**
4
4
  * Route identifier: sorted symbols joined with hyphen
5
5
  * Represents the two endpoint tokens regardless of the path taken
@@ -11,7 +11,7 @@ export type RouteID = `${string}-${string}`;
11
11
  export interface Route {
12
12
  /**
13
13
  * Canonical identifier: sorted symbols joined with hyphen
14
- * Always uses alphabetical order (e.g., 'cEUR-cUSD' not 'cUSD-cEUR')
14
+ * Always uses alphabetical order (e.g., 'EURm-USDm' not 'USDm-EURm')
15
15
  * Ensures consistent identification regardless of query direction
16
16
  */
17
17
  id: RouteID;
@@ -19,7 +19,7 @@ export interface Route {
19
19
  * The two tokens being traded, in alphabetical order by symbol
20
20
  * Always [symbolA, symbolB] where symbolA < symbolB alphabetically
21
21
  */
22
- tokens: [Token, Token];
22
+ tokens: [RouteToken, RouteToken];
23
23
  /**
24
24
  * Array of exchange hops needed to execute the trade
25
25
  * Length 1: Direct route (single pool)
@@ -1 +1 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/core/types/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAE/B;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAA;AAE3C;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB;;;;OAIG;IACH,EAAE,EAAE,OAAO,CAAA;IAEX;;;OAGG;IACH,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;IAEtB;;;;;OAKG;IACH,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,KAAK;IAC1C;;;OAGG;IACH,QAAQ,EAAE;QACR;;;;WAIG;QACH,gBAAgB,EAAE,MAAM,CAAA;QAExB;;;WAGG;QACH,IAAI,EAAE,KAAK,CAAC;YACV;;eAEG;YACH,WAAW,EAAE,MAAM,CAAA;YAEnB;;eAEG;YACH,WAAW,EAAE,MAAM,CAAA;SACpB,CAAC,CAAA;KACH,CAAA;CACF"}
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../src/core/types/route.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpC;;;GAGG;AACH,MAAM,MAAM,OAAO,GAAG,GAAG,MAAM,IAAI,MAAM,EAAE,CAAA;AAE3C;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB;;;;OAIG;IACH,EAAE,EAAE,OAAO,CAAA;IAEX;;;OAGG;IACH,MAAM,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,CAAA;IAEhC;;;;;OAKG;IACH,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,KAAK;IAC1C;;;OAGG;IACH,QAAQ,EAAE;QACR;;;;WAIG;QACH,gBAAgB,EAAE,MAAM,CAAA;QAExB;;;WAGG;QACH,IAAI,EAAE,KAAK,CAAC;YACV;;eAEG;YACH,WAAW,EAAE,MAAM,CAAA;YAEnB;;eAEG;YACH,WAAW,EAAE,MAAM,CAAA;SACpB,CAAC,CAAA;KACH,CAAA;CACF"}
@@ -1,9 +1,19 @@
1
1
  import { ISupplyCalculator } from '../../services';
2
- export interface Token {
2
+ /**
3
+ * Minimal token info for routing purposes.
4
+ * Contains only the fields needed to identify and route between tokens.
5
+ */
6
+ export interface RouteToken {
3
7
  address: string;
4
8
  symbol: string;
5
- name?: string;
6
- decimals?: number;
9
+ }
10
+ /**
11
+ * Full token info for consumer-facing operations.
12
+ * Extends RouteToken with display and transaction fields.
13
+ */
14
+ export interface Token extends RouteToken {
15
+ name: string;
16
+ decimals: number;
7
17
  }
8
18
  export interface StableToken extends Token {
9
19
  totalSupply: string;
@@ -1 +1 @@
1
- {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../src/core/types/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAElD,MAAM,WAAW,KAAK;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,WAAY,SAAQ,KAAK;IACxC,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,eAAe,GAAG,KAAK,CAAA;AAEnC;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,iBAAiB,CAAA;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,gBAAgB,EAAE,CAAA;CACnD"}
1
+ {"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../src/core/types/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAElD;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,EAAE,MAAM,CAAA;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,KAAM,SAAQ,UAAU;IACvC,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,WAAY,SAAQ,KAAK;IACxC,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,eAAe,GAAG,KAAK,CAAA;AAEnC;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,iBAAiB,CAAA;CAC9B;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,gBAAgB,EAAE,CAAA;CACnD"}
@@ -0,0 +1,91 @@
1
+ /**
2
+ * Human-friendly representation of a trading limit.
3
+ * Used by frontends to display limit status and calculate remaining capacity.
4
+ */
5
+ export interface TradingLimit {
6
+ /** Token address this limit applies to */
7
+ asset: string;
8
+ /** Maximum amount that can flow IN (raw value - V1: 0 decimals, V2: 15 decimals) */
9
+ maxIn: bigint;
10
+ /** Maximum amount that can flow OUT (raw value - V1: 0 decimals, V2: 15 decimals) */
11
+ maxOut: bigint;
12
+ /** Unix timestamp when this limit window resets */
13
+ until: number;
14
+ /** Token decimals for consumer scaling */
15
+ decimals: number;
16
+ }
17
+ /**
18
+ * Trading limits configuration for V1 (Broker/Virtual pools).
19
+ * Uses configurable timeframes and 0 decimal precision.
20
+ */
21
+ export interface TradingLimitsConfigV1 {
22
+ /** Time window in seconds for L0 limit */
23
+ timestep0: number;
24
+ /** Time window in seconds for L1 limit */
25
+ timestep1: number;
26
+ /** L0 limit value (0 decimal precision) */
27
+ limit0: bigint;
28
+ /** L1 limit value (0 decimal precision) */
29
+ limit1: bigint;
30
+ /** Global limit value (0 decimal precision) */
31
+ limitGlobal: bigint;
32
+ /** Flags bitmap: bit 0=L0, bit 1=L1, bit 2=LG */
33
+ flags: number;
34
+ }
35
+ /**
36
+ * Trading limits state for V1 (Broker/Virtual pools).
37
+ */
38
+ export interface TradingLimitsStateV1 {
39
+ /** Timestamp of last L0 window reset */
40
+ lastUpdated0: number;
41
+ /** Timestamp of last L1 window reset */
42
+ lastUpdated1: number;
43
+ /** Current netflow for L0 (0 decimal precision) */
44
+ netflow0: bigint;
45
+ /** Current netflow for L1 (0 decimal precision) */
46
+ netflow1: bigint;
47
+ /** Current global netflow (0 decimal precision) */
48
+ netflowGlobal: bigint;
49
+ }
50
+ /**
51
+ * Trading limits configuration for V2 (FPMM pools).
52
+ * Uses fixed timeframes (5 min for L0, 1 day for L1) and 15 decimal precision.
53
+ */
54
+ export interface TradingLimitsConfigV2 {
55
+ /** L0 limit value (15 decimal precision) */
56
+ limit0: bigint;
57
+ /** L1 limit value (15 decimal precision) */
58
+ limit1: bigint;
59
+ /** Token decimals */
60
+ decimals: number;
61
+ }
62
+ /**
63
+ * Trading limits state for V2 (FPMM pools).
64
+ */
65
+ export interface TradingLimitsStateV2 {
66
+ /** Timestamp of last L0 window reset */
67
+ lastUpdated0: number;
68
+ /** Timestamp of last L1 window reset */
69
+ lastUpdated1: number;
70
+ /** Current netflow for L0 (15 decimal precision) */
71
+ netflow0: bigint;
72
+ /** Current netflow for L1 (15 decimal precision) */
73
+ netflow1: bigint;
74
+ }
75
+ /**
76
+ * Combined tradability status for a pool.
77
+ * Separates circuit breaker and trading limits for distinct UI messaging.
78
+ */
79
+ export interface PoolTradabilityStatus {
80
+ /** Overall tradability (circuitBreakerOk AND limitsOk) */
81
+ tradable: boolean;
82
+ /** Circuit breaker status - true if not tripped */
83
+ circuitBreakerOk: boolean;
84
+ /** Raw trading mode value (0 = BIDIRECTIONAL, non-zero = suspended) */
85
+ tradingMode: number;
86
+ /** Trading limits status - true if limits not exhausted */
87
+ limitsOk: boolean;
88
+ /** Detailed limit info for UI display */
89
+ limits: TradingLimit[];
90
+ }
91
+ //# sourceMappingURL=tradingLimits.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tradingLimits.d.ts","sourceRoot":"","sources":["../../../src/core/types/tradingLimits.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,0CAA0C;IAC1C,KAAK,EAAE,MAAM,CAAA;IACb,oFAAoF;IACpF,KAAK,EAAE,MAAM,CAAA;IACb,qFAAqF;IACrF,MAAM,EAAE,MAAM,CAAA;IACd,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAA;IACb,0CAA0C;IAC1C,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAA;IACjB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAA;IACjB,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAA;IACd,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAA;IACd,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAA;IACpB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAA;IACpB,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAA;IAChB,mDAAmD;IACnD,QAAQ,EAAE,MAAM,CAAA;IAChB,mDAAmD;IACnD,aAAa,EAAE,MAAM,CAAA;CACtB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAA;IACd,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAA;IACd,qBAAqB;IACrB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAA;IACpB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAA;IACpB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAA;IAChB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,0DAA0D;IAC1D,QAAQ,EAAE,OAAO,CAAA;IAEjB,mDAAmD;IACnD,gBAAgB,EAAE,OAAO,CAAA;IACzB,uEAAuE;IACvE,WAAW,EAAE,MAAM,CAAA;IAEnB,2DAA2D;IAC3D,QAAQ,EAAE,OAAO,CAAA;IACjB,yCAAyC;IACzC,MAAM,EAAE,YAAY,EAAE,CAAA;CACvB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=tradingLimits.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tradingLimits.js","sourceRoot":"","sources":["../../../src/core/types/tradingLimits.ts"],"names":[],"mappings":""}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Trading modes for rate feeds in the BreakerBox circuit breaker.
3
+ *
4
+ * The BreakerBox uses a bitmask approach where multiple breakers can
5
+ * contribute to the final trading mode. In practice:
6
+ * - 0 = Bidirectional (trading enabled)
7
+ * - Any non-zero value = Trading suspended
8
+ *
9
+ * For SDK consumers, use isTradingEnabled() helper to check if trading
10
+ * is allowed.
11
+ */
12
+ export declare enum TradingMode {
13
+ /** Bidirectional trading is enabled (normal operation) */
14
+ BIDIRECTIONAL = 0,
15
+ /** Trading is suspended (circuit breaker tripped) - any non-zero value */
16
+ SUSPENDED = 1
17
+ }
18
+ /**
19
+ * Check if trading is enabled for a given trading mode.
20
+ * @param mode - The trading mode value from BreakerBox
21
+ * @returns true if trading is enabled (mode === 0)
22
+ */
23
+ export declare function isTradingEnabled(mode: number): boolean;
24
+ //# sourceMappingURL=tradingMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tradingMode.d.ts","sourceRoot":"","sources":["../../../src/core/types/tradingMode.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,oBAAY,WAAW;IACrB,0DAA0D;IAC1D,aAAa,IAAI;IACjB,0EAA0E;IAC1E,SAAS,IAAI;CACd;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEtD"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TradingMode = void 0;
4
+ exports.isTradingEnabled = isTradingEnabled;
5
+ /**
6
+ * Trading modes for rate feeds in the BreakerBox circuit breaker.
7
+ *
8
+ * The BreakerBox uses a bitmask approach where multiple breakers can
9
+ * contribute to the final trading mode. In practice:
10
+ * - 0 = Bidirectional (trading enabled)
11
+ * - Any non-zero value = Trading suspended
12
+ *
13
+ * For SDK consumers, use isTradingEnabled() helper to check if trading
14
+ * is allowed.
15
+ */
16
+ var TradingMode;
17
+ (function (TradingMode) {
18
+ /** Bidirectional trading is enabled (normal operation) */
19
+ TradingMode[TradingMode["BIDIRECTIONAL"] = 0] = "BIDIRECTIONAL";
20
+ /** Trading is suspended (circuit breaker tripped) - any non-zero value */
21
+ TradingMode[TradingMode["SUSPENDED"] = 1] = "SUSPENDED";
22
+ })(TradingMode || (exports.TradingMode = TradingMode = {}));
23
+ /**
24
+ * Check if trading is enabled for a given trading mode.
25
+ * @param mode - The trading mode value from BreakerBox
26
+ * @returns true if trading is enabled (mode === 0)
27
+ */
28
+ function isTradingEnabled(mode) {
29
+ return mode === TradingMode.BIDIRECTIONAL;
30
+ }
31
+ //# sourceMappingURL=tradingMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tradingMode.js","sourceRoot":"","sources":["../../../src/core/types/tradingMode.ts"],"names":[],"mappings":";;;AAuBA,4CAEC;AAzBD;;;;;;;;;;GAUG;AACH,IAAY,WAKX;AALD,WAAY,WAAW;IACrB,0DAA0D;IAC1D,+DAAiB,CAAA;IACjB,0EAA0E;IAC1E,uDAAa,CAAA;AACf,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,IAAY;IAC3C,OAAO,IAAI,KAAK,WAAW,CAAC,aAAa,CAAA;AAC3C,CAAC"}
@@ -0,0 +1,45 @@
1
+ export interface ContractCallOptions {
2
+ address: string;
3
+ abi: string[] | unknown[];
4
+ functionName: string;
5
+ args?: unknown[];
6
+ }
7
+ /**
8
+ * Contract write options for building call parameters
9
+ *
10
+ * Configuration for building transaction call parameters for write operations.
11
+ * These parameters can be used by consumers to execute transactions themselves.
12
+ */
13
+ export interface ContractWriteOptions extends ContractCallOptions {
14
+ /**
15
+ * Optional gas limit override
16
+ * If not provided, will be estimated automatically
17
+ */
18
+ gasLimit?: bigint;
19
+ /**
20
+ * Transaction value in wei
21
+ * For payable functions only
22
+ */
23
+ value?: bigint;
24
+ }
25
+ /**
26
+ * Call parameters for executing a contract transaction
27
+ *
28
+ * Contains all the data needed to execute a contract call.
29
+ * Consumers can use these parameters with their own wallet/signer to execute transactions.
30
+ */
31
+ export interface CallParams {
32
+ /**
33
+ * Contract address to call
34
+ */
35
+ to: string;
36
+ /**
37
+ * Encoded function call data (hex string)
38
+ */
39
+ data: string;
40
+ /**
41
+ * Transaction value in wei (hex string with 0x prefix)
42
+ */
43
+ value: string;
44
+ }
45
+ //# sourceMappingURL=transaction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../../../src/core/types/transaction.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAA;IACzB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAA;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAqB,SAAQ,mBAAmB;IAC/D;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAA;IAEV;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;OAEG;IACH,KAAK,EAAE,MAAM,CAAA;CACd"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=transaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/core/types/transaction.ts"],"names":[],"mappings":""}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,12 @@
1
1
  import { ContractAddresses } from './core/types';
2
- import { TokenService } from '@services/tokens';
3
- import { PoolService } from '@services/pools';
4
- import { RouteService } from '@services/routes';
5
- import { QuoteService } from '@services/quotes';
6
- import { SwapService } from '@services/swap';
2
+ import { TokenService } from './services/tokens';
3
+ import { PoolService } from './services/pools';
4
+ import { RouteService } from './services/routes';
5
+ import { QuoteService } from './services/quotes';
6
+ import { SwapService } from './services/swap';
7
+ import { TradingService } from './services/trading';
8
+ import { LiquidityService } from './services/liquidity';
9
+ import { BorrowService } from './services/borrow';
7
10
  /**
8
11
  * @class Mento
9
12
  * @description The main class for the Mento SDK. Initializes a viem PublicClient internally
@@ -23,13 +26,32 @@ import { SwapService } from '@services/swap';
23
26
  * const pools = await mento.pools.getPools();
24
27
  *
25
28
  * // Find a route between tokens
26
- * const route = await mento.routes.findRoute(cUSD, CELO);
29
+ * const route = await mento.routes.findRoute(USDm, CELO);
27
30
  *
28
31
  * // Get a quote for a swap
29
- * const amountOut = await mento.quotes.getAmountOut(cUSD, CELO, amountIn);
32
+ * const amountOut = await mento.quotes.getAmountOut(USDm, CELO, amountIn);
30
33
  *
31
34
  * // Build swap parameters
32
- * const swapDetails = await mento.swap.buildSwapParams(cUSD, CELO, amountIn, { slippageTolerance: 0.5 });
35
+ * const swapDetails = await mento.swap.buildSwapParams(USDm, CELO, amountIn, recipient, { slippageTolerance: 0.5, deadline: deadlineFromMinutes(5) });
36
+ *
37
+ * // Check if a pair is tradable (circuit breaker check)
38
+ * const isTradable = await mento.trading.isPairTradable(USDm, CELO);
39
+ *
40
+ * // Get trading limits for a pool
41
+ * const limits = await mento.trading.getPoolTradingLimits(pool);
42
+ *
43
+ * // Get full tradability status (circuit breaker + limits)
44
+ * const status = await mento.trading.getPoolTradabilityStatus(pool);
45
+ *
46
+ * // Add liquidity to a pool
47
+ * const { approval0, approval1, addLiquidity } = await mento.liquidity.buildAddLiquidityTransaction(
48
+ * poolAddress, amount0, amount1, recipient, owner, { slippageTolerance: 0.5, deadline: deadlineFromMinutes(5) }
49
+ * );
50
+ *
51
+ * // Add liquidity using a single token (zap in)
52
+ * const { approval, zapIn } = await mento.liquidity.buildZapInTransaction(
53
+ * poolAddress, tokenIn, amountIn, 0.5, recipient, owner, { slippageTolerance: 0.5, deadline: deadlineFromMinutes(5) }
54
+ * );
33
55
  */
34
56
  export declare class Mento {
35
57
  private chainId;
@@ -38,6 +60,9 @@ export declare class Mento {
38
60
  routes: RouteService;
39
61
  quotes: QuoteService;
40
62
  swap: SwapService;
63
+ trading: TradingService;
64
+ liquidity: LiquidityService;
65
+ borrow: BorrowService;
41
66
  private constructor();
42
67
  /**
43
68
  * Create a new Mento SDK instance
@@ -54,6 +79,7 @@ export declare class Mento {
54
79
  getContractAddress(contractName: keyof ContractAddresses): string;
55
80
  }
56
81
  export * from './core/constants';
82
+ export * from './core/errors';
57
83
  export * from './core/types';
58
84
  export * from './core/abis';
59
85
  export * from './services';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAIhD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBAAa,KAAK;IAEd,OAAO,CAAC,OAAO;IACR,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,WAAW;IAClB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,IAAI,EAAE,WAAW;IAN1B,OAAO;IASP;;;;;OAKG;WACiB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAoB5E;;;;OAIG;IACI,kBAAkB,CAAC,YAAY,EAAE,MAAM,iBAAiB,GAAG,MAAM;CAGzE;AAED,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAIhD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AAIjD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AACH,qBAAa,KAAK;IAEd,OAAO,CAAC,OAAO;IACR,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,WAAW;IAClB,MAAM,EAAE,YAAY;IACpB,MAAM,EAAE,YAAY;IACpB,IAAI,EAAE,WAAW;IACjB,OAAO,EAAE,cAAc;IACvB,SAAS,EAAE,gBAAgB;IAC3B,MAAM,EAAE,aAAa;IAT9B,OAAO;IAYP;;;;;OAKG;WACiB,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IA0C5E;;;;OAIG;IACI,kBAAkB,CAAC,YAAY,EAAE,MAAM,iBAAiB,GAAG,MAAM;CAGzE;AAED,cAAc,kBAAkB,CAAA;AAChC,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA;AAC1B,cAAc,SAAS,CAAA"}
package/dist/index.js CHANGED
@@ -16,13 +16,18 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.Mento = void 0;
18
18
  const viem_1 = require("viem");
19
+ const chainId_1 = require("./core/constants/chainId");
19
20
  const addresses_1 = require("./core/constants/addresses");
20
21
  const chainConfig_1 = require("./utils/chainConfig");
21
- const tokens_1 = require("@services/tokens");
22
- const pools_1 = require("@services/pools");
23
- const routes_1 = require("@services/routes");
24
- const quotes_1 = require("@services/quotes");
25
- const swap_1 = require("@services/swap");
22
+ const tokens_1 = require("./services/tokens");
23
+ const pools_1 = require("./services/pools");
24
+ const routes_1 = require("./services/routes");
25
+ const quotes_1 = require("./services/quotes");
26
+ const swap_1 = require("./services/swap");
27
+ const trading_1 = require("./services/trading");
28
+ const liquidity_1 = require("./services/liquidity");
29
+ const borrow_1 = require("./services/borrow");
30
+ // TODO: Ensure there are no silent errors in the codebase
26
31
  /**
27
32
  * @class Mento
28
33
  * @description The main class for the Mento SDK. Initializes a viem PublicClient internally
@@ -42,22 +47,44 @@ const swap_1 = require("@services/swap");
42
47
  * const pools = await mento.pools.getPools();
43
48
  *
44
49
  * // Find a route between tokens
45
- * const route = await mento.routes.findRoute(cUSD, CELO);
50
+ * const route = await mento.routes.findRoute(USDm, CELO);
46
51
  *
47
52
  * // Get a quote for a swap
48
- * const amountOut = await mento.quotes.getAmountOut(cUSD, CELO, amountIn);
53
+ * const amountOut = await mento.quotes.getAmountOut(USDm, CELO, amountIn);
49
54
  *
50
55
  * // Build swap parameters
51
- * const swapDetails = await mento.swap.buildSwapParams(cUSD, CELO, amountIn, { slippageTolerance: 0.5 });
56
+ * const swapDetails = await mento.swap.buildSwapParams(USDm, CELO, amountIn, recipient, { slippageTolerance: 0.5, deadline: deadlineFromMinutes(5) });
57
+ *
58
+ * // Check if a pair is tradable (circuit breaker check)
59
+ * const isTradable = await mento.trading.isPairTradable(USDm, CELO);
60
+ *
61
+ * // Get trading limits for a pool
62
+ * const limits = await mento.trading.getPoolTradingLimits(pool);
63
+ *
64
+ * // Get full tradability status (circuit breaker + limits)
65
+ * const status = await mento.trading.getPoolTradabilityStatus(pool);
66
+ *
67
+ * // Add liquidity to a pool
68
+ * const { approval0, approval1, addLiquidity } = await mento.liquidity.buildAddLiquidityTransaction(
69
+ * poolAddress, amount0, amount1, recipient, owner, { slippageTolerance: 0.5, deadline: deadlineFromMinutes(5) }
70
+ * );
71
+ *
72
+ * // Add liquidity using a single token (zap in)
73
+ * const { approval, zapIn } = await mento.liquidity.buildZapInTransaction(
74
+ * poolAddress, tokenIn, amountIn, 0.5, recipient, owner, { slippageTolerance: 0.5, deadline: deadlineFromMinutes(5) }
75
+ * );
52
76
  */
53
77
  class Mento {
54
- constructor(chainId, tokens, pools, routes, quotes, swap) {
78
+ constructor(chainId, tokens, pools, routes, quotes, swap, trading, liquidity, borrow) {
55
79
  this.chainId = chainId;
56
80
  this.tokens = tokens;
57
81
  this.pools = pools;
58
82
  this.routes = routes;
59
83
  this.quotes = quotes;
60
84
  this.swap = swap;
85
+ this.trading = trading;
86
+ this.liquidity = liquidity;
87
+ this.borrow = borrow;
61
88
  }
62
89
  /**
63
90
  * Create a new Mento SDK instance
@@ -66,6 +93,12 @@ class Mento {
66
93
  * @returns A new Mento instance
67
94
  */
68
95
  static async create(chainId, rpcUrl) {
96
+ // Validate chainId is supported
97
+ const supportedChainIds = Object.values(chainId_1.ChainId).filter((v) => typeof v === 'number');
98
+ if (!supportedChainIds.includes(chainId)) {
99
+ throw new Error(`ChainId ${chainId} is not supported. ` +
100
+ `Supported chains: ${supportedChainIds.map((id) => `${id} (${chainId_1.ChainId[id]})`).join(', ')}`);
101
+ }
69
102
  // Use provided RPC URL or default for the chain
70
103
  const transport = (0, viem_1.http)(rpcUrl || (0, chainConfig_1.getDefaultRpcUrl)(chainId));
71
104
  // Create viem PublicClient
@@ -78,8 +111,11 @@ class Mento {
78
111
  const routeService = new routes_1.RouteService(publicClient, chainId, poolService);
79
112
  const quoteService = new quotes_1.QuoteService(publicClient, chainId, routeService);
80
113
  const swapService = new swap_1.SwapService(publicClient, chainId, routeService, quoteService);
114
+ const tradingService = new trading_1.TradingService(publicClient, chainId, routeService);
115
+ const liquidityService = new liquidity_1.LiquidityService(publicClient, chainId, poolService, routeService);
116
+ const borrowService = new borrow_1.BorrowService(publicClient, chainId);
81
117
  // Return new mento
82
- return new Mento(chainId, tokenService, poolService, routeService, quoteService, swapService);
118
+ return new Mento(chainId, tokenService, poolService, routeService, quoteService, swapService, tradingService, liquidityService, borrowService);
83
119
  }
84
120
  /**
85
121
  * Get the address of a contract for the current chain
@@ -92,6 +128,7 @@ class Mento {
92
128
  }
93
129
  exports.Mento = Mento;
94
130
  __exportStar(require("./core/constants"), exports);
131
+ __exportStar(require("./core/errors"), exports);
95
132
  __exportStar(require("./core/types"), exports);
96
133
  __exportStar(require("./core/abis"), exports);
97
134
  __exportStar(require("./services"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,+BAAkE;AAGlE,0DAA+D;AAC/D,qDAAsE;AACtE,6CAA+C;AAC/C,2CAA6C;AAC7C,6CAA+C;AAC/C,6CAA+C;AAC/C,yCAA4C;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAa,KAAK;IAChB,YACU,OAAe,EAChB,MAAoB,EACpB,KAAkB,EAClB,MAAoB,EACpB,MAAoB,EACpB,IAAiB;QALhB,YAAO,GAAP,OAAO,CAAQ;QAChB,WAAM,GAAN,MAAM,CAAc;QACpB,UAAK,GAAL,KAAK,CAAa;QAClB,WAAM,GAAN,MAAM,CAAc;QACpB,WAAM,GAAN,MAAM,CAAc;QACpB,SAAI,GAAJ,IAAI,CAAa;IACvB,CAAC;IAEJ;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,MAAe;QACzD,gDAAgD;QAChD,MAAM,SAAS,GAAG,IAAA,WAAI,EAAC,MAAM,IAAI,IAAA,8BAAgB,EAAC,OAAO,CAAC,CAAC,CAAA;QAE3D,2BAA2B;QAC3B,MAAM,YAAY,GAAG,IAAA,yBAAkB,EAAC;YACtC,KAAK,EAAE,IAAA,4BAAc,EAAC,OAAO,CAAC;YAC9B,SAAS;SACV,CAAC,CAAA;QAEF,MAAM,YAAY,GAAG,IAAI,qBAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAC5D,MAAM,WAAW,GAAG,IAAI,mBAAW,CAAC,YAAY,EAAE,OAAO,CAAC,CAAA;QAC1D,MAAM,YAAY,GAAG,IAAI,qBAAY,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAA;QACzE,MAAM,YAAY,GAAG,IAAI,qBAAY,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,CAAC,CAAA;QAC1E,MAAM,WAAW,GAAG,IAAI,kBAAW,CAAC,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,CAAC,CAAA;QAEtF,mBAAmB;QACnB,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,WAAW,CAAC,CAAA;IAC/F,CAAC;IAED;;;;OAIG;IACI,kBAAkB,CAAC,YAAqC;QAC7D,OAAO,IAAA,8BAAkB,EAAC,IAAI,CAAC,OAAkB,EAAE,YAAY,CAAC,CAAA;IAClE,CAAC;CACF;AA5CD,sBA4CC;AAED,mDAAgC;AAChC,+CAA4B;AAC5B,8CAA2B;AAC3B,6CAA0B;AAC1B,0CAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}