@lifi/sdk 0.0.0-preview-f5cf9f8

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 (555) hide show
  1. package/CHANGELOG.md +1213 -0
  2. package/LICENSE +201 -0
  3. package/README.md +79 -0
  4. package/dist/cjs/actions/getChains.d.ts +17 -0
  5. package/dist/cjs/actions/getChains.js +28 -0
  6. package/dist/cjs/actions/getChains.js.map +1 -0
  7. package/dist/cjs/actions/getConnections.d.ts +15 -0
  8. package/dist/cjs/actions/getConnections.js +34 -0
  9. package/dist/cjs/actions/getConnections.js.map +1 -0
  10. package/dist/cjs/actions/getContractCallsQuote.d.ts +16 -0
  11. package/dist/cjs/actions/getContractCallsQuote.js +45 -0
  12. package/dist/cjs/actions/getContractCallsQuote.js.map +1 -0
  13. package/dist/cjs/actions/getGasRecommendation.d.ts +16 -0
  14. package/dist/cjs/actions/getGasRecommendation.js +24 -0
  15. package/dist/cjs/actions/getGasRecommendation.js.map +1 -0
  16. package/dist/cjs/actions/getNameServiceAddress.d.ts +15 -0
  17. package/dist/cjs/actions/getNameServiceAddress.js +29 -0
  18. package/dist/cjs/actions/getNameServiceAddress.js.map +1 -0
  19. package/dist/cjs/actions/getQuote.d.ts +18 -0
  20. package/dist/cjs/actions/getQuote.js +35 -0
  21. package/dist/cjs/actions/getQuote.js.map +1 -0
  22. package/dist/cjs/actions/getRelayedTransactionStatus.d.ts +16 -0
  23. package/dist/cjs/actions/getRelayedTransactionStatus.js +30 -0
  24. package/dist/cjs/actions/getRelayedTransactionStatus.js.map +1 -0
  25. package/dist/cjs/actions/getRelayerQuote.d.ts +17 -0
  26. package/dist/cjs/actions/getRelayerQuote.js +44 -0
  27. package/dist/cjs/actions/getRelayerQuote.js.map +1 -0
  28. package/dist/cjs/actions/getRoutes.d.ts +16 -0
  29. package/dist/cjs/actions/getRoutes.js +32 -0
  30. package/dist/cjs/actions/getRoutes.js.map +1 -0
  31. package/dist/cjs/actions/getStatus.d.ts +17 -0
  32. package/dist/cjs/actions/getStatus.js +22 -0
  33. package/dist/cjs/actions/getStatus.js.map +1 -0
  34. package/dist/cjs/actions/getStepTransaction.d.ts +16 -0
  35. package/dist/cjs/actions/getStepTransaction.js +36 -0
  36. package/dist/cjs/actions/getStepTransaction.js.map +1 -0
  37. package/dist/cjs/actions/getToken.d.ts +17 -0
  38. package/dist/cjs/actions/getToken.js +26 -0
  39. package/dist/cjs/actions/getToken.js.map +1 -0
  40. package/dist/cjs/actions/getTokenBalance.d.ts +17 -0
  41. package/dist/cjs/actions/getTokenBalance.js +20 -0
  42. package/dist/cjs/actions/getTokenBalance.js.map +1 -0
  43. package/dist/cjs/actions/getTokenBalances.d.ts +17 -0
  44. package/dist/cjs/actions/getTokenBalances.js +15 -0
  45. package/dist/cjs/actions/getTokenBalances.js.map +1 -0
  46. package/dist/cjs/actions/getTokenBalancesByChain.d.ts +21 -0
  47. package/dist/cjs/actions/getTokenBalancesByChain.js +25 -0
  48. package/dist/cjs/actions/getTokenBalancesByChain.js.map +1 -0
  49. package/dist/cjs/actions/getTokens.d.ts +20 -0
  50. package/dist/cjs/actions/getTokens.js +17 -0
  51. package/dist/cjs/actions/getTokens.js.map +1 -0
  52. package/dist/cjs/actions/getTools.d.ts +15 -0
  53. package/dist/cjs/actions/getTools.js +21 -0
  54. package/dist/cjs/actions/getTools.js.map +1 -0
  55. package/dist/cjs/actions/getTransactionHistory.d.ts +26 -0
  56. package/dist/cjs/actions/getTransactionHistory.js +31 -0
  57. package/dist/cjs/actions/getTransactionHistory.js.map +1 -0
  58. package/dist/cjs/actions/getWalletBalances.d.ts +16 -0
  59. package/dist/cjs/actions/getWalletBalances.js +20 -0
  60. package/dist/cjs/actions/getWalletBalances.js.map +1 -0
  61. package/dist/cjs/actions/index.d.ts +172 -0
  62. package/dist/cjs/actions/index.js +52 -0
  63. package/dist/cjs/actions/index.js.map +1 -0
  64. package/dist/cjs/actions/patchContractCalls.d.ts +15 -0
  65. package/dist/cjs/actions/patchContractCalls.js +15 -0
  66. package/dist/cjs/actions/patchContractCalls.js.map +1 -0
  67. package/dist/cjs/actions/relayTransaction.d.ts +16 -0
  68. package/dist/cjs/actions/relayTransaction.js +34 -0
  69. package/dist/cjs/actions/relayTransaction.js.map +1 -0
  70. package/dist/cjs/client/createClient.d.ts +7 -0
  71. package/dist/cjs/client/createClient.js +70 -0
  72. package/dist/cjs/client/createClient.js.map +1 -0
  73. package/dist/cjs/client/getClientStorage.d.ts +14 -0
  74. package/dist/cjs/client/getClientStorage.js +48 -0
  75. package/dist/cjs/client/getClientStorage.js.map +1 -0
  76. package/dist/cjs/core/BaseStepExecutionTask.d.ts +10 -0
  77. package/dist/cjs/core/BaseStepExecutionTask.js +11 -0
  78. package/dist/cjs/core/BaseStepExecutionTask.js.map +1 -0
  79. package/dist/cjs/core/BaseStepExecutor.d.ts +24 -0
  80. package/dist/cjs/core/BaseStepExecutor.js +71 -0
  81. package/dist/cjs/core/BaseStepExecutor.js.map +1 -0
  82. package/dist/cjs/core/StatusManager.d.ts +83 -0
  83. package/dist/cjs/core/StatusManager.js +160 -0
  84. package/dist/cjs/core/StatusManager.js.map +1 -0
  85. package/dist/cjs/core/TaskPipeline.d.ts +12 -0
  86. package/dist/cjs/core/TaskPipeline.js +21 -0
  87. package/dist/cjs/core/TaskPipeline.js.map +1 -0
  88. package/dist/cjs/core/actionMessages.d.ts +9 -0
  89. package/dist/cjs/core/actionMessages.js +81 -0
  90. package/dist/cjs/core/actionMessages.js.map +1 -0
  91. package/dist/cjs/core/execution.d.ts +48 -0
  92. package/dist/cjs/core/execution.js +147 -0
  93. package/dist/cjs/core/execution.js.map +1 -0
  94. package/dist/cjs/core/executionState.d.ts +21 -0
  95. package/dist/cjs/core/executionState.js +29 -0
  96. package/dist/cjs/core/executionState.js.map +1 -0
  97. package/dist/cjs/core/prepareRestart.d.ts +7 -0
  98. package/dist/cjs/core/prepareRestart.js +21 -0
  99. package/dist/cjs/core/prepareRestart.js.map +1 -0
  100. package/dist/cjs/core/storage.d.ts +21 -0
  101. package/dist/cjs/core/storage.js +35 -0
  102. package/dist/cjs/core/storage.js.map +1 -0
  103. package/dist/cjs/core/tasks/CheckBalanceTask.d.ts +19 -0
  104. package/dist/cjs/core/tasks/CheckBalanceTask.js +35 -0
  105. package/dist/cjs/core/tasks/CheckBalanceTask.js.map +1 -0
  106. package/dist/cjs/core/tasks/PrepareTransactionTask.d.ts +10 -0
  107. package/dist/cjs/core/tasks/PrepareTransactionTask.js +30 -0
  108. package/dist/cjs/core/tasks/PrepareTransactionTask.js.map +1 -0
  109. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.d.ts +13 -0
  110. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js +63 -0
  111. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js.map +1 -0
  112. package/dist/cjs/core/tasks/helpers/checkBalance.d.ts +30 -0
  113. package/dist/cjs/core/tasks/helpers/checkBalance.js +108 -0
  114. package/dist/cjs/core/tasks/helpers/checkBalance.js.map +1 -0
  115. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.d.ts +7 -0
  116. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js +25 -0
  117. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js.map +1 -0
  118. package/dist/cjs/core/tasks/helpers/stepComparison.d.ts +21 -0
  119. package/dist/cjs/core/tasks/helpers/stepComparison.js +32 -0
  120. package/dist/cjs/core/tasks/helpers/stepComparison.js.map +1 -0
  121. package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.d.ts +9 -0
  122. package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.js +48 -0
  123. package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.js.map +1 -0
  124. package/dist/cjs/core/utils.d.ts +17 -0
  125. package/dist/cjs/core/utils.js +42 -0
  126. package/dist/cjs/core/utils.js.map +1 -0
  127. package/dist/cjs/errors/SDKError.d.ts +17 -0
  128. package/dist/cjs/errors/SDKError.js +24 -0
  129. package/dist/cjs/errors/SDKError.js.map +1 -0
  130. package/dist/cjs/errors/baseError.d.ts +11 -0
  131. package/dist/cjs/errors/baseError.js +19 -0
  132. package/dist/cjs/errors/baseError.js.map +1 -0
  133. package/dist/cjs/errors/constants.d.ts +55 -0
  134. package/dist/cjs/errors/constants.js +61 -0
  135. package/dist/cjs/errors/constants.js.map +1 -0
  136. package/dist/cjs/errors/errors.d.ts +38 -0
  137. package/dist/cjs/errors/errors.js +62 -0
  138. package/dist/cjs/errors/errors.js.map +1 -0
  139. package/dist/cjs/errors/httpError.d.ts +24 -0
  140. package/dist/cjs/errors/httpError.js +70 -0
  141. package/dist/cjs/errors/httpError.js.map +1 -0
  142. package/dist/cjs/errors/utils/baseErrorRootCause.d.ts +8 -0
  143. package/dist/cjs/errors/utils/baseErrorRootCause.js +18 -0
  144. package/dist/cjs/errors/utils/baseErrorRootCause.js.map +1 -0
  145. package/dist/cjs/errors/utils/rootCause.d.ts +5 -0
  146. package/dist/cjs/errors/utils/rootCause.js +11 -0
  147. package/dist/cjs/errors/utils/rootCause.js.map +1 -0
  148. package/dist/cjs/index.d.ts +55 -0
  149. package/dist/cjs/index.js +130 -0
  150. package/dist/cjs/package.json +1 -0
  151. package/dist/cjs/types/actions.d.ts +14 -0
  152. package/dist/cjs/types/actions.js +0 -0
  153. package/dist/cjs/types/core.d.ts +184 -0
  154. package/dist/cjs/types/core.js +0 -0
  155. package/dist/cjs/types/execution.d.ts +28 -0
  156. package/dist/cjs/types/execution.js +0 -0
  157. package/dist/cjs/types/request.d.ts +7 -0
  158. package/dist/cjs/types/request.js +0 -0
  159. package/dist/cjs/utils/checkPackageUpdates.d.ts +5 -0
  160. package/dist/cjs/utils/checkPackageUpdates.js +15 -0
  161. package/dist/cjs/utils/checkPackageUpdates.js.map +1 -0
  162. package/dist/cjs/utils/convertQuoteToRoute.d.ts +22 -0
  163. package/dist/cjs/utils/convertQuoteToRoute.js +88 -0
  164. package/dist/cjs/utils/convertQuoteToRoute.js.map +1 -0
  165. package/dist/cjs/utils/decode.d.ts +5 -0
  166. package/dist/cjs/utils/decode.js +9 -0
  167. package/dist/cjs/utils/decode.js.map +1 -0
  168. package/dist/cjs/utils/fetchTxErrorDetails.d.ts +5 -0
  169. package/dist/cjs/utils/fetchTxErrorDetails.js +13 -0
  170. package/dist/cjs/utils/fetchTxErrorDetails.js.map +1 -0
  171. package/dist/cjs/utils/formatUnits.d.ts +8 -0
  172. package/dist/cjs/utils/formatUnits.js +18 -0
  173. package/dist/cjs/utils/formatUnits.js.map +1 -0
  174. package/dist/cjs/utils/getTransactionMessage.d.ts +8 -0
  175. package/dist/cjs/utils/getTransactionMessage.js +12 -0
  176. package/dist/cjs/utils/getTransactionMessage.js.map +1 -0
  177. package/dist/cjs/utils/isHex.d.ts +10 -0
  178. package/dist/cjs/utils/isHex.js +11 -0
  179. package/dist/cjs/utils/isHex.js.map +1 -0
  180. package/dist/cjs/utils/isRoutesRequest.d.ts +7 -0
  181. package/dist/cjs/utils/isRoutesRequest.js +11 -0
  182. package/dist/cjs/utils/isRoutesRequest.js.map +1 -0
  183. package/dist/cjs/utils/isStep.d.ts +7 -0
  184. package/dist/cjs/utils/isStep.js +23 -0
  185. package/dist/cjs/utils/isStep.js.map +1 -0
  186. package/dist/cjs/utils/isToken.d.ts +7 -0
  187. package/dist/cjs/utils/isToken.js +10 -0
  188. package/dist/cjs/utils/isToken.js.map +1 -0
  189. package/dist/cjs/utils/parseUnits.d.ts +8 -0
  190. package/dist/cjs/utils/parseUnits.js +35 -0
  191. package/dist/cjs/utils/parseUnits.js.map +1 -0
  192. package/dist/cjs/utils/request.d.ts +11 -0
  193. package/dist/cjs/utils/request.js +56 -0
  194. package/dist/cjs/utils/request.js.map +1 -0
  195. package/dist/cjs/utils/sleep.d.ts +5 -0
  196. package/dist/cjs/utils/sleep.js +11 -0
  197. package/dist/cjs/utils/sleep.js.map +1 -0
  198. package/dist/cjs/utils/waitForResult.d.ts +14 -0
  199. package/dist/cjs/utils/waitForResult.js +36 -0
  200. package/dist/cjs/utils/waitForResult.js.map +1 -0
  201. package/dist/cjs/utils/withDedupe.d.ts +23 -0
  202. package/dist/cjs/utils/withDedupe.js +34 -0
  203. package/dist/cjs/utils/withDedupe.js.map +1 -0
  204. package/dist/cjs/utils/withTimeout.d.ts +26 -0
  205. package/dist/cjs/utils/withTimeout.js +35 -0
  206. package/dist/cjs/utils/withTimeout.js.map +1 -0
  207. package/dist/cjs/version.d.ts +6 -0
  208. package/dist/cjs/version.js +9 -0
  209. package/dist/cjs/version.js.map +1 -0
  210. package/dist/esm/actions/getChains.d.ts +17 -0
  211. package/dist/esm/actions/getChains.d.ts.map +1 -0
  212. package/dist/esm/actions/getChains.js +26 -0
  213. package/dist/esm/actions/getChains.js.map +1 -0
  214. package/dist/esm/actions/getConnections.d.ts +15 -0
  215. package/dist/esm/actions/getConnections.d.ts.map +1 -0
  216. package/dist/esm/actions/getConnections.js +33 -0
  217. package/dist/esm/actions/getConnections.js.map +1 -0
  218. package/dist/esm/actions/getContractCallsQuote.d.ts +16 -0
  219. package/dist/esm/actions/getContractCallsQuote.d.ts.map +1 -0
  220. package/dist/esm/actions/getContractCallsQuote.js +44 -0
  221. package/dist/esm/actions/getContractCallsQuote.js.map +1 -0
  222. package/dist/esm/actions/getGasRecommendation.d.ts +16 -0
  223. package/dist/esm/actions/getGasRecommendation.d.ts.map +1 -0
  224. package/dist/esm/actions/getGasRecommendation.js +23 -0
  225. package/dist/esm/actions/getGasRecommendation.js.map +1 -0
  226. package/dist/esm/actions/getNameServiceAddress.d.ts +15 -0
  227. package/dist/esm/actions/getNameServiceAddress.d.ts.map +1 -0
  228. package/dist/esm/actions/getNameServiceAddress.js +28 -0
  229. package/dist/esm/actions/getNameServiceAddress.js.map +1 -0
  230. package/dist/esm/actions/getQuote.d.ts +18 -0
  231. package/dist/esm/actions/getQuote.d.ts.map +1 -0
  232. package/dist/esm/actions/getQuote.js +34 -0
  233. package/dist/esm/actions/getQuote.js.map +1 -0
  234. package/dist/esm/actions/getRelayedTransactionStatus.d.ts +16 -0
  235. package/dist/esm/actions/getRelayedTransactionStatus.d.ts.map +1 -0
  236. package/dist/esm/actions/getRelayedTransactionStatus.js +29 -0
  237. package/dist/esm/actions/getRelayedTransactionStatus.js.map +1 -0
  238. package/dist/esm/actions/getRelayerQuote.d.ts +17 -0
  239. package/dist/esm/actions/getRelayerQuote.d.ts.map +1 -0
  240. package/dist/esm/actions/getRelayerQuote.js +43 -0
  241. package/dist/esm/actions/getRelayerQuote.js.map +1 -0
  242. package/dist/esm/actions/getRoutes.d.ts +16 -0
  243. package/dist/esm/actions/getRoutes.d.ts.map +1 -0
  244. package/dist/esm/actions/getRoutes.js +31 -0
  245. package/dist/esm/actions/getRoutes.js.map +1 -0
  246. package/dist/esm/actions/getStatus.d.ts +17 -0
  247. package/dist/esm/actions/getStatus.d.ts.map +1 -0
  248. package/dist/esm/actions/getStatus.js +21 -0
  249. package/dist/esm/actions/getStatus.js.map +1 -0
  250. package/dist/esm/actions/getStepTransaction.d.ts +16 -0
  251. package/dist/esm/actions/getStepTransaction.d.ts.map +1 -0
  252. package/dist/esm/actions/getStepTransaction.js +35 -0
  253. package/dist/esm/actions/getStepTransaction.js.map +1 -0
  254. package/dist/esm/actions/getToken.d.ts +17 -0
  255. package/dist/esm/actions/getToken.d.ts.map +1 -0
  256. package/dist/esm/actions/getToken.js +25 -0
  257. package/dist/esm/actions/getToken.js.map +1 -0
  258. package/dist/esm/actions/getTokenBalance.d.ts +17 -0
  259. package/dist/esm/actions/getTokenBalance.d.ts.map +1 -0
  260. package/dist/esm/actions/getTokenBalance.js +19 -0
  261. package/dist/esm/actions/getTokenBalance.js.map +1 -0
  262. package/dist/esm/actions/getTokenBalances.d.ts +17 -0
  263. package/dist/esm/actions/getTokenBalances.d.ts.map +1 -0
  264. package/dist/esm/actions/getTokenBalances.js +14 -0
  265. package/dist/esm/actions/getTokenBalances.js.map +1 -0
  266. package/dist/esm/actions/getTokenBalancesByChain.d.ts +21 -0
  267. package/dist/esm/actions/getTokenBalancesByChain.d.ts.map +1 -0
  268. package/dist/esm/actions/getTokenBalancesByChain.js +24 -0
  269. package/dist/esm/actions/getTokenBalancesByChain.js.map +1 -0
  270. package/dist/esm/actions/getTokens.d.ts +20 -0
  271. package/dist/esm/actions/getTokens.d.ts.map +1 -0
  272. package/dist/esm/actions/getTokens.js +16 -0
  273. package/dist/esm/actions/getTokens.js.map +1 -0
  274. package/dist/esm/actions/getTools.d.ts +15 -0
  275. package/dist/esm/actions/getTools.d.ts.map +1 -0
  276. package/dist/esm/actions/getTools.js +20 -0
  277. package/dist/esm/actions/getTools.js.map +1 -0
  278. package/dist/esm/actions/getTransactionHistory.d.ts +26 -0
  279. package/dist/esm/actions/getTransactionHistory.d.ts.map +1 -0
  280. package/dist/esm/actions/getTransactionHistory.js +30 -0
  281. package/dist/esm/actions/getTransactionHistory.js.map +1 -0
  282. package/dist/esm/actions/getWalletBalances.d.ts +16 -0
  283. package/dist/esm/actions/getWalletBalances.d.ts.map +1 -0
  284. package/dist/esm/actions/getWalletBalances.js +19 -0
  285. package/dist/esm/actions/getWalletBalances.js.map +1 -0
  286. package/dist/esm/actions/index.d.ts +172 -0
  287. package/dist/esm/actions/index.d.ts.map +1 -0
  288. package/dist/esm/actions/index.js +51 -0
  289. package/dist/esm/actions/index.js.map +1 -0
  290. package/dist/esm/actions/patchContractCalls.d.ts +15 -0
  291. package/dist/esm/actions/patchContractCalls.d.ts.map +1 -0
  292. package/dist/esm/actions/patchContractCalls.js +14 -0
  293. package/dist/esm/actions/patchContractCalls.js.map +1 -0
  294. package/dist/esm/actions/relayTransaction.d.ts +16 -0
  295. package/dist/esm/actions/relayTransaction.d.ts.map +1 -0
  296. package/dist/esm/actions/relayTransaction.js +33 -0
  297. package/dist/esm/actions/relayTransaction.js.map +1 -0
  298. package/dist/esm/client/createClient.d.ts +7 -0
  299. package/dist/esm/client/createClient.d.ts.map +1 -0
  300. package/dist/esm/client/createClient.js +69 -0
  301. package/dist/esm/client/createClient.js.map +1 -0
  302. package/dist/esm/client/getClientStorage.d.ts +14 -0
  303. package/dist/esm/client/getClientStorage.d.ts.map +1 -0
  304. package/dist/esm/client/getClientStorage.js +47 -0
  305. package/dist/esm/client/getClientStorage.js.map +1 -0
  306. package/dist/esm/core/BaseStepExecutionTask.d.ts +10 -0
  307. package/dist/esm/core/BaseStepExecutionTask.d.ts.map +1 -0
  308. package/dist/esm/core/BaseStepExecutionTask.js +10 -0
  309. package/dist/esm/core/BaseStepExecutionTask.js.map +1 -0
  310. package/dist/esm/core/BaseStepExecutor.d.ts +24 -0
  311. package/dist/esm/core/BaseStepExecutor.d.ts.map +1 -0
  312. package/dist/esm/core/BaseStepExecutor.js +70 -0
  313. package/dist/esm/core/BaseStepExecutor.js.map +1 -0
  314. package/dist/esm/core/StatusManager.d.ts +83 -0
  315. package/dist/esm/core/StatusManager.d.ts.map +1 -0
  316. package/dist/esm/core/StatusManager.js +159 -0
  317. package/dist/esm/core/StatusManager.js.map +1 -0
  318. package/dist/esm/core/TaskPipeline.d.ts +12 -0
  319. package/dist/esm/core/TaskPipeline.d.ts.map +1 -0
  320. package/dist/esm/core/TaskPipeline.js +20 -0
  321. package/dist/esm/core/TaskPipeline.js.map +1 -0
  322. package/dist/esm/core/actionMessages.d.ts +9 -0
  323. package/dist/esm/core/actionMessages.d.ts.map +1 -0
  324. package/dist/esm/core/actionMessages.js +79 -0
  325. package/dist/esm/core/actionMessages.js.map +1 -0
  326. package/dist/esm/core/execution.d.ts +48 -0
  327. package/dist/esm/core/execution.d.ts.map +1 -0
  328. package/dist/esm/core/execution.js +141 -0
  329. package/dist/esm/core/execution.js.map +1 -0
  330. package/dist/esm/core/executionState.d.ts +21 -0
  331. package/dist/esm/core/executionState.d.ts.map +1 -0
  332. package/dist/esm/core/executionState.js +28 -0
  333. package/dist/esm/core/executionState.js.map +1 -0
  334. package/dist/esm/core/prepareRestart.d.ts +7 -0
  335. package/dist/esm/core/prepareRestart.d.ts.map +1 -0
  336. package/dist/esm/core/prepareRestart.js +20 -0
  337. package/dist/esm/core/prepareRestart.js.map +1 -0
  338. package/dist/esm/core/storage.d.ts +21 -0
  339. package/dist/esm/core/storage.d.ts.map +1 -0
  340. package/dist/esm/core/storage.js +32 -0
  341. package/dist/esm/core/storage.js.map +1 -0
  342. package/dist/esm/core/tasks/CheckBalanceTask.d.ts +19 -0
  343. package/dist/esm/core/tasks/CheckBalanceTask.d.ts.map +1 -0
  344. package/dist/esm/core/tasks/CheckBalanceTask.js +34 -0
  345. package/dist/esm/core/tasks/CheckBalanceTask.js.map +1 -0
  346. package/dist/esm/core/tasks/PrepareTransactionTask.d.ts +10 -0
  347. package/dist/esm/core/tasks/PrepareTransactionTask.d.ts.map +1 -0
  348. package/dist/esm/core/tasks/PrepareTransactionTask.js +29 -0
  349. package/dist/esm/core/tasks/PrepareTransactionTask.js.map +1 -0
  350. package/dist/esm/core/tasks/WaitForTransactionStatusTask.d.ts +13 -0
  351. package/dist/esm/core/tasks/WaitForTransactionStatusTask.d.ts.map +1 -0
  352. package/dist/esm/core/tasks/WaitForTransactionStatusTask.js +61 -0
  353. package/dist/esm/core/tasks/WaitForTransactionStatusTask.js.map +1 -0
  354. package/dist/esm/core/tasks/helpers/checkBalance.d.ts +30 -0
  355. package/dist/esm/core/tasks/helpers/checkBalance.d.ts.map +1 -0
  356. package/dist/esm/core/tasks/helpers/checkBalance.js +107 -0
  357. package/dist/esm/core/tasks/helpers/checkBalance.js.map +1 -0
  358. package/dist/esm/core/tasks/helpers/getTransactionRequestData.d.ts +7 -0
  359. package/dist/esm/core/tasks/helpers/getTransactionRequestData.d.ts.map +1 -0
  360. package/dist/esm/core/tasks/helpers/getTransactionRequestData.js +24 -0
  361. package/dist/esm/core/tasks/helpers/getTransactionRequestData.js.map +1 -0
  362. package/dist/esm/core/tasks/helpers/stepComparison.d.ts +21 -0
  363. package/dist/esm/core/tasks/helpers/stepComparison.d.ts.map +1 -0
  364. package/dist/esm/core/tasks/helpers/stepComparison.js +31 -0
  365. package/dist/esm/core/tasks/helpers/stepComparison.js.map +1 -0
  366. package/dist/esm/core/tasks/helpers/waitForTransactionStatus.d.ts +9 -0
  367. package/dist/esm/core/tasks/helpers/waitForTransactionStatus.d.ts.map +1 -0
  368. package/dist/esm/core/tasks/helpers/waitForTransactionStatus.js +47 -0
  369. package/dist/esm/core/tasks/helpers/waitForTransactionStatus.js.map +1 -0
  370. package/dist/esm/core/utils.d.ts +17 -0
  371. package/dist/esm/core/utils.d.ts.map +1 -0
  372. package/dist/esm/core/utils.js +40 -0
  373. package/dist/esm/core/utils.js.map +1 -0
  374. package/dist/esm/errors/SDKError.d.ts +17 -0
  375. package/dist/esm/errors/SDKError.d.ts.map +1 -0
  376. package/dist/esm/errors/SDKError.js +23 -0
  377. package/dist/esm/errors/SDKError.js.map +1 -0
  378. package/dist/esm/errors/baseError.d.ts +11 -0
  379. package/dist/esm/errors/baseError.d.ts.map +1 -0
  380. package/dist/esm/errors/baseError.js +18 -0
  381. package/dist/esm/errors/baseError.js.map +1 -0
  382. package/dist/esm/errors/constants.d.ts +55 -0
  383. package/dist/esm/errors/constants.d.ts.map +1 -0
  384. package/dist/esm/errors/constants.js +58 -0
  385. package/dist/esm/errors/constants.js.map +1 -0
  386. package/dist/esm/errors/errors.d.ts +38 -0
  387. package/dist/esm/errors/errors.d.ts.map +1 -0
  388. package/dist/esm/errors/errors.js +54 -0
  389. package/dist/esm/errors/errors.js.map +1 -0
  390. package/dist/esm/errors/httpError.d.ts +24 -0
  391. package/dist/esm/errors/httpError.d.ts.map +1 -0
  392. package/dist/esm/errors/httpError.js +69 -0
  393. package/dist/esm/errors/httpError.js.map +1 -0
  394. package/dist/esm/errors/utils/baseErrorRootCause.d.ts +8 -0
  395. package/dist/esm/errors/utils/baseErrorRootCause.d.ts.map +1 -0
  396. package/dist/esm/errors/utils/baseErrorRootCause.js +16 -0
  397. package/dist/esm/errors/utils/baseErrorRootCause.js.map +1 -0
  398. package/dist/esm/errors/utils/rootCause.d.ts +5 -0
  399. package/dist/esm/errors/utils/rootCause.d.ts.map +1 -0
  400. package/dist/esm/errors/utils/rootCause.js +10 -0
  401. package/dist/esm/errors/utils/rootCause.js.map +1 -0
  402. package/dist/esm/index.d.ts +55 -0
  403. package/dist/esm/index.js +53 -0
  404. package/dist/esm/package.json +1 -0
  405. package/dist/esm/types/actions.d.ts +14 -0
  406. package/dist/esm/types/actions.d.ts.map +1 -0
  407. package/dist/esm/types/actions.js +1 -0
  408. package/dist/esm/types/core.d.ts +184 -0
  409. package/dist/esm/types/core.d.ts.map +1 -0
  410. package/dist/esm/types/core.js +1 -0
  411. package/dist/esm/types/execution.d.ts +28 -0
  412. package/dist/esm/types/execution.d.ts.map +1 -0
  413. package/dist/esm/types/execution.js +1 -0
  414. package/dist/esm/types/request.d.ts +7 -0
  415. package/dist/esm/types/request.d.ts.map +1 -0
  416. package/dist/esm/types/request.js +1 -0
  417. package/dist/esm/utils/checkPackageUpdates.d.ts +5 -0
  418. package/dist/esm/utils/checkPackageUpdates.d.ts.map +1 -0
  419. package/dist/esm/utils/checkPackageUpdates.js +14 -0
  420. package/dist/esm/utils/checkPackageUpdates.js.map +1 -0
  421. package/dist/esm/utils/convertQuoteToRoute.d.ts +22 -0
  422. package/dist/esm/utils/convertQuoteToRoute.d.ts.map +1 -0
  423. package/dist/esm/utils/convertQuoteToRoute.js +86 -0
  424. package/dist/esm/utils/convertQuoteToRoute.js.map +1 -0
  425. package/dist/esm/utils/decode.d.ts +5 -0
  426. package/dist/esm/utils/decode.d.ts.map +1 -0
  427. package/dist/esm/utils/decode.js +8 -0
  428. package/dist/esm/utils/decode.js.map +1 -0
  429. package/dist/esm/utils/fetchTxErrorDetails.d.ts +5 -0
  430. package/dist/esm/utils/fetchTxErrorDetails.d.ts.map +1 -0
  431. package/dist/esm/utils/fetchTxErrorDetails.js +12 -0
  432. package/dist/esm/utils/fetchTxErrorDetails.js.map +1 -0
  433. package/dist/esm/utils/formatUnits.d.ts +8 -0
  434. package/dist/esm/utils/formatUnits.d.ts.map +1 -0
  435. package/dist/esm/utils/formatUnits.js +17 -0
  436. package/dist/esm/utils/formatUnits.js.map +1 -0
  437. package/dist/esm/utils/getTransactionMessage.d.ts +8 -0
  438. package/dist/esm/utils/getTransactionMessage.d.ts.map +1 -0
  439. package/dist/esm/utils/getTransactionMessage.js +11 -0
  440. package/dist/esm/utils/getTransactionMessage.js.map +1 -0
  441. package/dist/esm/utils/isHex.d.ts +10 -0
  442. package/dist/esm/utils/isHex.d.ts.map +1 -0
  443. package/dist/esm/utils/isHex.js +10 -0
  444. package/dist/esm/utils/isHex.js.map +1 -0
  445. package/dist/esm/utils/isRoutesRequest.d.ts +7 -0
  446. package/dist/esm/utils/isRoutesRequest.d.ts.map +1 -0
  447. package/dist/esm/utils/isRoutesRequest.js +10 -0
  448. package/dist/esm/utils/isRoutesRequest.js.map +1 -0
  449. package/dist/esm/utils/isStep.d.ts +7 -0
  450. package/dist/esm/utils/isStep.d.ts.map +1 -0
  451. package/dist/esm/utils/isStep.js +22 -0
  452. package/dist/esm/utils/isStep.js.map +1 -0
  453. package/dist/esm/utils/isToken.d.ts +7 -0
  454. package/dist/esm/utils/isToken.d.ts.map +1 -0
  455. package/dist/esm/utils/isToken.js +9 -0
  456. package/dist/esm/utils/isToken.js.map +1 -0
  457. package/dist/esm/utils/parseUnits.d.ts +8 -0
  458. package/dist/esm/utils/parseUnits.d.ts.map +1 -0
  459. package/dist/esm/utils/parseUnits.js +34 -0
  460. package/dist/esm/utils/parseUnits.js.map +1 -0
  461. package/dist/esm/utils/request.d.ts +11 -0
  462. package/dist/esm/utils/request.d.ts.map +1 -0
  463. package/dist/esm/utils/request.js +54 -0
  464. package/dist/esm/utils/request.js.map +1 -0
  465. package/dist/esm/utils/sleep.d.ts +5 -0
  466. package/dist/esm/utils/sleep.d.ts.map +1 -0
  467. package/dist/esm/utils/sleep.js +10 -0
  468. package/dist/esm/utils/sleep.js.map +1 -0
  469. package/dist/esm/utils/waitForResult.d.ts +14 -0
  470. package/dist/esm/utils/waitForResult.d.ts.map +1 -0
  471. package/dist/esm/utils/waitForResult.js +35 -0
  472. package/dist/esm/utils/waitForResult.js.map +1 -0
  473. package/dist/esm/utils/withDedupe.d.ts +23 -0
  474. package/dist/esm/utils/withDedupe.d.ts.map +1 -0
  475. package/dist/esm/utils/withDedupe.js +32 -0
  476. package/dist/esm/utils/withDedupe.js.map +1 -0
  477. package/dist/esm/utils/withTimeout.d.ts +26 -0
  478. package/dist/esm/utils/withTimeout.d.ts.map +1 -0
  479. package/dist/esm/utils/withTimeout.js +34 -0
  480. package/dist/esm/utils/withTimeout.js.map +1 -0
  481. package/dist/esm/version.d.ts +6 -0
  482. package/dist/esm/version.d.ts.map +1 -0
  483. package/dist/esm/version.js +7 -0
  484. package/dist/esm/version.js.map +1 -0
  485. package/package.json +75 -0
  486. package/src/actions/getChains.ts +55 -0
  487. package/src/actions/getConnections.ts +55 -0
  488. package/src/actions/getContractCallsQuote.ts +81 -0
  489. package/src/actions/getGasRecommendation.ts +47 -0
  490. package/src/actions/getNameServiceAddress.ts +42 -0
  491. package/src/actions/getQuote.ts +105 -0
  492. package/src/actions/getRelayedTransactionStatus.ts +67 -0
  493. package/src/actions/getRelayerQuote.ts +86 -0
  494. package/src/actions/getRoutes.ts +43 -0
  495. package/src/actions/getStatus.ts +41 -0
  496. package/src/actions/getStepTransaction.ts +52 -0
  497. package/src/actions/getToken.ts +47 -0
  498. package/src/actions/getTokenBalance.ts +21 -0
  499. package/src/actions/getTokenBalances.ts +47 -0
  500. package/src/actions/getTokenBalancesByChain.ts +76 -0
  501. package/src/actions/getTokens.ts +57 -0
  502. package/src/actions/getTools.ts +34 -0
  503. package/src/actions/getTransactionHistory.ts +54 -0
  504. package/src/actions/getWalletBalances.ts +36 -0
  505. package/src/actions/index.ts +347 -0
  506. package/src/actions/patchContractCalls.ts +30 -0
  507. package/src/actions/relayTransaction.ts +74 -0
  508. package/src/client/createClient.ts +100 -0
  509. package/src/client/getClientStorage.ts +65 -0
  510. package/src/core/BaseStepExecutionTask.ts +9 -0
  511. package/src/core/BaseStepExecutor.ts +129 -0
  512. package/src/core/StatusManager.ts +245 -0
  513. package/src/core/TaskPipeline.ts +28 -0
  514. package/src/core/actionMessages.ts +103 -0
  515. package/src/core/execution.ts +243 -0
  516. package/src/core/executionState.ts +48 -0
  517. package/src/core/prepareRestart.ts +28 -0
  518. package/src/core/storage.ts +42 -0
  519. package/src/core/tasks/CheckBalanceTask.ts +46 -0
  520. package/src/core/tasks/PrepareTransactionTask.ts +62 -0
  521. package/src/core/tasks/WaitForTransactionStatusTask.ts +114 -0
  522. package/src/core/tasks/helpers/checkBalance.ts +218 -0
  523. package/src/core/tasks/helpers/getTransactionRequestData.ts +47 -0
  524. package/src/core/tasks/helpers/stepComparison.ts +50 -0
  525. package/src/core/tasks/helpers/waitForTransactionStatus.ts +76 -0
  526. package/src/core/utils.ts +59 -0
  527. package/src/errors/SDKError.ts +26 -0
  528. package/src/errors/baseError.ts +22 -0
  529. package/src/errors/constants.ts +54 -0
  530. package/src/errors/errors.ts +68 -0
  531. package/src/errors/httpError.ts +92 -0
  532. package/src/errors/utils/baseErrorRootCause.ts +18 -0
  533. package/src/errors/utils/rootCause.ts +7 -0
  534. package/src/index.ts +122 -0
  535. package/src/types/actions.ts +16 -0
  536. package/src/types/core.ts +264 -0
  537. package/src/types/execution.ts +32 -0
  538. package/src/types/request.ts +3 -0
  539. package/src/utils/checkPackageUpdates.ts +22 -0
  540. package/src/utils/convertQuoteToRoute.ts +154 -0
  541. package/src/utils/decode.ts +13 -0
  542. package/src/utils/fetchTxErrorDetails.ts +15 -0
  543. package/src/utils/formatUnits.ts +22 -0
  544. package/src/utils/getTransactionMessage.ts +17 -0
  545. package/src/utils/isHex.ts +14 -0
  546. package/src/utils/isRoutesRequest.ts +31 -0
  547. package/src/utils/isStep.ts +41 -0
  548. package/src/utils/isToken.ts +11 -0
  549. package/src/utils/parseUnits.ts +50 -0
  550. package/src/utils/request.ts +100 -0
  551. package/src/utils/sleep.ts +5 -0
  552. package/src/utils/waitForResult.ts +45 -0
  553. package/src/utils/withDedupe.ts +45 -0
  554. package/src/utils/withTimeout.ts +50 -0
  555. package/src/version.ts +2 -0
