@sodax/sdk 0.0.1-rc.2 → 0.0.1-rc.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 (316) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +166 -11
  3. package/dist/index.cjs +16325 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.d.cts +9648 -0
  6. package/dist/index.d.ts +9648 -10
  7. package/dist/index.mjs +16077 -0
  8. package/dist/index.mjs.map +1 -0
  9. package/package.json +31 -32
  10. package/dist/abis/asset-manager.abi.d.ts +0 -418
  11. package/dist/abis/asset-manager.abi.d.ts.map +0 -1
  12. package/dist/abis/asset-manager.abi.js +0 -542
  13. package/dist/abis/asset-manager.abi.js.map +0 -1
  14. package/dist/abis/connection.abi.d.ts +0 -72
  15. package/dist/abis/connection.abi.d.ts.map +0 -1
  16. package/dist/abis/connection.abi.js +0 -92
  17. package/dist/abis/connection.abi.js.map +0 -1
  18. package/dist/abis/erc20.abi.d.ts +0 -236
  19. package/dist/abis/erc20.abi.d.ts.map +0 -1
  20. package/dist/abis/erc20.abi.js +0 -311
  21. package/dist/abis/erc20.abi.js.map +0 -1
  22. package/dist/abis/index.d.ts +0 -10
  23. package/dist/abis/index.d.ts.map +0 -1
  24. package/dist/abis/index.js +0 -10
  25. package/dist/abis/index.js.map +0 -1
  26. package/dist/abis/intents.abi.d.ts +0 -901
  27. package/dist/abis/intents.abi.d.ts.map +0 -1
  28. package/dist/abis/intents.abi.js +0 -1158
  29. package/dist/abis/intents.abi.js.map +0 -1
  30. package/dist/abis/pool.abi.d.ts +0 -626
  31. package/dist/abis/pool.abi.d.ts.map +0 -1
  32. package/dist/abis/pool.abi.js +0 -812
  33. package/dist/abis/pool.abi.js.map +0 -1
  34. package/dist/abis/spokeAssetManager.abi.d.ts +0 -169
  35. package/dist/abis/spokeAssetManager.abi.d.ts.map +0 -1
  36. package/dist/abis/spokeAssetManager.abi.js +0 -217
  37. package/dist/abis/spokeAssetManager.abi.js.map +0 -1
  38. package/dist/abis/uiPoolData.abi.d.ts +0 -369
  39. package/dist/abis/uiPoolData.abi.d.ts.map +0 -1
  40. package/dist/abis/uiPoolData.abi.js +0 -476
  41. package/dist/abis/uiPoolData.abi.js.map +0 -1
  42. package/dist/abis/vaultToken.abi.d.ts +0 -816
  43. package/dist/abis/vaultToken.abi.d.ts.map +0 -1
  44. package/dist/abis/vaultToken.abi.js +0 -1062
  45. package/dist/abis/vaultToken.abi.js.map +0 -1
  46. package/dist/abis/walletFactory.abi.d.ts +0 -20
  47. package/dist/abis/walletFactory.abi.d.ts.map +0 -1
  48. package/dist/abis/walletFactory.abi.js +0 -27
  49. package/dist/abis/walletFactory.abi.js.map +0 -1
  50. package/dist/constants.d.ts +0 -565
  51. package/dist/constants.d.ts.map +0 -1
  52. package/dist/constants.js +0 -1196
  53. package/dist/constants.js.map +0 -1
  54. package/dist/constants.test.d.ts +0 -2
  55. package/dist/constants.test.d.ts.map +0 -1
  56. package/dist/constants.test.js +0 -128
  57. package/dist/constants.test.js.map +0 -1
  58. package/dist/entities/Providers.d.ts +0 -61
  59. package/dist/entities/Providers.d.ts.map +0 -1
  60. package/dist/entities/Providers.js +0 -51
  61. package/dist/entities/Providers.js.map +0 -1
  62. package/dist/entities/Sodax.d.ts +0 -23
  63. package/dist/entities/Sodax.d.ts.map +0 -1
  64. package/dist/entities/Sodax.js +0 -29
  65. package/dist/entities/Sodax.js.map +0 -1
  66. package/dist/entities/Sodax.test.d.ts +0 -2
  67. package/dist/entities/Sodax.test.d.ts.map +0 -1
  68. package/dist/entities/Sodax.test.js +0 -376
  69. package/dist/entities/Sodax.test.js.map +0 -1
  70. package/dist/entities/cosmos/CW20Token.d.ts +0 -39
  71. package/dist/entities/cosmos/CW20Token.d.ts.map +0 -1
  72. package/dist/entities/cosmos/CW20Token.js +0 -65
  73. package/dist/entities/cosmos/CW20Token.js.map +0 -1
  74. package/dist/entities/cosmos/CWSpokeProvider.d.ts +0 -91
  75. package/dist/entities/cosmos/CWSpokeProvider.d.ts.map +0 -1
  76. package/dist/entities/cosmos/CWSpokeProvider.js +0 -143
  77. package/dist/entities/cosmos/CWSpokeProvider.js.map +0 -1
  78. package/dist/entities/cosmos/CosmosWalletProvider.d.ts +0 -28
  79. package/dist/entities/cosmos/CosmosWalletProvider.d.ts.map +0 -1
  80. package/dist/entities/cosmos/CosmosWalletProvider.js +0 -102
  81. package/dist/entities/cosmos/CosmosWalletProvider.js.map +0 -1
  82. package/dist/entities/cosmos/InjectiveWalletProvider.d.ts +0 -25
  83. package/dist/entities/cosmos/InjectiveWalletProvider.d.ts.map +0 -1
  84. package/dist/entities/cosmos/InjectiveWalletProvider.js +0 -76
  85. package/dist/entities/cosmos/InjectiveWalletProvider.js.map +0 -1
  86. package/dist/entities/icon/HanaWalletConnector.d.ts +0 -36
  87. package/dist/entities/icon/HanaWalletConnector.d.ts.map +0 -1
  88. package/dist/entities/icon/HanaWalletConnector.js +0 -92
  89. package/dist/entities/icon/HanaWalletConnector.js.map +0 -1
  90. package/dist/entities/icon/IconSpokeProvider.d.ts +0 -8
  91. package/dist/entities/icon/IconSpokeProvider.d.ts.map +0 -1
  92. package/dist/entities/icon/IconSpokeProvider.js +0 -9
  93. package/dist/entities/icon/IconSpokeProvider.js.map +0 -1
  94. package/dist/entities/icon/IconWalletProvider.d.ts +0 -12
  95. package/dist/entities/icon/IconWalletProvider.d.ts.map +0 -1
  96. package/dist/entities/icon/IconWalletProvider.js +0 -34
  97. package/dist/entities/icon/IconWalletProvider.js.map +0 -1
  98. package/dist/entities/icon/index.d.ts +0 -5
  99. package/dist/entities/icon/index.d.ts.map +0 -1
  100. package/dist/entities/icon/index.js +0 -5
  101. package/dist/entities/icon/index.js.map +0 -1
  102. package/dist/entities/icon/utils.d.ts +0 -3
  103. package/dist/entities/icon/utils.d.ts.map +0 -1
  104. package/dist/entities/icon/utils.js +0 -4
  105. package/dist/entities/icon/utils.js.map +0 -1
  106. package/dist/entities/index.d.ts +0 -8
  107. package/dist/entities/index.d.ts.map +0 -1
  108. package/dist/entities/index.js +0 -8
  109. package/dist/entities/index.js.map +0 -1
  110. package/dist/entities/solana/Configs.d.ts +0 -10
  111. package/dist/entities/solana/Configs.d.ts.map +0 -1
  112. package/dist/entities/solana/Configs.js +0 -50
  113. package/dist/entities/solana/Configs.js.map +0 -1
  114. package/dist/entities/solana/SolanaSpokeProvider.d.ts +0 -9
  115. package/dist/entities/solana/SolanaSpokeProvider.d.ts.map +0 -1
  116. package/dist/entities/solana/SolanaSpokeProvider.js +0 -9
  117. package/dist/entities/solana/SolanaSpokeProvider.js.map +0 -1
  118. package/dist/entities/solana/SolanaWalletProvider.d.ts +0 -20
  119. package/dist/entities/solana/SolanaWalletProvider.d.ts.map +0 -1
  120. package/dist/entities/solana/SolanaWalletProvider.js +0 -53
  121. package/dist/entities/solana/SolanaWalletProvider.js.map +0 -1
  122. package/dist/entities/solana/index.d.ts +0 -4
  123. package/dist/entities/solana/index.d.ts.map +0 -1
  124. package/dist/entities/solana/index.js +0 -4
  125. package/dist/entities/solana/index.js.map +0 -1
  126. package/dist/entities/solana/pda/pda.d.ts +0 -45
  127. package/dist/entities/solana/pda/pda.d.ts.map +0 -1
  128. package/dist/entities/solana/pda/pda.js +0 -44
  129. package/dist/entities/solana/pda/pda.js.map +0 -1
  130. package/dist/entities/solana/types/asset_manager.d.ts +0 -919
  131. package/dist/entities/solana/types/asset_manager.d.ts.map +0 -1
  132. package/dist/entities/solana/types/asset_manager.js +0 -2
  133. package/dist/entities/solana/types/asset_manager.js.map +0 -1
  134. package/dist/entities/solana/types/connection.d.ts +0 -446
  135. package/dist/entities/solana/types/connection.d.ts.map +0 -1
  136. package/dist/entities/solana/types/connection.js +0 -2
  137. package/dist/entities/solana/types/connection.js.map +0 -1
  138. package/dist/entities/solana/types/rate_limit_contract.d.ts +0 -348
  139. package/dist/entities/solana/types/rate_limit_contract.d.ts.map +0 -1
  140. package/dist/entities/solana/types/rate_limit_contract.js +0 -2
  141. package/dist/entities/solana/types/rate_limit_contract.js.map +0 -1
  142. package/dist/entities/solana/utils/utils.d.ts +0 -6
  143. package/dist/entities/solana/utils/utils.d.ts.map +0 -1
  144. package/dist/entities/solana/utils/utils.js +0 -17
  145. package/dist/entities/solana/utils/utils.js.map +0 -1
  146. package/dist/entities/stellar/StellarSpokeProvider.d.ts +0 -24
  147. package/dist/entities/stellar/StellarSpokeProvider.d.ts.map +0 -1
  148. package/dist/entities/stellar/StellarSpokeProvider.js +0 -129
  149. package/dist/entities/stellar/StellarSpokeProvider.js.map +0 -1
  150. package/dist/entities/sui/SuiSpokeProvider.d.ts +0 -34
  151. package/dist/entities/sui/SuiSpokeProvider.d.ts.map +0 -1
  152. package/dist/entities/sui/SuiSpokeProvider.js +0 -143
  153. package/dist/entities/sui/SuiSpokeProvider.js.map +0 -1
  154. package/dist/entities/sui/SuiWalletProvider.d.ts +0 -15
  155. package/dist/entities/sui/SuiWalletProvider.d.ts.map +0 -1
  156. package/dist/entities/sui/SuiWalletProvider.js +0 -43
  157. package/dist/entities/sui/SuiWalletProvider.js.map +0 -1
  158. package/dist/errors.d.ts +0 -2
  159. package/dist/errors.d.ts.map +0 -1
  160. package/dist/errors.js +0 -2
  161. package/dist/errors.js.map +0 -1
  162. package/dist/guards.d.ts +0 -25
  163. package/dist/guards.d.ts.map +0 -1
  164. package/dist/guards.js +0 -110
  165. package/dist/guards.js.map +0 -1
  166. package/dist/index.d.ts.map +0 -1
  167. package/dist/index.js +0 -10
  168. package/dist/index.js.map +0 -1
  169. package/dist/interfaces.d.ts +0 -8
  170. package/dist/interfaces.d.ts.map +0 -1
  171. package/dist/interfaces.js +0 -2
  172. package/dist/interfaces.js.map +0 -1
  173. package/dist/services/hub/EvmAssetManagerService.d.ts +0 -60
  174. package/dist/services/hub/EvmAssetManagerService.d.ts.map +0 -1
  175. package/dist/services/hub/EvmAssetManagerService.js +0 -103
  176. package/dist/services/hub/EvmAssetManagerService.js.map +0 -1
  177. package/dist/services/hub/EvmVaultTokenService.d.ts +0 -81
  178. package/dist/services/hub/EvmVaultTokenService.d.ts.map +0 -1
  179. package/dist/services/hub/EvmVaultTokenService.js +0 -159
  180. package/dist/services/hub/EvmVaultTokenService.js.map +0 -1
  181. package/dist/services/hub/EvmWalletAbstraction.d.ts +0 -8
  182. package/dist/services/hub/EvmWalletAbstraction.d.ts.map +0 -1
  183. package/dist/services/hub/EvmWalletAbstraction.js +0 -14
  184. package/dist/services/hub/EvmWalletAbstraction.js.map +0 -1
  185. package/dist/services/hub/index.d.ts +0 -4
  186. package/dist/services/hub/index.d.ts.map +0 -1
  187. package/dist/services/hub/index.js +0 -4
  188. package/dist/services/hub/index.js.map +0 -1
  189. package/dist/services/index.d.ts +0 -7
  190. package/dist/services/index.d.ts.map +0 -1
  191. package/dist/services/index.js +0 -7
  192. package/dist/services/index.js.map +0 -1
  193. package/dist/services/intentRelay/IntentRelayApiService.d.ts +0 -111
  194. package/dist/services/intentRelay/IntentRelayApiService.d.ts.map +0 -1
  195. package/dist/services/intentRelay/IntentRelayApiService.js +0 -160
  196. package/dist/services/intentRelay/IntentRelayApiService.js.map +0 -1
  197. package/dist/services/intentRelay/IntentRelayApiService.test.d.ts +0 -2
  198. package/dist/services/intentRelay/IntentRelayApiService.test.d.ts.map +0 -1
  199. package/dist/services/intentRelay/IntentRelayApiService.test.js +0 -134
  200. package/dist/services/intentRelay/IntentRelayApiService.test.js.map +0 -1
  201. package/dist/services/intentRelay/index.d.ts +0 -2
  202. package/dist/services/intentRelay/index.d.ts.map +0 -1
  203. package/dist/services/intentRelay/index.js +0 -2
  204. package/dist/services/intentRelay/index.js.map +0 -1
  205. package/dist/services/moneyMarket/MoneyMarketService.d.ts +0 -321
  206. package/dist/services/moneyMarket/MoneyMarketService.d.ts.map +0 -1
  207. package/dist/services/moneyMarket/MoneyMarketService.js +0 -604
  208. package/dist/services/moneyMarket/MoneyMarketService.js.map +0 -1
  209. package/dist/services/moneyMarket/MoneyMarketService.test.d.ts +0 -2
  210. package/dist/services/moneyMarket/MoneyMarketService.test.d.ts.map +0 -1
  211. package/dist/services/moneyMarket/MoneyMarketService.test.js +0 -245
  212. package/dist/services/moneyMarket/MoneyMarketService.test.js.map +0 -1
  213. package/dist/services/moneyMarket/index.d.ts +0 -2
  214. package/dist/services/moneyMarket/index.d.ts.map +0 -1
  215. package/dist/services/moneyMarket/index.js +0 -2
  216. package/dist/services/moneyMarket/index.js.map +0 -1
  217. package/dist/services/shared/Erc20Service.d.ts +0 -41
  218. package/dist/services/shared/Erc20Service.d.ts.map +0 -1
  219. package/dist/services/shared/Erc20Service.js +0 -107
  220. package/dist/services/shared/Erc20Service.js.map +0 -1
  221. package/dist/services/shared/index.d.ts +0 -2
  222. package/dist/services/shared/index.d.ts.map +0 -1
  223. package/dist/services/shared/index.js +0 -2
  224. package/dist/services/shared/index.js.map +0 -1
  225. package/dist/services/solver/EvmSolverService.d.ts +0 -125
  226. package/dist/services/solver/EvmSolverService.d.ts.map +0 -1
  227. package/dist/services/solver/EvmSolverService.js +0 -166
  228. package/dist/services/solver/EvmSolverService.js.map +0 -1
  229. package/dist/services/solver/SolverApiService.d.ts +0 -40
  230. package/dist/services/solver/SolverApiService.d.ts.map +0 -1
  231. package/dist/services/solver/SolverApiService.js +0 -157
  232. package/dist/services/solver/SolverApiService.js.map +0 -1
  233. package/dist/services/solver/SolverApiService.test.d.ts +0 -2
  234. package/dist/services/solver/SolverApiService.test.d.ts.map +0 -1
  235. package/dist/services/solver/SolverApiService.test.js +0 -180
  236. package/dist/services/solver/SolverApiService.test.js.map +0 -1
  237. package/dist/services/solver/SolverService.d.ts +0 -194
  238. package/dist/services/solver/SolverService.d.ts.map +0 -1
  239. package/dist/services/solver/SolverService.js +0 -324
  240. package/dist/services/solver/SolverService.js.map +0 -1
  241. package/dist/services/solver/SolverService.test.d.ts +0 -2
  242. package/dist/services/solver/SolverService.test.d.ts.map +0 -1
  243. package/dist/services/solver/SolverService.test.js +0 -493
  244. package/dist/services/solver/SolverService.test.js.map +0 -1
  245. package/dist/services/solver/index.d.ts +0 -3
  246. package/dist/services/solver/index.d.ts.map +0 -1
  247. package/dist/services/solver/index.js +0 -3
  248. package/dist/services/solver/index.js.map +0 -1
  249. package/dist/services/spoke/CWSpokeService.d.ts +0 -67
  250. package/dist/services/spoke/CWSpokeService.d.ts.map +0 -1
  251. package/dist/services/spoke/CWSpokeService.js +0 -75
  252. package/dist/services/spoke/CWSpokeService.js.map +0 -1
  253. package/dist/services/spoke/EvmSpokeService.d.ts +0 -61
  254. package/dist/services/spoke/EvmSpokeService.d.ts.map +0 -1
  255. package/dist/services/spoke/EvmSpokeService.js +0 -118
  256. package/dist/services/spoke/EvmSpokeService.js.map +0 -1
  257. package/dist/services/spoke/IconSpokeService.d.ts +0 -55
  258. package/dist/services/spoke/IconSpokeService.d.ts.map +0 -1
  259. package/dist/services/spoke/IconSpokeService.js +0 -111
  260. package/dist/services/spoke/IconSpokeService.js.map +0 -1
  261. package/dist/services/spoke/SolanaSpokeService.d.ts +0 -45
  262. package/dist/services/spoke/SolanaSpokeService.d.ts.map +0 -1
  263. package/dist/services/spoke/SolanaSpokeService.js +0 -170
  264. package/dist/services/spoke/SolanaSpokeService.js.map +0 -1
  265. package/dist/services/spoke/SpokeService.d.ts +0 -33
  266. package/dist/services/spoke/SpokeService.d.ts.map +0 -1
  267. package/dist/services/spoke/SpokeService.js +0 -102
  268. package/dist/services/spoke/SpokeService.js.map +0 -1
  269. package/dist/services/spoke/StellarSpokeService.d.ts +0 -35
  270. package/dist/services/spoke/StellarSpokeService.d.ts.map +0 -1
  271. package/dist/services/spoke/StellarSpokeService.js +0 -39
  272. package/dist/services/spoke/StellarSpokeService.js.map +0 -1
  273. package/dist/services/spoke/SuiSpokeService.d.ts +0 -69
  274. package/dist/services/spoke/SuiSpokeService.d.ts.map +0 -1
  275. package/dist/services/spoke/SuiSpokeService.js +0 -74
  276. package/dist/services/spoke/SuiSpokeService.js.map +0 -1
  277. package/dist/services/spoke/index.d.ts +0 -3
  278. package/dist/services/spoke/index.d.ts.map +0 -1
  279. package/dist/services/spoke/index.js +0 -3
  280. package/dist/services/spoke/index.js.map +0 -1
  281. package/dist/tests/services/hub/EvmAssetManagerService.test.d.ts +0 -2
  282. package/dist/tests/services/hub/EvmAssetManagerService.test.d.ts.map +0 -1
  283. package/dist/tests/services/hub/EvmAssetManagerService.test.js +0 -123
  284. package/dist/tests/services/hub/EvmAssetManagerService.test.js.map +0 -1
  285. package/dist/tests/services/hub/EvmMoneyMarketService.test.d.ts +0 -2
  286. package/dist/tests/services/hub/EvmMoneyMarketService.test.d.ts.map +0 -1
  287. package/dist/tests/services/hub/EvmMoneyMarketService.test.js +0 -121
  288. package/dist/tests/services/hub/EvmMoneyMarketService.test.js.map +0 -1
  289. package/dist/tests/services/hub/EvmVaultTokenService.test.d.ts +0 -2
  290. package/dist/tests/services/hub/EvmVaultTokenService.test.d.ts.map +0 -1
  291. package/dist/tests/services/hub/EvmVaultTokenService.test.js +0 -98
  292. package/dist/tests/services/hub/EvmVaultTokenService.test.js.map +0 -1
  293. package/dist/tests/services/spoke/EvmSpokeService.test.d.ts +0 -2
  294. package/dist/tests/services/spoke/EvmSpokeService.test.d.ts.map +0 -1
  295. package/dist/tests/services/spoke/EvmSpokeService.test.js +0 -197
  296. package/dist/tests/services/spoke/EvmSpokeService.test.js.map +0 -1
  297. package/dist/types.d.ts +0 -395
  298. package/dist/types.d.ts.map +0 -1
  299. package/dist/types.js +0 -30
  300. package/dist/types.js.map +0 -1
  301. package/dist/utils/evm-utils.d.ts +0 -10
  302. package/dist/utils/evm-utils.d.ts.map +0 -1
  303. package/dist/utils/evm-utils.js +0 -15
  304. package/dist/utils/evm-utils.js.map +0 -1
  305. package/dist/utils/index.d.ts +0 -3
  306. package/dist/utils/index.d.ts.map +0 -1
  307. package/dist/utils/index.js +0 -3
  308. package/dist/utils/index.js.map +0 -1
  309. package/dist/utils/shared-utils.d.ts +0 -19
  310. package/dist/utils/shared-utils.d.ts.map +0 -1
  311. package/dist/utils/shared-utils.js +0 -66
  312. package/dist/utils/shared-utils.js.map +0 -1
  313. package/dist/utils/shared-utils.test.d.ts +0 -2
  314. package/dist/utils/shared-utils.test.d.ts.map +0 -1
  315. package/dist/utils/shared-utils.test.js +0 -63
  316. package/dist/utils/shared-utils.test.js.map +0 -1
