@lifi/sdk 4.0.1-alpha.0 → 4.1.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 (696) hide show
  1. package/CHANGELOG.md +1233 -0
  2. package/README.md +88 -5
  3. package/dist/cjs/actions/getChains.d.ts +17 -4
  4. package/dist/cjs/actions/getChains.js +22 -19
  5. package/dist/cjs/actions/getChains.js.map +1 -1
  6. package/dist/cjs/actions/getConnections.d.ts +15 -3
  7. package/dist/cjs/actions/getConnections.js +30 -35
  8. package/dist/cjs/actions/getConnections.js.map +1 -1
  9. package/dist/cjs/actions/getContractCallsQuote.d.ts +16 -3
  10. package/dist/cjs/actions/getContractCallsQuote.js +41 -42
  11. package/dist/cjs/actions/getContractCallsQuote.js.map +1 -1
  12. package/dist/cjs/actions/getGasRecommendation.d.ts +16 -3
  13. package/dist/cjs/actions/getGasRecommendation.js +20 -19
  14. package/dist/cjs/actions/getGasRecommendation.js.map +1 -1
  15. package/dist/cjs/actions/getNameServiceAddress.d.ts +15 -3
  16. package/dist/cjs/actions/getNameServiceAddress.js +25 -27
  17. package/dist/cjs/actions/getNameServiceAddress.js.map +1 -1
  18. package/dist/cjs/actions/getQuote.d.ts +18 -5
  19. package/dist/cjs/actions/getQuote.js +33 -45
  20. package/dist/cjs/actions/getQuote.js.map +1 -1
  21. package/dist/cjs/actions/getRelayedTransactionStatus.d.ts +16 -3
  22. package/dist/cjs/actions/getRelayedTransactionStatus.js +26 -26
  23. package/dist/cjs/actions/getRelayedTransactionStatus.js.map +1 -1
  24. package/dist/cjs/actions/getRelayerQuote.d.ts +17 -4
  25. package/dist/cjs/actions/getRelayerQuote.js +40 -44
  26. package/dist/cjs/actions/getRelayerQuote.js.map +1 -1
  27. package/dist/cjs/actions/getRoutes.d.ts +17 -3
  28. package/dist/cjs/actions/getRoutes.js +28 -23
  29. package/dist/cjs/actions/getRoutes.js.map +1 -1
  30. package/dist/cjs/actions/getStatus.d.ts +17 -4
  31. package/dist/cjs/actions/getStatus.js +18 -14
  32. package/dist/cjs/actions/getStatus.js.map +1 -1
  33. package/dist/cjs/actions/getStepTransaction.d.ts +17 -3
  34. package/dist/cjs/actions/getStepTransaction.js +32 -24
  35. package/dist/cjs/actions/getStepTransaction.js.map +1 -1
  36. package/dist/cjs/actions/getToken.d.ts +17 -3
  37. package/dist/cjs/actions/getToken.js +22 -18
  38. package/dist/cjs/actions/getToken.js.map +1 -1
  39. package/dist/cjs/actions/getTokenBalance.d.ts +17 -3
  40. package/dist/cjs/actions/getTokenBalance.js +16 -6
  41. package/dist/cjs/actions/getTokenBalance.js.map +1 -1
  42. package/dist/cjs/actions/getTokenBalances.d.ts +17 -3
  43. package/dist/cjs/actions/getTokenBalances.js +12 -13
  44. package/dist/cjs/actions/getTokenBalances.js.map +1 -1
  45. package/dist/cjs/actions/getTokenBalancesByChain.d.ts +19 -5
  46. package/dist/cjs/actions/getTokenBalancesByChain.js +22 -37
  47. package/dist/cjs/actions/getTokenBalancesByChain.js.map +1 -1
  48. package/dist/cjs/actions/getTokens.d.ts +18 -6
  49. package/dist/cjs/actions/getTokens.js +14 -18
  50. package/dist/cjs/actions/getTokens.js.map +1 -1
  51. package/dist/cjs/actions/getTools.d.ts +15 -3
  52. package/dist/cjs/actions/getTools.js +17 -14
  53. package/dist/cjs/actions/getTools.js.map +1 -1
  54. package/dist/cjs/actions/getTransactionHistory.d.ts +26 -3
  55. package/dist/cjs/actions/getTransactionHistory.js +27 -21
  56. package/dist/cjs/actions/getTransactionHistory.js.map +1 -1
  57. package/dist/cjs/actions/getWalletBalances.d.ts +16 -3
  58. package/dist/cjs/actions/getWalletBalances.js +16 -12
  59. package/dist/cjs/actions/getWalletBalances.js.map +1 -1
  60. package/dist/cjs/actions/index.d.ts +174 -39
  61. package/dist/cjs/actions/index.js +49 -47
  62. package/dist/cjs/actions/index.js.map +1 -1
  63. package/dist/cjs/actions/patchContractCalls.d.ts +14 -9
  64. package/dist/cjs/actions/patchContractCalls.js +11 -12
  65. package/dist/cjs/actions/patchContractCalls.js.map +1 -1
  66. package/dist/cjs/actions/relayTransaction.d.ts +16 -3
  67. package/dist/cjs/actions/relayTransaction.js +30 -34
  68. package/dist/cjs/actions/relayTransaction.js.map +1 -1
  69. package/dist/cjs/client/createClient.d.ts +7 -2
  70. package/dist/cjs/client/createClient.js +67 -75
  71. package/dist/cjs/client/createClient.js.map +1 -1
  72. package/dist/cjs/client/getClientStorage.d.ts +14 -8
  73. package/dist/cjs/client/getClientStorage.js +44 -47
  74. package/dist/cjs/client/getClientStorage.js.map +1 -1
  75. package/dist/cjs/core/BaseStepExecutionTask.d.ts +10 -0
  76. package/dist/cjs/core/BaseStepExecutionTask.js +11 -0
  77. package/dist/cjs/core/BaseStepExecutionTask.js.map +1 -0
  78. package/dist/cjs/core/BaseStepExecutor.d.ts +23 -11
  79. package/dist/cjs/core/BaseStepExecutor.js +67 -26
  80. package/dist/cjs/core/BaseStepExecutor.js.map +1 -1
  81. package/dist/cjs/core/StatusManager.d.ts +81 -20
  82. package/dist/cjs/core/StatusManager.js +158 -137
  83. package/dist/cjs/core/StatusManager.js.map +1 -1
  84. package/dist/cjs/core/TaskPipeline.d.ts +12 -0
  85. package/dist/cjs/core/TaskPipeline.js +21 -0
  86. package/dist/cjs/core/TaskPipeline.js.map +1 -0
  87. package/dist/cjs/core/actionMessages.d.ts +9 -4
  88. package/dist/cjs/core/actionMessages.js +72 -58
  89. package/dist/cjs/core/actionMessages.js.map +1 -1
  90. package/dist/cjs/core/execution.d.ts +48 -8
  91. package/dist/cjs/core/execution.js +131 -121
  92. package/dist/cjs/core/execution.js.map +1 -1
  93. package/dist/cjs/core/executionState.d.ts +17 -13
  94. package/dist/cjs/core/executionState.js +27 -27
  95. package/dist/cjs/core/executionState.js.map +1 -1
  96. package/dist/cjs/core/prepareRestart.d.ts +7 -2
  97. package/dist/cjs/core/prepareRestart.js +17 -19
  98. package/dist/cjs/core/prepareRestart.js.map +1 -1
  99. package/dist/cjs/core/storage.d.ts +21 -0
  100. package/dist/cjs/core/storage.js +35 -0
  101. package/dist/cjs/core/storage.js.map +1 -0
  102. package/dist/cjs/core/tasks/CheckBalanceTask.d.ts +19 -0
  103. package/dist/cjs/core/tasks/CheckBalanceTask.js +35 -0
  104. package/dist/cjs/core/tasks/CheckBalanceTask.js.map +1 -0
  105. package/dist/cjs/core/tasks/PrepareTransactionTask.d.ts +10 -0
  106. package/dist/cjs/core/tasks/PrepareTransactionTask.js +30 -0
  107. package/dist/cjs/core/tasks/PrepareTransactionTask.js.map +1 -0
  108. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.d.ts +13 -0
  109. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js +63 -0
  110. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js.map +1 -0
  111. package/dist/cjs/core/tasks/helpers/checkBalance.d.ts +30 -0
  112. package/dist/cjs/core/tasks/helpers/checkBalance.js +108 -0
  113. package/dist/cjs/core/tasks/helpers/checkBalance.js.map +1 -0
  114. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.d.ts +7 -0
  115. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js +25 -0
  116. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js.map +1 -0
  117. package/dist/cjs/core/tasks/helpers/stepComparison.d.ts +21 -0
  118. package/dist/cjs/core/tasks/helpers/stepComparison.js +32 -0
  119. package/dist/cjs/core/tasks/helpers/stepComparison.js.map +1 -0
  120. package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.d.ts +9 -0
  121. package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.js +48 -0
  122. package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.js.map +1 -0
  123. package/dist/cjs/core/utils.d.ts +17 -86
  124. package/dist/cjs/core/utils.js +37 -38
  125. package/dist/cjs/core/utils.js.map +1 -1
  126. package/dist/cjs/errors/SDKError.d.ts +16 -11
  127. package/dist/cjs/errors/SDKError.js +22 -21
  128. package/dist/cjs/errors/SDKError.js.map +1 -1
  129. package/dist/cjs/errors/baseError.d.ts +10 -5
  130. package/dist/cjs/errors/baseError.js +17 -18
  131. package/dist/cjs/errors/baseError.js.map +1 -1
  132. package/dist/cjs/errors/constants.d.ts +52 -47
  133. package/dist/cjs/errors/constants.js +60 -55
  134. package/dist/cjs/errors/constants.js.map +1 -1
  135. package/dist/cjs/errors/errors.d.ts +31 -16
  136. package/dist/cjs/errors/errors.js +57 -43
  137. package/dist/cjs/errors/errors.js.map +1 -1
  138. package/dist/cjs/errors/httpError.d.ts +21 -17
  139. package/dist/cjs/errors/httpError.js +63 -66
  140. package/dist/cjs/errors/httpError.js.map +1 -1
  141. package/dist/cjs/errors/utils/baseErrorRootCause.d.ts +8 -3
  142. package/dist/cjs/errors/utils/baseErrorRootCause.js +12 -15
  143. package/dist/cjs/errors/utils/baseErrorRootCause.js.map +1 -1
  144. package/dist/cjs/errors/utils/rootCause.d.ts +5 -1
  145. package/dist/cjs/errors/utils/rootCause.js +7 -8
  146. package/dist/cjs/errors/utils/rootCause.js.map +1 -1
  147. package/dist/cjs/index.d.ts +56 -46
  148. package/dist/cjs/index.js +130 -119
  149. package/dist/cjs/types/actions.d.ts +32 -7
  150. package/dist/cjs/types/actions.js +0 -3
  151. package/dist/cjs/types/core.d.ts +181 -164
  152. package/dist/cjs/types/core.js +0 -3
  153. package/dist/cjs/types/execution.d.ts +28 -0
  154. package/dist/cjs/types/execution.js +0 -0
  155. package/dist/cjs/types/request.d.ts +6 -2
  156. package/dist/cjs/types/request.js +0 -3
  157. package/dist/cjs/utils/checkPackageUpdates.d.ts +5 -1
  158. package/dist/cjs/utils/checkPackageUpdates.js +11 -16
  159. package/dist/cjs/utils/checkPackageUpdates.js.map +1 -1
  160. package/dist/cjs/utils/convertQuoteToRoute.d.ts +20 -5
  161. package/dist/cjs/utils/convertQuoteToRoute.js +72 -85
  162. package/dist/cjs/utils/convertQuoteToRoute.js.map +1 -1
  163. package/dist/cjs/utils/decode.d.ts +5 -1
  164. package/dist/cjs/utils/decode.js +5 -10
  165. package/dist/cjs/utils/decode.js.map +1 -1
  166. package/dist/cjs/utils/fetchTxErrorDetails.d.ts +5 -1
  167. package/dist/cjs/utils/fetchTxErrorDetails.js +9 -9
  168. package/dist/cjs/utils/fetchTxErrorDetails.js.map +1 -1
  169. package/dist/cjs/utils/formatUnits.d.ts +8 -1
  170. package/dist/cjs/utils/formatUnits.js +15 -15
  171. package/dist/cjs/utils/formatUnits.js.map +1 -1
  172. package/dist/cjs/utils/getTransactionMessage.d.ts +8 -3
  173. package/dist/cjs/utils/getTransactionMessage.js +8 -10
  174. package/dist/cjs/utils/getTransactionMessage.js.map +1 -1
  175. package/dist/cjs/utils/isHex.d.ts +9 -3
  176. package/dist/cjs/utils/isHex.js +8 -10
  177. package/dist/cjs/utils/isHex.js.map +1 -1
  178. package/dist/cjs/utils/isRoutesRequest.d.ts +7 -2
  179. package/dist/cjs/utils/isRoutesRequest.js +7 -14
  180. package/dist/cjs/utils/isRoutesRequest.js.map +1 -1
  181. package/dist/cjs/utils/isStep.d.ts +7 -2
  182. package/dist/cjs/utils/isStep.js +16 -25
  183. package/dist/cjs/utils/isStep.js.map +1 -1
  184. package/dist/cjs/utils/isToken.d.ts +7 -2
  185. package/dist/cjs/utils/isToken.js +6 -7
  186. package/dist/cjs/utils/isToken.js.map +1 -1
  187. package/dist/cjs/utils/parseUnits.d.ts +8 -1
  188. package/dist/cjs/utils/parseUnits.js +32 -41
  189. package/dist/cjs/utils/parseUnits.js.map +1 -1
  190. package/dist/cjs/utils/request.d.ts +10 -5
  191. package/dist/cjs/utils/request.js +53 -69
  192. package/dist/cjs/utils/request.js.map +1 -1
  193. package/dist/cjs/utils/sleep.d.ts +5 -1
  194. package/dist/cjs/utils/sleep.js +8 -6
  195. package/dist/cjs/utils/sleep.js.map +1 -1
  196. package/dist/cjs/utils/toQueryString.d.ts +5 -0
  197. package/dist/cjs/utils/toQueryString.js +17 -0
  198. package/dist/cjs/utils/toQueryString.js.map +1 -0
  199. package/dist/cjs/utils/waitForResult.d.ts +14 -1
  200. package/dist/cjs/utils/waitForResult.js +33 -26
  201. package/dist/cjs/utils/waitForResult.js.map +1 -1
  202. package/dist/cjs/utils/withDedupe.d.ts +21 -4
  203. package/dist/cjs/utils/withDedupe.js +31 -27
  204. package/dist/cjs/utils/withDedupe.js.map +1 -1
  205. package/dist/cjs/utils/withTimeout.d.ts +26 -0
  206. package/dist/cjs/utils/withTimeout.js +35 -0
  207. package/dist/cjs/utils/withTimeout.js.map +1 -0
  208. package/dist/cjs/version.d.ts +6 -2
  209. package/dist/cjs/version.js +8 -5
  210. package/dist/cjs/version.js.map +1 -1
  211. package/dist/esm/actions/getChains.d.ts +16 -11
  212. package/dist/esm/actions/getChains.d.ts.map +1 -0
  213. package/dist/esm/actions/getChains.js +22 -24
  214. package/dist/esm/actions/getChains.js.map +1 -1
  215. package/dist/esm/actions/getConnections.d.ts +14 -9
  216. package/dist/esm/actions/getConnections.d.ts.map +1 -0
  217. package/dist/esm/actions/getConnections.js +30 -39
  218. package/dist/esm/actions/getConnections.js.map +1 -1
  219. package/dist/esm/actions/getContractCallsQuote.d.ts +15 -10
  220. package/dist/esm/actions/getContractCallsQuote.d.ts.map +1 -0
  221. package/dist/esm/actions/getContractCallsQuote.js +41 -51
  222. package/dist/esm/actions/getContractCallsQuote.js.map +1 -1
  223. package/dist/esm/actions/getGasRecommendation.d.ts +15 -10
  224. package/dist/esm/actions/getGasRecommendation.d.ts.map +1 -0
  225. package/dist/esm/actions/getGasRecommendation.js +20 -24
  226. package/dist/esm/actions/getGasRecommendation.js.map +1 -1
  227. package/dist/esm/actions/getNameServiceAddress.d.ts +14 -9
  228. package/dist/esm/actions/getNameServiceAddress.d.ts.map +1 -0
  229. package/dist/esm/actions/getNameServiceAddress.js +25 -31
  230. package/dist/esm/actions/getNameServiceAddress.js.map +1 -1
  231. package/dist/esm/actions/getQuote.d.ts +17 -12
  232. package/dist/esm/actions/getQuote.d.ts.map +1 -0
  233. package/dist/esm/actions/getQuote.js +33 -44
  234. package/dist/esm/actions/getQuote.js.map +1 -1
  235. package/dist/esm/actions/getRelayedTransactionStatus.d.ts +15 -10
  236. package/dist/esm/actions/getRelayedTransactionStatus.d.ts.map +1 -0
  237. package/dist/esm/actions/getRelayedTransactionStatus.js +26 -32
  238. package/dist/esm/actions/getRelayedTransactionStatus.js.map +1 -1
  239. package/dist/esm/actions/getRelayerQuote.d.ts +16 -11
  240. package/dist/esm/actions/getRelayerQuote.d.ts.map +1 -0
  241. package/dist/esm/actions/getRelayerQuote.js +40 -50
  242. package/dist/esm/actions/getRelayerQuote.js.map +1 -1
  243. package/dist/esm/actions/getRoutes.d.ts +16 -10
  244. package/dist/esm/actions/getRoutes.d.ts.map +1 -0
  245. package/dist/esm/actions/getRoutes.js +28 -29
  246. package/dist/esm/actions/getRoutes.js.map +1 -1
  247. package/dist/esm/actions/getStatus.d.ts +16 -11
  248. package/dist/esm/actions/getStatus.d.ts.map +1 -0
  249. package/dist/esm/actions/getStatus.js +18 -19
  250. package/dist/esm/actions/getStatus.js.map +1 -1
  251. package/dist/esm/actions/getStepTransaction.d.ts +16 -10
  252. package/dist/esm/actions/getStepTransaction.d.ts.map +1 -0
  253. package/dist/esm/actions/getStepTransaction.js +32 -31
  254. package/dist/esm/actions/getStepTransaction.js.map +1 -1
  255. package/dist/esm/actions/getToken.d.ts +16 -11
  256. package/dist/esm/actions/getToken.d.ts.map +1 -0
  257. package/dist/esm/actions/getToken.js +22 -24
  258. package/dist/esm/actions/getToken.js.map +1 -1
  259. package/dist/esm/actions/getTokenBalance.d.ts +16 -11
  260. package/dist/esm/actions/getTokenBalance.d.ts.map +1 -0
  261. package/dist/esm/actions/getTokenBalance.js +16 -12
  262. package/dist/esm/actions/getTokenBalance.js.map +1 -1
  263. package/dist/esm/actions/getTokenBalances.d.ts +16 -11
  264. package/dist/esm/actions/getTokenBalances.d.ts.map +1 -0
  265. package/dist/esm/actions/getTokenBalances.js +12 -12
  266. package/dist/esm/actions/getTokenBalances.js.map +1 -1
  267. package/dist/esm/actions/getTokenBalancesByChain.d.ts +18 -13
  268. package/dist/esm/actions/getTokenBalancesByChain.d.ts.map +1 -0
  269. package/dist/esm/actions/getTokenBalancesByChain.js +22 -37
  270. package/dist/esm/actions/getTokenBalancesByChain.js.map +1 -1
  271. package/dist/esm/actions/getTokens.d.ts +17 -12
  272. package/dist/esm/actions/getTokens.d.ts.map +1 -0
  273. package/dist/esm/actions/getTokens.js +14 -16
  274. package/dist/esm/actions/getTokens.js.map +1 -1
  275. package/dist/esm/actions/getTools.d.ts +14 -9
  276. package/dist/esm/actions/getTools.d.ts.map +1 -0
  277. package/dist/esm/actions/getTools.js +17 -18
  278. package/dist/esm/actions/getTools.js.map +1 -1
  279. package/dist/esm/actions/getTransactionHistory.d.ts +25 -15
  280. package/dist/esm/actions/getTransactionHistory.d.ts.map +1 -0
  281. package/dist/esm/actions/getTransactionHistory.js +27 -31
  282. package/dist/esm/actions/getTransactionHistory.js.map +1 -1
  283. package/dist/esm/actions/getWalletBalances.d.ts +15 -10
  284. package/dist/esm/actions/getWalletBalances.d.ts.map +1 -0
  285. package/dist/esm/actions/getWalletBalances.js +16 -17
  286. package/dist/esm/actions/getWalletBalances.js.map +1 -1
  287. package/dist/esm/actions/index.d.ts +174 -166
  288. package/dist/esm/actions/index.d.ts.map +1 -0
  289. package/dist/esm/actions/index.js +49 -45
  290. package/dist/esm/actions/index.js.map +1 -1
  291. package/dist/esm/actions/patchContractCalls.d.ts +14 -9
  292. package/dist/esm/actions/patchContractCalls.d.ts.map +1 -0
  293. package/dist/esm/actions/patchContractCalls.js +12 -10
  294. package/dist/esm/actions/patchContractCalls.js.map +1 -1
  295. package/dist/esm/actions/relayTransaction.d.ts +15 -10
  296. package/dist/esm/actions/relayTransaction.d.ts.map +1 -0
  297. package/dist/esm/actions/relayTransaction.js +30 -41
  298. package/dist/esm/actions/relayTransaction.js.map +1 -1
  299. package/dist/esm/client/createClient.d.ts +7 -2
  300. package/dist/esm/client/createClient.d.ts.map +1 -0
  301. package/dist/esm/client/createClient.js +67 -74
  302. package/dist/esm/client/createClient.js.map +1 -1
  303. package/dist/esm/client/getClientStorage.d.ts +14 -8
  304. package/dist/esm/client/getClientStorage.d.ts.map +1 -0
  305. package/dist/esm/client/getClientStorage.js +45 -48
  306. package/dist/esm/client/getClientStorage.js.map +1 -1
  307. package/dist/esm/core/BaseStepExecutionTask.d.ts +10 -0
  308. package/dist/esm/core/BaseStepExecutionTask.d.ts.map +1 -0
  309. package/dist/esm/core/BaseStepExecutionTask.js +10 -0
  310. package/dist/esm/core/BaseStepExecutionTask.js.map +1 -0
  311. package/dist/esm/core/BaseStepExecutor.d.ts +23 -11
  312. package/dist/esm/core/BaseStepExecutor.d.ts.map +1 -0
  313. package/dist/esm/core/BaseStepExecutor.js +67 -24
  314. package/dist/esm/core/BaseStepExecutor.js.map +1 -1
  315. package/dist/esm/core/StatusManager.d.ts +80 -64
  316. package/dist/esm/core/StatusManager.d.ts.map +1 -0
  317. package/dist/esm/core/StatusManager.js +157 -181
  318. package/dist/esm/core/StatusManager.js.map +1 -1
  319. package/dist/esm/core/TaskPipeline.d.ts +12 -0
  320. package/dist/esm/core/TaskPipeline.d.ts.map +1 -0
  321. package/dist/esm/core/TaskPipeline.js +20 -0
  322. package/dist/esm/core/TaskPipeline.js.map +1 -0
  323. package/dist/esm/core/actionMessages.d.ts +9 -4
  324. package/dist/esm/core/actionMessages.d.ts.map +1 -0
  325. package/dist/esm/core/actionMessages.js +72 -56
  326. package/dist/esm/core/actionMessages.js.map +1 -1
  327. package/dist/esm/core/execution.d.ts +42 -37
  328. package/dist/esm/core/execution.d.ts.map +1 -0
  329. package/dist/esm/core/execution.js +126 -162
  330. package/dist/esm/core/execution.js.map +1 -1
  331. package/dist/esm/core/executionState.d.ts +17 -13
  332. package/dist/esm/core/executionState.d.ts.map +1 -0
  333. package/dist/esm/core/executionState.js +26 -24
  334. package/dist/esm/core/executionState.js.map +1 -1
  335. package/dist/esm/core/prepareRestart.d.ts +7 -2
  336. package/dist/esm/core/prepareRestart.d.ts.map +1 -0
  337. package/dist/esm/core/prepareRestart.js +18 -20
  338. package/dist/esm/core/prepareRestart.js.map +1 -1
  339. package/dist/esm/core/storage.d.ts +21 -0
  340. package/dist/esm/core/storage.d.ts.map +1 -0
  341. package/dist/esm/core/storage.js +32 -0
  342. package/dist/esm/core/storage.js.map +1 -0
  343. package/dist/esm/core/tasks/CheckBalanceTask.d.ts +19 -0
  344. package/dist/esm/core/tasks/CheckBalanceTask.d.ts.map +1 -0
  345. package/dist/esm/core/tasks/CheckBalanceTask.js +34 -0
  346. package/dist/esm/core/tasks/CheckBalanceTask.js.map +1 -0
  347. package/dist/esm/core/tasks/PrepareTransactionTask.d.ts +10 -0
  348. package/dist/esm/core/tasks/PrepareTransactionTask.d.ts.map +1 -0
  349. package/dist/esm/core/tasks/PrepareTransactionTask.js +29 -0
  350. package/dist/esm/core/tasks/PrepareTransactionTask.js.map +1 -0
  351. package/dist/esm/core/tasks/WaitForTransactionStatusTask.d.ts +13 -0
  352. package/dist/esm/core/tasks/WaitForTransactionStatusTask.d.ts.map +1 -0
  353. package/dist/esm/core/tasks/WaitForTransactionStatusTask.js +61 -0
  354. package/dist/esm/core/tasks/WaitForTransactionStatusTask.js.map +1 -0
  355. package/dist/esm/core/tasks/helpers/checkBalance.d.ts +30 -0
  356. package/dist/esm/core/tasks/helpers/checkBalance.d.ts.map +1 -0
  357. package/dist/esm/core/tasks/helpers/checkBalance.js +107 -0
  358. package/dist/esm/core/tasks/helpers/checkBalance.js.map +1 -0
  359. package/dist/esm/core/tasks/helpers/getTransactionRequestData.d.ts +7 -0
  360. package/dist/esm/core/tasks/helpers/getTransactionRequestData.d.ts.map +1 -0
  361. package/dist/esm/core/tasks/helpers/getTransactionRequestData.js +24 -0
  362. package/dist/esm/core/tasks/helpers/getTransactionRequestData.js.map +1 -0
  363. package/dist/esm/core/tasks/helpers/stepComparison.d.ts +21 -0
  364. package/dist/esm/core/tasks/helpers/stepComparison.d.ts.map +1 -0
  365. package/dist/esm/core/tasks/helpers/stepComparison.js +31 -0
  366. package/dist/esm/core/tasks/helpers/stepComparison.js.map +1 -0
  367. package/dist/esm/core/tasks/helpers/waitForTransactionStatus.d.ts +9 -0
  368. package/dist/esm/core/tasks/helpers/waitForTransactionStatus.d.ts.map +1 -0
  369. package/dist/esm/core/tasks/helpers/waitForTransactionStatus.js +47 -0
  370. package/dist/esm/core/tasks/helpers/waitForTransactionStatus.js.map +1 -0
  371. package/dist/esm/core/utils.d.ts +16 -93
  372. package/dist/esm/core/utils.d.ts.map +1 -0
  373. package/dist/esm/core/utils.js +36 -45
  374. package/dist/esm/core/utils.js.map +1 -1
  375. package/dist/esm/errors/SDKError.d.ts +16 -11
  376. package/dist/esm/errors/SDKError.d.ts.map +1 -0
  377. package/dist/esm/errors/SDKError.js +22 -20
  378. package/dist/esm/errors/SDKError.js.map +1 -1
  379. package/dist/esm/errors/baseError.d.ts +10 -5
  380. package/dist/esm/errors/baseError.d.ts.map +1 -0
  381. package/dist/esm/errors/baseError.js +17 -17
  382. package/dist/esm/errors/baseError.js.map +1 -1
  383. package/dist/esm/errors/constants.d.ts +52 -47
  384. package/dist/esm/errors/constants.d.ts.map +1 -0
  385. package/dist/esm/errors/constants.js +57 -52
  386. package/dist/esm/errors/constants.js.map +1 -1
  387. package/dist/esm/errors/errors.d.ts +31 -16
  388. package/dist/esm/errors/errors.d.ts.map +1 -0
  389. package/dist/esm/errors/errors.js +53 -37
  390. package/dist/esm/errors/errors.js.map +1 -1
  391. package/dist/esm/errors/httpError.d.ts +21 -17
  392. package/dist/esm/errors/httpError.d.ts.map +1 -0
  393. package/dist/esm/errors/httpError.js +63 -63
  394. package/dist/esm/errors/httpError.js.map +1 -1
  395. package/dist/esm/errors/utils/baseErrorRootCause.d.ts +8 -3
  396. package/dist/esm/errors/utils/baseErrorRootCause.d.ts.map +1 -0
  397. package/dist/esm/errors/utils/baseErrorRootCause.js +13 -13
  398. package/dist/esm/errors/utils/baseErrorRootCause.js.map +1 -1
  399. package/dist/esm/errors/utils/rootCause.d.ts +5 -1
  400. package/dist/esm/errors/utils/rootCause.d.ts.map +1 -0
  401. package/dist/esm/errors/utils/rootCause.js +8 -6
  402. package/dist/esm/errors/utils/rootCause.js.map +1 -1
  403. package/dist/esm/index.d.ts +56 -46
  404. package/dist/esm/index.js +53 -47
  405. package/dist/esm/package.json +1 -1
  406. package/dist/esm/types/actions.d.ts +32 -7
  407. package/dist/esm/types/actions.d.ts.map +1 -0
  408. package/dist/esm/types/actions.js +0 -1
  409. package/dist/esm/types/core.d.ts +181 -167
  410. package/dist/esm/types/core.d.ts.map +1 -0
  411. package/dist/esm/types/core.js +0 -1
  412. package/dist/esm/types/execution.d.ts +28 -0
  413. package/dist/esm/types/execution.d.ts.map +1 -0
  414. package/dist/esm/types/execution.js +1 -0
  415. package/dist/esm/types/request.d.ts +6 -2
  416. package/dist/esm/types/request.d.ts.map +1 -0
  417. package/dist/esm/types/request.js +0 -1
  418. package/dist/esm/utils/checkPackageUpdates.d.ts +5 -1
  419. package/dist/esm/utils/checkPackageUpdates.d.ts.map +1 -0
  420. package/dist/esm/utils/checkPackageUpdates.js +12 -15
  421. package/dist/esm/utils/checkPackageUpdates.js.map +1 -1
  422. package/dist/esm/utils/convertQuoteToRoute.d.ts +19 -15
  423. package/dist/esm/utils/convertQuoteToRoute.d.ts.map +1 -0
  424. package/dist/esm/utils/convertQuoteToRoute.js +72 -92
  425. package/dist/esm/utils/convertQuoteToRoute.js.map +1 -1
  426. package/dist/esm/utils/decode.d.ts +5 -1
  427. package/dist/esm/utils/decode.d.ts.map +1 -0
  428. package/dist/esm/utils/decode.js +6 -8
  429. package/dist/esm/utils/decode.js.map +1 -1
  430. package/dist/esm/utils/fetchTxErrorDetails.d.ts +5 -1
  431. package/dist/esm/utils/fetchTxErrorDetails.d.ts.map +1 -0
  432. package/dist/esm/utils/fetchTxErrorDetails.js +10 -7
  433. package/dist/esm/utils/fetchTxErrorDetails.js.map +1 -1
  434. package/dist/esm/utils/formatUnits.d.ts +7 -3
  435. package/dist/esm/utils/formatUnits.d.ts.map +1 -0
  436. package/dist/esm/utils/formatUnits.js +14 -15
  437. package/dist/esm/utils/formatUnits.js.map +1 -1
  438. package/dist/esm/utils/getTransactionMessage.d.ts +8 -3
  439. package/dist/esm/utils/getTransactionMessage.d.ts.map +1 -0
  440. package/dist/esm/utils/getTransactionMessage.js +9 -8
  441. package/dist/esm/utils/getTransactionMessage.js.map +1 -1
  442. package/dist/esm/utils/isHex.d.ts +9 -3
  443. package/dist/esm/utils/isHex.d.ts.map +1 -0
  444. package/dist/esm/utils/isHex.js +8 -8
  445. package/dist/esm/utils/isHex.js.map +1 -1
  446. package/dist/esm/utils/isRoutesRequest.d.ts +7 -2
  447. package/dist/esm/utils/isRoutesRequest.d.ts.map +1 -0
  448. package/dist/esm/utils/isRoutesRequest.js +8 -12
  449. package/dist/esm/utils/isRoutesRequest.js.map +1 -1
  450. package/dist/esm/utils/isStep.d.ts +7 -2
  451. package/dist/esm/utils/isStep.d.ts.map +1 -0
  452. package/dist/esm/utils/isStep.js +17 -23
  453. package/dist/esm/utils/isStep.js.map +1 -1
  454. package/dist/esm/utils/isToken.d.ts +7 -2
  455. package/dist/esm/utils/isToken.d.ts.map +1 -0
  456. package/dist/esm/utils/isToken.js +7 -5
  457. package/dist/esm/utils/isToken.js.map +1 -1
  458. package/dist/esm/utils/parseUnits.d.ts +7 -3
  459. package/dist/esm/utils/parseUnits.d.ts.map +1 -0
  460. package/dist/esm/utils/parseUnits.js +31 -43
  461. package/dist/esm/utils/parseUnits.js.map +1 -1
  462. package/dist/esm/utils/request.d.ts +10 -5
  463. package/dist/esm/utils/request.d.ts.map +1 -0
  464. package/dist/esm/utils/request.js +52 -67
  465. package/dist/esm/utils/request.js.map +1 -1
  466. package/dist/esm/utils/sleep.d.ts +5 -1
  467. package/dist/esm/utils/sleep.d.ts.map +1 -0
  468. package/dist/esm/utils/sleep.js +8 -4
  469. package/dist/esm/utils/sleep.js.map +1 -1
  470. package/dist/esm/utils/toQueryString.d.ts +5 -0
  471. package/dist/esm/utils/toQueryString.d.ts.map +1 -0
  472. package/dist/esm/utils/toQueryString.js +16 -0
  473. package/dist/esm/utils/toQueryString.js.map +1 -0
  474. package/dist/esm/utils/waitForResult.d.ts +13 -9
  475. package/dist/esm/utils/waitForResult.d.ts.map +1 -0
  476. package/dist/esm/utils/waitForResult.js +32 -31
  477. package/dist/esm/utils/waitForResult.js.map +1 -1
  478. package/dist/esm/utils/withDedupe.d.ts +20 -4
  479. package/dist/esm/utils/withDedupe.d.ts.map +1 -0
  480. package/dist/esm/utils/withDedupe.js +26 -28
  481. package/dist/esm/utils/withDedupe.js.map +1 -1
  482. package/dist/esm/utils/withTimeout.d.ts +26 -0
  483. package/dist/esm/utils/withTimeout.d.ts.map +1 -0
  484. package/dist/esm/utils/withTimeout.js +34 -0
  485. package/dist/esm/utils/withTimeout.js.map +1 -0
  486. package/dist/esm/version.d.ts +6 -2
  487. package/dist/esm/version.d.ts.map +1 -0
  488. package/dist/esm/version.js +6 -2
  489. package/dist/esm/version.js.map +1 -1
  490. package/package.json +6 -5
  491. package/src/actions/getChains.ts +2 -1
  492. package/src/actions/getQuote.ts +7 -3
  493. package/src/actions/getRelayedTransactionStatus.ts +1 -1
  494. package/src/actions/getRelayerQuote.ts +4 -1
  495. package/src/actions/getRoutes.ts +2 -1
  496. package/src/actions/getStepTransaction.ts +16 -7
  497. package/src/actions/getTokens.ts +6 -3
  498. package/src/actions/getTools.ts +2 -1
  499. package/src/actions/index.ts +8 -5
  500. package/src/client/createClient.ts +9 -7
  501. package/src/client/getClientStorage.ts +9 -1
  502. package/src/core/BaseStepExecutionTask.ts +9 -0
  503. package/src/core/BaseStepExecutor.ts +90 -2
  504. package/src/core/StatusManager.ts +62 -61
  505. package/src/core/TaskPipeline.ts +28 -0
  506. package/src/core/actionMessages.ts +20 -3
  507. package/src/core/execution.ts +17 -3
  508. package/src/core/prepareRestart.ts +3 -4
  509. package/src/core/storage.ts +42 -0
  510. package/src/core/tasks/CheckBalanceTask.ts +46 -0
  511. package/src/core/tasks/PrepareTransactionTask.ts +62 -0
  512. package/src/core/tasks/WaitForTransactionStatusTask.ts +114 -0
  513. package/src/core/tasks/helpers/checkBalance.ts +218 -0
  514. package/src/core/tasks/helpers/getTransactionRequestData.ts +47 -0
  515. package/src/core/{stepComparison.ts → tasks/helpers/stepComparison.ts} +5 -5
  516. package/src/core/{waitForTransactionStatus.ts → tasks/helpers/waitForTransactionStatus.ts} +10 -7
  517. package/src/core/utils.ts +1 -1
  518. package/src/errors/constants.ts +1 -0
  519. package/src/errors/errors.ts +24 -0
  520. package/src/errors/httpError.ts +4 -6
  521. package/src/errors/utils/baseErrorRootCause.ts +2 -2
  522. package/src/errors/utils/rootCause.ts +1 -1
  523. package/src/index.ts +35 -4
  524. package/src/types/actions.ts +29 -0
  525. package/src/types/core.ts +23 -17
  526. package/src/types/execution.ts +32 -0
  527. package/src/utils/checkPackageUpdates.ts +1 -1
  528. package/src/utils/convertQuoteToRoute.ts +1 -1
  529. package/src/utils/decode.ts +1 -1
  530. package/src/utils/fetchTxErrorDetails.ts +7 -2
  531. package/src/utils/formatUnits.ts +1 -1
  532. package/src/utils/isStep.ts +4 -1
  533. package/src/utils/parseUnits.ts +1 -1
  534. package/src/utils/toQueryString.ts +35 -0
  535. package/src/utils/waitForResult.ts +9 -4
  536. package/src/utils/withDedupe.ts +2 -2
  537. package/src/utils/withTimeout.ts +50 -0
  538. package/src/version.ts +1 -1
  539. package/dist/cjs/core/checkBalance.d.ts +0 -3
  540. package/dist/cjs/core/checkBalance.js +0 -37
  541. package/dist/cjs/core/checkBalance.js.map +0 -1
  542. package/dist/cjs/core/stepComparison.d.ts +0 -4
  543. package/dist/cjs/core/stepComparison.js +0 -25
  544. package/dist/cjs/core/stepComparison.js.map +0 -1
  545. package/dist/cjs/core/waitForDestinationChainTransaction.d.ts +0 -4
  546. package/dist/cjs/core/waitForDestinationChainTransaction.js +0 -71
  547. package/dist/cjs/core/waitForDestinationChainTransaction.js.map +0 -1
  548. package/dist/cjs/core/waitForTransactionStatus.d.ts +0 -4
  549. package/dist/cjs/core/waitForTransactionStatus.js +0 -54
  550. package/dist/cjs/core/waitForTransactionStatus.js.map +0 -1
  551. package/dist/cjs/index.js.map +0 -1
  552. package/dist/cjs/types/actions.js.map +0 -1
  553. package/dist/cjs/types/core.js.map +0 -1
  554. package/dist/cjs/types/request.js.map +0 -1
  555. package/dist/esm/core/checkBalance.d.ts +0 -3
  556. package/dist/esm/core/checkBalance.js +0 -34
  557. package/dist/esm/core/checkBalance.js.map +0 -1
  558. package/dist/esm/core/stepComparison.d.ts +0 -16
  559. package/dist/esm/core/stepComparison.js +0 -35
  560. package/dist/esm/core/stepComparison.js.map +0 -1
  561. package/dist/esm/core/waitForDestinationChainTransaction.d.ts +0 -4
  562. package/dist/esm/core/waitForDestinationChainTransaction.js +0 -74
  563. package/dist/esm/core/waitForDestinationChainTransaction.js.map +0 -1
  564. package/dist/esm/core/waitForTransactionStatus.d.ts +0 -4
  565. package/dist/esm/core/waitForTransactionStatus.js +0 -51
  566. package/dist/esm/core/waitForTransactionStatus.js.map +0 -1
  567. package/dist/esm/index.js.map +0 -1
  568. package/dist/esm/types/actions.js.map +0 -1
  569. package/dist/esm/types/core.js.map +0 -1
  570. package/dist/esm/types/request.js.map +0 -1
  571. package/dist/types/actions/getChains.d.ts +0 -13
  572. package/dist/types/actions/getChains.d.ts.map +0 -1
  573. package/dist/types/actions/getConnections.d.ts +0 -11
  574. package/dist/types/actions/getConnections.d.ts.map +0 -1
  575. package/dist/types/actions/getContractCallsQuote.d.ts +0 -12
  576. package/dist/types/actions/getContractCallsQuote.d.ts.map +0 -1
  577. package/dist/types/actions/getGasRecommendation.d.ts +0 -12
  578. package/dist/types/actions/getGasRecommendation.d.ts.map +0 -1
  579. package/dist/types/actions/getNameServiceAddress.d.ts +0 -11
  580. package/dist/types/actions/getNameServiceAddress.d.ts.map +0 -1
  581. package/dist/types/actions/getQuote.d.ts +0 -14
  582. package/dist/types/actions/getQuote.d.ts.map +0 -1
  583. package/dist/types/actions/getRelayedTransactionStatus.d.ts +0 -12
  584. package/dist/types/actions/getRelayedTransactionStatus.d.ts.map +0 -1
  585. package/dist/types/actions/getRelayerQuote.d.ts +0 -13
  586. package/dist/types/actions/getRelayerQuote.d.ts.map +0 -1
  587. package/dist/types/actions/getRoutes.d.ts +0 -12
  588. package/dist/types/actions/getRoutes.d.ts.map +0 -1
  589. package/dist/types/actions/getStatus.d.ts +0 -13
  590. package/dist/types/actions/getStatus.d.ts.map +0 -1
  591. package/dist/types/actions/getStepTransaction.d.ts +0 -12
  592. package/dist/types/actions/getStepTransaction.d.ts.map +0 -1
  593. package/dist/types/actions/getToken.d.ts +0 -13
  594. package/dist/types/actions/getToken.d.ts.map +0 -1
  595. package/dist/types/actions/getTokenBalance.d.ts +0 -13
  596. package/dist/types/actions/getTokenBalance.d.ts.map +0 -1
  597. package/dist/types/actions/getTokenBalances.d.ts +0 -13
  598. package/dist/types/actions/getTokenBalances.d.ts.map +0 -1
  599. package/dist/types/actions/getTokenBalancesByChain.d.ts +0 -17
  600. package/dist/types/actions/getTokenBalancesByChain.d.ts.map +0 -1
  601. package/dist/types/actions/getTokens.d.ts +0 -16
  602. package/dist/types/actions/getTokens.d.ts.map +0 -1
  603. package/dist/types/actions/getTools.d.ts +0 -11
  604. package/dist/types/actions/getTools.d.ts.map +0 -1
  605. package/dist/types/actions/getTransactionHistory.d.ts +0 -17
  606. package/dist/types/actions/getTransactionHistory.d.ts.map +0 -1
  607. package/dist/types/actions/getWalletBalances.d.ts +0 -12
  608. package/dist/types/actions/getWalletBalances.d.ts.map +0 -1
  609. package/dist/types/actions/index.d.ts +0 -168
  610. package/dist/types/actions/index.d.ts.map +0 -1
  611. package/dist/types/actions/patchContractCalls.d.ts +0 -11
  612. package/dist/types/actions/patchContractCalls.d.ts.map +0 -1
  613. package/dist/types/actions/relayTransaction.d.ts +0 -12
  614. package/dist/types/actions/relayTransaction.d.ts.map +0 -1
  615. package/dist/types/client/createClient.d.ts +0 -3
  616. package/dist/types/client/createClient.d.ts.map +0 -1
  617. package/dist/types/client/getClientStorage.d.ts +0 -9
  618. package/dist/types/client/getClientStorage.d.ts.map +0 -1
  619. package/dist/types/core/BaseStepExecutor.d.ts +0 -13
  620. package/dist/types/core/BaseStepExecutor.d.ts.map +0 -1
  621. package/dist/types/core/StatusManager.d.ts +0 -68
  622. package/dist/types/core/StatusManager.d.ts.map +0 -1
  623. package/dist/types/core/actionMessages.d.ts +0 -5
  624. package/dist/types/core/actionMessages.d.ts.map +0 -1
  625. package/dist/types/core/checkBalance.d.ts +0 -4
  626. package/dist/types/core/checkBalance.d.ts.map +0 -1
  627. package/dist/types/core/execution.d.ts +0 -44
  628. package/dist/types/core/execution.d.ts.map +0 -1
  629. package/dist/types/core/executionState.d.ts +0 -18
  630. package/dist/types/core/executionState.d.ts.map +0 -1
  631. package/dist/types/core/prepareRestart.d.ts +0 -3
  632. package/dist/types/core/prepareRestart.d.ts.map +0 -1
  633. package/dist/types/core/stepComparison.d.ts +0 -17
  634. package/dist/types/core/stepComparison.d.ts.map +0 -1
  635. package/dist/types/core/utils.d.ts +0 -95
  636. package/dist/types/core/utils.d.ts.map +0 -1
  637. package/dist/types/core/waitForDestinationChainTransaction.d.ts +0 -5
  638. package/dist/types/core/waitForDestinationChainTransaction.d.ts.map +0 -1
  639. package/dist/types/core/waitForTransactionStatus.d.ts +0 -5
  640. package/dist/types/core/waitForTransactionStatus.d.ts.map +0 -1
  641. package/dist/types/errors/SDKError.d.ts +0 -13
  642. package/dist/types/errors/SDKError.d.ts.map +0 -1
  643. package/dist/types/errors/baseError.d.ts +0 -7
  644. package/dist/types/errors/baseError.d.ts.map +0 -1
  645. package/dist/types/errors/constants.d.ts +0 -51
  646. package/dist/types/errors/constants.d.ts.map +0 -1
  647. package/dist/types/errors/errors.d.ts +0 -24
  648. package/dist/types/errors/errors.d.ts.map +0 -1
  649. package/dist/types/errors/httpError.d.ts +0 -21
  650. package/dist/types/errors/httpError.d.ts.map +0 -1
  651. package/dist/types/errors/utils/baseErrorRootCause.d.ts +0 -4
  652. package/dist/types/errors/utils/baseErrorRootCause.d.ts.map +0 -1
  653. package/dist/types/errors/utils/rootCause.d.ts +0 -2
  654. package/dist/types/errors/utils/rootCause.d.ts.map +0 -1
  655. package/dist/types/index.d.ts +0 -47
  656. package/dist/types/index.d.ts.map +0 -1
  657. package/dist/types/types/actions.d.ts +0 -10
  658. package/dist/types/types/actions.d.ts.map +0 -1
  659. package/dist/types/types/core.d.ts +0 -171
  660. package/dist/types/types/core.d.ts.map +0 -1
  661. package/dist/types/types/request.d.ts +0 -4
  662. package/dist/types/types/request.d.ts.map +0 -1
  663. package/dist/types/utils/checkPackageUpdates.d.ts +0 -2
  664. package/dist/types/utils/checkPackageUpdates.d.ts.map +0 -1
  665. package/dist/types/utils/convertQuoteToRoute.d.ts +0 -19
  666. package/dist/types/utils/convertQuoteToRoute.d.ts.map +0 -1
  667. package/dist/types/utils/decode.d.ts +0 -2
  668. package/dist/types/utils/decode.d.ts.map +0 -1
  669. package/dist/types/utils/fetchTxErrorDetails.d.ts +0 -2
  670. package/dist/types/utils/fetchTxErrorDetails.d.ts.map +0 -1
  671. package/dist/types/utils/formatUnits.d.ts +0 -5
  672. package/dist/types/utils/formatUnits.d.ts.map +0 -1
  673. package/dist/types/utils/getTransactionMessage.d.ts +0 -4
  674. package/dist/types/utils/getTransactionMessage.d.ts.map +0 -1
  675. package/dist/types/utils/isHex.d.ts +0 -5
  676. package/dist/types/utils/isHex.d.ts.map +0 -1
  677. package/dist/types/utils/isRoutesRequest.d.ts +0 -3
  678. package/dist/types/utils/isRoutesRequest.d.ts.map +0 -1
  679. package/dist/types/utils/isStep.d.ts +0 -3
  680. package/dist/types/utils/isStep.d.ts.map +0 -1
  681. package/dist/types/utils/isToken.d.ts +0 -3
  682. package/dist/types/utils/isToken.d.ts.map +0 -1
  683. package/dist/types/utils/parseUnits.d.ts +0 -5
  684. package/dist/types/utils/parseUnits.d.ts.map +0 -1
  685. package/dist/types/utils/request.d.ts +0 -7
  686. package/dist/types/utils/request.d.ts.map +0 -1
  687. package/dist/types/utils/sleep.d.ts +0 -2
  688. package/dist/types/utils/sleep.d.ts.map +0 -1
  689. package/dist/types/utils/waitForResult.d.ts +0 -11
  690. package/dist/types/utils/waitForResult.d.ts.map +0 -1
  691. package/dist/types/utils/withDedupe.d.ts +0 -8
  692. package/dist/types/utils/withDedupe.d.ts.map +0 -1
  693. package/dist/types/version.d.ts +0 -3
  694. package/dist/types/version.d.ts.map +0 -1
  695. package/src/core/checkBalance.ts +0 -51
  696. package/src/core/waitForDestinationChainTransaction.ts +0 -112
