@sodax/sdk 0.0.1-rc.7 → 0.0.1-rc.9

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 (295) hide show
  1. package/README.md +3 -1
  2. package/dist/index.cjs +11147 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.cts +6831 -0
  5. package/dist/index.d.ts +6830 -9
  6. package/dist/index.mjs +10991 -0
  7. package/dist/index.mjs.map +1 -0
  8. package/package.json +20 -5
  9. package/dist/abis/asset-manager.abi.d.ts +0 -418
  10. package/dist/abis/asset-manager.abi.d.ts.map +0 -1
  11. package/dist/abis/asset-manager.abi.js +0 -542
  12. package/dist/abis/asset-manager.abi.js.map +0 -1
  13. package/dist/abis/connection.abi.d.ts +0 -72
  14. package/dist/abis/connection.abi.d.ts.map +0 -1
  15. package/dist/abis/connection.abi.js +0 -92
  16. package/dist/abis/connection.abi.js.map +0 -1
  17. package/dist/abis/erc20.abi.d.ts +0 -236
  18. package/dist/abis/erc20.abi.d.ts.map +0 -1
  19. package/dist/abis/erc20.abi.js +0 -311
  20. package/dist/abis/erc20.abi.js.map +0 -1
  21. package/dist/abis/index.d.ts +0 -10
  22. package/dist/abis/index.d.ts.map +0 -1
  23. package/dist/abis/index.js +0 -10
  24. package/dist/abis/index.js.map +0 -1
  25. package/dist/abis/intents.abi.d.ts +0 -901
  26. package/dist/abis/intents.abi.d.ts.map +0 -1
  27. package/dist/abis/intents.abi.js +0 -1158
  28. package/dist/abis/intents.abi.js.map +0 -1
  29. package/dist/abis/pool.abi.d.ts +0 -626
  30. package/dist/abis/pool.abi.d.ts.map +0 -1
  31. package/dist/abis/pool.abi.js +0 -812
  32. package/dist/abis/pool.abi.js.map +0 -1
  33. package/dist/abis/spokeAssetManager.abi.d.ts +0 -169
  34. package/dist/abis/spokeAssetManager.abi.d.ts.map +0 -1
  35. package/dist/abis/spokeAssetManager.abi.js +0 -217
  36. package/dist/abis/spokeAssetManager.abi.js.map +0 -1
  37. package/dist/abis/uiPoolData.abi.d.ts +0 -369
  38. package/dist/abis/uiPoolData.abi.d.ts.map +0 -1
  39. package/dist/abis/uiPoolData.abi.js +0 -476
  40. package/dist/abis/uiPoolData.abi.js.map +0 -1
  41. package/dist/abis/vaultToken.abi.d.ts +0 -816
  42. package/dist/abis/vaultToken.abi.d.ts.map +0 -1
  43. package/dist/abis/vaultToken.abi.js +0 -1062
  44. package/dist/abis/vaultToken.abi.js.map +0 -1
  45. package/dist/abis/walletFactory.abi.d.ts +0 -20
  46. package/dist/abis/walletFactory.abi.d.ts.map +0 -1
  47. package/dist/abis/walletFactory.abi.js +0 -27
  48. package/dist/abis/walletFactory.abi.js.map +0 -1
  49. package/dist/constants.d.ts +0 -550
  50. package/dist/constants.d.ts.map +0 -1
  51. package/dist/constants.js +0 -1189
  52. package/dist/constants.js.map +0 -1
  53. package/dist/constants.test.d.ts +0 -2
  54. package/dist/constants.test.d.ts.map +0 -1
  55. package/dist/constants.test.js +0 -129
  56. package/dist/constants.test.js.map +0 -1
  57. package/dist/entities/Providers.d.ts +0 -52
  58. package/dist/entities/Providers.d.ts.map +0 -1
  59. package/dist/entities/Providers.js +0 -49
  60. package/dist/entities/Providers.js.map +0 -1
  61. package/dist/entities/Sodax.d.ts +0 -23
  62. package/dist/entities/Sodax.d.ts.map +0 -1
  63. package/dist/entities/Sodax.js +0 -29
  64. package/dist/entities/Sodax.js.map +0 -1
  65. package/dist/entities/Sodax.test.d.ts +0 -2
  66. package/dist/entities/Sodax.test.d.ts.map +0 -1
  67. package/dist/entities/Sodax.test.js +0 -392
  68. package/dist/entities/Sodax.test.js.map +0 -1
  69. package/dist/entities/cosmos/CW20Token.d.ts +0 -39
  70. package/dist/entities/cosmos/CW20Token.d.ts.map +0 -1
  71. package/dist/entities/cosmos/CW20Token.js +0 -65
  72. package/dist/entities/cosmos/CW20Token.js.map +0 -1
  73. package/dist/entities/cosmos/CWSpokeProvider.d.ts +0 -78
  74. package/dist/entities/cosmos/CWSpokeProvider.d.ts.map +0 -1
  75. package/dist/entities/cosmos/CWSpokeProvider.js +0 -127
  76. package/dist/entities/cosmos/CWSpokeProvider.js.map +0 -1
  77. package/dist/entities/icon/HanaWalletConnector.d.ts +0 -36
  78. package/dist/entities/icon/HanaWalletConnector.d.ts.map +0 -1
  79. package/dist/entities/icon/HanaWalletConnector.js +0 -92
  80. package/dist/entities/icon/HanaWalletConnector.js.map +0 -1
  81. package/dist/entities/icon/IconSpokeProvider.d.ts +0 -10
  82. package/dist/entities/icon/IconSpokeProvider.d.ts.map +0 -1
  83. package/dist/entities/icon/IconSpokeProvider.js +0 -12
  84. package/dist/entities/icon/IconSpokeProvider.js.map +0 -1
  85. package/dist/entities/icon/index.d.ts +0 -4
  86. package/dist/entities/icon/index.d.ts.map +0 -1
  87. package/dist/entities/icon/index.js +0 -4
  88. package/dist/entities/icon/index.js.map +0 -1
  89. package/dist/entities/icon/utils.d.ts +0 -3
  90. package/dist/entities/icon/utils.d.ts.map +0 -1
  91. package/dist/entities/icon/utils.js +0 -4
  92. package/dist/entities/icon/utils.js.map +0 -1
  93. package/dist/entities/index.d.ts +0 -7
  94. package/dist/entities/index.d.ts.map +0 -1
  95. package/dist/entities/index.js +0 -7
  96. package/dist/entities/index.js.map +0 -1
  97. package/dist/entities/solana/Configs.d.ts +0 -10
  98. package/dist/entities/solana/Configs.d.ts.map +0 -1
  99. package/dist/entities/solana/Configs.js +0 -50
  100. package/dist/entities/solana/Configs.js.map +0 -1
  101. package/dist/entities/solana/SolanaSpokeProvider.d.ts +0 -9
  102. package/dist/entities/solana/SolanaSpokeProvider.d.ts.map +0 -1
  103. package/dist/entities/solana/SolanaSpokeProvider.js +0 -9
  104. package/dist/entities/solana/SolanaSpokeProvider.js.map +0 -1
  105. package/dist/entities/solana/SolanaWalletProvider.d.ts +0 -20
  106. package/dist/entities/solana/SolanaWalletProvider.d.ts.map +0 -1
  107. package/dist/entities/solana/SolanaWalletProvider.js +0 -53
  108. package/dist/entities/solana/SolanaWalletProvider.js.map +0 -1
  109. package/dist/entities/solana/index.d.ts +0 -4
  110. package/dist/entities/solana/index.d.ts.map +0 -1
  111. package/dist/entities/solana/index.js +0 -4
  112. package/dist/entities/solana/index.js.map +0 -1
  113. package/dist/entities/solana/pda/pda.d.ts +0 -45
  114. package/dist/entities/solana/pda/pda.d.ts.map +0 -1
  115. package/dist/entities/solana/pda/pda.js +0 -44
  116. package/dist/entities/solana/pda/pda.js.map +0 -1
  117. package/dist/entities/solana/types/asset_manager.d.ts +0 -919
  118. package/dist/entities/solana/types/asset_manager.d.ts.map +0 -1
  119. package/dist/entities/solana/types/asset_manager.js +0 -2
  120. package/dist/entities/solana/types/asset_manager.js.map +0 -1
  121. package/dist/entities/solana/types/connection.d.ts +0 -446
  122. package/dist/entities/solana/types/connection.d.ts.map +0 -1
  123. package/dist/entities/solana/types/connection.js +0 -2
  124. package/dist/entities/solana/types/connection.js.map +0 -1
  125. package/dist/entities/solana/types/rate_limit_contract.d.ts +0 -348
  126. package/dist/entities/solana/types/rate_limit_contract.d.ts.map +0 -1
  127. package/dist/entities/solana/types/rate_limit_contract.js +0 -2
  128. package/dist/entities/solana/types/rate_limit_contract.js.map +0 -1
  129. package/dist/entities/solana/utils/utils.d.ts +0 -6
  130. package/dist/entities/solana/utils/utils.d.ts.map +0 -1
  131. package/dist/entities/solana/utils/utils.js +0 -18
  132. package/dist/entities/solana/utils/utils.js.map +0 -1
  133. package/dist/entities/stellar/StellarSpokeProvider.d.ts +0 -17
  134. package/dist/entities/stellar/StellarSpokeProvider.d.ts.map +0 -1
  135. package/dist/entities/stellar/StellarSpokeProvider.js +0 -125
  136. package/dist/entities/stellar/StellarSpokeProvider.js.map +0 -1
  137. package/dist/entities/sui/SuiSpokeProvider.d.ts +0 -35
  138. package/dist/entities/sui/SuiSpokeProvider.d.ts.map +0 -1
  139. package/dist/entities/sui/SuiSpokeProvider.js +0 -145
  140. package/dist/entities/sui/SuiSpokeProvider.js.map +0 -1
  141. package/dist/errors.d.ts +0 -2
  142. package/dist/errors.d.ts.map +0 -1
  143. package/dist/errors.js +0 -2
  144. package/dist/errors.js.map +0 -1
  145. package/dist/guards.d.ts +0 -25
  146. package/dist/guards.d.ts.map +0 -1
  147. package/dist/guards.js +0 -110
  148. package/dist/guards.js.map +0 -1
  149. package/dist/index.d.ts.map +0 -1
  150. package/dist/index.js +0 -10
  151. package/dist/index.js.map +0 -1
  152. package/dist/services/hub/EvmAssetManagerService.d.ts +0 -61
  153. package/dist/services/hub/EvmAssetManagerService.d.ts.map +0 -1
  154. package/dist/services/hub/EvmAssetManagerService.js +0 -103
  155. package/dist/services/hub/EvmAssetManagerService.js.map +0 -1
  156. package/dist/services/hub/EvmVaultTokenService.d.ts +0 -81
  157. package/dist/services/hub/EvmVaultTokenService.d.ts.map +0 -1
  158. package/dist/services/hub/EvmVaultTokenService.js +0 -161
  159. package/dist/services/hub/EvmVaultTokenService.js.map +0 -1
  160. package/dist/services/hub/EvmWalletAbstraction.d.ts +0 -9
  161. package/dist/services/hub/EvmWalletAbstraction.d.ts.map +0 -1
  162. package/dist/services/hub/EvmWalletAbstraction.js +0 -14
  163. package/dist/services/hub/EvmWalletAbstraction.js.map +0 -1
  164. package/dist/services/hub/index.d.ts +0 -4
  165. package/dist/services/hub/index.d.ts.map +0 -1
  166. package/dist/services/hub/index.js +0 -4
  167. package/dist/services/hub/index.js.map +0 -1
  168. package/dist/services/index.d.ts +0 -7
  169. package/dist/services/index.d.ts.map +0 -1
  170. package/dist/services/index.js +0 -7
  171. package/dist/services/index.js.map +0 -1
  172. package/dist/services/intentRelay/IntentRelayApiService.d.ts +0 -112
  173. package/dist/services/intentRelay/IntentRelayApiService.d.ts.map +0 -1
  174. package/dist/services/intentRelay/IntentRelayApiService.js +0 -160
  175. package/dist/services/intentRelay/IntentRelayApiService.js.map +0 -1
  176. package/dist/services/intentRelay/IntentRelayApiService.test.d.ts +0 -2
  177. package/dist/services/intentRelay/IntentRelayApiService.test.d.ts.map +0 -1
  178. package/dist/services/intentRelay/IntentRelayApiService.test.js +0 -134
  179. package/dist/services/intentRelay/IntentRelayApiService.test.js.map +0 -1
  180. package/dist/services/intentRelay/index.d.ts +0 -2
  181. package/dist/services/intentRelay/index.d.ts.map +0 -1
  182. package/dist/services/intentRelay/index.js +0 -2
  183. package/dist/services/intentRelay/index.js.map +0 -1
  184. package/dist/services/moneyMarket/MoneyMarketService.d.ts +0 -525
  185. package/dist/services/moneyMarket/MoneyMarketService.d.ts.map +0 -1
  186. package/dist/services/moneyMarket/MoneyMarketService.js +0 -814
  187. package/dist/services/moneyMarket/MoneyMarketService.js.map +0 -1
  188. package/dist/services/moneyMarket/MoneyMarketService.test.d.ts +0 -2
  189. package/dist/services/moneyMarket/MoneyMarketService.test.d.ts.map +0 -1
  190. package/dist/services/moneyMarket/MoneyMarketService.test.js +0 -262
  191. package/dist/services/moneyMarket/MoneyMarketService.test.js.map +0 -1
  192. package/dist/services/moneyMarket/index.d.ts +0 -2
  193. package/dist/services/moneyMarket/index.d.ts.map +0 -1
  194. package/dist/services/moneyMarket/index.js +0 -2
  195. package/dist/services/moneyMarket/index.js.map +0 -1
  196. package/dist/services/shared/Erc20Service.d.ts +0 -42
  197. package/dist/services/shared/Erc20Service.d.ts.map +0 -1
  198. package/dist/services/shared/Erc20Service.js +0 -108
  199. package/dist/services/shared/Erc20Service.js.map +0 -1
  200. package/dist/services/shared/index.d.ts +0 -2
  201. package/dist/services/shared/index.d.ts.map +0 -1
  202. package/dist/services/shared/index.js +0 -2
  203. package/dist/services/shared/index.js.map +0 -1
  204. package/dist/services/solver/EvmSolverService.d.ts +0 -125
  205. package/dist/services/solver/EvmSolverService.d.ts.map +0 -1
  206. package/dist/services/solver/EvmSolverService.js +0 -166
  207. package/dist/services/solver/EvmSolverService.js.map +0 -1
  208. package/dist/services/solver/SolverApiService.d.ts +0 -40
  209. package/dist/services/solver/SolverApiService.d.ts.map +0 -1
  210. package/dist/services/solver/SolverApiService.js +0 -157
  211. package/dist/services/solver/SolverApiService.js.map +0 -1
  212. package/dist/services/solver/SolverApiService.test.d.ts +0 -2
  213. package/dist/services/solver/SolverApiService.test.d.ts.map +0 -1
  214. package/dist/services/solver/SolverApiService.test.js +0 -181
  215. package/dist/services/solver/SolverApiService.test.js.map +0 -1
  216. package/dist/services/solver/SolverService.d.ts +0 -295
  217. package/dist/services/solver/SolverService.d.ts.map +0 -1
  218. package/dist/services/solver/SolverService.js +0 -429
  219. package/dist/services/solver/SolverService.js.map +0 -1
  220. package/dist/services/solver/SolverService.test.d.ts +0 -2
  221. package/dist/services/solver/SolverService.test.d.ts.map +0 -1
  222. package/dist/services/solver/SolverService.test.js +0 -439
  223. package/dist/services/solver/SolverService.test.js.map +0 -1
  224. package/dist/services/solver/index.d.ts +0 -3
  225. package/dist/services/solver/index.d.ts.map +0 -1
  226. package/dist/services/solver/index.js +0 -3
  227. package/dist/services/solver/index.js.map +0 -1
  228. package/dist/services/spoke/CWSpokeService.d.ts +0 -67
  229. package/dist/services/spoke/CWSpokeService.d.ts.map +0 -1
  230. package/dist/services/spoke/CWSpokeService.js +0 -75
  231. package/dist/services/spoke/CWSpokeService.js.map +0 -1
  232. package/dist/services/spoke/EvmSpokeService.d.ts +0 -62
  233. package/dist/services/spoke/EvmSpokeService.d.ts.map +0 -1
  234. package/dist/services/spoke/EvmSpokeService.js +0 -120
  235. package/dist/services/spoke/EvmSpokeService.js.map +0 -1
  236. package/dist/services/spoke/IconSpokeService.d.ts +0 -56
  237. package/dist/services/spoke/IconSpokeService.d.ts.map +0 -1
  238. package/dist/services/spoke/IconSpokeService.js +0 -127
  239. package/dist/services/spoke/IconSpokeService.js.map +0 -1
  240. package/dist/services/spoke/SolanaSpokeService.d.ts +0 -46
  241. package/dist/services/spoke/SolanaSpokeService.d.ts.map +0 -1
  242. package/dist/services/spoke/SolanaSpokeService.js +0 -164
  243. package/dist/services/spoke/SolanaSpokeService.js.map +0 -1
  244. package/dist/services/spoke/SpokeService.d.ts +0 -34
  245. package/dist/services/spoke/SpokeService.d.ts.map +0 -1
  246. package/dist/services/spoke/SpokeService.js +0 -101
  247. package/dist/services/spoke/SpokeService.js.map +0 -1
  248. package/dist/services/spoke/StellarSpokeService.d.ts +0 -35
  249. package/dist/services/spoke/StellarSpokeService.d.ts.map +0 -1
  250. package/dist/services/spoke/StellarSpokeService.js +0 -39
  251. package/dist/services/spoke/StellarSpokeService.js.map +0 -1
  252. package/dist/services/spoke/SuiSpokeService.d.ts +0 -69
  253. package/dist/services/spoke/SuiSpokeService.d.ts.map +0 -1
  254. package/dist/services/spoke/SuiSpokeService.js +0 -73
  255. package/dist/services/spoke/SuiSpokeService.js.map +0 -1
  256. package/dist/services/spoke/index.d.ts +0 -3
  257. package/dist/services/spoke/index.d.ts.map +0 -1
  258. package/dist/services/spoke/index.js +0 -3
  259. package/dist/services/spoke/index.js.map +0 -1
  260. package/dist/tests/services/hub/EvmAssetManagerService.test.d.ts +0 -2
  261. package/dist/tests/services/hub/EvmAssetManagerService.test.d.ts.map +0 -1
  262. package/dist/tests/services/hub/EvmAssetManagerService.test.js +0 -138
  263. package/dist/tests/services/hub/EvmAssetManagerService.test.js.map +0 -1
  264. package/dist/tests/services/hub/EvmMoneyMarketService.test.d.ts +0 -2
  265. package/dist/tests/services/hub/EvmMoneyMarketService.test.d.ts.map +0 -1
  266. package/dist/tests/services/hub/EvmMoneyMarketService.test.js +0 -121
  267. package/dist/tests/services/hub/EvmMoneyMarketService.test.js.map +0 -1
  268. package/dist/tests/services/hub/EvmVaultTokenService.test.d.ts +0 -2
  269. package/dist/tests/services/hub/EvmVaultTokenService.test.d.ts.map +0 -1
  270. package/dist/tests/services/hub/EvmVaultTokenService.test.js +0 -98
  271. package/dist/tests/services/hub/EvmVaultTokenService.test.js.map +0 -1
  272. package/dist/tests/services/spoke/EvmSpokeService.test.d.ts +0 -2
  273. package/dist/tests/services/spoke/EvmSpokeService.test.d.ts.map +0 -1
  274. package/dist/tests/services/spoke/EvmSpokeService.test.js +0 -198
  275. package/dist/tests/services/spoke/EvmSpokeService.test.js.map +0 -1
  276. package/dist/types.d.ts +0 -345
  277. package/dist/types.d.ts.map +0 -1
  278. package/dist/types.js +0 -30
  279. package/dist/types.js.map +0 -1
  280. package/dist/utils/evm-utils.d.ts +0 -10
  281. package/dist/utils/evm-utils.d.ts.map +0 -1
  282. package/dist/utils/evm-utils.js +0 -15
  283. package/dist/utils/evm-utils.js.map +0 -1
  284. package/dist/utils/index.d.ts +0 -3
  285. package/dist/utils/index.d.ts.map +0 -1
  286. package/dist/utils/index.js +0 -3
  287. package/dist/utils/index.js.map +0 -1
  288. package/dist/utils/shared-utils.d.ts +0 -20
  289. package/dist/utils/shared-utils.d.ts.map +0 -1
  290. package/dist/utils/shared-utils.js +0 -69
  291. package/dist/utils/shared-utils.js.map +0 -1
  292. package/dist/utils/shared-utils.test.d.ts +0 -2
  293. package/dist/utils/shared-utils.test.d.ts.map +0 -1
  294. package/dist/utils/shared-utils.test.js +0 -63
  295. package/dist/utils/shared-utils.test.js.map +0 -1
