@sodax/sdk 0.0.1-rc.4 → 0.0.1-rc.41

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 (304) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +176 -11
  3. package/dist/index.cjs +18618 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.d.cts +11181 -0
  6. package/dist/index.d.ts +11180 -9
  7. package/dist/index.mjs +18348 -0
  8. package/dist/index.mjs.map +1 -0
  9. package/package.json +32 -32
  10. package/dist/abis/asset-manager.abi.d.ts +0 -418
  11. package/dist/abis/asset-manager.abi.d.ts.map +0 -1
  12. package/dist/abis/asset-manager.abi.js +0 -542
  13. package/dist/abis/asset-manager.abi.js.map +0 -1
  14. package/dist/abis/connection.abi.d.ts +0 -72
  15. package/dist/abis/connection.abi.d.ts.map +0 -1
  16. package/dist/abis/connection.abi.js +0 -92
  17. package/dist/abis/connection.abi.js.map +0 -1
  18. package/dist/abis/erc20.abi.d.ts +0 -236
  19. package/dist/abis/erc20.abi.d.ts.map +0 -1
  20. package/dist/abis/erc20.abi.js +0 -311
  21. package/dist/abis/erc20.abi.js.map +0 -1
  22. package/dist/abis/index.d.ts +0 -10
  23. package/dist/abis/index.d.ts.map +0 -1
  24. package/dist/abis/index.js +0 -10
  25. package/dist/abis/index.js.map +0 -1
  26. package/dist/abis/intents.abi.d.ts +0 -901
  27. package/dist/abis/intents.abi.d.ts.map +0 -1
  28. package/dist/abis/intents.abi.js +0 -1158
  29. package/dist/abis/intents.abi.js.map +0 -1
  30. package/dist/abis/pool.abi.d.ts +0 -626
  31. package/dist/abis/pool.abi.d.ts.map +0 -1
  32. package/dist/abis/pool.abi.js +0 -812
  33. package/dist/abis/pool.abi.js.map +0 -1
  34. package/dist/abis/spokeAssetManager.abi.d.ts +0 -169
  35. package/dist/abis/spokeAssetManager.abi.d.ts.map +0 -1
  36. package/dist/abis/spokeAssetManager.abi.js +0 -217
  37. package/dist/abis/spokeAssetManager.abi.js.map +0 -1
  38. package/dist/abis/uiPoolData.abi.d.ts +0 -369
  39. package/dist/abis/uiPoolData.abi.d.ts.map +0 -1
  40. package/dist/abis/uiPoolData.abi.js +0 -476
  41. package/dist/abis/uiPoolData.abi.js.map +0 -1
  42. package/dist/abis/vaultToken.abi.d.ts +0 -816
  43. package/dist/abis/vaultToken.abi.d.ts.map +0 -1
  44. package/dist/abis/vaultToken.abi.js +0 -1062
  45. package/dist/abis/vaultToken.abi.js.map +0 -1
  46. package/dist/abis/walletFactory.abi.d.ts +0 -20
  47. package/dist/abis/walletFactory.abi.d.ts.map +0 -1
  48. package/dist/abis/walletFactory.abi.js +0 -27
  49. package/dist/abis/walletFactory.abi.js.map +0 -1
  50. package/dist/constants.d.ts +0 -550
  51. package/dist/constants.d.ts.map +0 -1
  52. package/dist/constants.js +0 -1196
  53. package/dist/constants.js.map +0 -1
  54. package/dist/constants.test.d.ts +0 -2
  55. package/dist/constants.test.d.ts.map +0 -1
  56. package/dist/constants.test.js +0 -129
  57. package/dist/constants.test.js.map +0 -1
  58. package/dist/entities/Providers.d.ts +0 -54
  59. package/dist/entities/Providers.d.ts.map +0 -1
  60. package/dist/entities/Providers.js +0 -51
  61. package/dist/entities/Providers.js.map +0 -1
  62. package/dist/entities/Sodax.d.ts +0 -23
  63. package/dist/entities/Sodax.d.ts.map +0 -1
  64. package/dist/entities/Sodax.js +0 -29
  65. package/dist/entities/Sodax.js.map +0 -1
  66. package/dist/entities/Sodax.test.d.ts +0 -2
  67. package/dist/entities/Sodax.test.d.ts.map +0 -1
  68. package/dist/entities/Sodax.test.js +0 -392
  69. package/dist/entities/Sodax.test.js.map +0 -1
  70. package/dist/entities/cosmos/CW20Token.d.ts +0 -39
  71. package/dist/entities/cosmos/CW20Token.d.ts.map +0 -1
  72. package/dist/entities/cosmos/CW20Token.js +0 -65
  73. package/dist/entities/cosmos/CW20Token.js.map +0 -1
  74. package/dist/entities/cosmos/CWSpokeProvider.d.ts +0 -92
  75. package/dist/entities/cosmos/CWSpokeProvider.d.ts.map +0 -1
  76. package/dist/entities/cosmos/CWSpokeProvider.js +0 -143
  77. package/dist/entities/cosmos/CWSpokeProvider.js.map +0 -1
  78. package/dist/entities/cosmos/CosmosWalletProvider.d.ts +0 -28
  79. package/dist/entities/cosmos/CosmosWalletProvider.d.ts.map +0 -1
  80. package/dist/entities/cosmos/CosmosWalletProvider.js +0 -102
  81. package/dist/entities/cosmos/CosmosWalletProvider.js.map +0 -1
  82. package/dist/entities/cosmos/InjectiveWalletProvider.d.ts +0 -25
  83. package/dist/entities/cosmos/InjectiveWalletProvider.d.ts.map +0 -1
  84. package/dist/entities/cosmos/InjectiveWalletProvider.js +0 -76
  85. package/dist/entities/cosmos/InjectiveWalletProvider.js.map +0 -1
  86. package/dist/entities/icon/HanaWalletConnector.d.ts +0 -36
  87. package/dist/entities/icon/HanaWalletConnector.d.ts.map +0 -1
  88. package/dist/entities/icon/HanaWalletConnector.js +0 -92
  89. package/dist/entities/icon/HanaWalletConnector.js.map +0 -1
  90. package/dist/entities/icon/IconSpokeProvider.d.ts +0 -10
  91. package/dist/entities/icon/IconSpokeProvider.d.ts.map +0 -1
  92. package/dist/entities/icon/IconSpokeProvider.js +0 -12
  93. package/dist/entities/icon/IconSpokeProvider.js.map +0 -1
  94. package/dist/entities/icon/index.d.ts +0 -4
  95. package/dist/entities/icon/index.d.ts.map +0 -1
  96. package/dist/entities/icon/index.js +0 -4
  97. package/dist/entities/icon/index.js.map +0 -1
  98. package/dist/entities/icon/utils.d.ts +0 -3
  99. package/dist/entities/icon/utils.d.ts.map +0 -1
  100. package/dist/entities/icon/utils.js +0 -4
  101. package/dist/entities/icon/utils.js.map +0 -1
  102. package/dist/entities/index.d.ts +0 -7
  103. package/dist/entities/index.d.ts.map +0 -1
  104. package/dist/entities/index.js +0 -7
  105. package/dist/entities/index.js.map +0 -1
  106. package/dist/entities/solana/Configs.d.ts +0 -10
  107. package/dist/entities/solana/Configs.d.ts.map +0 -1
  108. package/dist/entities/solana/Configs.js +0 -50
  109. package/dist/entities/solana/Configs.js.map +0 -1
  110. package/dist/entities/solana/SolanaSpokeProvider.d.ts +0 -9
  111. package/dist/entities/solana/SolanaSpokeProvider.d.ts.map +0 -1
  112. package/dist/entities/solana/SolanaSpokeProvider.js +0 -9
  113. package/dist/entities/solana/SolanaSpokeProvider.js.map +0 -1
  114. package/dist/entities/solana/SolanaWalletProvider.d.ts +0 -20
  115. package/dist/entities/solana/SolanaWalletProvider.d.ts.map +0 -1
  116. package/dist/entities/solana/SolanaWalletProvider.js +0 -53
  117. package/dist/entities/solana/SolanaWalletProvider.js.map +0 -1
  118. package/dist/entities/solana/index.d.ts +0 -4
  119. package/dist/entities/solana/index.d.ts.map +0 -1
  120. package/dist/entities/solana/index.js +0 -4
  121. package/dist/entities/solana/index.js.map +0 -1
  122. package/dist/entities/solana/pda/pda.d.ts +0 -45
  123. package/dist/entities/solana/pda/pda.d.ts.map +0 -1
  124. package/dist/entities/solana/pda/pda.js +0 -44
  125. package/dist/entities/solana/pda/pda.js.map +0 -1
  126. package/dist/entities/solana/types/asset_manager.d.ts +0 -919
  127. package/dist/entities/solana/types/asset_manager.d.ts.map +0 -1
  128. package/dist/entities/solana/types/asset_manager.js +0 -2
  129. package/dist/entities/solana/types/asset_manager.js.map +0 -1
  130. package/dist/entities/solana/types/connection.d.ts +0 -446
  131. package/dist/entities/solana/types/connection.d.ts.map +0 -1
  132. package/dist/entities/solana/types/connection.js +0 -2
  133. package/dist/entities/solana/types/connection.js.map +0 -1
  134. package/dist/entities/solana/types/rate_limit_contract.d.ts +0 -348
  135. package/dist/entities/solana/types/rate_limit_contract.d.ts.map +0 -1
  136. package/dist/entities/solana/types/rate_limit_contract.js +0 -2
  137. package/dist/entities/solana/types/rate_limit_contract.js.map +0 -1
  138. package/dist/entities/solana/utils/utils.d.ts +0 -6
  139. package/dist/entities/solana/utils/utils.d.ts.map +0 -1
  140. package/dist/entities/solana/utils/utils.js +0 -18
  141. package/dist/entities/solana/utils/utils.js.map +0 -1
  142. package/dist/entities/stellar/StellarSpokeProvider.d.ts +0 -17
  143. package/dist/entities/stellar/StellarSpokeProvider.d.ts.map +0 -1
  144. package/dist/entities/stellar/StellarSpokeProvider.js +0 -125
  145. package/dist/entities/stellar/StellarSpokeProvider.js.map +0 -1
  146. package/dist/entities/sui/SuiSpokeProvider.d.ts +0 -35
  147. package/dist/entities/sui/SuiSpokeProvider.d.ts.map +0 -1
  148. package/dist/entities/sui/SuiSpokeProvider.js +0 -145
  149. package/dist/entities/sui/SuiSpokeProvider.js.map +0 -1
  150. package/dist/errors.d.ts +0 -2
  151. package/dist/errors.d.ts.map +0 -1
  152. package/dist/errors.js +0 -2
  153. package/dist/errors.js.map +0 -1
  154. package/dist/guards.d.ts +0 -25
  155. package/dist/guards.d.ts.map +0 -1
  156. package/dist/guards.js +0 -110
  157. package/dist/guards.js.map +0 -1
  158. package/dist/index.d.ts.map +0 -1
  159. package/dist/index.js +0 -10
  160. package/dist/index.js.map +0 -1
  161. package/dist/services/hub/EvmAssetManagerService.d.ts +0 -61
  162. package/dist/services/hub/EvmAssetManagerService.d.ts.map +0 -1
  163. package/dist/services/hub/EvmAssetManagerService.js +0 -103
  164. package/dist/services/hub/EvmAssetManagerService.js.map +0 -1
  165. package/dist/services/hub/EvmVaultTokenService.d.ts +0 -81
  166. package/dist/services/hub/EvmVaultTokenService.d.ts.map +0 -1
  167. package/dist/services/hub/EvmVaultTokenService.js +0 -161
  168. package/dist/services/hub/EvmVaultTokenService.js.map +0 -1
  169. package/dist/services/hub/EvmWalletAbstraction.d.ts +0 -9
  170. package/dist/services/hub/EvmWalletAbstraction.d.ts.map +0 -1
  171. package/dist/services/hub/EvmWalletAbstraction.js +0 -14
  172. package/dist/services/hub/EvmWalletAbstraction.js.map +0 -1
  173. package/dist/services/hub/index.d.ts +0 -4
  174. package/dist/services/hub/index.d.ts.map +0 -1
  175. package/dist/services/hub/index.js +0 -4
  176. package/dist/services/hub/index.js.map +0 -1
  177. package/dist/services/index.d.ts +0 -7
  178. package/dist/services/index.d.ts.map +0 -1
  179. package/dist/services/index.js +0 -7
  180. package/dist/services/index.js.map +0 -1
  181. package/dist/services/intentRelay/IntentRelayApiService.d.ts +0 -112
  182. package/dist/services/intentRelay/IntentRelayApiService.d.ts.map +0 -1
  183. package/dist/services/intentRelay/IntentRelayApiService.js +0 -160
  184. package/dist/services/intentRelay/IntentRelayApiService.js.map +0 -1
  185. package/dist/services/intentRelay/IntentRelayApiService.test.d.ts +0 -2
  186. package/dist/services/intentRelay/IntentRelayApiService.test.d.ts.map +0 -1
  187. package/dist/services/intentRelay/IntentRelayApiService.test.js +0 -134
  188. package/dist/services/intentRelay/IntentRelayApiService.test.js.map +0 -1
  189. package/dist/services/intentRelay/index.d.ts +0 -2
  190. package/dist/services/intentRelay/index.d.ts.map +0 -1
  191. package/dist/services/intentRelay/index.js +0 -2
  192. package/dist/services/intentRelay/index.js.map +0 -1
  193. package/dist/services/moneyMarket/MoneyMarketService.d.ts +0 -525
  194. package/dist/services/moneyMarket/MoneyMarketService.d.ts.map +0 -1
  195. package/dist/services/moneyMarket/MoneyMarketService.js +0 -814
  196. package/dist/services/moneyMarket/MoneyMarketService.js.map +0 -1
  197. package/dist/services/moneyMarket/MoneyMarketService.test.d.ts +0 -2
  198. package/dist/services/moneyMarket/MoneyMarketService.test.d.ts.map +0 -1
  199. package/dist/services/moneyMarket/MoneyMarketService.test.js +0 -262
  200. package/dist/services/moneyMarket/MoneyMarketService.test.js.map +0 -1
  201. package/dist/services/moneyMarket/index.d.ts +0 -2
  202. package/dist/services/moneyMarket/index.d.ts.map +0 -1
  203. package/dist/services/moneyMarket/index.js +0 -2
  204. package/dist/services/moneyMarket/index.js.map +0 -1
  205. package/dist/services/shared/Erc20Service.d.ts +0 -42
  206. package/dist/services/shared/Erc20Service.d.ts.map +0 -1
  207. package/dist/services/shared/Erc20Service.js +0 -108
  208. package/dist/services/shared/Erc20Service.js.map +0 -1
  209. package/dist/services/shared/index.d.ts +0 -2
  210. package/dist/services/shared/index.d.ts.map +0 -1
  211. package/dist/services/shared/index.js +0 -2
  212. package/dist/services/shared/index.js.map +0 -1
  213. package/dist/services/solver/EvmSolverService.d.ts +0 -125
  214. package/dist/services/solver/EvmSolverService.d.ts.map +0 -1
  215. package/dist/services/solver/EvmSolverService.js +0 -166
  216. package/dist/services/solver/EvmSolverService.js.map +0 -1
  217. package/dist/services/solver/SolverApiService.d.ts +0 -40
  218. package/dist/services/solver/SolverApiService.d.ts.map +0 -1
  219. package/dist/services/solver/SolverApiService.js +0 -157
  220. package/dist/services/solver/SolverApiService.js.map +0 -1
  221. package/dist/services/solver/SolverApiService.test.d.ts +0 -2
  222. package/dist/services/solver/SolverApiService.test.d.ts.map +0 -1
  223. package/dist/services/solver/SolverApiService.test.js +0 -181
  224. package/dist/services/solver/SolverApiService.test.js.map +0 -1
  225. package/dist/services/solver/SolverService.d.ts +0 -295
  226. package/dist/services/solver/SolverService.d.ts.map +0 -1
  227. package/dist/services/solver/SolverService.js +0 -429
  228. package/dist/services/solver/SolverService.js.map +0 -1
  229. package/dist/services/solver/SolverService.test.d.ts +0 -2
  230. package/dist/services/solver/SolverService.test.d.ts.map +0 -1
  231. package/dist/services/solver/SolverService.test.js +0 -439
  232. package/dist/services/solver/SolverService.test.js.map +0 -1
  233. package/dist/services/solver/index.d.ts +0 -3
  234. package/dist/services/solver/index.d.ts.map +0 -1
  235. package/dist/services/solver/index.js +0 -3
  236. package/dist/services/solver/index.js.map +0 -1
  237. package/dist/services/spoke/CWSpokeService.d.ts +0 -67
  238. package/dist/services/spoke/CWSpokeService.d.ts.map +0 -1
  239. package/dist/services/spoke/CWSpokeService.js +0 -75
  240. package/dist/services/spoke/CWSpokeService.js.map +0 -1
  241. package/dist/services/spoke/EvmSpokeService.d.ts +0 -62
  242. package/dist/services/spoke/EvmSpokeService.d.ts.map +0 -1
  243. package/dist/services/spoke/EvmSpokeService.js +0 -120
  244. package/dist/services/spoke/EvmSpokeService.js.map +0 -1
  245. package/dist/services/spoke/IconSpokeService.d.ts +0 -56
  246. package/dist/services/spoke/IconSpokeService.d.ts.map +0 -1
  247. package/dist/services/spoke/IconSpokeService.js +0 -124
  248. package/dist/services/spoke/IconSpokeService.js.map +0 -1
  249. package/dist/services/spoke/SolanaSpokeService.d.ts +0 -46
  250. package/dist/services/spoke/SolanaSpokeService.d.ts.map +0 -1
  251. package/dist/services/spoke/SolanaSpokeService.js +0 -170
  252. package/dist/services/spoke/SolanaSpokeService.js.map +0 -1
  253. package/dist/services/spoke/SpokeService.d.ts +0 -34
  254. package/dist/services/spoke/SpokeService.d.ts.map +0 -1
  255. package/dist/services/spoke/SpokeService.js +0 -102
  256. package/dist/services/spoke/SpokeService.js.map +0 -1
  257. package/dist/services/spoke/StellarSpokeService.d.ts +0 -35
  258. package/dist/services/spoke/StellarSpokeService.d.ts.map +0 -1
  259. package/dist/services/spoke/StellarSpokeService.js +0 -39
  260. package/dist/services/spoke/StellarSpokeService.js.map +0 -1
  261. package/dist/services/spoke/SuiSpokeService.d.ts +0 -69
  262. package/dist/services/spoke/SuiSpokeService.d.ts.map +0 -1
  263. package/dist/services/spoke/SuiSpokeService.js +0 -74
  264. package/dist/services/spoke/SuiSpokeService.js.map +0 -1
  265. package/dist/services/spoke/index.d.ts +0 -3
  266. package/dist/services/spoke/index.d.ts.map +0 -1
  267. package/dist/services/spoke/index.js +0 -3
  268. package/dist/services/spoke/index.js.map +0 -1
  269. package/dist/tests/services/hub/EvmAssetManagerService.test.d.ts +0 -2
  270. package/dist/tests/services/hub/EvmAssetManagerService.test.d.ts.map +0 -1
  271. package/dist/tests/services/hub/EvmAssetManagerService.test.js +0 -138
  272. package/dist/tests/services/hub/EvmAssetManagerService.test.js.map +0 -1
  273. package/dist/tests/services/hub/EvmMoneyMarketService.test.d.ts +0 -2
  274. package/dist/tests/services/hub/EvmMoneyMarketService.test.d.ts.map +0 -1
  275. package/dist/tests/services/hub/EvmMoneyMarketService.test.js +0 -121
  276. package/dist/tests/services/hub/EvmMoneyMarketService.test.js.map +0 -1
  277. package/dist/tests/services/hub/EvmVaultTokenService.test.d.ts +0 -2
  278. package/dist/tests/services/hub/EvmVaultTokenService.test.d.ts.map +0 -1
  279. package/dist/tests/services/hub/EvmVaultTokenService.test.js +0 -98
  280. package/dist/tests/services/hub/EvmVaultTokenService.test.js.map +0 -1
  281. package/dist/tests/services/spoke/EvmSpokeService.test.d.ts +0 -2
  282. package/dist/tests/services/spoke/EvmSpokeService.test.d.ts.map +0 -1
  283. package/dist/tests/services/spoke/EvmSpokeService.test.js +0 -198
  284. package/dist/tests/services/spoke/EvmSpokeService.test.js.map +0 -1
  285. package/dist/types.d.ts +0 -352
  286. package/dist/types.d.ts.map +0 -1
  287. package/dist/types.js +0 -30
  288. package/dist/types.js.map +0 -1
  289. package/dist/utils/evm-utils.d.ts +0 -10
  290. package/dist/utils/evm-utils.d.ts.map +0 -1
  291. package/dist/utils/evm-utils.js +0 -15
  292. package/dist/utils/evm-utils.js.map +0 -1
  293. package/dist/utils/index.d.ts +0 -3
  294. package/dist/utils/index.d.ts.map +0 -1
  295. package/dist/utils/index.js +0 -3
  296. package/dist/utils/index.js.map +0 -1
  297. package/dist/utils/shared-utils.d.ts +0 -20
  298. package/dist/utils/shared-utils.d.ts.map +0 -1
  299. package/dist/utils/shared-utils.js +0 -69
  300. package/dist/utils/shared-utils.js.map +0 -1
  301. package/dist/utils/shared-utils.test.d.ts +0 -2
  302. package/dist/utils/shared-utils.test.d.ts.map +0 -1
  303. package/dist/utils/shared-utils.test.js +0 -63
  304. package/dist/utils/shared-utils.test.js.map +0 -1
