@lifi/sdk 4.0.0-beta.0 → 4.0.0-beta.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (655) hide show
  1. package/dist/cjs/actions/getChains.d.ts +17 -4
  2. package/dist/cjs/actions/getChains.js +22 -19
  3. package/dist/cjs/actions/getChains.js.map +1 -1
  4. package/dist/cjs/actions/getConnections.d.ts +15 -3
  5. package/dist/cjs/actions/getConnections.js +30 -35
  6. package/dist/cjs/actions/getConnections.js.map +1 -1
  7. package/dist/cjs/actions/getContractCallsQuote.d.ts +16 -3
  8. package/dist/cjs/actions/getContractCallsQuote.js +41 -42
  9. package/dist/cjs/actions/getContractCallsQuote.js.map +1 -1
  10. package/dist/cjs/actions/getGasRecommendation.d.ts +16 -3
  11. package/dist/cjs/actions/getGasRecommendation.js +20 -19
  12. package/dist/cjs/actions/getGasRecommendation.js.map +1 -1
  13. package/dist/cjs/actions/getNameServiceAddress.d.ts +15 -3
  14. package/dist/cjs/actions/getNameServiceAddress.js +25 -27
  15. package/dist/cjs/actions/getNameServiceAddress.js.map +1 -1
  16. package/dist/cjs/actions/getQuote.d.ts +18 -5
  17. package/dist/cjs/actions/getQuote.js +32 -46
  18. package/dist/cjs/actions/getQuote.js.map +1 -1
  19. package/dist/cjs/actions/getRelayedTransactionStatus.d.ts +16 -3
  20. package/dist/cjs/actions/getRelayedTransactionStatus.js +26 -26
  21. package/dist/cjs/actions/getRelayedTransactionStatus.js.map +1 -1
  22. package/dist/cjs/actions/getRelayerQuote.d.ts +17 -4
  23. package/dist/cjs/actions/getRelayerQuote.js +40 -45
  24. package/dist/cjs/actions/getRelayerQuote.js.map +1 -1
  25. package/dist/cjs/actions/getRoutes.d.ts +16 -3
  26. package/dist/cjs/actions/getRoutes.js +28 -23
  27. package/dist/cjs/actions/getRoutes.js.map +1 -1
  28. package/dist/cjs/actions/getStatus.d.ts +17 -4
  29. package/dist/cjs/actions/getStatus.js +18 -14
  30. package/dist/cjs/actions/getStatus.js.map +1 -1
  31. package/dist/cjs/actions/getStepTransaction.d.ts +16 -3
  32. package/dist/cjs/actions/getStepTransaction.js +32 -33
  33. package/dist/cjs/actions/getStepTransaction.js.map +1 -1
  34. package/dist/cjs/actions/getToken.d.ts +17 -3
  35. package/dist/cjs/actions/getToken.js +22 -18
  36. package/dist/cjs/actions/getToken.js.map +1 -1
  37. package/dist/cjs/actions/getTokenBalance.d.ts +17 -3
  38. package/dist/cjs/actions/getTokenBalance.js +16 -6
  39. package/dist/cjs/actions/getTokenBalance.js.map +1 -1
  40. package/dist/cjs/actions/getTokenBalances.d.ts +17 -3
  41. package/dist/cjs/actions/getTokenBalances.js +12 -13
  42. package/dist/cjs/actions/getTokenBalances.js.map +1 -1
  43. package/dist/cjs/actions/getTokenBalancesByChain.d.ts +19 -5
  44. package/dist/cjs/actions/getTokenBalancesByChain.js +22 -37
  45. package/dist/cjs/actions/getTokenBalancesByChain.js.map +1 -1
  46. package/dist/cjs/actions/getTokens.d.ts +18 -6
  47. package/dist/cjs/actions/getTokens.js +14 -18
  48. package/dist/cjs/actions/getTokens.js.map +1 -1
  49. package/dist/cjs/actions/getTools.d.ts +15 -3
  50. package/dist/cjs/actions/getTools.js +17 -14
  51. package/dist/cjs/actions/getTools.js.map +1 -1
  52. package/dist/cjs/actions/getTransactionHistory.d.ts +26 -3
  53. package/dist/cjs/actions/getTransactionHistory.js +27 -21
  54. package/dist/cjs/actions/getTransactionHistory.js.map +1 -1
  55. package/dist/cjs/actions/getWalletBalances.d.ts +16 -3
  56. package/dist/cjs/actions/getWalletBalances.js +16 -12
  57. package/dist/cjs/actions/getWalletBalances.js.map +1 -1
  58. package/dist/cjs/actions/index.d.ts +171 -39
  59. package/dist/cjs/actions/index.js +49 -47
  60. package/dist/cjs/actions/index.js.map +1 -1
  61. package/dist/cjs/actions/patchContractCalls.d.ts +14 -9
  62. package/dist/cjs/actions/patchContractCalls.js +11 -12
  63. package/dist/cjs/actions/patchContractCalls.js.map +1 -1
  64. package/dist/cjs/actions/relayTransaction.d.ts +16 -3
  65. package/dist/cjs/actions/relayTransaction.js +30 -34
  66. package/dist/cjs/actions/relayTransaction.js.map +1 -1
  67. package/dist/cjs/client/createClient.d.ts +7 -2
  68. package/dist/cjs/client/createClient.js +67 -75
  69. package/dist/cjs/client/createClient.js.map +1 -1
  70. package/dist/cjs/client/getClientStorage.d.ts +14 -8
  71. package/dist/cjs/client/getClientStorage.js +44 -47
  72. package/dist/cjs/client/getClientStorage.js.map +1 -1
  73. package/dist/cjs/core/BaseStepExecutionTask.d.ts +9 -4
  74. package/dist/cjs/core/BaseStepExecutionTask.js +9 -8
  75. package/dist/cjs/core/BaseStepExecutionTask.js.map +1 -1
  76. package/dist/cjs/core/BaseStepExecutor.d.ts +23 -18
  77. package/dist/cjs/core/BaseStepExecutor.js +67 -79
  78. package/dist/cjs/core/BaseStepExecutor.js.map +1 -1
  79. package/dist/cjs/core/StatusManager.d.ts +80 -21
  80. package/dist/cjs/core/StatusManager.js +158 -139
  81. package/dist/cjs/core/StatusManager.js.map +1 -1
  82. package/dist/cjs/core/TaskPipeline.d.ts +11 -6
  83. package/dist/cjs/core/TaskPipeline.js +19 -25
  84. package/dist/cjs/core/TaskPipeline.js.map +1 -1
  85. package/dist/cjs/core/actionMessages.d.ts +9 -4
  86. package/dist/cjs/core/actionMessages.js +72 -74
  87. package/dist/cjs/core/actionMessages.js.map +1 -1
  88. package/dist/cjs/core/execution.d.ts +48 -8
  89. package/dist/cjs/core/execution.js +131 -133
  90. package/dist/cjs/core/execution.js.map +1 -1
  91. package/dist/cjs/core/executionState.d.ts +17 -13
  92. package/dist/cjs/core/executionState.js +27 -27
  93. package/dist/cjs/core/executionState.js.map +1 -1
  94. package/dist/cjs/core/prepareRestart.d.ts +7 -2
  95. package/dist/cjs/core/prepareRestart.js +17 -19
  96. package/dist/cjs/core/prepareRestart.js.map +1 -1
  97. package/dist/cjs/core/storage.d.ts +18 -14
  98. package/dist/cjs/core/storage.js +32 -33
  99. package/dist/cjs/core/storage.js.map +1 -1
  100. package/dist/cjs/core/tasks/CheckBalanceTask.d.ts +18 -4
  101. package/dist/cjs/core/tasks/CheckBalanceTask.js +33 -24
  102. package/dist/cjs/core/tasks/CheckBalanceTask.js.map +1 -1
  103. package/dist/cjs/core/tasks/PrepareTransactionTask.d.ts +9 -4
  104. package/dist/cjs/core/tasks/PrepareTransactionTask.js +28 -34
  105. package/dist/cjs/core/tasks/PrepareTransactionTask.js.map +1 -1
  106. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.d.ts +12 -7
  107. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js +61 -71
  108. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js.map +1 -1
  109. package/dist/cjs/core/tasks/helpers/checkBalance.d.ts +30 -3
  110. package/dist/cjs/core/tasks/helpers/checkBalance.js +104 -34
  111. package/dist/cjs/core/tasks/helpers/checkBalance.js.map +1 -1
  112. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.d.ts +7 -2
  113. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js +21 -26
  114. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js.map +1 -1
  115. package/dist/cjs/core/tasks/helpers/stepComparison.d.ts +21 -4
  116. package/dist/cjs/core/tasks/helpers/stepComparison.js +28 -21
  117. package/dist/cjs/core/tasks/helpers/stepComparison.js.map +1 -1
  118. package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.d.ts +9 -4
  119. package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.js +45 -53
  120. package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.js.map +1 -1
  121. package/dist/cjs/core/utils.d.ts +17 -91
  122. package/dist/cjs/core/utils.js +37 -38
  123. package/dist/cjs/core/utils.js.map +1 -1
  124. package/dist/cjs/errors/SDKError.d.ts +16 -11
  125. package/dist/cjs/errors/SDKError.js +22 -21
  126. package/dist/cjs/errors/SDKError.js.map +1 -1
  127. package/dist/cjs/errors/baseError.d.ts +10 -5
  128. package/dist/cjs/errors/baseError.js +17 -18
  129. package/dist/cjs/errors/baseError.js.map +1 -1
  130. package/dist/cjs/errors/constants.d.ts +52 -48
  131. package/dist/cjs/errors/constants.js +60 -56
  132. package/dist/cjs/errors/constants.js.map +1 -1
  133. package/dist/cjs/errors/errors.d.ts +38 -28
  134. package/dist/cjs/errors/errors.js +57 -51
  135. package/dist/cjs/errors/errors.js.map +1 -1
  136. package/dist/cjs/errors/httpError.d.ts +21 -17
  137. package/dist/cjs/errors/httpError.js +62 -65
  138. package/dist/cjs/errors/httpError.js.map +1 -1
  139. package/dist/cjs/errors/utils/baseErrorRootCause.d.ts +8 -3
  140. package/dist/cjs/errors/utils/baseErrorRootCause.js +12 -15
  141. package/dist/cjs/errors/utils/baseErrorRootCause.js.map +1 -1
  142. package/dist/cjs/errors/utils/rootCause.d.ts +5 -1
  143. package/dist/cjs/errors/utils/rootCause.js +7 -8
  144. package/dist/cjs/errors/utils/rootCause.js.map +1 -1
  145. package/dist/cjs/index.d.ts +55 -55
  146. package/dist/cjs/index.js +130 -138
  147. package/dist/cjs/types/actions.d.ts +12 -7
  148. package/dist/cjs/types/actions.js +0 -3
  149. package/dist/cjs/types/core.d.ts +181 -173
  150. package/dist/cjs/types/core.js +0 -3
  151. package/dist/cjs/types/execution.d.ts +25 -19
  152. package/dist/cjs/types/execution.js +0 -3
  153. package/dist/cjs/types/request.d.ts +6 -2
  154. package/dist/cjs/types/request.js +0 -3
  155. package/dist/cjs/utils/checkPackageUpdates.d.ts +5 -1
  156. package/dist/cjs/utils/checkPackageUpdates.js +11 -16
  157. package/dist/cjs/utils/checkPackageUpdates.js.map +1 -1
  158. package/dist/cjs/utils/convertQuoteToRoute.d.ts +20 -5
  159. package/dist/cjs/utils/convertQuoteToRoute.js +72 -85
  160. package/dist/cjs/utils/convertQuoteToRoute.js.map +1 -1
  161. package/dist/cjs/utils/decode.d.ts +5 -1
  162. package/dist/cjs/utils/decode.js +5 -10
  163. package/dist/cjs/utils/decode.js.map +1 -1
  164. package/dist/cjs/utils/fetchTxErrorDetails.d.ts +5 -1
  165. package/dist/cjs/utils/fetchTxErrorDetails.js +9 -9
  166. package/dist/cjs/utils/fetchTxErrorDetails.js.map +1 -1
  167. package/dist/cjs/utils/formatUnits.d.ts +8 -1
  168. package/dist/cjs/utils/formatUnits.js +15 -15
  169. package/dist/cjs/utils/formatUnits.js.map +1 -1
  170. package/dist/cjs/utils/getTransactionMessage.d.ts +8 -3
  171. package/dist/cjs/utils/getTransactionMessage.js +8 -10
  172. package/dist/cjs/utils/getTransactionMessage.js.map +1 -1
  173. package/dist/cjs/utils/isHex.d.ts +9 -3
  174. package/dist/cjs/utils/isHex.js +8 -10
  175. package/dist/cjs/utils/isHex.js.map +1 -1
  176. package/dist/cjs/utils/isRoutesRequest.d.ts +7 -2
  177. package/dist/cjs/utils/isRoutesRequest.js +7 -14
  178. package/dist/cjs/utils/isRoutesRequest.js.map +1 -1
  179. package/dist/cjs/utils/isStep.d.ts +7 -2
  180. package/dist/cjs/utils/isStep.js +15 -25
  181. package/dist/cjs/utils/isStep.js.map +1 -1
  182. package/dist/cjs/utils/isToken.d.ts +7 -2
  183. package/dist/cjs/utils/isToken.js +6 -7
  184. package/dist/cjs/utils/isToken.js.map +1 -1
  185. package/dist/cjs/utils/parseUnits.d.ts +8 -1
  186. package/dist/cjs/utils/parseUnits.js +32 -41
  187. package/dist/cjs/utils/parseUnits.js.map +1 -1
  188. package/dist/cjs/utils/request.d.ts +10 -5
  189. package/dist/cjs/utils/request.js +53 -69
  190. package/dist/cjs/utils/request.js.map +1 -1
  191. package/dist/cjs/utils/sleep.d.ts +5 -1
  192. package/dist/cjs/utils/sleep.js +8 -6
  193. package/dist/cjs/utils/sleep.js.map +1 -1
  194. package/dist/cjs/utils/waitForResult.d.ts +14 -1
  195. package/dist/cjs/utils/waitForResult.js +33 -30
  196. package/dist/cjs/utils/waitForResult.js.map +1 -1
  197. package/dist/cjs/utils/withDedupe.d.ts +20 -8
  198. package/dist/cjs/utils/withDedupe.js +31 -29
  199. package/dist/cjs/utils/withDedupe.js.map +1 -1
  200. package/dist/cjs/utils/withTimeout.d.ts +26 -0
  201. package/dist/cjs/utils/withTimeout.js +35 -0
  202. package/dist/cjs/utils/withTimeout.js.map +1 -0
  203. package/dist/cjs/version.d.ts +6 -2
  204. package/dist/cjs/version.js +8 -5
  205. package/dist/cjs/version.js.map +1 -1
  206. package/dist/esm/actions/getChains.d.ts +16 -11
  207. package/dist/esm/actions/getChains.d.ts.map +1 -0
  208. package/dist/esm/actions/getChains.js +22 -24
  209. package/dist/esm/actions/getChains.js.map +1 -1
  210. package/dist/esm/actions/getConnections.d.ts +14 -9
  211. package/dist/esm/actions/getConnections.d.ts.map +1 -0
  212. package/dist/esm/actions/getConnections.js +30 -39
  213. package/dist/esm/actions/getConnections.js.map +1 -1
  214. package/dist/esm/actions/getContractCallsQuote.d.ts +15 -10
  215. package/dist/esm/actions/getContractCallsQuote.d.ts.map +1 -0
  216. package/dist/esm/actions/getContractCallsQuote.js +41 -51
  217. package/dist/esm/actions/getContractCallsQuote.js.map +1 -1
  218. package/dist/esm/actions/getGasRecommendation.d.ts +15 -10
  219. package/dist/esm/actions/getGasRecommendation.d.ts.map +1 -0
  220. package/dist/esm/actions/getGasRecommendation.js +20 -24
  221. package/dist/esm/actions/getGasRecommendation.js.map +1 -1
  222. package/dist/esm/actions/getNameServiceAddress.d.ts +14 -9
  223. package/dist/esm/actions/getNameServiceAddress.d.ts.map +1 -0
  224. package/dist/esm/actions/getNameServiceAddress.js +25 -31
  225. package/dist/esm/actions/getNameServiceAddress.js.map +1 -1
  226. package/dist/esm/actions/getQuote.d.ts +17 -12
  227. package/dist/esm/actions/getQuote.d.ts.map +1 -0
  228. package/dist/esm/actions/getQuote.js +32 -45
  229. package/dist/esm/actions/getQuote.js.map +1 -1
  230. package/dist/esm/actions/getRelayedTransactionStatus.d.ts +15 -10
  231. package/dist/esm/actions/getRelayedTransactionStatus.d.ts.map +1 -0
  232. package/dist/esm/actions/getRelayedTransactionStatus.js +26 -32
  233. package/dist/esm/actions/getRelayedTransactionStatus.js.map +1 -1
  234. package/dist/esm/actions/getRelayerQuote.d.ts +16 -11
  235. package/dist/esm/actions/getRelayerQuote.d.ts.map +1 -0
  236. package/dist/esm/actions/getRelayerQuote.js +40 -51
  237. package/dist/esm/actions/getRelayerQuote.js.map +1 -1
  238. package/dist/esm/actions/getRoutes.d.ts +15 -10
  239. package/dist/esm/actions/getRoutes.d.ts.map +1 -0
  240. package/dist/esm/actions/getRoutes.js +28 -29
  241. package/dist/esm/actions/getRoutes.js.map +1 -1
  242. package/dist/esm/actions/getStatus.d.ts +16 -11
  243. package/dist/esm/actions/getStatus.d.ts.map +1 -0
  244. package/dist/esm/actions/getStatus.js +18 -19
  245. package/dist/esm/actions/getStatus.js.map +1 -1
  246. package/dist/esm/actions/getStepTransaction.d.ts +15 -10
  247. package/dist/esm/actions/getStepTransaction.d.ts.map +1 -0
  248. package/dist/esm/actions/getStepTransaction.js +32 -39
  249. package/dist/esm/actions/getStepTransaction.js.map +1 -1
  250. package/dist/esm/actions/getToken.d.ts +16 -11
  251. package/dist/esm/actions/getToken.d.ts.map +1 -0
  252. package/dist/esm/actions/getToken.js +22 -24
  253. package/dist/esm/actions/getToken.js.map +1 -1
  254. package/dist/esm/actions/getTokenBalance.d.ts +16 -11
  255. package/dist/esm/actions/getTokenBalance.d.ts.map +1 -0
  256. package/dist/esm/actions/getTokenBalance.js +16 -12
  257. package/dist/esm/actions/getTokenBalance.js.map +1 -1
  258. package/dist/esm/actions/getTokenBalances.d.ts +16 -11
  259. package/dist/esm/actions/getTokenBalances.d.ts.map +1 -0
  260. package/dist/esm/actions/getTokenBalances.js +12 -12
  261. package/dist/esm/actions/getTokenBalances.js.map +1 -1
  262. package/dist/esm/actions/getTokenBalancesByChain.d.ts +18 -13
  263. package/dist/esm/actions/getTokenBalancesByChain.d.ts.map +1 -0
  264. package/dist/esm/actions/getTokenBalancesByChain.js +22 -37
  265. package/dist/esm/actions/getTokenBalancesByChain.js.map +1 -1
  266. package/dist/esm/actions/getTokens.d.ts +17 -12
  267. package/dist/esm/actions/getTokens.d.ts.map +1 -0
  268. package/dist/esm/actions/getTokens.js +14 -16
  269. package/dist/esm/actions/getTokens.js.map +1 -1
  270. package/dist/esm/actions/getTools.d.ts +14 -9
  271. package/dist/esm/actions/getTools.d.ts.map +1 -0
  272. package/dist/esm/actions/getTools.js +17 -18
  273. package/dist/esm/actions/getTools.js.map +1 -1
  274. package/dist/esm/actions/getTransactionHistory.d.ts +25 -15
  275. package/dist/esm/actions/getTransactionHistory.d.ts.map +1 -0
  276. package/dist/esm/actions/getTransactionHistory.js +27 -31
  277. package/dist/esm/actions/getTransactionHistory.js.map +1 -1
  278. package/dist/esm/actions/getWalletBalances.d.ts +15 -10
  279. package/dist/esm/actions/getWalletBalances.d.ts.map +1 -0
  280. package/dist/esm/actions/getWalletBalances.js +16 -17
  281. package/dist/esm/actions/getWalletBalances.js.map +1 -1
  282. package/dist/esm/actions/index.d.ts +171 -166
  283. package/dist/esm/actions/index.d.ts.map +1 -0
  284. package/dist/esm/actions/index.js +49 -45
  285. package/dist/esm/actions/index.js.map +1 -1
  286. package/dist/esm/actions/patchContractCalls.d.ts +14 -9
  287. package/dist/esm/actions/patchContractCalls.d.ts.map +1 -0
  288. package/dist/esm/actions/patchContractCalls.js +12 -10
  289. package/dist/esm/actions/patchContractCalls.js.map +1 -1
  290. package/dist/esm/actions/relayTransaction.d.ts +15 -10
  291. package/dist/esm/actions/relayTransaction.d.ts.map +1 -0
  292. package/dist/esm/actions/relayTransaction.js +30 -41
  293. package/dist/esm/actions/relayTransaction.js.map +1 -1
  294. package/dist/esm/client/createClient.d.ts +7 -2
  295. package/dist/esm/client/createClient.d.ts.map +1 -0
  296. package/dist/esm/client/createClient.js +67 -74
  297. package/dist/esm/client/createClient.js.map +1 -1
  298. package/dist/esm/client/getClientStorage.d.ts +14 -8
  299. package/dist/esm/client/getClientStorage.d.ts.map +1 -0
  300. package/dist/esm/client/getClientStorage.js +45 -48
  301. package/dist/esm/client/getClientStorage.js.map +1 -1
  302. package/dist/esm/core/BaseStepExecutionTask.d.ts +9 -4
  303. package/dist/esm/core/BaseStepExecutionTask.d.ts.map +1 -0
  304. package/dist/esm/core/BaseStepExecutionTask.js +9 -5
  305. package/dist/esm/core/BaseStepExecutionTask.js.map +1 -1
  306. package/dist/esm/core/BaseStepExecutor.d.ts +23 -18
  307. package/dist/esm/core/BaseStepExecutor.d.ts.map +1 -0
  308. package/dist/esm/core/BaseStepExecutor.js +67 -77
  309. package/dist/esm/core/BaseStepExecutor.js.map +1 -1
  310. package/dist/esm/core/StatusManager.d.ts +79 -65
  311. package/dist/esm/core/StatusManager.d.ts.map +1 -0
  312. package/dist/esm/core/StatusManager.js +157 -183
  313. package/dist/esm/core/StatusManager.js.map +1 -1
  314. package/dist/esm/core/TaskPipeline.d.ts +11 -6
  315. package/dist/esm/core/TaskPipeline.d.ts.map +1 -0
  316. package/dist/esm/core/TaskPipeline.js +19 -22
  317. package/dist/esm/core/TaskPipeline.js.map +1 -1
  318. package/dist/esm/core/actionMessages.d.ts +9 -4
  319. package/dist/esm/core/actionMessages.d.ts.map +1 -0
  320. package/dist/esm/core/actionMessages.js +72 -72
  321. package/dist/esm/core/actionMessages.js.map +1 -1
  322. package/dist/esm/core/execution.d.ts +42 -37
  323. package/dist/esm/core/execution.d.ts.map +1 -0
  324. package/dist/esm/core/execution.js +126 -173
  325. package/dist/esm/core/execution.js.map +1 -1
  326. package/dist/esm/core/executionState.d.ts +17 -13
  327. package/dist/esm/core/executionState.d.ts.map +1 -0
  328. package/dist/esm/core/executionState.js +26 -24
  329. package/dist/esm/core/executionState.js.map +1 -1
  330. package/dist/esm/core/prepareRestart.d.ts +7 -2
  331. package/dist/esm/core/prepareRestart.d.ts.map +1 -0
  332. package/dist/esm/core/prepareRestart.js +18 -21
  333. package/dist/esm/core/prepareRestart.js.map +1 -1
  334. package/dist/esm/core/storage.d.ts +18 -14
  335. package/dist/esm/core/storage.d.ts.map +1 -0
  336. package/dist/esm/core/storage.js +30 -28
  337. package/dist/esm/core/storage.js.map +1 -1
  338. package/dist/esm/core/tasks/CheckBalanceTask.d.ts +18 -4
  339. package/dist/esm/core/tasks/CheckBalanceTask.d.ts.map +1 -0
  340. package/dist/esm/core/tasks/CheckBalanceTask.js +33 -21
  341. package/dist/esm/core/tasks/CheckBalanceTask.js.map +1 -1
  342. package/dist/esm/core/tasks/PrepareTransactionTask.d.ts +9 -4
  343. package/dist/esm/core/tasks/PrepareTransactionTask.d.ts.map +1 -0
  344. package/dist/esm/core/tasks/PrepareTransactionTask.js +28 -31
  345. package/dist/esm/core/tasks/PrepareTransactionTask.js.map +1 -1
  346. package/dist/esm/core/tasks/WaitForTransactionStatusTask.d.ts +12 -7
  347. package/dist/esm/core/tasks/WaitForTransactionStatusTask.d.ts.map +1 -0
  348. package/dist/esm/core/tasks/WaitForTransactionStatusTask.js +60 -73
  349. package/dist/esm/core/tasks/WaitForTransactionStatusTask.js.map +1 -1
  350. package/dist/esm/core/tasks/helpers/checkBalance.d.ts +30 -3
  351. package/dist/esm/core/tasks/helpers/checkBalance.d.ts.map +1 -0
  352. package/dist/esm/core/tasks/helpers/checkBalance.js +104 -32
  353. package/dist/esm/core/tasks/helpers/checkBalance.js.map +1 -1
  354. package/dist/esm/core/tasks/helpers/getTransactionRequestData.d.ts +7 -2
  355. package/dist/esm/core/tasks/helpers/getTransactionRequestData.d.ts.map +1 -0
  356. package/dist/esm/core/tasks/helpers/getTransactionRequestData.js +22 -24
  357. package/dist/esm/core/tasks/helpers/getTransactionRequestData.js.map +1 -1
  358. package/dist/esm/core/tasks/helpers/stepComparison.d.ts +20 -15
  359. package/dist/esm/core/tasks/helpers/stepComparison.d.ts.map +1 -0
  360. package/dist/esm/core/tasks/helpers/stepComparison.js +28 -32
  361. package/dist/esm/core/tasks/helpers/stepComparison.js.map +1 -1
  362. package/dist/esm/core/tasks/helpers/waitForTransactionStatus.d.ts +9 -4
  363. package/dist/esm/core/tasks/helpers/waitForTransactionStatus.d.ts.map +1 -0
  364. package/dist/esm/core/tasks/helpers/waitForTransactionStatus.js +44 -50
  365. package/dist/esm/core/tasks/helpers/waitForTransactionStatus.js.map +1 -1
  366. package/dist/esm/core/utils.d.ts +16 -98
  367. package/dist/esm/core/utils.d.ts.map +1 -0
  368. package/dist/esm/core/utils.js +36 -45
  369. package/dist/esm/core/utils.js.map +1 -1
  370. package/dist/esm/errors/SDKError.d.ts +16 -11
  371. package/dist/esm/errors/SDKError.d.ts.map +1 -0
  372. package/dist/esm/errors/SDKError.js +22 -20
  373. package/dist/esm/errors/SDKError.js.map +1 -1
  374. package/dist/esm/errors/baseError.d.ts +10 -5
  375. package/dist/esm/errors/baseError.d.ts.map +1 -0
  376. package/dist/esm/errors/baseError.js +17 -17
  377. package/dist/esm/errors/baseError.js.map +1 -1
  378. package/dist/esm/errors/constants.d.ts +52 -48
  379. package/dist/esm/errors/constants.d.ts.map +1 -0
  380. package/dist/esm/errors/constants.js +57 -53
  381. package/dist/esm/errors/constants.js.map +1 -1
  382. package/dist/esm/errors/errors.d.ts +30 -25
  383. package/dist/esm/errors/errors.d.ts.map +1 -0
  384. package/dist/esm/errors/errors.js +52 -48
  385. package/dist/esm/errors/errors.js.map +1 -1
  386. package/dist/esm/errors/httpError.d.ts +21 -17
  387. package/dist/esm/errors/httpError.d.ts.map +1 -0
  388. package/dist/esm/errors/httpError.js +62 -62
  389. package/dist/esm/errors/httpError.js.map +1 -1
  390. package/dist/esm/errors/utils/baseErrorRootCause.d.ts +8 -3
  391. package/dist/esm/errors/utils/baseErrorRootCause.d.ts.map +1 -0
  392. package/dist/esm/errors/utils/baseErrorRootCause.js +13 -13
  393. package/dist/esm/errors/utils/baseErrorRootCause.js.map +1 -1
  394. package/dist/esm/errors/utils/rootCause.d.ts +5 -1
  395. package/dist/esm/errors/utils/rootCause.d.ts.map +1 -0
  396. package/dist/esm/errors/utils/rootCause.js +8 -6
  397. package/dist/esm/errors/utils/rootCause.js.map +1 -1
  398. package/dist/esm/index.d.ts +55 -55
  399. package/dist/esm/index.js +53 -54
  400. package/dist/esm/package.json +1 -1
  401. package/dist/esm/types/actions.d.ts +12 -7
  402. package/dist/esm/types/actions.d.ts.map +1 -0
  403. package/dist/esm/types/actions.js +0 -1
  404. package/dist/esm/types/core.d.ts +179 -178
  405. package/dist/esm/types/core.d.ts.map +1 -0
  406. package/dist/esm/types/core.js +0 -1
  407. package/dist/esm/types/execution.d.ts +25 -20
  408. package/dist/esm/types/execution.d.ts.map +1 -0
  409. package/dist/esm/types/execution.js +0 -1
  410. package/dist/esm/types/request.d.ts +6 -2
  411. package/dist/esm/types/request.d.ts.map +1 -0
  412. package/dist/esm/types/request.js +0 -1
  413. package/dist/esm/utils/checkPackageUpdates.d.ts +5 -1
  414. package/dist/esm/utils/checkPackageUpdates.d.ts.map +1 -0
  415. package/dist/esm/utils/checkPackageUpdates.js +12 -15
  416. package/dist/esm/utils/checkPackageUpdates.js.map +1 -1
  417. package/dist/esm/utils/convertQuoteToRoute.d.ts +19 -15
  418. package/dist/esm/utils/convertQuoteToRoute.d.ts.map +1 -0
  419. package/dist/esm/utils/convertQuoteToRoute.js +72 -92
  420. package/dist/esm/utils/convertQuoteToRoute.js.map +1 -1
  421. package/dist/esm/utils/decode.d.ts +5 -1
  422. package/dist/esm/utils/decode.d.ts.map +1 -0
  423. package/dist/esm/utils/decode.js +6 -8
  424. package/dist/esm/utils/decode.js.map +1 -1
  425. package/dist/esm/utils/fetchTxErrorDetails.d.ts +5 -1
  426. package/dist/esm/utils/fetchTxErrorDetails.d.ts.map +1 -0
  427. package/dist/esm/utils/fetchTxErrorDetails.js +10 -7
  428. package/dist/esm/utils/fetchTxErrorDetails.js.map +1 -1
  429. package/dist/esm/utils/formatUnits.d.ts +7 -3
  430. package/dist/esm/utils/formatUnits.d.ts.map +1 -0
  431. package/dist/esm/utils/formatUnits.js +14 -15
  432. package/dist/esm/utils/formatUnits.js.map +1 -1
  433. package/dist/esm/utils/getTransactionMessage.d.ts +8 -3
  434. package/dist/esm/utils/getTransactionMessage.d.ts.map +1 -0
  435. package/dist/esm/utils/getTransactionMessage.js +9 -8
  436. package/dist/esm/utils/getTransactionMessage.js.map +1 -1
  437. package/dist/esm/utils/isHex.d.ts +9 -3
  438. package/dist/esm/utils/isHex.d.ts.map +1 -0
  439. package/dist/esm/utils/isHex.js +8 -8
  440. package/dist/esm/utils/isHex.js.map +1 -1
  441. package/dist/esm/utils/isRoutesRequest.d.ts +7 -2
  442. package/dist/esm/utils/isRoutesRequest.d.ts.map +1 -0
  443. package/dist/esm/utils/isRoutesRequest.js +8 -12
  444. package/dist/esm/utils/isRoutesRequest.js.map +1 -1
  445. package/dist/esm/utils/isStep.d.ts +7 -2
  446. package/dist/esm/utils/isStep.d.ts.map +1 -0
  447. package/dist/esm/utils/isStep.js +16 -23
  448. package/dist/esm/utils/isStep.js.map +1 -1
  449. package/dist/esm/utils/isToken.d.ts +7 -2
  450. package/dist/esm/utils/isToken.d.ts.map +1 -0
  451. package/dist/esm/utils/isToken.js +7 -5
  452. package/dist/esm/utils/isToken.js.map +1 -1
  453. package/dist/esm/utils/parseUnits.d.ts +7 -3
  454. package/dist/esm/utils/parseUnits.d.ts.map +1 -0
  455. package/dist/esm/utils/parseUnits.js +31 -43
  456. package/dist/esm/utils/parseUnits.js.map +1 -1
  457. package/dist/esm/utils/request.d.ts +10 -5
  458. package/dist/esm/utils/request.d.ts.map +1 -0
  459. package/dist/esm/utils/request.js +52 -67
  460. package/dist/esm/utils/request.js.map +1 -1
  461. package/dist/esm/utils/sleep.d.ts +5 -1
  462. package/dist/esm/utils/sleep.d.ts.map +1 -0
  463. package/dist/esm/utils/sleep.js +8 -4
  464. package/dist/esm/utils/sleep.js.map +1 -1
  465. package/dist/esm/utils/waitForResult.d.ts +13 -9
  466. package/dist/esm/utils/waitForResult.d.ts.map +1 -0
  467. package/dist/esm/utils/waitForResult.js +32 -35
  468. package/dist/esm/utils/waitForResult.js.map +1 -1
  469. package/dist/esm/utils/withDedupe.d.ts +18 -12
  470. package/dist/esm/utils/withDedupe.d.ts.map +1 -0
  471. package/dist/esm/utils/withDedupe.js +27 -29
  472. package/dist/esm/utils/withDedupe.js.map +1 -1
  473. package/dist/esm/utils/withTimeout.d.ts +26 -0
  474. package/dist/esm/utils/withTimeout.d.ts.map +1 -0
  475. package/dist/esm/utils/withTimeout.js +34 -0
  476. package/dist/esm/utils/withTimeout.js.map +1 -0
  477. package/dist/esm/version.d.ts +6 -2
  478. package/dist/esm/version.d.ts.map +1 -0
  479. package/dist/esm/version.js +6 -2
  480. package/dist/esm/version.js.map +1 -1
  481. package/package.json +5 -5
  482. package/src/actions/getChains.ts +2 -1
  483. package/src/actions/getTokens.ts +6 -3
  484. package/src/actions/getTools.ts +2 -1
  485. package/src/client/createClient.ts +9 -7
  486. package/src/client/getClientStorage.ts +9 -1
  487. package/src/core/BaseStepExecutor.ts +2 -3
  488. package/src/core/StatusManager.ts +0 -4
  489. package/src/core/prepareRestart.ts +1 -3
  490. package/src/core/tasks/CheckBalanceTask.ts +19 -2
  491. package/src/core/tasks/helpers/checkBalance.ts +196 -34
  492. package/src/core/tasks/helpers/waitForTransactionStatus.ts +1 -0
  493. package/src/core/utils.ts +1 -1
  494. package/src/errors/httpError.ts +4 -6
  495. package/src/errors/utils/baseErrorRootCause.ts +2 -2
  496. package/src/errors/utils/rootCause.ts +1 -1
  497. package/src/index.ts +5 -1
  498. package/src/types/core.ts +1 -5
  499. package/src/utils/checkPackageUpdates.ts +1 -1
  500. package/src/utils/convertQuoteToRoute.ts +1 -1
  501. package/src/utils/decode.ts +1 -1
  502. package/src/utils/fetchTxErrorDetails.ts +7 -2
  503. package/src/utils/formatUnits.ts +1 -1
  504. package/src/utils/parseUnits.ts +1 -1
  505. package/src/utils/withDedupe.ts +1 -1
  506. package/src/utils/withTimeout.ts +50 -0
  507. package/src/version.ts +1 -1
  508. package/dist/cjs/index.js.map +0 -1
  509. package/dist/cjs/types/actions.js.map +0 -1
  510. package/dist/cjs/types/core.js.map +0 -1
  511. package/dist/cjs/types/execution.js.map +0 -1
  512. package/dist/cjs/types/request.js.map +0 -1
  513. package/dist/esm/index.js.map +0 -1
  514. package/dist/esm/types/actions.js.map +0 -1
  515. package/dist/esm/types/core.js.map +0 -1
  516. package/dist/esm/types/execution.js.map +0 -1
  517. package/dist/esm/types/request.js.map +0 -1
  518. package/dist/types/actions/getChains.d.ts +0 -13
  519. package/dist/types/actions/getChains.d.ts.map +0 -1
  520. package/dist/types/actions/getConnections.d.ts +0 -11
  521. package/dist/types/actions/getConnections.d.ts.map +0 -1
  522. package/dist/types/actions/getContractCallsQuote.d.ts +0 -12
  523. package/dist/types/actions/getContractCallsQuote.d.ts.map +0 -1
  524. package/dist/types/actions/getGasRecommendation.d.ts +0 -12
  525. package/dist/types/actions/getGasRecommendation.d.ts.map +0 -1
  526. package/dist/types/actions/getNameServiceAddress.d.ts +0 -11
  527. package/dist/types/actions/getNameServiceAddress.d.ts.map +0 -1
  528. package/dist/types/actions/getQuote.d.ts +0 -14
  529. package/dist/types/actions/getQuote.d.ts.map +0 -1
  530. package/dist/types/actions/getRelayedTransactionStatus.d.ts +0 -12
  531. package/dist/types/actions/getRelayedTransactionStatus.d.ts.map +0 -1
  532. package/dist/types/actions/getRelayerQuote.d.ts +0 -13
  533. package/dist/types/actions/getRelayerQuote.d.ts.map +0 -1
  534. package/dist/types/actions/getRoutes.d.ts +0 -12
  535. package/dist/types/actions/getRoutes.d.ts.map +0 -1
  536. package/dist/types/actions/getStatus.d.ts +0 -13
  537. package/dist/types/actions/getStatus.d.ts.map +0 -1
  538. package/dist/types/actions/getStepTransaction.d.ts +0 -12
  539. package/dist/types/actions/getStepTransaction.d.ts.map +0 -1
  540. package/dist/types/actions/getToken.d.ts +0 -13
  541. package/dist/types/actions/getToken.d.ts.map +0 -1
  542. package/dist/types/actions/getTokenBalance.d.ts +0 -13
  543. package/dist/types/actions/getTokenBalance.d.ts.map +0 -1
  544. package/dist/types/actions/getTokenBalances.d.ts +0 -13
  545. package/dist/types/actions/getTokenBalances.d.ts.map +0 -1
  546. package/dist/types/actions/getTokenBalancesByChain.d.ts +0 -17
  547. package/dist/types/actions/getTokenBalancesByChain.d.ts.map +0 -1
  548. package/dist/types/actions/getTokens.d.ts +0 -16
  549. package/dist/types/actions/getTokens.d.ts.map +0 -1
  550. package/dist/types/actions/getTools.d.ts +0 -11
  551. package/dist/types/actions/getTools.d.ts.map +0 -1
  552. package/dist/types/actions/getTransactionHistory.d.ts +0 -17
  553. package/dist/types/actions/getTransactionHistory.d.ts.map +0 -1
  554. package/dist/types/actions/getWalletBalances.d.ts +0 -12
  555. package/dist/types/actions/getWalletBalances.d.ts.map +0 -1
  556. package/dist/types/actions/index.d.ts +0 -168
  557. package/dist/types/actions/index.d.ts.map +0 -1
  558. package/dist/types/actions/patchContractCalls.d.ts +0 -11
  559. package/dist/types/actions/patchContractCalls.d.ts.map +0 -1
  560. package/dist/types/actions/relayTransaction.d.ts +0 -12
  561. package/dist/types/actions/relayTransaction.d.ts.map +0 -1
  562. package/dist/types/client/createClient.d.ts +0 -3
  563. package/dist/types/client/createClient.d.ts.map +0 -1
  564. package/dist/types/client/getClientStorage.d.ts +0 -9
  565. package/dist/types/client/getClientStorage.d.ts.map +0 -1
  566. package/dist/types/core/BaseStepExecutionTask.d.ts +0 -6
  567. package/dist/types/core/BaseStepExecutionTask.d.ts.map +0 -1
  568. package/dist/types/core/BaseStepExecutor.d.ts +0 -20
  569. package/dist/types/core/BaseStepExecutor.d.ts.map +0 -1
  570. package/dist/types/core/StatusManager.d.ts +0 -70
  571. package/dist/types/core/StatusManager.d.ts.map +0 -1
  572. package/dist/types/core/TaskPipeline.d.ts +0 -8
  573. package/dist/types/core/TaskPipeline.d.ts.map +0 -1
  574. package/dist/types/core/actionMessages.d.ts +0 -5
  575. package/dist/types/core/actionMessages.d.ts.map +0 -1
  576. package/dist/types/core/execution.d.ts +0 -44
  577. package/dist/types/core/execution.d.ts.map +0 -1
  578. package/dist/types/core/executionState.d.ts +0 -18
  579. package/dist/types/core/executionState.d.ts.map +0 -1
  580. package/dist/types/core/prepareRestart.d.ts +0 -3
  581. package/dist/types/core/prepareRestart.d.ts.map +0 -1
  582. package/dist/types/core/storage.d.ts +0 -18
  583. package/dist/types/core/storage.d.ts.map +0 -1
  584. package/dist/types/core/tasks/CheckBalanceTask.d.ts +0 -6
  585. package/dist/types/core/tasks/CheckBalanceTask.d.ts.map +0 -1
  586. package/dist/types/core/tasks/PrepareTransactionTask.d.ts +0 -6
  587. package/dist/types/core/tasks/PrepareTransactionTask.d.ts.map +0 -1
  588. package/dist/types/core/tasks/WaitForTransactionStatusTask.d.ts +0 -9
  589. package/dist/types/core/tasks/WaitForTransactionStatusTask.d.ts.map +0 -1
  590. package/dist/types/core/tasks/helpers/checkBalance.d.ts +0 -4
  591. package/dist/types/core/tasks/helpers/checkBalance.d.ts.map +0 -1
  592. package/dist/types/core/tasks/helpers/getTransactionRequestData.d.ts +0 -3
  593. package/dist/types/core/tasks/helpers/getTransactionRequestData.d.ts.map +0 -1
  594. package/dist/types/core/tasks/helpers/stepComparison.d.ts +0 -17
  595. package/dist/types/core/tasks/helpers/stepComparison.d.ts.map +0 -1
  596. package/dist/types/core/tasks/helpers/waitForTransactionStatus.d.ts +0 -5
  597. package/dist/types/core/tasks/helpers/waitForTransactionStatus.d.ts.map +0 -1
  598. package/dist/types/core/utils.d.ts +0 -100
  599. package/dist/types/core/utils.d.ts.map +0 -1
  600. package/dist/types/errors/SDKError.d.ts +0 -13
  601. package/dist/types/errors/SDKError.d.ts.map +0 -1
  602. package/dist/types/errors/baseError.d.ts +0 -7
  603. package/dist/types/errors/baseError.d.ts.map +0 -1
  604. package/dist/types/errors/constants.d.ts +0 -52
  605. package/dist/types/errors/constants.d.ts.map +0 -1
  606. package/dist/types/errors/errors.d.ts +0 -34
  607. package/dist/types/errors/errors.d.ts.map +0 -1
  608. package/dist/types/errors/httpError.d.ts +0 -21
  609. package/dist/types/errors/httpError.d.ts.map +0 -1
  610. package/dist/types/errors/utils/baseErrorRootCause.d.ts +0 -4
  611. package/dist/types/errors/utils/baseErrorRootCause.d.ts.map +0 -1
  612. package/dist/types/errors/utils/rootCause.d.ts +0 -2
  613. package/dist/types/errors/utils/rootCause.d.ts.map +0 -1
  614. package/dist/types/index.d.ts +0 -56
  615. package/dist/types/index.d.ts.map +0 -1
  616. package/dist/types/types/actions.d.ts +0 -10
  617. package/dist/types/types/actions.d.ts.map +0 -1
  618. package/dist/types/types/core.d.ts +0 -184
  619. package/dist/types/types/core.d.ts.map +0 -1
  620. package/dist/types/types/execution.d.ts +0 -24
  621. package/dist/types/types/execution.d.ts.map +0 -1
  622. package/dist/types/types/request.d.ts +0 -4
  623. package/dist/types/types/request.d.ts.map +0 -1
  624. package/dist/types/utils/checkPackageUpdates.d.ts +0 -2
  625. package/dist/types/utils/checkPackageUpdates.d.ts.map +0 -1
  626. package/dist/types/utils/convertQuoteToRoute.d.ts +0 -19
  627. package/dist/types/utils/convertQuoteToRoute.d.ts.map +0 -1
  628. package/dist/types/utils/decode.d.ts +0 -2
  629. package/dist/types/utils/decode.d.ts.map +0 -1
  630. package/dist/types/utils/fetchTxErrorDetails.d.ts +0 -2
  631. package/dist/types/utils/fetchTxErrorDetails.d.ts.map +0 -1
  632. package/dist/types/utils/formatUnits.d.ts +0 -5
  633. package/dist/types/utils/formatUnits.d.ts.map +0 -1
  634. package/dist/types/utils/getTransactionMessage.d.ts +0 -4
  635. package/dist/types/utils/getTransactionMessage.d.ts.map +0 -1
  636. package/dist/types/utils/isHex.d.ts +0 -5
  637. package/dist/types/utils/isHex.d.ts.map +0 -1
  638. package/dist/types/utils/isRoutesRequest.d.ts +0 -3
  639. package/dist/types/utils/isRoutesRequest.d.ts.map +0 -1
  640. package/dist/types/utils/isStep.d.ts +0 -3
  641. package/dist/types/utils/isStep.d.ts.map +0 -1
  642. package/dist/types/utils/isToken.d.ts +0 -3
  643. package/dist/types/utils/isToken.d.ts.map +0 -1
  644. package/dist/types/utils/parseUnits.d.ts +0 -5
  645. package/dist/types/utils/parseUnits.d.ts.map +0 -1
  646. package/dist/types/utils/request.d.ts +0 -7
  647. package/dist/types/utils/request.d.ts.map +0 -1
  648. package/dist/types/utils/sleep.d.ts +0 -2
  649. package/dist/types/utils/sleep.d.ts.map +0 -1
  650. package/dist/types/utils/waitForResult.d.ts +0 -11
  651. package/dist/types/utils/waitForResult.d.ts.map +0 -1
  652. package/dist/types/utils/withDedupe.d.ts +0 -18
  653. package/dist/types/utils/withDedupe.d.ts.map +0 -1
  654. package/dist/types/version.d.ts +0 -3
  655. package/dist/types/version.d.ts.map +0 -1