package/dist/constants.js DELETED
@@ -1,1189 +0,0 @@
1
- import { arbitrum, avalanche, base, bsc, nibiru, optimism, polygon, sonic } from 'viem/chains';
2
- import { AVALANCHE_MAINNET_CHAIN_ID, ARBITRUM_MAINNET_CHAIN_ID, BASE_MAINNET_CHAIN_ID, BSC_MAINNET_CHAIN_ID, SONIC_MAINNET_CHAIN_ID, OPTIMISM_MAINNET_CHAIN_ID, POLYGON_MAINNET_CHAIN_ID, NIBIRU_MAINNET_CHAIN_ID, INJECTIVE_MAINNET_CHAIN_ID, SOLANA_MAINNET_CHAIN_ID, SUI_MAINNET_CHAIN_ID, STELLAR_MAINNET_CHAIN_ID, ICON_MAINNET_CHAIN_ID, SPOKE_CHAIN_IDS, } from '@sodax/types';
3
- // TODO ADD DEFAULT CONTRACT ADDRESSES AND SO FORTH FROM WIKI
4
- export const DEFAULT_MAX_RETRY = 3;
5
- export const DEFAULT_RELAY_TX_TIMEOUT = 60000; // 60 seconds
6
- export const DEFAULT_RETRY_DELAY_MS = 2000;
7
- export const ICON_TX_RESULT_WAIT_MAX_RETRY = 10;
8
- export const MAX_UINT256 = (1n << 256n) - 1n;
9
- export const FEE_PERCENTAGE_SCALE = 10000n; // 100% = 10000
10
- // NOTE: This is not the same as the actual chain ids (wormhole based ids), only used for intent relay
11
- export const INTENT_RELAY_CHAIN_IDS = {
12
- AVAX: 6n,
13
- SUI: 21n,
14
- SONIC: 146n,
15
- STELLAR: 27n,
16
- INJ: 19n,
17
- SOL: 1n,
18
- ICON: 1768124270n,
19
- BASE: 30n,
20
- BINANCE: 4n,
21
- OPTIMISM: 24n,
22
- POLYGON: 5n,
23
- ARBITRUM: 23n,
24
- NIBIRU: 7235938n,
25
- };
26
- export const EVM_CHAIN_IDS = [
27
- AVALANCHE_MAINNET_CHAIN_ID,
28
- ARBITRUM_MAINNET_CHAIN_ID,
29
- BASE_MAINNET_CHAIN_ID,
30
- BSC_MAINNET_CHAIN_ID,
31
- SONIC_MAINNET_CHAIN_ID,
32
- OPTIMISM_MAINNET_CHAIN_ID,
33
- POLYGON_MAINNET_CHAIN_ID,
34
- NIBIRU_MAINNET_CHAIN_ID,
35
- ];
36
- export const EVM_SPOKE_CHAIN_IDS = [
37
- AVALANCHE_MAINNET_CHAIN_ID,
38
- ARBITRUM_MAINNET_CHAIN_ID,
39
- BASE_MAINNET_CHAIN_ID,
40
- BSC_MAINNET_CHAIN_ID,
41
- OPTIMISM_MAINNET_CHAIN_ID,
42
- POLYGON_MAINNET_CHAIN_ID,
43
- NIBIRU_MAINNET_CHAIN_ID,
44
- ];
45
- const ChainIdToIntentRelayChainId = {
46
- [AVALANCHE_MAINNET_CHAIN_ID]: INTENT_RELAY_CHAIN_IDS.AVAX,
47
- [ARBITRUM_MAINNET_CHAIN_ID]: INTENT_RELAY_CHAIN_IDS.ARBITRUM,
48
- [BASE_MAINNET_CHAIN_ID]: INTENT_RELAY_CHAIN_IDS.BASE,
49
- [BSC_MAINNET_CHAIN_ID]: INTENT_RELAY_CHAIN_IDS.BINANCE,
50
- [INJECTIVE_MAINNET_CHAIN_ID]: INTENT_RELAY_CHAIN_IDS.INJ,
51
- [SONIC_MAINNET_CHAIN_ID]: INTENT_RELAY_CHAIN_IDS.SONIC,
52
- [OPTIMISM_MAINNET_CHAIN_ID]: INTENT_RELAY_CHAIN_IDS.OPTIMISM,
53
- [POLYGON_MAINNET_CHAIN_ID]: INTENT_RELAY_CHAIN_IDS.POLYGON,
54
- [SOLANA_MAINNET_CHAIN_ID]: INTENT_RELAY_CHAIN_IDS.SOL,
55
- [SUI_MAINNET_CHAIN_ID]: INTENT_RELAY_CHAIN_IDS.SUI,
56
- [STELLAR_MAINNET_CHAIN_ID]: INTENT_RELAY_CHAIN_IDS.STELLAR,
57
- [ICON_MAINNET_CHAIN_ID]: INTENT_RELAY_CHAIN_IDS.ICON,
58
- [NIBIRU_MAINNET_CHAIN_ID]: INTENT_RELAY_CHAIN_IDS.NIBIRU,
59
- };
60
- export const getIntentRelayChainId = (chainId) => ChainIdToIntentRelayChainId[chainId];
61
- export function getEvmViemChain(id) {
62
- switch (id) {
63
- case SONIC_MAINNET_CHAIN_ID:
64
- return sonic;
65
- case AVALANCHE_MAINNET_CHAIN_ID:
66
- return avalanche;
67
- case ARBITRUM_MAINNET_CHAIN_ID:
68
- return arbitrum;
69
- case BASE_MAINNET_CHAIN_ID:
70
- return base;
71
- case OPTIMISM_MAINNET_CHAIN_ID:
72
- return optimism;
73
- case BSC_MAINNET_CHAIN_ID:
74
- return bsc;
75
- case POLYGON_MAINNET_CHAIN_ID:
76
- return polygon;
77
- case NIBIRU_MAINNET_CHAIN_ID:
78
- return nibiru;
79
- default:
80
- throw new Error(`Unsupported EVM chain ID: ${id}`);
81
- }
82
- }
83
- const hubChainConfig = {
84
- [SONIC_MAINNET_CHAIN_ID]: {
85
- chain: {
86
- name: 'Sonic',
87
- id: SONIC_MAINNET_CHAIN_ID,
88
- type: 'EVM',
89
- },
90
- addresses: {
91
- assetManager: '0x60c5681bD1DB4e50735c4cA3386005A4BA4937C0',
92
- hubWallet: '0xA0ed3047D358648F2C0583B415CffCA571FDB544',
93
- xTokenManager: '0x5bD2843de9D6b0e6A05d0FB742072274EA3C6CA3',
94
- },
95
- nativeToken: '0x0000000000000000000000000000000000000000',
96
- supportedTokens: [],
97
- },
98
- };
99
- export const getHubChainConfig = (chainId) => hubChainConfig[chainId];
100
- export const spokeChainConfig = {
101
- [SOLANA_MAINNET_CHAIN_ID]: {
102
- addresses: {
103
- assetManager: 'AnCCJjheynmGqPp6Vgat9DTirGKD4CtQzP8cwTYV8qKH',
104
- connection: 'GxS8i6D9qQjbSeniD487CnomUxU2pXt6V8P96T6MkUXB',
105
- rateLimit: '2Vyy3A3Teju2EMCkdnappEeWqBXyAaF5V2WsrU4hDtsk',
106
- testToken: '3Q2HS3png7fLaYerqCun3zw8rnBZo2Ksvdg6RHTyM4Ns',
107
- xTokenManager: '',
108
- },
109
- chain: { id: SOLANA_MAINNET_CHAIN_ID, name: 'Solana', type: 'SOLANA' },
110
- nativeToken: '11111111111111111111111111111111',
111
- bnUSD: '3rSPCLNEF7Quw4wX8S1NyKivELoyij8eYA2gJwBgt4V5',
112
- supportedTokens: {
113
- SOL: {
114
- symbol: 'SOL',
115
- name: 'Solana',
116
- decimals: 9,
117
- address: '11111111111111111111111111111111',
118
- },
119
- bnUSD: {
120
- symbol: 'bnUSD',
121
- name: 'bnUSD',
122
- decimals: 9,
123
- address: '3rSPCLNEF7Quw4wX8S1NyKivELoyij8eYA2gJwBgt4V5',
124
- },
125
- },
126
- gasPrice: '500000',
127
- rpcUrl: 'https://api.mainnet-beta.solana.com',
128
- wsUrl: 'https://api.mainnet-beta.solana.com',
129
- walletAddress: '',
130
- },
131
- [AVALANCHE_MAINNET_CHAIN_ID]: {
132
- chain: {
133
- name: 'Avalanche',
134
- id: AVALANCHE_MAINNET_CHAIN_ID,
135
- type: 'EVM',
136
- },
137
- addresses: {
138
- assetManager: '0x5bDD1E1C5173F4c912cC919742FB94A55ECfaf86',
139
- connection: '0x4555aC13D7338D9E671584C1D118c06B2a3C88eD',
140
- },
141
- nativeToken: '0x0000000000000000000000000000000000000000',
142
- bnUSD: '0x6958a4CBFe11406E2a1c1d3a71A1971aD8B3b92F',
143
- supportedTokens: {
144
- AVAX: {
145
- symbol: 'AVAX',
146
- name: 'Avalanche',
147
- decimals: 18,
148
- address: '0x0000000000000000000000000000000000000000',
149
- },
150
- bnUSD: {
151
- symbol: 'bnUSD',
152
- name: 'bnUSD',
153
- decimals: 18,
154
- address: '0x6958a4CBFe11406E2a1c1d3a71A1971aD8B3b92F',
155
- },
156
- USDT: {
157
- symbol: 'USDT',
158
- name: 'Tether USD',
159
- decimals: 6,
160
- address: '0x9702230A8Ea53601f5cD2dc00fDBc13d4dF4A8c7',
161
- },
162
- USDC: {
163
- symbol: 'USDC',
164
- name: 'USD Coin',
165
- decimals: 6,
166
- address: '0xB97EF9Ef8734C71904D8002F8b6Bc66Dd9c48a6E',
167
- },
168
- },
169
- },
170
- [NIBIRU_MAINNET_CHAIN_ID]: {
171
- chain: {
172
- name: 'Nibiru',
173
- id: NIBIRU_MAINNET_CHAIN_ID,
174
- type: 'EVM',
175
- },
176
- addresses: {
177
- assetManager: '0x6958a4CBFe11406E2a1c1d3a71A1971aD8B3b92F',
178
- connection: '0x772FFE538E45b2cDdFB5823041EC26C44815B9AB',
179
- },
180
- nativeToken: '0x0000000000000000000000000000000000000000',
181
- bnUSD: '0x043fb7e23350Dd5b77dE5E228B528763DEcb9131',
182
- supportedTokens: {
183
- NIBI: {
184
- symbol: 'NIBI',
185
- name: 'Nibiru',
186
- decimals: 6,
187
- address: '0x0000000000000000000000000000000000000000',
188
- },
189
- bnUSD: {
190
- symbol: 'bnUSD',
191
- name: 'bnUSD',
192
- decimals: 18,
193
- address: '0x043fb7e23350Dd5b77dE5E228B528763DEcb9131',
194
- },
195
- },
196
- },
197
- [ARBITRUM_MAINNET_CHAIN_ID]: {
198
- chain: {
199
- name: 'Arbitrum',
200
- id: ARBITRUM_MAINNET_CHAIN_ID,
201
- type: 'EVM',
202
- },
203
- addresses: {
204
- assetManager: '0x348BE44F63A458be9C1b13D6fD8e99048F297Bc3',
205
- connection: '0x4555aC13D7338D9E671584C1D118c06B2a3C88eD',
206
- },
207
- nativeToken: '0x0000000000000000000000000000000000000000',
208
- bnUSD: '0xA256dd181C3f6E5eC68C6869f5D50a712d47212e',
209
- supportedTokens: {
210
- ETH: {
211
- symbol: 'ETH',
212
- name: 'Ethereum',
213
- decimals: 18,
214
- address: '0x0000000000000000000000000000000000000000',
215
- },
216
- bnUSD: {
217
- symbol: 'bnUSD',
218
- name: 'bnUSD',
219
- decimals: 18,
220
- address: '0xA256dd181C3f6E5eC68C6869f5D50a712d47212e',
221
- },
222
- WETH: {
223
- symbol: 'WETH',
224
- name: 'Wrapped Ether',
225
- decimals: 18,
226
- address: '0x82aF49447D8a07e3bd95BD0d56f35241523fBab1',
227
- },
228
- wstETH: {
229
- symbol: 'wstETH',
230
- name: 'Wrapped stETH',
231
- decimals: 18,
232
- address: '0x5979D7b546E38E414F7E9822514be443A4800529',
233
- },
234
- weETH: {
235
- symbol: 'weETH',
236
- name: 'Wrapped eETH',
237
- decimals: 18,
238
- address: '0x35751007a407ca6FEFfE80b3cB397736D2cf4dbe',
239
- },
240
- tBTC: {
241
- symbol: 'tBTC',
242
- name: 'Arbitrum tBTC v2',
243
- decimals: 18,
244
- address: '0x6c84a8f1c29108F47a79964b5Fe888D4f4D0dE40',
245
- },
246
- WBTC: {
247
- symbol: 'WBTC',
248
- name: 'Wrapped BTC',
249
- decimals: 8,
250
- address: '0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f',
251
- },
252
- USDC: {
253
- symbol: 'USDC',
254
- name: 'USD Coin (USDC)',
255
- decimals: 6,
256
- address: '0xaf88d065e77c8cC2239327C5EDb3A432268e5831',
257
- },
258
- USDT: {
259
- symbol: 'USDT',
260
- name: 'TetherToken',
261
- decimals: 6,
262
- address: '0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9',
263
- },
264
- },
265
- },
266
- [BASE_MAINNET_CHAIN_ID]: {
267
- chain: {
268
- name: 'BASE',
269
- id: BASE_MAINNET_CHAIN_ID,
270
- type: 'EVM',
271
- },
272
- addresses: {
273
- assetManager: '0x348BE44F63A458be9C1b13D6fD8e99048F297Bc3',
274
- connection: '0x4555aC13D7338D9E671584C1D118c06B2a3C88eD',
275
- },
276
- nativeToken: '0x0000000000000000000000000000000000000000',
277
- bnUSD: '0xAcfab3F31C0a18559D78556BBf297EC29c6cf8aa',
278
- supportedTokens: {
279
- ETH: {
280
- symbol: 'ETH',
281
- name: 'Ethereum',
282
- decimals: 18,
283
- address: '0x0000000000000000000000000000000000000000',
284
- },
285
- bnUSD: {
286
- symbol: 'bnUSD',
287
- name: 'bnUSD',
288
- decimals: 18,
289
- address: '0xAcfab3F31C0a18559D78556BBf297EC29c6cf8aa',
290
- },
291
- weETH: {
292
- symbol: 'weETH',
293
- name: 'Wrapped eETH',
294
- decimals: 18,
295
- address: '0x04c0599ae5a44757c0af6f9ec3b93da8976c150a',
296
- },
297
- USDC: {
298
- symbol: 'USDC',
299
- name: 'USD Coin',
300
- decimals: 6,
301
- address: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913',
302
- },
303
- wstETH: {
304
- symbol: 'wstETH',
305
- name: 'Wrapped stETH',
306
- decimals: 18,
307
- address: '0xc1CBa3fCea344f92D9239c08C0568f6F2F0ee452',
308
- },
309
- cbBTC: {
310
- symbol: 'cbBTC',
311
- name: 'Coinbase Wrapped BTC',
312
- decimals: 8,
313
- address: '0xcbB7C0000aB88B473b1f5aFd9ef808440eed33Bf',
314
- },
315
- },
316
- },
317
- [OPTIMISM_MAINNET_CHAIN_ID]: {
318
- chain: {
319
- name: 'Optimism',
320
- id: OPTIMISM_MAINNET_CHAIN_ID,
321
- type: 'EVM',
322
- },
323
- addresses: {
324
- assetManager: '0x348BE44F63A458be9C1b13D6fD8e99048F297Bc3',
325
- connection: '0x4555aC13D7338D9E671584C1D118c06B2a3C88eD',
326
- },
327
- nativeToken: '0x0000000000000000000000000000000000000000',
328
- bnUSD: '0xF4f7dC27c17470a26d0de9039Cf0EA5045F100E8',
329
- supportedTokens: {
330
- ETH: {
331
- symbol: 'ETH',
332
- name: 'Ethereum',
333
- decimals: 18,
334
- address: '0x0000000000000000000000000000000000000000',
335
- },
336
- bnUSD: {
337
- symbol: 'bnUSD',
338
- name: 'bnUSD',
339
- decimals: 18,
340
- address: '0xF4f7dC27c17470a26d0de9039Cf0EA5045F100E8',
341
- },
342
- USDC: {
343
- symbol: 'USDC',
344
- name: 'USD Coin',
345
- decimals: 6,
346
- address: '0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85',
347
- },
348
- wstETH: {
349
- symbol: 'wstETH',
350
- name: 'Wrapped stETH',
351
- decimals: 18,
352
- address: '0x1F32b1c2345538c0c6f582fCB022739c4A194Ebb',
353
- },
354
- weETH: {
355
- symbol: 'weETH',
356
- name: 'Wrapped eETH',
357
- decimals: 18,
358
- address: '0x5A7fACB970D094B6C7FF1df0eA68D99E6e73CBFF',
359
- },
360
- USDT: {
361
- symbol: 'USDT',
362
- name: 'Tether USD',
363
- decimals: 6,
364
- address: '0x94b008aA00579c1307B0EF2c499aD98a8ce58e58',
365
- },
366
- },
367
- },
368
- [BSC_MAINNET_CHAIN_ID]: {
369
- chain: {
370
- name: 'BSC',
371
- id: BSC_MAINNET_CHAIN_ID,
372
- type: 'EVM',
373
- },
374
- addresses: {
375
- assetManager: '0x348BE44F63A458be9C1b13D6fD8e99048F297Bc3',
376
- connection: '0x4555aC13D7338D9E671584C1D118c06B2a3C88eD',
377
- },
378
- nativeToken: '0x0000000000000000000000000000000000000000',
379
- bnUSD: '0x8428FedC020737a5A2291F46cB1B80613eD71638',
380
- supportedTokens: {
381
- BNB: {
382
- symbol: 'BNB',
383
- name: 'BNB',
384
- decimals: 18,
385
- address: '0x0000000000000000000000000000000000000000',
386
- },
387
- bnUSD: {
388
- symbol: 'bnUSD',
389
- name: 'bnUSD',
390
- decimals: 18,
391
- address: '0x8428FedC020737a5A2291F46cB1B80613eD71638',
392
- },
393
- ETHB: {
394
- symbol: 'ETHB',
395
- name: 'Ethereum BSC',
396
- decimals: 18,
397
- address: '0x2170Ed0880ac9A755fd29B2688956BD959F933F8',
398
- },
399
- BTCB: {
400
- symbol: 'BTCB',
401
- name: 'Bitcoin BSC',
402
- decimals: 18,
403
- address: '0x7130d2A12B9BCbFAe4f2634d864A1Ee1Ce3Ead9c',
404
- },
405
- },
406
- },
407
- [POLYGON_MAINNET_CHAIN_ID]: {
408
- chain: {
409
- name: 'Polygon',
410
- id: POLYGON_MAINNET_CHAIN_ID,
411
- type: 'EVM',
412
- },
413
- addresses: {
414
- assetManager: '0x348BE44F63A458be9C1b13D6fD8e99048F297Bc3',
415
- connection: '0x4555aC13D7338D9E671584C1D118c06B2a3C88eD',
416
- },
417
- nativeToken: '0x0000000000000000000000000000000000000000',
418
- bnUSD: '0x39E77f86C1B1f3fbAb362A82b49D2E86C09659B4',
419
- supportedTokens: {
420
- POL: {
421
- symbol: 'POL',
422
- name: 'Polygon',
423
- decimals: 18,
424
- address: '0x0000000000000000000000000000000000000000',
425
- },
426
- bnUSD: {
427
- symbol: 'bnUSD',
428
- name: 'bnUSD',
429
- decimals: 18,
430
- address: '0x39E77f86C1B1f3fbAb362A82b49D2E86C09659B4',
431
- },
432
- USDC: {
433
- symbol: 'USDC',
434
- name: 'USD Coin',
435
- decimals: 6,
436
- address: '0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359',
437
- },
438
- },
439
- },
440
- [INJECTIVE_MAINNET_CHAIN_ID]: {
441
- addresses: {
442
- assetManager: 'inj1dg6tm62uup53wn2kn97caeqfwt0sukx3qjk8rw',
443
- connection: 'inj1eexvfglsptxwfj9hft96xcnsdrvr7d7dalcm8w',
444
- rateLimit: 'inj1x8p2h56edcdrm9tzx7a7zkwe0l334klgrxpqyk',
445
- testToken: '',
446
- xTokenManager: '',
447
- },
448
- chain: {
449
- id: INJECTIVE_MAINNET_CHAIN_ID,
450
- name: 'Injective',
451
- type: 'INJECTIVE',
452
- },
453
- nativeToken: 'inj',
454
- bnUSD: 'factory/inj1d036ftaatxpkqsu9hja8r24rv3v33chz3appxp/bnUSD',
455
- networkId: 'injective-1',
456
- supportedTokens: {
457
- INJ: {
458
- symbol: 'INJ',
459
- name: 'Injective',
460
- decimals: 18,
461
- address: 'inj',
462
- },
463
- bnUSD: {
464
- symbol: 'bnUSD',
465
- name: 'bnUSD',
466
- decimals: 18,
467
- address: 'factory/inj1d036ftaatxpkqsu9hja8r24rv3v33chz3appxp/bnUSD',
468
- },
469
- },
470
- gasPrice: '500000000inj',
471
- network: 'Mainnet',
472
- prefix: 'inj',
473
- isBrowser: false,
474
- rpcUrl: 'https://injective-rpc.publicnode.com:443',
475
- walletAddress: '',
476
- },
477
- [STELLAR_MAINNET_CHAIN_ID]: {
478
- addresses: {
479
- connection: 'CDFQDDPUPAM3XPGORHDOEFRNLMKOH3N3X6XTXNLSXJQXIU3RVCM3OPEP',
480
- assetManager: 'CCGF33A4CO6D3BXFEKPXVCFCZBK76I3AQOZK6KIKRPAWAZR3632WHCJ3',
481
- xTokenManager: '',
482
- rateLimit: 'CB6G3ULISTTBPXUN3BI6ADHQGWJEN7BPQINHL45TCB6TDFM5QWU24HAY',
483
- testToken: '',
484
- },
485
- supportedTokens: {
486
- bnUSD: {
487
- symbol: 'bnUSD',
488
- name: 'bnUSD',
489
- decimals: 7,
490
- address: 'CD6YBFFWMU2UJHX2NGRJ7RN76IJVTCC7MRA46DUBXNB7E6W7H7JRJ2CX',
491
- },
492
- XLM: {
493
- symbol: 'XLM',
494
- name: 'Stellar Lumens',
495
- decimals: 7,
496
- address: 'CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA',
497
- },
498
- },
499
- nativeToken: 'CAS3J7GYLGXMF6TDJBBYYSE3HQ6BBSMLNUQ34T6TZMYMW2EVH34XOWMA',
500
- bnUSD: 'CD6YBFFWMU2UJHX2NGRJ7RN76IJVTCC7MRA46DUBXNB7E6W7H7JRJ2CX',
501
- rpc_url: 'https://rpc.ankr.com/stellar_soroban',
502
- chain: {
503
- name: 'soroban-mainnet',
504
- id: STELLAR_MAINNET_CHAIN_ID,
505
- type: 'STELLAR',
506
- },
507
- },
508
- [SUI_MAINNET_CHAIN_ID]: {
509
- addresses: {
510
- connection: '0xf3b1e696a66d02cb776dc15aae73c68bc8f03adcb6ba0ec7f6332d9d90a6a3d2::connectionv3::0x3ee76d13909ac58ae13baab4c9be5a5142818d9a387aed641825e5d4356969bf',
511
- assetManager: '0x897f911a4b7691870a1a2513af7e85fdee8de275615c77068fd8b90b8e78c678::asset_manager::0xcb7346339340b7f8dea40fcafb70721dc2fcfa7e8626a89fd954d46c1f928b61',
512
- xTokenManager: '',
513
- rateLimit: '',
514
- testToken: '',
515
- },
516
- supportedTokens: {
517
- SUI: {
518
- symbol: 'SUI',
519
- name: 'SUI',
520
- decimals: 9,
521
- address: '0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI',
522
- },
523
- bnUSD: {
524
- symbol: 'bnUSD',
525
- name: 'bnUSD',
526
- decimals: 9,
527
- address: '0xff4de2b2b57dd7611d2812d231a467d007b702a101fd5c7ad3b278257cddb507::bnusd::BNUSD',
528
- },
529
- },
530
- nativeToken: '0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI',
531
- bnUSD: '0xff4de2b2b57dd7611d2812d231a467d007b702a101fd5c7ad3b278257cddb507::bnusd::BNUSD',
532
- rpc_url: 'https://fullnode.mainnet.sui.io:443',
533
- chain: {
534
- name: 'Sui',
535
- id: SUI_MAINNET_CHAIN_ID,
536
- type: 'SUI',
537
- },
538
- },
539
- [ICON_MAINNET_CHAIN_ID]: {
540
- addresses: {
541
- assetManager: 'cx1be33c283c7dc7617181d1b21a6a2309e71b1ee7',
542
- connection: 'cxe5cdf3b0f26967b0efc72d470d57bbf534268f94',
543
- rateLimit: 'cxbbdcea9e6757023a046067ba8daa3c4c50304358',
544
- },
545
- chain: {
546
- id: ICON_MAINNET_CHAIN_ID,
547
- name: 'ICON Mainnet',
548
- type: 'ICON',
549
- },
550
- supportedTokens: {
551
- ICX: {
552
- symbol: 'ICX',
553
- name: 'ICON',
554
- decimals: 18,
555
- address: 'cx0000000000000000000000000000000000000000',
556
- },
557
- wICX: {
558
- symbol: 'wICX',
559
- name: 'Wrapped ICX',
560
- decimals: 18,
561
- address: 'cx3975b43d260fb8ec802cef6e60c2f4d07486f11d',
562
- },
563
- bnUSD: {
564
- symbol: 'bnUSD',
565
- name: 'bnUSD',
566
- decimals: 18,
567
- address: 'cx88fd7df7ddff82f7cc735c871dc519838cb235bb',
568
- },
569
- },
570
- nativeToken: 'cx0000000000000000000000000000000000000000',
571
- bnUSD: 'cx88fd7df7ddff82f7cc735c871dc519838cb235bb',
572
- nid: '0x1',
573
- },
574
- };
575
- export const hubAssets = {
576
- [AVALANCHE_MAINNET_CHAIN_ID]: {
577
- [spokeChainConfig[AVALANCHE_MAINNET_CHAIN_ID].nativeToken]: {
578
- asset: '0xc9e4f0B6195F389D9d2b639f2878B7674eB9D8cD',
579
- decimal: 18,
580
- symbol: 'AVAX',
581
- name: 'AVAX',
582
- vault: '0x14238D267557E9d799016ad635B53CD15935d290',
583
- },
584
- [spokeChainConfig[AVALANCHE_MAINNET_CHAIN_ID].supportedTokens.USDT.address]: {
585
- asset: '0x41Fd5c169e014e2A657B9de3553f7a7b735Fe47A',
586
- decimal: 6,
587
- symbol: 'USDT',
588
- name: 'Tether USD',
589
- vault: '0xbDf1F453FCB61424011BBDDCB96cFDB30f3Fe876',
590
- },
591
- [spokeChainConfig[AVALANCHE_MAINNET_CHAIN_ID].supportedTokens.USDC.address]: {
592
- asset: '0x41abF4B1559FF709Ef8150079BcB26DB1Fffd117',
593
- decimal: 6,
594
- symbol: 'USDC',
595
- name: 'USD Coin',
596
- vault: '0xAbbb91c0617090F0028BDC27597Cd0D038F3A833',
597
- },
598
- [spokeChainConfig[AVALANCHE_MAINNET_CHAIN_ID].bnUSD]: {
599
- asset: '0x289cDa1043b4Ce26BDCa3c12E534f56b24308A5B',
600
- decimal: 18,
601
- symbol: 'bnUSD',
602
- name: 'bnUSD',
603
- vault: '0xE801CA34E19aBCbFeA12025378D19c4FBE250131',
604
- },
605
- },
606
- [ARBITRUM_MAINNET_CHAIN_ID]: {
607
- [spokeChainConfig[ARBITRUM_MAINNET_CHAIN_ID].nativeToken]: {
608
- asset: '0xdcd9578b51ef55239b6e68629d822a8d97c95b86',
609
- decimal: 18,
610
- symbol: 'ETH',
611
- name: 'Ethereum',
612
- vault: '0x4effB5813271699683C25c734F4daBc45B363709',
613
- },
614
- [spokeChainConfig[ARBITRUM_MAINNET_CHAIN_ID].supportedTokens.WBTC.address]: {
615
- asset: '0xfB0ACB1b2720B620935F50a6dd3F7FEA52b2FCBe',
616
- decimal: 8,
617
- symbol: 'WBTC',
618
- name: 'Wrapped Bitcoin',
619
- vault: '0x7A1A5555842Ad2D0eD274d09b5c4406a95799D5d',
620
- },
621
- [spokeChainConfig[ARBITRUM_MAINNET_CHAIN_ID].supportedTokens.weETH.address]: {
622
- asset: '0x08D5cf039De35627fD5C0f48B8AF4a1647a462E8',
623
- decimal: 18,
624
- symbol: 'weETH',
625
- name: 'Wrapped eETH',
626
- vault: '0x4effB5813271699683C25c734F4daBc45B363709',
627
- },
628
- [spokeChainConfig[ARBITRUM_MAINNET_CHAIN_ID].supportedTokens.wstETH.address]: {
629
- asset: '0x2D5A7837D68b0c2CC4b14C2af2a1F0Ef420DDDc5',
630
- decimal: 18,
631
- symbol: 'wstETH',
632
- name: 'Wrapped Staked Ethereum',
633
- vault: '0x4effB5813271699683C25c734F4daBc45B363709',
634
- },
635
- [spokeChainConfig[ARBITRUM_MAINNET_CHAIN_ID].supportedTokens.tBTC.address]: {
636
- asset: '0x96Fc8540736f1598b7E235e6dE8814062b3b5d3B',
637
- decimal: 18,
638
- symbol: 'tBTC',
639
- name: 'Arbitrum tBTC',
640
- vault: '0x7A1A5555842Ad2D0eD274d09b5c4406a95799D5d',
641
- },
642
- [spokeChainConfig[ARBITRUM_MAINNET_CHAIN_ID].supportedTokens.USDT.address]: {
643
- asset: '0x3C0a80C6a1110fC80309382b3989eC626c135eE9',
644
- decimal: 6,
645
- symbol: 'USDT',
646
- name: 'Tether USD',
647
- vault: '0xbDf1F453FCB61424011BBDDCB96cFDB30f3Fe876',
648
- },
649
- [spokeChainConfig[ARBITRUM_MAINNET_CHAIN_ID].supportedTokens.USDC.address]: {
650
- asset: '0xdB7BdA65c3a1C51D64dC4444e418684677334109',
651
- decimal: 6,
652
- symbol: 'USDC',
653
- name: 'USD Coin',
654
- vault: '0xAbbb91c0617090F0028BDC27597Cd0D038F3A833',
655
- },
656
- [spokeChainConfig[ARBITRUM_MAINNET_CHAIN_ID].bnUSD]: {
657
- asset: '0x419cA9054E44E94ceAb52846eCdC3997439BBcA6',
658
- decimal: 18,
659
- symbol: 'bnUSD',
660
- name: 'bnUSD',
661
- vault: '0xE801CA34E19aBCbFeA12025378D19c4FBE250131',
662
- },
663
- },
664
- [BASE_MAINNET_CHAIN_ID]: {
665
- [spokeChainConfig[BASE_MAINNET_CHAIN_ID].nativeToken]: {
666
- asset: '0x70178089842be7f8e4726b33f0d1569db8021faa',
667
- decimal: 18,
668
- symbol: 'ETH',
669
- name: 'Ethereum',
670
- vault: '0x4effB5813271699683C25c734F4daBc45B363709',
671
- },
672
- [spokeChainConfig[BASE_MAINNET_CHAIN_ID].supportedTokens.cbBTC.address]: {
673
- asset: '0x2803a23a3BA6b09e57D1c71deC0D9eFdBB00A27F',
674
- decimal: 8,
675
- symbol: 'cbBTC',
676
- name: 'Coinbase Wrapped BTC',
677
- vault: '0x7A1A5555842Ad2D0eD274d09b5c4406a95799D5d',
678
- },
679
- [spokeChainConfig[BASE_MAINNET_CHAIN_ID].supportedTokens.USDC.address]: {
680
- asset: '0x72E852545B024ddCbc5b70C1bCBDAA025164259C',
681
- decimal: 6,
682
- symbol: 'USDC',
683
- name: 'USD Coin',
684
- vault: '0xAbbb91c0617090F0028BDC27597Cd0D038F3A833',
685
- },
686
- [spokeChainConfig[BASE_MAINNET_CHAIN_ID].bnUSD]: {
687
- asset: '0xDF5639D91359866f266b56D60d98edE9fEEDd100',
688
- decimal: 18,
689
- symbol: 'bnUSD',
690
- name: 'bnUSD',
691
- vault: '0xE801CA34E19aBCbFeA12025378D19c4FBE250131',
692
- },
693
- [spokeChainConfig[BASE_MAINNET_CHAIN_ID].supportedTokens.weETH.address]: {
694
- asset: '0x55e0ad45eb97493b3045eee417fb6726cb85dfd4',
695
- decimal: 18,
696
- symbol: 'weETH',
697
- name: 'Wrapped eETH',
698
- vault: '0x4effB5813271699683C25c734F4daBc45B363709',
699
- },
700
- [spokeChainConfig[BASE_MAINNET_CHAIN_ID].supportedTokens.wstETH.address]: {
701
- asset: '0x494aaeaefdf5964d4ed400174e8c5b98c00957aa',
702
- decimal: 18,
703
- symbol: 'wstETH',
704
- name: 'Wrapped Staked Ethereum',
705
- vault: '0x4effB5813271699683C25c734F4daBc45B363709',
706
- },
707
- },
708
- [OPTIMISM_MAINNET_CHAIN_ID]: {
709
- [spokeChainConfig[OPTIMISM_MAINNET_CHAIN_ID].nativeToken]: {
710
- asset: '0xad332860dd3b6f0e63f4f66e9457900917ac78cd',
711
- decimal: 18,
712
- symbol: 'ETH',
713
- name: 'Ethereum',
714
- vault: '0x4effB5813271699683C25c734F4daBc45B363709',
715
- },
716
- [spokeChainConfig[OPTIMISM_MAINNET_CHAIN_ID].bnUSD]: {
717
- asset: '0x238384AE2b4F0EC189ecB5031859bA306B2679c5',
718
- decimal: 18,
719
- symbol: 'bnUSD',
720
- name: 'bnUSD',
721
- vault: '0xE801CA34E19aBCbFeA12025378D19c4FBE250131',
722
- },
723
- [spokeChainConfig[OPTIMISM_MAINNET_CHAIN_ID].supportedTokens.USDC.address]: {
724
- asset: '0xb7C213CbD24967dE9838fa014668FDDB338f724B',
725
- decimal: 6,
726
- symbol: 'USDC',
727
- name: 'USD Coin',
728
- vault: '0xAbbb91c0617090F0028BDC27597Cd0D038F3A833',
729
- },
730
- [spokeChainConfig[OPTIMISM_MAINNET_CHAIN_ID].supportedTokens.wstETH.address]: {
731
- asset: '0x61e26f611090CdC6bc79A7Bf156b0fD10f1fC212',
732
- decimal: 18,
733
- symbol: 'wstETH',
734
- name: 'Wrapped Staked Ethereum',
735
- vault: '0x4effB5813271699683C25c734F4daBc45B363709',
736
- },
737
- [spokeChainConfig[OPTIMISM_MAINNET_CHAIN_ID].supportedTokens.weETH.address]: {
738
- asset: '0xE121c0Dc2B33c00ff31ee3D902D248cc3f19Ea50',
739
- decimal: 18,
740
- symbol: 'weETH',
741
- name: 'Wrapped eETH',
742
- vault: '0x4effB5813271699683C25c734F4daBc45B363709',
743
- },
744
- [spokeChainConfig[OPTIMISM_MAINNET_CHAIN_ID].supportedTokens.USDT.address]: {
745
- asset: '0xc168067d95109003805aC865ae556e8476DC69bc',
746
- decimal: 6,
747
- symbol: 'USDT',
748
- name: 'Tether USD',
749
- vault: '0xbDf1F453FCB61424011BBDDCB96cFDB30f3Fe876',
750
- },
751
- },
752
- [NIBIRU_MAINNET_CHAIN_ID]: {
753
- [spokeChainConfig[NIBIRU_MAINNET_CHAIN_ID].nativeToken]: {
754
- asset: '0xe0064414c2c1a636a9424C7a17D86fbF7FD3f190',
755
- decimal: 18,
756
- symbol: 'NIBI',
757
- name: 'Nibiru',
758
- vault: '0xc6c85287a8b173A509C2F198bB719A8a5a2d0C68',
759
- },
760
- [spokeChainConfig[NIBIRU_MAINNET_CHAIN_ID].bnUSD]: {
761
- asset: '0x11b93C162aABFfD026539bb3B9F9eC22c8b7ef8a',
762
- decimal: 18,
763
- symbol: 'bnUSD',
764
- name: 'bnUSD',
765
- vault: '0xE801CA34E19aBCbFeA12025378D19c4FBE250131',
766
- },
767
- },
768
- [BSC_MAINNET_CHAIN_ID]: {
769
- [spokeChainConfig[BSC_MAINNET_CHAIN_ID].nativeToken]: {
770
- asset: '0x13b70564b1ec12876b20fab5d1bb630311312f4f',
771
- decimal: 18,
772
- symbol: 'BNB',
773
- name: 'BNB',
774
- vault: '0x40Cd41b35DB9e5109ae7E54b44De8625dB320E6b',
775
- },
776
- [spokeChainConfig[BSC_MAINNET_CHAIN_ID].supportedTokens.ETHB.address]: {
777
- asset: '0x57fC2aC5701e463ae261AdBd6C99FBeB48Ce5293',
778
- decimal: 18,
779
- symbol: 'ETHB',
780
- name: 'Wrapped Ethereum',
781
- vault: '0x4effB5813271699683C25c734F4daBc45B363709',
782
- },
783
- [spokeChainConfig[BSC_MAINNET_CHAIN_ID].supportedTokens.BTCB.address]: {
784
- asset: '0xD8A24c71FEa5bB81c66C01e532dE7d9B11e13905',
785
- decimal: 18,
786
- symbol: 'BTCB',
787
- name: 'Wrapped Bitcoin',
788
- vault: '0x7A1A5555842Ad2D0eD274d09b5c4406a95799D5d',
789
- },
790
- [spokeChainConfig[BSC_MAINNET_CHAIN_ID].bnUSD]: {
791
- asset: '0x5Ce6C1c51ff762cF3acD21396257046f694168b6',
792
- decimal: 18,
793
- symbol: 'bnUSD',
794
- name: 'bnUSD',
795
- vault: '0xE801CA34E19aBCbFeA12025378D19c4FBE250131',
796
- },
797
- },
798
- [POLYGON_MAINNET_CHAIN_ID]: {
799
- [spokeChainConfig[POLYGON_MAINNET_CHAIN_ID].nativeToken]: {
800
- asset: '0x9ee17486571917837210824b0d4cadfe3b324d12',
801
- decimal: 18,
802
- symbol: 'MATIC',
803
- name: 'Polygon',
804
- vault: '0x0000000000000000000000000000000000000000',
805
- },
806
- [spokeChainConfig[POLYGON_MAINNET_CHAIN_ID].bnUSD]: {
807
- asset: '0x18f85f9E80ff9496EeBD5979a051AF16Ce751567',
808
- decimal: 18,
809
- symbol: 'bnUSD',
810
- name: 'bnUSD',
811
- vault: '0xE801CA34E19aBCbFeA12025378D19c4FBE250131',
812
- },
813
- [spokeChainConfig[POLYGON_MAINNET_CHAIN_ID].supportedTokens.USDC.address]: {
814
- asset: '0xa36893ba308b332FDEbfa95916D1dF3a2e3CF8B3',
815
- decimal: 6,
816
- symbol: 'USDC',
817
- name: 'USD Coin',
818
- vault: '0xAbbb91c0617090F0028BDC27597Cd0D038F3A833',
819
- },
820
- },
821
- [INJECTIVE_MAINNET_CHAIN_ID]: {
822
- inj: {
823
- asset: '0xd375590b4955f6ea5623f799153f9b787a3bd319',
824
- decimal: 18,
825
- symbol: 'INJ',
826
- name: 'Injective',
827
- vault: '0x1f22279C89B213944b7Ea41daCB0a868DdCDFd13',
828
- },
829
- [spokeChainConfig[INJECTIVE_MAINNET_CHAIN_ID].bnUSD]: {
830
- asset: '0x69425FFb14704124A58d6F69d510f74A59D9a5bC',
831
- decimal: 18,
832
- symbol: 'bnUSD',
833
- name: 'bnUSD',
834
- vault: '0xE801CA34E19aBCbFeA12025378D19c4FBE250131',
835
- },
836
- },
837
- [STELLAR_MAINNET_CHAIN_ID]: {
838
- [spokeChainConfig[STELLAR_MAINNET_CHAIN_ID].nativeToken]: {
839
- asset: '0x8ac68af223907fb1b893086601a3d99e00f2fa9d',
840
- decimal: 7,
841
- symbol: 'XLM',
842
- name: 'Stellar Lumens',
843
- vault: '0x6BC8C37cba91F76E68C9e6d689A9C21E4d32079B',
844
- },
845
- [spokeChainConfig[STELLAR_MAINNET_CHAIN_ID].bnUSD]: {
846
- asset: '0x23225Ab8E63FCa4070296678cb46566d57E1BBe3',
847
- decimal: 7,
848
- symbol: 'bnUSD',
849
- name: 'bnUSD',
850
- vault: '0xE801CA34E19aBCbFeA12025378D19c4FBE250131',
851
- },
852
- },
853
- [SUI_MAINNET_CHAIN_ID]: {
854
- [spokeChainConfig[SUI_MAINNET_CHAIN_ID].nativeToken]: {
855
- asset: '0x4676b2a551b25c04e235553c1c81019337384673',
856
- decimal: 9,
857
- symbol: 'SUI',
858
- name: 'Sui',
859
- vault: '0xdc5B4b00F98347E95b9F94911213DAB4C687e1e3',
860
- },
861
- [spokeChainConfig[SUI_MAINNET_CHAIN_ID].bnUSD]: {
862
- asset: '0xDf23097B9AEb917Bf8fb70e99b6c528fffA35364',
863
- decimal: 9,
864
- symbol: 'bnUSD',
865
- name: 'bnUSD',
866
- vault: '0xE801CA34E19aBCbFeA12025378D19c4FBE250131',
867
- },
868
- },
869
- [SOLANA_MAINNET_CHAIN_ID]: {
870
- [spokeChainConfig[SOLANA_MAINNET_CHAIN_ID].bnUSD]: {
871
- asset: '0x14C65b1CDc0B821569081b1F77342dA0D0CbF439',
872
- decimal: 9,
873
- symbol: 'bnUSD',
874
- name: 'bnUSD',
875
- vault: '0xE801CA34E19aBCbFeA12025378D19c4FBE250131',
876
- },
877
- '11111111111111111111111111111111': {
878
- asset: '0x0c09e69a4528945de6d16c7e469dea6996fdf636',
879
- decimal: 9,
880
- symbol: 'USDC',
881
- name: 'USD Coin',
882
- vault: '0xdEa692287E2cE8Cb08FA52917Be0F16b1DACDC87',
883
- },
884
- },
885
- [ICON_MAINNET_CHAIN_ID]: {
886
- [spokeChainConfig[ICON_MAINNET_CHAIN_ID].nativeToken]: {
887
- asset: '0xb66cB7D841272AF6BaA8b8119007EdEE35d2C24F',
888
- decimal: 18,
889
- symbol: 'ICX',
890
- name: 'ICON',
891
- vault: '0x0000000000000000000000000000000000000000',
892
- },
893
- [spokeChainConfig[ICON_MAINNET_CHAIN_ID].bnUSD]: {
894
- asset: '0x654dddf32a9a2ac53f5fb54bf1e93f66791f8047',
895
- decimal: 18,
896
- symbol: 'bnUSD',
897
- name: 'bnUSD',
898
- vault: '0x9D4b663Eb075d2a1C7B8eaEFB9eCCC0510388B51',
899
- },
900
- },
901
- };
902
- export const DEFAULT_RELAYER_API_ENDPOINT = 'https://xcall-relay.nw.iconblockchain.xyz';
903
- const solverConfig = {
904
- [SONIC_MAINNET_CHAIN_ID]: {
905
- intentsContract: '0x6382D6ccD780758C5e8A6123c33ee8F4472F96ef',
906
- solverApiEndpoint: 'https://staging-new-world.iconblockchain.xyz', // TODO replace with mainnet
907
- },
908
- };
909
- export const getSolverConfig = (chainId) => solverConfig[chainId];
910
- // currently supported spoke chain tokens for solver
911
- const solverSupportedTokens = {
912
- [AVALANCHE_MAINNET_CHAIN_ID]: [
913
- spokeChainConfig[AVALANCHE_MAINNET_CHAIN_ID].supportedTokens.AVAX,
914
- spokeChainConfig[AVALANCHE_MAINNET_CHAIN_ID].supportedTokens.USDT,
915
- spokeChainConfig[AVALANCHE_MAINNET_CHAIN_ID].supportedTokens.USDC,
916
- spokeChainConfig[AVALANCHE_MAINNET_CHAIN_ID].supportedTokens.bnUSD,
917
- ],
918
- [ARBITRUM_MAINNET_CHAIN_ID]: [
919
- spokeChainConfig[ARBITRUM_MAINNET_CHAIN_ID].supportedTokens.ETH,
920
- spokeChainConfig[ARBITRUM_MAINNET_CHAIN_ID].supportedTokens.bnUSD,
921
- spokeChainConfig[ARBITRUM_MAINNET_CHAIN_ID].supportedTokens.WBTC,
922
- spokeChainConfig[ARBITRUM_MAINNET_CHAIN_ID].supportedTokens.weETH,
923
- spokeChainConfig[ARBITRUM_MAINNET_CHAIN_ID].supportedTokens.wstETH,
924
- spokeChainConfig[ARBITRUM_MAINNET_CHAIN_ID].supportedTokens.tBTC,
925
- spokeChainConfig[ARBITRUM_MAINNET_CHAIN_ID].supportedTokens.USDC,
926
- spokeChainConfig[ARBITRUM_MAINNET_CHAIN_ID].supportedTokens.USDT,
927
- ],
928
- [BASE_MAINNET_CHAIN_ID]: [
929
- spokeChainConfig[BASE_MAINNET_CHAIN_ID].supportedTokens.ETH,
930
- spokeChainConfig[BASE_MAINNET_CHAIN_ID].supportedTokens.bnUSD,
931
- spokeChainConfig[BASE_MAINNET_CHAIN_ID].supportedTokens.weETH,
932
- spokeChainConfig[BASE_MAINNET_CHAIN_ID].supportedTokens.USDC,
933
- spokeChainConfig[BASE_MAINNET_CHAIN_ID].supportedTokens.wstETH,
934
- spokeChainConfig[BASE_MAINNET_CHAIN_ID].supportedTokens.cbBTC,
935
- ],
936
- [OPTIMISM_MAINNET_CHAIN_ID]: [
937
- spokeChainConfig[OPTIMISM_MAINNET_CHAIN_ID].supportedTokens.ETH,
938
- spokeChainConfig[OPTIMISM_MAINNET_CHAIN_ID].supportedTokens.bnUSD,
939
- spokeChainConfig[OPTIMISM_MAINNET_CHAIN_ID].supportedTokens.USDC,
940
- spokeChainConfig[OPTIMISM_MAINNET_CHAIN_ID].supportedTokens.wstETH,
941
- spokeChainConfig[OPTIMISM_MAINNET_CHAIN_ID].supportedTokens.weETH,
942
- spokeChainConfig[OPTIMISM_MAINNET_CHAIN_ID].supportedTokens.USDT,
943
- ],
944
- [POLYGON_MAINNET_CHAIN_ID]: [
945
- spokeChainConfig[POLYGON_MAINNET_CHAIN_ID].supportedTokens.POL,
946
- spokeChainConfig[POLYGON_MAINNET_CHAIN_ID].supportedTokens.bnUSD,
947
- spokeChainConfig[POLYGON_MAINNET_CHAIN_ID].supportedTokens.USDC,
948
- ],
949
- [BSC_MAINNET_CHAIN_ID]: [
950
- spokeChainConfig[BSC_MAINNET_CHAIN_ID].supportedTokens.BNB,
951
- spokeChainConfig[BSC_MAINNET_CHAIN_ID].supportedTokens.bnUSD,
952
- spokeChainConfig[BSC_MAINNET_CHAIN_ID].supportedTokens.ETHB,
953
- spokeChainConfig[BSC_MAINNET_CHAIN_ID].supportedTokens.BTCB,
954
- ],
955
- [SOLANA_MAINNET_CHAIN_ID]: [],
956
- [ICON_MAINNET_CHAIN_ID]: [],
957
- [STELLAR_MAINNET_CHAIN_ID]: [],
958
- [SUI_MAINNET_CHAIN_ID]: [],
959
- [INJECTIVE_MAINNET_CHAIN_ID]: [],
960
- [NIBIRU_MAINNET_CHAIN_ID]: [],
961
- };
962
- // get supported spoke chain tokens for solver
963
- export const getSupportedSolverTokens = (chainId) => solverSupportedTokens[chainId];
964
- // check if token address for given spoke chain id is supported
965
- export const isSolverSupportedToken = (chainId, token) => solverSupportedTokens[chainId].some(t => t.address.toLowerCase() === token.toLowerCase());
966
- const moneyMarketConfig = {
967
- [SONIC_MAINNET_CHAIN_ID]: {
968
- lendingPool: '0x553434896D39F867761859D0FE7189d2Af70514E',
969
- uiPoolDataProvider: '0xC04d746C38f1E51C8b3A3E2730250bbAC2F271bf',
970
- poolAddressesProvider: '0x036aDe0aBAA4c82445Cb7597f2d6d6130C118c7b',
971
- bnUSD: '0x94dC79ce9C515ba4AE4D195da8E6AB86c69BFc38',
972
- bnUSDVault: '0xE801CA34E19aBCbFeA12025378D19c4FBE250131',
973
- },
974
- };
975
- export const getMoneyMarketConfig = (chainId) => moneyMarketConfig[chainId];
976
- // currently supported spoke chain tokens for money market
977
- const moneyMarketSupportedTokens = {
978
- [AVALANCHE_MAINNET_CHAIN_ID]: [
979
- spokeChainConfig[AVALANCHE_MAINNET_CHAIN_ID].supportedTokens.AVAX,
980
- spokeChainConfig[AVALANCHE_MAINNET_CHAIN_ID].supportedTokens.USDT,
981
- spokeChainConfig[AVALANCHE_MAINNET_CHAIN_ID].supportedTokens.USDC,
982
- spokeChainConfig[AVALANCHE_MAINNET_CHAIN_ID].supportedTokens.bnUSD,
983
- ],
984
- [ARBITRUM_MAINNET_CHAIN_ID]: [
985
- spokeChainConfig[ARBITRUM_MAINNET_CHAIN_ID].supportedTokens.ETH,
986
- spokeChainConfig[ARBITRUM_MAINNET_CHAIN_ID].supportedTokens.bnUSD,
987
- spokeChainConfig[ARBITRUM_MAINNET_CHAIN_ID].supportedTokens.WBTC,
988
- spokeChainConfig[ARBITRUM_MAINNET_CHAIN_ID].supportedTokens.weETH,
989
- spokeChainConfig[ARBITRUM_MAINNET_CHAIN_ID].supportedTokens.wstETH,
990
- spokeChainConfig[ARBITRUM_MAINNET_CHAIN_ID].supportedTokens.tBTC,
991
- spokeChainConfig[ARBITRUM_MAINNET_CHAIN_ID].supportedTokens.USDT,
992
- spokeChainConfig[ARBITRUM_MAINNET_CHAIN_ID].supportedTokens.USDC,
993
- ],
994
- [BASE_MAINNET_CHAIN_ID]: [
995
- spokeChainConfig[BASE_MAINNET_CHAIN_ID].supportedTokens.ETH,
996
- spokeChainConfig[BASE_MAINNET_CHAIN_ID].supportedTokens.bnUSD,
997
- spokeChainConfig[BASE_MAINNET_CHAIN_ID].supportedTokens.weETH,
998
- spokeChainConfig[BASE_MAINNET_CHAIN_ID].supportedTokens.USDC,
999
- spokeChainConfig[BASE_MAINNET_CHAIN_ID].supportedTokens.wstETH,
1000
- spokeChainConfig[BASE_MAINNET_CHAIN_ID].supportedTokens.cbBTC,
1001
- ],
1002
- [OPTIMISM_MAINNET_CHAIN_ID]: [
1003
- spokeChainConfig[OPTIMISM_MAINNET_CHAIN_ID].supportedTokens.ETH,
1004
- spokeChainConfig[OPTIMISM_MAINNET_CHAIN_ID].supportedTokens.bnUSD,
1005
- spokeChainConfig[OPTIMISM_MAINNET_CHAIN_ID].supportedTokens.USDC,
1006
- spokeChainConfig[OPTIMISM_MAINNET_CHAIN_ID].supportedTokens.wstETH,
1007
- spokeChainConfig[OPTIMISM_MAINNET_CHAIN_ID].supportedTokens.weETH,
1008
- spokeChainConfig[OPTIMISM_MAINNET_CHAIN_ID].supportedTokens.USDT,
1009
- ],
1010
- [POLYGON_MAINNET_CHAIN_ID]: [
1011
- spokeChainConfig[POLYGON_MAINNET_CHAIN_ID].supportedTokens.POL,
1012
- spokeChainConfig[POLYGON_MAINNET_CHAIN_ID].supportedTokens.bnUSD,
1013
- spokeChainConfig[POLYGON_MAINNET_CHAIN_ID].supportedTokens.USDC,
1014
- ],
1015
- [BSC_MAINNET_CHAIN_ID]: [
1016
- spokeChainConfig[BSC_MAINNET_CHAIN_ID].supportedTokens.BNB,
1017
- spokeChainConfig[BSC_MAINNET_CHAIN_ID].supportedTokens.ETHB,
1018
- spokeChainConfig[BSC_MAINNET_CHAIN_ID].supportedTokens.BTCB,
1019
- spokeChainConfig[BSC_MAINNET_CHAIN_ID].supportedTokens.bnUSD,
1020
- ],
1021
- [SOLANA_MAINNET_CHAIN_ID]: [
1022
- spokeChainConfig[SOLANA_MAINNET_CHAIN_ID].supportedTokens.SOL,
1023
- spokeChainConfig[SOLANA_MAINNET_CHAIN_ID].supportedTokens.bnUSD,
1024
- ],
1025
- [ICON_MAINNET_CHAIN_ID]: [
1026
- spokeChainConfig[ICON_MAINNET_CHAIN_ID].supportedTokens.ICX,
1027
- spokeChainConfig[ICON_MAINNET_CHAIN_ID].supportedTokens.bnUSD,
1028
- spokeChainConfig[ICON_MAINNET_CHAIN_ID].supportedTokens.wICX,
1029
- ],
1030
- [STELLAR_MAINNET_CHAIN_ID]: [
1031
- spokeChainConfig[STELLAR_MAINNET_CHAIN_ID].supportedTokens.XLM,
1032
- spokeChainConfig[STELLAR_MAINNET_CHAIN_ID].supportedTokens.bnUSD,
1033
- ],
1034
- [SUI_MAINNET_CHAIN_ID]: [
1035
- spokeChainConfig[SUI_MAINNET_CHAIN_ID].supportedTokens.SUI,
1036
- spokeChainConfig[SUI_MAINNET_CHAIN_ID].supportedTokens.bnUSD,
1037
- ],
1038
- [INJECTIVE_MAINNET_CHAIN_ID]: [
1039
- spokeChainConfig[INJECTIVE_MAINNET_CHAIN_ID].supportedTokens.INJ,
1040
- spokeChainConfig[INJECTIVE_MAINNET_CHAIN_ID].supportedTokens.bnUSD,
1041
- ],
1042
- [NIBIRU_MAINNET_CHAIN_ID]: [],
1043
- };
1044
- export const isMoneyMarketSupportedToken = (chainId, token) => moneyMarketSupportedTokens[chainId].some(t => t.address.toLowerCase() === token.toLowerCase());
1045
- // get supported spoke chain tokens for money market
1046
- export const getSupportedMoneyMarketTokens = (chainId) => moneyMarketSupportedTokens[chainId];
1047
- export const HubVaultSymbols = [
1048
- 'sodaAVAX',
1049
- 'sodaBNB',
1050
- 'sodaETH',
1051
- 'sodaBTC',
1052
- 'sodaSUI',
1053
- 'sodaINJ',
1054
- 'sodaXLM',
1055
- 'sodaSOL',
1056
- ];
1057
- export const hubVaults = {
1058
- sodaAVAX: {
1059
- // SODA AVAX vault
1060
- address: '0x14238d267557e9d799016ad635b53cd15935d290',
1061
- reserves: [
1062
- // hub asset addresses contained in the vault
1063
- '0xc9e4f0b6195f389d9d2b639f2878b7674eb9d8cd', // AvalancheAVAX hub asset
1064
- ],
1065
- },
1066
- sodaBNB: {
1067
- // SODA BNB vault
1068
- address: '0x40cd41b35db9e5109ae7e54b44de8625db320e6b',
1069
- reserves: [
1070
- // hub asset addresses contained in the vault
1071
- '0x13b70564b1ec12876b20fab5d1bb630311312f4f', // BSC BNB hub asset
1072
- ],
1073
- },
1074
- sodaETH: {
1075
- // SODA ETH vault
1076
- address: '0x4effb5813271699683c25c734f4dabc45b363709',
1077
- reserves: [
1078
- // hub asset addresses contained in the vault
1079
- '0x70178089842be7f8e4726b33f0d1569db8021faa', // BASE ETH hub asset
1080
- '0xad332860dd3b6f0e63f4f66e9457900917ac78cd', // Optimism ETH hub asset
1081
- '0xdcd9578b51ef55239b6e68629d822a8d97c95b86', // Arbitrum ETH hub asset
1082
- '0x57fc2ac5701e463ae261adbd6c99fbeb48ce5293', // BSC ETH hub asset
1083
- ],
1084
- },
1085
- sodaBTC: {
1086
- // SODA BTC vault
1087
- address: '0x7a1a5555842ad2d0ed274d09b5c4406a95799d5d',
1088
- reserves: [
1089
- // hub asset addresses contained in the vault
1090
- '0x2803a23a3ba6b09e57d1c71dec0d9efdbb00a27f', // BASE cbBTC hub asset,
1091
- '0xfb0acb1b2720b620935f50a6dd3f7fea52b2fcbe', // Arbitrum wBTC hub asset
1092
- '0x96fc8540736f1598b7e235e6de8814062b3b5d3b', // Arbitrum tBTC hub asset,
1093
- '0xd8a24c71fea5bb81c66c01e532de7d9b11e13905', // BSC BTCB hub asset
1094
- ],
1095
- },
1096
- sodaSUI: {
1097
- // SODA SUI vault
1098
- address: '0xdc5b4b00f98347e95b9f94911213dab4c687e1e3',
1099
- reserves: [
1100
- // hub asset addresses contained in the vault
1101
- '0x4676b2a551b25c04e235553c1c81019337384673', // SUI SUI hub asset
1102
- ],
1103
- },
1104
- sodaINJ: {
1105
- // SODA INJ vault
1106
- address: '0x1f22279c89b213944b7ea41dacb0a868ddcdfd13',
1107
- reserves: [
1108
- // hub asset addresses contained in the vault
1109
- '0xd375590b4955f6ea5623f799153f9b787a3bd319', // Injective INJ hub asset
1110
- ],
1111
- },
1112
- sodaXLM: {
1113
- // SODA XLM vault
1114
- address: '0x6bc8c37cba91f76e68c9e6d689a9c21e4d32079b',
1115
- reserves: [
1116
- // hub asset addresses contained in the vault
1117
- '0x8ac68af223907fb1b893086601a3d99e00f2fa9d', // Stellar XLM hub asset
1118
- ],
1119
- },
1120
- sodaSOL: {
1121
- // SODA SOL vault
1122
- address: '0xdea692287e2ce8cb08fa52917be0f16b1dacdc87',
1123
- reserves: [
1124
- // hub asset addresses contained in the vault
1125
- '0x0c09e69a4528945de6d16c7e469dea6996fdf636', // Solana SOL hub asset
1126
- ],
1127
- },
1128
- };
1129
- export const hubVaultsAddressSet = new Set(Object.values(hubVaults).map(vault => vault.address.toLowerCase()));
1130
- // all hub assets contained in the money market reserves (supply / borrow assets)
1131
- export const moneyMarketReserveHubAssetsSet = new Set(Object.values(hubVaults).flatMap(vault => vault.reserves.map(reserve => reserve.toLowerCase())));
1132
- export const isMoneyMarketReserveHubAsset = (hubAsset) => moneyMarketReserveHubAssetsSet.has(hubAsset.toLowerCase());
1133
- export const moneyMarketReserveAssets = [
1134
- hubVaults['sodaAVAX'].address,
1135
- hubVaults['sodaBNB'].address,
1136
- hubVaults['sodaETH'].address,
1137
- hubVaults['sodaBTC'].address,
1138
- hubVaults['sodaSUI'].address,
1139
- hubVaults['sodaINJ'].address,
1140
- hubVaults['sodaXLM'].address,
1141
- hubVaults['sodaSOL'].address,
1142
- getMoneyMarketConfig(SONIC_MAINNET_CHAIN_ID).bnUSDVault,
1143
- ];
1144
- export const isMoneyMarketReserveAsset = (asset) => moneyMarketReserveAssets.map(a => a.toLowerCase()).includes(asset.toLowerCase());
1145
- export const originalAssetTohubAssetMap = new Map(Object.entries(hubAssets).map(([chainId, assets]) => [
1146
- chainId,
1147
- new Map(Object.entries(assets).map(([asset, info]) => [asset.toLowerCase(), info])),
1148
- ]));
1149
- export const hubAssetToOriginalAssetMap = new Map(Object.entries(hubAssets).map(([chainId, assets]) => [
1150
- chainId,
1151
- new Map(Object.entries(assets).map(([asset, info]) => [info.asset.toLowerCase(), asset])),
1152
- ]));
1153
- export const chainIdToHubAssetsMap = new Map(Object.entries(hubAssets).map(([chainId, assets]) => [
1154
- chainId,
1155
- new Map(Object.entries(assets).map(([, info]) => [info.asset.toLowerCase(), info])),
1156
- ]));
1157
- export const supportedHubAssets = new Set(Object.values(hubAssets).flatMap(assets => Object.values(assets).map(info => info.asset.toLowerCase())));
1158
- export const spokeChainIdsSet = new Set(SPOKE_CHAIN_IDS);
1159
- export const getHubAssetInfo = (chainId, asset) => originalAssetTohubAssetMap.get(chainId)?.get(asset.toLowerCase());
1160
- export const isValidOriginalAssetAddress = (chainId, asset) => originalAssetTohubAssetMap.get(chainId)?.has(asset.toLowerCase()) ?? false;
1161
- export const getOriginalAssetAddress = (chainId, hubAsset) => hubAssetToOriginalAssetMap.get(chainId)?.get(hubAsset.toLowerCase());
1162
- export const isValidHubAsset = (hubAsset) => supportedHubAssets.has(hubAsset.toLowerCase());
1163
- export const isValidChainHubAsset = (chainId, hubAsset) => chainIdToHubAssetsMap.get(chainId)?.has(hubAsset.toLowerCase()) ?? false;
1164
- export const isValidSpokeChainId = (chainId) => spokeChainIdsSet.has(chainId);
1165
- export const isValidIntentRelayChainId = (chainId) => Object.values(INTENT_RELAY_CHAIN_IDS).some(id => id === chainId);
1166
- export const supportedHubChains = Object.keys(hubChainConfig);
1167
- export const supportedSpokeChains = Object.keys(spokeChainConfig);
1168
- export const intentRelayChainIdToSpokeChainIdMap = new Map(Object.entries(ChainIdToIntentRelayChainId).map(([chainId, intentRelayChainId]) => [
1169
- intentRelayChainId,
1170
- chainId,
1171
- ]));
1172
- export const supportedTokensPerChain = new Map(Object.entries(spokeChainConfig).map(([chainId, config]) => [
1173
- chainId,
1174
- Object.values(config.supportedTokens),
1175
- ]));
1176
- export const getSpokeChainIdFromIntentRelayChainId = (intentRelayChainId) => {
1177
- const spokeChainId = intentRelayChainIdToSpokeChainIdMap.get(intentRelayChainId);
1178
- if (!spokeChainId) {
1179
- throw new Error(`Invalid intent relay chain id: ${intentRelayChainId}`);
1180
- }
1181
- return spokeChainId;
1182
- };
1183
- export const isNativeToken = (chainId, token) => {
1184
- if (typeof token === 'string') {
1185
- return token.toLowerCase() === spokeChainConfig[chainId].nativeToken.toLowerCase();
1186
- }
1187
- return token.address.toLowerCase() === spokeChainConfig[chainId].nativeToken.toLowerCase();
1188
- };
1189
- //# sourceMappingURL=constants.js.map