@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,112 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.handleWebSocketUpdate = void 0;
4
+ const logger_js_1 = require("../logger.js");
5
+ function handleWebSocketUpdate({ data, stepItems, chainId, setState, json, client, statusControl, onTerminalError }) {
6
+ statusControl.lastKnownStatus = data.status;
7
+ if (data.status !== 'failure') {
8
+ clearFailureTimeout(statusControl, client, `status changed to ${data.status}`);
9
+ }
10
+ if (isTerminalStatus(data.status)) {
11
+ client.log(['WebSocket received terminal status: ', data.status], logger_js_1.LogLevel.Verbose);
12
+ statusControl.closeWebSocket?.();
13
+ switch (data.status) {
14
+ case 'success':
15
+ handleSuccessStatus(data, stepItems, chainId, setState, json, client);
16
+ break;
17
+ case 'refund':
18
+ handleRefundStatus(client, stepItems, onTerminalError);
19
+ break;
20
+ }
21
+ }
22
+ else if (data.status === 'failure') {
23
+ handleFailureStatusWithDelay(stepItems, client, statusControl, onTerminalError);
24
+ }
25
+ else if (data.status === 'pending') {
26
+ client.log(['WebSocket received pending status'], logger_js_1.LogLevel.Verbose);
27
+ }
28
+ }
29
+ exports.handleWebSocketUpdate = handleWebSocketUpdate;
30
+ function isTerminalStatus(status) {
31
+ return ['success', 'refund'].includes(status);
32
+ }
33
+ function handleSuccessStatus(data, stepItems, chainId, setState, json, client) {
34
+ if (data.txHashes && data.txHashes.length > 0) {
35
+ const txHashes = data.txHashes.map((hash) => ({
36
+ txHash: hash,
37
+ chainId: data.destinationChainId ?? chainId
38
+ }));
39
+ updateIncompleteItems(stepItems, (item) => {
40
+ item.txHashes = txHashes;
41
+ });
42
+ }
43
+ if (data.inTxHashes && data.inTxHashes.length > 0) {
44
+ const internalTxHashes = data.inTxHashes.map((hash) => ({
45
+ txHash: hash,
46
+ chainId: data.originChainId ?? chainId
47
+ }));
48
+ updateIncompleteItems(stepItems, (item) => {
49
+ item.internalTxHashes = internalTxHashes;
50
+ });
51
+ }
52
+ updateIncompleteItems(stepItems, (item) => {
53
+ item.status = 'complete';
54
+ item.progressState = 'complete';
55
+ item.checkStatus = 'success';
56
+ });
57
+ setState({
58
+ steps: [...json.steps],
59
+ fees: { ...json?.fees },
60
+ breakdown: json?.breakdown,
61
+ details: json?.details
62
+ });
63
+ client.log(['WebSocket: Step completed successfully', data], logger_js_1.LogLevel.Verbose);
64
+ }
65
+ function handleFailureStatus(client, stepItems, onTerminalError) {
66
+ client.log(['WebSocket: transaction failed'], logger_js_1.LogLevel.Error);
67
+ updateIncompleteItems(stepItems, (item) => {
68
+ item.checkStatus = 'failure';
69
+ });
70
+ const error = new Error('Transaction failed');
71
+ onTerminalError?.(error);
72
+ }
73
+ function handleRefundStatus(client, stepItems, onTerminalError) {
74
+ client.log(['WebSocket: transaction refunded'], logger_js_1.LogLevel.Verbose);
75
+ updateIncompleteItems(stepItems, (item) => {
76
+ item.checkStatus = 'refund';
77
+ });
78
+ const error = new Error('Transaction failed: Refunded');
79
+ onTerminalError?.(error);
80
+ }
81
+ function handleFailureStatusWithDelay(stepItems, client, statusControl, onTerminalError) {
82
+ clearFailureTimeout(statusControl, client, 'new failure status received');
83
+ client.log([
84
+ 'WebSocket received failure status, waiting 2 seconds for potential status change'
85
+ ], logger_js_1.LogLevel.Verbose);
86
+ statusControl.websocketFailureTimeoutId = setTimeout(() => {
87
+ if (statusControl.websocketFailureTimeoutId &&
88
+ statusControl.lastKnownStatus === 'failure') {
89
+ client.log(['WebSocket: 2-second timeout expired, treating failure as terminal'], logger_js_1.LogLevel.Error);
90
+ statusControl.websocketFailureTimeoutId = null;
91
+ handleFailureStatus(client, stepItems, onTerminalError);
92
+ }
93
+ else {
94
+ client.log(['WebSocket: Failure timeout cancelled due to status change'], logger_js_1.LogLevel.Verbose);
95
+ }
96
+ }, 2000);
97
+ }
98
+ function updateIncompleteItems(stepItems, updateFn) {
99
+ stepItems.forEach((item) => {
100
+ if (item.status === 'incomplete') {
101
+ updateFn(item);
102
+ }
103
+ });
104
+ }
105
+ function clearFailureTimeout(statusControl, client, reason) {
106
+ if (statusControl.websocketFailureTimeoutId) {
107
+ clearTimeout(statusControl.websocketFailureTimeoutId);
108
+ statusControl.websocketFailureTimeoutId = null;
109
+ client.log([`Cleared failure timeout: ${reason}`], logger_js_1.LogLevel.Verbose);
110
+ }
111
+ }
112
+ //# sourceMappingURL=websocketHandlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocketHandlers.js","sourceRoot":"","sources":["../../../../src/utils/executeSteps/websocketHandlers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchChainConfigs = void 0;
4
+ const chain_js_1 = require("./chain.js");
5
+ const axios_js_1 = require("./axios.js");
6
+ const fetchChainConfigs = async (baseApiUrl, referrer) => {
7
+ let queryString = '';
8
+ if (referrer) {
9
+ const queryParams = new URLSearchParams();
10
+ queryParams.set('referrer', referrer);
11
+ queryString = `?${queryParams.toString()}`;
12
+ }
13
+ const response = await axios_js_1.axios.get(`${baseApiUrl}/chains${queryString}`);
14
+ if (response.data && response.data.chains) {
15
+ return response.data.chains.map((chain) => (0, chain_js_1.configureViemChain)(chain));
16
+ }
17
+ throw 'No Chain Data';
18
+ };
19
+ exports.fetchChainConfigs = fetchChainConfigs;
20
+ //# sourceMappingURL=fetchChainConfigs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetchChainConfigs.js","sourceRoot":"","sources":["../../../src/utils/fetchChainConfigs.ts"],"names":[],"mappings":";;;AAAA,yCAA+C;AAE/C,yCAAkC;AAE3B,MAAM,iBAAiB,GAAG,KAAK,EACpC,UAAkB,EAClB,QAAiB,EACM,EAAE;IACzB,IAAI,WAAW,GAAG,EAAE,CAAA;IACpB,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAA;QACzC,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAA;QACrC,WAAW,GAAG,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAA;IAC5C,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,gBAAK,CAAC,GAAG,CAAC,GAAG,UAAU,UAAU,WAAW,EAAE,CAAC,CAAA;IACtE,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1C,OAAO,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,IAAA,6BAAkB,EAAC,KAAK,CAAC,CAAC,CAAA;IAC5E,CAAC;IACD,MAAM,eAAe,CAAA;AACvB,CAAC,CAAA;AAfY,QAAA,iBAAiB,qBAe7B"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCurrentStepData = void 0;
4
+ const getCurrentStepData = (steps) => {
5
+ let currentStep = null;
6
+ let currentStepItem;
7
+ let txHashes = [];
8
+ for (const step of steps) {
9
+ for (const item of step.items || []) {
10
+ if (item.txHashes && item.txHashes.length > 0) {
11
+ txHashes = item.txHashes.concat([...txHashes]);
12
+ }
13
+ if (item.internalTxHashes && item.internalTxHashes.length > 0) {
14
+ txHashes = item.internalTxHashes.concat([...txHashes]);
15
+ }
16
+ if (item.status === 'incomplete') {
17
+ currentStep = step;
18
+ currentStepItem = item;
19
+ break;
20
+ }
21
+ }
22
+ if (currentStep && currentStepItem)
23
+ break;
24
+ }
25
+ return { currentStep, currentStepItem, txHashes };
26
+ };
27
+ exports.getCurrentStepData = getCurrentStepData;
28
+ //# sourceMappingURL=getCurrentStepData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getCurrentStepData.js","sourceRoot":"","sources":["../../../src/utils/getCurrentStepData.ts"],"names":[],"mappings":";;;AAEO,MAAM,kBAAkB,GAAG,CAAC,KAAuB,EAAE,EAAE;IAC5D,IAAI,WAAW,GAA8C,IAAI,CAAA;IACjE,IAAI,eAAyE,CAAA;IAC7E,IAAI,QAAQ,GAA0C,EAAE,CAAA;IAExD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YACpC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAA;YAChD,CAAC;YACD,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9D,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAA;YACxD,CAAC;YACD,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;gBACjC,WAAW,GAAG,IAAI,CAAA;gBAClB,eAAe,GAAG,IAAI,CAAA;gBACtB,MAAK;YACP,CAAC;QACH,CAAC;QACD,IAAI,WAAW,IAAI,eAAe;YAAE,MAAK;IAC3C,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAA;AACnD,CAAC,CAAA;AAvBY,QAAA,kBAAkB,sBAuB9B"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTenderlyDetails = void 0;
4
+ const axios_js_1 = require("./axios.js");
5
+ const getTenderlyDetails = (txHash) => {
6
+ return new Promise((resolve) => {
7
+ axios_js_1.axios
8
+ .get(`https://api.tenderly.co/api/v1/explorer/${txHash}`, {
9
+ timeout: 5000
10
+ })
11
+ .then((response) => {
12
+ if (response && response.data && response.data.error_info) {
13
+ resolve(response.data.error_info);
14
+ }
15
+ resolve(null);
16
+ })
17
+ .catch((e) => {
18
+ console.warn(`Tenderly api failed: ${e}`);
19
+ resolve(null);
20
+ });
21
+ });
22
+ };
23
+ exports.getTenderlyDetails = getTenderlyDetails;
24
+ //# sourceMappingURL=getTenderlyDetails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getTenderlyDetails.js","sourceRoot":"","sources":["../../../src/utils/getTenderlyDetails.ts"],"names":[],"mappings":";;;AAAA,yCAAkC;AAO3B,MAAM,kBAAkB,GAAG,CAChC,MAAc,EACqB,EAAE;IACrC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,gBAAK;aACF,GAAG,CAAC,2CAA2C,MAAM,EAAE,EAAE;YACxD,OAAO,EAAE,IAAI;SACd,CAAC;aACD,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE;YACjB,IAAI,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC1D,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;YACnC,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAA;QACf,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;YACX,OAAO,CAAC,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAA;YACzC,OAAO,CAAC,IAAI,CAAC,CAAA;QACf,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;AACJ,CAAC,CAAA;AAnBY,QAAA,kBAAkB,sBAmB9B"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sendUsd = exports.prepareHyperliquidSignatureStep = void 0;
4
+ const viem_1 = require("viem");
5
+ const axios_1 = require("axios");
6
+ const logger_js_1 = require("./logger.js");
7
+ function prepareHyperliquidSignatureStep(steps, chainId) {
8
+ const items = steps[0]?.items;
9
+ const amount = items[0]?.data?.action?.parameters?.amount;
10
+ const destination = items[0]?.data?.action?.parameters?.destination;
11
+ const signatureStep = {
12
+ id: 'sign',
13
+ action: 'Confirm transaction in your wallet',
14
+ description: `Sign a message to confirm the transaction`,
15
+ kind: 'signature',
16
+ items: [
17
+ {
18
+ status: 'incomplete',
19
+ data: {
20
+ sign: {
21
+ signatureKind: 'eip712',
22
+ domain: {
23
+ name: 'HyperliquidSignTransaction',
24
+ version: '1',
25
+ chainId: chainId,
26
+ verifyingContract: '0x0000000000000000000000000000000000000000'
27
+ },
28
+ types: {
29
+ 'HyperliquidTransaction:UsdSend': [
30
+ { name: 'hyperliquidChain', type: 'string' },
31
+ { name: 'destination', type: 'string' },
32
+ { name: 'amount', type: 'string' },
33
+ { name: 'time', type: 'uint64' }
34
+ ],
35
+ EIP712Domain: [
36
+ { name: 'name', type: 'string' },
37
+ { name: 'version', type: 'string' },
38
+ { name: 'chainId', type: 'uint256' },
39
+ { name: 'verifyingContract', type: 'address' }
40
+ ]
41
+ },
42
+ primaryType: 'HyperliquidTransaction:UsdSend',
43
+ value: {
44
+ type: 'usdSend',
45
+ signatureChainId: `0x${chainId.toString(16)}`,
46
+ hyperliquidChain: 'Mainnet',
47
+ destination: destination?.toLowerCase(),
48
+ amount,
49
+ time: new Date().getTime()
50
+ }
51
+ }
52
+ },
53
+ check: {
54
+ endpoint: `/intents/status?requestId=${steps[0]?.requestId}`,
55
+ method: 'GET'
56
+ }
57
+ }
58
+ ],
59
+ requestId: steps[0]?.requestId,
60
+ depositAddress: steps[0]?.depositAddress
61
+ };
62
+ return signatureStep;
63
+ }
64
+ exports.prepareHyperliquidSignatureStep = prepareHyperliquidSignatureStep;
65
+ async function sendUsd(client, signature, stepItem) {
66
+ client.log(['Execute Steps: Sending signature to Hyperliquid', signature], logger_js_1.LogLevel.Verbose);
67
+ const { r, s, v } = (0, viem_1.parseSignature)(signature);
68
+ const currentTime = stepItem?.data?.sign?.value?.time ?? new Date().getTime();
69
+ const res = await axios_1.default.post('https://api.hyperliquid.xyz/exchange', {
70
+ signature: {
71
+ r,
72
+ s,
73
+ v: Number(v ?? 0n)
74
+ },
75
+ nonce: currentTime,
76
+ action: {
77
+ type: stepItem?.data?.sign?.value?.type,
78
+ signatureChainId: `0x${stepItem?.data?.sign?.domain?.chainId?.toString(16)}`,
79
+ hyperliquidChain: 'Mainnet',
80
+ destination: stepItem?.data?.sign?.value?.destination?.toLowerCase(),
81
+ amount: stepItem?.data?.sign?.value?.amount,
82
+ time: currentTime
83
+ }
84
+ });
85
+ if (!res ||
86
+ !res.data ||
87
+ (res && res.status !== 200) ||
88
+ res.data.status != 'ok') {
89
+ throw 'Failed to send signature to HyperLiquid';
90
+ }
91
+ client.log(['Execute Steps: Signature sent to Hyperliquid', res.data], logger_js_1.LogLevel.Verbose);
92
+ return res.data;
93
+ }
94
+ exports.sendUsd = sendUsd;
95
+ //# sourceMappingURL=hyperliquid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hyperliquid.js","sourceRoot":"","sources":["../../../src/utils/hyperliquid.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prepareHyperliquidSignatureStep = exports.repeatUntilOk = exports.safeStructuredClone = exports.isSimulateContractRequest = exports.getCurrentStepData = exports.fetchChainConfigs = exports.convertViemChainToRelayChain = exports.configureViemChain = exports.adaptViemWallet = exports.prepareCallTransaction = exports.axios = exports.LogLevel = exports.log = exports.isAPIError = exports.APIError = exports.request = exports.pollUntilHasData = exports.pollUntilOk = exports.setParams = exports.executeSteps = void 0;
4
+ var index_js_1 = require("./executeSteps/index.js");
5
+ Object.defineProperty(exports, "executeSteps", { enumerable: true, get: function () { return index_js_1.executeSteps; } });
6
+ var params_js_1 = require("./params.js");
7
+ Object.defineProperty(exports, "setParams", { enumerable: true, get: function () { return params_js_1.setParams; } });
8
+ var pollApi_js_1 = require("./pollApi.js");
9
+ Object.defineProperty(exports, "pollUntilOk", { enumerable: true, get: function () { return pollApi_js_1.pollUntilOk; } });
10
+ Object.defineProperty(exports, "pollUntilHasData", { enumerable: true, get: function () { return pollApi_js_1.pollUntilHasData; } });
11
+ var request_js_1 = require("./request.js");
12
+ Object.defineProperty(exports, "request", { enumerable: true, get: function () { return request_js_1.request; } });
13
+ Object.defineProperty(exports, "APIError", { enumerable: true, get: function () { return request_js_1.APIError; } });
14
+ Object.defineProperty(exports, "isAPIError", { enumerable: true, get: function () { return request_js_1.isAPIError; } });
15
+ var logger_js_1 = require("./logger.js");
16
+ Object.defineProperty(exports, "log", { enumerable: true, get: function () { return logger_js_1.log; } });
17
+ Object.defineProperty(exports, "LogLevel", { enumerable: true, get: function () { return logger_js_1.LogLevel; } });
18
+ var axios_js_1 = require("./axios.js");
19
+ Object.defineProperty(exports, "axios", { enumerable: true, get: function () { return axios_js_1.axios; } });
20
+ var prepareCallTransaction_js_1 = require("./prepareCallTransaction.js");
21
+ Object.defineProperty(exports, "prepareCallTransaction", { enumerable: true, get: function () { return prepareCallTransaction_js_1.default; } });
22
+ var viemWallet_js_1 = require("./viemWallet.js");
23
+ Object.defineProperty(exports, "adaptViemWallet", { enumerable: true, get: function () { return viemWallet_js_1.adaptViemWallet; } });
24
+ var chain_js_1 = require("./chain.js");
25
+ Object.defineProperty(exports, "configureViemChain", { enumerable: true, get: function () { return chain_js_1.configureViemChain; } });
26
+ Object.defineProperty(exports, "convertViemChainToRelayChain", { enumerable: true, get: function () { return chain_js_1.convertViemChainToRelayChain; } });
27
+ var fetchChainConfigs_js_1 = require("./fetchChainConfigs.js");
28
+ Object.defineProperty(exports, "fetchChainConfigs", { enumerable: true, get: function () { return fetchChainConfigs_js_1.fetchChainConfigs; } });
29
+ var getCurrentStepData_js_1 = require("./getCurrentStepData.js");
30
+ Object.defineProperty(exports, "getCurrentStepData", { enumerable: true, get: function () { return getCurrentStepData_js_1.getCurrentStepData; } });
31
+ var simulateContract_js_1 = require("./simulateContract.js");
32
+ Object.defineProperty(exports, "isSimulateContractRequest", { enumerable: true, get: function () { return simulateContract_js_1.isSimulateContractRequest; } });
33
+ var structuredClone_js_1 = require("./structuredClone.js");
34
+ Object.defineProperty(exports, "safeStructuredClone", { enumerable: true, get: function () { return structuredClone_js_1.safeStructuredClone; } });
35
+ var repeatUntilOk_js_1 = require("./repeatUntilOk.js");
36
+ Object.defineProperty(exports, "repeatUntilOk", { enumerable: true, get: function () { return repeatUntilOk_js_1.repeatUntilOk; } });
37
+ var hyperliquid_js_1 = require("./hyperliquid.js");
38
+ Object.defineProperty(exports, "prepareHyperliquidSignatureStep", { enumerable: true, get: function () { return hyperliquid_js_1.prepareHyperliquidSignatureStep; } });
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,oDAAsD;AAA7C,wGAAA,YAAY,OAAA;AACrB,yCAAuC;AAA9B,sGAAA,SAAS,OAAA;AAClB,2CAA4D;AAAnD,yGAAA,WAAW,OAAA;AAAE,8GAAA,gBAAgB,OAAA;AACtC,2CAA4D;AAAnD,qGAAA,OAAO,OAAA;AAAE,sGAAA,QAAQ,OAAA;AAAE,wGAAA,UAAU,OAAA;AACtC,yCAA2C;AAAlC,gGAAA,GAAG,OAAA;AAAE,qGAAA,QAAQ,OAAA;AACtB,uCAAkC;AAAzB,iGAAA,KAAK,OAAA;AACd,yEAA+E;AAAtE,mIAAA,OAAO,OAA0B;AAC1C,iDAAiD;AAAxC,gHAAA,eAAe,OAAA;AACxB,uCAA6E;AAApE,8GAAA,kBAAkB,OAAA;AAAE,wHAAA,4BAA4B,OAAA;AACzD,+DAA0D;AAAjD,yHAAA,iBAAiB,OAAA;AAC1B,iEAA4D;AAAnD,2HAAA,kBAAkB,OAAA;AAC3B,6DAG8B;AAD5B,gIAAA,yBAAyB,OAAA;AAE3B,2DAA0D;AAAjD,yHAAA,mBAAmB,OAAA;AAC5B,uDAAkD;AAAzC,iHAAA,aAAa,OAAA;AACtB,mDAAkE;AAAzD,iIAAA,+BAA+B,OAAA"}
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.log = exports.LogLevel = void 0;
4
+ var LogLevel;
5
+ (function (LogLevel) {
6
+ LogLevel[LogLevel["Verbose"] = 4] = "Verbose";
7
+ LogLevel[LogLevel["Info"] = 3] = "Info";
8
+ LogLevel[LogLevel["Warn"] = 2] = "Warn";
9
+ LogLevel[LogLevel["Error"] = 1] = "Error";
10
+ LogLevel[LogLevel["None"] = 0] = "None";
11
+ })(LogLevel || (exports.LogLevel = LogLevel = {}));
12
+ const log = (params, level, currentLevel) => {
13
+ if (currentLevel >= level) {
14
+ const data = params.reduce((params, param, i) => {
15
+ if ((i + 1) % 2) {
16
+ params.push('\n');
17
+ }
18
+ params.push(param);
19
+ return params;
20
+ }, []);
21
+ switch (level) {
22
+ case LogLevel.Info:
23
+ console.info(...data);
24
+ break;
25
+ case LogLevel.Error:
26
+ console.error(...data);
27
+ break;
28
+ case LogLevel.Warn:
29
+ console.warn(...data);
30
+ break;
31
+ default:
32
+ console.log(...data);
33
+ break;
34
+ }
35
+ }
36
+ };
37
+ exports.log = log;
38
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/utils/logger.ts"],"names":[],"mappings":";;;AAAA,IAAY,QAMX;AAND,WAAY,QAAQ;IAClB,6CAAW,CAAA;IACX,uCAAQ,CAAA;IACR,uCAAQ,CAAA;IACR,yCAAS,CAAA;IACT,uCAAQ,CAAA;AACV,CAAC,EANW,QAAQ,wBAAR,QAAQ,QAMnB;AAEM,MAAM,GAAG,GAAG,CAAC,MAAa,EAAE,KAAe,EAAE,YAAsB,EAAE,EAAE;IAC5E,IAAI,YAAY,IAAI,KAAK,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YAC9C,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACnB,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAClB,OAAO,MAAM,CAAA;QACf,CAAC,EAAE,EAAE,CAAC,CAAA;QACN,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,QAAQ,CAAC,IAAI;gBAChB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;gBACrB,MAAK;YACP,KAAK,QAAQ,CAAC,KAAK;gBACjB,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;gBACtB,MAAK;YACP,KAAK,QAAQ,CAAC,IAAI;gBAChB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;gBACrB,MAAK;YACP;gBACE,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;gBACpB,MAAK;QACT,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAxBY,QAAA,GAAG,OAwBf"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setParams = void 0;
4
+ function setParams(url, query) {
5
+ Object.keys(query).map((key) => {
6
+ let value = query[key];
7
+ if (value !== undefined) {
8
+ if (Array.isArray(value)) {
9
+ value.forEach((item) => {
10
+ url.searchParams.append(key, item);
11
+ });
12
+ }
13
+ else {
14
+ url.searchParams.append(key, query[key]?.toString());
15
+ }
16
+ }
17
+ return url;
18
+ });
19
+ }
20
+ exports.setParams = setParams;
21
+ //# sourceMappingURL=params.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"params.js","sourceRoot":"","sources":["../../../src/utils/params.ts"],"names":[],"mappings":";;;AAwBA,SAAgB,SAAS,CAAC,GAAQ,EAAE,KAA2B;IAC7D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAC7B,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;QACtB,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;oBACrB,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;gBACpC,CAAC,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;YACtD,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC,CAAC,CAAA;AACJ,CAAC;AAdD,8BAcC"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.pollUntilOk = exports.pollUntilHasData = void 0;
4
+ const axios_js_1 = require("./axios.js");
5
+ async function pollUntilHasData(request, dataParser, maximumAttempts = 15, attemptCount = 0) {
6
+ if (attemptCount >= maximumAttempts) {
7
+ throw `Failed to get data after ${attemptCount} attempt(s), aborting`;
8
+ }
9
+ async function getData() {
10
+ let res = await axios_js_1.axios.request(request);
11
+ return res.data;
12
+ }
13
+ const json = await getData();
14
+ const dataExists = dataParser(json);
15
+ if (dataExists)
16
+ return json;
17
+ await new Promise((resolve) => setTimeout(resolve, 5000));
18
+ attemptCount++;
19
+ await pollUntilHasData(request, dataParser, maximumAttempts, attemptCount);
20
+ }
21
+ exports.pollUntilHasData = pollUntilHasData;
22
+ async function pollUntilOk(request, validate, maximumAttempts = 15, attemptCount = 0, pollingInterval = 5000) {
23
+ if (attemptCount >= maximumAttempts) {
24
+ throw `Failed to get an ok response after ${attemptCount} attempt(s), aborting`;
25
+ }
26
+ const res = await axios_js_1.axios.request(request);
27
+ if (!validate) {
28
+ validate = (res) => res.status === 200;
29
+ }
30
+ if (validate(res)) {
31
+ return true;
32
+ }
33
+ else {
34
+ await new Promise((resolve) => setTimeout(resolve, pollingInterval));
35
+ attemptCount++;
36
+ await pollUntilOk(request, validate, maximumAttempts, attemptCount, pollingInterval);
37
+ }
38
+ }
39
+ exports.pollUntilOk = pollUntilOk;
40
+ //# sourceMappingURL=pollApi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pollApi.js","sourceRoot":"","sources":["../../../src/utils/pollApi.ts"],"names":[],"mappings":";;;AACA,yCAAkC;AAW3B,KAAK,UAAU,gBAAgB,CACpC,OAA2B,EAC3B,UAAkC,EAClC,kBAA0B,EAAE,EAC5B,eAAuB,CAAC;IAExB,IAAI,YAAY,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,4BAA4B,YAAY,uBAAuB,CAAA;IACvE,CAAC;IACD,KAAK,UAAU,OAAO;QACpB,IAAI,GAAG,GAAG,MAAM,gBAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;QAEtC,OAAO,GAAG,CAAC,IAAI,CAAA;IACjB,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,OAAO,EAAE,CAAA;IAG5B,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,CAAA;IACnC,IAAI,UAAU;QAAE,OAAO,IAAI,CAAA;IAG3B,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAA;IACzD,YAAY,EAAE,CAAA;IACd,MAAM,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,YAAY,CAAC,CAAA;AAC5E,CAAC;AAzBD,4CAyBC;AAWM,KAAK,UAAU,WAAW,CAC/B,OAA2B,EAC3B,QAA0C,EAC1C,kBAA0B,EAAE,EAC5B,eAAuB,CAAC,EACxB,kBAA0B,IAAI;IAE9B,IAAI,YAAY,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,sCAAsC,YAAY,uBAAuB,CAAA;IACjF,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,gBAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAA;IAExC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,KAAK,GAAG,CAAA;IACxC,CAAC;IAGD,IAAI,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;SAAM,CAAC;QAEN,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAA;QACpE,YAAY,EAAE,CAAA;QACd,MAAM,WAAW,CACf,OAAO,EACP,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,eAAe,CAChB,CAAA;IACH,CAAC;AACH,CAAC;AA/BD,kCA+BC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prepareBatchTransaction = exports.canBatchTransactions = void 0;
4
+ function canBatchTransactions(steps) {
5
+ const firstStep = steps[0];
6
+ const secondStep = steps[1];
7
+ const hasIncompleteApproval = firstStep?.items?.some((item) => item.status === 'incomplete');
8
+ const hasIncompleteDeposit = secondStep?.items?.some((item) => item.status === 'incomplete');
9
+ return (firstStep?.id === 'approve' &&
10
+ (secondStep?.id === 'deposit' || secondStep?.id === 'swap') &&
11
+ hasIncompleteApproval &&
12
+ hasIncompleteDeposit);
13
+ }
14
+ exports.canBatchTransactions = canBatchTransactions;
15
+ function prepareBatchTransaction(steps) {
16
+ const secondStepId = steps[1]?.id;
17
+ const batchedStep = {
18
+ id: `approve-and-${secondStepId}`,
19
+ action: 'Confirm transaction in your wallet',
20
+ description: `Batching approval and ${secondStepId} transactions`,
21
+ kind: 'transaction',
22
+ items: [
23
+ ...(steps[0].items || []),
24
+ ...(steps[1].items || []).map((item) => {
25
+ item.status = 'complete';
26
+ item.progressState = 'complete';
27
+ return item;
28
+ })
29
+ ],
30
+ requestId: steps[1].requestId ?? steps[0].requestId
31
+ };
32
+ return batchedStep;
33
+ }
34
+ exports.prepareBatchTransaction = prepareBatchTransaction;
35
+ //# sourceMappingURL=prepareBatchTransaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareBatchTransaction.js","sourceRoot":"","sources":["../../../src/utils/prepareBatchTransaction.ts"],"names":[],"mappings":";;;AAEA,SAAgB,oBAAoB,CAAC,KAAuB;IAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IAC1B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;IAE3B,MAAM,qBAAqB,GAAG,SAAS,EAAE,KAAK,EAAE,IAAI,CAClD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,YAAY,CACvC,CAAA;IACD,MAAM,oBAAoB,GAAG,UAAU,EAAE,KAAK,EAAE,IAAI,CAClD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,YAAY,CACvC,CAAA;IAED,OAAO,CACL,SAAS,EAAE,EAAE,KAAK,SAAS;QAC3B,CAAC,UAAU,EAAE,EAAE,KAAK,SAAS,IAAI,UAAU,EAAE,EAAE,KAAK,MAAM,CAAC;QAC3D,qBAAqB;QACrB,oBAAoB,CACrB,CAAA;AACH,CAAC;AAjBD,oDAiBC;AAED,SAAgB,uBAAuB,CAAC,KAAuB;IAC7D,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;IAEjC,MAAM,WAAW,GAAG;QAClB,EAAE,EAAE,eAAe,YAAY,EAAS;QACxC,MAAM,EAAE,oCAAoC;QAC5C,WAAW,EAAE,yBAAyB,YAAY,eAAe;QACjE,IAAI,EAAE,aAAsB;QAC5B,KAAK,EAAE;YACL,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACzB,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBAErC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAA;gBACxB,IAAI,CAAC,aAAa,GAAG,UAAU,CAAA;gBAC/B,OAAO,IAAI,CAAA;YACb,CAAC,CAAC;SACH;QACD,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;KACpD,CAAA;IAED,OAAO,WAAW,CAAA;AACpB,CAAC;AArBD,0DAqBC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const viem_1 = require("viem");
4
+ function prepareCallTransaction(request) {
5
+ const { abi, functionName, args } = request;
6
+ const data = (0, viem_1.encodeFunctionData)({ abi, functionName, args });
7
+ return {
8
+ to: request.address,
9
+ value: request?.value?.toString() ?? '0',
10
+ data: data
11
+ };
12
+ }
13
+ exports.default = prepareCallTransaction;
14
+ //# sourceMappingURL=prepareCallTransaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareCallTransaction.js","sourceRoot":"","sources":["../../../src/utils/prepareCallTransaction.ts"],"names":[],"mappings":";;AACA,+BAAyC;AAOzC,SAAwB,sBAAsB,CAC5C,OAGC;IAED,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,OAAO,CAAA;IAE3C,MAAM,IAAI,GAAG,IAAA,yBAAkB,EAAC,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5D,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,OAAO;QACnB,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,GAAG;QACxC,IAAI,EAAE,IAAI;KACX,CAAA;AACH,CAAC;AAdD,yCAcC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.repeatUntilOk = void 0;
4
+ async function repeatUntilOk(callback, maximumAttempts = 15, attemptCount = 0, pollingInterval = 5000) {
5
+ if (attemptCount >= maximumAttempts) {
6
+ throw `Failed to get an ok response after ${attemptCount} attempt(s), aborting`;
7
+ }
8
+ const response = await callback();
9
+ if (response) {
10
+ return true;
11
+ }
12
+ else {
13
+ await new Promise((resolve) => setTimeout(resolve, pollingInterval));
14
+ attemptCount++;
15
+ await repeatUntilOk(callback, maximumAttempts, attemptCount, pollingInterval);
16
+ }
17
+ }
18
+ exports.repeatUntilOk = repeatUntilOk;
19
+ //# sourceMappingURL=repeatUntilOk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repeatUntilOk.js","sourceRoot":"","sources":["../../../src/utils/repeatUntilOk.ts"],"names":[],"mappings":";;;AAQO,KAAK,UAAU,aAAa,CACjC,QAAgC,EAChC,kBAA0B,EAAE,EAC5B,eAAuB,CAAC,EACxB,kBAA0B,IAAI;IAE9B,IAAI,YAAY,IAAI,eAAe,EAAE,CAAC;QACpC,MAAM,sCAAsC,YAAY,uBAAuB,CAAA;IACjF,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,QAAQ,EAAE,CAAA;IAEjC,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,IAAI,CAAA;IACb,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAA;QACpE,YAAY,EAAE,CAAA;QACd,MAAM,aAAa,CACjB,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,eAAe,CAChB,CAAA;IACH,CAAC;AACH,CAAC;AAxBD,sCAwBC"}
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.APIError = exports.isAPIError = exports.request = void 0;
4
+ const axios_js_1 = require("./axios.js");
5
+ function request(config = {}) {
6
+ return axios_js_1.axios.request(config);
7
+ }
8
+ exports.request = request;
9
+ function isAPIError(error) {
10
+ return error && error.cause === 'APIError';
11
+ }
12
+ exports.isAPIError = isAPIError;
13
+ class APIError extends Error {
14
+ constructor(message = 'Unknown Reason', statusCode, rawError, type = 'APIError', options = {}) {
15
+ super(message, { ...options, cause: 'APIError' });
16
+ Object.defineProperty(this, "type", {
17
+ enumerable: true,
18
+ configurable: true,
19
+ writable: true,
20
+ value: void 0
21
+ });
22
+ Object.defineProperty(this, "statusCode", {
23
+ enumerable: true,
24
+ configurable: true,
25
+ writable: true,
26
+ value: void 0
27
+ });
28
+ Object.defineProperty(this, "rawError", {
29
+ enumerable: true,
30
+ configurable: true,
31
+ writable: true,
32
+ value: void 0
33
+ });
34
+ Object.defineProperty(this, "endpoint", {
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true,
38
+ value: void 0
39
+ });
40
+ this.name = 'APIError';
41
+ this.type = type;
42
+ this.statusCode = statusCode;
43
+ this.endpoint = rawError?.endpoint;
44
+ this.rawError = rawError;
45
+ }
46
+ }
47
+ exports.APIError = APIError;
48
+ //# sourceMappingURL=request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../../src/utils/request.ts"],"names":[],"mappings":";;;AAAA,yCAAkC;AAGlC,SAAgB,OAAO,CAAC,SAA6B,EAAE;IACrD,OAAO,gBAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;AAC9B,CAAC;AAFD,0BAEC;AAED,SAAgB,UAAU,CAAC,KAAa;IACtC,OAAO,KAAK,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,CAAA;AAC5C,CAAC;AAFD,gCAEC;AAED,MAAa,QAAS,SAAQ,KAAK;IAMjC,YACE,UAAkB,gBAAgB,EAClC,UAAkB,EAClB,QAAc,EACd,OAAe,UAAU,EACzB,UAAe,EAAE;QAEjB,KAAK,CAAC,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAA;QAZnD;;;;;WAAY;QACZ;;;;;WAAkB;QAClB;;;;;WAAa;QACb;;;;;WAAiB;QAUf,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,QAAQ,GAAG,QAAQ,EAAE,QAAQ,CAAA;QAClC,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;IAC1B,CAAC;CACF;AApBD,4BAoBC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isSimulateContractRequest = void 0;
4
+ function isSimulateContractRequest(tx) {
5
+ return tx.abi !== undefined;
6
+ }
7
+ exports.isSimulateContractRequest = isSimulateContractRequest;
8
+ //# sourceMappingURL=simulateContract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simulateContract.js","sourceRoot":"","sources":["../../../src/utils/simulateContract.ts"],"names":[],"mappings":";;;AAIA,SAAgB,yBAAyB,CACvC,EAAO;IAEP,OAAQ,EAA8B,CAAC,GAAG,KAAK,SAAS,CAAA;AAC1D,CAAC;AAJD,8DAIC"}