@lifi/sdk 4.0.0-beta.1 → 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 (653) 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 -77
  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 -136
  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 -18
  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 -172
  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 -76
  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 -180
  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 -19
  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 -177
  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 +2 -1
  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/prepareRestart.ts +1 -1
  488. package/src/core/tasks/CheckBalanceTask.ts +19 -2
  489. package/src/core/tasks/helpers/checkBalance.ts +196 -34
  490. package/src/core/tasks/helpers/waitForTransactionStatus.ts +1 -0
  491. package/src/core/utils.ts +1 -1
  492. package/src/errors/httpError.ts +1 -3
  493. package/src/errors/utils/baseErrorRootCause.ts +2 -2
  494. package/src/errors/utils/rootCause.ts +1 -1
  495. package/src/index.ts +5 -1
  496. package/src/types/core.ts +1 -4
  497. package/src/utils/checkPackageUpdates.ts +1 -1
  498. package/src/utils/convertQuoteToRoute.ts +1 -1
  499. package/src/utils/decode.ts +1 -1
  500. package/src/utils/fetchTxErrorDetails.ts +7 -2
  501. package/src/utils/formatUnits.ts +1 -1
  502. package/src/utils/parseUnits.ts +1 -1
  503. package/src/utils/withDedupe.ts +1 -1
  504. package/src/utils/withTimeout.ts +50 -0
  505. package/src/version.ts +1 -1
  506. package/dist/cjs/index.js.map +0 -1
  507. package/dist/cjs/types/actions.js.map +0 -1
  508. package/dist/cjs/types/core.js.map +0 -1
  509. package/dist/cjs/types/execution.js.map +0 -1
  510. package/dist/cjs/types/request.js.map +0 -1
  511. package/dist/esm/index.js.map +0 -1
  512. package/dist/esm/types/actions.js.map +0 -1
  513. package/dist/esm/types/core.js.map +0 -1
  514. package/dist/esm/types/execution.js.map +0 -1
  515. package/dist/esm/types/request.js.map +0 -1
  516. package/dist/types/actions/getChains.d.ts +0 -13
  517. package/dist/types/actions/getChains.d.ts.map +0 -1
  518. package/dist/types/actions/getConnections.d.ts +0 -11
  519. package/dist/types/actions/getConnections.d.ts.map +0 -1
  520. package/dist/types/actions/getContractCallsQuote.d.ts +0 -12
  521. package/dist/types/actions/getContractCallsQuote.d.ts.map +0 -1
  522. package/dist/types/actions/getGasRecommendation.d.ts +0 -12
  523. package/dist/types/actions/getGasRecommendation.d.ts.map +0 -1
  524. package/dist/types/actions/getNameServiceAddress.d.ts +0 -11
  525. package/dist/types/actions/getNameServiceAddress.d.ts.map +0 -1
  526. package/dist/types/actions/getQuote.d.ts +0 -14
  527. package/dist/types/actions/getQuote.d.ts.map +0 -1
  528. package/dist/types/actions/getRelayedTransactionStatus.d.ts +0 -12
  529. package/dist/types/actions/getRelayedTransactionStatus.d.ts.map +0 -1
  530. package/dist/types/actions/getRelayerQuote.d.ts +0 -13
  531. package/dist/types/actions/getRelayerQuote.d.ts.map +0 -1
  532. package/dist/types/actions/getRoutes.d.ts +0 -12
  533. package/dist/types/actions/getRoutes.d.ts.map +0 -1
  534. package/dist/types/actions/getStatus.d.ts +0 -13
  535. package/dist/types/actions/getStatus.d.ts.map +0 -1
  536. package/dist/types/actions/getStepTransaction.d.ts +0 -12
  537. package/dist/types/actions/getStepTransaction.d.ts.map +0 -1
  538. package/dist/types/actions/getToken.d.ts +0 -13
  539. package/dist/types/actions/getToken.d.ts.map +0 -1
  540. package/dist/types/actions/getTokenBalance.d.ts +0 -13
  541. package/dist/types/actions/getTokenBalance.d.ts.map +0 -1
  542. package/dist/types/actions/getTokenBalances.d.ts +0 -13
  543. package/dist/types/actions/getTokenBalances.d.ts.map +0 -1
  544. package/dist/types/actions/getTokenBalancesByChain.d.ts +0 -17
  545. package/dist/types/actions/getTokenBalancesByChain.d.ts.map +0 -1
  546. package/dist/types/actions/getTokens.d.ts +0 -16
  547. package/dist/types/actions/getTokens.d.ts.map +0 -1
  548. package/dist/types/actions/getTools.d.ts +0 -11
  549. package/dist/types/actions/getTools.d.ts.map +0 -1
  550. package/dist/types/actions/getTransactionHistory.d.ts +0 -17
  551. package/dist/types/actions/getTransactionHistory.d.ts.map +0 -1
  552. package/dist/types/actions/getWalletBalances.d.ts +0 -12
  553. package/dist/types/actions/getWalletBalances.d.ts.map +0 -1
  554. package/dist/types/actions/index.d.ts +0 -168
  555. package/dist/types/actions/index.d.ts.map +0 -1
  556. package/dist/types/actions/patchContractCalls.d.ts +0 -11
  557. package/dist/types/actions/patchContractCalls.d.ts.map +0 -1
  558. package/dist/types/actions/relayTransaction.d.ts +0 -12
  559. package/dist/types/actions/relayTransaction.d.ts.map +0 -1
  560. package/dist/types/client/createClient.d.ts +0 -3
  561. package/dist/types/client/createClient.d.ts.map +0 -1
  562. package/dist/types/client/getClientStorage.d.ts +0 -9
  563. package/dist/types/client/getClientStorage.d.ts.map +0 -1
  564. package/dist/types/core/BaseStepExecutionTask.d.ts +0 -6
  565. package/dist/types/core/BaseStepExecutionTask.d.ts.map +0 -1
  566. package/dist/types/core/BaseStepExecutor.d.ts +0 -20
  567. package/dist/types/core/BaseStepExecutor.d.ts.map +0 -1
  568. package/dist/types/core/StatusManager.d.ts +0 -70
  569. package/dist/types/core/StatusManager.d.ts.map +0 -1
  570. package/dist/types/core/TaskPipeline.d.ts +0 -8
  571. package/dist/types/core/TaskPipeline.d.ts.map +0 -1
  572. package/dist/types/core/actionMessages.d.ts +0 -5
  573. package/dist/types/core/actionMessages.d.ts.map +0 -1
  574. package/dist/types/core/execution.d.ts +0 -44
  575. package/dist/types/core/execution.d.ts.map +0 -1
  576. package/dist/types/core/executionState.d.ts +0 -18
  577. package/dist/types/core/executionState.d.ts.map +0 -1
  578. package/dist/types/core/prepareRestart.d.ts +0 -3
  579. package/dist/types/core/prepareRestart.d.ts.map +0 -1
  580. package/dist/types/core/storage.d.ts +0 -18
  581. package/dist/types/core/storage.d.ts.map +0 -1
  582. package/dist/types/core/tasks/CheckBalanceTask.d.ts +0 -6
  583. package/dist/types/core/tasks/CheckBalanceTask.d.ts.map +0 -1
  584. package/dist/types/core/tasks/PrepareTransactionTask.d.ts +0 -6
  585. package/dist/types/core/tasks/PrepareTransactionTask.d.ts.map +0 -1
  586. package/dist/types/core/tasks/WaitForTransactionStatusTask.d.ts +0 -9
  587. package/dist/types/core/tasks/WaitForTransactionStatusTask.d.ts.map +0 -1
  588. package/dist/types/core/tasks/helpers/checkBalance.d.ts +0 -4
  589. package/dist/types/core/tasks/helpers/checkBalance.d.ts.map +0 -1
  590. package/dist/types/core/tasks/helpers/getTransactionRequestData.d.ts +0 -3
  591. package/dist/types/core/tasks/helpers/getTransactionRequestData.d.ts.map +0 -1
  592. package/dist/types/core/tasks/helpers/stepComparison.d.ts +0 -17
  593. package/dist/types/core/tasks/helpers/stepComparison.d.ts.map +0 -1
  594. package/dist/types/core/tasks/helpers/waitForTransactionStatus.d.ts +0 -5
  595. package/dist/types/core/tasks/helpers/waitForTransactionStatus.d.ts.map +0 -1
  596. package/dist/types/core/utils.d.ts +0 -100
  597. package/dist/types/core/utils.d.ts.map +0 -1
  598. package/dist/types/errors/SDKError.d.ts +0 -13
  599. package/dist/types/errors/SDKError.d.ts.map +0 -1
  600. package/dist/types/errors/baseError.d.ts +0 -7
  601. package/dist/types/errors/baseError.d.ts.map +0 -1
  602. package/dist/types/errors/constants.d.ts +0 -52
  603. package/dist/types/errors/constants.d.ts.map +0 -1
  604. package/dist/types/errors/errors.d.ts +0 -34
  605. package/dist/types/errors/errors.d.ts.map +0 -1
  606. package/dist/types/errors/httpError.d.ts +0 -21
  607. package/dist/types/errors/httpError.d.ts.map +0 -1
  608. package/dist/types/errors/utils/baseErrorRootCause.d.ts +0 -4
  609. package/dist/types/errors/utils/baseErrorRootCause.d.ts.map +0 -1
  610. package/dist/types/errors/utils/rootCause.d.ts +0 -2
  611. package/dist/types/errors/utils/rootCause.d.ts.map +0 -1
  612. package/dist/types/index.d.ts +0 -56
  613. package/dist/types/index.d.ts.map +0 -1
  614. package/dist/types/types/actions.d.ts +0 -10
  615. package/dist/types/types/actions.d.ts.map +0 -1
  616. package/dist/types/types/core.d.ts +0 -183
  617. package/dist/types/types/core.d.ts.map +0 -1
  618. package/dist/types/types/execution.d.ts +0 -24
  619. package/dist/types/types/execution.d.ts.map +0 -1
  620. package/dist/types/types/request.d.ts +0 -4
  621. package/dist/types/types/request.d.ts.map +0 -1
  622. package/dist/types/utils/checkPackageUpdates.d.ts +0 -2
  623. package/dist/types/utils/checkPackageUpdates.d.ts.map +0 -1
  624. package/dist/types/utils/convertQuoteToRoute.d.ts +0 -19
  625. package/dist/types/utils/convertQuoteToRoute.d.ts.map +0 -1
  626. package/dist/types/utils/decode.d.ts +0 -2
  627. package/dist/types/utils/decode.d.ts.map +0 -1
  628. package/dist/types/utils/fetchTxErrorDetails.d.ts +0 -2
  629. package/dist/types/utils/fetchTxErrorDetails.d.ts.map +0 -1
  630. package/dist/types/utils/formatUnits.d.ts +0 -5
  631. package/dist/types/utils/formatUnits.d.ts.map +0 -1
  632. package/dist/types/utils/getTransactionMessage.d.ts +0 -4
  633. package/dist/types/utils/getTransactionMessage.d.ts.map +0 -1
  634. package/dist/types/utils/isHex.d.ts +0 -5
  635. package/dist/types/utils/isHex.d.ts.map +0 -1
  636. package/dist/types/utils/isRoutesRequest.d.ts +0 -3
  637. package/dist/types/utils/isRoutesRequest.d.ts.map +0 -1
  638. package/dist/types/utils/isStep.d.ts +0 -3
  639. package/dist/types/utils/isStep.d.ts.map +0 -1
  640. package/dist/types/utils/isToken.d.ts +0 -3
  641. package/dist/types/utils/isToken.d.ts.map +0 -1
  642. package/dist/types/utils/parseUnits.d.ts +0 -5
  643. package/dist/types/utils/parseUnits.d.ts.map +0 -1
  644. package/dist/types/utils/request.d.ts +0 -7
  645. package/dist/types/utils/request.d.ts.map +0 -1
  646. package/dist/types/utils/sleep.d.ts +0 -2
  647. package/dist/types/utils/sleep.d.ts.map +0 -1
  648. package/dist/types/utils/waitForResult.d.ts +0 -11
  649. package/dist/types/utils/waitForResult.d.ts.map +0 -1
  650. package/dist/types/utils/withDedupe.d.ts +0 -18
  651. package/dist/types/utils/withDedupe.d.ts.map +0 -1
  652. package/dist/types/version.d.ts +0 -3
  653. 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.1";
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.1';
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.1",
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.67.1"
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
  }
