@mento-protocol/mento-sdk 3.2.7 → 3.3.0-beta.0

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 (302) hide show
  1. package/dist/cache/routes.d.ts +13 -0
  2. package/dist/cache/routes.js +14588 -0
  3. package/dist/cache/tokens.d.ts +68 -0
  4. package/dist/cache/tokens.js +514 -0
  5. package/dist/core/abis/activePool.d.ts +2 -0
  6. package/dist/core/abis/activePool.js +14 -0
  7. package/dist/core/abis/addressesRegistry.d.ts +2 -0
  8. package/dist/core/abis/addressesRegistry.js +26 -0
  9. package/dist/core/abis/bipoolmanager.d.ts +34 -0
  10. package/dist/core/abis/bipoolmanager.js +72 -0
  11. package/dist/core/abis/borrowerOperations.d.ts +9 -0
  12. package/dist/core/abis/borrowerOperations.js +89 -0
  13. package/dist/core/abis/breakerbox.d.ts +13 -0
  14. package/dist/core/abis/breakerbox.js +8 -0
  15. package/dist/core/abis/broker.d.ts +2 -0
  16. package/dist/core/abis/broker.js +9 -0
  17. package/dist/core/abis/erc20.d.ts +9 -0
  18. package/dist/core/abis/erc20.js +21 -0
  19. package/dist/core/abis/fpmm.d.ts +270 -0
  20. package/dist/core/abis/fpmm.js +49 -0
  21. package/dist/core/abis/fpmmFactory.d.ts +85 -0
  22. package/dist/core/abis/fpmmFactory.js +26 -0
  23. package/dist/core/abis/hintHelpers.d.ts +2 -0
  24. package/dist/core/abis/hintHelpers.js +14 -0
  25. package/dist/core/abis/index.d.ts +22 -0
  26. package/dist/core/abis/index.js +38 -0
  27. package/dist/core/abis/liquidityStrategy.d.ts +132 -0
  28. package/dist/core/abis/liquidityStrategy.js +10 -0
  29. package/dist/core/abis/multiTroveGetter.d.ts +8 -0
  30. package/dist/core/abis/multiTroveGetter.js +15 -0
  31. package/dist/core/abis/priceFeed.d.ts +7 -0
  32. package/dist/core/abis/priceFeed.js +16 -0
  33. package/dist/core/abis/pricingmodule.d.ts +2 -0
  34. package/dist/core/abis/pricingmodule.js +6 -0
  35. package/dist/core/abis/reserve.d.ts +3 -0
  36. package/dist/core/abis/reserve.js +18 -0
  37. package/dist/core/abis/router.d.ts +521 -0
  38. package/dist/core/abis/router.js +45 -0
  39. package/dist/core/abis/sortedTroves.d.ts +2 -0
  40. package/dist/core/abis/sortedTroves.js +15 -0
  41. package/dist/core/abis/systemParams.d.ts +2 -0
  42. package/dist/core/abis/systemParams.js +14 -0
  43. package/dist/core/abis/troveManager.d.ts +2 -0
  44. package/dist/core/abis/troveManager.js +27 -0
  45. package/dist/core/abis/troveNFT.d.ts +2 -0
  46. package/dist/core/abis/troveNFT.js +9 -0
  47. package/dist/core/abis/virtualPool.d.ts +50 -0
  48. package/dist/core/abis/virtualPool.js +11 -0
  49. package/dist/core/abis/virtualPoolFactory.d.ts +59 -0
  50. package/dist/core/abis/virtualPoolFactory.js +17 -0
  51. package/dist/core/constants/addresses.d.ts +18 -0
  52. package/dist/core/constants/addresses.js +125 -0
  53. package/dist/core/constants/borrowConstants.d.ts +10 -0
  54. package/dist/core/constants/borrowConstants.js +16 -0
  55. package/dist/core/constants/borrowRegistries.d.ts +7 -0
  56. package/dist/core/constants/borrowRegistries.js +34 -0
  57. package/dist/core/constants/chainId.d.ts +8 -0
  58. package/dist/core/constants/chainId.js +12 -0
  59. package/dist/core/constants/contractNames.d.ts +21 -0
  60. package/dist/core/constants/contractNames.js +24 -0
  61. package/dist/core/constants/index.d.ts +6 -0
  62. package/dist/core/constants/index.js +22 -0
  63. package/dist/core/errors/base.d.ts +8 -0
  64. package/dist/core/errors/base.js +17 -0
  65. package/dist/core/errors/index.d.ts +4 -0
  66. package/dist/core/errors/index.js +20 -0
  67. package/dist/core/errors/oracle.d.ts +9 -0
  68. package/dist/core/errors/oracle.js +15 -0
  69. package/dist/core/errors/router.d.ts +14 -0
  70. package/dist/core/errors/router.js +24 -0
  71. package/dist/core/types/borrow.d.ts +87 -0
  72. package/dist/core/types/borrow.js +3 -0
  73. package/dist/core/types/contractAddresses.d.ts +42 -0
  74. package/dist/core/types/contractAddresses.js +3 -0
  75. package/dist/core/types/index.d.ts +10 -0
  76. package/dist/core/types/index.js +26 -0
  77. package/dist/core/types/liquidity.d.ts +194 -0
  78. package/dist/core/types/liquidity.js +3 -0
  79. package/dist/core/types/pool.d.ts +208 -0
  80. package/dist/core/types/pool.js +14 -0
  81. package/dist/core/types/provider.d.ts +45 -0
  82. package/dist/core/types/provider.js +3 -0
  83. package/dist/core/types/route.d.ts +62 -0
  84. package/dist/core/types/route.js +3 -0
  85. package/dist/core/types/token.d.ts +21 -0
  86. package/dist/core/types/token.js +3 -0
  87. package/dist/core/types/tradingLimits.d.ts +91 -0
  88. package/dist/core/types/tradingLimits.js +3 -0
  89. package/dist/core/types/tradingMode.d.ts +24 -0
  90. package/dist/core/types/tradingMode.js +31 -0
  91. package/dist/core/types/transaction.d.ts +45 -0
  92. package/dist/core/types/transaction.js +3 -0
  93. package/dist/esm/cache/routes.js +14583 -0
  94. package/dist/esm/cache/tokens.js +506 -0
  95. package/dist/esm/core/abis/activePool.js +10 -0
  96. package/dist/esm/core/abis/addressesRegistry.js +22 -0
  97. package/dist/esm/core/abis/bipoolmanager.js +68 -0
  98. package/dist/esm/core/abis/borrowerOperations.js +85 -0
  99. package/dist/esm/core/abis/breakerbox.js +4 -0
  100. package/dist/esm/core/abis/broker.js +5 -0
  101. package/dist/esm/core/abis/erc20.js +17 -0
  102. package/dist/esm/core/abis/fpmm.js +45 -0
  103. package/dist/esm/core/abis/fpmmFactory.js +22 -0
  104. package/dist/esm/core/abis/hintHelpers.js +10 -0
  105. package/dist/esm/core/abis/index.js +21 -0
  106. package/dist/esm/core/abis/liquidityStrategy.js +6 -0
  107. package/dist/esm/core/abis/multiTroveGetter.js +11 -0
  108. package/dist/esm/core/abis/priceFeed.js +12 -0
  109. package/dist/esm/core/abis/pricingmodule.js +2 -0
  110. package/dist/esm/core/abis/reserve.js +14 -0
  111. package/dist/esm/core/abis/router.js +41 -0
  112. package/dist/esm/core/abis/sortedTroves.js +11 -0
  113. package/dist/esm/core/abis/systemParams.js +10 -0
  114. package/dist/esm/core/abis/troveManager.js +23 -0
  115. package/dist/esm/core/abis/troveNFT.js +5 -0
  116. package/dist/esm/core/abis/virtualPool.js +7 -0
  117. package/dist/esm/core/abis/virtualPoolFactory.js +13 -0
  118. package/dist/esm/core/constants/addresses.js +119 -0
  119. package/dist/esm/core/constants/borrowConstants.js +12 -0
  120. package/dist/esm/core/constants/borrowRegistries.js +29 -0
  121. package/dist/esm/core/constants/chainId.js +8 -0
  122. package/dist/esm/core/constants/contractNames.js +20 -0
  123. package/dist/esm/core/constants/index.js +5 -0
  124. package/dist/esm/core/errors/base.js +12 -0
  125. package/dist/esm/core/errors/index.js +3 -0
  126. package/dist/esm/core/errors/oracle.js +10 -0
  127. package/dist/esm/core/errors/router.js +18 -0
  128. package/dist/esm/core/types/borrow.js +1 -0
  129. package/dist/esm/core/types/contractAddresses.js +1 -0
  130. package/dist/esm/core/types/index.js +9 -0
  131. package/dist/esm/core/types/liquidity.js +1 -0
  132. package/dist/esm/core/types/pool.js +10 -0
  133. package/dist/esm/core/types/provider.js +1 -0
  134. package/dist/esm/core/types/route.js +1 -0
  135. package/dist/esm/core/types/token.js +1 -0
  136. package/dist/esm/core/types/tradingLimits.js +1 -0
  137. package/dist/esm/core/types/tradingMode.js +26 -0
  138. package/dist/esm/core/types/transaction.js +1 -0
  139. package/dist/esm/index.js +139 -0
  140. package/dist/esm/package.json +1 -0
  141. package/dist/esm/services/borrow/BorrowService.js +455 -0
  142. package/dist/esm/services/borrow/borrowHelpers.js +3 -0
  143. package/dist/esm/services/borrow/borrowMath.js +127 -0
  144. package/dist/esm/services/borrow/index.js +3 -0
  145. package/dist/esm/services/borrow/internal/borrowApprovalService.js +48 -0
  146. package/dist/esm/services/borrow/internal/borrowContextStore.js +35 -0
  147. package/dist/esm/services/borrow/internal/borrowErc20.js +38 -0
  148. package/dist/esm/services/borrow/internal/borrowHints.js +27 -0
  149. package/dist/esm/services/borrow/internal/borrowPositionParser.js +82 -0
  150. package/dist/esm/services/borrow/internal/borrowReadService.js +271 -0
  151. package/dist/esm/services/borrow/internal/borrowRegistryReader.js +108 -0
  152. package/dist/esm/services/borrow/internal/borrowTransactionService.js +271 -0
  153. package/dist/esm/services/borrow/internal/borrowTypes.js +1 -0
  154. package/dist/esm/services/borrow/internal/borrowValidation.js +89 -0
  155. package/dist/esm/services/index.js +8 -0
  156. package/dist/esm/services/liquidity/LiquidityService.js +163 -0
  157. package/dist/esm/services/liquidity/basicLiquidity.js +162 -0
  158. package/dist/esm/services/liquidity/index.js +1 -0
  159. package/dist/esm/services/liquidity/liquidityHelpers.js +95 -0
  160. package/dist/esm/services/liquidity/rebalance.js +59 -0
  161. package/dist/esm/services/liquidity/zapHelpers.js +181 -0
  162. package/dist/esm/services/liquidity/zapIn.js +131 -0
  163. package/dist/esm/services/liquidity/zapOut.js +248 -0
  164. package/dist/esm/services/pools/PoolService.js +204 -0
  165. package/dist/esm/services/pools/index.js +1 -0
  166. package/dist/esm/services/pools/poolDetails.js +209 -0
  167. package/dist/esm/services/pools/poolDiscovery.js +112 -0
  168. package/dist/esm/services/pools/rebalancePreview.js +181 -0
  169. package/dist/esm/services/quotes/QuoteService.js +85 -0
  170. package/dist/esm/services/quotes/index.js +1 -0
  171. package/dist/esm/services/routes/RouteService.js +268 -0
  172. package/dist/esm/services/routes/index.js +1 -0
  173. package/dist/esm/services/swap/SwapService.js +247 -0
  174. package/dist/esm/services/swap/index.js +1 -0
  175. package/dist/esm/services/tokens/index.js +1 -0
  176. package/dist/esm/services/tokens/tokenService.js +285 -0
  177. package/dist/esm/services/trading/TradingLimitsService.js +154 -0
  178. package/dist/esm/services/trading/TradingService.js +222 -0
  179. package/dist/esm/services/trading/index.js +2 -0
  180. package/dist/esm/utils/chainConfig.js +122 -0
  181. package/dist/esm/utils/costUtils.js +56 -0
  182. package/dist/esm/utils/deadline.js +22 -0
  183. package/dist/esm/utils/index.js +9 -0
  184. package/dist/esm/utils/multicall.js +47 -0
  185. package/dist/esm/utils/pathEncoder.js +69 -0
  186. package/dist/esm/utils/rateFeed.js +23 -0
  187. package/dist/esm/utils/retry.js +24 -0
  188. package/dist/esm/utils/routeUtils.js +361 -0
  189. package/dist/esm/utils/routes.js +2 -0
  190. package/dist/esm/utils/sortUtils.js +33 -0
  191. package/dist/esm/utils/tokens.js +2 -0
  192. package/dist/esm/utils/tradingLimits.js +163 -0
  193. package/dist/esm/utils/validation.js +30 -0
  194. package/dist/index.d.ts +101 -0
  195. package/dist/index.js +158 -0
  196. package/dist/services/borrow/BorrowService.d.ts +381 -0
  197. package/dist/services/borrow/BorrowService.js +460 -0
  198. package/dist/services/borrow/borrowHelpers.d.ts +4 -0
  199. package/dist/services/borrow/borrowHelpers.js +13 -0
  200. package/dist/services/borrow/borrowMath.d.ts +21 -0
  201. package/dist/services/borrow/borrowMath.js +137 -0
  202. package/dist/services/borrow/index.d.ts +4 -0
  203. package/dist/services/borrow/index.js +20 -0
  204. package/dist/services/borrow/internal/borrowApprovalService.d.ts +14 -0
  205. package/dist/services/borrow/internal/borrowApprovalService.js +53 -0
  206. package/dist/services/borrow/internal/borrowContextStore.d.ts +11 -0
  207. package/dist/services/borrow/internal/borrowContextStore.js +40 -0
  208. package/dist/services/borrow/internal/borrowErc20.d.ts +5 -0
  209. package/dist/services/borrow/internal/borrowErc20.js +43 -0
  210. package/dist/services/borrow/internal/borrowHints.d.ts +7 -0
  211. package/dist/services/borrow/internal/borrowHints.js +31 -0
  212. package/dist/services/borrow/internal/borrowPositionParser.d.ts +4 -0
  213. package/dist/services/borrow/internal/borrowPositionParser.js +87 -0
  214. package/dist/services/borrow/internal/borrowReadService.d.ts +31 -0
  215. package/dist/services/borrow/internal/borrowReadService.js +276 -0
  216. package/dist/services/borrow/internal/borrowRegistryReader.d.ts +5 -0
  217. package/dist/services/borrow/internal/borrowRegistryReader.js +113 -0
  218. package/dist/services/borrow/internal/borrowTransactionService.d.ts +23 -0
  219. package/dist/services/borrow/internal/borrowTransactionService.js +276 -0
  220. package/dist/services/borrow/internal/borrowTypes.d.ts +15 -0
  221. package/dist/services/borrow/internal/borrowTypes.js +3 -0
  222. package/dist/services/borrow/internal/borrowValidation.d.ts +14 -0
  223. package/dist/services/borrow/internal/borrowValidation.js +104 -0
  224. package/dist/services/index.d.ts +9 -0
  225. package/dist/services/index.js +25 -0
  226. package/dist/services/liquidity/LiquidityService.d.ts +139 -0
  227. package/dist/services/liquidity/LiquidityService.js +168 -0
  228. package/dist/services/liquidity/basicLiquidity.d.ts +11 -0
  229. package/dist/services/liquidity/basicLiquidity.js +172 -0
  230. package/dist/services/liquidity/index.d.ts +2 -0
  231. package/dist/services/liquidity/index.js +18 -0
  232. package/dist/services/liquidity/liquidityHelpers.d.ts +19 -0
  233. package/dist/services/liquidity/liquidityHelpers.js +104 -0
  234. package/dist/services/liquidity/rebalance.d.ts +6 -0
  235. package/dist/services/liquidity/rebalance.js +64 -0
  236. package/dist/services/liquidity/zapHelpers.d.ts +100 -0
  237. package/dist/services/liquidity/zapHelpers.js +192 -0
  238. package/dist/services/liquidity/zapIn.d.ts +18 -0
  239. package/dist/services/liquidity/zapIn.js +138 -0
  240. package/dist/services/liquidity/zapOut.d.ts +9 -0
  241. package/dist/services/liquidity/zapOut.js +255 -0
  242. package/dist/services/pools/PoolService.d.ts +69 -0
  243. package/dist/services/pools/PoolService.js +209 -0
  244. package/dist/services/pools/index.d.ts +2 -0
  245. package/dist/services/pools/index.js +18 -0
  246. package/dist/services/pools/poolDetails.d.ts +13 -0
  247. package/dist/services/pools/poolDetails.js +216 -0
  248. package/dist/services/pools/poolDiscovery.d.ts +12 -0
  249. package/dist/services/pools/poolDiscovery.js +117 -0
  250. package/dist/services/pools/rebalancePreview.d.ts +5 -0
  251. package/dist/services/pools/rebalancePreview.js +186 -0
  252. package/dist/services/quotes/QuoteService.d.ts +51 -0
  253. package/dist/services/quotes/QuoteService.js +91 -0
  254. package/dist/services/quotes/index.d.ts +2 -0
  255. package/dist/services/quotes/index.js +18 -0
  256. package/dist/services/routes/RouteService.d.ts +117 -0
  257. package/dist/services/routes/RouteService.js +306 -0
  258. package/dist/services/routes/index.d.ts +2 -0
  259. package/dist/services/routes/index.js +18 -0
  260. package/dist/services/swap/SwapService.d.ts +198 -0
  261. package/dist/services/swap/SwapService.js +252 -0
  262. package/dist/services/swap/index.d.ts +2 -0
  263. package/dist/services/swap/index.js +18 -0
  264. package/dist/services/tokens/index.d.ts +2 -0
  265. package/dist/services/tokens/index.js +18 -0
  266. package/dist/services/tokens/tokenService.d.ts +55 -0
  267. package/dist/services/tokens/tokenService.js +290 -0
  268. package/dist/services/trading/TradingLimitsService.d.ts +38 -0
  269. package/dist/services/trading/TradingLimitsService.js +159 -0
  270. package/dist/services/trading/TradingService.d.ts +115 -0
  271. package/dist/services/trading/TradingService.js +227 -0
  272. package/dist/services/trading/index.d.ts +3 -0
  273. package/dist/services/trading/index.js +19 -0
  274. package/dist/utils/chainConfig.d.ts +16 -0
  275. package/dist/utils/chainConfig.js +127 -0
  276. package/dist/utils/costUtils.d.ts +12 -0
  277. package/dist/utils/costUtils.js +60 -0
  278. package/dist/utils/deadline.d.ts +21 -0
  279. package/dist/utils/deadline.js +26 -0
  280. package/dist/utils/index.d.ts +10 -0
  281. package/dist/utils/index.js +26 -0
  282. package/dist/utils/multicall.d.ts +30 -0
  283. package/dist/utils/multicall.js +52 -0
  284. package/dist/utils/pathEncoder.d.ts +34 -0
  285. package/dist/utils/pathEncoder.js +73 -0
  286. package/dist/utils/rateFeed.d.ts +18 -0
  287. package/dist/utils/rateFeed.js +27 -0
  288. package/dist/utils/retry.d.ts +12 -0
  289. package/dist/utils/retry.js +28 -0
  290. package/dist/utils/routeUtils.d.ts +295 -0
  291. package/dist/utils/routeUtils.js +371 -0
  292. package/dist/utils/routes.d.ts +3 -0
  293. package/dist/utils/routes.js +8 -0
  294. package/dist/utils/sortUtils.d.ts +24 -0
  295. package/dist/utils/sortUtils.js +39 -0
  296. package/dist/utils/tokens.d.ts +2 -0
  297. package/dist/utils/tokens.js +13 -0
  298. package/dist/utils/tradingLimits.d.ts +41 -0
  299. package/dist/utils/tradingLimits.js +171 -0
  300. package/dist/utils/validation.d.ts +19 -0
  301. package/dist/utils/validation.js +34 -0
  302. package/package.json +1 -1
