@relayprotocol/relay-sdk 2.4.0

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 (308) hide show
  1. package/LICENSE +21 -0
  2. package/_cjs/package.json +1 -0
  3. package/_cjs/src/actions/claimAppFees.js +53 -0
  4. package/_cjs/src/actions/claimAppFees.js.map +1 -0
  5. package/_cjs/src/actions/execute.js +76 -0
  6. package/_cjs/src/actions/execute.js.map +1 -0
  7. package/_cjs/src/actions/getAppFees.js +24 -0
  8. package/_cjs/src/actions/getAppFees.js.map +1 -0
  9. package/_cjs/src/actions/getPrice.js +51 -0
  10. package/_cjs/src/actions/getPrice.js.map +1 -0
  11. package/_cjs/src/actions/getQuote.js +91 -0
  12. package/_cjs/src/actions/getQuote.js.map +1 -0
  13. package/_cjs/src/actions/getSolverCapacity.js +21 -0
  14. package/_cjs/src/actions/getSolverCapacity.js.map +1 -0
  15. package/_cjs/src/actions/index.js +10 -0
  16. package/_cjs/src/actions/index.js.map +1 -0
  17. package/_cjs/src/client.js +207 -0
  18. package/_cjs/src/client.js.map +1 -0
  19. package/_cjs/src/constants/address.js +48 -0
  20. package/_cjs/src/constants/address.js.map +1 -0
  21. package/_cjs/src/constants/bvm.js +5 -0
  22. package/_cjs/src/constants/bvm.js.map +1 -0
  23. package/_cjs/src/constants/index.js +6 -0
  24. package/_cjs/src/constants/index.js.map +1 -0
  25. package/_cjs/src/constants/servers.js +9 -0
  26. package/_cjs/src/constants/servers.js.map +1 -0
  27. package/_cjs/src/errors/DepositTransactionTimeoutError.js +18 -0
  28. package/_cjs/src/errors/DepositTransactionTimeoutError.js.map +1 -0
  29. package/_cjs/src/errors/SolverStatusTimeoutError.js +18 -0
  30. package/_cjs/src/errors/SolverStatusTimeoutError.js.map +1 -0
  31. package/_cjs/src/errors/TransactionConfirmationError.js +25 -0
  32. package/_cjs/src/errors/TransactionConfirmationError.js.map +1 -0
  33. package/_cjs/src/errors/index.js +10 -0
  34. package/_cjs/src/errors/index.js.map +1 -0
  35. package/_cjs/src/index.js +10 -0
  36. package/_cjs/src/index.js.map +1 -0
  37. package/_cjs/src/routes/index.js +46 -0
  38. package/_cjs/src/routes/index.js.map +1 -0
  39. package/_cjs/src/types/AdaptedWallet.js +3 -0
  40. package/_cjs/src/types/AdaptedWallet.js.map +1 -0
  41. package/_cjs/src/types/Execute.js +3 -0
  42. package/_cjs/src/types/Execute.js.map +1 -0
  43. package/_cjs/src/types/Progress.js +3 -0
  44. package/_cjs/src/types/Progress.js.map +1 -0
  45. package/_cjs/src/types/RelayChain.js +3 -0
  46. package/_cjs/src/types/RelayChain.js.map +1 -0
  47. package/_cjs/src/types/SignatureStepItem.js +3 -0
  48. package/_cjs/src/types/SignatureStepItem.js.map +1 -0
  49. package/_cjs/src/types/TransactionStepItem.js +3 -0
  50. package/_cjs/src/types/TransactionStepItem.js.map +1 -0
  51. package/_cjs/src/types/api.js +3 -0
  52. package/_cjs/src/types/api.js.map +1 -0
  53. package/_cjs/src/types/index.js +11 -0
  54. package/_cjs/src/types/index.js.map +1 -0
  55. package/_cjs/src/utils/axios.js +18 -0
  56. package/_cjs/src/utils/axios.js.map +1 -0
  57. package/_cjs/src/utils/chain.js +91 -0
  58. package/_cjs/src/utils/chain.js.map +1 -0
  59. package/_cjs/src/utils/executeSteps/index.js +298 -0
  60. package/_cjs/src/utils/executeSteps/index.js.map +1 -0
  61. package/_cjs/src/utils/executeSteps/signatureStep.js +186 -0
  62. package/_cjs/src/utils/executeSteps/signatureStep.js.map +1 -0
  63. package/_cjs/src/utils/executeSteps/transactionStep.js +74 -0
  64. package/_cjs/src/utils/executeSteps/transactionStep.js.map +1 -0
  65. package/_cjs/src/utils/executeSteps/websocketHandlers.js +112 -0
  66. package/_cjs/src/utils/executeSteps/websocketHandlers.js.map +1 -0
  67. package/_cjs/src/utils/fetchChainConfigs.js +20 -0
  68. package/_cjs/src/utils/fetchChainConfigs.js.map +1 -0
  69. package/_cjs/src/utils/getCurrentStepData.js +28 -0
  70. package/_cjs/src/utils/getCurrentStepData.js.map +1 -0
  71. package/_cjs/src/utils/getTenderlyDetails.js +24 -0
  72. package/_cjs/src/utils/getTenderlyDetails.js.map +1 -0
  73. package/_cjs/src/utils/hyperliquid.js +95 -0
  74. package/_cjs/src/utils/hyperliquid.js.map +1 -0
  75. package/_cjs/src/utils/index.js +39 -0
  76. package/_cjs/src/utils/index.js.map +1 -0
  77. package/_cjs/src/utils/logger.js +38 -0
  78. package/_cjs/src/utils/logger.js.map +1 -0
  79. package/_cjs/src/utils/params.js +21 -0
  80. package/_cjs/src/utils/params.js.map +1 -0
  81. package/_cjs/src/utils/pollApi.js +40 -0
  82. package/_cjs/src/utils/pollApi.js.map +1 -0
  83. package/_cjs/src/utils/prepareBatchTransaction.js +35 -0
  84. package/_cjs/src/utils/prepareBatchTransaction.js.map +1 -0
  85. package/_cjs/src/utils/prepareCallTransaction.js +14 -0
  86. package/_cjs/src/utils/prepareCallTransaction.js.map +1 -0
  87. package/_cjs/src/utils/repeatUntilOk.js +19 -0
  88. package/_cjs/src/utils/repeatUntilOk.js.map +1 -0
  89. package/_cjs/src/utils/request.js +48 -0
  90. package/_cjs/src/utils/request.js.map +1 -0
  91. package/_cjs/src/utils/simulateContract.js +8 -0
  92. package/_cjs/src/utils/simulateContract.js.map +1 -0
  93. package/_cjs/src/utils/structuredClone.js +11 -0
  94. package/_cjs/src/utils/structuredClone.js.map +1 -0
  95. package/_cjs/src/utils/transaction.js +351 -0
  96. package/_cjs/src/utils/transaction.js.map +1 -0
  97. package/_cjs/src/utils/viemWallet.js +211 -0
  98. package/_cjs/src/utils/viemWallet.js.map +1 -0
  99. package/_cjs/src/utils/websocket.js +76 -0
  100. package/_cjs/src/utils/websocket.js.map +1 -0
  101. package/_cjs/src/version.js +5 -0
  102. package/_cjs/src/version.js.map +1 -0
  103. package/_cjs/tsconfig.build.tsbuildinfo +1 -0
  104. package/_esm/package.json +1 -0
  105. package/_esm/src/actions/claimAppFees.js +54 -0
  106. package/_esm/src/actions/claimAppFees.js.map +1 -0
  107. package/_esm/src/actions/execute.js +83 -0
  108. package/_esm/src/actions/execute.js.map +1 -0
  109. package/_esm/src/actions/getAppFees.js +25 -0
  110. package/_esm/src/actions/getAppFees.js.map +1 -0
  111. package/_esm/src/actions/getPrice.js +53 -0
  112. package/_esm/src/actions/getPrice.js.map +1 -0
  113. package/_esm/src/actions/getQuote.js +92 -0
  114. package/_esm/src/actions/getQuote.js.map +1 -0
  115. package/_esm/src/actions/getSolverCapacity.js +18 -0
  116. package/_esm/src/actions/getSolverCapacity.js.map +1 -0
  117. package/_esm/src/actions/index.js +7 -0
  118. package/_esm/src/actions/index.js.map +1 -0
  119. package/_esm/src/client.js +217 -0
  120. package/_esm/src/client.js.map +1 -0
  121. package/_esm/src/constants/address.js +43 -0
  122. package/_esm/src/constants/address.js.map +1 -0
  123. package/_esm/src/constants/bvm.js +2 -0
  124. package/_esm/src/constants/bvm.js.map +1 -0
  125. package/_esm/src/constants/index.js +3 -0
  126. package/_esm/src/constants/index.js.map +1 -0
  127. package/_esm/src/constants/servers.js +7 -0
  128. package/_esm/src/constants/servers.js.map +1 -0
  129. package/_esm/src/errors/DepositTransactionTimeoutError.js +14 -0
  130. package/_esm/src/errors/DepositTransactionTimeoutError.js.map +1 -0
  131. package/_esm/src/errors/SolverStatusTimeoutError.js +14 -0
  132. package/_esm/src/errors/SolverStatusTimeoutError.js.map +1 -0
  133. package/_esm/src/errors/TransactionConfirmationError.js +21 -0
  134. package/_esm/src/errors/TransactionConfirmationError.js.map +1 -0
  135. package/_esm/src/errors/index.js +4 -0
  136. package/_esm/src/errors/index.js.map +1 -0
  137. package/_esm/src/index.js +7 -0
  138. package/_esm/src/index.js.map +1 -0
  139. package/_esm/src/routes/index.js +43 -0
  140. package/_esm/src/routes/index.js.map +1 -0
  141. package/_esm/src/types/AdaptedWallet.js +2 -0
  142. package/_esm/src/types/AdaptedWallet.js.map +1 -0
  143. package/_esm/src/types/Execute.js +2 -0
  144. package/_esm/src/types/Execute.js.map +1 -0
  145. package/_esm/src/types/Progress.js +2 -0
  146. package/_esm/src/types/Progress.js.map +1 -0
  147. package/_esm/src/types/RelayChain.js +2 -0
  148. package/_esm/src/types/RelayChain.js.map +1 -0
  149. package/_esm/src/types/SignatureStepItem.js +2 -0
  150. package/_esm/src/types/SignatureStepItem.js.map +1 -0
  151. package/_esm/src/types/TransactionStepItem.js +2 -0
  152. package/_esm/src/types/TransactionStepItem.js.map +1 -0
  153. package/_esm/src/types/api.js +6 -0
  154. package/_esm/src/types/api.js.map +1 -0
  155. package/_esm/src/types/index.js +8 -0
  156. package/_esm/src/types/index.js.map +1 -0
  157. package/_esm/src/utils/axios.js +15 -0
  158. package/_esm/src/utils/axios.js.map +1 -0
  159. package/_esm/src/utils/chain.js +86 -0
  160. package/_esm/src/utils/chain.js.map +1 -0
  161. package/_esm/src/utils/executeSteps/index.js +347 -0
  162. package/_esm/src/utils/executeSteps/index.js.map +1 -0
  163. package/_esm/src/utils/executeSteps/signatureStep.js +191 -0
  164. package/_esm/src/utils/executeSteps/signatureStep.js.map +1 -0
  165. package/_esm/src/utils/executeSteps/transactionStep.js +76 -0
  166. package/_esm/src/utils/executeSteps/transactionStep.js.map +1 -0
  167. package/_esm/src/utils/executeSteps/websocketHandlers.js +124 -0
  168. package/_esm/src/utils/executeSteps/websocketHandlers.js.map +1 -0
  169. package/_esm/src/utils/fetchChainConfigs.js +16 -0
  170. package/_esm/src/utils/fetchChainConfigs.js.map +1 -0
  171. package/_esm/src/utils/getCurrentStepData.js +24 -0
  172. package/_esm/src/utils/getCurrentStepData.js.map +1 -0
  173. package/_esm/src/utils/getTenderlyDetails.js +20 -0
  174. package/_esm/src/utils/getTenderlyDetails.js.map +1 -0
  175. package/_esm/src/utils/hyperliquid.js +90 -0
  176. package/_esm/src/utils/hyperliquid.js.map +1 -0
  177. package/_esm/src/utils/index.js +16 -0
  178. package/_esm/src/utils/index.js.map +1 -0
  179. package/_esm/src/utils/logger.js +34 -0
  180. package/_esm/src/utils/logger.js.map +1 -0
  181. package/_esm/src/utils/params.js +40 -0
  182. package/_esm/src/utils/params.js.map +1 -0
  183. package/_esm/src/utils/pollApi.js +57 -0
  184. package/_esm/src/utils/pollApi.js.map +1 -0
  185. package/_esm/src/utils/prepareBatchTransaction.js +31 -0
  186. package/_esm/src/utils/prepareBatchTransaction.js.map +1 -0
  187. package/_esm/src/utils/prepareCallTransaction.js +11 -0
  188. package/_esm/src/utils/prepareCallTransaction.js.map +1 -0
  189. package/_esm/src/utils/repeatUntilOk.js +23 -0
  190. package/_esm/src/utils/repeatUntilOk.js.map +1 -0
  191. package/_esm/src/utils/request.js +42 -0
  192. package/_esm/src/utils/request.js.map +1 -0
  193. package/_esm/src/utils/simulateContract.js +5 -0
  194. package/_esm/src/utils/simulateContract.js.map +1 -0
  195. package/_esm/src/utils/structuredClone.js +8 -0
  196. package/_esm/src/utils/structuredClone.js.map +1 -0
  197. package/_esm/src/utils/transaction.js +374 -0
  198. package/_esm/src/utils/transaction.js.map +1 -0
  199. package/_esm/src/utils/viemWallet.js +207 -0
  200. package/_esm/src/utils/viemWallet.js.map +1 -0
  201. package/_esm/src/utils/websocket.js +78 -0
  202. package/_esm/src/utils/websocket.js.map +1 -0
  203. package/_esm/src/version.js +2 -0
  204. package/_esm/src/version.js.map +1 -0
  205. package/_esm/tsconfig.build.tsbuildinfo +1 -0
  206. package/_types/src/actions/claimAppFees.d.ts +21 -0
  207. package/_types/src/actions/claimAppFees.d.ts.map +1 -0
  208. package/_types/src/actions/execute.d.ts +23 -0
  209. package/_types/src/actions/execute.d.ts.map +1 -0
  210. package/_types/src/actions/getAppFees.d.ts +12 -0
  211. package/_types/src/actions/getAppFees.d.ts.map +1 -0
  212. package/_types/src/actions/getPrice.d.ts +23 -0
  213. package/_types/src/actions/getPrice.d.ts.map +1 -0
  214. package/_types/src/actions/getQuote.d.ts +24 -0
  215. package/_types/src/actions/getQuote.d.ts.map +1 -0
  216. package/_types/src/actions/getSolverCapacity.d.ts +8 -0
  217. package/_types/src/actions/getSolverCapacity.d.ts.map +1 -0
  218. package/_types/src/actions/index.d.ts +7 -0
  219. package/_types/src/actions/index.d.ts.map +1 -0
  220. package/_types/src/client.d.ts +8039 -0
  221. package/_types/src/client.d.ts.map +1 -0
  222. package/_types/src/constants/address.d.ts +11 -0
  223. package/_types/src/constants/address.d.ts.map +1 -0
  224. package/_types/src/constants/bvm.d.ts +2 -0
  225. package/_types/src/constants/bvm.d.ts.map +1 -0
  226. package/_types/src/constants/index.d.ts +3 -0
  227. package/_types/src/constants/index.d.ts.map +1 -0
  228. package/_types/src/constants/servers.d.ts +6 -0
  229. package/_types/src/constants/servers.d.ts.map +1 -0
  230. package/_types/src/errors/DepositTransactionTimeoutError.d.ts +5 -0
  231. package/_types/src/errors/DepositTransactionTimeoutError.d.ts.map +1 -0
  232. package/_types/src/errors/SolverStatusTimeoutError.d.ts +5 -0
  233. package/_types/src/errors/SolverStatusTimeoutError.d.ts.map +1 -0
  234. package/_types/src/errors/TransactionConfirmationError.d.ts +9 -0
  235. package/_types/src/errors/TransactionConfirmationError.d.ts.map +1 -0
  236. package/_types/src/errors/index.d.ts +4 -0
  237. package/_types/src/errors/index.d.ts.map +1 -0
  238. package/_types/src/index.d.ts +7 -0
  239. package/_types/src/index.d.ts.map +1 -0
  240. package/_types/src/routes/index.d.ts +2 -0
  241. package/_types/src/routes/index.d.ts.map +1 -0
  242. package/_types/src/types/AdaptedWallet.d.ts +27 -0
  243. package/_types/src/types/AdaptedWallet.d.ts.map +1 -0
  244. package/_types/src/types/Execute.d.ts +64 -0
  245. package/_types/src/types/Execute.d.ts.map +1 -0
  246. package/_types/src/types/Progress.d.ts +17 -0
  247. package/_types/src/types/Progress.d.ts.map +1 -0
  248. package/_types/src/types/RelayChain.d.ts +47 -0
  249. package/_types/src/types/RelayChain.d.ts.map +1 -0
  250. package/_types/src/types/SignatureStepItem.d.ts +21 -0
  251. package/_types/src/types/SignatureStepItem.d.ts.map +1 -0
  252. package/_types/src/types/TransactionStepItem.d.ts +25 -0
  253. package/_types/src/types/TransactionStepItem.d.ts.map +1 -0
  254. package/_types/src/types/api.d.ts +4911 -0
  255. package/_types/src/types/api.d.ts.map +1 -0
  256. package/_types/src/types/index.d.ts +8 -0
  257. package/_types/src/types/index.d.ts.map +1 -0
  258. package/_types/src/utils/axios.d.ts +2 -0
  259. package/_types/src/utils/axios.d.ts.map +1 -0
  260. package/_types/src/utils/chain.d.ts +7 -0
  261. package/_types/src/utils/chain.d.ts.map +1 -0
  262. package/_types/src/utils/executeSteps/index.d.ts +34 -0
  263. package/_types/src/utils/executeSteps/index.d.ts.map +1 -0
  264. package/_types/src/utils/executeSteps/signatureStep.d.ts +21 -0
  265. package/_types/src/utils/executeSteps/signatureStep.d.ts.map +1 -0
  266. package/_types/src/utils/executeSteps/transactionStep.d.ts +25 -0
  267. package/_types/src/utils/executeSteps/transactionStep.d.ts.map +1 -0
  268. package/_types/src/utils/executeSteps/websocketHandlers.d.ts +21 -0
  269. package/_types/src/utils/executeSteps/websocketHandlers.d.ts.map +1 -0
  270. package/_types/src/utils/fetchChainConfigs.d.ts +3 -0
  271. package/_types/src/utils/fetchChainConfigs.d.ts.map +1 -0
  272. package/_types/src/utils/getCurrentStepData.d.ts +80 -0
  273. package/_types/src/utils/getCurrentStepData.d.ts.map +1 -0
  274. package/_types/src/utils/getTenderlyDetails.d.ts +6 -0
  275. package/_types/src/utils/getTenderlyDetails.d.ts.map +1 -0
  276. package/_types/src/utils/hyperliquid.d.ts +49 -0
  277. package/_types/src/utils/hyperliquid.d.ts.map +1 -0
  278. package/_types/src/utils/index.d.ts +16 -0
  279. package/_types/src/utils/index.d.ts.map +1 -0
  280. package/_types/src/utils/logger.d.ts +9 -0
  281. package/_types/src/utils/logger.d.ts.map +1 -0
  282. package/_types/src/utils/params.d.ts +27 -0
  283. package/_types/src/utils/params.d.ts.map +1 -0
  284. package/_types/src/utils/pollApi.d.ts +22 -0
  285. package/_types/src/utils/pollApi.d.ts.map +1 -0
  286. package/_types/src/utils/prepareBatchTransaction.d.ts +41 -0
  287. package/_types/src/utils/prepareBatchTransaction.d.ts.map +1 -0
  288. package/_types/src/utils/prepareCallTransaction.d.ts +6 -0
  289. package/_types/src/utils/prepareCallTransaction.d.ts.map +1 -0
  290. package/_types/src/utils/repeatUntilOk.d.ts +10 -0
  291. package/_types/src/utils/repeatUntilOk.d.ts.map +1 -0
  292. package/_types/src/utils/request.d.ts +11 -0
  293. package/_types/src/utils/request.d.ts.map +1 -0
  294. package/_types/src/utils/simulateContract.d.ts +4 -0
  295. package/_types/src/utils/simulateContract.d.ts.map +1 -0
  296. package/_types/src/utils/structuredClone.d.ts +2 -0
  297. package/_types/src/utils/structuredClone.d.ts.map +1 -0
  298. package/_types/src/utils/transaction.d.ts +12 -0
  299. package/_types/src/utils/transaction.d.ts.map +1 -0
  300. package/_types/src/utils/viemWallet.d.ts +5 -0
  301. package/_types/src/utils/viemWallet.d.ts.map +1 -0
  302. package/_types/src/utils/websocket.d.ts +30 -0
  303. package/_types/src/utils/websocket.d.ts.map +1 -0
  304. package/_types/src/version.d.ts +2 -0
  305. package/_types/src/version.d.ts.map +1 -0
  306. package/_types/tsconfig.build.tsbuildinfo +1 -0
  307. package/package.json +57 -0
  308. package/readme.md +37 -0
