@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,125 +0,0 @@
1
- import { type Address, type GetLogsReturnType } from 'viem';
2
- import { type EvmContractCall, type EvmHubProvider, type Hash, type Hex, type PartnerFee, type SolverConfig } from '../../index.js';
3
- import { type CreateIntentParams, type Intent } from '../index.js';
4
- export declare const IntentCreatedEventAbi: {
5
- readonly type: "event";
6
- readonly name: "IntentCreated";
7
- readonly inputs: readonly [{
8
- readonly name: "intentHash";
9
- readonly type: "bytes32";
10
- readonly indexed: false;
11
- readonly internalType: "bytes32";
12
- }, {
13
- readonly name: "intent";
14
- readonly type: "tuple";
15
- readonly indexed: false;
16
- readonly internalType: "struct Intents.Intent";
17
- readonly components: readonly [{
18
- readonly name: "intentId";
19
- readonly type: "uint256";
20
- readonly internalType: "uint256";
21
- }, {
22
- readonly name: "creator";
23
- readonly type: "address";
24
- readonly internalType: "address";
25
- }, {
26
- readonly name: "inputToken";
27
- readonly type: "address";
28
- readonly internalType: "address";
29
- }, {
30
- readonly name: "outputToken";
31
- readonly type: "address";
32
- readonly internalType: "address";
33
- }, {
34
- readonly name: "inputAmount";
35
- readonly type: "uint256";
36
- readonly internalType: "uint256";
37
- }, {
38
- readonly name: "minOutputAmount";
39
- readonly type: "uint256";
40
- readonly internalType: "uint256";
41
- }, {
42
- readonly name: "deadline";
43
- readonly type: "uint256";
44
- readonly internalType: "uint256";
45
- }, {
46
- readonly name: "allowPartialFill";
47
- readonly type: "bool";
48
- readonly internalType: "bool";
49
- }, {
50
- readonly name: "srcChain";
51
- readonly type: "uint256";
52
- readonly internalType: "uint256";
53
- }, {
54
- readonly name: "dstChain";
55
- readonly type: "uint256";
56
- readonly internalType: "uint256";
57
- }, {
58
- readonly name: "srcAddress";
59
- readonly type: "bytes";
60
- readonly internalType: "bytes";
61
- }, {
62
- readonly name: "dstAddress";
63
- readonly type: "bytes";
64
- readonly internalType: "bytes";
65
- }, {
66
- readonly name: "solver";
67
- readonly type: "address";
68
- readonly internalType: "address";
69
- }, {
70
- readonly name: "data";
71
- readonly type: "bytes";
72
- readonly internalType: "bytes";
73
- }];
74
- }];
75
- readonly anonymous: false;
76
- };
77
- export type IntentCreatedEventLog = GetLogsReturnType<typeof IntentCreatedEventAbi>[number];
78
- export declare class EvmSolverService {
79
- private constructor();
80
- /**
81
- * Constructs the create intent data for EVM Hub chain
82
- * @param {CreateIntentParams} createIntentParams - The create intent parameters
83
- * @param {Address} creatorHubWalletAddress - The creator hub wallet address
84
- * @param {SolverConfig} solverConfig - The intent configuration
85
- * @param {PartnerFee} fee - The partner fee configuration
86
- * @returns {Promise<[Hex, Intent, bigint]>} The encoded contract call, intent and fee amount
87
- */
88
- static constructCreateIntentData(createIntentParams: CreateIntentParams, creatorHubWalletAddress: Address, solverConfig: SolverConfig, fee: PartnerFee | undefined): [Hex, Intent, bigint];
89
- /**
90
- * Creates encoded fee data for an intent
91
- * @param fee The partner fee configuration
92
- * @param inputAmount The input amount to calculate percentage-based fee from
93
- * @returns A tuple containing [encoded fee data, fee amount]. Fee amount will be 0n if no fee.
94
- */
95
- static createIntentFeeData(fee: PartnerFee | undefined, inputAmount: bigint): [Hex, bigint];
96
- /**
97
- * Gets an intent from a transaction hash
98
- * @param {Hash} txHash - The transaction hash
99
- * @param {SolverConfig} solverConfig - The solver configuration
100
- * @param {EvmHubProvider} hubProvider - The EVM hub provider
101
- * @returns {Promise<Intent>} The intent
102
- */
103
- static getIntent(txHash: Hash, solverConfig: SolverConfig, hubProvider: EvmHubProvider): Promise<Intent>;
104
- /**
105
- * Gets the keccak256 hash of an intent. Hash serves as the intent id on Hub chain.
106
- * @param {Intent} intent - The intent
107
- * @returns {Hex} The keccak256 hash of the intent
108
- */
109
- static getIntentHash(intent: Intent): Hex;
110
- /**
111
- * Encodes a createIntent transaction
112
- * @param {Intent} intent - The intent to create
113
- * @param {Address} intentsContract - The address of the intents contract
114
- * @returns {EvmContractCall} The encoded contract call
115
- */
116
- static encodeCreateIntent(intent: Intent, intentsContract: Address): EvmContractCall;
117
- /**
118
- * Encodes a cancelIntent transaction
119
- * @param {Intent} intent - The intent to cancel
120
- * @param {Address} intentsContract - The address of the intents contract
121
- * @returns {EvmContractCall} The encoded contract call
122
- */
123
- static encodeCancelIntent(intent: Intent, intentsContract: Address): EvmContractCall;
124
- }
125
- //# sourceMappingURL=EvmSolverService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EvmSolverService.d.ts","sourceRoot":"","sources":["../../../src/services/solver/EvmSolverService.ts"],"names":[],"mappings":"AACA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,iBAAiB,EAOvB,MAAM,MAAM,CAAC;AACd,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,cAAc,EAEnB,KAAK,IAAI,EACT,KAAK,GAAG,EAER,KAAK,UAAU,EACf,KAAK,YAAY,EASlB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,KAAK,kBAAkB,EAGvB,KAAK,MAAM,EAGZ,MAAM,aAAa,CAAC;AAErB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAyD,CAAC;AAC5F,MAAM,MAAM,qBAAqB,GAAG,iBAAiB,CAAC,OAAO,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5F,qBAAa,gBAAgB;IAC3B,OAAO;IAEP;;;;;;;OAOG;WACW,yBAAyB,CACrC,kBAAkB,EAAE,kBAAkB,EACtC,uBAAuB,EAAE,OAAO,EAChC,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,UAAU,GAAG,SAAS,GAC1B,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC;IAmCxB;;;;;OAKG;WACW,mBAAmB,CAAC,GAAG,EAAE,UAAU,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC;IA6ClG;;;;;;OAMG;WACiB,SAAS,CAC3B,MAAM,EAAE,IAAI,EACZ,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,cAAc,GAC1B,OAAO,CAAC,MAAM,CAAC;IAyClB;;;;OAIG;WACW,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG;IAIhD;;;;;OAKG;WACW,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,GAAG,eAAe;IAY3F;;;;;OAKG;WACW,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,OAAO,GAAG,eAAe;CAW5F"}
@@ -1,166 +0,0 @@
1
- import invariant from 'tiny-invariant';
2
- import { encodeAbiParameters, encodeFunctionData, encodePacked, getAbiItem, keccak256, parseEventLogs, } from 'viem';
3
- import { FEE_PERCENTAGE_SCALE, IntentsAbi, calculatePercentageFeeAmount, encodeContractCalls, getHubAssetInfo, getIntentRelayChainId, isIntentRelayChainId, isPartnerFeeAmount, isPartnerFeePercentage, randomUint256, } from '../../index.js';
4
- import { Erc20Service, IntentDataType, } from '../index.js';
5
- export const IntentCreatedEventAbi = getAbiItem({ abi: IntentsAbi, name: 'IntentCreated' });
6
- export class EvmSolverService {
7
- constructor() { }
8
- /**
9
- * Constructs the create intent data for EVM Hub chain
10
- * @param {CreateIntentParams} createIntentParams - The create intent parameters
11
- * @param {Address} creatorHubWalletAddress - The creator hub wallet address
12
- * @param {SolverConfig} solverConfig - The intent configuration
13
- * @param {PartnerFee} fee - The partner fee configuration
14
- * @returns {Promise<[Hex, Intent, bigint]>} The encoded contract call, intent and fee amount
15
- */
16
- static constructCreateIntentData(createIntentParams, creatorHubWalletAddress, solverConfig, fee) {
17
- const inputToken = getHubAssetInfo(createIntentParams.srcChain, createIntentParams.inputToken)?.asset;
18
- const outputToken = getHubAssetInfo(createIntentParams.dstChain, createIntentParams.outputToken)?.asset;
19
- invariant(inputToken, `hub asset not found for spoke chain token (intent.inputToken): ${createIntentParams.inputToken}`);
20
- invariant(outputToken, `hub asset not found for spoke chain token (intent.outputToken): ${createIntentParams.outputToken}`);
21
- const [feeData, feeAmount] = EvmSolverService.createIntentFeeData(fee, createIntentParams.inputAmount);
22
- const calls = [];
23
- const intentsContract = solverConfig.intentsContract;
24
- const intent = {
25
- ...createIntentParams,
26
- inputToken,
27
- outputToken,
28
- srcChain: getIntentRelayChainId(createIntentParams.srcChain),
29
- dstChain: getIntentRelayChainId(createIntentParams.dstChain),
30
- intentId: randomUint256(),
31
- creator: creatorHubWalletAddress,
32
- data: feeData,
33
- };
34
- // user has to send input amount + fee amount to the Hub intent contract
35
- const totalInputAmount = intent.inputAmount + feeAmount;
36
- calls.push(Erc20Service.encodeApprove(intent.inputToken, intentsContract, totalInputAmount));
37
- calls.push(EvmSolverService.encodeCreateIntent(intent, intentsContract));
38
- return [encodeContractCalls(calls), intent, feeAmount];
39
- }
40
- /**
41
- * Creates encoded fee data for an intent
42
- * @param fee The partner fee configuration
43
- * @param inputAmount The input amount to calculate percentage-based fee from
44
- * @returns A tuple containing [encoded fee data, fee amount]. Fee amount will be 0n if no fee.
45
- */
46
- static createIntentFeeData(fee, inputAmount) {
47
- invariant(inputAmount > 0n, 'Input amount must be greater than 0');
48
- if (!fee) {
49
- return ['0x', 0n];
50
- }
51
- let feeAmount;
52
- if (isPartnerFeeAmount(fee)) {
53
- feeAmount = fee.amount;
54
- }
55
- else if (isPartnerFeePercentage(fee)) {
56
- invariant(fee.percentage >= 0 && fee.percentage <= FEE_PERCENTAGE_SCALE, `Fee percentage must be between 0 and ${FEE_PERCENTAGE_SCALE}}`);
57
- feeAmount = calculatePercentageFeeAmount(inputAmount, fee.percentage);
58
- }
59
- else {
60
- return ['0x', 0n];
61
- }
62
- // Create the fee data struct
63
- const feeData = {
64
- fee: feeAmount,
65
- receiver: fee.address,
66
- };
67
- // Encode the fee data
68
- const encodedFeeData = encodeAbiParameters([
69
- { name: 'fee', type: 'uint256' },
70
- { name: 'receiver', type: 'address' },
71
- ], [feeData.fee, feeData.receiver]);
72
- // Create the intent data struct
73
- const intentData = {
74
- type: IntentDataType.FEE,
75
- data: encodedFeeData,
76
- };
77
- // Encode the intent data
78
- return [encodePacked(['uint8', 'bytes'], [intentData.type, intentData.data]), feeAmount];
79
- }
80
- /**
81
- * Gets an intent from a transaction hash
82
- * @param {Hash} txHash - The transaction hash
83
- * @param {SolverConfig} solverConfig - The solver configuration
84
- * @param {EvmHubProvider} hubProvider - The EVM hub provider
85
- * @returns {Promise<Intent>} The intent
86
- */
87
- static async getIntent(txHash, solverConfig, hubProvider) {
88
- const receipt = await hubProvider.publicClient.waitForTransactionReceipt({ hash: txHash });
89
- const logs = parseEventLogs({
90
- abi: IntentsAbi,
91
- eventName: 'IntentCreated',
92
- logs: receipt.logs,
93
- strict: true,
94
- });
95
- for (const log of logs) {
96
- if (log.address.toLowerCase() === solverConfig.intentsContract.toLowerCase()) {
97
- if (!log.args.intent) {
98
- continue;
99
- }
100
- if (!isIntentRelayChainId(log.args.intent.srcChain) || !isIntentRelayChainId(log.args.intent.dstChain)) {
101
- throw new Error(`Invalid intent relay chain id: ${log.args.intent.srcChain} or ${log.args.intent.dstChain}`);
102
- }
103
- return {
104
- intentId: log.args.intent.intentId,
105
- creator: log.args.intent.creator,
106
- inputToken: log.args.intent.inputToken,
107
- outputToken: log.args.intent.outputToken,
108
- inputAmount: log.args.intent.inputAmount,
109
- minOutputAmount: log.args.intent.minOutputAmount,
110
- deadline: log.args.intent.deadline,
111
- data: log.args.intent.data,
112
- allowPartialFill: log.args.intent.allowPartialFill,
113
- srcChain: log.args.intent.srcChain,
114
- dstChain: log.args.intent.dstChain,
115
- srcAddress: log.args.intent.srcAddress,
116
- dstAddress: log.args.intent.dstAddress,
117
- solver: log.args.intent.solver,
118
- };
119
- }
120
- }
121
- throw new Error(`No intent found for ${txHash}`);
122
- }
123
- /**
124
- * Gets the keccak256 hash of an intent. Hash serves as the intent id on Hub chain.
125
- * @param {Intent} intent - The intent
126
- * @returns {Hex} The keccak256 hash of the intent
127
- */
128
- static getIntentHash(intent) {
129
- return keccak256(encodeAbiParameters(getAbiItem({ abi: IntentsAbi, name: 'createIntent' }).inputs, [intent]));
130
- }
131
- /**
132
- * Encodes a createIntent transaction
133
- * @param {Intent} intent - The intent to create
134
- * @param {Address} intentsContract - The address of the intents contract
135
- * @returns {EvmContractCall} The encoded contract call
136
- */
137
- static encodeCreateIntent(intent, intentsContract) {
138
- return {
139
- address: intentsContract,
140
- value: 0n,
141
- data: encodeFunctionData({
142
- abi: IntentsAbi,
143
- functionName: 'createIntent',
144
- args: [intent],
145
- }),
146
- };
147
- }
148
- /**
149
- * Encodes a cancelIntent transaction
150
- * @param {Intent} intent - The intent to cancel
151
- * @param {Address} intentsContract - The address of the intents contract
152
- * @returns {EvmContractCall} The encoded contract call
153
- */
154
- static encodeCancelIntent(intent, intentsContract) {
155
- return {
156
- address: intentsContract,
157
- value: 0n,
158
- data: encodeFunctionData({
159
- abi: IntentsAbi,
160
- functionName: 'cancelIntent',
161
- args: [intent],
162
- }),
163
- };
164
- }
165
- }
166
- //# sourceMappingURL=EvmSolverService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EvmSolverService.js","sourceRoot":"","sources":["../../../src/services/solver/EvmSolverService.ts"],"names":[],"mappings":"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"}
@@ -1,40 +0,0 @@
1
- import { type IntentErrorResponse, type IntentExecutionRequest, type IntentExecutionResponse, type IntentQuoteRequest, type IntentQuoteResponse, type IntentStatusRequest, type IntentStatusResponse, type Result, type SolverConfig } from '../../index.js';
2
- export declare class SolverApiService {
3
- private constructor();
4
- /**
5
- * Request a quote from the solver API
6
- * @example
7
- * {
8
- * "token_src":"0x13b70564b1ec12876b20fab5d1bb630311312f4f", // Asset BSC
9
- * "token_dst":"0xdcd9578b51ef55239b6e68629d822a8d97c95b86", // Asset ETH Arbitrum
10
- * "token_src_blockchain_id":"56",
11
- * "token_dst_blockchain_id":"42161",
12
- * "amount":1000000000000000n,
13
- * "quote_type": "exact_input"
14
- * }
15
- */
16
- static getQuote(payload: IntentQuoteRequest, config: SolverConfig): Promise<Result<IntentQuoteResponse, IntentErrorResponse>>;
17
- /**
18
- * Post execution of intent order to Solver API
19
- * @example
20
- * // request
21
- * {
22
- * "intent_tx_hash": "0xba3dce19347264db32ced212ff1a2036f20d9d2c7493d06af15027970be061af",
23
- * "quote_uuid": "a0dd7652-b360-4123-ab2d-78cfbcd20c6b"
24
- * }
25
- *
26
- * // response
27
- * {
28
- * "ok": true,
29
- * "value": {
30
- * "output": {
31
- * "answer":"OK",
32
- * "task_id":"a0dd7652-b360-4123-ab2d-78cfbcd20c6b"
33
- * }
34
- * }
35
- * }
36
- */
37
- static postExecution(intentExecutionRequest: IntentExecutionRequest, config: SolverConfig): Promise<Result<IntentExecutionResponse, IntentErrorResponse>>;
38
- static getStatus(intentStatusRequest: IntentStatusRequest, config: SolverConfig): Promise<Result<IntentStatusResponse, IntentErrorResponse>>;
39
- }
40
- //# sourceMappingURL=SolverApiService.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SolverApiService.d.ts","sourceRoot":"","sources":["../../../src/services/solver/SolverApiService.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EAExB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,MAAM,EACX,KAAK,YAAY,EAClB,MAAM,gBAAgB,CAAC;AAExB,qBAAa,gBAAgB;IAC3B,OAAO;IAEP;;;;;;;;;;;OAWG;WACiB,QAAQ,CAC1B,OAAO,EAAE,kBAAkB,EAC3B,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;IAgE5D;;;;;;;;;;;;;;;;;;;OAmBG;WACiB,aAAa,CAC/B,sBAAsB,EAAE,sBAAsB,EAC9C,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,CAAC;WAqC5C,SAAS,CAC3B,mBAAmB,EAAE,mBAAmB,EACxC,MAAM,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,oBAAoB,EAAE,mBAAmB,CAAC,CAAC;CAmC9D"}
@@ -1,157 +0,0 @@
1
- import invariant from 'tiny-invariant';
2
- import { getHubAssetInfo, IntentErrorCode, isValidOriginalAssetAddress, retry, } from '../../index.js';
3
- export class SolverApiService {
4
- constructor() { }
5
- /**
6
- * Request a quote from the solver API
7
- * @example
8
- * {
9
- * "token_src":"0x13b70564b1ec12876b20fab5d1bb630311312f4f", // Asset BSC
10
- * "token_dst":"0xdcd9578b51ef55239b6e68629d822a8d97c95b86", // Asset ETH Arbitrum
11
- * "token_src_blockchain_id":"56",
12
- * "token_dst_blockchain_id":"42161",
13
- * "amount":1000000000000000n,
14
- * "quote_type": "exact_input"
15
- * }
16
- */
17
- static async getQuote(payload, config) {
18
- invariant(payload.token_src.length > 0, 'Empty token_src');
19
- invariant(payload.token_src_blockchain_id.length > 0, 'Empty token_src_blockchain_id');
20
- invariant(payload.token_dst.length > 0, 'Empty token_dst');
21
- invariant(payload.token_dst_blockchain_id.length > 0, 'Empty token_dst_blockchain_id');
22
- invariant(payload.amount > 0n, 'amount must be greater than 0');
23
- invariant(isValidOriginalAssetAddress(payload.token_src_blockchain_id, payload.token_src), 'unsupported token_src for src chain');
24
- invariant(isValidOriginalAssetAddress(payload.token_dst_blockchain_id, payload.token_dst), 'unsupported token_dst for dst chain');
25
- const tokenSrc = getHubAssetInfo(payload.token_src_blockchain_id, payload.token_src)?.asset;
26
- const tokenDst = getHubAssetInfo(payload.token_dst_blockchain_id, payload.token_dst)?.asset;
27
- invariant(tokenSrc, 'hub asset not found for token_src');
28
- invariant(tokenDst, 'hub asset not found for token_dst');
29
- try {
30
- const response = await fetch(`${config.solverApiEndpoint}/quote`, {
31
- method: 'POST',
32
- headers: {
33
- 'Content-Type': 'application/json',
34
- },
35
- body: JSON.stringify({
36
- token_src: tokenSrc,
37
- token_dst: tokenDst,
38
- amount: payload.amount.toString(),
39
- quote_type: payload.quote_type,
40
- }),
41
- });
42
- if (!response.ok) {
43
- return {
44
- ok: false,
45
- error: await response.json(),
46
- };
47
- }
48
- const quoteResponse = await response.json();
49
- return {
50
- ok: true,
51
- value: {
52
- quoted_amount: BigInt(quoteResponse.quoted_amount),
53
- },
54
- };
55
- }
56
- catch (e) {
57
- console.error(`[SolverApiService.getQuote] failed. Details: ${JSON.stringify(e)}`);
58
- return {
59
- ok: false,
60
- error: {
61
- detail: {
62
- code: IntentErrorCode.UNKNOWN,
63
- message: e ? JSON.stringify(e) : 'Unknown error',
64
- },
65
- },
66
- };
67
- }
68
- }
69
- /**
70
- * Post execution of intent order to Solver API
71
- * @example
72
- * // request
73
- * {
74
- * "intent_tx_hash": "0xba3dce19347264db32ced212ff1a2036f20d9d2c7493d06af15027970be061af",
75
- * "quote_uuid": "a0dd7652-b360-4123-ab2d-78cfbcd20c6b"
76
- * }
77
- *
78
- * // response
79
- * {
80
- * "ok": true,
81
- * "value": {
82
- * "output": {
83
- * "answer":"OK",
84
- * "task_id":"a0dd7652-b360-4123-ab2d-78cfbcd20c6b"
85
- * }
86
- * }
87
- * }
88
- */
89
- static async postExecution(intentExecutionRequest, config) {
90
- try {
91
- const response = await retry(() => fetch(`${config.solverApiEndpoint}/execute`, {
92
- method: 'POST',
93
- headers: {
94
- 'Content-Type': 'application/json',
95
- },
96
- body: JSON.stringify(intentExecutionRequest),
97
- }));
98
- if (!response.ok) {
99
- return {
100
- ok: false,
101
- error: await response.json(),
102
- };
103
- }
104
- return {
105
- ok: true,
106
- value: await response.json(),
107
- };
108
- }
109
- catch (e) {
110
- console.error(`[SolverApiService.postExecution] failed. Details: ${JSON.stringify(e)}`);
111
- return {
112
- ok: false,
113
- error: {
114
- detail: {
115
- code: IntentErrorCode.UNKNOWN,
116
- message: e ? JSON.stringify(e) : 'Unknown error',
117
- },
118
- },
119
- };
120
- }
121
- }
122
- static async getStatus(intentStatusRequest, config) {
123
- invariant(intentStatusRequest.intent_tx_hash.length > 0, 'Empty intent_tx_hash');
124
- try {
125
- const response = await fetch(`${config.solverApiEndpoint}/status`, {
126
- method: 'POST',
127
- headers: {
128
- 'Content-Type': 'application/json',
129
- },
130
- body: JSON.stringify(intentStatusRequest),
131
- });
132
- if (!response.ok) {
133
- return {
134
- ok: false,
135
- error: await response.json(),
136
- };
137
- }
138
- return {
139
- ok: true,
140
- value: await response.json(),
141
- };
142
- }
143
- catch (e) {
144
- console.error(`[SolverApiService.getStatus] failed. Details: ${JSON.stringify(e)}`);
145
- return {
146
- ok: false,
147
- error: {
148
- detail: {
149
- code: IntentErrorCode.UNKNOWN,
150
- message: e ? JSON.stringify(e) : 'Unknown error',
151
- },
152
- },
153
- };
154
- }
155
- }
156
- }
157
- //# sourceMappingURL=SolverApiService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SolverApiService.js","sourceRoot":"","sources":["../../../src/services/solver/SolverApiService.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=SolverApiService.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SolverApiService.test.d.ts","sourceRoot":"","sources":["../../../src/services/solver/SolverApiService.test.ts"],"names":[],"mappings":""}