@sodax/sdk 0.0.1-rc.6 → 0.0.1-rc.8

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 (303) 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 -6
  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 -1196
  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 -54
  58. package/dist/entities/Providers.d.ts.map +0 -1
  59. package/dist/entities/Providers.js +0 -51
  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 -92
  74. package/dist/entities/cosmos/CWSpokeProvider.d.ts.map +0 -1
  75. package/dist/entities/cosmos/CWSpokeProvider.js +0 -143
  76. package/dist/entities/cosmos/CWSpokeProvider.js.map +0 -1
  77. package/dist/entities/cosmos/CosmosWalletProvider.d.ts +0 -28
  78. package/dist/entities/cosmos/CosmosWalletProvider.d.ts.map +0 -1
  79. package/dist/entities/cosmos/CosmosWalletProvider.js +0 -102
  80. package/dist/entities/cosmos/CosmosWalletProvider.js.map +0 -1
  81. package/dist/entities/cosmos/InjectiveWalletProvider.d.ts +0 -25
  82. package/dist/entities/cosmos/InjectiveWalletProvider.d.ts.map +0 -1
  83. package/dist/entities/cosmos/InjectiveWalletProvider.js +0 -76
  84. package/dist/entities/cosmos/InjectiveWalletProvider.js.map +0 -1
  85. package/dist/entities/icon/HanaWalletConnector.d.ts +0 -36
  86. package/dist/entities/icon/HanaWalletConnector.d.ts.map +0 -1
  87. package/dist/entities/icon/HanaWalletConnector.js +0 -92
  88. package/dist/entities/icon/HanaWalletConnector.js.map +0 -1
  89. package/dist/entities/icon/IconSpokeProvider.d.ts +0 -10
  90. package/dist/entities/icon/IconSpokeProvider.d.ts.map +0 -1
  91. package/dist/entities/icon/IconSpokeProvider.js +0 -12
  92. package/dist/entities/icon/IconSpokeProvider.js.map +0 -1
  93. package/dist/entities/icon/index.d.ts +0 -4
  94. package/dist/entities/icon/index.d.ts.map +0 -1
  95. package/dist/entities/icon/index.js +0 -4
  96. package/dist/entities/icon/index.js.map +0 -1
  97. package/dist/entities/icon/utils.d.ts +0 -3
  98. package/dist/entities/icon/utils.d.ts.map +0 -1
  99. package/dist/entities/icon/utils.js +0 -4
  100. package/dist/entities/icon/utils.js.map +0 -1
  101. package/dist/entities/index.d.ts +0 -7
  102. package/dist/entities/index.d.ts.map +0 -1
  103. package/dist/entities/index.js +0 -7
  104. package/dist/entities/index.js.map +0 -1
  105. package/dist/entities/solana/Configs.d.ts +0 -38
  106. package/dist/entities/solana/Configs.d.ts.map +0 -1
  107. package/dist/entities/solana/Configs.js +0 -149
  108. package/dist/entities/solana/Configs.js.map +0 -1
  109. package/dist/entities/solana/SolanaSpokeProvider.d.ts +0 -9
  110. package/dist/entities/solana/SolanaSpokeProvider.d.ts.map +0 -1
  111. package/dist/entities/solana/SolanaSpokeProvider.js +0 -9
  112. package/dist/entities/solana/SolanaSpokeProvider.js.map +0 -1
  113. package/dist/entities/solana/SolanaWalletProvider.d.ts +0 -20
  114. package/dist/entities/solana/SolanaWalletProvider.d.ts.map +0 -1
  115. package/dist/entities/solana/SolanaWalletProvider.js +0 -53
  116. package/dist/entities/solana/SolanaWalletProvider.js.map +0 -1
  117. package/dist/entities/solana/index.d.ts +0 -4
  118. package/dist/entities/solana/index.d.ts.map +0 -1
  119. package/dist/entities/solana/index.js +0 -4
  120. package/dist/entities/solana/index.js.map +0 -1
  121. package/dist/entities/solana/pda/pda.d.ts +0 -45
  122. package/dist/entities/solana/pda/pda.d.ts.map +0 -1
  123. package/dist/entities/solana/pda/pda.js +0 -44
  124. package/dist/entities/solana/pda/pda.js.map +0 -1
  125. package/dist/entities/solana/types/asset_manager.d.ts +0 -919
  126. package/dist/entities/solana/types/asset_manager.d.ts.map +0 -1
  127. package/dist/entities/solana/types/asset_manager.js +0 -2
  128. package/dist/entities/solana/types/asset_manager.js.map +0 -1
  129. package/dist/entities/solana/types/connection.d.ts +0 -446
  130. package/dist/entities/solana/types/connection.d.ts.map +0 -1
  131. package/dist/entities/solana/types/connection.js +0 -2
  132. package/dist/entities/solana/types/connection.js.map +0 -1
  133. package/dist/entities/solana/types/rate_limit_contract.d.ts +0 -348
  134. package/dist/entities/solana/types/rate_limit_contract.d.ts.map +0 -1
  135. package/dist/entities/solana/types/rate_limit_contract.js +0 -2
  136. package/dist/entities/solana/types/rate_limit_contract.js.map +0 -1
  137. package/dist/entities/solana/utils/utils.d.ts +0 -6
  138. package/dist/entities/solana/utils/utils.d.ts.map +0 -1
  139. package/dist/entities/solana/utils/utils.js +0 -18
  140. package/dist/entities/solana/utils/utils.js.map +0 -1
  141. package/dist/entities/stellar/StellarSpokeProvider.d.ts +0 -17
  142. package/dist/entities/stellar/StellarSpokeProvider.d.ts.map +0 -1
  143. package/dist/entities/stellar/StellarSpokeProvider.js +0 -125
  144. package/dist/entities/stellar/StellarSpokeProvider.js.map +0 -1
  145. package/dist/entities/sui/SuiSpokeProvider.d.ts +0 -35
  146. package/dist/entities/sui/SuiSpokeProvider.d.ts.map +0 -1
  147. package/dist/entities/sui/SuiSpokeProvider.js +0 -145
  148. package/dist/entities/sui/SuiSpokeProvider.js.map +0 -1
  149. package/dist/errors.d.ts +0 -2
  150. package/dist/errors.d.ts.map +0 -1
  151. package/dist/errors.js +0 -2
  152. package/dist/errors.js.map +0 -1
  153. package/dist/guards.d.ts +0 -25
  154. package/dist/guards.d.ts.map +0 -1
  155. package/dist/guards.js +0 -110
  156. package/dist/guards.js.map +0 -1
  157. package/dist/index.d.ts.map +0 -1
  158. package/dist/index.js +0 -10
  159. package/dist/index.js.map +0 -1
  160. package/dist/services/hub/EvmAssetManagerService.d.ts +0 -61
  161. package/dist/services/hub/EvmAssetManagerService.d.ts.map +0 -1
  162. package/dist/services/hub/EvmAssetManagerService.js +0 -103
  163. package/dist/services/hub/EvmAssetManagerService.js.map +0 -1
  164. package/dist/services/hub/EvmVaultTokenService.d.ts +0 -81
  165. package/dist/services/hub/EvmVaultTokenService.d.ts.map +0 -1
  166. package/dist/services/hub/EvmVaultTokenService.js +0 -161
  167. package/dist/services/hub/EvmVaultTokenService.js.map +0 -1
  168. package/dist/services/hub/EvmWalletAbstraction.d.ts +0 -9
  169. package/dist/services/hub/EvmWalletAbstraction.d.ts.map +0 -1
  170. package/dist/services/hub/EvmWalletAbstraction.js +0 -14
  171. package/dist/services/hub/EvmWalletAbstraction.js.map +0 -1
  172. package/dist/services/hub/index.d.ts +0 -4
  173. package/dist/services/hub/index.d.ts.map +0 -1
  174. package/dist/services/hub/index.js +0 -4
  175. package/dist/services/hub/index.js.map +0 -1
  176. package/dist/services/index.d.ts +0 -7
  177. package/dist/services/index.d.ts.map +0 -1
  178. package/dist/services/index.js +0 -7
  179. package/dist/services/index.js.map +0 -1
  180. package/dist/services/intentRelay/IntentRelayApiService.d.ts +0 -112
  181. package/dist/services/intentRelay/IntentRelayApiService.d.ts.map +0 -1
  182. package/dist/services/intentRelay/IntentRelayApiService.js +0 -160
  183. package/dist/services/intentRelay/IntentRelayApiService.js.map +0 -1
  184. package/dist/services/intentRelay/IntentRelayApiService.test.d.ts +0 -2
  185. package/dist/services/intentRelay/IntentRelayApiService.test.d.ts.map +0 -1
  186. package/dist/services/intentRelay/IntentRelayApiService.test.js +0 -134
  187. package/dist/services/intentRelay/IntentRelayApiService.test.js.map +0 -1
  188. package/dist/services/intentRelay/index.d.ts +0 -2
  189. package/dist/services/intentRelay/index.d.ts.map +0 -1
  190. package/dist/services/intentRelay/index.js +0 -2
  191. package/dist/services/intentRelay/index.js.map +0 -1
  192. package/dist/services/moneyMarket/MoneyMarketService.d.ts +0 -525
  193. package/dist/services/moneyMarket/MoneyMarketService.d.ts.map +0 -1
  194. package/dist/services/moneyMarket/MoneyMarketService.js +0 -814
  195. package/dist/services/moneyMarket/MoneyMarketService.js.map +0 -1
  196. package/dist/services/moneyMarket/MoneyMarketService.test.d.ts +0 -2
  197. package/dist/services/moneyMarket/MoneyMarketService.test.d.ts.map +0 -1
  198. package/dist/services/moneyMarket/MoneyMarketService.test.js +0 -262
  199. package/dist/services/moneyMarket/MoneyMarketService.test.js.map +0 -1
  200. package/dist/services/moneyMarket/index.d.ts +0 -2
  201. package/dist/services/moneyMarket/index.d.ts.map +0 -1
  202. package/dist/services/moneyMarket/index.js +0 -2
  203. package/dist/services/moneyMarket/index.js.map +0 -1
  204. package/dist/services/shared/Erc20Service.d.ts +0 -42
  205. package/dist/services/shared/Erc20Service.d.ts.map +0 -1
  206. package/dist/services/shared/Erc20Service.js +0 -108
  207. package/dist/services/shared/Erc20Service.js.map +0 -1
  208. package/dist/services/shared/index.d.ts +0 -2
  209. package/dist/services/shared/index.d.ts.map +0 -1
  210. package/dist/services/shared/index.js +0 -2
  211. package/dist/services/shared/index.js.map +0 -1
  212. package/dist/services/solver/EvmSolverService.d.ts +0 -125
  213. package/dist/services/solver/EvmSolverService.d.ts.map +0 -1
  214. package/dist/services/solver/EvmSolverService.js +0 -166
  215. package/dist/services/solver/EvmSolverService.js.map +0 -1
  216. package/dist/services/solver/SolverApiService.d.ts +0 -40
  217. package/dist/services/solver/SolverApiService.d.ts.map +0 -1
  218. package/dist/services/solver/SolverApiService.js +0 -157
  219. package/dist/services/solver/SolverApiService.js.map +0 -1
  220. package/dist/services/solver/SolverApiService.test.d.ts +0 -2
  221. package/dist/services/solver/SolverApiService.test.d.ts.map +0 -1
  222. package/dist/services/solver/SolverApiService.test.js +0 -181
  223. package/dist/services/solver/SolverApiService.test.js.map +0 -1
  224. package/dist/services/solver/SolverService.d.ts +0 -295
  225. package/dist/services/solver/SolverService.d.ts.map +0 -1
  226. package/dist/services/solver/SolverService.js +0 -429
  227. package/dist/services/solver/SolverService.js.map +0 -1
  228. package/dist/services/solver/SolverService.test.d.ts +0 -2
  229. package/dist/services/solver/SolverService.test.d.ts.map +0 -1
  230. package/dist/services/solver/SolverService.test.js +0 -439
  231. package/dist/services/solver/SolverService.test.js.map +0 -1
  232. package/dist/services/solver/index.d.ts +0 -3
  233. package/dist/services/solver/index.d.ts.map +0 -1
  234. package/dist/services/solver/index.js +0 -3
  235. package/dist/services/solver/index.js.map +0 -1
  236. package/dist/services/spoke/CWSpokeService.d.ts +0 -67
  237. package/dist/services/spoke/CWSpokeService.d.ts.map +0 -1
  238. package/dist/services/spoke/CWSpokeService.js +0 -75
  239. package/dist/services/spoke/CWSpokeService.js.map +0 -1
  240. package/dist/services/spoke/EvmSpokeService.d.ts +0 -62
  241. package/dist/services/spoke/EvmSpokeService.d.ts.map +0 -1
  242. package/dist/services/spoke/EvmSpokeService.js +0 -120
  243. package/dist/services/spoke/EvmSpokeService.js.map +0 -1
  244. package/dist/services/spoke/IconSpokeService.d.ts +0 -56
  245. package/dist/services/spoke/IconSpokeService.d.ts.map +0 -1
  246. package/dist/services/spoke/IconSpokeService.js +0 -124
  247. package/dist/services/spoke/IconSpokeService.js.map +0 -1
  248. package/dist/services/spoke/SolanaSpokeService.d.ts +0 -46
  249. package/dist/services/spoke/SolanaSpokeService.d.ts.map +0 -1
  250. package/dist/services/spoke/SolanaSpokeService.js +0 -156
  251. package/dist/services/spoke/SolanaSpokeService.js.map +0 -1
  252. package/dist/services/spoke/SpokeService.d.ts +0 -34
  253. package/dist/services/spoke/SpokeService.d.ts.map +0 -1
  254. package/dist/services/spoke/SpokeService.js +0 -101
  255. package/dist/services/spoke/SpokeService.js.map +0 -1
  256. package/dist/services/spoke/StellarSpokeService.d.ts +0 -35
  257. package/dist/services/spoke/StellarSpokeService.d.ts.map +0 -1
  258. package/dist/services/spoke/StellarSpokeService.js +0 -39
  259. package/dist/services/spoke/StellarSpokeService.js.map +0 -1
  260. package/dist/services/spoke/SuiSpokeService.d.ts +0 -69
  261. package/dist/services/spoke/SuiSpokeService.d.ts.map +0 -1
  262. package/dist/services/spoke/SuiSpokeService.js +0 -73
  263. package/dist/services/spoke/SuiSpokeService.js.map +0 -1
  264. package/dist/services/spoke/index.d.ts +0 -3
  265. package/dist/services/spoke/index.d.ts.map +0 -1
  266. package/dist/services/spoke/index.js +0 -3
  267. package/dist/services/spoke/index.js.map +0 -1
  268. package/dist/tests/services/hub/EvmAssetManagerService.test.d.ts +0 -2
  269. package/dist/tests/services/hub/EvmAssetManagerService.test.d.ts.map +0 -1
  270. package/dist/tests/services/hub/EvmAssetManagerService.test.js +0 -138
  271. package/dist/tests/services/hub/EvmAssetManagerService.test.js.map +0 -1
  272. package/dist/tests/services/hub/EvmMoneyMarketService.test.d.ts +0 -2
  273. package/dist/tests/services/hub/EvmMoneyMarketService.test.d.ts.map +0 -1
  274. package/dist/tests/services/hub/EvmMoneyMarketService.test.js +0 -121
  275. package/dist/tests/services/hub/EvmMoneyMarketService.test.js.map +0 -1
  276. package/dist/tests/services/hub/EvmVaultTokenService.test.d.ts +0 -2
  277. package/dist/tests/services/hub/EvmVaultTokenService.test.d.ts.map +0 -1
  278. package/dist/tests/services/hub/EvmVaultTokenService.test.js +0 -98
  279. package/dist/tests/services/hub/EvmVaultTokenService.test.js.map +0 -1
  280. package/dist/tests/services/spoke/EvmSpokeService.test.d.ts +0 -2
  281. package/dist/tests/services/spoke/EvmSpokeService.test.d.ts.map +0 -1
  282. package/dist/tests/services/spoke/EvmSpokeService.test.js +0 -198
  283. package/dist/tests/services/spoke/EvmSpokeService.test.js.map +0 -1
  284. package/dist/types.d.ts +0 -352
  285. package/dist/types.d.ts.map +0 -1
  286. package/dist/types.js +0 -30
  287. package/dist/types.js.map +0 -1
  288. package/dist/utils/evm-utils.d.ts +0 -10
  289. package/dist/utils/evm-utils.d.ts.map +0 -1
  290. package/dist/utils/evm-utils.js +0 -15
  291. package/dist/utils/evm-utils.js.map +0 -1
  292. package/dist/utils/index.d.ts +0 -3
  293. package/dist/utils/index.d.ts.map +0 -1
  294. package/dist/utils/index.js +0 -3
  295. package/dist/utils/index.js.map +0 -1
  296. package/dist/utils/shared-utils.d.ts +0 -20
  297. package/dist/utils/shared-utils.d.ts.map +0 -1
  298. package/dist/utils/shared-utils.js +0 -69
  299. package/dist/utils/shared-utils.js.map +0 -1
  300. package/dist/utils/shared-utils.test.d.ts +0 -2
  301. package/dist/utils/shared-utils.test.d.ts.map +0 -1
  302. package/dist/utils/shared-utils.test.js +0 -63
  303. package/dist/utils/shared-utils.test.js.map +0 -1