@@ -1,604 +0,0 @@
1
- import { encodeFunctionData } from 'viem';
2
- import { poolAbi } from '../../abis/pool.abi.js';
3
- import { DEFAULT_RELAYER_API_ENDPOINT, getHubAssetInfo, getMoneyMarketConfig, getSupportedMoneyMarketTokens, isConfiguredMoneyMarketConfig, isValidOriginalAssetAddress, isValidSpokeChainId, moneyMarketReserveAssets, SpokeService, relayTxAndWaitPacket, uiPoolDataAbi, SONIC_MAINNET_CHAIN_ID, DEFAULT_RELAY_TX_TIMEOUT, EvmSpokeProvider, isMoneyMarketSupportedToken, } from '../../index.js';
4
- import { calculateFeeAmount, encodeContractCalls } from '../../utils/index.js';
5
- import { EvmAssetManagerService, EvmVaultTokenService, EvmWalletAbstraction } from '../hub/index.js';
6
- import { Erc20Service } from '../shared/index.js';
7
- import invariant from 'tiny-invariant';
8
- export class MoneyMarketService {
9
- config;
10
- hubProvider;
11
- constructor(config, hubProvider, relayerApiEndpoint) {
12
- if (!config) {
13
- this.config = {
14
- ...getMoneyMarketConfig(SONIC_MAINNET_CHAIN_ID), // default to mainnet config
15
- partnerFee: undefined,
16
- relayerApiEndpoint: relayerApiEndpoint ?? DEFAULT_RELAYER_API_ENDPOINT,
17
- };
18
- }
19
- else if (isConfiguredMoneyMarketConfig(config)) {
20
- this.config = {
21
- ...config,
22
- partnerFee: config.partnerFee,
23
- relayerApiEndpoint: relayerApiEndpoint ?? DEFAULT_RELAYER_API_ENDPOINT,
24
- };
25
- }
26
- else {
27
- this.config = {
28
- ...getMoneyMarketConfig(hubProvider.chainConfig.chain.id), // default to mainnet config
29
- partnerFee: config.partnerFee,
30
- relayerApiEndpoint: relayerApiEndpoint ?? DEFAULT_RELAYER_API_ENDPOINT,
31
- };
32
- }
33
- this.hubProvider = hubProvider;
34
- }
35
- /**
36
- * Check whether assetManager contract is allowed to move the given payload amount
37
- * @param {MoneyMarketRepayParams | MoneyMarketSupplyParams} params - Money market params
38
- * @param {SpokeProvider} spokeProvider - The spoke provider
39
- * @return {Promise<Result<boolean>>} - valid = true, invalid = false
40
- */
41
- async isAllowanceValid(params, spokeProvider) {
42
- try {
43
- if (spokeProvider instanceof EvmSpokeProvider) {
44
- return Erc20Service.isAllowanceValid(params.token, params.amount, spokeProvider.walletProvider.getWalletAddress(), spokeProvider.chainConfig.addresses.assetManager, spokeProvider);
45
- }
46
- return {
47
- ok: true,
48
- value: true,
49
- };
50
- }
51
- catch (error) {
52
- return {
53
- ok: false,
54
- error: error,
55
- };
56
- }
57
- }
58
- /**
59
- * Approve ERC20 amount spending
60
- * @param token - ERC20 token address
61
- * @param amount - Amount to approve
62
- * @param address - Address to approve spending for
63
- * @param spokeProvider - Spoke provider
64
- */
65
- async approve(token, amount, address, spokeProvider) {
66
- try {
67
- if (spokeProvider instanceof EvmSpokeProvider) {
68
- return Erc20Service.approve(token, amount, address, spokeProvider);
69
- }
70
- return {
71
- ok: false,
72
- error: new Error('Approve only supported for EVM spoke chains'),
73
- };
74
- }
75
- catch (error) {
76
- return {
77
- ok: false,
78
- error: error,
79
- };
80
- }
81
- }
82
- /**
83
- * Supply tokens to the money market pool and submit the intent to the Solver API
84
- * @param params - The parameters for the supply transaction.
85
- * @param spokeProvider - The spoke provider.
86
- * @param timeout - The timeout in milliseconds for the transaction. Default is 20 seconds.
87
- * @returns [spokeTxHash, hubTxHash]
88
- */
89
- async supplyAndSubmit(params, spokeProvider, timeout = DEFAULT_RELAY_TX_TIMEOUT) {
90
- try {
91
- const txResult = await this.supply(params, spokeProvider);
92
- if (!txResult.ok) {
93
- return {
94
- ok: false,
95
- error: {
96
- code: 'SUPPLY_FAILED',
97
- error: txResult.error,
98
- },
99
- };
100
- }
101
- const packetResult = await relayTxAndWaitPacket(txResult.value, spokeProvider, this.config.relayerApiEndpoint, timeout);
102
- if (!packetResult.ok) {
103
- return packetResult;
104
- }
105
- return { ok: true, value: [txResult.value, packetResult.value.dst_tx_hash] };
106
- }
107
- catch (error) {
108
- return {
109
- ok: false,
110
- error: {
111
- code: 'UNKNOWN',
112
- error: error,
113
- },
114
- };
115
- }
116
- }
117
- /**
118
- * Supply tokens to the money market pool
119
- * NOTE: This method does not submit the intent to the Solver API
120
- * @param params - The parameters for the supply transaction.
121
- * @param spokeProvider - The spoke provider.
122
- * @param raw - Whether to return the raw transaction data.
123
- * @returns The transaction result.
124
- */
125
- async supply(params, spokeProvider, raw) {
126
- try {
127
- invariant(params.token.length > 0, 'Token is required');
128
- invariant(params.amount > 0n, 'Amount must be greater than 0');
129
- invariant(isMoneyMarketSupportedToken(spokeProvider.chainConfig.chain.id, params.token), `Unsupported spoke chain (${spokeProvider.chainConfig.chain.id}) token: ${params.token}`);
130
- const hubWallet = await EvmWalletAbstraction.getUserHubWalletAddress(spokeProvider.chainConfig.chain.id, spokeProvider.walletProvider.getWalletAddressBytes(), this.hubProvider);
131
- const data = this.supplyData(params.token, hubWallet, params.amount, spokeProvider.chainConfig.chain.id);
132
- const txResult = await SpokeService.deposit({
133
- from: spokeProvider.walletProvider.getWalletAddress(),
134
- to: hubWallet,
135
- token: params.token,
136
- amount: params.amount,
137
- data,
138
- }, spokeProvider, this.hubProvider, raw);
139
- return {
140
- ok: true,
141
- value: txResult,
142
- };
143
- }
144
- catch (error) {
145
- return {
146
- ok: false,
147
- error: {
148
- code: 'UNKNOWN',
149
- error,
150
- },
151
- };
152
- }
153
- }
154
- /**
155
- * Borrow tokens from the money market pool and submit the intent to the Solver API
156
- * @param params - The parameters for the borrow transaction.
157
- * @param spokeProvider - The spoke provider.
158
- * @param timeout - The timeout in milliseconds for the transaction. Default is 20 seconds.
159
- * @returns [spokeTxHash, hubTxHash]
160
- */
161
- async borrowAndSubmit(params, spokeProvider, timeout = DEFAULT_RELAY_TX_TIMEOUT) {
162
- try {
163
- const txResult = await this.borrow(params, spokeProvider);
164
- if (!txResult.ok) {
165
- return {
166
- ok: false,
167
- error: {
168
- code: 'BORROW_FAILED',
169
- error: txResult.error,
170
- },
171
- };
172
- }
173
- const packetResult = await relayTxAndWaitPacket(txResult.value, spokeProvider, this.config.relayerApiEndpoint, timeout);
174
- if (!packetResult.ok) {
175
- return packetResult;
176
- }
177
- return { ok: true, value: [txResult.value, packetResult.value.dst_tx_hash] };
178
- }
179
- catch (error) {
180
- return {
181
- ok: false,
182
- error: {
183
- code: 'UNKNOWN',
184
- error: error,
185
- },
186
- };
187
- }
188
- }
189
- /**
190
- * Borrow tokens from the money market pool
191
- * NOTE: This method does not submit the intent to the Solver API
192
- * @param params - The parameters for the borrow transaction.
193
- * @param spokeProvider - The spoke provider.
194
- * @param raw - Whether to return the raw transaction data.
195
- * @returns The transaction result (raw transaction data or transaction hash).
196
- */
197
- async borrow(params, spokeProvider, raw) {
198
- invariant(params.token.length > 0, 'Token is required');
199
- invariant(params.amount > 0n, 'Amount must be greater than 0');
200
- invariant(isMoneyMarketSupportedToken(spokeProvider.chainConfig.chain.id, params.token), `Unsupported spoke chain (${spokeProvider.chainConfig.chain.id}) token: ${params.token}`);
201
- const hubWallet = await EvmWalletAbstraction.getUserHubWalletAddress(spokeProvider.chainConfig.chain.id, spokeProvider.walletProvider.getWalletAddressBytes(), this.hubProvider);
202
- const data = this.borrowData(hubWallet, spokeProvider.walletProvider.getWalletAddressBytes(), params.token, params.amount, spokeProvider.chainConfig.chain.id);
203
- const txResult = await SpokeService.callWallet(hubWallet, data, spokeProvider, this.hubProvider, raw);
204
- return { ok: true, value: txResult };
205
- }
206
- /**
207
- * Withdraw tokens from the money market pool and submit the intent to the Solver API
208
- * @param params - The parameters for the withdraw transaction.
209
- * @param spokeProvider - The spoke provider.
210
- * @param timeout - The timeout in milliseconds for the transaction. Default is 20 seconds.
211
- * @returns [spokeTxHash, hubTxHash]
212
- */
213
- async withdrawAndSubmit(params, spokeProvider, timeout = DEFAULT_RELAY_TX_TIMEOUT) {
214
- try {
215
- const txResult = await this.withdraw(params, spokeProvider);
216
- if (!txResult.ok) {
217
- return {
218
- ok: false,
219
- error: {
220
- code: 'WITHDRAW_FAILED',
221
- error: txResult.error,
222
- },
223
- };
224
- }
225
- const packetResult = await relayTxAndWaitPacket(txResult.value, spokeProvider, this.config.relayerApiEndpoint, timeout);
226
- if (!packetResult.ok) {
227
- return packetResult;
228
- }
229
- return { ok: true, value: [txResult.value, packetResult.value.dst_tx_hash] };
230
- }
231
- catch (error) {
232
- return {
233
- ok: false,
234
- error: {
235
- code: 'UNKNOWN',
236
- error: error,
237
- },
238
- };
239
- }
240
- }
241
- /**
242
- * Withdraw tokens from the money market pool
243
- * NOTE: This method does not submit the intent to the Solver API
244
- * @param params - The parameters for the withdraw transaction.
245
- * @param spokeProvider - The spoke provider.
246
- * @param raw - Whether to return the raw transaction data.
247
- * @returns The transaction result (raw transaction data or transaction hash).
248
- */
249
- async withdraw(params, spokeProvider, raw) {
250
- invariant(params.token.length > 0, 'Token is required');
251
- invariant(params.amount > 0n, 'Amount must be greater than 0');
252
- invariant(isMoneyMarketSupportedToken(spokeProvider.chainConfig.chain.id, params.token), `Unsupported spoke chain (${spokeProvider.chainConfig.chain.id}) token: ${params.token}`);
253
- const hubWallet = await EvmWalletAbstraction.getUserHubWalletAddress(spokeProvider.chainConfig.chain.id, spokeProvider.walletProvider.getWalletAddressBytes(), this.hubProvider);
254
- const data = this.withdrawData(hubWallet, spokeProvider.walletProvider.getWalletAddressBytes(), params.token, params.amount, spokeProvider.chainConfig.chain.id);
255
- const txResult = await SpokeService.callWallet(hubWallet, data, spokeProvider, this.hubProvider, raw);
256
- return { ok: true, value: txResult };
257
- }
258
- /**
259
- * Repay tokens to the money market pool and submit the intent to the Solver API
260
- * @param params - The parameters for the repay transaction.
261
- * @param spokeProvider - The spoke provider.
262
- * @param timeout - The timeout in milliseconds for the transaction. Default is 20 seconds.
263
- * @returns [spokeTxHash, hubTxHash]
264
- */
265
- async repayAndSubmit(params, spokeProvider, timeout = DEFAULT_RELAY_TX_TIMEOUT) {
266
- try {
267
- const txResult = await this.repay(params, spokeProvider);
268
- if (!txResult.ok) {
269
- return {
270
- ok: false,
271
- error: {
272
- code: 'REPAY_FAILED',
273
- error: txResult.error,
274
- },
275
- };
276
- }
277
- const packetResult = await relayTxAndWaitPacket(txResult.value, spokeProvider, this.config.relayerApiEndpoint, timeout);
278
- if (!packetResult.ok) {
279
- return packetResult;
280
- }
281
- return { ok: true, value: [txResult.value, packetResult.value.dst_tx_hash] };
282
- }
283
- catch (error) {
284
- return {
285
- ok: false,
286
- error: {
287
- code: 'UNKNOWN',
288
- error: error,
289
- },
290
- };
291
- }
292
- }
293
- /**
294
- * Repay tokens to the money market pool
295
- * NOTE: This method does not submit the intent to the Solver API
296
- * @param params - The parameters for the repay transaction.
297
- * @param spokeProvider - The spoke provider.
298
- * @param raw - Whether to return the raw transaction data.
299
- * @returns The transaction result (raw transaction data or transaction hash).
300
- */
301
- async repay(params, spokeProvider, raw) {
302
- invariant(params.token.length > 0, 'Token is required');
303
- invariant(params.amount > 0n, 'Amount must be greater than 0');
304
- invariant(isMoneyMarketSupportedToken(spokeProvider.chainConfig.chain.id, params.token), `Unsupported spoke chain (${spokeProvider.chainConfig.chain.id}) token: ${params.token}`);
305
- const hubWallet = await EvmWalletAbstraction.getUserHubWalletAddress(spokeProvider.chainConfig.chain.id, spokeProvider.walletProvider.getWalletAddressBytes(), this.hubProvider);
306
- const data = this.repayData(params.token, hubWallet, params.amount, spokeProvider.chainConfig.chain.id);
307
- const txResult = await SpokeService.deposit({
308
- from: spokeProvider.walletProvider.getWalletAddress(),
309
- to: hubWallet,
310
- token: params.token,
311
- amount: params.amount,
312
- data,
313
- }, spokeProvider, this.hubProvider, raw);
314
- return { ok: true, value: txResult };
315
- }
316
- /**
317
- * Deposit tokens to the spoke chain and supply to the money market pool
318
- * @param token - The address of the token on spoke chain
319
- * @param to The user wallet address on the hub chain
320
- * @param amount The amount to deposit
321
- * @param spokeChainId The chain ID of the spoke chain
322
- * @returns The transaction result (raw transaction data or transaction hash).
323
- */
324
- supplyData(token, to, amount, spokeChainId) {
325
- const calls = [];
326
- const assetConfig = getHubAssetInfo(spokeChainId, token);
327
- invariant(assetConfig, `hub asset not found for spoke chain token (token): ${token}`);
328
- const assetAddress = assetConfig.asset;
329
- const vaultAddress = assetConfig.vault;
330
- const lendingPool = this.config.lendingPool;
331
- calls.push(Erc20Service.encodeApprove(assetAddress, vaultAddress, amount));
332
- calls.push(EvmVaultTokenService.encodeDeposit(vaultAddress, assetAddress, amount));
333
- const translatedAmount = EvmVaultTokenService.translateIncomingDecimals(assetConfig.decimal, amount);
334
- calls.push(Erc20Service.encodeApprove(vaultAddress, lendingPool, translatedAmount));
335
- calls.push(MoneyMarketService.encodeSupply({ asset: vaultAddress, amount: translatedAmount, onBehalfOf: to, referralCode: 0 }, lendingPool));
336
- return encodeContractCalls(calls);
337
- }
338
- /**
339
- * Borrow tokens from the money market pool
340
- * @param from The user wallet address on the hub chain
341
- * @param to The user wallet address on the spoke chain
342
- * @param token The address of the token to borrow
343
- * @param amount The amount to borrow in hub chain decimals
344
- * @param spokeChainId The chain ID of the spoke chain
345
- * @returns Transaction object
346
- */
347
- borrowData(from, to, token, amount, spokeChainId) {
348
- invariant(isValidSpokeChainId(spokeChainId), `Invalid spokeChainId: ${spokeChainId}`);
349
- invariant(isValidOriginalAssetAddress(spokeChainId, token), `Unsupported spoke chain (${spokeChainId}) token: ${token}`);
350
- const assetConfig = getHubAssetInfo(spokeChainId, token);
351
- invariant(assetConfig, `hub asset not found for spoke chain token (token): ${token}`);
352
- const assetAddress = assetConfig.asset;
353
- const vaultAddress = assetConfig.vault;
354
- const bnUSDVault = this.config.bnUSDVault;
355
- const bnUSD = this.config.bnUSD;
356
- const feeAmount = calculateFeeAmount(amount, this.config.partnerFee);
357
- const calls = [];
358
- if (bnUSDVault && bnUSD && bnUSDVault.toLowerCase() === vaultAddress.toLowerCase()) {
359
- calls.push(MoneyMarketService.encodeBorrow({ asset: bnUSD, amount: amount, interestRateMode: 2n, referralCode: 0, onBehalfOf: from }, this.config.lendingPool));
360
- calls.push(Erc20Service.encodeApprove(bnUSD, bnUSDVault, amount));
361
- calls.push(EvmVaultTokenService.encodeDeposit(bnUSDVault, bnUSD, amount));
362
- if (this.config.partnerFee && feeAmount) {
363
- calls.push(Erc20Service.encodeTansfer(bnUSDVault, this.config.partnerFee.address, feeAmount));
364
- }
365
- }
366
- else {
367
- calls.push(MoneyMarketService.encodeBorrow({ asset: vaultAddress, amount: amount, interestRateMode: 2n, referralCode: 0, onBehalfOf: from }, this.config.lendingPool));
368
- if (this.config.partnerFee && feeAmount) {
369
- calls.push(Erc20Service.encodeTansfer(vaultAddress, this.config.partnerFee.address, feeAmount));
370
- }
371
- }
372
- calls.push(EvmVaultTokenService.encodeWithdraw(vaultAddress, assetAddress, amount - feeAmount));
373
- const translatedAmountOut = EvmVaultTokenService.translateOutgoingDecimals(assetConfig.decimal, amount - feeAmount);
374
- calls.push(EvmAssetManagerService.encodeTransfer(assetAddress, to, translatedAmountOut, this.hubProvider.chainConfig.addresses.assetManager));
375
- return encodeContractCalls(calls);
376
- }
377
- /**
378
- * Withdraw tokens from the money market pool
379
- * @param from The user wallet address on the hub chain
380
- * @param to The user wallet address on the spoke chain
381
- * @param token The address of the token to borrow
382
- * @param amount The amount to borrow in hub chain decimals
383
- * @param spokeChainId The chain ID of the spoke chain
384
- * @returns Transaction object
385
- */
386
- withdrawData(from, to, token, amount, spokeChainId) {
387
- const calls = [];
388
- const assetConfig = getHubAssetInfo(spokeChainId, token);
389
- if (!assetConfig) {
390
- throw new Error('[withdrawData] Hub asset not found');
391
- }
392
- const assetAddress = assetConfig.asset;
393
- const vaultAddress = assetConfig.vault;
394
- if (!assetAddress || !vaultAddress) {
395
- throw new Error('Address not found');
396
- }
397
- calls.push(MoneyMarketService.encodeWithdraw({ asset: vaultAddress, amount: amount, to: from }, this.config.lendingPool));
398
- calls.push(EvmVaultTokenService.encodeWithdraw(vaultAddress, assetAddress, amount));
399
- const translatedAmountOut = EvmVaultTokenService.translateOutgoingDecimals(assetConfig.decimal, amount);
400
- calls.push(EvmAssetManagerService.encodeTransfer(assetAddress, to, translatedAmountOut, this.hubProvider.chainConfig.addresses.assetManager));
401
- return encodeContractCalls(calls);
402
- }
403
- /**
404
- * Repay tokens to the money market pool
405
- * @param token The address of the token to repay
406
- * @param to The user wallet address on the hub chain
407
- * @param amount The amount to repay
408
- * @param spokeChainId The chain ID of the spoke chain
409
- * @param moneyMarketConfig The money market config
410
- * @returns Transaction object
411
- */
412
- repayData(token, to, amount, spokeChainId) {
413
- const calls = [];
414
- const assetConfig = getHubAssetInfo(spokeChainId, token);
415
- if (!assetConfig) {
416
- throw new Error('[repayData] Hub asset not found');
417
- }
418
- const assetAddress = assetConfig.asset;
419
- const vaultAddress = assetConfig.vault;
420
- const bnUSDVault = this.config.bnUSDVault;
421
- const bnUSD = this.config.bnUSD;
422
- calls.push(Erc20Service.encodeApprove(assetAddress, vaultAddress, amount));
423
- calls.push(EvmVaultTokenService.encodeDeposit(vaultAddress, assetAddress, amount));
424
- const translatedAmount = EvmVaultTokenService.translateIncomingDecimals(assetConfig.decimal, amount);
425
- let repayToken = vaultAddress;
426
- if (bnUSDVault && bnUSD && bnUSDVault.toLowerCase() === vaultAddress.toLowerCase()) {
427
- repayToken = bnUSD;
428
- calls.push(EvmVaultTokenService.encodeWithdraw(bnUSDVault, bnUSD, translatedAmount));
429
- }
430
- calls.push(Erc20Service.encodeApprove(repayToken, this.config.lendingPool, translatedAmount));
431
- calls.push(MoneyMarketService.encodeRepay({ asset: repayToken, amount: translatedAmount, interestRateMode: 2n, onBehalfOf: to }, this.config.lendingPool));
432
- return encodeContractCalls(calls);
433
- }
434
- /**
435
- * Get the list of all reserves in the pool
436
- * @param uiPoolDataProvider - The address of the UI Pool Data Provider
437
- * @param poolAddressesProvider - The address of the Pool Addresses Provider
438
- * @returns Array of reserve addresses
439
- */
440
- async getReservesList(uiPoolDataProvider, poolAddressesProvider) {
441
- return this.hubProvider.publicClient.readContract({
442
- address: uiPoolDataProvider,
443
- abi: uiPoolDataAbi,
444
- functionName: 'getReservesList',
445
- args: [poolAddressesProvider],
446
- });
447
- }
448
- /**
449
- * Get detailed data for all reserves in the pool
450
- * @param uiPoolDataProvider - The address of the UI Pool Data Provider
451
- * @param poolAddressesProvider - The address of the Pool Addresses Provider
452
- * @returns Tuple containing array of reserve data and base currency info
453
- */
454
- async getReservesData(uiPoolDataProvider, poolAddressesProvider) {
455
- return this.hubProvider.publicClient.readContract({
456
- address: uiPoolDataProvider,
457
- abi: uiPoolDataAbi,
458
- functionName: 'getReservesData',
459
- args: [poolAddressesProvider],
460
- });
461
- }
462
- /**
463
- * Get user-specific reserve data
464
- * @param userAddress Address of the user
465
- * @param uiPoolDataProvider - The address of the UI Pool Data Provider
466
- * @param poolAddressesProvider - The address of the Pool Addresses Provider
467
- * @returns Tuple containing array of user reserve data and eMode category ID
468
- */
469
- async getUserReservesData(userAddress, uiPoolDataProvider, poolAddressesProvider) {
470
- return this.hubProvider.publicClient.readContract({
471
- address: uiPoolDataProvider,
472
- abi: uiPoolDataAbi,
473
- functionName: 'getUserReservesData',
474
- args: [poolAddressesProvider, userAddress],
475
- });
476
- }
477
- /**
478
- * Encodes a supply transaction for a money market pool.
479
- * @param {MoneyMarketEncodeWithdrawParams} params - The parameters for the supply transaction.
480
- * @param {Address} lendingPool - The address of the lending pool contract.
481
- * @returns {EvmContractCall} The encoded contract call.
482
- */
483
- static encodeSupply(params, lendingPool) {
484
- return {
485
- address: lendingPool,
486
- value: 0n,
487
- data: encodeFunctionData({
488
- abi: poolAbi,
489
- functionName: 'supply',
490
- args: [params.asset, params.amount, params.onBehalfOf, params.referralCode],
491
- }),
492
- };
493
- }
494
- /**
495
- * Encodes a withdraw transaction from a pool.
496
- * @param {MoneyMarketEncodeWithdrawParams} params - The parameters for the withdraw transaction.
497
- * @param {Address} params.asset - The address of the asset to withdraw.
498
- * @param {bigint} params.amount - The amount of the asset to withdraw.
499
- * @param {Address} params.to - The address that will receive the withdrawn assets.
500
- * @param {Address} lendingPool - The address of the lending pool contract.
501
- * @returns {EvmContractCall} The encoded contract call.
502
- */
503
- static encodeWithdraw(params, lendingPool) {
504
- return {
505
- address: lendingPool,
506
- value: 0n,
507
- data: encodeFunctionData({
508
- abi: poolAbi,
509
- functionName: 'withdraw',
510
- args: [params.asset, params.amount, params.to],
511
- }),
512
- };
513
- }
514
- /**
515
- * Encodes a borrow transaction from a pool.
516
- * @param {MoneyMarketEncodeBorrowParams} params - The parameters for the borrow transaction.
517
- * @param {Address} lendingPool - The address of the lending pool contract.
518
- * @returns {EvmContractCall} The encoded contract call.
519
- */
520
- static encodeBorrow(params, lendingPool) {
521
- return {
522
- address: lendingPool,
523
- value: 0n,
524
- data: encodeFunctionData({
525
- abi: poolAbi,
526
- functionName: 'borrow',
527
- args: [params.asset, params.amount, params.interestRateMode, params.referralCode, params.onBehalfOf],
528
- }),
529
- };
530
- }
531
- /**
532
- * Encodes a repay transaction for a pool.
533
- * @param {MoneyMarketEncodeRepayParams} params - The parameters for the repay transaction.
534
- * @param {Address} params.asset - The address of the borrowed asset to repay.
535
- * @param {bigint} params.amount - The amount to repay. Use type(uint256).max to repay the entire debt.
536
- * @param {number} params.interestRateMode - The interest rate mode (2 for Variable).
537
- * @param {Address} params.onBehalfOf - The address of the user who will get their debt reduced/removed.
538
- * @param {Address} lendingPool - The address of the lending pool contract.
539
- * @returns {EvmContractCall} The encoded contract call.
540
- */
541
- static encodeRepay(params, lendingPool) {
542
- return {
543
- address: lendingPool,
544
- value: 0n,
545
- data: encodeFunctionData({
546
- abi: poolAbi,
547
- functionName: 'repay',
548
- args: [params.asset, params.amount, params.interestRateMode, params.onBehalfOf],
549
- }),
550
- };
551
- }
552
- /**
553
- * Encodes a repayWithATokens transaction for a pool.
554
- * @param {MoneyMarketEncodeRepayWithATokensParams} params - The parameters for the repayWithATokens transaction.
555
- * @param {Address} lendingPool - The address of the lending pool contract.
556
- * @returns {EvmContractCall} The encoded contract call.
557
- */
558
- static encodeRepayWithATokens(params, lendingPool) {
559
- return {
560
- address: lendingPool,
561
- value: 0n,
562
- data: encodeFunctionData({
563
- abi: poolAbi,
564
- functionName: 'repayWithATokens',
565
- args: [params.asset, params.amount, params.interestRateMode],
566
- }),
567
- };
568
- }
569
- /**
570
- * Encodes a setUserUseReserveAsCollateral transaction.
571
- * @param asset - The address of the underlying asset to be used as collateral.
572
- * @param useAsCollateral - True to enable the asset as collateral, false to disable.
573
- * @param lendingPool - The address of lending pool contract
574
- * @returns The encoded contract call.
575
- */
576
- static encodeSetUserUseReserveAsCollateral(asset, useAsCollateral, lendingPool) {
577
- return {
578
- address: lendingPool,
579
- value: 0n,
580
- data: encodeFunctionData({
581
- abi: poolAbi,
582
- functionName: 'setUserUseReserveAsCollateral',
583
- args: [asset, useAsCollateral],
584
- }),
585
- };
586
- }
587
- /**
588
- * Get the list of all supported money market tokens (supply / borrow tokens) for a given spoke chain ID
589
- * @param chainId The chain ID
590
- * @returns Array of supported tokens
591
- */
592
- getSupportedTokens(chainId) {
593
- return getSupportedMoneyMarketTokens(chainId);
594
- }
595
- /**
596
- * Get the list of all supported money market reserves (supply / borrow reserves)
597
- * NOTE: reserve addresses are on the hub chain and can be of type vault, erc20, etc.
598
- * @returns Array of supported reserves
599
- */
600
- getSupportedReserves() {
601
- return [...moneyMarketReserveAssets];
602
- }
603
- }
604
- //# sourceMappingURL=MoneyMarketService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MoneyMarketService.js","sourceRoot":"","sources":["../../../src/services/moneyMarket/MoneyMarketService.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=MoneyMarketService.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MoneyMarketService.test.d.ts","sourceRoot":"","sources":["../../../src/services/moneyMarket/MoneyMarketService.test.ts"],"names":[],"mappings":""}