@sodax/sdk 0.0.1-rc.1 → 0.0.1-rc.10

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 (315) hide show
  1. package/README.md +81 -6
  2. package/dist/index.cjs +11122 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.cts +6815 -0
  5. package/dist/index.d.ts +6815 -10
  6. package/dist/index.mjs +10966 -0
  7. package/dist/index.mjs.map +1 -0
  8. package/package.json +21 -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 -565
  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 -128
  56. package/dist/constants.test.js.map +0 -1
  57. package/dist/entities/Providers.d.ts +0 -61
  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 -376
  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 -91
  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 -8
  90. package/dist/entities/icon/IconSpokeProvider.d.ts.map +0 -1
  91. package/dist/entities/icon/IconSpokeProvider.js +0 -9
  92. package/dist/entities/icon/IconSpokeProvider.js.map +0 -1
  93. package/dist/entities/icon/IconWalletProvider.d.ts +0 -12
  94. package/dist/entities/icon/IconWalletProvider.d.ts.map +0 -1
  95. package/dist/entities/icon/IconWalletProvider.js +0 -34
  96. package/dist/entities/icon/IconWalletProvider.js.map +0 -1
  97. package/dist/entities/icon/index.d.ts +0 -5
  98. package/dist/entities/icon/index.d.ts.map +0 -1
  99. package/dist/entities/icon/index.js +0 -5
  100. package/dist/entities/icon/index.js.map +0 -1
  101. package/dist/entities/icon/utils.d.ts +0 -3
  102. package/dist/entities/icon/utils.d.ts.map +0 -1
  103. package/dist/entities/icon/utils.js +0 -4
  104. package/dist/entities/icon/utils.js.map +0 -1
  105. package/dist/entities/index.d.ts +0 -8
  106. package/dist/entities/index.d.ts.map +0 -1
  107. package/dist/entities/index.js +0 -8
  108. package/dist/entities/index.js.map +0 -1
  109. package/dist/entities/solana/Configs.d.ts +0 -10
  110. package/dist/entities/solana/Configs.d.ts.map +0 -1
  111. package/dist/entities/solana/Configs.js +0 -50
  112. package/dist/entities/solana/Configs.js.map +0 -1
  113. package/dist/entities/solana/SolanaSpokeProvider.d.ts +0 -9
  114. package/dist/entities/solana/SolanaSpokeProvider.d.ts.map +0 -1
  115. package/dist/entities/solana/SolanaSpokeProvider.js +0 -9
  116. package/dist/entities/solana/SolanaSpokeProvider.js.map +0 -1
  117. package/dist/entities/solana/SolanaWalletProvider.d.ts +0 -20
  118. package/dist/entities/solana/SolanaWalletProvider.d.ts.map +0 -1
  119. package/dist/entities/solana/SolanaWalletProvider.js +0 -53
  120. package/dist/entities/solana/SolanaWalletProvider.js.map +0 -1
  121. package/dist/entities/solana/index.d.ts +0 -4
  122. package/dist/entities/solana/index.d.ts.map +0 -1
  123. package/dist/entities/solana/index.js +0 -4
  124. package/dist/entities/solana/index.js.map +0 -1
  125. package/dist/entities/solana/pda/pda.d.ts +0 -45
  126. package/dist/entities/solana/pda/pda.d.ts.map +0 -1
  127. package/dist/entities/solana/pda/pda.js +0 -44
  128. package/dist/entities/solana/pda/pda.js.map +0 -1
  129. package/dist/entities/solana/types/asset_manager.d.ts +0 -919
  130. package/dist/entities/solana/types/asset_manager.d.ts.map +0 -1
  131. package/dist/entities/solana/types/asset_manager.js +0 -2
  132. package/dist/entities/solana/types/asset_manager.js.map +0 -1
  133. package/dist/entities/solana/types/connection.d.ts +0 -446
  134. package/dist/entities/solana/types/connection.d.ts.map +0 -1
  135. package/dist/entities/solana/types/connection.js +0 -2
  136. package/dist/entities/solana/types/connection.js.map +0 -1
  137. package/dist/entities/solana/types/rate_limit_contract.d.ts +0 -348
  138. package/dist/entities/solana/types/rate_limit_contract.d.ts.map +0 -1
  139. package/dist/entities/solana/types/rate_limit_contract.js +0 -2
  140. package/dist/entities/solana/types/rate_limit_contract.js.map +0 -1
  141. package/dist/entities/solana/utils/utils.d.ts +0 -6
  142. package/dist/entities/solana/utils/utils.d.ts.map +0 -1
  143. package/dist/entities/solana/utils/utils.js +0 -17
  144. package/dist/entities/solana/utils/utils.js.map +0 -1
  145. package/dist/entities/stellar/StellarSpokeProvider.d.ts +0 -24
  146. package/dist/entities/stellar/StellarSpokeProvider.d.ts.map +0 -1
  147. package/dist/entities/stellar/StellarSpokeProvider.js +0 -129
  148. package/dist/entities/stellar/StellarSpokeProvider.js.map +0 -1
  149. package/dist/entities/sui/SuiSpokeProvider.d.ts +0 -34
  150. package/dist/entities/sui/SuiSpokeProvider.d.ts.map +0 -1
  151. package/dist/entities/sui/SuiSpokeProvider.js +0 -143
  152. package/dist/entities/sui/SuiSpokeProvider.js.map +0 -1
  153. package/dist/entities/sui/SuiWalletProvider.d.ts +0 -15
  154. package/dist/entities/sui/SuiWalletProvider.d.ts.map +0 -1
  155. package/dist/entities/sui/SuiWalletProvider.js +0 -43
  156. package/dist/entities/sui/SuiWalletProvider.js.map +0 -1
  157. package/dist/errors.d.ts +0 -2
  158. package/dist/errors.d.ts.map +0 -1
  159. package/dist/errors.js +0 -2
  160. package/dist/errors.js.map +0 -1
  161. package/dist/guards.d.ts +0 -25
  162. package/dist/guards.d.ts.map +0 -1
  163. package/dist/guards.js +0 -110
  164. package/dist/guards.js.map +0 -1
  165. package/dist/index.d.ts.map +0 -1
  166. package/dist/index.js +0 -10
  167. package/dist/index.js.map +0 -1
  168. package/dist/interfaces.d.ts +0 -8
  169. package/dist/interfaces.d.ts.map +0 -1
  170. package/dist/interfaces.js +0 -2
  171. package/dist/interfaces.js.map +0 -1
  172. package/dist/services/hub/EvmAssetManagerService.d.ts +0 -60
  173. package/dist/services/hub/EvmAssetManagerService.d.ts.map +0 -1
  174. package/dist/services/hub/EvmAssetManagerService.js +0 -103
  175. package/dist/services/hub/EvmAssetManagerService.js.map +0 -1
  176. package/dist/services/hub/EvmVaultTokenService.d.ts +0 -81
  177. package/dist/services/hub/EvmVaultTokenService.d.ts.map +0 -1
  178. package/dist/services/hub/EvmVaultTokenService.js +0 -159
  179. package/dist/services/hub/EvmVaultTokenService.js.map +0 -1
  180. package/dist/services/hub/EvmWalletAbstraction.d.ts +0 -8
  181. package/dist/services/hub/EvmWalletAbstraction.d.ts.map +0 -1
  182. package/dist/services/hub/EvmWalletAbstraction.js +0 -14
  183. package/dist/services/hub/EvmWalletAbstraction.js.map +0 -1
  184. package/dist/services/hub/index.d.ts +0 -4
  185. package/dist/services/hub/index.d.ts.map +0 -1
  186. package/dist/services/hub/index.js +0 -4
  187. package/dist/services/hub/index.js.map +0 -1
  188. package/dist/services/index.d.ts +0 -7
  189. package/dist/services/index.d.ts.map +0 -1
  190. package/dist/services/index.js +0 -7
  191. package/dist/services/index.js.map +0 -1
  192. package/dist/services/intentRelay/IntentRelayApiService.d.ts +0 -111
  193. package/dist/services/intentRelay/IntentRelayApiService.d.ts.map +0 -1
  194. package/dist/services/intentRelay/IntentRelayApiService.js +0 -160
  195. package/dist/services/intentRelay/IntentRelayApiService.js.map +0 -1
  196. package/dist/services/intentRelay/IntentRelayApiService.test.d.ts +0 -2
  197. package/dist/services/intentRelay/IntentRelayApiService.test.d.ts.map +0 -1
  198. package/dist/services/intentRelay/IntentRelayApiService.test.js +0 -134
  199. package/dist/services/intentRelay/IntentRelayApiService.test.js.map +0 -1
  200. package/dist/services/intentRelay/index.d.ts +0 -2
  201. package/dist/services/intentRelay/index.d.ts.map +0 -1
  202. package/dist/services/intentRelay/index.js +0 -2
  203. package/dist/services/intentRelay/index.js.map +0 -1
  204. package/dist/services/moneyMarket/MoneyMarketService.d.ts +0 -321
  205. package/dist/services/moneyMarket/MoneyMarketService.d.ts.map +0 -1
  206. package/dist/services/moneyMarket/MoneyMarketService.js +0 -604
  207. package/dist/services/moneyMarket/MoneyMarketService.js.map +0 -1
  208. package/dist/services/moneyMarket/MoneyMarketService.test.d.ts +0 -2
  209. package/dist/services/moneyMarket/MoneyMarketService.test.d.ts.map +0 -1
  210. package/dist/services/moneyMarket/MoneyMarketService.test.js +0 -245
  211. package/dist/services/moneyMarket/MoneyMarketService.test.js.map +0 -1
  212. package/dist/services/moneyMarket/index.d.ts +0 -2
  213. package/dist/services/moneyMarket/index.d.ts.map +0 -1
  214. package/dist/services/moneyMarket/index.js +0 -2
  215. package/dist/services/moneyMarket/index.js.map +0 -1
  216. package/dist/services/shared/Erc20Service.d.ts +0 -41
  217. package/dist/services/shared/Erc20Service.d.ts.map +0 -1
  218. package/dist/services/shared/Erc20Service.js +0 -107
  219. package/dist/services/shared/Erc20Service.js.map +0 -1
  220. package/dist/services/shared/index.d.ts +0 -2
  221. package/dist/services/shared/index.d.ts.map +0 -1
  222. package/dist/services/shared/index.js +0 -2
  223. package/dist/services/shared/index.js.map +0 -1
  224. package/dist/services/solver/EvmSolverService.d.ts +0 -125
  225. package/dist/services/solver/EvmSolverService.d.ts.map +0 -1
  226. package/dist/services/solver/EvmSolverService.js +0 -166
  227. package/dist/services/solver/EvmSolverService.js.map +0 -1
  228. package/dist/services/solver/SolverApiService.d.ts +0 -40
  229. package/dist/services/solver/SolverApiService.d.ts.map +0 -1
  230. package/dist/services/solver/SolverApiService.js +0 -157
  231. package/dist/services/solver/SolverApiService.js.map +0 -1
  232. package/dist/services/solver/SolverApiService.test.d.ts +0 -2
  233. package/dist/services/solver/SolverApiService.test.d.ts.map +0 -1
  234. package/dist/services/solver/SolverApiService.test.js +0 -180
  235. package/dist/services/solver/SolverApiService.test.js.map +0 -1
  236. package/dist/services/solver/SolverService.d.ts +0 -194
  237. package/dist/services/solver/SolverService.d.ts.map +0 -1
  238. package/dist/services/solver/SolverService.js +0 -324
  239. package/dist/services/solver/SolverService.js.map +0 -1
  240. package/dist/services/solver/SolverService.test.d.ts +0 -2
  241. package/dist/services/solver/SolverService.test.d.ts.map +0 -1
  242. package/dist/services/solver/SolverService.test.js +0 -493
  243. package/dist/services/solver/SolverService.test.js.map +0 -1
  244. package/dist/services/solver/index.d.ts +0 -3
  245. package/dist/services/solver/index.d.ts.map +0 -1
  246. package/dist/services/solver/index.js +0 -3
  247. package/dist/services/solver/index.js.map +0 -1
  248. package/dist/services/spoke/CWSpokeService.d.ts +0 -67
  249. package/dist/services/spoke/CWSpokeService.d.ts.map +0 -1
  250. package/dist/services/spoke/CWSpokeService.js +0 -75
  251. package/dist/services/spoke/CWSpokeService.js.map +0 -1
  252. package/dist/services/spoke/EvmSpokeService.d.ts +0 -61
  253. package/dist/services/spoke/EvmSpokeService.d.ts.map +0 -1
  254. package/dist/services/spoke/EvmSpokeService.js +0 -118
  255. package/dist/services/spoke/EvmSpokeService.js.map +0 -1
  256. package/dist/services/spoke/IconSpokeService.d.ts +0 -55
  257. package/dist/services/spoke/IconSpokeService.d.ts.map +0 -1
  258. package/dist/services/spoke/IconSpokeService.js +0 -111
  259. package/dist/services/spoke/IconSpokeService.js.map +0 -1
  260. package/dist/services/spoke/SolanaSpokeService.d.ts +0 -45
  261. package/dist/services/spoke/SolanaSpokeService.d.ts.map +0 -1
  262. package/dist/services/spoke/SolanaSpokeService.js +0 -170
  263. package/dist/services/spoke/SolanaSpokeService.js.map +0 -1
  264. package/dist/services/spoke/SpokeService.d.ts +0 -33
  265. package/dist/services/spoke/SpokeService.d.ts.map +0 -1
  266. package/dist/services/spoke/SpokeService.js +0 -102
  267. package/dist/services/spoke/SpokeService.js.map +0 -1
  268. package/dist/services/spoke/StellarSpokeService.d.ts +0 -35
  269. package/dist/services/spoke/StellarSpokeService.d.ts.map +0 -1
  270. package/dist/services/spoke/StellarSpokeService.js +0 -39
  271. package/dist/services/spoke/StellarSpokeService.js.map +0 -1
  272. package/dist/services/spoke/SuiSpokeService.d.ts +0 -69
  273. package/dist/services/spoke/SuiSpokeService.d.ts.map +0 -1
  274. package/dist/services/spoke/SuiSpokeService.js +0 -74
  275. package/dist/services/spoke/SuiSpokeService.js.map +0 -1
  276. package/dist/services/spoke/index.d.ts +0 -3
  277. package/dist/services/spoke/index.d.ts.map +0 -1
  278. package/dist/services/spoke/index.js +0 -3
  279. package/dist/services/spoke/index.js.map +0 -1
  280. package/dist/tests/services/hub/EvmAssetManagerService.test.d.ts +0 -2
  281. package/dist/tests/services/hub/EvmAssetManagerService.test.d.ts.map +0 -1
  282. package/dist/tests/services/hub/EvmAssetManagerService.test.js +0 -123
  283. package/dist/tests/services/hub/EvmAssetManagerService.test.js.map +0 -1
  284. package/dist/tests/services/hub/EvmMoneyMarketService.test.d.ts +0 -2
  285. package/dist/tests/services/hub/EvmMoneyMarketService.test.d.ts.map +0 -1
  286. package/dist/tests/services/hub/EvmMoneyMarketService.test.js +0 -121
  287. package/dist/tests/services/hub/EvmMoneyMarketService.test.js.map +0 -1
  288. package/dist/tests/services/hub/EvmVaultTokenService.test.d.ts +0 -2
  289. package/dist/tests/services/hub/EvmVaultTokenService.test.d.ts.map +0 -1
  290. package/dist/tests/services/hub/EvmVaultTokenService.test.js +0 -98
  291. package/dist/tests/services/hub/EvmVaultTokenService.test.js.map +0 -1
  292. package/dist/tests/services/spoke/EvmSpokeService.test.d.ts +0 -2
  293. package/dist/tests/services/spoke/EvmSpokeService.test.d.ts.map +0 -1
  294. package/dist/tests/services/spoke/EvmSpokeService.test.js +0 -197
  295. package/dist/tests/services/spoke/EvmSpokeService.test.js.map +0 -1
  296. package/dist/types.d.ts +0 -395
  297. package/dist/types.d.ts.map +0 -1
  298. package/dist/types.js +0 -30
  299. package/dist/types.js.map +0 -1
  300. package/dist/utils/evm-utils.d.ts +0 -10
  301. package/dist/utils/evm-utils.d.ts.map +0 -1
  302. package/dist/utils/evm-utils.js +0 -15
  303. package/dist/utils/evm-utils.js.map +0 -1
  304. package/dist/utils/index.d.ts +0 -3
  305. package/dist/utils/index.d.ts.map +0 -1
  306. package/dist/utils/index.js +0 -3
  307. package/dist/utils/index.js.map +0 -1
  308. package/dist/utils/shared-utils.d.ts +0 -19
  309. package/dist/utils/shared-utils.d.ts.map +0 -1
  310. package/dist/utils/shared-utils.js +0 -66
  311. package/dist/utils/shared-utils.js.map +0 -1
  312. package/dist/utils/shared-utils.test.d.ts +0 -2
  313. package/dist/utils/shared-utils.test.d.ts.map +0 -1
  314. package/dist/utils/shared-utils.test.js +0 -63
  315. package/dist/utils/shared-utils.test.js.map +0 -1
