@lifi/sdk 0.0.0-preview-f5cf9f8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (555) hide show
  1. package/CHANGELOG.md +1213 -0
  2. package/LICENSE +201 -0
  3. package/README.md +79 -0
  4. package/dist/cjs/actions/getChains.d.ts +17 -0
  5. package/dist/cjs/actions/getChains.js +28 -0
  6. package/dist/cjs/actions/getChains.js.map +1 -0
  7. package/dist/cjs/actions/getConnections.d.ts +15 -0
  8. package/dist/cjs/actions/getConnections.js +34 -0
  9. package/dist/cjs/actions/getConnections.js.map +1 -0
  10. package/dist/cjs/actions/getContractCallsQuote.d.ts +16 -0
  11. package/dist/cjs/actions/getContractCallsQuote.js +45 -0
  12. package/dist/cjs/actions/getContractCallsQuote.js.map +1 -0
  13. package/dist/cjs/actions/getGasRecommendation.d.ts +16 -0
  14. package/dist/cjs/actions/getGasRecommendation.js +24 -0
  15. package/dist/cjs/actions/getGasRecommendation.js.map +1 -0
  16. package/dist/cjs/actions/getNameServiceAddress.d.ts +15 -0
  17. package/dist/cjs/actions/getNameServiceAddress.js +29 -0
  18. package/dist/cjs/actions/getNameServiceAddress.js.map +1 -0
  19. package/dist/cjs/actions/getQuote.d.ts +18 -0
  20. package/dist/cjs/actions/getQuote.js +35 -0
  21. package/dist/cjs/actions/getQuote.js.map +1 -0
  22. package/dist/cjs/actions/getRelayedTransactionStatus.d.ts +16 -0
  23. package/dist/cjs/actions/getRelayedTransactionStatus.js +30 -0
  24. package/dist/cjs/actions/getRelayedTransactionStatus.js.map +1 -0
  25. package/dist/cjs/actions/getRelayerQuote.d.ts +17 -0
  26. package/dist/cjs/actions/getRelayerQuote.js +44 -0
  27. package/dist/cjs/actions/getRelayerQuote.js.map +1 -0
  28. package/dist/cjs/actions/getRoutes.d.ts +16 -0
  29. package/dist/cjs/actions/getRoutes.js +32 -0
  30. package/dist/cjs/actions/getRoutes.js.map +1 -0
  31. package/dist/cjs/actions/getStatus.d.ts +17 -0
  32. package/dist/cjs/actions/getStatus.js +22 -0
  33. package/dist/cjs/actions/getStatus.js.map +1 -0
  34. package/dist/cjs/actions/getStepTransaction.d.ts +16 -0
  35. package/dist/cjs/actions/getStepTransaction.js +36 -0
  36. package/dist/cjs/actions/getStepTransaction.js.map +1 -0
  37. package/dist/cjs/actions/getToken.d.ts +17 -0
  38. package/dist/cjs/actions/getToken.js +26 -0
  39. package/dist/cjs/actions/getToken.js.map +1 -0
  40. package/dist/cjs/actions/getTokenBalance.d.ts +17 -0
  41. package/dist/cjs/actions/getTokenBalance.js +20 -0
  42. package/dist/cjs/actions/getTokenBalance.js.map +1 -0
  43. package/dist/cjs/actions/getTokenBalances.d.ts +17 -0
  44. package/dist/cjs/actions/getTokenBalances.js +15 -0
  45. package/dist/cjs/actions/getTokenBalances.js.map +1 -0
  46. package/dist/cjs/actions/getTokenBalancesByChain.d.ts +21 -0
  47. package/dist/cjs/actions/getTokenBalancesByChain.js +25 -0
  48. package/dist/cjs/actions/getTokenBalancesByChain.js.map +1 -0
  49. package/dist/cjs/actions/getTokens.d.ts +20 -0
  50. package/dist/cjs/actions/getTokens.js +17 -0
  51. package/dist/cjs/actions/getTokens.js.map +1 -0
  52. package/dist/cjs/actions/getTools.d.ts +15 -0
  53. package/dist/cjs/actions/getTools.js +21 -0
  54. package/dist/cjs/actions/getTools.js.map +1 -0
  55. package/dist/cjs/actions/getTransactionHistory.d.ts +26 -0
  56. package/dist/cjs/actions/getTransactionHistory.js +31 -0
  57. package/dist/cjs/actions/getTransactionHistory.js.map +1 -0
  58. package/dist/cjs/actions/getWalletBalances.d.ts +16 -0
  59. package/dist/cjs/actions/getWalletBalances.js +20 -0
  60. package/dist/cjs/actions/getWalletBalances.js.map +1 -0
  61. package/dist/cjs/actions/index.d.ts +172 -0
  62. package/dist/cjs/actions/index.js +52 -0
  63. package/dist/cjs/actions/index.js.map +1 -0
  64. package/dist/cjs/actions/patchContractCalls.d.ts +15 -0
  65. package/dist/cjs/actions/patchContractCalls.js +15 -0
  66. package/dist/cjs/actions/patchContractCalls.js.map +1 -0
  67. package/dist/cjs/actions/relayTransaction.d.ts +16 -0
  68. package/dist/cjs/actions/relayTransaction.js +34 -0
  69. package/dist/cjs/actions/relayTransaction.js.map +1 -0
  70. package/dist/cjs/client/createClient.d.ts +7 -0
  71. package/dist/cjs/client/createClient.js +70 -0
  72. package/dist/cjs/client/createClient.js.map +1 -0
  73. package/dist/cjs/client/getClientStorage.d.ts +14 -0
  74. package/dist/cjs/client/getClientStorage.js +48 -0
  75. package/dist/cjs/client/getClientStorage.js.map +1 -0
  76. package/dist/cjs/core/BaseStepExecutionTask.d.ts +10 -0
  77. package/dist/cjs/core/BaseStepExecutionTask.js +11 -0
  78. package/dist/cjs/core/BaseStepExecutionTask.js.map +1 -0
  79. package/dist/cjs/core/BaseStepExecutor.d.ts +24 -0
  80. package/dist/cjs/core/BaseStepExecutor.js +71 -0
  81. package/dist/cjs/core/BaseStepExecutor.js.map +1 -0
  82. package/dist/cjs/core/StatusManager.d.ts +83 -0
  83. package/dist/cjs/core/StatusManager.js +160 -0
  84. package/dist/cjs/core/StatusManager.js.map +1 -0
  85. package/dist/cjs/core/TaskPipeline.d.ts +12 -0
  86. package/dist/cjs/core/TaskPipeline.js +21 -0
  87. package/dist/cjs/core/TaskPipeline.js.map +1 -0
  88. package/dist/cjs/core/actionMessages.d.ts +9 -0
  89. package/dist/cjs/core/actionMessages.js +81 -0
  90. package/dist/cjs/core/actionMessages.js.map +1 -0
  91. package/dist/cjs/core/execution.d.ts +48 -0
  92. package/dist/cjs/core/execution.js +147 -0
  93. package/dist/cjs/core/execution.js.map +1 -0
  94. package/dist/cjs/core/executionState.d.ts +21 -0
  95. package/dist/cjs/core/executionState.js +29 -0
  96. package/dist/cjs/core/executionState.js.map +1 -0
  97. package/dist/cjs/core/prepareRestart.d.ts +7 -0
  98. package/dist/cjs/core/prepareRestart.js +21 -0
  99. package/dist/cjs/core/prepareRestart.js.map +1 -0
  100. package/dist/cjs/core/storage.d.ts +21 -0
  101. package/dist/cjs/core/storage.js +35 -0
  102. package/dist/cjs/core/storage.js.map +1 -0
  103. package/dist/cjs/core/tasks/CheckBalanceTask.d.ts +19 -0
  104. package/dist/cjs/core/tasks/CheckBalanceTask.js +35 -0
  105. package/dist/cjs/core/tasks/CheckBalanceTask.js.map +1 -0
  106. package/dist/cjs/core/tasks/PrepareTransactionTask.d.ts +10 -0
  107. package/dist/cjs/core/tasks/PrepareTransactionTask.js +30 -0
  108. package/dist/cjs/core/tasks/PrepareTransactionTask.js.map +1 -0
  109. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.d.ts +13 -0
  110. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js +63 -0
  111. package/dist/cjs/core/tasks/WaitForTransactionStatusTask.js.map +1 -0
  112. package/dist/cjs/core/tasks/helpers/checkBalance.d.ts +30 -0
  113. package/dist/cjs/core/tasks/helpers/checkBalance.js +108 -0
  114. package/dist/cjs/core/tasks/helpers/checkBalance.js.map +1 -0
  115. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.d.ts +7 -0
  116. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js +25 -0
  117. package/dist/cjs/core/tasks/helpers/getTransactionRequestData.js.map +1 -0
  118. package/dist/cjs/core/tasks/helpers/stepComparison.d.ts +21 -0
  119. package/dist/cjs/core/tasks/helpers/stepComparison.js +32 -0
  120. package/dist/cjs/core/tasks/helpers/stepComparison.js.map +1 -0
  121. package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.d.ts +9 -0
  122. package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.js +48 -0
  123. package/dist/cjs/core/tasks/helpers/waitForTransactionStatus.js.map +1 -0
  124. package/dist/cjs/core/utils.d.ts +17 -0
  125. package/dist/cjs/core/utils.js +42 -0
  126. package/dist/cjs/core/utils.js.map +1 -0
  127. package/dist/cjs/errors/SDKError.d.ts +17 -0
  128. package/dist/cjs/errors/SDKError.js +24 -0
  129. package/dist/cjs/errors/SDKError.js.map +1 -0
  130. package/dist/cjs/errors/baseError.d.ts +11 -0
  131. package/dist/cjs/errors/baseError.js +19 -0
  132. package/dist/cjs/errors/baseError.js.map +1 -0
  133. package/dist/cjs/errors/constants.d.ts +55 -0
  134. package/dist/cjs/errors/constants.js +61 -0
  135. package/dist/cjs/errors/constants.js.map +1 -0
  136. package/dist/cjs/errors/errors.d.ts +38 -0
  137. package/dist/cjs/errors/errors.js +62 -0
  138. package/dist/cjs/errors/errors.js.map +1 -0
  139. package/dist/cjs/errors/httpError.d.ts +24 -0
  140. package/dist/cjs/errors/httpError.js +70 -0
  141. package/dist/cjs/errors/httpError.js.map +1 -0
  142. package/dist/cjs/errors/utils/baseErrorRootCause.d.ts +8 -0
  143. package/dist/cjs/errors/utils/baseErrorRootCause.js +18 -0
  144. package/dist/cjs/errors/utils/baseErrorRootCause.js.map +1 -0
  145. package/dist/cjs/errors/utils/rootCause.d.ts +5 -0
  146. package/dist/cjs/errors/utils/rootCause.js +11 -0
  147. package/dist/cjs/errors/utils/rootCause.js.map +1 -0
  148. package/dist/cjs/index.d.ts +55 -0
  149. package/dist/cjs/index.js +130 -0
  150. package/dist/cjs/package.json +1 -0
  151. package/dist/cjs/types/actions.d.ts +14 -0
  152. package/dist/cjs/types/actions.js +0 -0
  153. package/dist/cjs/types/core.d.ts +184 -0
  154. package/dist/cjs/types/core.js +0 -0
  155. package/dist/cjs/types/execution.d.ts +28 -0
  156. package/dist/cjs/types/execution.js +0 -0
  157. package/dist/cjs/types/request.d.ts +7 -0
  158. package/dist/cjs/types/request.js +0 -0
  159. package/dist/cjs/utils/checkPackageUpdates.d.ts +5 -0
  160. package/dist/cjs/utils/checkPackageUpdates.js +15 -0
  161. package/dist/cjs/utils/checkPackageUpdates.js.map +1 -0
  162. package/dist/cjs/utils/convertQuoteToRoute.d.ts +22 -0
  163. package/dist/cjs/utils/convertQuoteToRoute.js +88 -0
  164. package/dist/cjs/utils/convertQuoteToRoute.js.map +1 -0
  165. package/dist/cjs/utils/decode.d.ts +5 -0
  166. package/dist/cjs/utils/decode.js +9 -0
  167. package/dist/cjs/utils/decode.js.map +1 -0
  168. package/dist/cjs/utils/fetchTxErrorDetails.d.ts +5 -0
  169. package/dist/cjs/utils/fetchTxErrorDetails.js +13 -0
  170. package/dist/cjs/utils/fetchTxErrorDetails.js.map +1 -0
  171. package/dist/cjs/utils/formatUnits.d.ts +8 -0
  172. package/dist/cjs/utils/formatUnits.js +18 -0
  173. package/dist/cjs/utils/formatUnits.js.map +1 -0
  174. package/dist/cjs/utils/getTransactionMessage.d.ts +8 -0
  175. package/dist/cjs/utils/getTransactionMessage.js +12 -0
  176. package/dist/cjs/utils/getTransactionMessage.js.map +1 -0
  177. package/dist/cjs/utils/isHex.d.ts +10 -0
  178. package/dist/cjs/utils/isHex.js +11 -0
  179. package/dist/cjs/utils/isHex.js.map +1 -0
  180. package/dist/cjs/utils/isRoutesRequest.d.ts +7 -0
  181. package/dist/cjs/utils/isRoutesRequest.js +11 -0
  182. package/dist/cjs/utils/isRoutesRequest.js.map +1 -0
  183. package/dist/cjs/utils/isStep.d.ts +7 -0
  184. package/dist/cjs/utils/isStep.js +23 -0
  185. package/dist/cjs/utils/isStep.js.map +1 -0
  186. package/dist/cjs/utils/isToken.d.ts +7 -0
  187. package/dist/cjs/utils/isToken.js +10 -0
  188. package/dist/cjs/utils/isToken.js.map +1 -0
  189. package/dist/cjs/utils/parseUnits.d.ts +8 -0
  190. package/dist/cjs/utils/parseUnits.js +35 -0
  191. package/dist/cjs/utils/parseUnits.js.map +1 -0
  192. package/dist/cjs/utils/request.d.ts +11 -0
  193. package/dist/cjs/utils/request.js +56 -0
  194. package/dist/cjs/utils/request.js.map +1 -0
  195. package/dist/cjs/utils/sleep.d.ts +5 -0
  196. package/dist/cjs/utils/sleep.js +11 -0
  197. package/dist/cjs/utils/sleep.js.map +1 -0
  198. package/dist/cjs/utils/waitForResult.d.ts +14 -0
  199. package/dist/cjs/utils/waitForResult.js +36 -0
  200. package/dist/cjs/utils/waitForResult.js.map +1 -0
  201. package/dist/cjs/utils/withDedupe.d.ts +23 -0
  202. package/dist/cjs/utils/withDedupe.js +34 -0
  203. package/dist/cjs/utils/withDedupe.js.map +1 -0
  204. package/dist/cjs/utils/withTimeout.d.ts +26 -0
  205. package/dist/cjs/utils/withTimeout.js +35 -0
  206. package/dist/cjs/utils/withTimeout.js.map +1 -0
  207. package/dist/cjs/version.d.ts +6 -0
  208. package/dist/cjs/version.js +9 -0
  209. package/dist/cjs/version.js.map +1 -0
  210. package/dist/esm/actions/getChains.d.ts +17 -0
  211. package/dist/esm/actions/getChains.d.ts.map +1 -0
  212. package/dist/esm/actions/getChains.js +26 -0
  213. package/dist/esm/actions/getChains.js.map +1 -0
  214. package/dist/esm/actions/getConnections.d.ts +15 -0
  215. package/dist/esm/actions/getConnections.d.ts.map +1 -0
  216. package/dist/esm/actions/getConnections.js +33 -0
  217. package/dist/esm/actions/getConnections.js.map +1 -0
  218. package/dist/esm/actions/getContractCallsQuote.d.ts +16 -0
  219. package/dist/esm/actions/getContractCallsQuote.d.ts.map +1 -0
  220. package/dist/esm/actions/getContractCallsQuote.js +44 -0
  221. package/dist/esm/actions/getContractCallsQuote.js.map +1 -0
  222. package/dist/esm/actions/getGasRecommendation.d.ts +16 -0
  223. package/dist/esm/actions/getGasRecommendation.d.ts.map +1 -0
  224. package/dist/esm/actions/getGasRecommendation.js +23 -0
  225. package/dist/esm/actions/getGasRecommendation.js.map +1 -0
  226. package/dist/esm/actions/getNameServiceAddress.d.ts +15 -0
  227. package/dist/esm/actions/getNameServiceAddress.d.ts.map +1 -0
  228. package/dist/esm/actions/getNameServiceAddress.js +28 -0
  229. package/dist/esm/actions/getNameServiceAddress.js.map +1 -0
  230. package/dist/esm/actions/getQuote.d.ts +18 -0
  231. package/dist/esm/actions/getQuote.d.ts.map +1 -0
  232. package/dist/esm/actions/getQuote.js +34 -0
  233. package/dist/esm/actions/getQuote.js.map +1 -0
  234. package/dist/esm/actions/getRelayedTransactionStatus.d.ts +16 -0
  235. package/dist/esm/actions/getRelayedTransactionStatus.d.ts.map +1 -0
  236. package/dist/esm/actions/getRelayedTransactionStatus.js +29 -0
  237. package/dist/esm/actions/getRelayedTransactionStatus.js.map +1 -0
  238. package/dist/esm/actions/getRelayerQuote.d.ts +17 -0
  239. package/dist/esm/actions/getRelayerQuote.d.ts.map +1 -0
  240. package/dist/esm/actions/getRelayerQuote.js +43 -0
  241. package/dist/esm/actions/getRelayerQuote.js.map +1 -0
  242. package/dist/esm/actions/getRoutes.d.ts +16 -0
  243. package/dist/esm/actions/getRoutes.d.ts.map +1 -0
  244. package/dist/esm/actions/getRoutes.js +31 -0
  245. package/dist/esm/actions/getRoutes.js.map +1 -0
  246. package/dist/esm/actions/getStatus.d.ts +17 -0
  247. package/dist/esm/actions/getStatus.d.ts.map +1 -0
  248. package/dist/esm/actions/getStatus.js +21 -0
  249. package/dist/esm/actions/getStatus.js.map +1 -0
  250. package/dist/esm/actions/getStepTransaction.d.ts +16 -0
  251. package/dist/esm/actions/getStepTransaction.d.ts.map +1 -0
  252. package/dist/esm/actions/getStepTransaction.js +35 -0
  253. package/dist/esm/actions/getStepTransaction.js.map +1 -0
  254. package/dist/esm/actions/getToken.d.ts +17 -0
  255. package/dist/esm/actions/getToken.d.ts.map +1 -0
  256. package/dist/esm/actions/getToken.js +25 -0
  257. package/dist/esm/actions/getToken.js.map +1 -0
  258. package/dist/esm/actions/getTokenBalance.d.ts +17 -0
  259. package/dist/esm/actions/getTokenBalance.d.ts.map +1 -0
  260. package/dist/esm/actions/getTokenBalance.js +19 -0
  261. package/dist/esm/actions/getTokenBalance.js.map +1 -0
  262. package/dist/esm/actions/getTokenBalances.d.ts +17 -0
  263. package/dist/esm/actions/getTokenBalances.d.ts.map +1 -0
  264. package/dist/esm/actions/getTokenBalances.js +14 -0
  265. package/dist/esm/actions/getTokenBalances.js.map +1 -0
  266. package/dist/esm/actions/getTokenBalancesByChain.d.ts +21 -0
  267. package/dist/esm/actions/getTokenBalancesByChain.d.ts.map +1 -0
  268. package/dist/esm/actions/getTokenBalancesByChain.js +24 -0
  269. package/dist/esm/actions/getTokenBalancesByChain.js.map +1 -0
  270. package/dist/esm/actions/getTokens.d.ts +20 -0
  271. package/dist/esm/actions/getTokens.d.ts.map +1 -0
  272. package/dist/esm/actions/getTokens.js +16 -0
  273. package/dist/esm/actions/getTokens.js.map +1 -0
  274. package/dist/esm/actions/getTools.d.ts +15 -0
  275. package/dist/esm/actions/getTools.d.ts.map +1 -0
  276. package/dist/esm/actions/getTools.js +20 -0
  277. package/dist/esm/actions/getTools.js.map +1 -0
  278. package/dist/esm/actions/getTransactionHistory.d.ts +26 -0
  279. package/dist/esm/actions/getTransactionHistory.d.ts.map +1 -0
  280. package/dist/esm/actions/getTransactionHistory.js +30 -0
  281. package/dist/esm/actions/getTransactionHistory.js.map +1 -0
  282. package/dist/esm/actions/getWalletBalances.d.ts +16 -0
  283. package/dist/esm/actions/getWalletBalances.d.ts.map +1 -0
  284. package/dist/esm/actions/getWalletBalances.js +19 -0
  285. package/dist/esm/actions/getWalletBalances.js.map +1 -0
  286. package/dist/esm/actions/index.d.ts +172 -0
  287. package/dist/esm/actions/index.d.ts.map +1 -0
  288. package/dist/esm/actions/index.js +51 -0
  289. package/dist/esm/actions/index.js.map +1 -0
  290. package/dist/esm/actions/patchContractCalls.d.ts +15 -0
  291. package/dist/esm/actions/patchContractCalls.d.ts.map +1 -0
  292. package/dist/esm/actions/patchContractCalls.js +14 -0
  293. package/dist/esm/actions/patchContractCalls.js.map +1 -0
  294. package/dist/esm/actions/relayTransaction.d.ts +16 -0
  295. package/dist/esm/actions/relayTransaction.d.ts.map +1 -0
  296. package/dist/esm/actions/relayTransaction.js +33 -0
  297. package/dist/esm/actions/relayTransaction.js.map +1 -0
  298. package/dist/esm/client/createClient.d.ts +7 -0
  299. package/dist/esm/client/createClient.d.ts.map +1 -0
  300. package/dist/esm/client/createClient.js +69 -0
  301. package/dist/esm/client/createClient.js.map +1 -0
  302. package/dist/esm/client/getClientStorage.d.ts +14 -0
  303. package/dist/esm/client/getClientStorage.d.ts.map +1 -0
  304. package/dist/esm/client/getClientStorage.js +47 -0
  305. package/dist/esm/client/getClientStorage.js.map +1 -0
  306. package/dist/esm/core/BaseStepExecutionTask.d.ts +10 -0
  307. package/dist/esm/core/BaseStepExecutionTask.d.ts.map +1 -0
  308. package/dist/esm/core/BaseStepExecutionTask.js +10 -0
  309. package/dist/esm/core/BaseStepExecutionTask.js.map +1 -0
  310. package/dist/esm/core/BaseStepExecutor.d.ts +24 -0
  311. package/dist/esm/core/BaseStepExecutor.d.ts.map +1 -0
  312. package/dist/esm/core/BaseStepExecutor.js +70 -0
  313. package/dist/esm/core/BaseStepExecutor.js.map +1 -0
  314. package/dist/esm/core/StatusManager.d.ts +83 -0
  315. package/dist/esm/core/StatusManager.d.ts.map +1 -0
  316. package/dist/esm/core/StatusManager.js +159 -0
  317. package/dist/esm/core/StatusManager.js.map +1 -0
  318. package/dist/esm/core/TaskPipeline.d.ts +12 -0
  319. package/dist/esm/core/TaskPipeline.d.ts.map +1 -0
  320. package/dist/esm/core/TaskPipeline.js +20 -0
  321. package/dist/esm/core/TaskPipeline.js.map +1 -0
  322. package/dist/esm/core/actionMessages.d.ts +9 -0
  323. package/dist/esm/core/actionMessages.d.ts.map +1 -0
  324. package/dist/esm/core/actionMessages.js +79 -0
  325. package/dist/esm/core/actionMessages.js.map +1 -0
  326. package/dist/esm/core/execution.d.ts +48 -0
  327. package/dist/esm/core/execution.d.ts.map +1 -0
  328. package/dist/esm/core/execution.js +141 -0
  329. package/dist/esm/core/execution.js.map +1 -0
  330. package/dist/esm/core/executionState.d.ts +21 -0
  331. package/dist/esm/core/executionState.d.ts.map +1 -0
  332. package/dist/esm/core/executionState.js +28 -0
  333. package/dist/esm/core/executionState.js.map +1 -0
  334. package/dist/esm/core/prepareRestart.d.ts +7 -0
  335. package/dist/esm/core/prepareRestart.d.ts.map +1 -0
  336. package/dist/esm/core/prepareRestart.js +20 -0
  337. package/dist/esm/core/prepareRestart.js.map +1 -0
  338. package/dist/esm/core/storage.d.ts +21 -0
  339. package/dist/esm/core/storage.d.ts.map +1 -0
  340. package/dist/esm/core/storage.js +32 -0
  341. package/dist/esm/core/storage.js.map +1 -0
  342. package/dist/esm/core/tasks/CheckBalanceTask.d.ts +19 -0
  343. package/dist/esm/core/tasks/CheckBalanceTask.d.ts.map +1 -0
  344. package/dist/esm/core/tasks/CheckBalanceTask.js +34 -0
  345. package/dist/esm/core/tasks/CheckBalanceTask.js.map +1 -0
  346. package/dist/esm/core/tasks/PrepareTransactionTask.d.ts +10 -0
  347. package/dist/esm/core/tasks/PrepareTransactionTask.d.ts.map +1 -0
  348. package/dist/esm/core/tasks/PrepareTransactionTask.js +29 -0
  349. package/dist/esm/core/tasks/PrepareTransactionTask.js.map +1 -0
  350. package/dist/esm/core/tasks/WaitForTransactionStatusTask.d.ts +13 -0
  351. package/dist/esm/core/tasks/WaitForTransactionStatusTask.d.ts.map +1 -0
  352. package/dist/esm/core/tasks/WaitForTransactionStatusTask.js +61 -0
  353. package/dist/esm/core/tasks/WaitForTransactionStatusTask.js.map +1 -0
  354. package/dist/esm/core/tasks/helpers/checkBalance.d.ts +30 -0
  355. package/dist/esm/core/tasks/helpers/checkBalance.d.ts.map +1 -0
  356. package/dist/esm/core/tasks/helpers/checkBalance.js +107 -0
  357. package/dist/esm/core/tasks/helpers/checkBalance.js.map +1 -0
  358. package/dist/esm/core/tasks/helpers/getTransactionRequestData.d.ts +7 -0
  359. package/dist/esm/core/tasks/helpers/getTransactionRequestData.d.ts.map +1 -0
  360. package/dist/esm/core/tasks/helpers/getTransactionRequestData.js +24 -0
  361. package/dist/esm/core/tasks/helpers/getTransactionRequestData.js.map +1 -0
  362. package/dist/esm/core/tasks/helpers/stepComparison.d.ts +21 -0
  363. package/dist/esm/core/tasks/helpers/stepComparison.d.ts.map +1 -0
  364. package/dist/esm/core/tasks/helpers/stepComparison.js +31 -0
  365. package/dist/esm/core/tasks/helpers/stepComparison.js.map +1 -0
  366. package/dist/esm/core/tasks/helpers/waitForTransactionStatus.d.ts +9 -0
  367. package/dist/esm/core/tasks/helpers/waitForTransactionStatus.d.ts.map +1 -0
  368. package/dist/esm/core/tasks/helpers/waitForTransactionStatus.js +47 -0
  369. package/dist/esm/core/tasks/helpers/waitForTransactionStatus.js.map +1 -0
  370. package/dist/esm/core/utils.d.ts +17 -0
  371. package/dist/esm/core/utils.d.ts.map +1 -0
  372. package/dist/esm/core/utils.js +40 -0
  373. package/dist/esm/core/utils.js.map +1 -0
  374. package/dist/esm/errors/SDKError.d.ts +17 -0
  375. package/dist/esm/errors/SDKError.d.ts.map +1 -0
  376. package/dist/esm/errors/SDKError.js +23 -0
  377. package/dist/esm/errors/SDKError.js.map +1 -0
  378. package/dist/esm/errors/baseError.d.ts +11 -0
  379. package/dist/esm/errors/baseError.d.ts.map +1 -0
  380. package/dist/esm/errors/baseError.js +18 -0
  381. package/dist/esm/errors/baseError.js.map +1 -0
  382. package/dist/esm/errors/constants.d.ts +55 -0
  383. package/dist/esm/errors/constants.d.ts.map +1 -0
  384. package/dist/esm/errors/constants.js +58 -0
  385. package/dist/esm/errors/constants.js.map +1 -0
  386. package/dist/esm/errors/errors.d.ts +38 -0
  387. package/dist/esm/errors/errors.d.ts.map +1 -0
  388. package/dist/esm/errors/errors.js +54 -0
  389. package/dist/esm/errors/errors.js.map +1 -0
  390. package/dist/esm/errors/httpError.d.ts +24 -0
  391. package/dist/esm/errors/httpError.d.ts.map +1 -0
  392. package/dist/esm/errors/httpError.js +69 -0
  393. package/dist/esm/errors/httpError.js.map +1 -0
  394. package/dist/esm/errors/utils/baseErrorRootCause.d.ts +8 -0
  395. package/dist/esm/errors/utils/baseErrorRootCause.d.ts.map +1 -0
  396. package/dist/esm/errors/utils/baseErrorRootCause.js +16 -0
  397. package/dist/esm/errors/utils/baseErrorRootCause.js.map +1 -0
  398. package/dist/esm/errors/utils/rootCause.d.ts +5 -0
  399. package/dist/esm/errors/utils/rootCause.d.ts.map +1 -0
  400. package/dist/esm/errors/utils/rootCause.js +10 -0
  401. package/dist/esm/errors/utils/rootCause.js.map +1 -0
  402. package/dist/esm/index.d.ts +55 -0
  403. package/dist/esm/index.js +53 -0
  404. package/dist/esm/package.json +1 -0
  405. package/dist/esm/types/actions.d.ts +14 -0
  406. package/dist/esm/types/actions.d.ts.map +1 -0
  407. package/dist/esm/types/actions.js +1 -0
  408. package/dist/esm/types/core.d.ts +184 -0
  409. package/dist/esm/types/core.d.ts.map +1 -0
  410. package/dist/esm/types/core.js +1 -0
  411. package/dist/esm/types/execution.d.ts +28 -0
  412. package/dist/esm/types/execution.d.ts.map +1 -0
  413. package/dist/esm/types/execution.js +1 -0
  414. package/dist/esm/types/request.d.ts +7 -0
  415. package/dist/esm/types/request.d.ts.map +1 -0
  416. package/dist/esm/types/request.js +1 -0
  417. package/dist/esm/utils/checkPackageUpdates.d.ts +5 -0
  418. package/dist/esm/utils/checkPackageUpdates.d.ts.map +1 -0
  419. package/dist/esm/utils/checkPackageUpdates.js +14 -0
  420. package/dist/esm/utils/checkPackageUpdates.js.map +1 -0
  421. package/dist/esm/utils/convertQuoteToRoute.d.ts +22 -0
  422. package/dist/esm/utils/convertQuoteToRoute.d.ts.map +1 -0
  423. package/dist/esm/utils/convertQuoteToRoute.js +86 -0
  424. package/dist/esm/utils/convertQuoteToRoute.js.map +1 -0
  425. package/dist/esm/utils/decode.d.ts +5 -0
  426. package/dist/esm/utils/decode.d.ts.map +1 -0
  427. package/dist/esm/utils/decode.js +8 -0
  428. package/dist/esm/utils/decode.js.map +1 -0
  429. package/dist/esm/utils/fetchTxErrorDetails.d.ts +5 -0
  430. package/dist/esm/utils/fetchTxErrorDetails.d.ts.map +1 -0
  431. package/dist/esm/utils/fetchTxErrorDetails.js +12 -0
  432. package/dist/esm/utils/fetchTxErrorDetails.js.map +1 -0
  433. package/dist/esm/utils/formatUnits.d.ts +8 -0
  434. package/dist/esm/utils/formatUnits.d.ts.map +1 -0
  435. package/dist/esm/utils/formatUnits.js +17 -0
  436. package/dist/esm/utils/formatUnits.js.map +1 -0
  437. package/dist/esm/utils/getTransactionMessage.d.ts +8 -0
  438. package/dist/esm/utils/getTransactionMessage.d.ts.map +1 -0
  439. package/dist/esm/utils/getTransactionMessage.js +11 -0
  440. package/dist/esm/utils/getTransactionMessage.js.map +1 -0
  441. package/dist/esm/utils/isHex.d.ts +10 -0
  442. package/dist/esm/utils/isHex.d.ts.map +1 -0
  443. package/dist/esm/utils/isHex.js +10 -0
  444. package/dist/esm/utils/isHex.js.map +1 -0
  445. package/dist/esm/utils/isRoutesRequest.d.ts +7 -0
  446. package/dist/esm/utils/isRoutesRequest.d.ts.map +1 -0
  447. package/dist/esm/utils/isRoutesRequest.js +10 -0
  448. package/dist/esm/utils/isRoutesRequest.js.map +1 -0
  449. package/dist/esm/utils/isStep.d.ts +7 -0
  450. package/dist/esm/utils/isStep.d.ts.map +1 -0
  451. package/dist/esm/utils/isStep.js +22 -0
  452. package/dist/esm/utils/isStep.js.map +1 -0
  453. package/dist/esm/utils/isToken.d.ts +7 -0
  454. package/dist/esm/utils/isToken.d.ts.map +1 -0
  455. package/dist/esm/utils/isToken.js +9 -0
  456. package/dist/esm/utils/isToken.js.map +1 -0
  457. package/dist/esm/utils/parseUnits.d.ts +8 -0
  458. package/dist/esm/utils/parseUnits.d.ts.map +1 -0
  459. package/dist/esm/utils/parseUnits.js +34 -0
  460. package/dist/esm/utils/parseUnits.js.map +1 -0
  461. package/dist/esm/utils/request.d.ts +11 -0
  462. package/dist/esm/utils/request.d.ts.map +1 -0
  463. package/dist/esm/utils/request.js +54 -0
  464. package/dist/esm/utils/request.js.map +1 -0
  465. package/dist/esm/utils/sleep.d.ts +5 -0
  466. package/dist/esm/utils/sleep.d.ts.map +1 -0
  467. package/dist/esm/utils/sleep.js +10 -0
  468. package/dist/esm/utils/sleep.js.map +1 -0
  469. package/dist/esm/utils/waitForResult.d.ts +14 -0
  470. package/dist/esm/utils/waitForResult.d.ts.map +1 -0
  471. package/dist/esm/utils/waitForResult.js +35 -0
  472. package/dist/esm/utils/waitForResult.js.map +1 -0
  473. package/dist/esm/utils/withDedupe.d.ts +23 -0
  474. package/dist/esm/utils/withDedupe.d.ts.map +1 -0
  475. package/dist/esm/utils/withDedupe.js +32 -0
  476. package/dist/esm/utils/withDedupe.js.map +1 -0
  477. package/dist/esm/utils/withTimeout.d.ts +26 -0
  478. package/dist/esm/utils/withTimeout.d.ts.map +1 -0
  479. package/dist/esm/utils/withTimeout.js +34 -0
  480. package/dist/esm/utils/withTimeout.js.map +1 -0
  481. package/dist/esm/version.d.ts +6 -0
  482. package/dist/esm/version.d.ts.map +1 -0
  483. package/dist/esm/version.js +7 -0
  484. package/dist/esm/version.js.map +1 -0
  485. package/package.json +75 -0
  486. package/src/actions/getChains.ts +55 -0
  487. package/src/actions/getConnections.ts +55 -0
  488. package/src/actions/getContractCallsQuote.ts +81 -0
  489. package/src/actions/getGasRecommendation.ts +47 -0
  490. package/src/actions/getNameServiceAddress.ts +42 -0
  491. package/src/actions/getQuote.ts +105 -0
  492. package/src/actions/getRelayedTransactionStatus.ts +67 -0
  493. package/src/actions/getRelayerQuote.ts +86 -0
  494. package/src/actions/getRoutes.ts +43 -0
  495. package/src/actions/getStatus.ts +41 -0
  496. package/src/actions/getStepTransaction.ts +52 -0
  497. package/src/actions/getToken.ts +47 -0
  498. package/src/actions/getTokenBalance.ts +21 -0
  499. package/src/actions/getTokenBalances.ts +47 -0
  500. package/src/actions/getTokenBalancesByChain.ts +76 -0
  501. package/src/actions/getTokens.ts +57 -0
  502. package/src/actions/getTools.ts +34 -0
  503. package/src/actions/getTransactionHistory.ts +54 -0
  504. package/src/actions/getWalletBalances.ts +36 -0
  505. package/src/actions/index.ts +347 -0
  506. package/src/actions/patchContractCalls.ts +30 -0
  507. package/src/actions/relayTransaction.ts +74 -0
  508. package/src/client/createClient.ts +100 -0
  509. package/src/client/getClientStorage.ts +65 -0
  510. package/src/core/BaseStepExecutionTask.ts +9 -0
  511. package/src/core/BaseStepExecutor.ts +129 -0
  512. package/src/core/StatusManager.ts +245 -0
  513. package/src/core/TaskPipeline.ts +28 -0
  514. package/src/core/actionMessages.ts +103 -0
  515. package/src/core/execution.ts +243 -0
  516. package/src/core/executionState.ts +48 -0
  517. package/src/core/prepareRestart.ts +28 -0
  518. package/src/core/storage.ts +42 -0
  519. package/src/core/tasks/CheckBalanceTask.ts +46 -0
  520. package/src/core/tasks/PrepareTransactionTask.ts +62 -0
  521. package/src/core/tasks/WaitForTransactionStatusTask.ts +114 -0
  522. package/src/core/tasks/helpers/checkBalance.ts +218 -0
  523. package/src/core/tasks/helpers/getTransactionRequestData.ts +47 -0
  524. package/src/core/tasks/helpers/stepComparison.ts +50 -0
  525. package/src/core/tasks/helpers/waitForTransactionStatus.ts +76 -0
  526. package/src/core/utils.ts +59 -0
  527. package/src/errors/SDKError.ts +26 -0
  528. package/src/errors/baseError.ts +22 -0
  529. package/src/errors/constants.ts +54 -0
  530. package/src/errors/errors.ts +68 -0
  531. package/src/errors/httpError.ts +92 -0
  532. package/src/errors/utils/baseErrorRootCause.ts +18 -0
  533. package/src/errors/utils/rootCause.ts +7 -0
  534. package/src/index.ts +122 -0
  535. package/src/types/actions.ts +16 -0
  536. package/src/types/core.ts +264 -0
  537. package/src/types/execution.ts +32 -0
  538. package/src/types/request.ts +3 -0
  539. package/src/utils/checkPackageUpdates.ts +22 -0
  540. package/src/utils/convertQuoteToRoute.ts +154 -0
  541. package/src/utils/decode.ts +13 -0
  542. package/src/utils/fetchTxErrorDetails.ts +15 -0
  543. package/src/utils/formatUnits.ts +22 -0
  544. package/src/utils/getTransactionMessage.ts +17 -0
  545. package/src/utils/isHex.ts +14 -0
  546. package/src/utils/isRoutesRequest.ts +31 -0
  547. package/src/utils/isStep.ts +41 -0
  548. package/src/utils/isToken.ts +11 -0
  549. package/src/utils/parseUnits.ts +50 -0
  550. package/src/utils/request.ts +100 -0
  551. package/src/utils/sleep.ts +5 -0
  552. package/src/utils/waitForResult.ts +45 -0
  553. package/src/utils/withDedupe.ts +45 -0
  554. package/src/utils/withTimeout.ts +50 -0
  555. package/src/version.ts +2 -0