@@ -0,0 +1,10 @@
1
+ import { StepExecutorContext, TaskResult } from "../types/execution.js";
2
+
3
+ //#region src/core/BaseStepExecutionTask.d.ts
4
+ declare abstract class BaseStepExecutionTask {
5
+ shouldRun(_context: StepExecutorContext): Promise<boolean>;
6
+ abstract run(context: StepExecutorContext): Promise<TaskResult>;
7
+ }
8
+ //#endregion
9
+ export { BaseStepExecutionTask };
10
+ //# sourceMappingURL=BaseStepExecutionTask.d.ts.map
@@ -0,0 +1,11 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/core/BaseStepExecutionTask.ts
3
+ var BaseStepExecutionTask = class {
4
+ shouldRun(_context) {
5
+ return Promise.resolve(true);
6
+ }
7
+ };
8
+ //#endregion
9
+ exports.BaseStepExecutionTask = BaseStepExecutionTask;
10
+
11
+ //# sourceMappingURL=BaseStepExecutionTask.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseStepExecutionTask.js","names":[],"sources":["../../../src/core/BaseStepExecutionTask.ts"],"sourcesContent":["import type { StepExecutorContext, TaskResult } from '../types/execution.js'\n\nexport abstract class BaseStepExecutionTask {\n shouldRun(_context: StepExecutorContext): Promise<boolean> {\n return Promise.resolve(true)\n }\n\n abstract run(context: StepExecutorContext): Promise<TaskResult>\n}\n"],"mappings":";;AAEA,IAAsB,wBAAtB,MAA4C;CAC1C,UAAU,UAAiD;EACzD,OAAO,QAAQ,QAAQ,IAAI;CAC7B;AAGF"}
@@ -0,0 +1,24 @@
1
+ import { ExecuteStepRetryParams, ExecutionAction, ExecutionOptions, InteractionSettings, LiFiStepExtended, SDKClient, StepExecutor, StepExecutorOptions } from "../types/core.js";
2
+ import { StatusManager } from "./StatusManager.js";
3
+ import { StepExecutorBaseContext, StepExecutorContext } from "../types/execution.js";
4
+ import { ExecuteStepRetryError } from "../errors/errors.js";
5
+ import { SDKError } from "../errors/SDKError.js";
6
+ import { TaskPipeline } from "./TaskPipeline.js";
7
+
8
+ //#region src/core/BaseStepExecutor.d.ts
9
+ declare abstract class BaseStepExecutor implements StepExecutor {
10
+ protected executionOptions?: ExecutionOptions;
11
+ protected statusManager: StatusManager;
12
+ allowUserInteraction: boolean;
13
+ allowExecution: boolean;
14
+ constructor(options: StepExecutorOptions);
15
+ setInteraction: (settings?: InteractionSettings) => void;
16
+ private createBaseContext;
17
+ abstract createContext(baseContext: StepExecutorBaseContext): Promise<StepExecutorContext>;
18
+ abstract createPipeline(context: StepExecutorContext): TaskPipeline;
19
+ abstract parseErrors(error: Error, step?: LiFiStepExtended, action?: ExecutionAction, retryParams?: ExecuteStepRetryParams): Promise<SDKError | ExecuteStepRetryError>;
20
+ executeStep: (client: SDKClient, step: LiFiStepExtended, retryParams?: ExecuteStepRetryParams) => Promise<LiFiStepExtended>;
21
+ }
22
+ //#endregion
23
+ export { BaseStepExecutor };
24
+ //# sourceMappingURL=BaseStepExecutor.d.ts.map
@@ -0,0 +1,71 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_errors_errors = require("../errors/errors.js");
3
+ const require_core_StatusManager = require("./StatusManager.js");
4
+ //#region src/core/BaseStepExecutor.ts
5
+ const defaultInteractionSettings = {
6
+ allowInteraction: true,
7
+ allowUpdates: true,
8
+ allowExecution: true
9
+ };
10
+ var BaseStepExecutor = class {
11
+ executionOptions;
12
+ statusManager;
13
+ allowUserInteraction = true;
14
+ allowExecution = true;
15
+ constructor(options) {
16
+ this.statusManager = new require_core_StatusManager.StatusManager(options.routeId);
17
+ this.executionOptions = options.executionOptions;
18
+ }
19
+ setInteraction = (settings) => {
20
+ const interactionSettings = {
21
+ ...defaultInteractionSettings,
22
+ ...settings
23
+ };
24
+ this.allowUserInteraction = interactionSettings.allowInteraction;
25
+ this.statusManager.allowUpdates(interactionSettings.allowUpdates);
26
+ this.allowExecution = interactionSettings.allowExecution;
27
+ };
28
+ createBaseContext = async (client, step, retryParams) => {
29
+ const fromChain = await client.getChainById(step.action.fromChainId);
30
+ const toChain = await client.getChainById(step.action.toChainId);
31
+ return {
32
+ client,
33
+ step,
34
+ fromChain,
35
+ toChain,
36
+ isBridgeExecution: fromChain.id !== toChain.id,
37
+ retryParams,
38
+ statusManager: this.statusManager,
39
+ executionOptions: this.executionOptions,
40
+ allowUserInteraction: this.allowUserInteraction
41
+ };
42
+ };
43
+ executeStep = async (client, step, retryParams) => {
44
+ try {
45
+ step.execution = this.statusManager.initializeExecution(step);
46
+ const baseContext = await this.createBaseContext(client, step, retryParams);
47
+ const context = await this.createContext(baseContext);
48
+ await this.createPipeline(context).run(context);
49
+ return step;
50
+ } catch (error) {
51
+ const action = step.execution?.actions?.at(-1);
52
+ const parsed = await this.parseErrors(error, step, action, retryParams);
53
+ if (!(parsed instanceof require_errors_errors.ExecuteStepRetryError)) if (action) this.statusManager.updateAction(step, action.type, "FAILED", { error: {
54
+ message: parsed.cause?.message,
55
+ code: parsed.code
56
+ } });
57
+ else this.statusManager.updateExecution(step, {
58
+ status: "FAILED",
59
+ error: {
60
+ message: parsed.cause?.message,
61
+ code: parsed.code
62
+ }
63
+ });
64
+ throw parsed;
65
+ }
66
+ };
67
+ };
68
+ //#endregion
69
+ exports.BaseStepExecutor = BaseStepExecutor;
70
+
71
+ //# sourceMappingURL=BaseStepExecutor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseStepExecutor.js","names":["StatusManager","ExecuteStepRetryError"],"sources":["../../../src/core/BaseStepExecutor.ts"],"sourcesContent":["import { ExecuteStepRetryError } from '../errors/errors.js'\nimport type { SDKError } from '../errors/SDKError.js'\nimport type {\n ExecuteStepRetryParams,\n ExecutionAction,\n ExecutionOptions,\n InteractionSettings,\n LiFiStepExtended,\n SDKClient,\n StepExecutor,\n StepExecutorOptions,\n} from '../types/core.js'\nimport type {\n StepExecutorBaseContext,\n StepExecutorContext,\n} from '../types/execution.js'\nimport { StatusManager } from './StatusManager.js'\nimport type { TaskPipeline } from './TaskPipeline.js'\n\n// Please be careful when changing the defaults as it may break the behavior (e.g., background execution)\nconst defaultInteractionSettings = {\n allowInteraction: true,\n allowUpdates: true,\n allowExecution: true,\n}\n\nexport abstract class BaseStepExecutor implements StepExecutor {\n protected executionOptions?: ExecutionOptions\n protected statusManager: StatusManager\n\n public allowUserInteraction = true\n public allowExecution = true\n\n constructor(options: StepExecutorOptions) {\n this.statusManager = new StatusManager(options.routeId)\n this.executionOptions = options.executionOptions\n }\n\n setInteraction = (settings?: InteractionSettings): void => {\n const interactionSettings = {\n ...defaultInteractionSettings,\n ...settings,\n }\n this.allowUserInteraction = interactionSettings.allowInteraction\n this.statusManager.allowUpdates(interactionSettings.allowUpdates)\n this.allowExecution = interactionSettings.allowExecution\n }\n\n private createBaseContext = async (\n client: SDKClient,\n step: LiFiStepExtended,\n retryParams?: ExecuteStepRetryParams\n ): Promise<StepExecutorBaseContext> => {\n const fromChain = await client.getChainById(step.action.fromChainId)\n const toChain = await client.getChainById(step.action.toChainId)\n\n const isBridgeExecution = fromChain.id !== toChain.id\n\n return {\n client,\n step,\n fromChain,\n toChain,\n isBridgeExecution,\n retryParams,\n statusManager: this.statusManager,\n executionOptions: this.executionOptions,\n allowUserInteraction: this.allowUserInteraction,\n }\n }\n\n abstract createContext(\n baseContext: StepExecutorBaseContext\n ): Promise<StepExecutorContext>\n\n abstract createPipeline(context: StepExecutorContext): TaskPipeline\n\n abstract parseErrors(\n error: Error,\n step?: LiFiStepExtended,\n action?: ExecutionAction,\n retryParams?: ExecuteStepRetryParams\n ): Promise<SDKError | ExecuteStepRetryError>\n\n executeStep = async (\n client: SDKClient,\n step: LiFiStepExtended,\n retryParams?: ExecuteStepRetryParams\n ): Promise<LiFiStepExtended> => {\n try {\n step.execution = this.statusManager.initializeExecution(step)\n\n const baseContext = await this.createBaseContext(\n client,\n step,\n retryParams\n )\n const context = await this.createContext(baseContext)\n const pipeline = this.createPipeline(context)\n\n await pipeline.run(context)\n\n return step\n } catch (error: any) {\n // Derive failing action from last in execution.actions\n const action = step.execution?.actions?.at(-1)\n const parsed = await this.parseErrors(error, step, action, retryParams)\n if (!(parsed instanceof ExecuteStepRetryError)) {\n if (action) {\n this.statusManager.updateAction(step, action.type, 'FAILED', {\n error: {\n message: parsed.cause?.message,\n code: parsed.code,\n },\n })\n } else {\n this.statusManager.updateExecution(step, {\n status: 'FAILED',\n error: {\n message: parsed.cause?.message,\n code: parsed.code,\n },\n })\n }\n }\n throw parsed\n }\n }\n}\n"],"mappings":";;;;AAoBA,MAAM,6BAA6B;CACjC,kBAAkB;CAClB,cAAc;CACd,gBAAgB;AAClB;AAEA,IAAsB,mBAAtB,MAA+D;CAC7D;CACA;CAEA,uBAA8B;CAC9B,iBAAwB;CAExB,YAAY,SAA8B;EACxC,KAAK,gBAAgB,IAAIA,2BAAAA,cAAc,QAAQ,OAAO;EACtD,KAAK,mBAAmB,QAAQ;CAClC;CAEA,kBAAkB,aAAyC;EACzD,MAAM,sBAAsB;GAC1B,GAAG;GACH,GAAG;EACL;EACA,KAAK,uBAAuB,oBAAoB;EAChD,KAAK,cAAc,aAAa,oBAAoB,YAAY;EAChE,KAAK,iBAAiB,oBAAoB;CAC5C;CAEA,oBAA4B,OAC1B,QACA,MACA,gBACqC;EACrC,MAAM,YAAY,MAAM,OAAO,aAAa,KAAK,OAAO,WAAW;EACnE,MAAM,UAAU,MAAM,OAAO,aAAa,KAAK,OAAO,SAAS;EAI/D,OAAO;GACL;GACA;GACA;GACA;GACA,mBAPwB,UAAU,OAAO,QAAQ;GAQjD;GACA,eAAe,KAAK;GACpB,kBAAkB,KAAK;GACvB,sBAAsB,KAAK;EAC7B;CACF;CAeA,cAAc,OACZ,QACA,MACA,gBAC8B;EAC9B,IAAI;GACF,KAAK,YAAY,KAAK,cAAc,oBAAoB,IAAI;GAE5D,MAAM,cAAc,MAAM,KAAK,kBAC7B,QACA,MACA,WACF;GACA,MAAM,UAAU,MAAM,KAAK,cAAc,WAAW;GAGpD,MAFiB,KAAK,eAAe,OAExB,EAAE,IAAI,OAAO;GAE1B,OAAO;EACT,SAAS,OAAY;GAEnB,MAAM,SAAS,KAAK,WAAW,SAAS,GAAG,EAAE;GAC7C,MAAM,SAAS,MAAM,KAAK,YAAY,OAAO,MAAM,QAAQ,WAAW;GACtE,IAAI,EAAE,kBAAkBC,sBAAAA,wBACtB,IAAI,QACF,KAAK,cAAc,aAAa,MAAM,OAAO,MAAM,UAAU,EAC3D,OAAO;IACL,SAAS,OAAO,OAAO;IACvB,MAAM,OAAO;GACf,EACF,CAAC;QAED,KAAK,cAAc,gBAAgB,MAAM;IACvC,QAAQ;IACR,OAAO;KACL,SAAS,OAAO,OAAO;KACvB,MAAM,OAAO;IACf;GACF,CAAC;GAGL,MAAM;EACR;CACF;AACF"}
@@ -0,0 +1,83 @@
1
+ import { Execution, ExecutionAction, ExecutionActionStatus, ExecutionActionType, LiFiStepExtended } from "../types/core.js";
2
+ import { ChainId, LiFiStep } from "@lifi/types";
3
+
4
+ //#region src/core/StatusManager.d.ts
5
+ type ActionProps = {
6
+ step: LiFiStepExtended;
7
+ type: ExecutionActionType;
8
+ chainId: ChainId;
9
+ status: ExecutionActionStatus;
10
+ };
11
+ /**
12
+ * Manages status updates of a route and provides various functions for tracking actions.
13
+ */
14
+ declare class StatusManager {
15
+ private readonly routeId;
16
+ private shouldUpdate;
17
+ constructor(routeId: string);
18
+ /**
19
+ * Initializes the execution object of a Step.
20
+ * @param step The current step in execution
21
+ * @returns The initialized execution object for this step
22
+ */
23
+ initializeExecution: (step: LiFiStepExtended) => Execution;
24
+ /**
25
+ * Updates the execution object of a Step.
26
+ * @param step The current step in execution
27
+ * @param execution Partial execution data to merge
28
+ * @returns The step with the updated execution object
29
+ */
30
+ updateExecution(step: LiFiStepExtended, execution: Partial<Execution>): LiFiStep;
31
+ /**
32
+ * Finds an action of the specified type in the step's execution
33
+ * @param step The step to search in
34
+ * @param type The action type to find
35
+ * @returns The found action or undefined if not found
36
+ */
37
+ findAction(step: LiFiStepExtended, type: ExecutionActionType): ExecutionAction | undefined;
38
+ /**
39
+ * Create and push a new action into the execution.
40
+ * Caller is responsible for ensuring an action of this type does not already exist.
41
+ * @param step The step that should contain the new action.
42
+ * @param type Type of the action.
43
+ * @param chainId Chain Id of the action.
44
+ * @param status The initial status for the new action.
45
+ * @returns The created action.
46
+ */
47
+ createAction: ({
48
+ step,
49
+ type,
50
+ chainId,
51
+ status
52
+ }: ActionProps) => ExecutionAction;
53
+ /**
54
+ * Find an existing action by type and update it, or create a new one if none exists.
55
+ * @param step The step that should contain the action.
56
+ * @param type Type of the action. Used to identify already existing actions.
57
+ * @param chainId Chain Id of the action (used when creating).
58
+ * @param status The status to set on the found or newly created action.
59
+ * @returns The updated or newly created action.
60
+ */
61
+ initializeAction: ({
62
+ step,
63
+ type,
64
+ chainId,
65
+ status
66
+ }: ActionProps) => ExecutionAction;
67
+ /**
68
+ * Update an action object.
69
+ * @param step The step where the action should be updated
70
+ * @param type The action type to update
71
+ * @param status The status the action gets.
72
+ * @param [params] Additional parameters to append to the action.
73
+ * @returns The updated action
74
+ */
75
+ updateAction: (step: LiFiStepExtended, type: ExecutionActionType, status: ExecutionActionStatus, params?: Partial<ExecutionAction & {
76
+ signedAt?: number;
77
+ }>) => ExecutionAction;
78
+ updateStepInRoute: (step: LiFiStep) => LiFiStep;
79
+ allowUpdates(value: boolean): void;
80
+ }
81
+ //#endregion
82
+ export { StatusManager };
83
+ //# sourceMappingURL=StatusManager.d.ts.map
@@ -0,0 +1,160 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_core_actionMessages = require("./actionMessages.js");
3
+ const require_core_executionState = require("./executionState.js");
4
+ //#region src/core/StatusManager.ts
5
+ /**
6
+ * Manages status updates of a route and provides various functions for tracking actions.
7
+ */
8
+ var StatusManager = class {
9
+ routeId;
10
+ shouldUpdate = true;
11
+ constructor(routeId) {
12
+ this.routeId = routeId;
13
+ }
14
+ /**
15
+ * Initializes the execution object of a Step.
16
+ * @param step The current step in execution
17
+ * @returns The initialized execution object for this step
18
+ */
19
+ initializeExecution = (step) => {
20
+ if (!step.execution) {
21
+ step.execution = {
22
+ startedAt: Date.now(),
23
+ status: "PENDING",
24
+ actions: []
25
+ };
26
+ this.updateStepInRoute(step);
27
+ }
28
+ if (step.execution.status === "FAILED") {
29
+ step.execution.startedAt = Date.now();
30
+ step.execution.status = "PENDING";
31
+ step.execution.signedAt = void 0;
32
+ step.execution.error = void 0;
33
+ this.updateStepInRoute(step);
34
+ }
35
+ return step.execution;
36
+ };
37
+ /**
38
+ * Updates the execution object of a Step.
39
+ * @param step The current step in execution
40
+ * @param execution Partial execution data to merge
41
+ * @returns The step with the updated execution object
42
+ */
43
+ updateExecution(step, execution) {
44
+ if (!step.execution) throw Error("Can't update empty execution.");
45
+ step.execution = {
46
+ ...step.execution,
47
+ ...execution
48
+ };
49
+ this.updateStepInRoute(step);
50
+ return step;
51
+ }
52
+ /**
53
+ * Finds an action of the specified type in the step's execution
54
+ * @param step The step to search in
55
+ * @param type The action type to find
56
+ * @returns The found action or undefined if not found
57
+ */
58
+ findAction(step, type) {
59
+ if (!step.execution?.actions) throw new Error("Execution hasn't been initialized.");
60
+ return step.execution.actions.find((p) => p.type === type);
61
+ }
62
+ /**
63
+ * Create and push a new action into the execution.
64
+ * Caller is responsible for ensuring an action of this type does not already exist.
65
+ * @param step The step that should contain the new action.
66
+ * @param type Type of the action.
67
+ * @param chainId Chain Id of the action.
68
+ * @param status The initial status for the new action.
69
+ * @returns The created action.
70
+ */
71
+ createAction = ({ step, type, chainId, status }) => {
72
+ if (!step.execution) throw new Error("Execution hasn't been initialized.");
73
+ const newAction = {
74
+ type,
75
+ message: require_core_actionMessages.getActionMessage(type, status),
76
+ status,
77
+ chainId
78
+ };
79
+ step.execution.actions.push(newAction);
80
+ this.updateStepInRoute(step);
81
+ return newAction;
82
+ };
83
+ /**
84
+ * Find an existing action by type and update it, or create a new one if none exists.
85
+ * @param step The step that should contain the action.
86
+ * @param type Type of the action. Used to identify already existing actions.
87
+ * @param chainId Chain Id of the action (used when creating).
88
+ * @param status The status to set on the found or newly created action.
89
+ * @returns The updated or newly created action.
90
+ */
91
+ initializeAction = ({ step, type, chainId, status }) => {
92
+ if (this.findAction(step, type)) return this.updateAction(step, type, status, { error: void 0 });
93
+ return this.createAction({
94
+ step,
95
+ type,
96
+ chainId,
97
+ status
98
+ });
99
+ };
100
+ /**
101
+ * Update an action object.
102
+ * @param step The step where the action should be updated
103
+ * @param type The action type to update
104
+ * @param status The status the action gets.
105
+ * @param [params] Additional parameters to append to the action.
106
+ * @returns The updated action
107
+ */
108
+ updateAction = (step, type, status, params) => {
109
+ if (!step.execution) throw new Error("Can't update an empty step execution.");
110
+ const currentAction = this.findAction(step, type);
111
+ if (!currentAction) throw new Error("Can't find an action for the given type.");
112
+ switch (status) {
113
+ case "CANCELLED": break;
114
+ case "FAILED":
115
+ step.execution.status = "FAILED";
116
+ if (params?.error) step.execution.error = params.error;
117
+ break;
118
+ case "DONE": break;
119
+ case "PENDING":
120
+ step.execution.status = "PENDING";
121
+ if (params?.signedAt) step.execution.signedAt = params.signedAt;
122
+ break;
123
+ case "RESET_REQUIRED":
124
+ case "MESSAGE_REQUIRED":
125
+ case "ACTION_REQUIRED":
126
+ step.execution.status = "ACTION_REQUIRED";
127
+ break;
128
+ default: break;
129
+ }
130
+ currentAction.status = status;
131
+ currentAction.message = require_core_actionMessages.getActionMessage(type, status);
132
+ if (params) {
133
+ const { signedAt: _signedAt, ...rest } = params;
134
+ Object.assign(currentAction, rest);
135
+ }
136
+ step.execution.actions = [...step.execution.actions.filter((action) => action.status === "DONE"), ...step.execution.actions.filter((action) => action.status !== "DONE")];
137
+ this.updateStepInRoute(step);
138
+ return currentAction;
139
+ };
140
+ updateStepInRoute = (step) => {
141
+ if (!this.shouldUpdate) return step;
142
+ const data = require_core_executionState.executionState.get(this.routeId);
143
+ if (!data) throw new Error("Execution data not found.");
144
+ const stepIndex = data.route.steps.findIndex((routeStep) => routeStep.id === step.id);
145
+ if (stepIndex === -1) throw new Error("Couldn't find a step to update.");
146
+ data.route.steps[stepIndex] = {
147
+ ...data.route.steps[stepIndex],
148
+ ...step
149
+ };
150
+ data.executionOptions?.updateRouteHook?.(data.route);
151
+ return data.route.steps[stepIndex];
152
+ };
153
+ allowUpdates(value) {
154
+ this.shouldUpdate = value;
155
+ }
156
+ };
157
+ //#endregion
158
+ exports.StatusManager = StatusManager;
159
+
160
+ //# sourceMappingURL=StatusManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusManager.js","names":["getActionMessage","executionState"],"sources":["../../../src/core/StatusManager.ts"],"sourcesContent":["import type { ChainId, LiFiStep } from '@lifi/types'\nimport type {\n Execution,\n ExecutionAction,\n ExecutionActionStatus,\n ExecutionActionType,\n LiFiStepExtended,\n} from '../types/core.js'\nimport { getActionMessage } from './actionMessages.js'\nimport { executionState } from './executionState.js'\n\ntype ActionProps = {\n step: LiFiStepExtended\n type: ExecutionActionType\n chainId: ChainId\n status: ExecutionActionStatus\n}\n\n/**\n * Manages status updates of a route and provides various functions for tracking actions.\n */\nexport class StatusManager {\n private readonly routeId: string\n private shouldUpdate = true\n\n constructor(routeId: string) {\n this.routeId = routeId\n }\n\n /**\n * Initializes the execution object of a Step.\n * @param step The current step in execution\n * @returns The initialized execution object for this step\n */\n initializeExecution = (step: LiFiStepExtended): Execution => {\n if (!step.execution) {\n step.execution = {\n startedAt: Date.now(),\n status: 'PENDING',\n actions: [],\n }\n this.updateStepInRoute(step)\n }\n\n // Change status to PENDING after resuming from FAILED\n if (step.execution.status === 'FAILED') {\n step.execution.startedAt = Date.now()\n step.execution.status = 'PENDING'\n step.execution.signedAt = undefined\n step.execution.error = undefined\n this.updateStepInRoute(step)\n }\n\n return step.execution\n }\n\n /**\n * Updates the execution object of a Step.\n * @param step The current step in execution\n * @param execution Partial execution data to merge\n * @returns The step with the updated execution object\n */\n updateExecution(\n step: LiFiStepExtended,\n execution: Partial<Execution>\n ): LiFiStep {\n if (!step.execution) {\n throw Error(\"Can't update empty execution.\")\n }\n step.execution = {\n ...step.execution,\n ...execution,\n }\n this.updateStepInRoute(step)\n return step\n }\n\n /**\n * Finds an action of the specified type in the step's execution\n * @param step The step to search in\n * @param type The action type to find\n * @returns The found action or undefined if not found\n */\n findAction(\n step: LiFiStepExtended,\n type: ExecutionActionType\n ): ExecutionAction | undefined {\n if (!step.execution?.actions) {\n throw new Error(\"Execution hasn't been initialized.\")\n }\n\n const action = step.execution.actions.find((p) => p.type === type)\n\n return action\n }\n\n /**\n * Create and push a new action into the execution.\n * Caller is responsible for ensuring an action of this type does not already exist.\n * @param step The step that should contain the new action.\n * @param type Type of the action.\n * @param chainId Chain Id of the action.\n * @param status The initial status for the new action.\n * @returns The created action.\n */\n createAction = ({\n step,\n type,\n chainId,\n status,\n }: ActionProps): ExecutionAction => {\n if (!step.execution) {\n throw new Error(\"Execution hasn't been initialized.\")\n }\n\n const newAction: ExecutionAction = {\n type,\n message: getActionMessage(type, status),\n status,\n chainId,\n }\n\n step.execution.actions.push(newAction)\n this.updateStepInRoute(step)\n return newAction\n }\n\n /**\n * Find an existing action by type and update it, or create a new one if none exists.\n * @param step The step that should contain the action.\n * @param type Type of the action. Used to identify already existing actions.\n * @param chainId Chain Id of the action (used when creating).\n * @param status The status to set on the found or newly created action.\n * @returns The updated or newly created action.\n */\n initializeAction = ({\n step,\n type,\n chainId,\n status,\n }: ActionProps): ExecutionAction => {\n const action = this.findAction(step, type)\n\n if (action) {\n return this.updateAction(step, type, status, {\n error: undefined,\n })\n }\n\n return this.createAction({ step, type, chainId, status })\n }\n\n /**\n * Update an action object.\n * @param step The step where the action should be updated\n * @param type The action type to update\n * @param status The status the action gets.\n * @param [params] Additional parameters to append to the action.\n * @returns The updated action\n */\n updateAction = (\n step: LiFiStepExtended,\n type: ExecutionActionType,\n status: ExecutionActionStatus,\n params?: Partial<ExecutionAction & { signedAt?: number }>\n ): ExecutionAction => {\n if (!step.execution) {\n throw new Error(\"Can't update an empty step execution.\")\n }\n const currentAction = this.findAction(step, type)\n\n if (!currentAction) {\n throw new Error(\"Can't find an action for the given type.\")\n }\n\n switch (status) {\n case 'CANCELLED':\n break\n case 'FAILED':\n step.execution.status = 'FAILED'\n if (params?.error) {\n step.execution.error = params.error\n }\n break\n case 'DONE':\n break\n case 'PENDING':\n step.execution.status = 'PENDING'\n if (params?.signedAt) {\n step.execution.signedAt = params.signedAt\n }\n break\n case 'RESET_REQUIRED':\n case 'MESSAGE_REQUIRED':\n case 'ACTION_REQUIRED':\n step.execution.status = 'ACTION_REQUIRED'\n break\n default:\n break\n }\n\n currentAction.status = status\n currentAction.message = getActionMessage(type, status)\n // set extra parameters or overwrite the standard params set in the switch statement\n if (params) {\n const { signedAt: _signedAt, ...rest } = params\n Object.assign(currentAction, rest)\n }\n // Sort actions, the ones with DONE status go first\n step.execution.actions = [\n ...step.execution.actions.filter((action) => action.status === 'DONE'),\n ...step.execution.actions.filter((action) => action.status !== 'DONE'),\n ]\n this.updateStepInRoute(step) // updates the step in the route\n return currentAction\n }\n\n updateStepInRoute = (step: LiFiStep): LiFiStep => {\n if (!this.shouldUpdate) {\n return step\n }\n const data = executionState.get(this.routeId)\n\n if (!data) {\n throw new Error('Execution data not found.')\n }\n\n const stepIndex = data.route.steps.findIndex(\n (routeStep) => routeStep.id === step.id\n )\n\n if (stepIndex === -1) {\n throw new Error(\"Couldn't find a step to update.\")\n }\n\n data.route.steps[stepIndex] = { ...data.route.steps[stepIndex], ...step }\n\n data.executionOptions?.updateRouteHook?.(data.route)\n return data.route.steps[stepIndex]\n }\n\n allowUpdates(value: boolean): void {\n this.shouldUpdate = value\n }\n}\n"],"mappings":";;;;;;;AAqBA,IAAa,gBAAb,MAA2B;CACzB;CACA,eAAuB;CAEvB,YAAY,SAAiB;EAC3B,KAAK,UAAU;CACjB;;;;;;CAOA,uBAAuB,SAAsC;EAC3D,IAAI,CAAC,KAAK,WAAW;GACnB,KAAK,YAAY;IACf,WAAW,KAAK,IAAI;IACpB,QAAQ;IACR,SAAS,CAAC;GACZ;GACA,KAAK,kBAAkB,IAAI;EAC7B;EAGA,IAAI,KAAK,UAAU,WAAW,UAAU;GACtC,KAAK,UAAU,YAAY,KAAK,IAAI;GACpC,KAAK,UAAU,SAAS;GACxB,KAAK,UAAU,WAAW,KAAA;GAC1B,KAAK,UAAU,QAAQ,KAAA;GACvB,KAAK,kBAAkB,IAAI;EAC7B;EAEA,OAAO,KAAK;CACd;;;;;;;CAQA,gBACE,MACA,WACU;EACV,IAAI,CAAC,KAAK,WACR,MAAM,MAAM,+BAA+B;EAE7C,KAAK,YAAY;GACf,GAAG,KAAK;GACR,GAAG;EACL;EACA,KAAK,kBAAkB,IAAI;EAC3B,OAAO;CACT;;;;;;;CAQA,WACE,MACA,MAC6B;EAC7B,IAAI,CAAC,KAAK,WAAW,SACnB,MAAM,IAAI,MAAM,oCAAoC;EAKtD,OAFe,KAAK,UAAU,QAAQ,MAAM,MAAM,EAAE,SAAS,IAEjD;CACd;;;;;;;;;;CAWA,gBAAgB,EACd,MACA,MACA,SACA,aACkC;EAClC,IAAI,CAAC,KAAK,WACR,MAAM,IAAI,MAAM,oCAAoC;EAGtD,MAAM,YAA6B;GACjC;GACA,SAASA,4BAAAA,iBAAiB,MAAM,MAAM;GACtC;GACA;EACF;EAEA,KAAK,UAAU,QAAQ,KAAK,SAAS;EACrC,KAAK,kBAAkB,IAAI;EAC3B,OAAO;CACT;;;;;;;;;CAUA,oBAAoB,EAClB,MACA,MACA,SACA,aACkC;EAGlC,IAFe,KAAK,WAAW,MAAM,IAE5B,GACP,OAAO,KAAK,aAAa,MAAM,MAAM,QAAQ,EAC3C,OAAO,KAAA,EACT,CAAC;EAGH,OAAO,KAAK,aAAa;GAAE;GAAM;GAAM;GAAS;EAAO,CAAC;CAC1D;;;;;;;;;CAUA,gBACE,MACA,MACA,QACA,WACoB;EACpB,IAAI,CAAC,KAAK,WACR,MAAM,IAAI,MAAM,uCAAuC;EAEzD,MAAM,gBAAgB,KAAK,WAAW,MAAM,IAAI;EAEhD,IAAI,CAAC,eACH,MAAM,IAAI,MAAM,0CAA0C;EAG5D,QAAQ,QAAR;GACE,KAAK,aACH;GACF,KAAK;IACH,KAAK,UAAU,SAAS;IACxB,IAAI,QAAQ,OACV,KAAK,UAAU,QAAQ,OAAO;IAEhC;GACF,KAAK,QACH;GACF,KAAK;IACH,KAAK,UAAU,SAAS;IACxB,IAAI,QAAQ,UACV,KAAK,UAAU,WAAW,OAAO;IAEnC;GACF,KAAK;GACL,KAAK;GACL,KAAK;IACH,KAAK,UAAU,SAAS;IACxB;GACF,SACE;EACJ;EAEA,cAAc,SAAS;EACvB,cAAc,UAAUA,4BAAAA,iBAAiB,MAAM,MAAM;EAErD,IAAI,QAAQ;GACV,MAAM,EAAE,UAAU,WAAW,GAAG,SAAS;GACzC,OAAO,OAAO,eAAe,IAAI;EACnC;EAEA,KAAK,UAAU,UAAU,CACvB,GAAG,KAAK,UAAU,QAAQ,QAAQ,WAAW,OAAO,WAAW,MAAM,GACrE,GAAG,KAAK,UAAU,QAAQ,QAAQ,WAAW,OAAO,WAAW,MAAM,CACvE;EACA,KAAK,kBAAkB,IAAI;EAC3B,OAAO;CACT;CAEA,qBAAqB,SAA6B;EAChD,IAAI,CAAC,KAAK,cACR,OAAO;EAET,MAAM,OAAOC,4BAAAA,eAAe,IAAI,KAAK,OAAO;EAE5C,IAAI,CAAC,MACH,MAAM,IAAI,MAAM,2BAA2B;EAG7C,MAAM,YAAY,KAAK,MAAM,MAAM,WAChC,cAAc,UAAU,OAAO,KAAK,EACvC;EAEA,IAAI,cAAc,IAChB,MAAM,IAAI,MAAM,iCAAiC;EAGnD,KAAK,MAAM,MAAM,aAAa;GAAE,GAAG,KAAK,MAAM,MAAM;GAAY,GAAG;EAAK;EAExE,KAAK,kBAAkB,kBAAkB,KAAK,KAAK;EACnD,OAAO,KAAK,MAAM,MAAM;CAC1B;CAEA,aAAa,OAAsB;EACjC,KAAK,eAAe;CACtB;AACF"}
@@ -0,0 +1,12 @@
1
+ import { StepExecutorContext, TaskResult } from "../types/execution.js";
2
+ import { BaseStepExecutionTask } from "./BaseStepExecutionTask.js";
3
+
4
+ //#region src/core/TaskPipeline.d.ts
5
+ declare class TaskPipeline {
6
+ private readonly tasks;
7
+ constructor(tasks: BaseStepExecutionTask[]);
8
+ run(context: StepExecutorContext): Promise<TaskResult>;
9
+ }
10
+ //#endregion
11
+ export { TaskPipeline };
12
+ //# sourceMappingURL=TaskPipeline.d.ts.map
@@ -0,0 +1,21 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/core/TaskPipeline.ts
3
+ var TaskPipeline = class {
4
+ tasks;
5
+ constructor(tasks) {
6
+ this.tasks = tasks;
7
+ }
8
+ async run(context) {
9
+ for (const task of this.tasks) {
10
+ if (!await task.shouldRun(context)) continue;
11
+ const result = await task.run(context);
12
+ if (result.status === "PAUSED") return { status: "PAUSED" };
13
+ if (result.context && typeof result.context === "object") Object.assign(context, result.context);
14
+ }
15
+ return { status: "COMPLETED" };
16
+ }
17
+ };
18
+ //#endregion
19
+ exports.TaskPipeline = TaskPipeline;
20
+
21
+ //# sourceMappingURL=TaskPipeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TaskPipeline.js","names":[],"sources":["../../../src/core/TaskPipeline.ts"],"sourcesContent":["import type { StepExecutorContext, TaskResult } from '../types/execution.js'\nimport type { BaseStepExecutionTask } from './BaseStepExecutionTask.js'\n\nexport class TaskPipeline {\n private readonly tasks: BaseStepExecutionTask[]\n\n constructor(tasks: BaseStepExecutionTask[]) {\n this.tasks = tasks\n }\n\n async run(context: StepExecutorContext): Promise<TaskResult> {\n for (const task of this.tasks) {\n const shouldRun = await task.shouldRun(context)\n if (!shouldRun) {\n continue\n }\n const result = await task.run(context)\n if (result.status === 'PAUSED') {\n return { status: 'PAUSED' }\n }\n if (result.context && typeof result.context === 'object') {\n Object.assign(context, result.context)\n }\n }\n\n return { status: 'COMPLETED' }\n }\n}\n"],"mappings":";;AAGA,IAAa,eAAb,MAA0B;CACxB;CAEA,YAAY,OAAgC;EAC1C,KAAK,QAAQ;CACf;CAEA,MAAM,IAAI,SAAmD;EAC3D,KAAK,MAAM,QAAQ,KAAK,OAAO;GAE7B,IAAI,CAAC,MADmB,KAAK,UAAU,OAAO,GAE5C;GAEF,MAAM,SAAS,MAAM,KAAK,IAAI,OAAO;GACrC,IAAI,OAAO,WAAW,UACpB,OAAO,EAAE,QAAQ,SAAS;GAE5B,IAAI,OAAO,WAAW,OAAO,OAAO,YAAY,UAC9C,OAAO,OAAO,SAAS,OAAO,OAAO;EAEzC;EAEA,OAAO,EAAE,QAAQ,YAAY;CAC/B;AACF"}
@@ -0,0 +1,9 @@
1
+ import { ExecutionActionStatus, ExecutionActionType } from "../types/core.js";
2
+ import { StatusMessage, Substatus } from "@lifi/types";
3
+
4
+ //#region src/core/actionMessages.d.ts
5
+ declare function getActionMessage(type: ExecutionActionType, status: ExecutionActionStatus): string | undefined;
6
+ declare function getSubstatusMessage(status: StatusMessage, substatus?: Substatus): string | undefined;
7
+ //#endregion
8
+ export { getActionMessage, getSubstatusMessage };
9
+ //# sourceMappingURL=actionMessages.d.ts.map
@@ -0,0 +1,81 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ //#region src/core/actionMessages.ts
3
+ const actionMessages = {
4
+ CHECK_ALLOWANCE: {
5
+ STARTED: "Checking token allowance",
6
+ PENDING: "Waiting for token allowance check",
7
+ DONE: "Token allowance checked"
8
+ },
9
+ RESET_ALLOWANCE: {
10
+ STARTED: "Resetting token allowance",
11
+ RESET_REQUIRED: "Resetting token allowance",
12
+ PENDING: "Waiting for token allowance reset",
13
+ DONE: "Token allowance reset"
14
+ },
15
+ SET_ALLOWANCE: {
16
+ STARTED: "Setting token allowance",
17
+ ACTION_REQUIRED: "Set token allowance",
18
+ PENDING: "Waiting for token allowance",
19
+ DONE: "Token allowance set"
20
+ },
21
+ SWAP: {
22
+ STARTED: "Preparing swap transaction",
23
+ ACTION_REQUIRED: "Sign swap transaction",
24
+ MESSAGE_REQUIRED: "Sign swap message",
25
+ PENDING: "Waiting for swap transaction",
26
+ DONE: "Swap completed"
27
+ },
28
+ CROSS_CHAIN: {
29
+ STARTED: "Preparing bridge transaction",
30
+ ACTION_REQUIRED: "Sign bridge transaction",
31
+ MESSAGE_REQUIRED: "Sign bridge message",
32
+ PENDING: "Waiting for bridge transaction",
33
+ DONE: "Bridge transaction confirmed"
34
+ },
35
+ RECEIVING_CHAIN: {
36
+ STARTED: "Waiting for destination chain",
37
+ PENDING: "Waiting for destination chain",
38
+ DONE: "Bridge completed"
39
+ },
40
+ PERMIT: {
41
+ STARTED: "Preparing transaction",
42
+ ACTION_REQUIRED: "Sign permit message",
43
+ PENDING: "Waiting for permit message",
44
+ DONE: "Permit message signed"
45
+ },
46
+ NATIVE_PERMIT: {
47
+ STARTED: "Preparing transaction",
48
+ ACTION_REQUIRED: "Sign permit message",
49
+ PENDING: "Waiting for permit message",
50
+ DONE: "Permit message signed"
51
+ }
52
+ };
53
+ const substatusMessages = {
54
+ PENDING: {
55
+ BRIDGE_NOT_AVAILABLE: "Bridge communication is temporarily unavailable.",
56
+ CHAIN_NOT_AVAILABLE: "RPC communication is temporarily unavailable.",
57
+ UNKNOWN_ERROR: "An unexpected error occurred. Please seek assistance in the LI.FI discord server.",
58
+ WAIT_SOURCE_CONFIRMATIONS: "The bridge deposit has been received. The bridge is waiting for more confirmations to start the off-chain logic.",
59
+ WAIT_DESTINATION_TRANSACTION: "The bridge off-chain logic is being executed. Wait for the transaction to appear on the destination chain."
60
+ },
61
+ DONE: {
62
+ PARTIAL: "Some of the received tokens are not the requested destination tokens.",
63
+ REFUNDED: "The tokens were refunded to the sender address.",
64
+ COMPLETED: "The transfer is complete."
65
+ },
66
+ FAILED: {},
67
+ INVALID: {},
68
+ NOT_FOUND: {}
69
+ };
70
+ function getActionMessage(type, status) {
71
+ return actionMessages[type][status];
72
+ }
73
+ function getSubstatusMessage(status, substatus) {
74
+ if (!substatus) return;
75
+ return substatusMessages[status][substatus];
76
+ }
77
+ //#endregion
78
+ exports.getActionMessage = getActionMessage;
79
+ exports.getSubstatusMessage = getSubstatusMessage;
80
+
81
+ //# sourceMappingURL=actionMessages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"actionMessages.js","names":[],"sources":["../../../src/core/actionMessages.ts"],"sourcesContent":["import type { StatusMessage, Substatus } from '@lifi/types'\nimport type {\n ExecutionActionStatus,\n ExecutionActionType,\n} from '../types/core.js'\n\nconst actionMessages: Record<\n ExecutionActionType,\n Partial<Record<ExecutionActionStatus, string>>\n> = {\n CHECK_ALLOWANCE: {\n STARTED: 'Checking token allowance',\n PENDING: 'Waiting for token allowance check',\n DONE: 'Token allowance checked',\n },\n RESET_ALLOWANCE: {\n STARTED: 'Resetting token allowance',\n RESET_REQUIRED: 'Resetting token allowance',\n PENDING: 'Waiting for token allowance reset',\n DONE: 'Token allowance reset',\n },\n SET_ALLOWANCE: {\n STARTED: 'Setting token allowance',\n ACTION_REQUIRED: 'Set token allowance',\n PENDING: 'Waiting for token allowance',\n DONE: 'Token allowance set',\n },\n SWAP: {\n STARTED: 'Preparing swap transaction',\n ACTION_REQUIRED: 'Sign swap transaction',\n MESSAGE_REQUIRED: 'Sign swap message',\n PENDING: 'Waiting for swap transaction',\n DONE: 'Swap completed',\n },\n CROSS_CHAIN: {\n STARTED: 'Preparing bridge transaction',\n ACTION_REQUIRED: 'Sign bridge transaction',\n MESSAGE_REQUIRED: 'Sign bridge message',\n PENDING: 'Waiting for bridge transaction',\n DONE: 'Bridge transaction confirmed',\n },\n RECEIVING_CHAIN: {\n STARTED: 'Waiting for destination chain',\n PENDING: 'Waiting for destination chain',\n DONE: 'Bridge completed',\n },\n PERMIT: {\n STARTED: 'Preparing transaction',\n ACTION_REQUIRED: 'Sign permit message',\n PENDING: 'Waiting for permit message',\n DONE: 'Permit message signed',\n },\n NATIVE_PERMIT: {\n STARTED: 'Preparing transaction',\n ACTION_REQUIRED: 'Sign permit message',\n PENDING: 'Waiting for permit message',\n DONE: 'Permit message signed',\n },\n}\n\nconst substatusMessages: Record<\n StatusMessage,\n Partial<Record<Substatus, string>>\n> = {\n PENDING: {\n BRIDGE_NOT_AVAILABLE: 'Bridge communication is temporarily unavailable.',\n CHAIN_NOT_AVAILABLE: 'RPC communication is temporarily unavailable.',\n UNKNOWN_ERROR:\n 'An unexpected error occurred. Please seek assistance in the LI.FI discord server.',\n WAIT_SOURCE_CONFIRMATIONS:\n 'The bridge deposit has been received. The bridge is waiting for more confirmations to start the off-chain logic.',\n WAIT_DESTINATION_TRANSACTION:\n 'The bridge off-chain logic is being executed. Wait for the transaction to appear on the destination chain.',\n },\n DONE: {\n PARTIAL:\n 'Some of the received tokens are not the requested destination tokens.',\n REFUNDED: 'The tokens were refunded to the sender address.',\n COMPLETED: 'The transfer is complete.',\n },\n FAILED: {},\n INVALID: {},\n NOT_FOUND: {},\n}\n\nexport function getActionMessage(\n type: ExecutionActionType,\n status: ExecutionActionStatus\n): string | undefined {\n const actionMessage = actionMessages[type][status]\n return actionMessage\n}\n\nexport function getSubstatusMessage(\n status: StatusMessage,\n substatus?: Substatus\n): string | undefined {\n if (!substatus) {\n return\n }\n const message = substatusMessages[status][substatus]\n return message\n}\n"],"mappings":";;AAMA,MAAM,iBAGF;CACF,iBAAiB;EACf,SAAS;EACT,SAAS;EACT,MAAM;CACR;CACA,iBAAiB;EACf,SAAS;EACT,gBAAgB;EAChB,SAAS;EACT,MAAM;CACR;CACA,eAAe;EACb,SAAS;EACT,iBAAiB;EACjB,SAAS;EACT,MAAM;CACR;CACA,MAAM;EACJ,SAAS;EACT,iBAAiB;EACjB,kBAAkB;EAClB,SAAS;EACT,MAAM;CACR;CACA,aAAa;EACX,SAAS;EACT,iBAAiB;EACjB,kBAAkB;EAClB,SAAS;EACT,MAAM;CACR;CACA,iBAAiB;EACf,SAAS;EACT,SAAS;EACT,MAAM;CACR;CACA,QAAQ;EACN,SAAS;EACT,iBAAiB;EACjB,SAAS;EACT,MAAM;CACR;CACA,eAAe;EACb,SAAS;EACT,iBAAiB;EACjB,SAAS;EACT,MAAM;CACR;AACF;AAEA,MAAM,oBAGF;CACF,SAAS;EACP,sBAAsB;EACtB,qBAAqB;EACrB,eACE;EACF,2BACE;EACF,8BACE;CACJ;CACA,MAAM;EACJ,SACE;EACF,UAAU;EACV,WAAW;CACb;CACA,QAAQ,CAAC;CACT,SAAS,CAAC;CACV,WAAW,CAAC;AACd;AAEA,SAAgB,iBACd,MACA,QACoB;CAEpB,OADsB,eAAe,MAAM;AAE7C;AAEA,SAAgB,oBACd,QACA,WACoB;CACpB,IAAI,CAAC,WACH;CAGF,OADgB,kBAAkB,QAAQ;AAE5C"}
@@ -0,0 +1,48 @@
1
+ import { ExecutionOptions, RouteExtended, SDKClient } from "../types/core.js";
2
+ import { Route } from "@lifi/types";
3
+
4
+ //#region src/core/execution.d.ts
5
+ /**
6
+ * Execute a route.
7
+ * @param client - The SDK client.
8
+ * @param route - The route that should be executed. Cannot be an active route.
9
+ * @param executionOptions - An object containing settings and callbacks.
10
+ * @returns The executed route.
11
+ * @throws {LiFiError} Throws a LiFiError if the execution fails.
12
+ */
13
+ declare const executeRoute: (client: SDKClient, route: Route, executionOptions?: ExecutionOptions) => Promise<RouteExtended>;
14
+ /**
15
+ * Resume the execution of a route that has been stopped or had an error while executing.
16
+ * @param client - The SDK client.
17
+ * @param route - The route that is to be executed. Cannot be an active route.
18
+ * @param executionOptions - An object containing settings and callbacks.
19
+ * @returns The executed route.
20
+ * @throws {LiFiError} Throws a LiFiError if the execution fails.
21
+ */
22
+ declare const resumeRoute: (client: SDKClient, route: Route, executionOptions?: ExecutionOptions) => Promise<RouteExtended>;
23
+ /**
24
+ * Updates route execution to background or foreground state.
25
+ * @param route - A route that is currently in execution.
26
+ * @param options - An object with execution settings.
27
+ */
28
+ declare const updateRouteExecution: (route: Route, options: ExecutionOptions) => void;
29
+ /**
30
+ * Stops the execution of an active route.
31
+ * @param route - A route that is currently in execution.
32
+ * @returns The stopped route.
33
+ */
34
+ declare const stopRouteExecution: (route: Route) => Route;
35
+ /**
36
+ * Get the list of active routes.
37
+ * @returns A list of routes.
38
+ */
39
+ declare const getActiveRoutes: () => RouteExtended[];
40
+ /**
41
+ * Return the current route information for given route. The route has to be active.
42
+ * @param routeId - A route id.
43
+ * @returns The updated route.
44
+ */
45
+ declare const getActiveRoute: (routeId: string) => RouteExtended | undefined;
46
+ //#endregion
47
+ export { executeRoute, getActiveRoute, getActiveRoutes, resumeRoute, stopRouteExecution, updateRouteExecution };
48
+ //# sourceMappingURL=execution.d.ts.map