@@ -1,392 +0,0 @@
1
- import { describe, expect, it, vi, beforeEach } from 'vitest';
2
- import { EvmSpokeProvider, IntentErrorCode, getHubAssetInfo, getHubChainConfig, getIntentRelayChainId, Sodax, EvmSolverService, getMoneyMarketConfig, spokeChainConfig, } from '../index.js';
3
- import { EvmWalletAbstraction } from '../services/hub/EvmWalletAbstraction.js';
4
- import * as IntentRelayApiService from '../services/intentRelay/IntentRelayApiService.js';
5
- import { ARBITRUM_MAINNET_CHAIN_ID, BSC_MAINNET_CHAIN_ID, SONIC_MAINNET_CHAIN_ID } from '@sodax/types';
6
- describe('Sodax', () => {
7
- const partnerFeePercentage = {
8
- address: '0x0000000000000000000000000000000000000000', // NOTE: replace with actual partner address
9
- percentage: 100,
10
- };
11
- const partnerFeeAmount = {
12
- address: '0x0000000000000000000000000000000000000000', // NOTE: replace with actual partner address
13
- amount: 1000n,
14
- };
15
- const solverConfig = {
16
- intentsContract: '0x6382D6ccD780758C5e8A6123c33ee8F4472F96ef',
17
- solverApiEndpoint: 'https://staging-new-world.iconblockchain.xyz',
18
- partnerFee: partnerFeePercentage,
19
- };
20
- const moneyMarketConfig = getMoneyMarketConfig(SONIC_MAINNET_CHAIN_ID);
21
- const hubConfig = {
22
- hubRpcUrl: 'https://rpc.soniclabs.com',
23
- chainConfig: getHubChainConfig(SONIC_MAINNET_CHAIN_ID),
24
- };
25
- // main instance to be used for all features
26
- const sodax = new Sodax({
27
- solver: solverConfig,
28
- moneyMarket: moneyMarketConfig,
29
- hubProviderConfig: hubConfig,
30
- });
31
- describe('constructor', () => {
32
- it('should initialize with both services', () => {
33
- const sodax = new Sodax({
34
- solver: solverConfig,
35
- moneyMarket: moneyMarketConfig,
36
- });
37
- expect(sodax.solver).toBeDefined();
38
- expect(sodax.moneyMarket).toBeDefined();
39
- });
40
- it('should initialize with custom hub provider config', () => {
41
- const sodax = new Sodax({
42
- solver: solverConfig,
43
- hubProviderConfig: hubConfig,
44
- });
45
- expect(sodax.solver).toBeDefined();
46
- });
47
- });
48
- describe('SolverService', () => {
49
- const bscEthToken = '0x2170Ed0880ac9A755fd29B2688956BD959F933F8';
50
- const arbWbtcToken = '0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f';
51
- const mockEvmWalletProvider = {
52
- sendTransaction: vi.fn(),
53
- getWalletAddress: vi.fn().mockResolvedValue('0x9999999999999999999999999999999999999999'),
54
- getWalletAddressBytes: vi.fn().mockResolvedValue('0x9999999999999999999999999999999999999999'),
55
- waitForTransactionReceipt: vi.fn(),
56
- };
57
- const mockBscSpokeProvider = new EvmSpokeProvider(mockEvmWalletProvider, spokeChainConfig[BSC_MAINNET_CHAIN_ID]);
58
- describe('getQuote', () => {
59
- const quoteRequest = {
60
- token_src: bscEthToken,
61
- token_dst: arbWbtcToken,
62
- token_src_blockchain_id: BSC_MAINNET_CHAIN_ID,
63
- token_dst_blockchain_id: ARBITRUM_MAINNET_CHAIN_ID,
64
- amount: 1000n,
65
- quote_type: 'exact_input',
66
- };
67
- it('should return a successful quote response', async () => {
68
- // Mock fetch response
69
- global.fetch = vi.fn().mockResolvedValueOnce({
70
- ok: true,
71
- json: async () => ({
72
- quoted_amount: '950',
73
- uuid: 'a0dd7652-b360-4123-ab2d-78cfbcd20c6b',
74
- }),
75
- });
76
- const result = await sodax.solver.getQuote(quoteRequest);
77
- expect(result.ok).toBe(true);
78
- if (result.ok) {
79
- expect(result.value).toBeDefined();
80
- expect(result.value.quoted_amount).toBe(950n);
81
- }
82
- expect(fetch).toHaveBeenCalledWith(`${solverConfig.solverApiEndpoint}/quote`, expect.objectContaining({
83
- method: 'POST',
84
- headers: { 'Content-Type': 'application/json' },
85
- body: expect.any(String),
86
- }));
87
- });
88
- it('should handle API error responses', async () => {
89
- // Mock fetch error response
90
- global.fetch = vi.fn().mockResolvedValueOnce({
91
- ok: false,
92
- json: async () => ({
93
- detail: {
94
- code: IntentErrorCode.NO_PATH_FOUND,
95
- message: 'Invalid request parameters',
96
- },
97
- }),
98
- });
99
- const result = await sodax.solver.getQuote(quoteRequest);
100
- expect(result.ok).toBe(false);
101
- if (!result.ok) {
102
- expect(result.error).toBeDefined();
103
- }
104
- });
105
- it('should handle network errors', async () => {
106
- // Mock fetch throwing an error
107
- global.fetch = vi.fn().mockRejectedValueOnce(new Error('Network error'));
108
- const result = await sodax.solver.getQuote(quoteRequest);
109
- expect(result.ok).toBe(false);
110
- if (!result.ok) {
111
- expect(result.error).toBeDefined();
112
- expect(result.error.detail.code).toBe(IntentErrorCode.UNKNOWN);
113
- }
114
- });
115
- });
116
- describe('getFee', () => {
117
- it('should calculate fee correctly for given input amount', async () => {
118
- const inputAmount = 1000n;
119
- const expectedFee = 10n; // Assuming 1% fee
120
- const result = await sodax.solver.getFee(inputAmount);
121
- expect(result).toBe(expectedFee);
122
- });
123
- });
124
- describe('postExecution', () => {
125
- const executionRequest = {
126
- intent_tx_hash: '0xba3dce19347264db32ced212ff1a2036f20d9d2c7493d06af15027970be061af',
127
- };
128
- it('should return a successful post execution response', async () => {
129
- // Mock fetch response
130
- global.fetch = vi.fn().mockResolvedValueOnce({
131
- ok: true,
132
- json: async () => ({
133
- answer: 'OK',
134
- intent_hash: '0xba3dce19347264db32ced212ff1a2036f20d9d2c7493d06af15027970be061af',
135
- }),
136
- });
137
- const result = await sodax.solver.postExecution(executionRequest);
138
- expect(result.ok).toBe(true);
139
- if (result.ok) {
140
- expect(result.value).toBeDefined();
141
- expect(result.value.intent_hash).toBeDefined();
142
- expect(result.value.answer).toBe('OK');
143
- }
144
- expect(fetch).toHaveBeenCalledWith(`${solverConfig.solverApiEndpoint}/execute`, expect.objectContaining({
145
- method: 'POST',
146
- headers: { 'Content-Type': 'application/json' },
147
- body: expect.any(String),
148
- }));
149
- });
150
- it('should handle API error responses', async () => {
151
- // Mock fetch error response
152
- global.fetch = vi.fn().mockResolvedValueOnce({
153
- ok: false,
154
- json: async () => ({
155
- detail: {
156
- code: IntentErrorCode.QUOTE_NOT_FOUND,
157
- message: 'Execution failed',
158
- },
159
- }),
160
- });
161
- const result = await sodax.solver.postExecution(executionRequest);
162
- expect(result.ok).toBe(false);
163
- if (!result.ok) {
164
- expect(result.error).toBeDefined();
165
- }
166
- });
167
- });
168
- describe('getStatus', () => {
169
- const statusRequest = {
170
- intent_tx_hash: '0xba3dce19347264db32ced212ff1a2036f20d9d2c7493d06af15027970be061af',
171
- };
172
- it('should return a successful status response', async () => {
173
- // Mock fetch response
174
- global.fetch = vi.fn().mockResolvedValueOnce({
175
- ok: true,
176
- json: async () => ({
177
- status: 3,
178
- intent_hash: '0xba3dce19347264db32ced212ff1a2036f20d9d2c7493d06af15027970be061af',
179
- }),
180
- });
181
- const result = await sodax.solver.getStatus(statusRequest);
182
- expect(result.ok).toBe(true);
183
- if (result.ok) {
184
- expect(result.value).toBeDefined();
185
- expect(result.value.status).toBe(3);
186
- }
187
- expect(fetch).toHaveBeenCalledWith(`${solverConfig.solverApiEndpoint}/status`, expect.objectContaining({
188
- method: 'POST',
189
- headers: { 'Content-Type': 'application/json' },
190
- body: expect.any(String),
191
- }));
192
- });
193
- it('should handle API error responses', async () => {
194
- // Mock fetch error response
195
- global.fetch = vi.fn().mockResolvedValueOnce({
196
- ok: false,
197
- json: async () => ({
198
- detail: {
199
- code: IntentErrorCode.NO_PATH_FOUND,
200
- message: 'Intent not found',
201
- },
202
- }),
203
- });
204
- const result = await sodax.solver.getStatus(statusRequest);
205
- expect(result.ok).toBe(false);
206
- if (!result.ok) {
207
- expect(result.error).toBeDefined();
208
- }
209
- });
210
- });
211
- describe('createAndSubmitIntent', () => {
212
- let mockCreateIntentParams;
213
- let mockIntent;
214
- let mockPacketData;
215
- beforeEach(async () => {
216
- const walletAddress = await mockEvmWalletProvider.getWalletAddressBytes();
217
- mockCreateIntentParams = {
218
- inputToken: bscEthToken,
219
- outputToken: arbWbtcToken,
220
- inputAmount: BigInt(1000000),
221
- minOutputAmount: BigInt(900000),
222
- deadline: BigInt(0),
223
- allowPartialFill: false,
224
- srcChain: BSC_MAINNET_CHAIN_ID,
225
- dstChain: ARBITRUM_MAINNET_CHAIN_ID,
226
- srcAddress: walletAddress,
227
- dstAddress: walletAddress,
228
- solver: '0x0000000000000000000000000000000000000000',
229
- data: '0x',
230
- };
231
- const creatorAddress = await mockBscSpokeProvider.walletProvider.getWalletAddress();
232
- mockIntent = {
233
- intentId: BigInt(1),
234
- creator: creatorAddress,
235
- inputToken: getHubAssetInfo(mockCreateIntentParams.srcChain, mockCreateIntentParams.inputToken)?.asset ?? '0x',
236
- outputToken: getHubAssetInfo(mockCreateIntentParams.dstChain, mockCreateIntentParams.outputToken)?.asset ?? '0x',
237
- inputAmount: mockCreateIntentParams.inputAmount,
238
- minOutputAmount: mockCreateIntentParams.minOutputAmount,
239
- deadline: mockCreateIntentParams.deadline,
240
- allowPartialFill: mockCreateIntentParams.allowPartialFill,
241
- srcChain: getIntentRelayChainId(mockCreateIntentParams.srcChain),
242
- dstChain: getIntentRelayChainId(mockCreateIntentParams.dstChain),
243
- srcAddress: walletAddress,
244
- dstAddress: walletAddress,
245
- solver: mockCreateIntentParams.solver,
246
- data: mockCreateIntentParams.data,
247
- feeAmount: partnerFeeAmount.amount,
248
- };
249
- mockPacketData = {
250
- src_chain_id: Number(getIntentRelayChainId(BSC_MAINNET_CHAIN_ID)), // BSC chain ID
251
- src_tx_hash: '0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890',
252
- src_address: '0x1234567890123456789012345678901234567890',
253
- status: 'executed',
254
- dst_chain_id: Number(getIntentRelayChainId(ARBITRUM_MAINNET_CHAIN_ID)), // Arbitrum chain ID
255
- conn_sn: 1,
256
- dst_address: '0x1234567890123456789012345678901234567890',
257
- dst_tx_hash: '0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890',
258
- signatures: ['0x1234567890123456789012345678901234567890'],
259
- payload: '0x',
260
- };
261
- });
262
- it('should successfully create and submit an intent', async () => {
263
- const mockTxHash = '0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890';
264
- const walletAddress = await mockEvmWalletProvider.getWalletAddressBytes();
265
- vi.spyOn(sodax.solver, 'createIntent').mockResolvedValueOnce({
266
- ok: true,
267
- value: [
268
- mockTxHash,
269
- { ...mockIntent, feeAmount: partnerFeeAmount.amount },
270
- ],
271
- });
272
- vi.spyOn(EvmWalletAbstraction, 'getUserHubWalletAddress').mockResolvedValueOnce(walletAddress);
273
- vi.spyOn(IntentRelayApiService, 'submitTransaction').mockResolvedValueOnce({
274
- success: true,
275
- message: 'Transaction submitted successfully',
276
- });
277
- vi.spyOn(IntentRelayApiService, 'waitUntilIntentExecuted').mockResolvedValueOnce({
278
- ok: true,
279
- value: mockPacketData,
280
- });
281
- vi.spyOn(sodax.solver, 'postExecution').mockResolvedValueOnce({
282
- ok: true,
283
- value: {
284
- answer: 'OK',
285
- intent_hash: mockTxHash,
286
- },
287
- });
288
- const result = await sodax.solver.createAndSubmitIntent(mockCreateIntentParams, mockBscSpokeProvider, partnerFeeAmount);
289
- expect(result.ok).toBe(true);
290
- if (result.ok) {
291
- expect(result.value).toBeDefined();
292
- expect(result.value[0]).toBeDefined();
293
- expect(result.value[1]).toEqual(mockIntent);
294
- }
295
- expect(sodax.solver['createIntent']).toHaveBeenCalledWith(mockCreateIntentParams, mockBscSpokeProvider, partnerFeeAmount, false);
296
- expect(sodax.solver['postExecution']).toHaveBeenCalledWith({
297
- intent_tx_hash: mockTxHash,
298
- });
299
- expect(IntentRelayApiService.submitTransaction).toHaveBeenCalled();
300
- });
301
- });
302
- describe('cancelIntent', () => {
303
- let mockCreateIntentParams;
304
- let intent;
305
- beforeEach(async () => {
306
- const walletAddress = await mockEvmWalletProvider.getWalletAddressBytes();
307
- mockCreateIntentParams = {
308
- inputToken: bscEthToken,
309
- outputToken: arbWbtcToken,
310
- inputAmount: BigInt(1000000),
311
- minOutputAmount: BigInt(900000),
312
- deadline: BigInt(0),
313
- allowPartialFill: false,
314
- srcChain: BSC_MAINNET_CHAIN_ID,
315
- dstChain: ARBITRUM_MAINNET_CHAIN_ID,
316
- srcAddress: walletAddress,
317
- dstAddress: walletAddress,
318
- solver: '0x0000000000000000000000000000000000000000',
319
- data: '0x',
320
- };
321
- const mockCreatorHubWalletAddress = '0x1234567890123456789012345678901234567890';
322
- const [, constructedIntent] = EvmSolverService.constructCreateIntentData(mockCreateIntentParams, mockCreatorHubWalletAddress, solverConfig, partnerFeeAmount);
323
- intent = { ...constructedIntent, feeAmount: partnerFeeAmount.amount };
324
- });
325
- it('should successfully cancel an intent for EVM chain', async () => {
326
- const mockTxHash = '0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890';
327
- vi.spyOn(sodax.solver, 'cancelIntent').mockResolvedValueOnce(mockTxHash);
328
- const result = await sodax.solver.cancelIntent(intent, mockBscSpokeProvider, false);
329
- expect(result).toBe(mockTxHash);
330
- });
331
- it('should throw error for invalid spoke provider', async () => {
332
- const invalidSpokeProvider = {
333
- chainConfig: {
334
- chain: {
335
- type: 'EVM',
336
- },
337
- },
338
- walletProvider: {
339
- getWalletAddressBytes: () => '0x1234567890123456789012345678901234567890',
340
- },
341
- };
342
- await expect(sodax.solver.cancelIntent(intent, invalidSpokeProvider, false)).rejects.toThrow('Invalid spoke provider');
343
- });
344
- });
345
- describe('getIntent', () => {
346
- let mockCreateIntentParams;
347
- let mockIntent;
348
- beforeEach(async () => {
349
- const walletAddress = await mockEvmWalletProvider.getWalletAddressBytes();
350
- mockCreateIntentParams = {
351
- inputToken: bscEthToken,
352
- outputToken: arbWbtcToken,
353
- inputAmount: BigInt(1000000),
354
- minOutputAmount: BigInt(900000),
355
- deadline: BigInt(0),
356
- allowPartialFill: false,
357
- srcChain: BSC_MAINNET_CHAIN_ID,
358
- dstChain: ARBITRUM_MAINNET_CHAIN_ID,
359
- srcAddress: walletAddress,
360
- dstAddress: walletAddress,
361
- solver: '0x0000000000000000000000000000000000000000',
362
- data: '0x',
363
- };
364
- const creatorAddress = await mockBscSpokeProvider.walletProvider.getWalletAddress();
365
- mockIntent = {
366
- intentId: BigInt(1),
367
- creator: creatorAddress,
368
- inputToken: getHubAssetInfo(mockCreateIntentParams.srcChain, mockCreateIntentParams.inputToken)?.asset ?? '0x',
369
- outputToken: getHubAssetInfo(mockCreateIntentParams.dstChain, mockCreateIntentParams.outputToken)?.asset ?? '0x',
370
- inputAmount: mockCreateIntentParams.inputAmount,
371
- minOutputAmount: mockCreateIntentParams.minOutputAmount,
372
- deadline: mockCreateIntentParams.deadline,
373
- allowPartialFill: mockCreateIntentParams.allowPartialFill,
374
- srcChain: getIntentRelayChainId(mockCreateIntentParams.srcChain),
375
- dstChain: getIntentRelayChainId(mockCreateIntentParams.dstChain),
376
- srcAddress: walletAddress,
377
- dstAddress: walletAddress,
378
- solver: mockCreateIntentParams.solver,
379
- data: mockCreateIntentParams.data,
380
- feeAmount: partnerFeeAmount.amount,
381
- };
382
- });
383
- it('should successfully get an intent for EVM chain', async () => {
384
- const mockTxHash = '0xabcdef1234567890abcdef1234567890abcdef1234567890abcdef1234567890';
385
- vi.spyOn(EvmSolverService, 'getIntent').mockResolvedValueOnce(mockIntent);
386
- const result = await sodax.solver.getIntent(mockTxHash);
387
- expect(result).toEqual(mockIntent);
388
- });
389
- });
390
- });
391
- });
392
- //# sourceMappingURL=Sodax.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Sodax.test.js","sourceRoot":"","sources":["../../src/entities/Sodax.test.ts"],"names":[],"mappings":"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"}
@@ -1,39 +0,0 @@
1
- import type { ExecuteResponse, ICWWalletProvider } from './CWSpokeProvider.js';
2
- export interface TokenInfo {
3
- name: string;
4
- symbol: string;
5
- decimals: number;
6
- total_supply: string;
7
- }
8
- export interface Balance {
9
- balance: string;
10
- }
11
- export interface AllowanceResponse {
12
- allowance: string;
13
- expires: {
14
- never?: {};
15
- at_height?: number;
16
- at_time?: string;
17
- };
18
- }
19
- export declare class CW20Token {
20
- private client;
21
- private contractAddress;
22
- constructor(client: ICWWalletProvider, contractAddress: string);
23
- getTokenInfo(): Promise<TokenInfo>;
24
- getBalance(address: string): Promise<Balance>;
25
- getAllowance(owner: string, spender: string): Promise<AllowanceResponse>;
26
- transfer(senderAddress: string, recipientAddress: string, amount: string): Promise<ExecuteResponse>;
27
- increaseAllowance(senderAddress: string, spenderAddress: string, amount: string, expires?: {
28
- at_height?: number;
29
- at_time?: string;
30
- never?: {};
31
- }): Promise<ExecuteResponse>;
32
- decreaseAllowance(senderAddress: string, spenderAddress: string, amount: string, expires?: {
33
- at_height?: number;
34
- at_time?: string;
35
- never?: {};
36
- }): Promise<ExecuteResponse>;
37
- transferFrom(senderAddress: string, ownerAddress: string, recipientAddress: string, amount: string): Promise<ExecuteResponse>;
38
- }
39
- //# sourceMappingURL=CW20Token.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CW20Token.d.ts","sourceRoot":"","sources":["../../../src/entities/cosmos/CW20Token.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE/E,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,OAAO;IACtB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE;QACP,KAAK,CAAC,EAAE,EAAE,CAAC;QACX,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,eAAe,CAAS;gBAEpB,MAAM,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM;IAMxD,YAAY,IAAI,OAAO,CAAC,SAAS,CAAC;IAMlC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAM7C,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAOxE,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAWnG,iBAAiB,CACrB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,EAAE,CAAA;KAAE,GAC7D,OAAO,CAAC,eAAe,CAAC;IAYrB,iBAAiB,CACrB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,EAAE,CAAA;KAAE,GAC7D,OAAO,CAAC,eAAe,CAAC;IAYrB,YAAY,CAChB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,CAAC;CAW5B"}
@@ -1,65 +0,0 @@
1
- export class CW20Token {
2
- client;
3
- contractAddress;
4
- constructor(client, contractAddress) {
5
- this.client = client;
6
- this.contractAddress = contractAddress;
7
- }
8
- // Query Methods
9
- async getTokenInfo() {
10
- return await this.client.queryContractSmart(this.contractAddress, {
11
- token_info: {},
12
- });
13
- }
14
- async getBalance(address) {
15
- return await this.client.queryContractSmart(this.contractAddress, {
16
- balance: { address },
17
- });
18
- }
19
- async getAllowance(owner, spender) {
20
- return await this.client.queryContractSmart(this.contractAddress, {
21
- allowance: { owner, spender },
22
- });
23
- }
24
- // Execute Methods (requires SigningCosmWasmClient)
25
- async transfer(senderAddress, recipientAddress, amount) {
26
- const msg = {
27
- transfer: {
28
- recipient: recipientAddress,
29
- amount: amount,
30
- },
31
- };
32
- return await this.client.execute(senderAddress, this.contractAddress, msg, 'auto');
33
- }
34
- async increaseAllowance(senderAddress, spenderAddress, amount, expires) {
35
- const msg = {
36
- increase_allowance: {
37
- spender: spenderAddress,
38
- amount: amount,
39
- expires,
40
- },
41
- };
42
- return await this.client.execute(senderAddress, this.contractAddress, msg, 'auto');
43
- }
44
- async decreaseAllowance(senderAddress, spenderAddress, amount, expires) {
45
- const msg = {
46
- decrease_allowance: {
47
- spender: spenderAddress,
48
- amount: amount,
49
- expires,
50
- },
51
- };
52
- return await this.client.execute(senderAddress, this.contractAddress, msg, 'auto');
53
- }
54
- async transferFrom(senderAddress, ownerAddress, recipientAddress, amount) {
55
- const msg = {
56
- transfer_from: {
57
- owner: ownerAddress,
58
- recipient: recipientAddress,
59
- amount: amount,
60
- },
61
- };
62
- return await this.client.execute(senderAddress, this.contractAddress, msg, 'auto');
63
- }
64
- }
65
- //# sourceMappingURL=CW20Token.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CW20Token.js","sourceRoot":"","sources":["../../../src/entities/cosmos/CW20Token.ts"],"names":[],"mappings":"AAsBA,MAAM,OAAO,SAAS;IACZ,MAAM,CAAoB;IAC1B,eAAe,CAAS;IAEhC,YAAY,MAAyB,EAAE,eAAuB;QAC5D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,YAAY;QAChB,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,EAAE;YAChE,UAAU,EAAE,EAAE;SACf,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAe;QAC9B,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,EAAE;YAChE,OAAO,EAAE,EAAE,OAAO,EAAE;SACrB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,OAAe;QAC/C,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,eAAe,EAAE;YAChE,SAAS,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,mDAAmD;IACnD,KAAK,CAAC,QAAQ,CAAC,aAAqB,EAAE,gBAAwB,EAAE,MAAc;QAC5E,MAAM,GAAG,GAAG;YACV,QAAQ,EAAE;gBACR,SAAS,EAAE,gBAAgB;gBAC3B,MAAM,EAAE,MAAM;aACf;SACF,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,aAAqB,EACrB,cAAsB,EACtB,MAAc,EACd,OAA8D;QAE9D,MAAM,GAAG,GAAG;YACV,kBAAkB,EAAE;gBAClB,OAAO,EAAE,cAAc;gBACvB,MAAM,EAAE,MAAM;gBACd,OAAO;aACR;SACF,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,aAAqB,EACrB,cAAsB,EACtB,MAAc,EACd,OAA8D;QAE9D,MAAM,GAAG,GAAG;YACV,kBAAkB,EAAE;gBAClB,OAAO,EAAE,cAAc;gBACvB,MAAM,EAAE,MAAM;gBACd,OAAO;aACR;SACF,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,aAAqB,EACrB,YAAoB,EACpB,gBAAwB,EACxB,MAAc;QAEd,MAAM,GAAG,GAAG;YACV,aAAa,EAAE;gBACb,KAAK,EAAE,YAAY;gBACnB,SAAS,EAAE,gBAAgB;gBAC3B,MAAM,EAAE,MAAM;aACf;SACF,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;IACrF,CAAC;CACF"}
@@ -1,92 +0,0 @@
1
- import type { ExecuteResult, JsonObject } from '@cosmjs/cosmwasm-stargate';
2
- import { type Coin, type StdFee } from '@cosmjs/stargate';
3
- import type { TxResponse } from '@injectivelabs/sdk-ts';
4
- import { type Address, type Hex } from 'viem';
5
- import type { CosmosSpokeChainConfig, CWRawTransaction, CWReturnType, PromiseCWTxReturnType } from '../../types.js';
6
- import type { ISpokeProvider } from '../Providers.js';
7
- import type { WalletAddressProvider } from '@sodax/types';
8
- export type CWSpokeDepositParams = {
9
- from: string;
10
- token: string;
11
- amount: string;
12
- data: Hex;
13
- };
14
- export interface InstantiateMsg {
15
- connection: string;
16
- rate_limit: string;
17
- hub_chain_id: string;
18
- hub_asset_manager: Uint8Array;
19
- }
20
- export interface ConnMsg {
21
- send_message?: {
22
- dst_chain_id: number;
23
- dst_address: Array<Number>;
24
- payload: Array<Number>;
25
- };
26
- }
27
- export interface ExecuteMsg {
28
- transfer?: {
29
- token: string;
30
- to: Array<Number>;
31
- amount: string;
32
- data: Array<Number>;
33
- };
34
- recv_message?: {
35
- src_chain_id: string;
36
- src_address: Uint8Array;
37
- conn_sn: string;
38
- payload: Uint8Array;
39
- signatures: Uint8Array[];
40
- };
41
- set_rate_limit?: {
42
- rate_limit: string;
43
- };
44
- set_connection?: {
45
- connection: string;
46
- };
47
- set_owner?: {
48
- owner: string;
49
- };
50
- }
51
- export interface QueryMsg {
52
- get_state: {};
53
- }
54
- export interface State {
55
- connection: string;
56
- rate_limit: string;
57
- hub_asset_manager: Uint8Array;
58
- hub_chain_id: string;
59
- owner: string;
60
- }
61
- export declare class ExecuteResponse {
62
- height: number | undefined;
63
- transactionHash: string;
64
- static fromExecResult(res: ExecuteResult): ExecuteResponse;
65
- static fromTxResponse(res: TxResponse): ExecuteResponse;
66
- }
67
- export interface ICWWalletProvider extends WalletAddressProvider {
68
- execute(senderAddress: string, contractAddress: string, msg: JsonObject, fee: StdFee | 'auto' | number, memo?: string, funds?: Coin[]): Promise<ExecuteResponse>;
69
- getRawTransaction(chainId: string, prefix: string, senderAddress: string, contractAddress: string, msg: JsonObject, memo?: string): CWRawTransaction;
70
- queryContractSmart(address: string, queryMsg: JsonObject): Promise<JsonObject>;
71
- }
72
- export declare class CWSpokeProvider implements ISpokeProvider {
73
- readonly walletProvider: ICWWalletProvider;
74
- chainConfig: CosmosSpokeChainConfig;
75
- constructor(conf: CosmosSpokeChainConfig, walletProvider: ICWWalletProvider);
76
- getState(): Promise<State>;
77
- getBalance(token: String): Promise<number>;
78
- private transfer;
79
- depositToken<R extends boolean = false>(sender: string, tokenAddress: string, to: Uint8Array, amount: string, data?: Uint8Array, raw?: R): Promise<CWReturnType<R>>;
80
- static deposit<R extends boolean = false>(sender: string, token_address: string, to: Address, amount: string, data: Hex | undefined, provider: CWSpokeProvider, raw?: R): PromiseCWTxReturnType<R>;
81
- depositNative<R extends boolean = false>(sender: string, token: string, to: Uint8Array, amount: string, data?: Uint8Array, raw?: R): Promise<CWReturnType<R>>;
82
- isNative(token: string): Promise<boolean>;
83
- receiveMessage(senderAddress: string, srcChainId: string, srcAddress: Uint8Array, connSn: string, payload: Uint8Array, signatures: Uint8Array[]): Promise<ExecuteResponse>;
84
- setRateLimit(senderAddress: string, rateLimit: string): Promise<ExecuteResponse>;
85
- setConnection(senderAddress: string, connection: string): Promise<ExecuteResponse>;
86
- setOwner(senderAddress: string, owner: string): Promise<ExecuteResponse>;
87
- send_message<R extends boolean = false>(sender: string, dst_chain_id: string, dst_address: Hex, payload: Hex, raw?: R): PromiseCWTxReturnType<R>;
88
- static stringToUint8Array(str: string): Uint8Array;
89
- static uint8ArrayToString(arr: Uint8Array): string;
90
- static toBigIntString(num: number | bigint): string;
91
- }
92
- //# sourceMappingURL=CWSpokeProvider.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CWSpokeProvider.d.ts","sourceRoot":"","sources":["../../../src/entities/cosmos/CWSpokeProvider.ts"],"names":[],"mappings":"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"}