@@ -0,0 +1,76 @@
1
+ import type {
2
+ Token,
3
+ TokenAmount,
4
+ TokenAmountExtended,
5
+ TokenExtended,
6
+ } from '@lifi/types'
7
+ import { ValidationError } from '../errors/errors.js'
8
+ import type { SDKClient } from '../types/core.js'
9
+ import { isToken } from '../utils/isToken.js'
10
+
11
+ /**
12
+ * This method queries the balances of tokens for a specific list of chains for a given wallet.
13
+ * @param client - The SDK client.
14
+ * @param walletAddress - A wallet address.
15
+ * @param tokensByChain - A list of token objects organized by chain ids.
16
+ * @returns A list of objects containing the tokens and the amounts on different chains organized by the chosen chains.
17
+ * @throws {ValidationError} Throws a ValidationError if validation fails.
18
+ * @throws {Error} Throws an Error if the SDK Provider for the wallet address is not found.
19
+ */
20
+ export async function getTokenBalancesByChain(
21
+ client: SDKClient,
22
+ walletAddress: string,
23
+ tokensByChain: { [chainId: number]: Token[] }
24
+ ): Promise<{ [chainId: number]: TokenAmount[] }>
25
+ export async function getTokenBalancesByChain(
26
+ client: SDKClient,
27
+ walletAddress: string,
28
+ tokensByChain: { [chainId: number]: TokenExtended[] }
29
+ ): Promise<{ [chainId: number]: TokenAmountExtended[] }> {
30
+ if (!walletAddress) {
31
+ throw new ValidationError('Missing walletAddress.')
32
+ }
33
+
34
+ const tokenList = Object.values(tokensByChain).flat()
35
+ const invalidTokens = tokenList.filter((token) => !isToken(token))
36
+ if (invalidTokens.length) {
37
+ throw new ValidationError('Invalid tokens passed.')
38
+ }
39
+
40
+ const provider = client.providers.find((provider) =>
41
+ provider.isAddress(walletAddress)
42
+ )
43
+ if (!provider) {
44
+ throw new Error(`SDK Token Provider for ${walletAddress} is not found.`)
45
+ }
46
+
47
+ const tokenAmountsByChain: {
48
+ [chainId: number]: TokenAmount[] | TokenAmountExtended[]
49
+ } = {}
50
+ const tokenAmountsSettled = await Promise.allSettled(
51
+ Object.keys(tokensByChain).map(async (chainIdStr) => {
52
+ const chainId = Number.parseInt(chainIdStr, 10)
53
+ const chain = await client.getChainById(chainId)
54
+ if (provider.type === chain.chainType) {
55
+ const tokenAmounts = await provider.getBalance(
56
+ client,
57
+ walletAddress,
58
+ tokensByChain[chainId]
59
+ )
60
+ tokenAmountsByChain[chainId] = tokenAmounts
61
+ } else {
62
+ // if the provider is not the same as the chain type,
63
+ // return the tokens as is
64
+ tokenAmountsByChain[chainId] = tokensByChain[chainId]
65
+ }
66
+ })
67
+ )
68
+ if (client.config.debug) {
69
+ for (const result of tokenAmountsSettled) {
70
+ if (result.status === 'rejected') {
71
+ console.warn("Couldn't fetch token balance.", result.reason)
72
+ }
73
+ }
74
+ }
75
+ return tokenAmountsByChain
76
+ }
@@ -0,0 +1,57 @@
1
+ import type {
2
+ RequestOptions,
3
+ TokensExtendedResponse,
4
+ TokensRequest,
5
+ TokensResponse,
6
+ } from '@lifi/types'
7
+ import type { SDKClient } from '../types/core.js'
8
+ import { request } from '../utils/request.js'
9
+ import { withDedupe } from '../utils/withDedupe.js'
10
+
11
+ /**
12
+ * Get all known tokens.
13
+ * @param client - The SDK client
14
+ * @param params - The configuration of the requested tokens
15
+ * @param options - Request options
16
+ * @returns The tokens that are available on the requested chains
17
+ */
18
+ export async function getTokens(
19
+ client: SDKClient,
20
+ params?: TokensRequest & { extended?: false | undefined },
21
+ options?: RequestOptions
22
+ ): Promise<TokensResponse>
23
+ export async function getTokens(
24
+ client: SDKClient,
25
+ params: TokensRequest & { extended: true },
26
+ options?: RequestOptions
27
+ ): Promise<TokensExtendedResponse>
28
+ export async function getTokens(
29
+ client: SDKClient,
30
+ params?: TokensRequest,
31
+ options?: RequestOptions
32
+ ): Promise<TokensResponse> {
33
+ if (params) {
34
+ for (const key of Object.keys(params)) {
35
+ const value = params[key as keyof TokensRequest]
36
+ if (value === undefined || value === null) {
37
+ delete params[key as keyof TokensRequest]
38
+ }
39
+ }
40
+ }
41
+ const urlSearchParams = new URLSearchParams(
42
+ params as Record<string, string>
43
+ ).toString()
44
+ const _isExtended = params?.extended === true
45
+ const response = await withDedupe(
46
+ () =>
47
+ request<
48
+ typeof _isExtended extends true
49
+ ? TokensExtendedResponse
50
+ : TokensResponse
51
+ >(client.config, `${client.config.apiUrl}/tokens?${urlSearchParams}`, {
52
+ signal: options?.signal,
53
+ }),
54
+ { id: `${getTokens.name}.${urlSearchParams}` }
55
+ )
56
+ return response
57
+ }
@@ -0,0 +1,34 @@
1
+ import type { RequestOptions, ToolsRequest, ToolsResponse } from '@lifi/types'
2
+ import type { SDKClient } from '../types/core.js'
3
+ import { request } from '../utils/request.js'
4
+
5
+ /**
6
+ * Get the available tools to bridge and swap tokens.
7
+ * @param client - The SDK client
8
+ * @param params - The configuration of the requested tools
9
+ * @param options - Request options
10
+ * @returns The tools that are available on the requested chains
11
+ */
12
+ export const getTools = async (
13
+ client: SDKClient,
14
+ params?: ToolsRequest,
15
+ options?: RequestOptions
16
+ ): Promise<ToolsResponse> => {
17
+ if (params) {
18
+ for (const key of Object.keys(params)) {
19
+ const value = params[key as keyof ToolsRequest]
20
+ if (value === undefined || value === null) {
21
+ delete params[key as keyof ToolsRequest]
22
+ }
23
+ }
24
+ }
25
+ return await request<ToolsResponse>(
26
+ client.config,
27
+ `${client.config.apiUrl}/tools?${new URLSearchParams(
28
+ params as Record<string, string>
29
+ )}`,
30
+ {
31
+ signal: options?.signal,
32
+ }
33
+ )
34
+ }
@@ -0,0 +1,54 @@
1
+ import type {
2
+ RequestOptions,
3
+ TransactionAnalyticsRequest,
4
+ TransactionAnalyticsResponse,
5
+ } from '@lifi/types'
6
+ import { ValidationError } from '../errors/errors.js'
7
+ import type { SDKClient } from '../types/core.js'
8
+ import { request } from '../utils/request.js'
9
+
10
+ /**
11
+ * Get the transaction history for a wallet
12
+ * @param client - The SDK client
13
+ * @param params - The parameters for the transaction history request
14
+ * @param params.wallet - The wallet address
15
+ * @param params.status - The status of the transactions
16
+ * @param params.fromTimestamp - The start timestamp for the transactions
17
+ * @param params.toTimestamp - The end timestamp for the transactions
18
+ * @param options - Request options
19
+ * @throws {ValidationError} - Throws a ValidationError if parameters are invalid
20
+ * @throws {LiFiError} - Throws a LiFiError if request fails.
21
+ * @returns The transaction history response
22
+ */
23
+ export const getTransactionHistory = async (
24
+ client: SDKClient,
25
+ { wallet, status, fromTimestamp, toTimestamp }: TransactionAnalyticsRequest,
26
+ options?: RequestOptions
27
+ ): Promise<TransactionAnalyticsResponse> => {
28
+ if (!wallet) {
29
+ throw new ValidationError('Required parameter "wallet" is missing.')
30
+ }
31
+
32
+ const url = new URL(`${client.config.apiUrl}/analytics/transfers`)
33
+
34
+ url.searchParams.append('integrator', client.config.integrator)
35
+ url.searchParams.append('wallet', wallet)
36
+
37
+ if (status) {
38
+ url.searchParams.append('status', status)
39
+ }
40
+
41
+ if (fromTimestamp) {
42
+ url.searchParams.append('fromTimestamp', fromTimestamp.toString())
43
+ }
44
+
45
+ if (toTimestamp) {
46
+ url.searchParams.append('toTimestamp', toTimestamp.toString())
47
+ }
48
+
49
+ return await request<TransactionAnalyticsResponse>(
50
+ client.config,
51
+ url,
52
+ options
53
+ )
54
+ }
@@ -0,0 +1,36 @@
1
+ import type {
2
+ GetWalletBalanceExtendedResponse,
3
+ RequestOptions,
4
+ WalletTokenExtended,
5
+ } from '@lifi/types'
6
+ import { ValidationError } from '../errors/errors.js'
7
+ import type { SDKClient } from '../types/core.js'
8
+ import { request } from '../utils/request.js'
9
+
10
+ /**
11
+ * Returns the balances of tokens a wallet holds across EVM chains.
12
+ * @param client - The SDK client.
13
+ * @param walletAddress - A wallet address.
14
+ * @param options - Optional request options.
15
+ * @returns An object containing the tokens and the amounts organized by chain ids.
16
+ * @throws {ValidationError} Throws a ValidationError if parameters are invalid.
17
+ */
18
+ export const getWalletBalances = async (
19
+ client: SDKClient,
20
+ walletAddress: string,
21
+ options?: RequestOptions
22
+ ): Promise<Record<number, WalletTokenExtended[]>> => {
23
+ if (!walletAddress) {
24
+ throw new ValidationError('Missing walletAddress.')
25
+ }
26
+
27
+ const response = await request<GetWalletBalanceExtendedResponse>(
28
+ client.config,
29
+ `${client.config.apiUrl}/wallets/${walletAddress}/balances?extended=true`,
30
+ {
31
+ signal: options?.signal,
32
+ }
33
+ )
34
+
35
+ return (response?.balances || {}) as Record<number, WalletTokenExtended[]>
36
+ }
@@ -0,0 +1,347 @@
1
+ import type {
2
+ ChainId,
3
+ ChainKey,
4
+ ChainsRequest,
5
+ ChainType,
6
+ ConnectionsRequest,
7
+ ConnectionsResponse,
8
+ ContractCallsQuoteRequest,
9
+ ExtendedChain,
10
+ GasRecommendationRequest,
11
+ GasRecommendationResponse,
12
+ LiFiStep,
13
+ PatchCallDataRequest,
14
+ RelayRequest,
15
+ RelayResponseData,
16
+ RelayStatusRequest,
17
+ RelayStatusResponseData,
18
+ RequestOptions,
19
+ RoutesRequest,
20
+ RoutesResponse,
21
+ SignedLiFiStep,
22
+ StatusResponse,
23
+ Token,
24
+ TokenAmount,
25
+ TokenExtended,
26
+ TokensExtendedResponse,
27
+ TokensRequest,
28
+ TokensResponse,
29
+ ToolsRequest,
30
+ ToolsResponse,
31
+ TransactionAnalyticsRequest,
32
+ TransactionAnalyticsResponse,
33
+ WalletTokenExtended,
34
+ } from '@lifi/types'
35
+ import type {
36
+ GetStatusRequestExtended,
37
+ QuoteRequestFromAmount,
38
+ } from '../types/actions.js'
39
+ import type { SDKClient } from '../types/core.js'
40
+ import { getChains } from './getChains.js'
41
+ import { getConnections } from './getConnections.js'
42
+ import { getContractCallsQuote } from './getContractCallsQuote.js'
43
+ import { getGasRecommendation } from './getGasRecommendation.js'
44
+ import { getNameServiceAddress } from './getNameServiceAddress.js'
45
+ import { getQuote } from './getQuote.js'
46
+ import { getRelayedTransactionStatus } from './getRelayedTransactionStatus.js'
47
+ import { getRelayerQuote } from './getRelayerQuote.js'
48
+ import { getRoutes } from './getRoutes.js'
49
+ import { getStatus } from './getStatus.js'
50
+ import { getStepTransaction } from './getStepTransaction.js'
51
+ import { getToken } from './getToken.js'
52
+ import { getTokenBalance } from './getTokenBalance.js'
53
+ import { getTokenBalances } from './getTokenBalances.js'
54
+ import { getTokenBalancesByChain } from './getTokenBalancesByChain.js'
55
+ import { getTokens } from './getTokens.js'
56
+ import { getTools } from './getTools.js'
57
+ import { getTransactionHistory } from './getTransactionHistory.js'
58
+ import { getWalletBalances } from './getWalletBalances.js'
59
+ import {
60
+ type PatchContractCallsResponse,
61
+ patchContractCalls,
62
+ } from './patchContractCalls.js'
63
+ import { relayTransaction } from './relayTransaction.js'
64
+
65
+ export type Actions = {
66
+ /**
67
+ * Get all available chains
68
+ * @param params - The configuration of the requested chains
69
+ * @param options - Request options
70
+ * @returns A list of all available chains
71
+ */
72
+ getChains: (
73
+ params?: ChainsRequest,
74
+ options?: RequestOptions
75
+ ) => Promise<ExtendedChain[]>
76
+
77
+ /**
78
+ * Get connections between chains
79
+ * @param params - The configuration of the requested connections
80
+ * @param options - Request options
81
+ * @returns A list of connections
82
+ */
83
+ getConnections: (
84
+ params: ConnectionsRequest,
85
+ options?: RequestOptions
86
+ ) => Promise<ConnectionsResponse>
87
+
88
+ /**
89
+ * Get a quote for contract calls
90
+ * @param params - The configuration of the requested contract calls quote
91
+ * @param options - Request options
92
+ * @returns Quote for contract calls
93
+ */
94
+ getContractCallsQuote: (
95
+ params: ContractCallsQuoteRequest,
96
+ options?: RequestOptions
97
+ ) => Promise<LiFiStep>
98
+
99
+ /**
100
+ * Get gas recommendation for a chain
101
+ * @param params - The configuration of the requested gas recommendation
102
+ * @param options - Request options
103
+ * @returns Gas recommendation
104
+ */
105
+ getGasRecommendation: (
106
+ params: GasRecommendationRequest,
107
+ options?: RequestOptions
108
+ ) => Promise<GasRecommendationResponse>
109
+
110
+ /**
111
+ * Get the address of a name service
112
+ * @param name - The name to resolve
113
+ * @param chainType - The chain type to resolve the name on
114
+ * @returns The address of the name service
115
+ */
116
+ getNameServiceAddress: (
117
+ name: string,
118
+ chainType?: ChainType
119
+ ) => Promise<string | undefined>
120
+
121
+ /**
122
+ * Get a quote for a token transfer
123
+ * @param params - The configuration of the requested quote
124
+ * @param options - Request options
125
+ * @returns Quote for a token transfer
126
+ */
127
+ getQuote: (
128
+ params: Parameters<typeof getQuote>[1],
129
+ options?: RequestOptions
130
+ ) => Promise<LiFiStep>
131
+
132
+ /**
133
+ * Get the status of a relayed transaction
134
+ * @param params - The configuration of the requested relay status
135
+ * @param options - Request options
136
+ * @returns Status of the relayed transaction
137
+ */
138
+ getRelayedTransactionStatus: (
139
+ params: RelayStatusRequest,
140
+ options?: RequestOptions
141
+ ) => Promise<RelayStatusResponseData>
142
+
143
+ /**
144
+ * Get a quote from a relayer
145
+ * @param params - The configuration of the requested relayer quote
146
+ * @param options - Request options
147
+ * @returns Quote from a relayer
148
+ */
149
+ getRelayerQuote: (
150
+ params: QuoteRequestFromAmount,
151
+ options?: RequestOptions
152
+ ) => Promise<LiFiStep>
153
+
154
+ /**
155
+ * Get a set of routes for a request that describes a transfer of tokens
156
+ * @param params - A description of the transfer
157
+ * @param options - Request options
158
+ * @returns The resulting routes that can be used to realize the described transfer
159
+ */
160
+ getRoutes: (
161
+ params: RoutesRequest,
162
+ options?: RequestOptions
163
+ ) => Promise<RoutesResponse>
164
+
165
+ /**
166
+ * Get the status of a transaction
167
+ * @param params - The configuration of the requested status
168
+ * @param options - Request options
169
+ * @returns Status of the transaction
170
+ */
171
+ getStatus: (
172
+ params: GetStatusRequestExtended,
173
+ options?: RequestOptions
174
+ ) => Promise<StatusResponse>
175
+
176
+ /**
177
+ * Get a step transaction
178
+ * @param params - The configuration of the requested step transaction
179
+ * @param options - Request options
180
+ * @returns Step transaction
181
+ */
182
+ getStepTransaction: (
183
+ params: LiFiStep | SignedLiFiStep,
184
+ options?: RequestOptions
185
+ ) => Promise<LiFiStep>
186
+
187
+ /**
188
+ * Get a specific token
189
+ * @param chain - Id or key of the chain that contains the token
190
+ * @param token - Address or symbol of the token on the requested chain
191
+ * @param options - Request options
192
+ * @returns Token information
193
+ */
194
+ getToken: (
195
+ chain: ChainKey | ChainId,
196
+ token: string,
197
+ options?: RequestOptions
198
+ ) => Promise<TokenExtended>
199
+
200
+ /**
201
+ * Get token balance for a specific token
202
+ * @param walletAddress - A wallet address
203
+ * @param token - A Token object
204
+ * @returns Token balance
205
+ */
206
+ getTokenBalance: (
207
+ walletAddress: string,
208
+ token: Token
209
+ ) => Promise<TokenAmount | null>
210
+
211
+ /**
212
+ * Get token balances for multiple tokens
213
+ * @param walletAddress - A wallet address
214
+ * @param tokens - A list of Token objects
215
+ * @returns Token balances
216
+ */
217
+ getTokenBalances: (
218
+ walletAddress: string,
219
+ tokens: Token[]
220
+ ) => Promise<TokenAmount[]>
221
+
222
+ /**
223
+ * Get token balances by chain
224
+ * @param walletAddress - A wallet address
225
+ * @param tokensByChain - A list of token objects organized by chain ids
226
+ * @returns Token balances by chain
227
+ */
228
+ getTokenBalancesByChain: (
229
+ walletAddress: string,
230
+ tokensByChain: { [chainId: number]: Token[] }
231
+ ) => Promise<{
232
+ [chainId: number]: TokenAmount[]
233
+ }>
234
+
235
+ /**
236
+ * Get all available tokens
237
+ * @param params - The configuration of the requested tokens
238
+ * @param options - Request options
239
+ * @returns A list of all available tokens
240
+ */
241
+ getTokens: {
242
+ (
243
+ params?: TokensRequest & { extended?: false | undefined },
244
+ options?: RequestOptions
245
+ ): Promise<TokensResponse>
246
+ (
247
+ params: TokensRequest & { extended: true },
248
+ options?: RequestOptions
249
+ ): Promise<TokensExtendedResponse>
250
+ }
251
+
252
+ /**
253
+ * Get all available tools (bridges and exchanges)
254
+ * @param params - The configuration of the requested tools
255
+ * @param options - Request options
256
+ * @returns A list of all available tools
257
+ */
258
+ getTools: (
259
+ params?: ToolsRequest,
260
+ options?: RequestOptions
261
+ ) => Promise<ToolsResponse>
262
+
263
+ /**
264
+ * Get transaction history
265
+ * @param params - The configuration of the requested transaction history
266
+ * @param options - Request options
267
+ * @returns Transaction history
268
+ */
269
+ getTransactionHistory: (
270
+ params: TransactionAnalyticsRequest,
271
+ options?: RequestOptions
272
+ ) => Promise<TransactionAnalyticsResponse>
273
+
274
+ /**
275
+ * Get wallet balances
276
+ * @param params - The configuration of the requested wallet balances
277
+ * @param options - Request options
278
+ * @returns Wallet balances
279
+ */
280
+ getWalletBalances: (
281
+ walletAddress: string,
282
+ options?: RequestOptions
283
+ ) => Promise<Record<number, WalletTokenExtended[]>>
284
+
285
+ /**
286
+ * Relay a transaction through the relayer service
287
+ * @param params - The configuration for the relay request
288
+ * @param options - Request options
289
+ * @returns Task ID and transaction link for the relayed transaction
290
+ */
291
+ relayTransaction: (
292
+ params: RelayRequest,
293
+ options?: RequestOptions
294
+ ) => Promise<RelayResponseData>
295
+
296
+ /**
297
+ * Patch contract calls
298
+ * @param params - The configuration for the patch contract calls request
299
+ * @param options - Request options
300
+ * @returns Patched contract calls
301
+ */
302
+ patchContractCalls: (
303
+ params: PatchCallDataRequest,
304
+ options?: RequestOptions
305
+ ) => Promise<PatchContractCallsResponse[]>
306
+ }
307
+
308
+ export function actions(client: SDKClient): Actions {
309
+ return {
310
+ getChains: (params, options) => getChains(client, params, options),
311
+ getConnections: (params, options) =>
312
+ getConnections(client, params, options),
313
+ getContractCallsQuote: (params, options) =>
314
+ getContractCallsQuote(client, params, options),
315
+ getGasRecommendation: (params, options) =>
316
+ getGasRecommendation(client, params, options),
317
+ getNameServiceAddress: (name, chainType) =>
318
+ getNameServiceAddress(client, name, chainType),
319
+ getTokens: (params, options) => getTokens(client, params as any, options),
320
+ getTools: (params, options) => getTools(client, params, options),
321
+ getQuote: (params, options) => getQuote(client, params, options),
322
+ getRelayedTransactionStatus: (params, options) =>
323
+ getRelayedTransactionStatus(client, params, options),
324
+ getRelayerQuote: (params, options) =>
325
+ getRelayerQuote(client, params, options),
326
+ getRoutes: (params, options) => getRoutes(client, params, options),
327
+ getStatus: (params, options) => getStatus(client, params, options),
328
+ getStepTransaction: (params, options) =>
329
+ getStepTransaction(client, params, options),
330
+ getToken: (chain, token, options) =>
331
+ getToken(client, chain, token, options),
332
+ getTokenBalance: (walletAddress, token) =>
333
+ getTokenBalance(client, walletAddress, token),
334
+ getTokenBalances: (walletAddress, tokens) =>
335
+ getTokenBalances(client, walletAddress, tokens),
336
+ getTokenBalancesByChain: (walletAddress, tokensByChain) =>
337
+ getTokenBalancesByChain(client, walletAddress, tokensByChain),
338
+ getTransactionHistory: (params, options) =>
339
+ getTransactionHistory(client, params, options),
340
+ getWalletBalances: (walletAddress, options) =>
341
+ getWalletBalances(client, walletAddress, options),
342
+ relayTransaction: (params, options) =>
343
+ relayTransaction(client, params, options),
344
+ patchContractCalls: (params, options) =>
345
+ patchContractCalls(client, params, options),
346
+ }
347
+ }
@@ -0,0 +1,30 @@
1
+ import type { PatchCallDataRequest, RequestOptions } from '@lifi/types'
2
+ import type { SDKClient } from '../types/core.js'
3
+ import { request } from '../utils/request.js'
4
+
5
+ export interface PatchContractCallsResponse {
6
+ target: string
7
+ value: bigint
8
+ callData: string
9
+ allowFailure: boolean
10
+ isDelegateCall: boolean
11
+ }
12
+
13
+ export const patchContractCalls = async (
14
+ client: SDKClient,
15
+ params: PatchCallDataRequest,
16
+ options?: RequestOptions
17
+ ): Promise<PatchContractCallsResponse[]> => {
18
+ return await request<PatchContractCallsResponse[]>(
19
+ client.config,
20
+ `${client.config.apiUrl}/patcher`,
21
+ {
22
+ method: 'POST',
23
+ headers: {
24
+ 'Content-Type': 'application/json',
25
+ },
26
+ body: JSON.stringify(params),
27
+ signal: options?.signal,
28
+ }
29
+ )
30
+ }