@@ -1,181 +0,0 @@
1
- import { beforeEach, describe, expect, it, vi } from 'vitest';
2
- import { getHubAssetInfo, IntentErrorCode, } from '../../index.js';
3
- import { SolverApiService } from './SolverApiService.js';
4
- import { ARBITRUM_MAINNET_CHAIN_ID, BSC_MAINNET_CHAIN_ID } from '@sodax/types';
5
- // Mock fetch
6
- const mockFetch = vi.fn();
7
- global.fetch = mockFetch;
8
- describe('SolverApiService', () => {
9
- const mockConfig = {
10
- solverApiEndpoint: 'https://api.example.com',
11
- intentsContract: '0x1234567890123456789012345678901234567890',
12
- };
13
- const bscEthToken = '0x2170Ed0880ac9A755fd29B2688956BD959F933F8';
14
- const bscEthHubTokenAsset = getHubAssetInfo(BSC_MAINNET_CHAIN_ID, bscEthToken);
15
- if (!bscEthHubTokenAsset) {
16
- throw new Error('BSC ETH token asset not found');
17
- }
18
- const arbWbtcToken = '0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f';
19
- const arbWbtcHubTokenAsset = getHubAssetInfo(ARBITRUM_MAINNET_CHAIN_ID, arbWbtcToken);
20
- if (!arbWbtcHubTokenAsset) {
21
- throw new Error('BSC WBTC token asset not found');
22
- }
23
- beforeEach(() => {
24
- vi.clearAllMocks();
25
- });
26
- describe('getQuote', () => {
27
- const payload = {
28
- token_src: bscEthToken,
29
- token_src_blockchain_id: BSC_MAINNET_CHAIN_ID,
30
- token_dst: arbWbtcToken,
31
- token_dst_blockchain_id: ARBITRUM_MAINNET_CHAIN_ID,
32
- amount: 1000000000000000000n,
33
- quote_type: 'exact_input',
34
- };
35
- it('should return a successful quote response', async () => {
36
- const mockResponse = {
37
- quoted_amount: 2000000000000000000n,
38
- };
39
- mockFetch.mockResolvedValueOnce({
40
- ok: true,
41
- json: () => Promise.resolve(mockResponse),
42
- });
43
- const result = await SolverApiService.getQuote(payload, mockConfig);
44
- expect(result.ok).toBe(true);
45
- if (result.ok) {
46
- expect(result.value.quoted_amount).toBe(2000000000000000000n);
47
- }
48
- expect(mockFetch).toHaveBeenCalledWith('https://api.example.com/quote', expect.objectContaining({
49
- method: 'POST',
50
- headers: {
51
- 'Content-Type': 'application/json',
52
- },
53
- body: JSON.stringify({
54
- token_src: getHubAssetInfo(payload.token_src_blockchain_id, payload.token_src)?.asset ?? '',
55
- token_dst: getHubAssetInfo(payload.token_dst_blockchain_id, payload.token_dst)?.asset ?? '',
56
- amount: payload.amount.toString(),
57
- quote_type: payload.quote_type,
58
- }),
59
- }));
60
- });
61
- it('should handle API error response', async () => {
62
- const mockError = {
63
- detail: {
64
- code: IntentErrorCode.NO_PATH_FOUND,
65
- message: 'No path found',
66
- },
67
- };
68
- mockFetch.mockResolvedValueOnce({
69
- ok: false,
70
- json: () => Promise.resolve(mockError),
71
- });
72
- const result = await SolverApiService.getQuote(payload, mockConfig);
73
- expect(result.ok).toBe(false);
74
- if (!result.ok) {
75
- expect(result.error).toEqual(mockError);
76
- }
77
- });
78
- it('should handle network errors', async () => {
79
- mockFetch.mockRejectedValueOnce(new Error('Network error'));
80
- const result = await SolverApiService.getQuote(payload, mockConfig);
81
- expect(result.ok).toBe(false);
82
- if (!result.ok) {
83
- expect(result.error.detail.code).toBe(IntentErrorCode.UNKNOWN);
84
- }
85
- });
86
- });
87
- describe('postExecution', () => {
88
- const validRequest = {
89
- intent_tx_hash: '0x1234567890123456789012345678901234567890123456789012345678901234',
90
- quote_uuid: 'a0dd7652-b360-4123-ab2d-78cfbcd20c6b',
91
- };
92
- it('should successfully execute intent', async () => {
93
- const mockResponse = {
94
- output: {
95
- answer: 'OK',
96
- task_id: 'a0dd7652-b360-4123-ab2d-78cfbcd20c6b',
97
- },
98
- };
99
- mockFetch.mockResolvedValueOnce({
100
- ok: true,
101
- json: () => Promise.resolve(mockResponse),
102
- });
103
- const result = await SolverApiService.postExecution(validRequest, mockConfig);
104
- expect(result.ok).toBe(true);
105
- if (result.ok) {
106
- expect(result.value).toEqual(mockResponse);
107
- }
108
- expect(mockFetch).toHaveBeenCalledWith('https://api.example.com/execute', expect.objectContaining({
109
- method: 'POST',
110
- headers: {
111
- 'Content-Type': 'application/json',
112
- },
113
- body: JSON.stringify(validRequest),
114
- }));
115
- });
116
- it('should handle API error response', async () => {
117
- const mockError = {
118
- detail: {
119
- code: IntentErrorCode.QUOTE_NOT_FOUND,
120
- message: 'Quote not found',
121
- },
122
- };
123
- mockFetch.mockResolvedValueOnce({
124
- ok: false,
125
- json: () => Promise.resolve(mockError),
126
- });
127
- const result = await SolverApiService.postExecution(validRequest, mockConfig);
128
- expect(result.ok).toBe(false);
129
- if (!result.ok) {
130
- expect(result.error).toEqual(mockError);
131
- }
132
- });
133
- });
134
- describe('getStatus', () => {
135
- const validRequest = {
136
- intent_tx_hash: '0x1234567890123456789012345678901234567890123456789012345678901234',
137
- };
138
- it('should successfully get status', async () => {
139
- const mockResponse = {
140
- status: 'completed',
141
- result: {
142
- transaction_hash: '0x123',
143
- },
144
- };
145
- mockFetch.mockResolvedValueOnce({
146
- ok: true,
147
- json: () => Promise.resolve(mockResponse),
148
- });
149
- const result = await SolverApiService.getStatus(validRequest, mockConfig);
150
- expect(result.ok).toBe(true);
151
- if (result.ok) {
152
- expect(result.value).toEqual(mockResponse);
153
- }
154
- expect(mockFetch).toHaveBeenCalledWith('https://api.example.com/status', expect.objectContaining({
155
- method: 'POST',
156
- headers: {
157
- 'Content-Type': 'application/json',
158
- },
159
- body: JSON.stringify(validRequest),
160
- }));
161
- });
162
- it('should handle API error response', async () => {
163
- const mockError = {
164
- detail: {
165
- code: IntentErrorCode.QUOTE_NOT_FOUND,
166
- message: 'Quote not found',
167
- },
168
- };
169
- mockFetch.mockResolvedValueOnce({
170
- ok: false,
171
- json: () => Promise.resolve(mockError),
172
- });
173
- const result = await SolverApiService.getStatus(validRequest, mockConfig);
174
- expect(result.ok).toBe(false);
175
- if (!result.ok) {
176
- expect(result.error).toEqual(mockError);
177
- }
178
- });
179
- });
180
- });
181
- //# sourceMappingURL=SolverApiService.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SolverApiService.test.js","sourceRoot":"","sources":["../../../src/services/solver/SolverApiService.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EACL,eAAe,EAEf,eAAe,GAKhB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAE/E,aAAa;AACb,MAAM,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;AAC1B,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC;AAEzB,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,UAAU,GAAiB;QAC/B,iBAAiB,EAAE,yBAAyB;QAC5C,eAAe,EAAE,4CAA4C;KAC9D,CAAC;IAEF,MAAM,WAAW,GAAG,4CAA4C,CAAC;IACjE,MAAM,mBAAmB,GAAG,eAAe,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAC;IAC/E,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IACD,MAAM,YAAY,GAAG,4CAA4C,CAAC;IAClE,MAAM,oBAAoB,GAAG,eAAe,CAAC,yBAAyB,EAAE,YAAY,CAAC,CAAC;IACtF,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IAED,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,MAAM,OAAO,GAAG;YACd,SAAS,EAAE,WAAW;YACtB,uBAAuB,EAAE,oBAAoB;YAC7C,SAAS,EAAE,YAAY;YACvB,uBAAuB,EAAE,yBAAyB;YAClD,MAAM,EAAE,oBAAoB;YAC5B,UAAU,EAAE,aAA0B;SACV,CAAC;QAE/B,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,YAAY,GAAG;gBACnB,aAAa,EAAE,oBAAoB;aACpC,CAAC;YAEF,SAAS,CAAC,qBAAqB,CAAC;gBAC9B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;aAC1C,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAEpE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAChE,CAAC;YAED,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,+BAA+B,EAC/B,MAAM,CAAC,gBAAgB,CAAC;gBACtB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,EAAE;oBAC3F,SAAS,EAAE,eAAe,CAAC,OAAO,CAAC,uBAAuB,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,KAAK,IAAI,EAAE;oBAC3F,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE;oBACjC,UAAU,EAAE,OAAO,CAAC,UAAU;iBAC/B,CAAC;aACH,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,SAAS,GAAG;gBAChB,MAAM,EAAE;oBACN,IAAI,EAAE,eAAe,CAAC,aAAa;oBACnC,OAAO,EAAE,eAAe;iBACzB;aACF,CAAC;YAEF,SAAS,CAAC,qBAAqB,CAAC;gBAC9B,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;aACvC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAEpE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,SAAS,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;YAE5D,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;YAEpE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YACjE,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,MAAM,YAAY,GAAG;YACnB,cAAc,EAAE,oEAA2E;YAC3F,UAAU,EAAE,sCAAsC;SACnD,CAAC;QAEF,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,YAAY,GAAG;gBACnB,MAAM,EAAE;oBACN,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,sCAAsC;iBAChD;aACF,CAAC;YAEF,SAAS,CAAC,qBAAqB,CAAC;gBAC9B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;aAC1C,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAE9E,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC7C,CAAC;YAED,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,iCAAiC,EACjC,MAAM,CAAC,gBAAgB,CAAC;gBACtB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;aACnC,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,SAAS,GAAG;gBAChB,MAAM,EAAE;oBACN,IAAI,EAAE,eAAe,CAAC,eAAe;oBACrC,OAAO,EAAE,iBAAiB;iBAC3B;aACF,CAAC;YAEF,SAAS,CAAC,qBAAqB,CAAC;gBAC9B,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;aACvC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAE9E,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,MAAM,YAAY,GAAG;YACnB,cAAc,EAAE,oEAA2E;SAC9D,CAAC;QAEhC,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC9C,MAAM,YAAY,GAAG;gBACnB,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE;oBACN,gBAAgB,EAAE,OAAO;iBAC1B;aACF,CAAC;YAEF,SAAS,CAAC,qBAAqB,CAAC;gBAC9B,EAAE,EAAE,IAAI;gBACR,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC;aAC1C,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAE1E,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;gBACd,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC7C,CAAC;YAED,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,gCAAgC,EAChC,MAAM,CAAC,gBAAgB,CAAC;gBACtB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;iBACnC;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;aACnC,CAAC,CACH,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,SAAS,GAAG;gBAChB,MAAM,EAAE;oBACN,IAAI,EAAE,eAAe,CAAC,eAAe;oBACrC,OAAO,EAAE,iBAAiB;iBAC3B;aACF,CAAC;YAEF,SAAS,CAAC,qBAAqB,CAAC;gBAC9B,EAAE,EAAE,KAAK;gBACT,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;aACvC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,SAAS,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;YAE1E,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,295 +0,0 @@
1
- import { type EvmHubProvider, type IntentRelayRequest, type PacketData, type RelayErrorCode, type SpokeProvider, type WaitUntilIntentExecutedPayload } from '../../index.js';
2
- import type { FeeAmount, HttpUrl, IntentErrorResponse, IntentExecutionRequest, IntentExecutionResponse, IntentQuoteRequest, IntentQuoteResponse, IntentRelayChainId, IntentStatusRequest, IntentStatusResponse, PartnerFee, Result, SolverConfigParams, TxReturnType } from '../../types.js';
3
- import { type SpokeChainId, type Address, type Hex, type EvmRawTransactionReceipt, type Hash } from '@sodax/types';
4
- export type CreateIntentParams = {
5
- inputToken: string;
6
- outputToken: string;
7
- inputAmount: bigint;
8
- minOutputAmount: bigint;
9
- deadline: bigint;
10
- allowPartialFill: boolean;
11
- srcChain: SpokeChainId;
12
- dstChain: SpokeChainId;
13
- srcAddress: Hex;
14
- dstAddress: Hex;
15
- solver: Address;
16
- data: Hex;
17
- };
18
- export type Intent = {
19
- intentId: bigint;
20
- creator: Address;
21
- inputToken: Address;
22
- outputToken: Address;
23
- inputAmount: bigint;
24
- minOutputAmount: bigint;
25
- deadline: bigint;
26
- allowPartialFill: boolean;
27
- srcChain: IntentRelayChainId;
28
- dstChain: IntentRelayChainId;
29
- srcAddress: Hex;
30
- dstAddress: Hex;
31
- solver: Address;
32
- data: Hex;
33
- };
34
- export declare enum IntentDataType {
35
- FEE = 1
36
- }
37
- export type FeeData = {
38
- fee: bigint;
39
- receiver: Address;
40
- };
41
- export type IntentData = {
42
- type: IntentDataType;
43
- data: Hex;
44
- };
45
- export type IntentState = {
46
- exists: boolean;
47
- remainingInput: bigint;
48
- receivedOutput: bigint;
49
- pendingPayment: boolean;
50
- };
51
- export type IntentCreationFailedErrorData = {
52
- payload: CreateIntentParams;
53
- error: unknown;
54
- };
55
- export type IntentSubmitTxFailedErrorData = {
56
- payload: IntentRelayRequest<'submit'>;
57
- apiUrl: HttpUrl;
58
- };
59
- export type IntentWaitUntilIntentExecutedFailedErrorData = {
60
- payload: WaitUntilIntentExecutedPayload;
61
- error: unknown;
62
- };
63
- export type IntentSubmitErrorCode = RelayErrorCode | 'UNKNOWN' | 'CREATION_FAILED';
64
- export type IntentSubmitErrorData<T extends IntentSubmitErrorCode> = T extends 'TIMEOUT' ? IntentWaitUntilIntentExecutedFailedErrorData : T extends 'CREATION_FAILED' ? IntentCreationFailedErrorData : T extends 'SUBMIT_TX_FAILED' ? IntentSubmitTxFailedErrorData : T extends 'POST_EXECUTION_FAILED' ? IntentErrorResponse : never;
65
- export type IntentSubmitError<T extends IntentSubmitErrorCode> = {
66
- code: T;
67
- data: IntentSubmitErrorData<T>;
68
- };
69
- export declare class SolverService {
70
- private readonly config;
71
- private readonly hubProvider;
72
- constructor(config: SolverConfigParams | undefined, hubProvider: EvmHubProvider, relayerApiEndpoint?: HttpUrl);
73
- /**
74
- * Request a quote from the solver API
75
- * @param {IntentQuoteRequest} payload - The intent quote request
76
- * @returns {Promise<Result<IntentQuoteResponse, IntentErrorResponse>>} The intent quote response
77
- *
78
- * @example
79
- * const payload = {
80
- * "token_src":"0x2170Ed0880ac9A755fd29B2688956BD959F933F8", // BSC ETH token address
81
- * "token_dst":"0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f", // ARB WBTC token address
82
- * "token_src_blockchain_id":"0x38.bsc",
83
- * "token_dst_blockchain_id":"0xa4b1.arbitrum",
84
- * "amount":1000000000000000n,
85
- * "quote_type": "exact_input"
86
- * } satisfies IntentQuoteRequest
87
- *
88
- * const response = await solverService.getQuote(payload);
89
- *
90
- * if (response.ok) {
91
- * const quotedAmount = response.value.quoted_amount;
92
- * console.log('Quoted amount:', quotedAmount);
93
- * } else {
94
- * console.error('Quote failed:', response.error);
95
- * }
96
- */
97
- getQuote(payload: IntentQuoteRequest): Promise<Result<IntentQuoteResponse, IntentErrorResponse>>;
98
- /**
99
- * Get the fee for a given input amount
100
- * @param {bigint} inputAmount - The amount of input tokens
101
- * @returns {Promise<bigint>} The fee amount (denominated in input tokens)
102
- *
103
- * @example
104
- * const fee: bigint = await solverService.getFee(1000000000000000n);
105
- * console.log('Fee:', fee);
106
- */
107
- getFee(inputAmount: bigint): Promise<bigint>;
108
- /**
109
- * Get the status of an intent from Solver API
110
- * @param {IntentStatusRequest} intentStatusRequest - The intent status request
111
- * @returns {Promise<Result<IntentStatusResponse, IntentErrorResponse>>} The intent status response
112
- *
113
- * @example
114
- * const intentStatusRequest = {
115
- * "intentHash": "a0dd7652-b360-4123-ab2d-78cfbcd20c6b"
116
- * } satisfies IntentStatusRequest
117
- *
118
- * const response = await solverService.getStatus(intentStatusRequest);
119
- *
120
- * if (response.ok) {
121
- * const { status, intent_hash } = response.value;
122
- * console.log('Status:', status);
123
- * console.log('Intent hash:', intent_hash);
124
- * } else {
125
- * // handle error
126
- * }
127
- */
128
- getStatus(intentStatusRequest: IntentStatusRequest): Promise<Result<IntentStatusResponse, IntentErrorResponse>>;
129
- /**
130
- * Post execution of intent order transaction executed on hub chain to Solver API
131
- * @param {IntentExecutionRequest} intentExecutionRequest - The intent execution request
132
- * @returns {Promise<Result<IntentExecutionResponse, IntentErrorResponse>>} The intent execution response
133
- *
134
- * @example
135
- * const intentExecutionRequest = {
136
- * "intent_tx_hash": "0xba3dce19347264db32ced212ff1a2036f20d9d2c7493d06af15027970be061af",
137
- * } satisfies IntentExecutionRequest
138
- *
139
- * const response = await solverService.postExecution(intentExecutionRequest);
140
- *
141
- * if (response.ok) {
142
- * const { answer, intent_hash } = response.value;
143
- * console.log('Answer:', answer);
144
- * console.log('Intent hash:', intent_hash);
145
- * } else {
146
- * // handle error
147
- * }
148
- */
149
- postExecution(intentExecutionRequest: IntentExecutionRequest): Promise<Result<IntentExecutionResponse, IntentErrorResponse>>;
150
- /**
151
- * Creates an intent and submits it to the Solver API and Relayer API
152
- * @param {CreateIntentParams} payload - The intent to create
153
- * @param {ISpokeProvider} spokeProvider - The spoke provider
154
- * @param {number} timeout - The timeout in milliseconds for the transaction. Default is 60 seconds.
155
- * @returns {Promise<Result<[IntentExecutionResponse, Intent, PacketData], IntentSubmitError<IntentSubmitErrorCode>>>} The intent execution response, intent, and packet data
156
- *
157
- * @example
158
- * const payload = {
159
- * "inputToken": "0x2170Ed0880ac9A755fd29B2688956BD959F933F8", // BSC ETH token address
160
- * "outputToken": "0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f", // ARB WBTC token address
161
- * "inputAmount": 1000000000000000n, // The amount of input tokens
162
- * "minOutputAmount": 900000000000000n, // min amount you are expecting to receive
163
- * "deadline": 0n, // Optional timestamp after which intent expires (0 = no deadline)
164
- * "allowPartialFill": false, // Whether the intent can be partially filled
165
- * "srcChain": "0x38.bsc", // Chain ID where input tokens originate
166
- * "dstChain": "0xa4b1.arbitrum", // Chain ID where output tokens should be delivered
167
- * "srcAddress": "0x..", // Source address in bytes (original address on spoke chain)
168
- * "dstAddress": "0x...", // Destination address in bytes (original address on spoke chain)
169
- * "solver": "0x..", // Optional specific solver address (address(0) = any solver)
170
- * "data": "0x..", // Additional arbitrary data
171
- * } satisfies CreateIntentParams;
172
- *
173
- * const createAndSubmitIntentResult = await solverService.createAndSubmitIntent(payload, spokeProvider);
174
- *
175
- * if (createAndSubmitIntentResult.ok) {
176
- * const [intentExecutionResponse, intent, packetData] = createAndSubmitIntentResult.value;
177
- * console.log('Intent execution response:', intentExecutionResponse);
178
- * console.log('Intent:', intent);
179
- * console.log('Packet data:', packetData);
180
- * } else {
181
- * // handle error
182
- * }
183
- */
184
- createAndSubmitIntent<S extends SpokeProvider>(payload: CreateIntentParams, spokeProvider: S, fee?: PartnerFee, timeout?: number): Promise<Result<[IntentExecutionResponse, Intent, PacketData], IntentSubmitError<IntentSubmitErrorCode>>>;
185
- /**
186
- * Check whether assetManager contract is allowed to move the given payload amount
187
- * @param {CreateIntentParams} params - The intent to create
188
- * @param {SpokeProvider} spokeProvider - The spoke provider
189
- * @return {Promise<Result<boolean>>} - valid = true, invalid = false
190
- *
191
- * @example
192
- * const payload = {
193
- * "inputToken": "0x2170Ed0880ac9A755fd29B2688956BD959F933F8", // BSC ETH token address
194
- * "outputToken": "0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f", // ARB WBTC token address
195
- * "inputAmount": 1000000000000000n, // The amount of input tokens
196
- * "minOutputAmount": 900000000000000n, // min amount you are expecting to receive
197
- * "deadline": 0n, // Optional timestamp after which intent expires (0 = no deadline)
198
- * "allowPartialFill": false, // Whether the intent can be partially filled
199
- * "srcChain": "0x38.bsc", // Chain ID where input tokens originate
200
- * "dstChain": "0xa4b1.arbitrum", // Chain ID where output tokens should be delivered
201
- * "srcAddress": "0x..", // Source address in bytes (original address on spoke chain)
202
- * "dstAddress": "0x...", // Destination address in bytes (original address on spoke chain)
203
- * "solver": "0x..", // Optional specific solver address (address(0) = any solver)
204
- * "data": "0x..", // Additional arbitrary data
205
- * } satisfies CreateIntentParams;
206
- *
207
- * const isAllowanceValid = await solverService.isAllowanceValid(payload, spokeProvider);
208
- *
209
- * if (!allowanceValid.ok) {
210
- * // Handle error
211
- * }
212
- *
213
- * if (!allowanceValid.value) {
214
- * // Need to approve
215
- * }
216
- */
217
- isAllowanceValid<S extends SpokeProvider>(params: CreateIntentParams, spokeProvider: S): Promise<Result<boolean>>;
218
- /**
219
- * Approve amount spending (currently required for EVM only)
220
- * @param token - ERC20 token address
221
- * @param amount - Amount to approve
222
- * @param spender - Spender address
223
- * @param spokeProvider - Spoke provider
224
- * @returns {Promise<Result<EvmRawTransactionReceipt>>} - Returns the transaction receipt
225
- *
226
- * @example
227
- * const approveResult = await approve(
228
- * '0x...', // ERC20 token address
229
- * 1000n, // Amount to approve (in token decimals)
230
- * '0x...', // Spender address (usually the asset manager contract: spokeProvider.chainConfig.addresses.assetManager)
231
- * spokeProvider
232
- * );
233
- *
234
- * if (!approveResult.ok) {
235
- * // Handle error
236
- * }
237
- *
238
- * const txReceipt = approveResult.value;
239
- */
240
- approve<S extends SpokeProvider>(token: Address, amount: bigint, address: Address, spokeProvider: S): Promise<Result<EvmRawTransactionReceipt>>;
241
- /**
242
- * Creates an intent by handling token approval and intent creation
243
- * NOTE: This method does not submit the intent to the Solver API
244
- * @param {CreateIntentParams} params - The intent to create
245
- * @param {SpokeProvider} spokeProvider - The spoke provider
246
- * @param {boolean} raw - Whether to return the raw transaction
247
- * @param {PartnerFee} fee - The fee to apply to the intent
248
- * @returns {Promise<Result<[TxReturnType<S, R>, Intent & FeeAmount], IntentSubmitError<'CREATION_FAILED'>>>} The encoded contract call
249
- *
250
- * @example
251
- * const payload = {
252
- * "inputToken": "0x2170Ed0880ac9A755fd29B2688956BD959F933F8", // BSC ETH token address
253
- * "outputToken": "0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f", // ARB WBTC token address
254
- * "inputAmount": 1000000000000000n, // The amount of input tokens
255
- * "minOutputAmount": 900000000000000n, // min amount you are expecting to receive
256
- * "deadline": 0n, // Optional timestamp after which intent expires (0 = no deadline)
257
- * "allowPartialFill": false, // Whether the intent can be partially filled
258
- * "srcChain": "0x38.bsc", // Chain ID where input tokens originate
259
- * "dstChain": "0xa4b1.arbitrum", // Chain ID where output tokens should be delivered
260
- * "srcAddress": "0x..", // Source address in bytes (original address on spoke chain)
261
- * "dstAddress": "0x...", // Destination address in bytes (original address on spoke chain)
262
- * "solver": "0x..", // Optional specific solver address (address(0) = any solver)
263
- * "data": "0x..", // Additional arbitrary data
264
- * } satisfies CreateIntentParams;
265
- *
266
- * const createIntentResult = await solverService.createIntent(payload, spokeProvider);
267
- *
268
- * if (createIntentResult.ok) {
269
- * const [txResult, intent] = createIntentResult.value;
270
- * console.log('Intent:', intent);
271
- *
272
- */
273
- createIntent<S extends SpokeProvider, R extends boolean = false>(params: CreateIntentParams, spokeProvider: S, fee?: PartnerFee, raw?: R): Promise<Result<[TxReturnType<S, R>, Intent & FeeAmount], IntentSubmitError<'CREATION_FAILED'>>>;
274
- /**
275
- * Cancels an intent
276
- * @param {Intent} intent - The intent to cancel
277
- * @param {ISpokeProvider} spokeProvider - The spoke provider
278
- * @param {boolean} raw - Whether to return the raw transaction
279
- * @returns {Promise<TxReturnType<T, R>>} The encoded contract call
280
- */
281
- cancelIntent<T extends SpokeProvider, R extends boolean = false>(intent: Intent, spokeProvider: T, raw?: R): Promise<TxReturnType<T, R>>;
282
- /**
283
- * Gets an intent from a transaction hash (on Hub chain)
284
- * @param {Hash} txHash - The transaction hash on Hub chain
285
- * @returns {Promise<Intent>} The intent
286
- */
287
- getIntent(txHash: Hash): Promise<Intent>;
288
- /**
289
- * Gets the keccak256 hash of an intent. Hash serves as the intent id on Hub chain.
290
- * @param {Intent} intent - The intent
291
- * @returns {Hex} The keccak256 hash of the intent
292
- */
293
- getIntentHash(intent: Intent): Hex;
294
- }
295
- //# sourceMappingURL=SolverService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SolverService.d.ts","sourceRoot":"","sources":["../../../src/services/solver/SolverService.ts"],"names":[],"mappings":"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"}