@@ -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()
@@ -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) {
@@ -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
  }
@@ -88,7 +88,5 @@ export class HTTPError extends BaseError {
88
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'
@@ -3,7 +3,7 @@ import { name, version } from '../version.js'
3
3
  export const checkPackageUpdates = async (
4
4
  packageName?: string,
5
5
  packageVersion?: string
6
- ) => {
6
+ ): Promise<void> => {
7
7
  try {
8
8
  const pkgName = packageName ?? name
9
9
  const response = await fetch(`https://registry.npmjs.org/${pkgName}/latest`)
@@ -64,7 +64,7 @@ export function formatTokenPrice(
64
64
  amount?: string | bigint,
65
65
  price?: string,
66
66
  decimals?: number
67
- ) {
67
+ ): number {
68
68
  if (!amount || !price) {
69
69
  return 0
70
70
  }
@@ -1,4 +1,4 @@
1
- export const decodeTaskId = (taskId: string) => {
1
+ export const decodeTaskId = (taskId: string): string[] => {
2
2
  const decoded = new TextDecoder()
3
3
  .decode(
4
4
  new Uint8Array(
@@ -1,4 +1,7 @@
1
- export const fetchTxErrorDetails = async (txHash: string, chainId: number) => {
1
+ export const fetchTxErrorDetails = async (
2
+ txHash: string,
3
+ chainId: number
4
+ ): Promise<unknown> => {
2
5
  try {
3
6
  const response = await fetch(
4
7
  `https://api.tenderly.co/api/v1/public-contract/${chainId}/tx/${txHash}`
@@ -6,5 +9,7 @@ export const fetchTxErrorDetails = async (txHash: string, chainId: number) => {
6
9
  const reponseBody = await response.json()
7
10
 
8
11
  return reponseBody
9
- } catch (_) {}
12
+ } catch (_) {
13
+ return undefined
14
+ }
10
15
  }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Divides a number by a given exponent of base 10 (10exponent), and formats it into a string representation of the number.
3
3
  */
4
- export function formatUnits(value: bigint, decimals: number) {
4
+ export function formatUnits(value: bigint, decimals: number): string {
5
5
  let display = value.toString()
6
6
 
7
7
  const negative = display.startsWith('-')
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Multiplies a string representation of a number by a given exponent of base 10 (10exponent).
3
3
  */
4
- export function parseUnits(value: string, decimals: number) {
4
+ export function parseUnits(value: string, decimals: number): bigint {
5
5
  if (!/^(-?)([0-9]*)\.?([0-9]*)$/.test(value)) {
6
6
  throw new Error(`Number \`${value}\` is not a valid decimal number.`)
7
7
  }
@@ -11,7 +11,7 @@ export class LruMap<value = unknown> extends Map<string, value> {
11
11
  this.maxSize = size
12
12
  }
13
13
 
14
- override set(key: string, value: value) {
14
+ override set(key: string, value: value): this {
15
15
  super.set(key, value)
16
16
  if (this.maxSize && this.size > this.maxSize) {
17
17
  this.delete(this.keys().next().value!)