@@ -0,0 +1,506 @@
1
+ // This file is auto-generated. Do not edit manually.
2
+ // Generated on 2026-04-30T16:03:41.719Z
3
+ /**
4
+ * Enum of all token symbols across all supported chains
5
+ */
6
+ export var TokenSymbol;
7
+ (function (TokenSymbol) {
8
+ TokenSymbol["AUDm"] = "AUDm";
9
+ TokenSymbol["AUSD"] = "AUSD";
10
+ TokenSymbol["BRLm"] = "BRLm";
11
+ TokenSymbol["CADm"] = "CADm";
12
+ TokenSymbol["CHFm"] = "CHFm";
13
+ TokenSymbol["COPm"] = "COPm";
14
+ TokenSymbol["EURm"] = "EURm";
15
+ TokenSymbol["GBPm"] = "GBPm";
16
+ TokenSymbol["GHSm"] = "GHSm";
17
+ TokenSymbol["JPYm"] = "JPYm";
18
+ TokenSymbol["KESm"] = "KESm";
19
+ TokenSymbol["NGNm"] = "NGNm";
20
+ TokenSymbol["PHPm"] = "PHPm";
21
+ TokenSymbol["USDC"] = "USDC";
22
+ TokenSymbol["USDT0"] = "USDT0";
23
+ TokenSymbol["USDm"] = "USDm";
24
+ TokenSymbol["USD_"] = "USD\u20AE";
25
+ TokenSymbol["XOFm"] = "XOFm";
26
+ TokenSymbol["ZARm"] = "ZARm";
27
+ TokenSymbol["axlEUROC"] = "axlEUROC";
28
+ TokenSymbol["axlUSDC"] = "axlUSDC";
29
+ })(TokenSymbol || (TokenSymbol = {}));
30
+ /**
31
+ * Cached tokens indexed by chain ID
32
+ */
33
+ export const cachedTokens = {
34
+ // Chain 143
35
+ 143: [
36
+ {
37
+ address: '0x39bb4E0a204412bB98e821d25e7d955e69d40Fd1',
38
+ symbol: TokenSymbol.GBPm,
39
+ name: 'Mento British Pound',
40
+ decimals: 18,
41
+ },
42
+ {
43
+ address: '0xBC69212B8E4d445b2307C9D32dD68E2A4Df00115',
44
+ symbol: TokenSymbol.USDm,
45
+ name: 'Mento Dollar',
46
+ decimals: 18,
47
+ },
48
+ {
49
+ address: '0x754704Bc059F8C67012fEd69BC8A327a5aafb603',
50
+ symbol: TokenSymbol.USDC,
51
+ name: 'USDC',
52
+ decimals: 6,
53
+ },
54
+ {
55
+ address: '0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a',
56
+ symbol: TokenSymbol.AUSD,
57
+ name: 'AUSD',
58
+ decimals: 6,
59
+ },
60
+ {
61
+ address: '0xe7cd86e13AC4309349F30B3435a9d337750fC82D',
62
+ symbol: TokenSymbol.USDT0,
63
+ name: 'USDT0',
64
+ decimals: 6,
65
+ },
66
+ {
67
+ address: '0x4D502d735B4C574B487Ed641ae87cEaE884731C7',
68
+ symbol: TokenSymbol.EURm,
69
+ name: 'Mento Euro',
70
+ decimals: 18,
71
+ },
72
+ {
73
+ address: '0x22f6A6752800eAB67b84748FeFc3cC658384aF72',
74
+ symbol: TokenSymbol.JPYm,
75
+ name: 'Mento Japanese Yen',
76
+ decimals: 18,
77
+ },
78
+ {
79
+ address: '0xF64e91fFEf7ef43aA314F0Bc2AC39f770797990C',
80
+ symbol: TokenSymbol.CHFm,
81
+ name: 'Mento Swiss Franc',
82
+ decimals: 18,
83
+ }
84
+ ],
85
+ // Chain 10143
86
+ 10143: [
87
+ {
88
+ address: '0x04de554E875c9797dC4ceBd834A9e99fa8fD5Df9',
89
+ symbol: TokenSymbol.GBPm,
90
+ name: 'Mento British Pound',
91
+ decimals: 18,
92
+ },
93
+ {
94
+ address: '0x5eCc03111ad2A78F981A108759bc73BAE2AB31bc',
95
+ symbol: TokenSymbol.USDm,
96
+ name: 'Mento Dollar',
97
+ decimals: 18,
98
+ },
99
+ {
100
+ address: '0x534b2f3A21130d7a60830c2Df862319e593943A3',
101
+ symbol: TokenSymbol.USDC,
102
+ name: 'USDC',
103
+ decimals: 6,
104
+ },
105
+ {
106
+ address: '0x502E67D3fE9302A5e4Ec1CFCDdbD6F34F9B9484B',
107
+ symbol: TokenSymbol.AUSD,
108
+ name: 'Mento Mock AUSD',
109
+ decimals: 6,
110
+ },
111
+ {
112
+ address: '0xC304EE1876c32d1A194558B1000bE4842F960dF9',
113
+ symbol: TokenSymbol.USDT0,
114
+ name: 'Mento Mock USDT0',
115
+ decimals: 6,
116
+ },
117
+ {
118
+ address: '0x666D0a83cDbf3eC62bDb624d9bFcD8F6345Ba7D0',
119
+ symbol: TokenSymbol.EURm,
120
+ name: 'Mento Euro',
121
+ decimals: 18,
122
+ },
123
+ {
124
+ address: '0x377755da4994c2cfE21b39bbCE7211eab6f5FCC1',
125
+ symbol: TokenSymbol.JPYm,
126
+ name: 'Mento Japanese Yen',
127
+ decimals: 18,
128
+ },
129
+ {
130
+ address: '0xCD8f6950359795eb4688AC18d1e9BB88fa111eEe',
131
+ symbol: TokenSymbol.CHFm,
132
+ name: 'Mento Swiss Franc',
133
+ decimals: 18,
134
+ }
135
+ ],
136
+ // Chain 42220
137
+ 42220: [
138
+ {
139
+ address: '0xCCF663b1fF11028f0b19058d0f7B674004a40746',
140
+ symbol: TokenSymbol.GBPm,
141
+ name: 'Mento British Pound',
142
+ decimals: 18,
143
+ },
144
+ {
145
+ address: '0x765DE816845861e75A25fCA122bb6898B8B1282a',
146
+ symbol: TokenSymbol.USDm,
147
+ name: 'Mento Dollar',
148
+ decimals: 18,
149
+ },
150
+ {
151
+ address: '0xEB466342C4d449BC9f53A865D5Cb90586f405215',
152
+ symbol: TokenSymbol.axlUSDC,
153
+ name: 'Axelar Wrapped USDC',
154
+ decimals: 6,
155
+ },
156
+ {
157
+ address: '0xcebA9300f2b948710d2653dD7B07f33A8B32118C',
158
+ symbol: TokenSymbol.USDC,
159
+ name: 'USDC',
160
+ decimals: 6,
161
+ },
162
+ {
163
+ address: '0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e',
164
+ symbol: TokenSymbol.USD_,
165
+ name: 'Tether USD',
166
+ decimals: 6,
167
+ },
168
+ {
169
+ address: '0xD8763CBa276a3738E6DE85b4b3bF5FDed6D6cA73',
170
+ symbol: TokenSymbol.EURm,
171
+ name: 'Mento Euro',
172
+ decimals: 18,
173
+ },
174
+ {
175
+ address: '0x061cc5a2C863E0C1Cb404006D559dB18A34C762d',
176
+ symbol: TokenSymbol.axlEUROC,
177
+ name: 'Axelar Wrapped EUROC',
178
+ decimals: 6,
179
+ },
180
+ {
181
+ address: '0xc45eCF20f3CD864B32D9794d6f76814aE8892e20',
182
+ symbol: TokenSymbol.JPYm,
183
+ name: 'Mento Japanese Yen',
184
+ decimals: 18,
185
+ },
186
+ {
187
+ address: '0xb55a79F398E759E43C95b979163f30eC87Ee131D',
188
+ symbol: TokenSymbol.CHFm,
189
+ name: 'Mento Swiss Franc',
190
+ decimals: 18,
191
+ },
192
+ {
193
+ address: '0xfAeA5F3404bbA20D3cc2f8C4B0A888F55a3c7313',
194
+ symbol: TokenSymbol.GHSm,
195
+ name: 'Mento Ghanaian Cedi',
196
+ decimals: 18,
197
+ },
198
+ {
199
+ address: '0x4c35853A3B4e647fD266f4de678dCc8fEC410BF6',
200
+ symbol: TokenSymbol.ZARm,
201
+ name: 'Mento South African Rand',
202
+ decimals: 18,
203
+ },
204
+ {
205
+ address: '0x7175504C455076F15c04A2F90a8e352281F492F9',
206
+ symbol: TokenSymbol.AUDm,
207
+ name: 'Mento Australian Dollar',
208
+ decimals: 18,
209
+ },
210
+ {
211
+ address: '0xE2702Bd97ee33c88c8f6f92DA3B733608aa76F71',
212
+ symbol: TokenSymbol.NGNm,
213
+ name: 'Mento Nigerian Naira',
214
+ decimals: 18,
215
+ },
216
+ {
217
+ address: '0x456a3D042C0DbD3db53D5489e98dFb038553B0d0',
218
+ symbol: TokenSymbol.KESm,
219
+ name: 'Mento Kenyan Shilling',
220
+ decimals: 18,
221
+ },
222
+ {
223
+ address: '0xff4Ab19391af240c311c54200a492233052B6325',
224
+ symbol: TokenSymbol.CADm,
225
+ name: 'Mento Canadian Dollar',
226
+ decimals: 18,
227
+ },
228
+ {
229
+ address: '0x105d4A9306D2E55a71d2Eb95B81553AE1dC20d7B',
230
+ symbol: TokenSymbol.PHPm,
231
+ name: 'Mento Philippine Peso',
232
+ decimals: 18,
233
+ },
234
+ {
235
+ address: '0x8A567e2aE79CA692Bd748aB832081C45de4041eA',
236
+ symbol: TokenSymbol.COPm,
237
+ name: 'Mento Colombian Peso',
238
+ decimals: 18,
239
+ },
240
+ {
241
+ address: '0xe8537a3d056DA446677B9E9d6c5dB704EaAb4787',
242
+ symbol: TokenSymbol.BRLm,
243
+ name: 'Mento Brazilian Real',
244
+ decimals: 18,
245
+ },
246
+ {
247
+ address: '0x73F93dcc49cB8A239e2032663e9475dd5ef29A08',
248
+ symbol: TokenSymbol.XOFm,
249
+ name: 'Mento West African CFA franc',
250
+ decimals: 18,
251
+ }
252
+ ],
253
+ // Chain 80002
254
+ 80002: [
255
+ {
256
+ address: '0xfbD2d6a7C3Cb4491647173D6eCb2a4473521cd66',
257
+ symbol: TokenSymbol.USDC,
258
+ name: 'Mento Mock USDC',
259
+ decimals: 6,
260
+ },
261
+ {
262
+ address: '0x5eCc03111ad2A78F981A108759bc73BAE2AB31bc',
263
+ symbol: TokenSymbol.USDm,
264
+ name: 'Mento Dollar',
265
+ decimals: 18,
266
+ },
267
+ {
268
+ address: '0x666D0a83cDbf3eC62bDb624d9bFcD8F6345Ba7D0',
269
+ symbol: TokenSymbol.EURm,
270
+ name: 'Mento Euro',
271
+ decimals: 18,
272
+ }
273
+ ],
274
+ // Chain 11142220
275
+ 11142220: [
276
+ {
277
+ address: '0x85F5181Abdbf0e1814Fc4358582Ae07b8eBA3aF3',
278
+ symbol: TokenSymbol.GBPm,
279
+ name: 'Mento British Pound',
280
+ decimals: 18,
281
+ },
282
+ {
283
+ address: '0xdE9e4C3ce781b4bA68120d6261cbad65ce0aB00b',
284
+ symbol: TokenSymbol.USDm,
285
+ name: 'Mento Dollar',
286
+ decimals: 18,
287
+ },
288
+ {
289
+ address: '0x6285De9DA7C1d329C0451628638908915002d9d1',
290
+ symbol: TokenSymbol.axlUSDC,
291
+ name: 'Mento Mock axlUSDC',
292
+ decimals: 18,
293
+ },
294
+ {
295
+ address: '0x01C5C0122039549AD1493B8220cABEdD739BC44E',
296
+ symbol: TokenSymbol.USDC,
297
+ name: 'USDC',
298
+ decimals: 6,
299
+ },
300
+ {
301
+ address: '0xd077A400968890Eacc75cdc901F0356c943e4fDb',
302
+ symbol: TokenSymbol.USD_,
303
+ name: 'Tether USD',
304
+ decimals: 6,
305
+ },
306
+ {
307
+ address: '0xA99dC247d6b7B2E3ab48a1fEE101b83cD6aCd82a',
308
+ symbol: TokenSymbol.EURm,
309
+ name: 'Mento Euro',
310
+ decimals: 18,
311
+ },
312
+ {
313
+ address: '0x9883d788d40F1C7595a780ed881Ea833C7743B4B',
314
+ symbol: TokenSymbol.axlEUROC,
315
+ name: 'Mento Mock axlEUROC',
316
+ decimals: 18,
317
+ },
318
+ {
319
+ address: '0x85Bee67D435A39f7467a8a9DE34a5B73D25Df426',
320
+ symbol: TokenSymbol.JPYm,
321
+ name: 'Mento Japanese Yen',
322
+ decimals: 18,
323
+ },
324
+ {
325
+ address: '0x284E9b7B623eAE866914b7FA0eB720C2Bb3C2980',
326
+ symbol: TokenSymbol.CHFm,
327
+ name: 'Mento Swiss Franc',
328
+ decimals: 18,
329
+ },
330
+ {
331
+ address: '0x0352976d940a2C3FBa0C3623198947Ee1d17869E',
332
+ symbol: TokenSymbol.PHPm,
333
+ name: 'Mento Philippine Peso',
334
+ decimals: 18,
335
+ },
336
+ {
337
+ address: '0x5505b70207aE3B826c1A7607F19F3Bf73444A082',
338
+ symbol: TokenSymbol.XOFm,
339
+ name: 'Mento West African CFA franc',
340
+ decimals: 18,
341
+ },
342
+ {
343
+ address: '0x5873Faeb42F3563dcD77F0fbbdA818E6d6DA3139',
344
+ symbol: TokenSymbol.AUDm,
345
+ name: 'Mento Australian Dollar',
346
+ decimals: 18,
347
+ },
348
+ {
349
+ address: '0xF151c9a13b78C84f93f50B8b3bC689fedc134F60',
350
+ symbol: TokenSymbol.CADm,
351
+ name: 'Mento Canadian Dollar',
352
+ decimals: 18,
353
+ },
354
+ {
355
+ address: '0x10CCfB235b0E1Ed394bACE4560C3ed016697687e',
356
+ symbol: TokenSymbol.ZARm,
357
+ name: 'Mento South African Rand',
358
+ decimals: 18,
359
+ },
360
+ {
361
+ address: '0x5F8d55c3627d2dc0a2B4afa798f877242F382F67',
362
+ symbol: TokenSymbol.COPm,
363
+ name: 'Mento Colombian Peso',
364
+ decimals: 18,
365
+ },
366
+ {
367
+ address: '0x2294298942fdc79417DE9E0D740A4957E0e7783a',
368
+ symbol: TokenSymbol.BRLm,
369
+ name: 'Mento Brazilian Real',
370
+ decimals: 18,
371
+ },
372
+ {
373
+ address: '0x5e94B8C872bD47BC4255E60ECBF44D5E66e7401C',
374
+ symbol: TokenSymbol.GHSm,
375
+ name: 'Mento Ghanaian Cedi',
376
+ decimals: 18,
377
+ },
378
+ {
379
+ address: '0x3d5ae86F34E2a82771496D140daFAEf3789dF888',
380
+ symbol: TokenSymbol.NGNm,
381
+ name: 'Mento Nigerian Naira',
382
+ decimals: 18,
383
+ },
384
+ {
385
+ address: '0xC7e4635651E3e3Af82b61d3E23c159438daE3BbF',
386
+ symbol: TokenSymbol.KESm,
387
+ name: 'Mento Kenyan Shilling',
388
+ decimals: 18,
389
+ }
390
+ ],
391
+ };
392
+ /**
393
+ * Mapping of token addresses by chain ID and token symbol
394
+ * Useful for quickly looking up a token address by its symbol on a specific chain
395
+ */
396
+ export const TOKEN_ADDRESSES_BY_CHAIN = {
397
+ 143: {
398
+ [TokenSymbol.GBPm]: '0x39bb4E0a204412bB98e821d25e7d955e69d40Fd1',
399
+ [TokenSymbol.USDm]: '0xBC69212B8E4d445b2307C9D32dD68E2A4Df00115',
400
+ [TokenSymbol.USDC]: '0x754704Bc059F8C67012fEd69BC8A327a5aafb603',
401
+ [TokenSymbol.AUSD]: '0x00000000eFE302BEAA2b3e6e1b18d08D69a9012a',
402
+ [TokenSymbol.USDT0]: '0xe7cd86e13AC4309349F30B3435a9d337750fC82D',
403
+ [TokenSymbol.EURm]: '0x4D502d735B4C574B487Ed641ae87cEaE884731C7',
404
+ [TokenSymbol.JPYm]: '0x22f6A6752800eAB67b84748FeFc3cC658384aF72',
405
+ [TokenSymbol.CHFm]: '0xF64e91fFEf7ef43aA314F0Bc2AC39f770797990C',
406
+ },
407
+ 10143: {
408
+ [TokenSymbol.GBPm]: '0x04de554E875c9797dC4ceBd834A9e99fa8fD5Df9',
409
+ [TokenSymbol.USDm]: '0x5eCc03111ad2A78F981A108759bc73BAE2AB31bc',
410
+ [TokenSymbol.USDC]: '0x534b2f3A21130d7a60830c2Df862319e593943A3',
411
+ [TokenSymbol.AUSD]: '0x502E67D3fE9302A5e4Ec1CFCDdbD6F34F9B9484B',
412
+ [TokenSymbol.USDT0]: '0xC304EE1876c32d1A194558B1000bE4842F960dF9',
413
+ [TokenSymbol.EURm]: '0x666D0a83cDbf3eC62bDb624d9bFcD8F6345Ba7D0',
414
+ [TokenSymbol.JPYm]: '0x377755da4994c2cfE21b39bbCE7211eab6f5FCC1',
415
+ [TokenSymbol.CHFm]: '0xCD8f6950359795eb4688AC18d1e9BB88fa111eEe',
416
+ },
417
+ 42220: {
418
+ [TokenSymbol.GBPm]: '0xCCF663b1fF11028f0b19058d0f7B674004a40746',
419
+ [TokenSymbol.USDm]: '0x765DE816845861e75A25fCA122bb6898B8B1282a',
420
+ [TokenSymbol.axlUSDC]: '0xEB466342C4d449BC9f53A865D5Cb90586f405215',
421
+ [TokenSymbol.USDC]: '0xcebA9300f2b948710d2653dD7B07f33A8B32118C',
422
+ [TokenSymbol.USD_]: '0x48065fbBE25f71C9282ddf5e1cD6D6A887483D5e',
423
+ [TokenSymbol.EURm]: '0xD8763CBa276a3738E6DE85b4b3bF5FDed6D6cA73',
424
+ [TokenSymbol.axlEUROC]: '0x061cc5a2C863E0C1Cb404006D559dB18A34C762d',
425
+ [TokenSymbol.JPYm]: '0xc45eCF20f3CD864B32D9794d6f76814aE8892e20',
426
+ [TokenSymbol.CHFm]: '0xb55a79F398E759E43C95b979163f30eC87Ee131D',
427
+ [TokenSymbol.GHSm]: '0xfAeA5F3404bbA20D3cc2f8C4B0A888F55a3c7313',
428
+ [TokenSymbol.ZARm]: '0x4c35853A3B4e647fD266f4de678dCc8fEC410BF6',
429
+ [TokenSymbol.AUDm]: '0x7175504C455076F15c04A2F90a8e352281F492F9',
430
+ [TokenSymbol.NGNm]: '0xE2702Bd97ee33c88c8f6f92DA3B733608aa76F71',
431
+ [TokenSymbol.KESm]: '0x456a3D042C0DbD3db53D5489e98dFb038553B0d0',
432
+ [TokenSymbol.CADm]: '0xff4Ab19391af240c311c54200a492233052B6325',
433
+ [TokenSymbol.PHPm]: '0x105d4A9306D2E55a71d2Eb95B81553AE1dC20d7B',
434
+ [TokenSymbol.COPm]: '0x8A567e2aE79CA692Bd748aB832081C45de4041eA',
435
+ [TokenSymbol.BRLm]: '0xe8537a3d056DA446677B9E9d6c5dB704EaAb4787',
436
+ [TokenSymbol.XOFm]: '0x73F93dcc49cB8A239e2032663e9475dd5ef29A08',
437
+ },
438
+ 80002: {
439
+ [TokenSymbol.USDC]: '0xfbD2d6a7C3Cb4491647173D6eCb2a4473521cd66',
440
+ [TokenSymbol.USDm]: '0x5eCc03111ad2A78F981A108759bc73BAE2AB31bc',
441
+ [TokenSymbol.EURm]: '0x666D0a83cDbf3eC62bDb624d9bFcD8F6345Ba7D0',
442
+ },
443
+ 11142220: {
444
+ [TokenSymbol.GBPm]: '0x85F5181Abdbf0e1814Fc4358582Ae07b8eBA3aF3',
445
+ [TokenSymbol.USDm]: '0xdE9e4C3ce781b4bA68120d6261cbad65ce0aB00b',
446
+ [TokenSymbol.axlUSDC]: '0x6285De9DA7C1d329C0451628638908915002d9d1',
447
+ [TokenSymbol.USDC]: '0x01C5C0122039549AD1493B8220cABEdD739BC44E',
448
+ [TokenSymbol.USD_]: '0xd077A400968890Eacc75cdc901F0356c943e4fDb',
449
+ [TokenSymbol.EURm]: '0xA99dC247d6b7B2E3ab48a1fEE101b83cD6aCd82a',
450
+ [TokenSymbol.axlEUROC]: '0x9883d788d40F1C7595a780ed881Ea833C7743B4B',
451
+ [TokenSymbol.JPYm]: '0x85Bee67D435A39f7467a8a9DE34a5B73D25Df426',
452
+ [TokenSymbol.CHFm]: '0x284E9b7B623eAE866914b7FA0eB720C2Bb3C2980',
453
+ [TokenSymbol.PHPm]: '0x0352976d940a2C3FBa0C3623198947Ee1d17869E',
454
+ [TokenSymbol.XOFm]: '0x5505b70207aE3B826c1A7607F19F3Bf73444A082',
455
+ [TokenSymbol.AUDm]: '0x5873Faeb42F3563dcD77F0fbbdA818E6d6DA3139',
456
+ [TokenSymbol.CADm]: '0xF151c9a13b78C84f93f50B8b3bC689fedc134F60',
457
+ [TokenSymbol.ZARm]: '0x10CCfB235b0E1Ed394bACE4560C3ed016697687e',
458
+ [TokenSymbol.COPm]: '0x5F8d55c3627d2dc0a2B4afa798f877242F382F67',
459
+ [TokenSymbol.BRLm]: '0x2294298942fdc79417DE9E0D740A4957E0e7783a',
460
+ [TokenSymbol.GHSm]: '0x5e94B8C872bD47BC4255E60ECBF44D5E66e7401C',
461
+ [TokenSymbol.NGNm]: '0x3d5ae86F34E2a82771496D140daFAEf3789dF888',
462
+ [TokenSymbol.KESm]: '0xC7e4635651E3e3Af82b61d3E23c159438daE3BbF',
463
+ },
464
+ };
465
+ /**
466
+ * Get cached tokens for a specific chain
467
+ * @param chainId - The chain ID
468
+ * @returns The cached tokens array, or empty array if not available
469
+ */
470
+ export function getCachedTokens(chainId) {
471
+ return cachedTokens[chainId] ?? [];
472
+ }
473
+ /**
474
+ * Get cached tokens synchronously for a specific chain
475
+ * @param chainId - The chain ID to get tokens for
476
+ * @returns The cached tokens array
477
+ * @throws Error if tokens are not available for the chain
478
+ */
479
+ export function getCachedTokensSync(chainId) {
480
+ const tokens = cachedTokens[chainId];
481
+ if (!tokens || tokens.length === 0) {
482
+ throw new Error(`No cached tokens available for chain ${chainId}`);
483
+ }
484
+ return tokens;
485
+ }
486
+ /**
487
+ * Get token address by chain ID and symbol
488
+ * @param chainId - The chain ID
489
+ * @param symbol - The token symbol
490
+ * @returns The token address or undefined if not found
491
+ */
492
+ export function getTokenAddress(chainId, symbol) {
493
+ return TOKEN_ADDRESSES_BY_CHAIN[chainId]?.[symbol];
494
+ }
495
+ /**
496
+ * Find a token by its symbol on a specific chain
497
+ * @param chainId - The chain ID
498
+ * @param symbol - The token symbol
499
+ * @returns The token object or undefined if not found
500
+ */
501
+ export function findTokenBySymbol(chainId, symbol) {
502
+ const tokens = cachedTokens[chainId];
503
+ if (!tokens)
504
+ return undefined;
505
+ return tokens.find((t) => t.symbol === symbol);
506
+ }
@@ -0,0 +1,10 @@
1
+ import { parseAbi } from 'viem';
2
+ export const ACTIVE_POOL_ABI = parseAbi([
3
+ 'function getCollBalance() view returns (uint256)',
4
+ 'function getBoldDebt() view returns (uint256)',
5
+ 'function aggWeightedDebtSum() view returns (uint256)',
6
+ 'function aggRecordedDebt() view returns (uint256)',
7
+ 'function calcPendingAggInterest() view returns (uint256)',
8
+ 'function hasBeenShutDown() view returns (bool)',
9
+ 'function shutdownTime() view returns (uint256)',
10
+ ]);
@@ -0,0 +1,22 @@
1
+ import { parseAbi } from 'viem';
2
+ export const ADDRESSES_REGISTRY_ABI = parseAbi([
3
+ 'function collToken() view returns (address)',
4
+ 'function borrowerOperations() view returns (address)',
5
+ 'function troveManager() view returns (address)',
6
+ 'function troveNFT() view returns (address)',
7
+ 'function metadataNFT() view returns (address)',
8
+ 'function stabilityPool() view returns (address)',
9
+ 'function priceFeed() view returns (address)',
10
+ 'function activePool() view returns (address)',
11
+ 'function defaultPool() view returns (address)',
12
+ 'function gasPoolAddress() view returns (address)',
13
+ 'function collSurplusPool() view returns (address)',
14
+ 'function sortedTroves() view returns (address)',
15
+ 'function interestRouter() view returns (address)',
16
+ 'function hintHelpers() view returns (address)',
17
+ 'function multiTroveGetter() view returns (address)',
18
+ 'function collateralRegistry() view returns (address)',
19
+ 'function boldToken() view returns (address)',
20
+ 'function gasToken() view returns (address)',
21
+ 'function liquidityStrategy() view returns (address)',
22
+ ]);
@@ -0,0 +1,68 @@
1
+ export const BIPOOL_MANAGER_ABI = [
2
+ {
3
+ name: 'getExchanges',
4
+ type: 'function',
5
+ stateMutability: 'view',
6
+ inputs: [],
7
+ outputs: [
8
+ {
9
+ name: 'exchanges',
10
+ type: 'tuple[]',
11
+ components: [
12
+ {
13
+ name: 'exchangeId',
14
+ type: 'bytes32',
15
+ },
16
+ {
17
+ name: 'assets',
18
+ type: 'address[]',
19
+ },
20
+ ],
21
+ },
22
+ ],
23
+ },
24
+ {
25
+ name: 'getPoolExchange',
26
+ type: 'function',
27
+ stateMutability: 'view',
28
+ inputs: [
29
+ {
30
+ name: 'exchangeId',
31
+ type: 'bytes32',
32
+ },
33
+ ],
34
+ outputs: [
35
+ {
36
+ name: 'exchange',
37
+ type: 'tuple',
38
+ components: [
39
+ { name: 'asset0', type: 'address' },
40
+ { name: 'asset1', type: 'address' },
41
+ { name: 'pricingModule', type: 'address' },
42
+ { name: 'bucket0', type: 'uint256' },
43
+ { name: 'bucket1', type: 'uint256' },
44
+ { name: 'lastBucketUpdate', type: 'uint256' },
45
+ {
46
+ name: 'config',
47
+ type: 'tuple',
48
+ components: [
49
+ {
50
+ name: 'spread',
51
+ type: 'tuple',
52
+ components: [{ name: 'value', type: 'uint256' }],
53
+ },
54
+ { name: 'referenceRateFeedID', type: 'address' },
55
+ { name: 'referenceRateResetFrequency', type: 'uint256' },
56
+ { name: 'minimumReports', type: 'uint256' },
57
+ {
58
+ name: 'stablePoolResetSize',
59
+ type: 'tuple',
60
+ components: [{ name: 'value', type: 'uint256' }],
61
+ },
62
+ ],
63
+ },
64
+ ],
65
+ },
66
+ ],
67
+ },
68
+ ];