@@ -1,194 +0,0 @@
1
- import { type EvmHubProvider, type IntentRelayRequest, type PacketData, type RelayErrorCode, type SpokeProvider, type WaitUntilIntentExecutedPayload } from '../../index.js';
2
- import type { Address, EvmRawTransactionReceipt, FeeAmount, Hash, Hex, HttpUrl, IntentErrorResponse, IntentExecutionRequest, IntentExecutionResponse, IntentQuoteRequest, IntentQuoteResponse, IntentRelayChainId, IntentStatusRequest, IntentStatusResponse, PartnerFee, Result, SolverConfigParams, SpokeChainId, TxReturnType } from '../../types.js';
3
- export type CreateIntentParams = {
4
- inputToken: string;
5
- outputToken: string;
6
- inputAmount: bigint;
7
- minOutputAmount: bigint;
8
- deadline: bigint;
9
- allowPartialFill: boolean;
10
- srcChain: SpokeChainId;
11
- dstChain: SpokeChainId;
12
- srcAddress: Hex;
13
- dstAddress: Hex;
14
- solver: Address;
15
- data: Hex;
16
- };
17
- export type Intent = {
18
- intentId: bigint;
19
- creator: Address;
20
- inputToken: Address;
21
- outputToken: Address;
22
- inputAmount: bigint;
23
- minOutputAmount: bigint;
24
- deadline: bigint;
25
- allowPartialFill: boolean;
26
- srcChain: IntentRelayChainId;
27
- dstChain: IntentRelayChainId;
28
- srcAddress: Hex;
29
- dstAddress: Hex;
30
- solver: Address;
31
- data: Hex;
32
- };
33
- export declare enum IntentDataType {
34
- FEE = 1
35
- }
36
- export type FeeData = {
37
- fee: bigint;
38
- receiver: Address;
39
- };
40
- export type IntentData = {
41
- type: IntentDataType;
42
- data: Hex;
43
- };
44
- export type IntentState = {
45
- exists: boolean;
46
- remainingInput: bigint;
47
- receivedOutput: bigint;
48
- pendingPayment: boolean;
49
- };
50
- export type IntentCreationFailedErrorData = {
51
- payload: CreateIntentParams;
52
- error: unknown;
53
- };
54
- export type IntentSubmitTxFailedErrorData = {
55
- payload: IntentRelayRequest<'submit'>;
56
- apiUrl: HttpUrl;
57
- };
58
- export type IntentWaitUntilIntentExecutedFailedErrorData = {
59
- payload: WaitUntilIntentExecutedPayload;
60
- error: unknown;
61
- };
62
- export type IntentSubmitErrorCode = RelayErrorCode | 'UNKNOWN' | 'CREATION_FAILED';
63
- 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;
64
- export type IntentSubmitError<T extends IntentSubmitErrorCode> = {
65
- code: T;
66
- data: IntentSubmitErrorData<T>;
67
- };
68
- export declare class SolverService {
69
- private readonly config;
70
- private readonly hubProvider;
71
- constructor(config: SolverConfigParams | undefined, hubProvider: EvmHubProvider, relayerApiEndpoint?: HttpUrl);
72
- /**
73
- * Request a quote from the solver API
74
- * @param {IntentQuoteRequest} payload - The intent quote request
75
- * @returns {Promise<Result<IntentQuoteResponse, IntentErrorResponse>>} The intent quote response
76
- *
77
- * @example
78
- * // payload
79
- * {
80
- * "token_src":"0x13b70564b1ec12876b20fab5d1bb630311312f4f", // Asset BSC
81
- * "token_dst":"0xdcd9578b51ef55239b6e68629d822a8d97c95b86", // Asset ETH Arbitrum
82
- * "token_src_blockchain_id":"56",
83
- * "token_dst_blockchain_id":"42161",
84
- * "amount":1000000000000000n,
85
- * "quote_type": "exact_input"
86
- * } satisfies IntentQuoteRequest
87
- * // response
88
- * {
89
- * "quoted_amount": "1000000000000000"
90
- * } satisfies IntentQuoteResponse
91
- */
92
- getQuote(payload: IntentQuoteRequest): Promise<Result<IntentQuoteResponse, IntentErrorResponse>>;
93
- /**
94
- * Get the fee for a given input amount
95
- * @param {bigint} inputAmount - The amount of input tokens
96
- * @returns {Promise<bigint>} The fee amount (denominated in input tokens)
97
- */
98
- getFee(inputAmount: bigint): Promise<bigint>;
99
- /**
100
- * Get the status of an intent from Solver API
101
- * @param {IntentStatusRequest} intentStatusRequest - The intent status request
102
- * @returns {Promise<Result<IntentStatusResponse, IntentErrorResponse>>} The intent status response
103
- *
104
- * @example
105
- * // request
106
- * {
107
- * "intentHash": "a0dd7652-b360-4123-ab2d-78cfbcd20c6b"
108
- * }
109
- * // response
110
- * {
111
- * "status": 3,
112
- * "intent_hash": "0xba3dce19347264db32ced212ff1a2036f20d9d2c7493d06af15027970be061af"
113
- * }
114
- */
115
- getStatus(intentStatusRequest: IntentStatusRequest): Promise<Result<IntentStatusResponse, IntentErrorResponse>>;
116
- /**
117
- * Post execution of intent order to Solver API
118
- * @param {IntentExecutionRequest} intentExecutionRequest - The intent execution request
119
- * @returns {Promise<Result<IntentExecutionResponse, IntentErrorResponse>>} The intent execution response
120
- *
121
- * @example
122
- * // request
123
- * {
124
- * "intent_tx_hash": "0xba3dce19347264db32ced212ff1a2036f20d9d2c7493d06af15027970be061af",
125
- * "quote_uuid": "a0dd7652-b360-4123-ab2d-78cfbcd20c6b"
126
- * }
127
- *
128
- * // response
129
- * {
130
- * "ok": true,
131
- * "value": {
132
- * "output": {
133
- * "answer":"OK",
134
- * "task_id":"a0dd7652-b360-4123-ab2d-78cfbcd20c6b"
135
- * }
136
- * }
137
- * }
138
- */
139
- postExecution(intentExecutionRequest: IntentExecutionRequest): Promise<Result<IntentExecutionResponse, IntentErrorResponse>>;
140
- /**
141
- * Creates an intent and submits it to the Solver API and Relayer API
142
- * @param {CreateIntentParams} payload - The intent to create
143
- * @param {ISpokeProvider} spokeProvider - The spoke provider
144
- * @param {number} timeout - The timeout in milliseconds for the transaction. Default is 20 seconds.
145
- * @returns {Promise<Result<IntentExecutionResponse, IntentErrorResponse>>} The encoded contract call
146
- */
147
- createAndSubmitIntent<S extends SpokeProvider>(payload: CreateIntentParams, spokeProvider: S, fee?: PartnerFee, timeout?: number): Promise<Result<[IntentExecutionResponse, Intent, PacketData], IntentSubmitError<IntentSubmitErrorCode>>>;
148
- /**
149
- * Check whether assetManager contract is allowed to move the given payload amount
150
- * @param {CreateIntentParams} params - The intent to create
151
- * @param {SpokeProvider} spokeProvider - The spoke provider
152
- * @return {Promise<Result<boolean>>} - valid = true, invalid = false
153
- */
154
- isAllowanceValid<S extends SpokeProvider>(params: CreateIntentParams, spokeProvider: S): Promise<Result<boolean>>;
155
- /**
156
- * Approve ERC20 amount spending
157
- * @param token - ERC20 token address
158
- * @param amount - Amount to approve
159
- * @param address - Address to approve spending for
160
- * @param spokeProvider - Spoke provider
161
- */
162
- approve<S extends SpokeProvider>(token: Address, amount: bigint, address: Address, spokeProvider: S): Promise<Result<EvmRawTransactionReceipt>>;
163
- /**
164
- * Creates an intent by handling token approval and intent creation
165
- * NOTE: This method does not submit the intent to the Solver API
166
- * @param {CreateIntentParams} params - The intent to create
167
- * @param {SpokeProvider} spokeProvider - The spoke provider
168
- * @param {boolean} raw - Whether to return the raw transaction
169
- * @param {PartnerFee} fee - The fee to apply to the intent
170
- * @returns {Promise<[TxReturnType<T, R>, Intent]>} The encoded contract call
171
- */
172
- 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'>>>;
173
- /**
174
- * Cancels an intent
175
- * @param {Intent} intent - The intent to cancel
176
- * @param {ISpokeProvider} spokeProvider - The spoke provider
177
- * @param {boolean} raw - Whether to return the raw transaction
178
- * @returns {Promise<TxReturnType<T, R>>} The encoded contract call
179
- */
180
- cancelIntent<T extends SpokeProvider, R extends boolean = false>(intent: Intent, spokeProvider: T, raw?: R): Promise<TxReturnType<T, R>>;
181
- /**
182
- * Gets an intent from a transaction hash (on Hub chain)
183
- * @param {Hash} txHash - The transaction hash on Hub chain
184
- * @returns {Promise<Intent>} The intent
185
- */
186
- getIntent(txHash: Hash): Promise<Intent>;
187
- /**
188
- * Gets the keccak256 hash of an intent. Hash serves as the intent id on Hub chain.
189
- * @param {Intent} intent - The intent
190
- * @returns {Hex} The keccak256 hash of the intent
191
- */
192
- getIntentHash(intent: Intent): Hex;
193
- }
194
- //# 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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"}
@@ -1,324 +0,0 @@
1
- import invariant from 'tiny-invariant';
2
- import { DEFAULT_RELAYER_API_ENDPOINT, DEFAULT_RELAY_TX_TIMEOUT, Erc20Service, EvmSpokeProvider, SONIC_MAINNET_CHAIN_ID, SpokeService, calculateFeeAmount, encodeContractCalls, getIntentRelayChainId, getSolverConfig, isConfiguredSolverConfig, isValidIntentRelayChainId, isValidOriginalAssetAddress, isValidSpokeChainId, submitTransaction, waitUntilIntentExecuted, } from '../../index.js';
3
- import { EvmWalletAbstraction } from '../hub/EvmWalletAbstraction.js';
4
- import { EvmSolverService } from './EvmSolverService.js';
5
- import { SolverApiService } from './SolverApiService.js';
6
- // Data types for arbitrary data
7
- export var IntentDataType;
8
- (function (IntentDataType) {
9
- IntentDataType[IntentDataType["FEE"] = 1] = "FEE";
10
- })(IntentDataType || (IntentDataType = {}));
11
- export class SolverService {
12
- config;
13
- hubProvider;
14
- constructor(config, hubProvider, relayerApiEndpoint) {
15
- if (!config) {
16
- // default to mainnet config
17
- this.config = {
18
- ...getSolverConfig(SONIC_MAINNET_CHAIN_ID), // default to mainnet config
19
- partnerFee: undefined,
20
- relayerApiEndpoint: relayerApiEndpoint ?? DEFAULT_RELAYER_API_ENDPOINT,
21
- };
22
- }
23
- else if (isConfiguredSolverConfig(config)) {
24
- this.config = {
25
- ...config,
26
- partnerFee: config.partnerFee,
27
- relayerApiEndpoint: relayerApiEndpoint ?? DEFAULT_RELAYER_API_ENDPOINT,
28
- };
29
- }
30
- else {
31
- this.config = {
32
- ...getSolverConfig(hubProvider.chainConfig.chain.id), // default to mainnet config
33
- partnerFee: config.partnerFee,
34
- relayerApiEndpoint: relayerApiEndpoint ?? DEFAULT_RELAYER_API_ENDPOINT,
35
- };
36
- }
37
- this.hubProvider = hubProvider;
38
- }
39
- /**
40
- * Request a quote from the solver API
41
- * @param {IntentQuoteRequest} payload - The intent quote request
42
- * @returns {Promise<Result<IntentQuoteResponse, IntentErrorResponse>>} The intent quote response
43
- *
44
- * @example
45
- * // payload
46
- * {
47
- * "token_src":"0x13b70564b1ec12876b20fab5d1bb630311312f4f", // Asset BSC
48
- * "token_dst":"0xdcd9578b51ef55239b6e68629d822a8d97c95b86", // Asset ETH Arbitrum
49
- * "token_src_blockchain_id":"56",
50
- * "token_dst_blockchain_id":"42161",
51
- * "amount":1000000000000000n,
52
- * "quote_type": "exact_input"
53
- * } satisfies IntentQuoteRequest
54
- * // response
55
- * {
56
- * "quoted_amount": "1000000000000000"
57
- * } satisfies IntentQuoteResponse
58
- */
59
- async getQuote(payload) {
60
- return SolverApiService.getQuote(payload, this.config);
61
- }
62
- /**
63
- * Get the fee for a given input amount
64
- * @param {bigint} inputAmount - The amount of input tokens
65
- * @returns {Promise<bigint>} The fee amount (denominated in input tokens)
66
- */
67
- async getFee(inputAmount) {
68
- if (!this.config.partnerFee) {
69
- return 0n;
70
- }
71
- return calculateFeeAmount(inputAmount, this.config.partnerFee);
72
- }
73
- /**
74
- * Get the status of an intent from Solver API
75
- * @param {IntentStatusRequest} intentStatusRequest - The intent status request
76
- * @returns {Promise<Result<IntentStatusResponse, IntentErrorResponse>>} The intent status response
77
- *
78
- * @example
79
- * // request
80
- * {
81
- * "intentHash": "a0dd7652-b360-4123-ab2d-78cfbcd20c6b"
82
- * }
83
- * // response
84
- * {
85
- * "status": 3,
86
- * "intent_hash": "0xba3dce19347264db32ced212ff1a2036f20d9d2c7493d06af15027970be061af"
87
- * }
88
- */
89
- async getStatus(intentStatusRequest) {
90
- return SolverApiService.getStatus(intentStatusRequest, this.config);
91
- }
92
- /**
93
- * Post execution of intent order to Solver API
94
- * @param {IntentExecutionRequest} intentExecutionRequest - The intent execution request
95
- * @returns {Promise<Result<IntentExecutionResponse, IntentErrorResponse>>} The intent execution response
96
- *
97
- * @example
98
- * // request
99
- * {
100
- * "intent_tx_hash": "0xba3dce19347264db32ced212ff1a2036f20d9d2c7493d06af15027970be061af",
101
- * "quote_uuid": "a0dd7652-b360-4123-ab2d-78cfbcd20c6b"
102
- * }
103
- *
104
- * // response
105
- * {
106
- * "ok": true,
107
- * "value": {
108
- * "output": {
109
- * "answer":"OK",
110
- * "task_id":"a0dd7652-b360-4123-ab2d-78cfbcd20c6b"
111
- * }
112
- * }
113
- * }
114
- */
115
- async postExecution(intentExecutionRequest) {
116
- return SolverApiService.postExecution(intentExecutionRequest, this.config);
117
- }
118
- /**
119
- * Creates an intent and submits it to the Solver API and Relayer API
120
- * @param {CreateIntentParams} payload - The intent to create
121
- * @param {ISpokeProvider} spokeProvider - The spoke provider
122
- * @param {number} timeout - The timeout in milliseconds for the transaction. Default is 20 seconds.
123
- * @returns {Promise<Result<IntentExecutionResponse, IntentErrorResponse>>} The encoded contract call
124
- */
125
- async createAndSubmitIntent(payload, spokeProvider, fee, timeout = DEFAULT_RELAY_TX_TIMEOUT) {
126
- try {
127
- const createIntentResult = await this.createIntent(payload, spokeProvider, fee, false);
128
- if (!createIntentResult.ok) {
129
- return {
130
- ok: false,
131
- error: createIntentResult.error,
132
- };
133
- }
134
- const [spokeTxHash, intent] = createIntentResult.value;
135
- const intentRelayChainId = getIntentRelayChainId(payload.srcChain).toString();
136
- const submitPayload = {
137
- action: 'submit',
138
- params: {
139
- chain_id: intentRelayChainId,
140
- tx_hash: spokeTxHash,
141
- },
142
- };
143
- const submitResult = await submitTransaction(submitPayload, this.config.relayerApiEndpoint);
144
- if (!submitResult.success) {
145
- return {
146
- ok: false,
147
- error: {
148
- code: 'SUBMIT_TX_FAILED',
149
- data: {
150
- payload: submitPayload,
151
- apiUrl: this.config.relayerApiEndpoint,
152
- },
153
- },
154
- };
155
- }
156
- const packet = await waitUntilIntentExecuted({
157
- intentRelayChainId,
158
- spokeTxHash,
159
- timeout,
160
- apiUrl: this.config.relayerApiEndpoint,
161
- });
162
- if (!packet.ok) {
163
- return {
164
- ok: false,
165
- error: packet.error,
166
- };
167
- }
168
- const result = await this.postExecution({
169
- intent_tx_hash: packet.value.dst_tx_hash,
170
- });
171
- if (!result.ok) {
172
- return {
173
- ok: false,
174
- error: {
175
- code: 'POST_EXECUTION_FAILED',
176
- data: result.error,
177
- },
178
- };
179
- }
180
- return {
181
- ok: true,
182
- value: [result.value, intent, packet.value],
183
- };
184
- }
185
- catch (error) {
186
- return {
187
- ok: false,
188
- error: {
189
- code: 'UNKNOWN',
190
- data: {
191
- payload: payload,
192
- error: error,
193
- },
194
- },
195
- };
196
- }
197
- }
198
- /**
199
- * Check whether assetManager contract is allowed to move the given payload amount
200
- * @param {CreateIntentParams} params - The intent to create
201
- * @param {SpokeProvider} spokeProvider - The spoke provider
202
- * @return {Promise<Result<boolean>>} - valid = true, invalid = false
203
- */
204
- async isAllowanceValid(params, spokeProvider) {
205
- try {
206
- if (spokeProvider instanceof EvmSpokeProvider) {
207
- return Erc20Service.isAllowanceValid(params.inputToken, params.inputAmount, spokeProvider.walletProvider.getWalletAddress(), spokeProvider.chainConfig.addresses.assetManager, spokeProvider);
208
- }
209
- return {
210
- ok: true,
211
- value: true,
212
- };
213
- }
214
- catch (error) {
215
- return {
216
- ok: false,
217
- error: error,
218
- };
219
- }
220
- }
221
- /**
222
- * Approve ERC20 amount spending
223
- * @param token - ERC20 token address
224
- * @param amount - Amount to approve
225
- * @param address - Address to approve spending for
226
- * @param spokeProvider - Spoke provider
227
- */
228
- async approve(token, amount, address, spokeProvider) {
229
- try {
230
- if (spokeProvider instanceof EvmSpokeProvider) {
231
- return Erc20Service.approve(token, amount, address, spokeProvider);
232
- }
233
- return {
234
- ok: false,
235
- error: new Error('Approve only supported for EVM spoke chains'),
236
- };
237
- }
238
- catch (error) {
239
- return {
240
- ok: false,
241
- error: error,
242
- };
243
- }
244
- }
245
- /**
246
- * Creates an intent by handling token approval and intent creation
247
- * NOTE: This method does not submit the intent to the Solver API
248
- * @param {CreateIntentParams} params - The intent to create
249
- * @param {SpokeProvider} spokeProvider - The spoke provider
250
- * @param {boolean} raw - Whether to return the raw transaction
251
- * @param {PartnerFee} fee - The fee to apply to the intent
252
- * @returns {Promise<[TxReturnType<T, R>, Intent]>} The encoded contract call
253
- */
254
- async createIntent(params, spokeProvider, fee, raw) {
255
- invariant(isValidOriginalAssetAddress(params.srcChain, params.inputToken), `Unsupported spoke chain token (params.srcChain): ${params.srcChain}, params.inputToken): ${params.inputToken}`);
256
- invariant(isValidOriginalAssetAddress(params.dstChain, params.outputToken), `Unsupported spoke chain token (params.dstChain): ${params.dstChain}, params.outputToken): ${params.outputToken}`);
257
- invariant(isValidSpokeChainId(params.srcChain), `Invalid spoke chain (params.srcChain): ${params.srcChain}`);
258
- invariant(isValidSpokeChainId(params.dstChain), `Invalid spoke chain (params.dstChain): ${params.dstChain}`);
259
- try {
260
- // derive users hub wallet address
261
- const creatorHubWalletAddress = await EvmWalletAbstraction.getUserHubWalletAddress(params.srcChain, spokeProvider.walletProvider.getWalletAddressBytes(), this.hubProvider);
262
- // construct the intent data
263
- const [data, intent, feeAmount] = EvmSolverService.constructCreateIntentData(params, creatorHubWalletAddress, this.config, fee);
264
- const txResult = await SpokeService.deposit({
265
- from: spokeProvider.walletProvider.getWalletAddress(),
266
- to: creatorHubWalletAddress,
267
- token: params.inputToken,
268
- amount: params.inputAmount + feeAmount,
269
- data: data,
270
- }, spokeProvider, this.hubProvider, raw);
271
- return {
272
- ok: true,
273
- value: [txResult, { ...intent, feeAmount }],
274
- };
275
- }
276
- catch (error) {
277
- return {
278
- ok: false,
279
- error: {
280
- code: 'CREATION_FAILED',
281
- data: {
282
- payload: params,
283
- error: error,
284
- },
285
- },
286
- };
287
- }
288
- }
289
- /**
290
- * Cancels an intent
291
- * @param {Intent} intent - The intent to cancel
292
- * @param {ISpokeProvider} spokeProvider - The spoke provider
293
- * @param {boolean} raw - Whether to return the raw transaction
294
- * @returns {Promise<TxReturnType<T, R>>} The encoded contract call
295
- */
296
- async cancelIntent(intent, spokeProvider, raw) {
297
- invariant(isValidIntentRelayChainId(intent.srcChain), `Invalid intent.srcChain: ${intent.srcChain}`);
298
- invariant(isValidIntentRelayChainId(intent.dstChain), `Invalid intent.dstChain: ${intent.dstChain}`);
299
- // derive users hub wallet address
300
- const creatorHubWalletAddress = await EvmWalletAbstraction.getUserHubWalletAddress(spokeProvider.chainConfig.chain.id, spokeProvider.walletProvider.getWalletAddressBytes(), this.hubProvider);
301
- const calls = [];
302
- const intentsContract = this.config.intentsContract;
303
- calls.push(EvmSolverService.encodeCancelIntent(intent, intentsContract));
304
- const data = encodeContractCalls(calls);
305
- return SpokeService.callWallet(creatorHubWalletAddress, data, spokeProvider, this.hubProvider, raw);
306
- }
307
- /**
308
- * Gets an intent from a transaction hash (on Hub chain)
309
- * @param {Hash} txHash - The transaction hash on Hub chain
310
- * @returns {Promise<Intent>} The intent
311
- */
312
- getIntent(txHash) {
313
- return EvmSolverService.getIntent(txHash, this.config, this.hubProvider);
314
- }
315
- /**
316
- * Gets the keccak256 hash of an intent. Hash serves as the intent id on Hub chain.
317
- * @param {Intent} intent - The intent
318
- * @returns {Hex} The keccak256 hash of the intent
319
- */
320
- getIntentHash(intent) {
321
- return EvmSolverService.getIntentHash(intent);
322
- }
323
- }
324
- //# sourceMappingURL=SolverService.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SolverService.js","sourceRoot":"","sources":["../../../src/services/solver/SolverService.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=SolverService.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SolverService.test.d.ts","sourceRoot":"","sources":["../../../src/services/solver/SolverService.test.ts"],"names":[],"mappings":""}