@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,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":""}