@@ -4,23 +4,20 @@ import type {
4
4
  ExecutionAction,
5
5
  ExecutionActionStatus,
6
6
  ExecutionActionType,
7
- ExecutionStatus,
8
7
  LiFiStepExtended,
9
8
  } from '../types/core.js'
10
9
  import { getActionMessage } from './actionMessages.js'
11
10
  import { executionState } from './executionState.js'
12
11
 
13
- type FindOrCreateActionProps = {
12
+ type ActionProps = {
14
13
  step: LiFiStepExtended
15
14
  type: ExecutionActionType
16
- chainId?: ChainId
17
- status?: ExecutionActionStatus
15
+ chainId: ChainId
16
+ status: ExecutionActionStatus
18
17
  }
19
18
 
20
19
  /**
21
- * Manages status updates of a route and provides various functions for tracking actions
22
- * @param {string} routeId The route dd this StatusManger belongs to.
23
- * @returns {StatusManager} An instance of StatusManager.
20
+ * Manages status updates of a route and provides various functions for tracking actions.
24
21
  */
25
22
  export class StatusManager {
26
23
  private readonly routeId: string
@@ -32,10 +29,10 @@ export class StatusManager {
32
29
 
33
30
  /**
34
31
  * Initializes the execution object of a Step.
35
- * @param step The current step in execution
36
- * @returns The initialized execution object for this step and a function to update this step
32
+ * @param step The current step in execution
33
+ * @returns The initialized execution object for this step
37
34
  */
38
- initExecutionObject = (step: LiFiStepExtended): Execution => {
35
+ initializeExecution = (step: LiFiStepExtended): Execution => {
39
36
  if (!step.execution) {
40
37
  step.execution = {
41
38
  startedAt: Date.now(),
@@ -50,6 +47,7 @@ export class StatusManager {
50
47
  step.execution.startedAt = Date.now()
51
48
  step.execution.status = 'PENDING'
52
49
  step.execution.signedAt = undefined
50
+ step.execution.error = undefined
53
51
  this.updateStepInRoute(step)
54
52
  }
55
53
 
@@ -58,25 +56,20 @@ export class StatusManager {
58
56
 
59
57
  /**
60
58
  * Updates the execution object of a Step.
61
- * @param step The current step in execution
62
- * @param status The status for the execution
63
- * @param execution Optional. Information about received tokens
59
+ * @param step The current step in execution
60
+ * @param execution Partial execution data to merge
64
61
  * @returns The step with the updated execution object
65
62
  */
66
63
  updateExecution(
67
64
  step: LiFiStepExtended,
68
- status: ExecutionStatus,
69
- execution?: Partial<Execution>
65
+ execution: Partial<Execution>
70
66
  ): LiFiStep {
71
67
  if (!step.execution) {
72
68
  throw Error("Can't update empty execution.")
73
69
  }
74
- step.execution.status = status
75
- if (execution) {
76
- step.execution = {
77
- ...step.execution,
78
- ...execution,
79
- }
70
+ step.execution = {
71
+ ...step.execution,
72
+ ...execution,
80
73
  }
81
74
  this.updateStepInRoute(step)
82
75
  return step
@@ -86,13 +79,11 @@ export class StatusManager {
86
79
  * Finds an action of the specified type in the step's execution
87
80
  * @param step The step to search in
88
81
  * @param type The action type to find
89
- * @param status Optional status to update the action with if found
90
82
  * @returns The found action or undefined if not found
91
83
  */
92
84
  findAction(
93
85
  step: LiFiStepExtended,
94
- type: ExecutionActionType,
95
- status?: ExecutionActionStatus
86
+ type: ExecutionActionType
96
87
  ): ExecutionAction | undefined {
97
88
  if (!step.execution?.actions) {
98
89
  throw new Error("Execution hasn't been initialized.")
@@ -100,46 +91,65 @@ export class StatusManager {
100
91
 
101
92
  const action = step.execution.actions.find((p) => p.type === type)
102
93
 
103
- if (action && status && action.status !== status) {
104
- action.status = status
105
- this.updateStepInRoute(step)
106
- }
107
-
108
94
  return action
109
95
  }
110
96
 
111
97
  /**
112
98
  * Create and push a new action into the execution.
99
+ * Caller is responsible for ensuring an action of this type does not already exist.
113
100
  * @param step The step that should contain the new action.
114
- * @param type Type of the action. Used to identify already existing actions.
101
+ * @param type Type of the action.
115
102
  * @param chainId Chain Id of the action.
116
- * @param status By default created action is set to the STARTED status. We can override new action with the needed status.
117
- * @returns Returns action.
103
+ * @param status The initial status for the new action.
104
+ * @returns The created action.
118
105
  */
119
- findOrCreateAction = ({
106
+ createAction = ({
120
107
  step,
121
108
  type,
122
109
  chainId,
123
110
  status,
124
- }: FindOrCreateActionProps): ExecutionAction => {
125
- const action = this.findAction(step, type, status)
126
-
127
- if (action) {
128
- return action
111
+ }: ActionProps): ExecutionAction => {
112
+ if (!step.execution) {
113
+ throw new Error("Execution hasn't been initialized.")
129
114
  }
130
115
 
131
116
  const newAction: ExecutionAction = {
132
- type: type,
133
- message: getActionMessage(type, status ?? 'STARTED'),
134
- status: status ?? 'STARTED',
135
- chainId: chainId,
117
+ type,
118
+ message: getActionMessage(type, status),
119
+ status,
120
+ chainId,
136
121
  }
137
122
 
138
- step.execution!.actions.push(newAction)
123
+ step.execution.actions.push(newAction)
139
124
  this.updateStepInRoute(step)
140
125
  return newAction
141
126
  }
142
127
 
128
+ /**
129
+ * Find an existing action by type and update it, or create a new one if none exists.
130
+ * @param step The step that should contain the action.
131
+ * @param type Type of the action. Used to identify already existing actions.
132
+ * @param chainId Chain Id of the action (used when creating).
133
+ * @param status The status to set on the found or newly created action.
134
+ * @returns The updated or newly created action.
135
+ */
136
+ initializeAction = ({
137
+ step,
138
+ type,
139
+ chainId,
140
+ status,
141
+ }: ActionProps): ExecutionAction => {
142
+ const action = this.findAction(step, type)
143
+
144
+ if (action) {
145
+ return this.updateAction(step, type, status, {
146
+ error: undefined,
147
+ })
148
+ }
149
+
150
+ return this.createAction({ step, type, chainId, status })
151
+ }
152
+
143
153
  /**
144
154
  * Update an action object.
145
155
  * @param step The step where the action should be updated
@@ -152,7 +162,7 @@ export class StatusManager {
152
162
  step: LiFiStepExtended,
153
163
  type: ExecutionActionType,
154
164
  status: ExecutionActionStatus,
155
- params?: Partial<ExecutionAction>
165
+ params?: Partial<ExecutionAction & { signedAt?: number }>
156
166
  ): ExecutionAction => {
157
167
  if (!step.execution) {
158
168
  throw new Error("Can't update an empty step execution.")
@@ -168,11 +178,17 @@ export class StatusManager {
168
178
  break
169
179
  case 'FAILED':
170
180
  step.execution.status = 'FAILED'
181
+ if (params?.error) {
182
+ step.execution.error = params.error
183
+ }
171
184
  break
172
185
  case 'DONE':
173
186
  break
174
187
  case 'PENDING':
175
188
  step.execution.status = 'PENDING'
189
+ if (params?.signedAt) {
190
+ step.execution.signedAt = params.signedAt
191
+ }
176
192
  break
177
193
  case 'RESET_REQUIRED':
178
194
  case 'MESSAGE_REQUIRED':
@@ -187,9 +203,8 @@ export class StatusManager {
187
203
  currentAction.message = getActionMessage(type, status)
188
204
  // set extra parameters or overwrite the standard params set in the switch statement
189
205
  if (params) {
190
- for (const [key, value] of Object.entries(params)) {
191
- currentAction[key] = value
192
- }
206
+ const { signedAt: _signedAt, ...rest } = params
207
+ Object.assign(currentAction, rest)
193
208
  }
194
209
  // Sort actions, the ones with DONE status go first
195
210
  step.execution.actions = [
@@ -200,20 +215,6 @@ export class StatusManager {
200
215
  return currentAction
201
216
  }
202
217
 
203
- /**
204
- * Remove an action from the execution
205
- * @param step The step where the action should be removed from
206
- * @param type The action type to remove
207
- */
208
- removeAction = (step: LiFiStepExtended, type: ExecutionActionType): void => {
209
- if (!step.execution) {
210
- throw new Error("Execution hasn't been initialized.")
211
- }
212
- const index = step.execution.actions.findIndex((p) => p.type === type)
213
- step.execution.actions.splice(index, 1)
214
- this.updateStepInRoute(step)
215
- }
216
-
217
218
  updateStepInRoute = (step: LiFiStep): LiFiStep => {
218
219
  if (!this.shouldUpdate) {
219
220
  return step
@@ -0,0 +1,28 @@
1
+ import type { StepExecutorContext, TaskResult } from '../types/execution.js'
2
+ import type { BaseStepExecutionTask } from './BaseStepExecutionTask.js'
3
+
4
+ export class TaskPipeline {
5
+ private readonly tasks: BaseStepExecutionTask[]
6
+
7
+ constructor(tasks: BaseStepExecutionTask[]) {
8
+ this.tasks = tasks
9
+ }
10
+
11
+ async run(context: StepExecutorContext): Promise<TaskResult> {
12
+ for (const task of this.tasks) {
13
+ const shouldRun = await task.shouldRun(context)
14
+ if (!shouldRun) {
15
+ continue
16
+ }
17
+ const result = await task.run(context)
18
+ if (result.status === 'PAUSED') {
19
+ return { status: 'PAUSED' }
20
+ }
21
+ if (result.context && typeof result.context === 'object') {
22
+ Object.assign(context, result.context)
23
+ }
24
+ }
25
+
26
+ return { status: 'COMPLETED' }
27
+ }
28
+ }
@@ -8,11 +8,20 @@ const actionMessages: Record<
8
8
  ExecutionActionType,
9
9
  Partial<Record<ExecutionActionStatus, string>>
10
10
  > = {
11
- TOKEN_ALLOWANCE: {
11
+ CHECK_ALLOWANCE: {
12
+ STARTED: 'Checking token allowance',
13
+ PENDING: 'Waiting for token allowance check',
14
+ DONE: 'Token allowance checked',
15
+ },
16
+ RESET_ALLOWANCE: {
17
+ STARTED: 'Resetting token allowance',
18
+ RESET_REQUIRED: 'Resetting token allowance',
19
+ PENDING: 'Waiting for token allowance reset',
20
+ DONE: 'Token allowance reset',
21
+ },
22
+ SET_ALLOWANCE: {
12
23
  STARTED: 'Setting token allowance',
13
24
  ACTION_REQUIRED: 'Set token allowance',
14
- RESET_REQUIRED: 'Resetting token allowance',
15
- MESSAGE_REQUIRED: 'Sign token allowance message',
16
25
  PENDING: 'Waiting for token allowance',
17
26
  DONE: 'Token allowance set',
18
27
  },
@@ -31,6 +40,7 @@ const actionMessages: Record<
31
40
  DONE: 'Bridge transaction confirmed',
32
41
  },
33
42
  RECEIVING_CHAIN: {
43
+ STARTED: 'Waiting for destination chain',
34
44
  PENDING: 'Waiting for destination chain',
35
45
  DONE: 'Bridge completed',
36
46
  },
@@ -40,7 +50,14 @@ const actionMessages: Record<
40
50
  PENDING: 'Waiting for permit message',
41
51
  DONE: 'Permit message signed',
42
52
  },
53
+ NATIVE_PERMIT: {
54
+ STARTED: 'Preparing transaction',
55
+ ACTION_REQUIRED: 'Sign permit message',
56
+ PENDING: 'Waiting for permit message',
57
+ DONE: 'Permit message signed',
58
+ },
43
59
  }
60
+
44
61
  const substatusMessages: Record<
45
62
  StatusMessage,
46
63
  Partial<Record<Substatus, string>>
@@ -1,8 +1,9 @@
1
1
  import type { Route } from '@lifi/types'
2
2
  import { LiFiErrorCode } from '../errors/constants.js'
3
- import { ProviderError } from '../errors/errors.js'
3
+ import { ExecuteStepRetryError, ProviderError } from '../errors/errors.js'
4
4
  import type {
5
5
  ExecutionOptions,
6
+ LiFiStepExtended,
6
7
  RouteExtended,
7
8
  SDKClient,
8
9
  SDKProvider,
@@ -94,7 +95,6 @@ const executeSteps = async (
94
95
  const step = route.steps[index]
95
96
  const previousStep = route.steps[index - 1]
96
97
  // Check if the step is already done
97
- //
98
98
  if (step.execution?.status === 'DONE') {
99
99
  continue
100
100
  }
@@ -136,7 +136,21 @@ const executeSteps = async (
136
136
  updateRouteExecution(route, execution.executionOptions)
137
137
  }
138
138
 
139
- const executedStep = await stepExecutor.executeStep(client, step)
139
+ let executedStep: LiFiStepExtended
140
+ try {
141
+ executedStep = await stepExecutor.executeStep(client, step)
142
+ } catch (e) {
143
+ if (e instanceof ExecuteStepRetryError) {
144
+ step.execution = undefined
145
+ executedStep = await stepExecutor.executeStep(
146
+ client,
147
+ step,
148
+ e.retryParams
149
+ )
150
+ } else {
151
+ throw e
152
+ }
153
+ }
140
154
 
141
155
  // We may reach this point if user interaction isn't allowed. We want to stop execution until we resume it
142
156
  if (executedStep.execution?.status !== 'DONE') {
@@ -1,15 +1,14 @@
1
1
  import type { RouteExtended } from '../types/core.js'
2
2
 
3
- export const prepareRestart = (route: RouteExtended) => {
3
+ export const prepareRestart = (route: RouteExtended): void => {
4
4
  for (let index = 0; index < route.steps.length; index++) {
5
5
  const step = route.steps[index]
6
6
  if (step.execution) {
7
7
  // Find the index of the last action that has tx hash, taskId, or signed messages
8
8
  const lastValidIndex = step.execution.actions.findLastIndex(
9
9
  (action) =>
10
- (!!action.txHash ||
11
- !!action.taskId ||
12
- !!action.signedTypedData?.length) &&
10
+ ['SWAP', 'CROSS_CHAIN', 'RECEIVING_CHAIN'].includes(action.type) &&
11
+ (!!action.txHash || !!action.taskId) &&
13
12
  action.status !== 'FAILED'
14
13
  )
15
14
 
@@ -0,0 +1,42 @@
1
+ export interface SDKStorage {
2
+ get(key: string): string | null | Promise<string | null>
3
+ set(key: string, value: string): void | Promise<void>
4
+ remove(key: string): void | Promise<void>
5
+ }
6
+
7
+ export class LocalStorageAdapter implements SDKStorage {
8
+ get(key: string): string | null {
9
+ return window.localStorage.getItem(key)
10
+ }
11
+
12
+ set(key: string, value: string): void {
13
+ window.localStorage.setItem(key, value)
14
+ }
15
+
16
+ remove(key: string): void {
17
+ window.localStorage.removeItem(key)
18
+ }
19
+ }
20
+
21
+ export class InMemoryStorage implements SDKStorage {
22
+ private store = new Map<string, string>()
23
+
24
+ get(key: string): string | null {
25
+ return this.store.get(key) ?? null
26
+ }
27
+
28
+ set(key: string, value: string): void {
29
+ this.store.set(key, value)
30
+ }
31
+
32
+ remove(key: string): void {
33
+ this.store.delete(key)
34
+ }
35
+ }
36
+
37
+ export function createDefaultStorage(): SDKStorage {
38
+ if (typeof window !== 'undefined' && window.localStorage) {
39
+ return new LocalStorageAdapter()
40
+ }
41
+ return new InMemoryStorage()
42
+ }
@@ -0,0 +1,46 @@
1
+ import { LiFiErrorCode } from '../../errors/constants.js'
2
+ import { TransactionError } from '../../errors/errors.js'
3
+ import type { StepExecutorContext, TaskResult } from '../../types/execution.js'
4
+ import { BaseStepExecutionTask } from '../BaseStepExecutionTask.js'
5
+ import {
6
+ type CheckBalanceOptions,
7
+ checkBalance,
8
+ } from './helpers/checkBalance.js'
9
+
10
+ export class CheckBalanceTask extends BaseStepExecutionTask {
11
+ /**
12
+ * Per-step options hook for chain-specific subclasses (e.g. skip the
13
+ * gas check for smart-contract wallets or relayed steps). Default `{}`
14
+ * keeps behavior unchanged for every provider that doesn't override.
15
+ * Resolved lazily inside `run()` — pipelines that resume past
16
+ * `CheckBalance` pay no cost.
17
+ */
18
+ protected getCheckBalanceOptions(
19
+ _context: StepExecutorContext
20
+ ): Promise<CheckBalanceOptions> {
21
+ return Promise.resolve({})
22
+ }
23
+
24
+ async run(context: StepExecutorContext): Promise<TaskResult> {
25
+ const { client, step, statusManager, isBridgeExecution } = context
26
+
27
+ statusManager.initializeAction({
28
+ step,
29
+ type: isBridgeExecution ? 'CROSS_CHAIN' : 'SWAP',
30
+ chainId: step.action.fromChainId,
31
+ status: 'STARTED',
32
+ })
33
+
34
+ const walletAddress = step.action.fromAddress
35
+ if (!walletAddress) {
36
+ throw new TransactionError(
37
+ LiFiErrorCode.InternalError,
38
+ 'The wallet address is undefined.'
39
+ )
40
+ }
41
+
42
+ const options = await this.getCheckBalanceOptions(context)
43
+ await checkBalance(client, walletAddress, step, options)
44
+ return { status: 'COMPLETED' }
45
+ }
46
+ }
@@ -0,0 +1,62 @@
1
+ import { getStepTransaction } from '../../actions/getStepTransaction.js'
2
+ import { LiFiErrorCode } from '../../errors/constants.js'
3
+ import { TransactionError } from '../../errors/errors.js'
4
+ import type { StepExecutorContext, TaskResult } from '../../types/execution.js'
5
+ import { BaseStepExecutionTask } from '../BaseStepExecutionTask.js'
6
+ import { stepComparison } from './helpers/stepComparison.js'
7
+
8
+ export class PrepareTransactionTask extends BaseStepExecutionTask {
9
+ async run(context: StepExecutorContext): Promise<TaskResult> {
10
+ const {
11
+ client,
12
+ step,
13
+ statusManager,
14
+ allowUserInteraction,
15
+ executionOptions,
16
+ isBridgeExecution,
17
+ } = context
18
+
19
+ const action = statusManager.findAction(
20
+ step,
21
+ isBridgeExecution ? 'CROSS_CHAIN' : 'SWAP'
22
+ )
23
+
24
+ if (!action) {
25
+ throw new TransactionError(
26
+ LiFiErrorCode.TransactionUnprepared,
27
+ 'Unable to prepare transaction. Action not found.'
28
+ )
29
+ }
30
+
31
+ if (!step.transactionRequest) {
32
+ const { execution, ...stepBase } = step
33
+ const updatedStep = await getStepTransaction(client, stepBase)
34
+ const comparedStep = await stepComparison(
35
+ statusManager,
36
+ step,
37
+ updatedStep,
38
+ allowUserInteraction,
39
+ executionOptions
40
+ )
41
+ Object.assign(step, {
42
+ ...comparedStep,
43
+ execution: step.execution,
44
+ })
45
+ }
46
+
47
+ if (!step.transactionRequest?.data) {
48
+ throw new TransactionError(
49
+ LiFiErrorCode.TransactionUnprepared,
50
+ 'Unable to prepare transaction. Transaction request data is not found.'
51
+ )
52
+ }
53
+
54
+ statusManager.updateAction(step, action.type, 'ACTION_REQUIRED')
55
+
56
+ if (!allowUserInteraction) {
57
+ return { status: 'PAUSED' }
58
+ }
59
+
60
+ return { status: 'COMPLETED' }
61
+ }
62
+ }
@@ -0,0 +1,114 @@
1
+ import type { ExtendedTransactionInfo, FullStatusData } from '@lifi/types'
2
+ import { LiFiErrorCode } from '../../errors/constants.js'
3
+ import { TransactionError } from '../../errors/errors.js'
4
+ import type { ExecutionActionType } from '../../types/core.js'
5
+ import type { StepExecutorContext, TaskResult } from '../../types/execution.js'
6
+ import { getTransactionFailedMessage } from '../../utils/getTransactionMessage.js'
7
+ import { BaseStepExecutionTask } from '../BaseStepExecutionTask.js'
8
+ import { waitForTransactionStatus } from './helpers/waitForTransactionStatus.js'
9
+
10
+ export class WaitForTransactionStatusTask extends BaseStepExecutionTask {
11
+ readonly actionType: ExecutionActionType
12
+
13
+ constructor(actionType: ExecutionActionType) {
14
+ super()
15
+ this.actionType = actionType
16
+ }
17
+
18
+ async run(context: StepExecutorContext): Promise<TaskResult> {
19
+ const {
20
+ client,
21
+ step,
22
+ statusManager,
23
+ pollingIntervalMs,
24
+ toChain,
25
+ isBridgeExecution,
26
+ } = context
27
+
28
+ // At this point, we should have a txHash or taskId
29
+ // taskId is used for custom integrations that don't use the standard transaction hash
30
+ let transactionHash: string | undefined
31
+ try {
32
+ const swapOrBridgeAction = statusManager.findAction(
33
+ step,
34
+ isBridgeExecution ? 'CROSS_CHAIN' : 'SWAP'
35
+ )
36
+ transactionHash = swapOrBridgeAction?.txHash || swapOrBridgeAction?.taskId
37
+
38
+ // Wait for the transaction status on the destination chain
39
+ if (!transactionHash) {
40
+ throw new Error('Transaction hash is undefined.')
41
+ }
42
+
43
+ const action = statusManager.initializeAction({
44
+ step,
45
+ type: this.actionType,
46
+ chainId:
47
+ this.actionType === 'RECEIVING_CHAIN'
48
+ ? step.action.toChainId
49
+ : step.action.fromChainId,
50
+ status: 'PENDING',
51
+ })
52
+
53
+ const statusResponse = (await waitForTransactionStatus(
54
+ client,
55
+ statusManager,
56
+ transactionHash,
57
+ step,
58
+ action.type,
59
+ pollingIntervalMs
60
+ )) as FullStatusData
61
+
62
+ const statusReceiving =
63
+ statusResponse.receiving as ExtendedTransactionInfo
64
+
65
+ // Update action status
66
+ statusManager.updateAction(step, action.type, 'DONE', {
67
+ chainId: statusReceiving?.chainId || toChain.id,
68
+ substatus: statusResponse.substatus,
69
+ substatusMessage: statusResponse.substatusMessage,
70
+ txHash: statusReceiving?.txHash,
71
+ txLink:
72
+ statusReceiving?.txLink ||
73
+ `${toChain.metamask.blockExplorerUrls[0]}tx/${statusReceiving?.txHash}`,
74
+ })
75
+
76
+ // Update execution status
77
+ statusManager.updateExecution(step, {
78
+ status: 'DONE',
79
+ ...(statusResponse.sending.amount && {
80
+ fromAmount: statusResponse.sending.amount,
81
+ }),
82
+ ...(statusReceiving?.amount && { toAmount: statusReceiving.amount }),
83
+ ...(statusReceiving?.token && { toToken: statusReceiving.token }),
84
+ internalTxLink: statusResponse?.lifiExplorerLink,
85
+ externalTxLink: statusResponse?.bridgeExplorerLink,
86
+ gasCosts: [
87
+ {
88
+ amount: statusResponse.sending.gasAmount,
89
+ amountUSD: statusResponse.sending.gasAmountUSD,
90
+ token: statusResponse.sending.gasToken,
91
+ estimate: statusResponse.sending.gasUsed,
92
+ limit: statusResponse.sending.gasUsed,
93
+ price: statusResponse.sending.gasPrice,
94
+ type: 'SEND',
95
+ },
96
+ ],
97
+ })
98
+
99
+ return { status: 'COMPLETED' }
100
+ } catch (e: any) {
101
+ const htmlMessage = await getTransactionFailedMessage(
102
+ client,
103
+ step,
104
+ `${toChain.metamask.blockExplorerUrls[0]}tx/${transactionHash}`
105
+ )
106
+ throw new TransactionError(
107
+ LiFiErrorCode.TransactionFailed,
108
+ htmlMessage ??
109
+ 'Failed while waiting for status of destination chain transaction.',
110
+ e
111
+ )
112
+ }
113
+ }
114
+ }