@@ -0,0 +1,298 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executeSteps = void 0;
4
+ const client_js_1 = require("../../client.js");
5
+ const logger_js_1 = require("../logger.js");
6
+ const index_js_1 = require("../../utils/index.js");
7
+ const prepareBatchTransaction_js_1 = require("../prepareBatchTransaction.js");
8
+ const signatureStep_js_1 = require("./signatureStep.js");
9
+ const transactionStep_js_1 = require("./transactionStep.js");
10
+ const websocket_js_1 = require("../websocket.js");
11
+ const websocketHandlers_js_1 = require("./websocketHandlers.js");
12
+ async function executeSteps(chainId, request = {}, wallet, setState, newJson, stepOptions, sharedStatusControl) {
13
+ const client = (0, client_js_1.getClient)();
14
+ if (client?.baseApiUrl) {
15
+ request.baseURL = client.baseApiUrl;
16
+ }
17
+ const pollingInterval = client.pollingInterval ?? 5000;
18
+ const maximumAttempts = client.maxPollingAttemptsBeforeTimeout ??
19
+ (2.5 * 60 * 1000) / pollingInterval;
20
+ const chain = client.chains.find((chain) => chain.id === chainId);
21
+ if (!chain) {
22
+ throw `Unable to find chain: Chain id ${chainId}`;
23
+ }
24
+ let json = newJson;
25
+ let isAtomicBatchSupported = false;
26
+ const statusControl = sharedStatusControl || {
27
+ websocketActive: false,
28
+ websocketConnected: false,
29
+ closeWebSocket: undefined,
30
+ lastKnownStatus: undefined,
31
+ websocketFailureTimeoutId: null
32
+ };
33
+ let terminalStatusPromise = null;
34
+ let rejectTerminalStatus = null;
35
+ let websocketFailedPromise = null;
36
+ let resolveWebsocketFailed = null;
37
+ const onWebsocketFailed = () => {
38
+ if (!websocketFailedPromise) {
39
+ websocketFailedPromise = new Promise((resolve) => {
40
+ resolveWebsocketFailed = resolve;
41
+ });
42
+ }
43
+ return websocketFailedPromise;
44
+ };
45
+ try {
46
+ if (json.error || !json.steps)
47
+ throw json;
48
+ if ((0, prepareBatchTransaction_js_1.canBatchTransactions)(json.steps)) {
49
+ isAtomicBatchSupported = Boolean(wallet?.supportsAtomicBatch &&
50
+ (await wallet?.supportsAtomicBatch(chainId)));
51
+ if (isAtomicBatchSupported) {
52
+ const batchedStep = (0, prepareBatchTransaction_js_1.prepareBatchTransaction)(json.steps);
53
+ json.steps = [batchedStep];
54
+ }
55
+ }
56
+ if (chainId === 1337 &&
57
+ json.steps[0] &&
58
+ json.steps[0].id !== 'sign') {
59
+ const activeWalletChainId = await wallet?.getChainId();
60
+ const signatureStep = (0, index_js_1.prepareHyperliquidSignatureStep)(json.steps, activeWalletChainId);
61
+ json.steps = [signatureStep];
62
+ }
63
+ setState({
64
+ steps: [...json?.steps],
65
+ fees: { ...json?.fees },
66
+ breakdown: json?.breakdown,
67
+ details: json?.details
68
+ });
69
+ let incompleteStepIndex = -1;
70
+ let incompleteStepItemIndex = -1;
71
+ json.steps.find((step, i) => {
72
+ if (!step.items) {
73
+ return false;
74
+ }
75
+ incompleteStepItemIndex = step.items.findIndex((item) => item.status == 'incomplete');
76
+ if (incompleteStepItemIndex !== -1) {
77
+ incompleteStepIndex = i;
78
+ return true;
79
+ }
80
+ });
81
+ if (incompleteStepIndex === -1) {
82
+ client.log(['Execute Steps: all steps complete'], logger_js_1.LogLevel.Verbose);
83
+ statusControl.closeWebSocket?.();
84
+ clearFailureTimeout(statusControl, client);
85
+ return json;
86
+ }
87
+ const step = json.steps[incompleteStepIndex];
88
+ if (stepOptions && stepOptions[step.id]) {
89
+ const currentStepOptions = stepOptions[step.id];
90
+ step.items?.forEach((stepItem) => {
91
+ if (currentStepOptions.gasLimit) {
92
+ stepItem.data.gas = currentStepOptions.gasLimit;
93
+ }
94
+ });
95
+ }
96
+ let stepItems = json.steps[incompleteStepIndex].items;
97
+ if (!stepItems) {
98
+ client.log(['Execute Steps: skipping step, no items in step'], logger_js_1.LogLevel.Verbose);
99
+ return json;
100
+ }
101
+ const isLastStep = incompleteStepIndex === json.steps.length - 1;
102
+ const isStepIncomplete = stepItems.some((item) => item.status === 'incomplete');
103
+ const requestId = (0, websocket_js_1.extractDepositRequestId)(json.steps);
104
+ if (client.websocketEnabled &&
105
+ requestId &&
106
+ isLastStep &&
107
+ isStepIncomplete &&
108
+ !statusControl.websocketActive &&
109
+ chainId !== 8253038 &&
110
+ json?.details?.currencyOut?.currency?.chainId !== 8253038) {
111
+ statusControl.websocketActive = true;
112
+ websocketFailedPromise = new Promise((resolve) => {
113
+ resolveWebsocketFailed = resolve;
114
+ });
115
+ terminalStatusPromise = new Promise((_, reject) => {
116
+ rejectTerminalStatus = reject;
117
+ });
118
+ statusControl.closeWebSocket = (0, websocket_js_1.trackRequestStatus)({
119
+ event: 'request.status.updated',
120
+ requestId: requestId,
121
+ enabled: true,
122
+ url: client.websocketUrl,
123
+ onOpen: () => {
124
+ client.log(['Websocket open'], logger_js_1.LogLevel.Verbose);
125
+ statusControl.websocketConnected = true;
126
+ },
127
+ onUpdate: (data) => {
128
+ (0, websocketHandlers_js_1.handleWebSocketUpdate)({
129
+ data,
130
+ stepItems,
131
+ chainId,
132
+ setState,
133
+ json,
134
+ client,
135
+ statusControl,
136
+ onTerminalError: (error) => {
137
+ rejectTerminalStatus?.(error);
138
+ }
139
+ });
140
+ },
141
+ onError: (err) => {
142
+ if (!['success', 'refund'].includes(statusControl.lastKnownStatus || '')) {
143
+ client.log(['Websocket connection error, falling back to polling', err], logger_js_1.LogLevel.Verbose);
144
+ statusControl.websocketActive = false;
145
+ statusControl.websocketConnected = false;
146
+ clearFailureTimeout(statusControl, client);
147
+ resolveWebsocketFailed?.();
148
+ }
149
+ },
150
+ onClose: () => {
151
+ client.log(['Websocket closed'], logger_js_1.LogLevel.Verbose);
152
+ clearFailureTimeout(statusControl, client);
153
+ if (!['success', 'refund'].includes(statusControl.lastKnownStatus || '') &&
154
+ !stepItems[0].error) {
155
+ client.log(['Re-enabling polling due to unexpected WebSocket closure'], logger_js_1.LogLevel.Verbose);
156
+ resolveWebsocketFailed?.();
157
+ }
158
+ }
159
+ }).close;
160
+ }
161
+ let { kind } = step;
162
+ client.log([`Execute Steps: Begin processing step items for: ${step.action}`], logger_js_1.LogLevel.Verbose);
163
+ const promises = stepItems
164
+ .filter((stepItem) => stepItem.status === 'incomplete')
165
+ .map((stepItem) => {
166
+ return new Promise(async (resolve, reject) => {
167
+ try {
168
+ const stepExecutionPromise = (async () => {
169
+ switch (kind) {
170
+ case 'transaction': {
171
+ await (0, transactionStep_js_1.handleTransactionStepItem)({
172
+ stepItem: stepItem,
173
+ step,
174
+ wallet,
175
+ setState,
176
+ request,
177
+ client,
178
+ json,
179
+ chainId,
180
+ isAtomicBatchSupported,
181
+ incompleteStepItemIndex,
182
+ stepItems,
183
+ onWebsocketFailed: statusControl.websocketActive
184
+ ? onWebsocketFailed
185
+ : null,
186
+ statusControl
187
+ });
188
+ break;
189
+ }
190
+ case 'signature': {
191
+ await (0, signatureStep_js_1.handleSignatureStepItem)({
192
+ stepItem,
193
+ step,
194
+ wallet,
195
+ setState,
196
+ request,
197
+ client,
198
+ json,
199
+ maximumAttempts,
200
+ pollingInterval,
201
+ chain,
202
+ onWebsocketFailed: statusControl.websocketActive
203
+ ? onWebsocketFailed
204
+ : null
205
+ });
206
+ break;
207
+ }
208
+ default:
209
+ throw new Error(`Unknown step kind: ${kind}. Expected 'signature' or 'transaction'`);
210
+ }
211
+ })();
212
+ if (statusControl.websocketActive && terminalStatusPromise) {
213
+ await Promise.race([stepExecutionPromise, terminalStatusPromise]);
214
+ }
215
+ else {
216
+ await stepExecutionPromise;
217
+ }
218
+ stepItem.status = 'complete';
219
+ stepItem.progressState = 'complete';
220
+ stepItem.isValidatingSignature = false;
221
+ setState({
222
+ steps: [...json?.steps],
223
+ fees: { ...json?.fees },
224
+ breakdown: json?.breakdown,
225
+ details: json?.details
226
+ });
227
+ resolve(stepItem);
228
+ }
229
+ catch (e) {
230
+ const error = e;
231
+ const errorMessage = error
232
+ ? error.message
233
+ : 'Error: something went wrong';
234
+ if (error && json?.steps) {
235
+ json.steps[incompleteStepIndex].error = errorMessage;
236
+ stepItem.error = errorMessage;
237
+ stepItem.errorData = e?.response?.data || e;
238
+ stepItem.isValidatingSignature = false;
239
+ setState({
240
+ steps: [...json?.steps],
241
+ fees: { ...json?.fees },
242
+ breakdown: json?.breakdown,
243
+ details: json?.details
244
+ });
245
+ }
246
+ reject(error);
247
+ }
248
+ });
249
+ });
250
+ await Promise.all(promises);
251
+ const result = await executeSteps(chainId, request, wallet, setState, json, stepOptions, statusControl);
252
+ statusControl.closeWebSocket?.();
253
+ clearFailureTimeout(statusControl, client);
254
+ return result;
255
+ }
256
+ catch (err) {
257
+ client.log(['Execute Steps: An error occurred', err], logger_js_1.LogLevel.Error);
258
+ statusControl.closeWebSocket?.();
259
+ clearFailureTimeout(statusControl, client);
260
+ const error = err && err?.response?.data ? err.response.data : err;
261
+ let refunded = false;
262
+ if (error && error.message) {
263
+ refunded = error.message.includes('Refunded');
264
+ }
265
+ else if (error && error.includes) {
266
+ refunded = error.includes('Refunded');
267
+ }
268
+ if (json) {
269
+ json.error = error;
270
+ setState({
271
+ steps: json.steps ? [...json.steps] : [{}],
272
+ fees: { ...json?.fees },
273
+ breakdown: json?.breakdown,
274
+ details: json?.details,
275
+ refunded: refunded,
276
+ error
277
+ });
278
+ }
279
+ else {
280
+ json = {
281
+ error,
282
+ steps: [],
283
+ refunded
284
+ };
285
+ setState(json);
286
+ }
287
+ throw err;
288
+ }
289
+ }
290
+ exports.executeSteps = executeSteps;
291
+ function clearFailureTimeout(statusControl, client) {
292
+ if (statusControl.websocketFailureTimeoutId) {
293
+ clearTimeout(statusControl.websocketFailureTimeoutId);
294
+ statusControl.websocketFailureTimeoutId = null;
295
+ client.log(['Cleared failure timeout during cleanup'], logger_js_1.LogLevel.Verbose);
296
+ }
297
+ }
298
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/executeSteps/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,186 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleSignatureStepItem = void 0;
4
+ const index_js_1 = require("../index.js");
5
+ const logger_js_1 = require("../logger.js");
6
+ const hyperliquid_js_1 = require("../hyperliquid.js");
7
+ async function handleSignatureStepItem({ stepItem, step, wallet, setState, request, client, json, maximumAttempts, pollingInterval, chain, onWebsocketFailed }) {
8
+ if (!stepItem.data) {
9
+ throw `Step item is missing data`;
10
+ }
11
+ let signature;
12
+ const signData = stepItem.data['sign'];
13
+ const postData = stepItem.data['post'];
14
+ client.log(['Execute Steps: Begin signature step'], logger_js_1.LogLevel.Verbose);
15
+ if (signData) {
16
+ stepItem.progressState = 'signing';
17
+ setState({
18
+ steps: [...json.steps],
19
+ fees: { ...json?.fees },
20
+ breakdown: json?.breakdown,
21
+ details: json?.details
22
+ });
23
+ signature = await wallet.handleSignMessageStep(stepItem, step);
24
+ if (signature) {
25
+ request.params = {
26
+ ...request.params,
27
+ signature
28
+ };
29
+ }
30
+ }
31
+ if (chain.id === 1337 && signature) {
32
+ await (0, hyperliquid_js_1.sendUsd)(client, signature, stepItem);
33
+ }
34
+ if (postData) {
35
+ client.log(['Execute Steps: Posting order'], logger_js_1.LogLevel.Verbose);
36
+ stepItem.progressState = 'posting';
37
+ setState({
38
+ steps: [...json.steps],
39
+ fees: { ...json?.fees },
40
+ breakdown: json?.breakdown,
41
+ details: json?.details
42
+ });
43
+ const postOrderUrl = new URL(`${request.baseURL}${postData.endpoint}`);
44
+ const headers = {
45
+ 'Content-Type': 'application/json'
46
+ };
47
+ if (postData.body && !postData.body.referrer) {
48
+ postData.body.referrer = client.source;
49
+ }
50
+ try {
51
+ const getData = async function () {
52
+ let response = await index_js_1.axios.request({
53
+ url: postOrderUrl.href,
54
+ data: postData.body ? JSON.stringify(postData.body) : undefined,
55
+ method: postData.method,
56
+ params: request.params,
57
+ headers
58
+ });
59
+ return response;
60
+ };
61
+ const res = await getData();
62
+ if (res.data && res.data.steps && Array.isArray(res.data.steps)) {
63
+ json.steps = [...json.steps, ...res.data.steps];
64
+ setState({
65
+ steps: [...json.steps, ...res.data.steps],
66
+ fees: { ...json.fees },
67
+ breakdown: json.breakdown,
68
+ details: json.details
69
+ });
70
+ client.log([
71
+ `Execute Steps: New steps appended from ${postData.endpoint}`,
72
+ res.data.steps
73
+ ], logger_js_1.LogLevel.Verbose);
74
+ return;
75
+ }
76
+ if (res.status > 299 || res.status < 200)
77
+ throw res.data;
78
+ if (res.data.results) {
79
+ stepItem.orderData = res.data.results;
80
+ }
81
+ else if (res.data && res.data.orderId) {
82
+ stepItem.orderData = [
83
+ {
84
+ orderId: res.data.orderId,
85
+ crossPostingOrderId: res.data.crossPostingOrderId,
86
+ orderIndex: res.data.orderIndex || 0
87
+ }
88
+ ];
89
+ }
90
+ setState({
91
+ steps: [...json?.steps],
92
+ fees: { ...json?.fees },
93
+ breakdown: json?.breakdown,
94
+ details: json?.details
95
+ });
96
+ }
97
+ catch (err) {
98
+ throw err;
99
+ }
100
+ }
101
+ if (stepItem?.check) {
102
+ stepItem.progressState = 'validating';
103
+ setState({
104
+ steps: [...json.steps],
105
+ fees: { ...json?.fees },
106
+ breakdown: json?.breakdown,
107
+ details: json?.details
108
+ });
109
+ stepItem.isValidatingSignature = true;
110
+ setState({
111
+ steps: [...json?.steps],
112
+ fees: { ...json?.fees },
113
+ breakdown: json?.breakdown,
114
+ details: json?.details
115
+ });
116
+ const headers = {
117
+ 'Content-Type': 'application/json'
118
+ };
119
+ if (onWebsocketFailed) {
120
+ client.log([
121
+ 'Waiting for WebSocket to fail before starting signature validation polling'
122
+ ], logger_js_1.LogLevel.Verbose);
123
+ try {
124
+ await onWebsocketFailed();
125
+ client.log(['WebSocket failed, starting signature polling'], logger_js_1.LogLevel.Verbose);
126
+ }
127
+ catch (e) {
128
+ client.log(['WebSocket failed promise rejected, skipping signature polling'], logger_js_1.LogLevel.Verbose);
129
+ return;
130
+ }
131
+ }
132
+ const pollWithCancellation = async () => {
133
+ let attemptCount = 0;
134
+ while (attemptCount < maximumAttempts) {
135
+ try {
136
+ const res = await index_js_1.axios.request({
137
+ url: `${request.baseURL}${stepItem?.check?.endpoint}`,
138
+ method: stepItem?.check?.method,
139
+ headers
140
+ });
141
+ client.log([`Execute Steps: Polling execute status to check if indexed`, res], logger_js_1.LogLevel.Verbose);
142
+ if (res?.data?.status === 'success' && res?.data?.txHashes) {
143
+ const chainTxHashes = res.data?.txHashes?.map((hash) => {
144
+ return {
145
+ txHash: hash,
146
+ chainId: res.data.destinationChainId ?? chain?.id
147
+ };
148
+ });
149
+ if (res?.data?.inTxHashes) {
150
+ const chainInTxHashes = res.data.inTxHashes.map((hash) => {
151
+ return {
152
+ txHash: hash,
153
+ chainId: chain?.id ?? res.data.originChainId
154
+ };
155
+ });
156
+ stepItem.internalTxHashes = chainInTxHashes;
157
+ }
158
+ stepItem.txHashes = chainTxHashes;
159
+ return;
160
+ }
161
+ else if (res?.data?.status === 'failure') {
162
+ throw Error(res?.data?.details || 'Transaction failed');
163
+ }
164
+ else if (res?.data?.status === 'delayed') {
165
+ stepItem.progressState = 'validating_delayed';
166
+ setState({
167
+ steps: [...json?.steps],
168
+ fees: { ...json?.fees },
169
+ breakdown: json?.breakdown,
170
+ details: json?.details
171
+ });
172
+ }
173
+ attemptCount++;
174
+ await new Promise((resolve) => setTimeout(resolve, pollingInterval));
175
+ }
176
+ catch (error) {
177
+ throw error;
178
+ }
179
+ }
180
+ throw new Error(`Failed to get an ok response after ${attemptCount} attempt(s), aborting`);
181
+ };
182
+ await pollWithCancellation();
183
+ }
184
+ }
185
+ exports.handleSignatureStepItem = handleSignatureStepItem;
186
+ //# sourceMappingURL=signatureStep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signatureStep.js","sourceRoot":"","sources":["../../../../src/utils/executeSteps/signatureStep.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleTransactionStepItem = void 0;
4
+ const transaction_js_1 = require("../transaction.js");
5
+ const logger_js_1 = require("../logger.js");
6
+ async function handleTransactionStepItem({ stepItem, step, wallet, setState, request, client, json, chainId, isAtomicBatchSupported, incompleteStepItemIndex, stepItems, onWebsocketFailed, statusControl }) {
7
+ if (!stepItem.data) {
8
+ throw `Step item is missing data`;
9
+ }
10
+ client.log(['Execute Steps: Begin transaction step for, sending transaction'], logger_js_1.LogLevel.Verbose);
11
+ const transactionChainId = stepItem.data?.chainId ?? chainId;
12
+ const crossChainIntentChainId = chainId;
13
+ stepItem.progressState = 'confirming';
14
+ setState({
15
+ steps: [...json.steps],
16
+ fees: { ...json?.fees },
17
+ breakdown: json?.breakdown,
18
+ details: json?.details
19
+ });
20
+ const transactionStepItems = isAtomicBatchSupported && incompleteStepItemIndex === 0
21
+ ? stepItems
22
+ : stepItem;
23
+ await (0, transaction_js_1.sendTransactionSafely)(transactionChainId, transactionStepItems, step, wallet, (txHashes) => {
24
+ client.log(['Execute Steps: Transaction step, got transactions', txHashes], logger_js_1.LogLevel.Verbose);
25
+ stepItem.txHashes = txHashes;
26
+ setState({
27
+ steps: [...json.steps],
28
+ fees: { ...json?.fees },
29
+ breakdown: json?.breakdown,
30
+ details: json?.details
31
+ });
32
+ }, (internalTxHashes) => {
33
+ stepItem.internalTxHashes = internalTxHashes;
34
+ setState({
35
+ steps: [...json.steps],
36
+ fees: { ...json?.fees },
37
+ breakdown: json?.breakdown,
38
+ details: json?.details
39
+ });
40
+ }, onWebsocketFailed, request, undefined, crossChainIntentChainId, (res) => {
41
+ if (res && res.data.status === 'delayed') {
42
+ stepItem.progressState = 'validating_delayed';
43
+ }
44
+ else {
45
+ stepItem.progressState = 'validating';
46
+ }
47
+ setState({
48
+ steps: [...json.steps],
49
+ fees: { ...json?.fees },
50
+ breakdown: json?.breakdown,
51
+ details: json?.details
52
+ });
53
+ }, json?.details, (receipt) => {
54
+ stepItem.receipt = receipt;
55
+ setState({
56
+ steps: [...json.steps],
57
+ fees: { ...json?.fees },
58
+ breakdown: json?.breakdown,
59
+ details: json?.details
60
+ });
61
+ }, (checkStatus) => {
62
+ if (checkStatus != stepItem.checkStatus) {
63
+ stepItem.checkStatus = checkStatus;
64
+ setState({
65
+ steps: [...json.steps],
66
+ fees: { ...json?.fees },
67
+ breakdown: json?.breakdown,
68
+ details: json?.details
69
+ });
70
+ }
71
+ }, statusControl);
72
+ }
73
+ exports.handleTransactionStepItem = handleTransactionStepItem;
74
+ //# sourceMappingURL=transactionStep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transactionStep.js","sourceRoot":"","sources":["../../../../src/utils/executeSteps/transactionStep.ts"],"names":[],"mappings":"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"}