@@ -0,0 +1,34 @@
1
+ //#region src/utils/withTimeout.ts
2
+ /**
3
+ * Wraps a function in a timeout.
4
+ * Based on viem's withTimeout implementation.
5
+ * @param fn - The function to wrap.
6
+ * @param timeout - The timeout in milliseconds.
7
+ * @param errorInstance - The error instance to throw when the timeout is reached.
8
+ * @param signal - Whether or not the timeout should use an abort signal.
9
+ * @returns The result of the function.
10
+ */
11
+ function withTimeout(fn, { errorInstance = /* @__PURE__ */ new Error("Timed out after waiting for too long."), timeout, signal }) {
12
+ return new Promise((resolve, reject) => {
13
+ (async () => {
14
+ let timeoutId;
15
+ try {
16
+ const controller = new AbortController();
17
+ if (timeout > 0) timeoutId = setTimeout(() => {
18
+ if (signal) controller.abort();
19
+ else reject(errorInstance);
20
+ }, timeout);
21
+ resolve(await fn({ signal: controller?.signal || null }));
22
+ } catch (err) {
23
+ if (err?.name === "AbortError") reject(errorInstance);
24
+ reject(err);
25
+ } finally {
26
+ clearTimeout(timeoutId);
27
+ }
28
+ })();
29
+ });
30
+ }
31
+ //#endregion
32
+ export { withTimeout };
33
+
34
+ //# sourceMappingURL=withTimeout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withTimeout.js","names":[],"sources":["../../../src/utils/withTimeout.ts"],"sourcesContent":["/**\n * Wraps a function in a timeout.\n * Based on viem's withTimeout implementation.\n * @param fn - The function to wrap.\n * @param timeout - The timeout in milliseconds.\n * @param errorInstance - The error instance to throw when the timeout is reached.\n * @param signal - Whether or not the timeout should use an abort signal.\n * @returns The result of the function.\n */\nexport function withTimeout<T>(\n fn: ({ signal }: { signal: AbortController['signal'] | null }) => Promise<T>,\n {\n errorInstance = new Error('Timed out after waiting for too long.'),\n timeout,\n signal,\n }: {\n // The error instance to throw when the timeout is reached.\n errorInstance?: Error | undefined\n // The timeout (in ms).\n timeout: number\n // Whether or not the timeout should use an abort signal.\n signal?: boolean | undefined\n }\n): Promise<T> {\n return new Promise((resolve, reject) => {\n ;(async () => {\n let timeoutId!: NodeJS.Timeout\n try {\n const controller = new AbortController()\n if (timeout > 0) {\n timeoutId = setTimeout(() => {\n if (signal) {\n controller.abort()\n } else {\n reject(errorInstance)\n }\n }, timeout) as NodeJS.Timeout // need to cast because bun globals.d.ts overrides @types/node\n }\n resolve(await fn({ signal: controller?.signal || null }))\n } catch (err) {\n if ((err as Error)?.name === 'AbortError') {\n reject(errorInstance)\n }\n reject(err)\n } finally {\n clearTimeout(timeoutId)\n }\n })()\n })\n}\n"],"mappings":";;;;;;;;;;AASA,SAAgB,YACd,IACA,EACE,gCAAgB,IAAI,MAAM,wCAAwC,EAClE,SACA,UASU;CACZ,OAAO,IAAI,SAAS,SAAS,WAAW;EACrC,CAAC,YAAY;GACZ,IAAI;GACJ,IAAI;IACF,MAAM,aAAa,IAAI,iBAAiB;IACxC,IAAI,UAAU,GACZ,YAAY,iBAAiB;KAC3B,IAAI,QACF,WAAW,OAAO;UAElB,OAAO,cAAc;OAEtB,QAAQ;IAEb,QAAQ,MAAM,GAAG,EAAE,QAAQ,YAAY,UAAU,MAAM,CAAC,CAAC;YAClD,KAAK;IACZ,IAAK,KAAe,SAAS,cAC3B,OAAO,cAAc;IAEvB,OAAO,IAAI;aACH;IACR,aAAa,UAAU;;MAEvB;GACJ"}
@@ -1,2 +1,6 @@
1
- export declare const name = "@lifi/sdk";
2
- export declare const version = "4.0.0-beta.0";
1
+ //#region src/version.d.ts
2
+ declare const name = "@lifi/sdk";
3
+ declare const version = "4.0.0-beta.10";
4
+ //#endregion
5
+ export { name, version };
6
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","names":[],"sources":["../../src/version.ts"],"mappings":";cAAa,IAAA;AAAA,cACA,OAAA"}
@@ -1,3 +1,7 @@
1
- export const name = '@lifi/sdk';
2
- export const version = '4.0.0-beta.0';
1
+ //#region src/version.ts
2
+ const name = "@lifi/sdk";
3
+ const version = "4.0.0-beta.10";
4
+ //#endregion
5
+ export { name, version };
6
+
3
7
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAA;AAC/B,MAAM,CAAC,MAAM,OAAO,GAAG,cAAc,CAAA"}
1
+ {"version":3,"file":"version.js","names":[],"sources":["../../src/version.ts"],"sourcesContent":["export const name = '@lifi/sdk'\nexport const version = '4.0.0-beta.10'\n"],"mappings":";AAAA,MAAa,OAAO;AACpB,MAAa,UAAU"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lifi/sdk",
3
- "version": "4.0.0-beta.0",
3
+ "version": "4.0.0-beta.10",
4
4
  "description": "LI.FI SDK for Any-to-Any Cross-Chain-Swap",
5
5
  "homepage": "https://github.com/lifinance/sdk",
6
6
  "bugs": {
@@ -17,18 +17,18 @@
17
17
  "sideEffects": false,
18
18
  "main": "./dist/cjs/index.js",
19
19
  "module": "./dist/esm/index.js",
20
- "types": "./dist/types/index.d.ts",
21
- "typings": "./dist/types/index.d.ts",
20
+ "types": "./dist/esm/index.d.ts",
21
+ "typings": "./dist/esm/index.d.ts",
22
22
  "exports": {
23
23
  ".": {
24
- "types": "./dist/types/index.d.ts",
24
+ "types": "./dist/esm/index.d.ts",
25
25
  "import": "./dist/esm/index.js",
26
26
  "default": "./dist/cjs/index.js"
27
27
  },
28
28
  "./package.json": "./package.json"
29
29
  },
30
30
  "dependencies": {
31
- "@lifi/types": "^17.65.0"
31
+ "@lifi/types": "17.80.0"
32
32
  },
33
33
  "publishConfig": {
34
34
  "access": "public"
@@ -31,7 +31,8 @@ export const _getChains = async (
31
31
  ): Promise<ExtendedChain[]> => {
32
32
  if (params) {
33
33
  for (const key of Object.keys(params)) {
34
- if (!params[key as keyof ChainsRequest]) {
34
+ const value = params[key as keyof ChainsRequest]
35
+ if (value === undefined || value === null) {
35
36
  delete params[key as keyof ChainsRequest]
36
37
  }
37
38
  }
@@ -32,7 +32,8 @@ export async function getTokens(
32
32
  ): Promise<TokensResponse> {
33
33
  if (params) {
34
34
  for (const key of Object.keys(params)) {
35
- if (!params[key as keyof TokensRequest]) {
35
+ const value = params[key as keyof TokensRequest]
36
+ if (value === undefined || value === null) {
36
37
  delete params[key as keyof TokensRequest]
37
38
  }
38
39
  }
@@ -40,11 +41,13 @@ export async function getTokens(
40
41
  const urlSearchParams = new URLSearchParams(
41
42
  params as Record<string, string>
42
43
  ).toString()
43
- const isExtended = params?.extended === true
44
+ const _isExtended = params?.extended === true
44
45
  const response = await withDedupe(
45
46
  () =>
46
47
  request<
47
- typeof isExtended extends true ? TokensExtendedResponse : TokensResponse
48
+ typeof _isExtended extends true
49
+ ? TokensExtendedResponse
50
+ : TokensResponse
48
51
  >(client.config, `${client.config.apiUrl}/tokens?${urlSearchParams}`, {
49
52
  signal: options?.signal,
50
53
  }),
@@ -16,7 +16,8 @@ export const getTools = async (
16
16
  ): Promise<ToolsResponse> => {
17
17
  if (params) {
18
18
  for (const key of Object.keys(params)) {
19
- if (!params[key as keyof ToolsRequest]) {
19
+ const value = params[key as keyof ToolsRequest]
20
+ if (value === undefined || value === null) {
20
21
  delete params[key as keyof ToolsRequest]
21
22
  }
22
23
  }
@@ -20,16 +20,18 @@ export function createClient(options: SDKConfig): SDKClient {
20
20
  checkPackageUpdates(name, version)
21
21
  }
22
22
 
23
+ const { providers, ...configOptions } = options
24
+
23
25
  const _config: SDKBaseConfig = {
24
- ...options,
25
- apiUrl: options?.apiUrl ?? 'https://li.quest/v1',
26
- rpcUrls: options?.rpcUrls ?? {},
27
- debug: options?.debug ?? false,
28
- preloadChains: options?.preloadChains ?? true,
29
- integrator: options?.integrator ?? 'lifi-sdk',
26
+ ...configOptions,
27
+ apiUrl: configOptions?.apiUrl ?? 'https://li.quest/v1',
28
+ rpcUrls: configOptions?.rpcUrls ?? {},
29
+ debug: configOptions?.debug ?? false,
30
+ preloadChains: configOptions?.preloadChains ?? true,
31
+ integrator: configOptions?.integrator ?? 'lifi-sdk',
30
32
  }
31
33
 
32
- let _providers: SDKProvider[] = []
34
+ let _providers: SDKProvider[] = providers ?? []
33
35
  const _storage = getClientStorage(_config)
34
36
 
35
37
  const client: SDKClient = {
@@ -6,7 +6,14 @@ import type { RPCUrls, SDKBaseConfig } from '../types/core.js'
6
6
  // 6 hours in milliseconds
7
7
  const chainsRefreshInterval = 1000 * 60 * 60 * 6
8
8
 
9
- export const getClientStorage = (config: SDKBaseConfig) => {
9
+ export interface ClientStorage {
10
+ readonly needReset: boolean
11
+ setChains(chains: ExtendedChain[]): void
12
+ getChains(): Promise<ExtendedChain[]>
13
+ getRpcUrls(): Promise<RPCUrls>
14
+ }
15
+
16
+ export const getClientStorage = (config: SDKBaseConfig): ClientStorage => {
10
17
  let _chains = [] as ExtendedChain[]
11
18
  let _rpcUrls = { ...config.rpcUrls } as RPCUrls
12
19
  let _chainsUpdatedAt: number | undefined
@@ -42,6 +49,7 @@ export const getClientStorage = (config: SDKBaseConfig) => {
42
49
  ChainType.SVM,
43
50
  ChainType.UTXO,
44
51
  ChainType.MVM,
52
+ ChainType.TVM,
45
53
  ],
46
54
  })
47
55
  _chainsUpdatedAt = Date.now()
@@ -102,9 +102,8 @@ export abstract class BaseStepExecutor implements StepExecutor {
102
102
 
103
103
  return step
104
104
  } catch (error: any) {
105
- const action = step.execution?.lastActionType
106
- ? this.statusManager.findAction(step, step.execution.lastActionType)
107
- : undefined
105
+ // Derive failing action from last in execution.actions
106
+ const action = step.execution?.actions?.at(-1)
108
107
  const parsed = await this.parseErrors(error, step, action, retryParams)
109
108
  if (!(parsed instanceof ExecuteStepRetryError)) {
110
109
  if (action) {
@@ -47,7 +47,6 @@ export class StatusManager {
47
47
  step.execution.startedAt = Date.now()
48
48
  step.execution.status = 'PENDING'
49
49
  step.execution.signedAt = undefined
50
- step.execution.lastActionType = undefined
51
50
  step.execution.error = undefined
52
51
  this.updateStepInRoute(step)
53
52
  }
@@ -122,7 +121,6 @@ export class StatusManager {
122
121
  }
123
122
 
124
123
  step.execution.actions.push(newAction)
125
- step.execution.lastActionType = type
126
124
  this.updateStepInRoute(step)
127
125
  return newAction
128
126
  }
@@ -201,8 +199,6 @@ export class StatusManager {
201
199
  break
202
200
  }
203
201
 
204
- step.execution.lastActionType = type
205
-
206
202
  currentAction.status = status
207
203
  currentAction.message = getActionMessage(type, status)
208
204
  // set extra parameters or overwrite the standard params set in the switch statement
@@ -1,6 +1,6 @@
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) {
@@ -22,8 +22,6 @@ export const prepareRestart = (route: RouteExtended) => {
22
22
  // If no tx hash exists, reset the actions array
23
23
  step.execution.actions = []
24
24
  }
25
- // Reset the last action type
26
- step.execution.lastActionType = undefined
27
25
  }
28
26
  step.transactionRequest = undefined
29
27
  }
@@ -2,9 +2,25 @@ import { LiFiErrorCode } from '../../errors/constants.js'
2
2
  import { TransactionError } from '../../errors/errors.js'
3
3
  import type { StepExecutorContext, TaskResult } from '../../types/execution.js'
4
4
  import { BaseStepExecutionTask } from '../BaseStepExecutionTask.js'
5
- import { checkBalance } from './helpers/checkBalance.js'
5
+ import {
6
+ type CheckBalanceOptions,
7
+ checkBalance,
8
+ } from './helpers/checkBalance.js'
6
9
 
7
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
+
8
24
  async run(context: StepExecutorContext): Promise<TaskResult> {
9
25
  const { client, step, statusManager, isBridgeExecution } = context
10
26
 
@@ -23,7 +39,8 @@ export class CheckBalanceTask extends BaseStepExecutionTask {
23
39
  )
24
40
  }
25
41
 
26
- await checkBalance(client, walletAddress, step)
42
+ const options = await this.getCheckBalanceOptions(context)
43
+ await checkBalance(client, walletAddress, step, options)
27
44
  return { status: 'COMPLETED' }
28
45
  }
29
46
  }
@@ -1,51 +1,213 @@
1
- import type { LiFiStep } from '@lifi/types'
2
- import { getTokenBalance } from '../../../actions/getTokenBalance.js'
1
+ import type { LiFiStep, Token, TokenAmount } from '@lifi/types'
3
2
  import { BalanceError } from '../../../errors/errors.js'
4
3
  import type { SDKClient } from '../../../types/core.js'
5
4
  import { formatUnits } from '../../../utils/formatUnits.js'
6
5
  import { sleep } from '../../../utils/sleep.js'
6
+ import { withTimeout } from '../../../utils/withTimeout.js'
7
7
 
8
+ const MAX_ATTEMPTS = 6
9
+ // Exponential backoff: 150, 300, 600, 1200, 2400 → ≈4.65s of sleep total.
10
+ const BACKOFF_BASE_MS = 150
11
+ const OVERALL_TIMEOUT_MS = 10_000
12
+ const SLIPPAGE_PRECISION = 1_000_000_000n
13
+
14
+ type Bucket = 'source' | 'gas' | 'fee'
15
+
16
+ type Requirement = {
17
+ token: Token
18
+ sourcePart: bigint // step.action.fromAmount
19
+ gasPart: bigint // step.estimate.gasCosts in this token
20
+ feePart: bigint // non-included step.estimate.feeCosts in this token
21
+ }
22
+
23
+ export type CheckBalanceOptions = {
24
+ /**
25
+ * Set to `false` when outer-tx gas is paid by something other than
26
+ * `walletAddress` (SCA executor, 4337 bundler / paymaster, relayer):
27
+ * `gasPart` is excluded from the sufficiency check and slippage rescue.
28
+ * Source amount and non-included fees (e.g. LZ `msg.value`) are still
29
+ * verified. Defaults to `true` (strict, today's behavior).
30
+ */
31
+ walletPaysGas?: boolean
32
+ }
33
+
34
+ /**
35
+ * Verifies that the wallet holds enough of every token required to execute
36
+ * the step on its source chain — the source-token amount, any gas costs, and
37
+ * any non-included fee costs. Reads all balances in one batched provider
38
+ * call, retries within a bounded budget to absorb transient RPC failures and
39
+ * post-confirmation propagation lag, and applies slippage to the source-token
40
+ * portion only as a last resort (overhead is never trimmed).
41
+ *
42
+ * Throws BalanceError("The balance is too low.") on a genuine shortfall, or
43
+ * BalanceError("Could not read wallet balance.") if the balance can't be read
44
+ * after retries.
45
+ */
8
46
  export const checkBalance = async (
9
47
  client: SDKClient,
10
48
  walletAddress: string,
11
49
  step: LiFiStep,
12
- depth = 0
50
+ options: CheckBalanceOptions = {}
13
51
  ): Promise<void> => {
14
- const token = await getTokenBalance(
15
- client,
16
- walletAddress,
17
- step.action.fromToken
52
+ const walletPaysGas = options.walletPaysGas ?? true
53
+ const fromChainId = step.action.fromChainId
54
+ const requirements = new Map<string, Requirement>()
55
+ const add = (token: Token, amount: bigint, bucket: Bucket): void => {
56
+ if (token.chainId !== fromChainId || amount === 0n) {
57
+ return
58
+ }
59
+ const key = token.address.toLowerCase()
60
+ const req = requirements.get(key) ?? {
61
+ token,
62
+ sourcePart: 0n,
63
+ gasPart: 0n,
64
+ feePart: 0n,
65
+ }
66
+ if (bucket === 'source') {
67
+ req.sourcePart += amount
68
+ } else if (bucket === 'gas') {
69
+ req.gasPart += amount
70
+ } else {
71
+ req.feePart += amount
72
+ }
73
+ requirements.set(key, req)
74
+ }
75
+ add(step.action.fromToken, BigInt(step.action.fromAmount), 'source')
76
+ for (const gas of step.estimate?.gasCosts ?? []) {
77
+ add(gas.token, BigInt(gas.amount), 'gas')
78
+ }
79
+ for (const fee of step.estimate?.feeCosts ?? []) {
80
+ // Included fees are already part of fromAmount — don't count twice.
81
+ if (!fee.included) {
82
+ add(fee.token, BigInt(fee.amount), 'fee')
83
+ }
84
+ }
85
+
86
+ const reservedOverhead = (r: Requirement): bigint =>
87
+ r.feePart + (walletPaysGas ? r.gasPart : 0n)
88
+ const need = (r: Requirement): bigint => r.sourcePart + reservedOverhead(r)
89
+
90
+ // Drop pure-gas entries when `walletPaysGas` is false (e.g. native ETH
91
+ // on Safe Apps with only `gasPart`) — saves one balance read each.
92
+ for (const [key, req] of requirements) {
93
+ if (need(req) === 0n) {
94
+ requirements.delete(key)
95
+ }
96
+ }
97
+
98
+ if (requirements.size === 0) {
99
+ return
100
+ }
101
+
102
+ // Provider is dispatched by wallet address; all requirements share the
103
+ // source chain, which matches this provider by virtue of the address.
104
+ const provider = client.providers.find((p) => p.isAddress(walletAddress))
105
+ if (!provider) {
106
+ throw new Error(`SDK Token Provider for ${walletAddress} is not found.`)
107
+ }
108
+
109
+ const reqs = Array.from(requirements.values())
110
+ const tokens = reqs.map((r) => r.token)
111
+ const slippage = step.action.slippage ?? 0
112
+ const slippageScaled = BigInt(
113
+ Math.floor((1 - slippage) * Number(SLIPPAGE_PRECISION))
18
114
  )
19
- if (token) {
20
- const currentBalance = token.amount ?? 0n
21
- const neededBalance = BigInt(step.action.fromAmount)
22
-
23
- if (currentBalance < neededBalance) {
24
- if (depth <= 3) {
25
- await sleep(200)
26
- await checkBalance(client, walletAddress, step, depth + 1)
27
- } else if (
28
- (neededBalance *
29
- BigInt((1 - (step.action.slippage ?? 0)) * 1_000_000_000)) /
30
- 1_000_000_000n <=
31
- currentBalance
32
- ) {
33
- // adjust amount in slippage limits
34
- step.action.fromAmount = currentBalance.toString()
35
- } else {
36
- const needed = formatUnits(neededBalance, token.decimals)
37
- const current = formatUnits(currentBalance, token.decimals)
38
- let errorMessage = `Your ${token.symbol} balance is too low, you try to transfer ${needed} ${token.symbol}, but your wallet only holds ${current} ${token.symbol}. No funds have been sent.`
39
-
40
- if (currentBalance !== 0n) {
41
- errorMessage += `If the problem consists, please delete this transfer and start a new one with a maximum of ${current} ${token.symbol}.`
115
+
116
+ await withTimeout(
117
+ async () => {
118
+ for (let attempt = 0; attempt < MAX_ATTEMPTS; attempt++) {
119
+ const isFinal = attempt === MAX_ATTEMPTS - 1
120
+
121
+ let balances: TokenAmount[]
122
+ try {
123
+ balances = await provider.getBalance(client, walletAddress, tokens)
124
+ } catch (error) {
125
+ if (isFinal) {
126
+ throw new BalanceError(
127
+ 'Could not read wallet balance.',
128
+ error as Error
129
+ )
130
+ }
131
+ await sleep(BACKOFF_BASE_MS * 2 ** attempt)
132
+ continue
42
133
  }
43
134
 
44
- throw new BalanceError(
45
- 'The balance is too low.',
46
- new Error(errorMessage)
135
+ const balanceByAddress = new Map(
136
+ balances.map((b) => [b.address.toLowerCase(), b.amount] as const)
47
137
  )
138
+
139
+ const unknown: Token[] = []
140
+ const insufficient: { req: Requirement; have: bigint }[] = []
141
+ for (const req of reqs) {
142
+ const have = balanceByAddress.get(req.token.address.toLowerCase())
143
+ if (have === undefined) {
144
+ unknown.push(req.token)
145
+ } else if (have < need(req)) {
146
+ insufficient.push({ req, have })
147
+ }
148
+ }
149
+
150
+ if (unknown.length === 0 && insufficient.length === 0) {
151
+ return
152
+ }
153
+
154
+ // Final-attempt slippage rescue: only when the sole shortfall is
155
+ // the source-token portion. Trim source to (balance − reserved
156
+ // overhead) so the overhead reserve is preserved.
157
+ if (
158
+ isFinal &&
159
+ unknown.length === 0 &&
160
+ insufficient.length === 1 &&
161
+ insufficient[0].req.sourcePart > 0n
162
+ ) {
163
+ const { req, have } = insufficient[0]
164
+ const reserved = reservedOverhead(req)
165
+ const minAcceptable =
166
+ (req.sourcePart * slippageScaled) / SLIPPAGE_PRECISION + reserved
167
+ if (have >= minAcceptable) {
168
+ const newFromAmount = (have - reserved).toString()
169
+ step.action.fromAmount = newFromAmount
170
+ if (step.includedSteps?.length) {
171
+ step.includedSteps[0].action.fromAmount = newFromAmount
172
+ }
173
+ return
174
+ }
175
+ }
176
+
177
+ if (isFinal) {
178
+ if (unknown.length > 0) {
179
+ throw new BalanceError(
180
+ 'Could not read wallet balance.',
181
+ new Error(
182
+ `Could not read balance for: ${unknown
183
+ .map((t) => t.symbol || t.address)
184
+ .join(', ')}.`
185
+ )
186
+ )
187
+ }
188
+ const lines = insufficient.map(({ req, have }) => {
189
+ const needed = formatUnits(need(req), req.token.decimals)
190
+ const current = formatUnits(have, req.token.decimals)
191
+ const symbol = req.token.symbol
192
+ // The "fees" branch covers pure-overhead tokens; with
193
+ // walletPaysGas=false, gas is excluded from `need(req)` so it
194
+ // only fires for genuine fee shortfalls.
195
+ return req.sourcePart > 0n
196
+ ? `Your ${symbol} balance is too low, you try to transfer ${needed} ${symbol}, but your wallet only holds ${current} ${symbol}.`
197
+ : `Insufficient ${symbol} for fees: need ${needed} ${symbol}, have ${current} ${symbol}.`
198
+ })
199
+ throw new BalanceError(
200
+ 'The balance is too low.',
201
+ new Error(`${lines.join(' ')} No funds have been sent.`)
202
+ )
203
+ }
204
+
205
+ await sleep(BACKOFF_BASE_MS * 2 ** attempt)
48
206
  }
207
+ },
208
+ {
209
+ timeout: OVERALL_TIMEOUT_MS,
210
+ errorInstance: new BalanceError('Could not read wallet balance.'),
49
211
  }
50
- }
212
+ )
51
213
  }
@@ -23,6 +23,7 @@ export async function waitForTransactionStatus(
23
23
  toChain: step.action.toChainId,
24
24
  txHash,
25
25
  ...(step.tool !== 'custom' && { bridge: step.tool }),
26
+ ...(step.transactionId && { transactionId: step.transactionId }),
26
27
  })
27
28
  .then((statusResponse) => {
28
29
  switch (statusResponse.status) {
package/src/core/utils.ts CHANGED
@@ -34,7 +34,7 @@ export function getRpcUrlsFromChains(
34
34
  existingRpcUrls: RPCUrls,
35
35
  chains: ExtendedChain[],
36
36
  skipChains?: ChainId[]
37
- ) {
37
+ ): RPCUrls {
38
38
  const rpcUrlsFromChains = chains.reduce((rpcUrls, chain) => {
39
39
  if (chain.metamask?.rpcUrls?.length) {
40
40
  rpcUrls[chain.id as ChainId] = chain.metamask.rpcUrls
@@ -74,7 +74,7 @@ export class HTTPError extends BaseError {
74
74
  this.fetchOptions = options
75
75
  }
76
76
 
77
- async buildAdditionalDetails() {
77
+ async buildAdditionalDetails(): Promise<void> {
78
78
  if (this.type) {
79
79
  this.message = `[${this.type}] ${this.message}`
80
80
  }
@@ -82,13 +82,11 @@ export class HTTPError extends BaseError {
82
82
  try {
83
83
  this.responseBody = await this.response.json()
84
84
 
85
- if (this.responseBody) {
85
+ if (this.responseBody?.message) {
86
86
  this.message += this.message.endsWith('.')
87
- ? ` ${this.responseBody?.message.toString()}`
88
- : `. ${this.responseBody?.message.toString()}`
87
+ ? ` ${this.responseBody.message.toString()}`
88
+ : `. ${this.responseBody.message.toString()}`
89
89
  }
90
90
  } catch {}
91
-
92
- return this
93
91
  }
94
92
  }
@@ -1,7 +1,7 @@
1
1
  import { BaseError } from '../baseError.js'
2
2
  import { HTTPError } from '../httpError.js'
3
3
 
4
- export const getRootCauseBaseError = (e: Error) => {
4
+ export const getRootCauseBaseError = (e: Error): BaseError => {
5
5
  let rootCause = e
6
6
  while (rootCause.cause && rootCause.cause instanceof BaseError) {
7
7
  rootCause = rootCause.cause as BaseError
@@ -9,7 +9,7 @@ export const getRootCauseBaseError = (e: Error) => {
9
9
  return rootCause as BaseError
10
10
  }
11
11
 
12
- export const getRootCauseBaseErrorMessage = (e: Error) => {
12
+ export const getRootCauseBaseErrorMessage = (e: Error): string => {
13
13
  const rootCause = getRootCauseBaseError(e)
14
14
 
15
15
  return rootCause instanceof HTTPError
@@ -1,4 +1,4 @@
1
- export const getRootCause = (e: Error | undefined) => {
1
+ export const getRootCause = (e: Error | undefined): Error | undefined => {
2
2
  let rootCause = e
3
3
  while (rootCause?.cause) {
4
4
  rootCause = rootCause.cause as Error
package/src/index.ts CHANGED
@@ -44,7 +44,10 @@ export {
44
44
  } from './core/storage.js'
45
45
  export { TaskPipeline } from './core/TaskPipeline.js'
46
46
  export { CheckBalanceTask } from './core/tasks/CheckBalanceTask.js'
47
- export { checkBalance } from './core/tasks/helpers/checkBalance.js'
47
+ export {
48
+ type CheckBalanceOptions,
49
+ checkBalance,
50
+ } from './core/tasks/helpers/checkBalance.js'
48
51
  export { getTransactionRequestData } from './core/tasks/helpers/getTransactionRequestData.js'
49
52
  export { stepComparison } from './core/tasks/helpers/stepComparison.js'
50
53
  export { PrepareTransactionTask } from './core/tasks/PrepareTransactionTask.js'
@@ -116,3 +119,4 @@ export { parseUnits } from './utils/parseUnits.js'
116
119
  export { sleep } from './utils/sleep.js'
117
120
  export { waitForResult } from './utils/waitForResult.js'
118
121
  export { LruMap, withDedupe } from './utils/withDedupe.js'
122
+ export { withTimeout } from './utils/withTimeout.js'
package/src/types/core.ts CHANGED
@@ -40,6 +40,7 @@ export interface SDKBaseConfig {
40
40
 
41
41
  export interface SDKConfig extends Partial<Omit<SDKBaseConfig, 'integrator'>> {
42
42
  integrator: string
43
+ providers?: SDKProvider[]
43
44
  }
44
45
 
45
46
  export type RPCUrls = Partial<Record<ChainId, string[]>>
@@ -204,10 +205,6 @@ export interface ExecutionOptions {
204
205
  getContractCalls?: GetContractCallsHook
205
206
  adjustZeroOutputFromPreviousStep?: boolean
206
207
  executeInBackground?: boolean
207
- /**
208
- * @deprecated
209
- */
210
- infiniteApproval?: boolean
211
208
  }
212
209
 
213
210
  export type ExecutionStatus = 'ACTION_REQUIRED' | 'PENDING' | 'FAILED' | 'DONE'
@@ -253,7 +250,6 @@ export interface Execution {
253
250
  signedAt?: number
254
251
  status: ExecutionStatus
255
252
  actions: Array<ExecutionAction>
256
- lastActionType?: ExecutionActionType
257
253
  fromAmount?: string
258
254
  toAmount?: string
259
255
  toToken?: Token