@lifi/sdk 2.3.1 → 3.0.0-alpha.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 (379) hide show
  1. package/dist/cjs/LiFi.js +222 -250
  2. package/dist/cjs/LiFi.js.map +1 -0
  3. package/dist/cjs/allowance/getAllowance.js +82 -0
  4. package/dist/cjs/allowance/getAllowance.js.map +1 -0
  5. package/dist/cjs/allowance/index.js +5 -16
  6. package/dist/cjs/allowance/index.js.map +1 -0
  7. package/dist/cjs/allowance/setAllowance.js +71 -0
  8. package/dist/cjs/allowance/setAllowance.js.map +1 -0
  9. package/dist/cjs/{types/internal.types.js → allowance/types.js} +1 -0
  10. package/dist/cjs/allowance/types.js.map +1 -0
  11. package/dist/cjs/balance/getBalance.js +97 -0
  12. package/dist/cjs/balance/getBalance.js.map +1 -0
  13. package/dist/cjs/balance/getTokenBalance.js +7 -10
  14. package/dist/cjs/balance/getTokenBalance.js.map +1 -0
  15. package/dist/cjs/balance/index.js +4 -24
  16. package/dist/cjs/balance/index.js.map +1 -0
  17. package/dist/cjs/connectors.js +28 -48
  18. package/dist/cjs/connectors.js.map +1 -0
  19. package/dist/cjs/constants.js +7 -0
  20. package/dist/cjs/constants.js.map +1 -0
  21. package/dist/cjs/execution/BaseStepExecutor.js +54 -0
  22. package/dist/cjs/execution/BaseStepExecutor.js.map +1 -0
  23. package/dist/cjs/execution/EVMStepExecutor.js +271 -0
  24. package/dist/cjs/execution/EVMStepExecutor.js.map +1 -0
  25. package/dist/cjs/execution/RouteExecutionManager.js +196 -197
  26. package/dist/cjs/execution/RouteExecutionManager.js.map +1 -0
  27. package/dist/cjs/execution/StatusManager.js +142 -136
  28. package/dist/cjs/execution/StatusManager.js.map +1 -0
  29. package/dist/cjs/execution/StepExecutionManager.js +220 -233
  30. package/dist/cjs/execution/StepExecutionManager.js.map +1 -0
  31. package/dist/cjs/execution/checkAllowance.js +76 -0
  32. package/dist/cjs/execution/checkAllowance.js.map +1 -0
  33. package/dist/cjs/execution/checkBalance.js +42 -0
  34. package/dist/cjs/execution/checkBalance.js.map +1 -0
  35. package/dist/cjs/execution/index.js +4 -15
  36. package/dist/cjs/execution/index.js.map +1 -0
  37. package/dist/cjs/execution/multisig.js +13 -17
  38. package/dist/cjs/execution/multisig.js.map +1 -0
  39. package/dist/cjs/execution/prepareRestart.js +23 -0
  40. package/dist/cjs/execution/prepareRestart.js.map +1 -0
  41. package/dist/cjs/execution/stepComparison.js +5 -17
  42. package/dist/cjs/execution/stepComparison.js.map +1 -0
  43. package/dist/cjs/execution/switchChain.js +10 -22
  44. package/dist/cjs/execution/switchChain.js.map +1 -0
  45. package/dist/cjs/execution/types.js +3 -0
  46. package/dist/cjs/execution/types.js.map +1 -0
  47. package/dist/cjs/execution/utils.js +12 -67
  48. package/dist/cjs/execution/utils.js.map +1 -0
  49. package/dist/cjs/execution/waitForReceivingTransaction.js +56 -0
  50. package/dist/cjs/execution/waitForReceivingTransaction.js.map +1 -0
  51. package/dist/cjs/helpers.js +12 -58
  52. package/dist/cjs/helpers.js.map +1 -0
  53. package/dist/cjs/index.js +16 -22
  54. package/dist/cjs/index.js.map +1 -0
  55. package/dist/cjs/package.json +1 -0
  56. package/dist/cjs/providers/EVM.js +35 -0
  57. package/dist/cjs/providers/EVM.js.map +1 -0
  58. package/dist/cjs/providers/Solana.js +38 -0
  59. package/dist/cjs/providers/Solana.js.map +1 -0
  60. package/dist/cjs/providers/index.js +5 -0
  61. package/dist/cjs/providers/index.js.map +1 -0
  62. package/dist/cjs/providers/types.js +9 -0
  63. package/dist/cjs/providers/types.js.map +1 -0
  64. package/dist/cjs/request.js +10 -13
  65. package/dist/cjs/request.js.map +1 -0
  66. package/dist/cjs/services/ApiService.js +70 -86
  67. package/dist/cjs/services/ApiService.js.map +1 -0
  68. package/dist/cjs/services/ChainsService.js +19 -9
  69. package/dist/cjs/services/ChainsService.js.map +1 -0
  70. package/dist/cjs/services/ConfigService.js +94 -67
  71. package/dist/cjs/services/ConfigService.js.map +1 -0
  72. package/dist/cjs/typeguards.js +1 -0
  73. package/dist/cjs/typeguards.js.map +1 -0
  74. package/dist/cjs/types/abi.js +46 -0
  75. package/dist/cjs/types/abi.js.map +1 -0
  76. package/dist/cjs/types/index.js +4 -20
  77. package/dist/cjs/types/index.js.map +1 -0
  78. package/dist/cjs/types/internal.js +3 -0
  79. package/dist/cjs/types/internal.js.map +1 -0
  80. package/dist/cjs/utils/errors.js +63 -40
  81. package/dist/cjs/utils/errors.js.map +1 -0
  82. package/dist/cjs/utils/getMaxPriorityFeePerGas.js +23 -0
  83. package/dist/cjs/utils/getMaxPriorityFeePerGas.js.map +1 -0
  84. package/dist/cjs/utils/index.js +9 -0
  85. package/dist/cjs/utils/index.js.map +1 -0
  86. package/dist/cjs/utils/median.js +16 -0
  87. package/dist/cjs/utils/median.js.map +1 -0
  88. package/dist/cjs/utils/parseError.js +55 -92
  89. package/dist/cjs/utils/parseError.js.map +1 -0
  90. package/dist/cjs/utils/utils.js +10 -85
  91. package/dist/cjs/utils/utils.js.map +1 -0
  92. package/dist/cjs/version.js +2 -1
  93. package/dist/cjs/version.js.map +1 -0
  94. package/dist/esm/LiFi.js +375 -0
  95. package/dist/esm/LiFi.js.map +1 -0
  96. package/dist/esm/allowance/getAllowance.js +79 -0
  97. package/dist/esm/allowance/getAllowance.js.map +1 -0
  98. package/dist/esm/allowance/index.js +4 -0
  99. package/dist/esm/allowance/index.js.map +1 -0
  100. package/dist/esm/allowance/setAllowance.js +67 -0
  101. package/dist/esm/allowance/setAllowance.js.map +1 -0
  102. package/dist/esm/allowance/types.js +2 -0
  103. package/dist/esm/allowance/types.js.map +1 -0
  104. package/dist/esm/balance/getBalance.js +93 -0
  105. package/dist/esm/balance/getBalance.js.map +1 -0
  106. package/dist/{balance → esm/balance}/getTokenBalance.js +5 -4
  107. package/dist/esm/balance/getTokenBalance.js.map +1 -0
  108. package/dist/esm/balance/index.js +3 -0
  109. package/dist/esm/balance/index.js.map +1 -0
  110. package/dist/esm/connectors.js +42 -0
  111. package/dist/esm/connectors.js.map +1 -0
  112. package/dist/esm/constants.js +7 -0
  113. package/dist/esm/constants.js.map +1 -0
  114. package/dist/esm/execution/BaseStepExecutor.js +51 -0
  115. package/dist/esm/execution/BaseStepExecutor.js.map +1 -0
  116. package/dist/esm/execution/EVMStepExecutor.js +299 -0
  117. package/dist/esm/execution/EVMStepExecutor.js.map +1 -0
  118. package/dist/esm/execution/RouteExecutionManager.js +268 -0
  119. package/dist/esm/execution/RouteExecutionManager.js.map +1 -0
  120. package/dist/esm/execution/StatusManager.js +216 -0
  121. package/dist/esm/execution/StatusManager.js.map +1 -0
  122. package/dist/esm/execution/StepExecutionManager.js +280 -0
  123. package/dist/esm/execution/StepExecutionManager.js.map +1 -0
  124. package/dist/esm/execution/checkAllowance.js +74 -0
  125. package/dist/esm/execution/checkAllowance.js.map +1 -0
  126. package/dist/esm/execution/checkBalance.js +39 -0
  127. package/dist/esm/execution/checkBalance.js.map +1 -0
  128. package/dist/esm/execution/index.js +3 -0
  129. package/dist/esm/execution/index.js.map +1 -0
  130. package/dist/esm/execution/multisig.js +26 -0
  131. package/dist/esm/execution/multisig.js.map +1 -0
  132. package/dist/esm/execution/prepareRestart.js +64 -0
  133. package/dist/esm/execution/prepareRestart.js.map +1 -0
  134. package/dist/{execution → esm/execution}/stepComparison.js +5 -4
  135. package/dist/esm/execution/stepComparison.js.map +1 -0
  136. package/dist/{execution → esm/execution}/switchChain.js +19 -12
  137. package/dist/esm/execution/switchChain.js.map +1 -0
  138. package/dist/esm/execution/types.js +2 -0
  139. package/dist/esm/execution/types.js.map +1 -0
  140. package/dist/esm/execution/utils.js +80 -0
  141. package/dist/esm/execution/utils.js.map +1 -0
  142. package/dist/esm/execution/waitForReceivingTransaction.js +52 -0
  143. package/dist/esm/execution/waitForReceivingTransaction.js.map +1 -0
  144. package/dist/{helpers.js → esm/helpers.js} +9 -37
  145. package/dist/esm/helpers.js.map +1 -0
  146. package/dist/esm/index.js +10 -0
  147. package/dist/esm/index.js.map +1 -0
  148. package/dist/esm/package.json +1 -0
  149. package/dist/esm/providers/EVM.js +30 -0
  150. package/dist/esm/providers/EVM.js.map +1 -0
  151. package/dist/esm/providers/Solana.js +34 -0
  152. package/dist/esm/providers/Solana.js.map +1 -0
  153. package/dist/esm/providers/index.js +2 -0
  154. package/dist/esm/providers/index.js.map +1 -0
  155. package/dist/esm/providers/types.js +6 -0
  156. package/dist/esm/providers/types.js.map +1 -0
  157. package/dist/{request.js → esm/request.js} +6 -5
  158. package/dist/esm/request.js.map +1 -0
  159. package/dist/{services → esm/services}/ApiService.js +29 -26
  160. package/dist/esm/services/ApiService.js.map +1 -0
  161. package/dist/{services → esm/services}/ChainsService.js +16 -4
  162. package/dist/esm/services/ChainsService.js.map +1 -0
  163. package/dist/esm/services/ConfigService.js +143 -0
  164. package/dist/esm/services/ConfigService.js.map +1 -0
  165. package/dist/{typeguards.js → esm/typeguards.js} +1 -0
  166. package/dist/esm/typeguards.js.map +1 -0
  167. package/dist/esm/types/abi.js +43 -0
  168. package/dist/esm/types/abi.js.map +1 -0
  169. package/dist/esm/types/index.js +3 -0
  170. package/dist/esm/types/index.js.map +1 -0
  171. package/dist/esm/types/internal.js +2 -0
  172. package/dist/esm/types/internal.js.map +1 -0
  173. package/dist/{utils → esm/utils}/errors.js +61 -35
  174. package/dist/esm/utils/errors.js.map +1 -0
  175. package/dist/esm/utils/getMaxPriorityFeePerGas.js +19 -0
  176. package/dist/esm/utils/getMaxPriorityFeePerGas.js.map +1 -0
  177. package/dist/esm/utils/index.js +6 -0
  178. package/dist/esm/utils/index.js.map +1 -0
  179. package/dist/esm/utils/median.js +12 -0
  180. package/dist/esm/utils/median.js.map +1 -0
  181. package/dist/{utils → esm/utils}/parseError.js +45 -41
  182. package/dist/esm/utils/parseError.js.map +1 -0
  183. package/dist/esm/utils/utils.js +38 -0
  184. package/dist/esm/utils/utils.js.map +1 -0
  185. package/dist/esm/version.js +3 -0
  186. package/dist/esm/version.js.map +1 -0
  187. package/dist/types/LiFi.d.ts +179 -0
  188. package/dist/types/LiFi.d.ts.map +1 -0
  189. package/dist/types/allowance/getAllowance.d.ts +7 -0
  190. package/dist/types/allowance/getAllowance.d.ts.map +1 -0
  191. package/dist/types/allowance/index.d.ts +4 -0
  192. package/dist/types/allowance/index.d.ts.map +1 -0
  193. package/dist/types/allowance/setAllowance.d.ts +7 -0
  194. package/dist/types/allowance/setAllowance.d.ts.map +1 -0
  195. package/dist/types/allowance/types.d.ts +28 -0
  196. package/dist/types/allowance/types.d.ts.map +1 -0
  197. package/dist/types/balance/getBalance.d.ts +3 -0
  198. package/dist/types/balance/getBalance.d.ts.map +1 -0
  199. package/dist/{balance → types/balance}/getTokenBalance.d.ts +3 -2
  200. package/dist/types/balance/getTokenBalance.d.ts.map +1 -0
  201. package/dist/types/balance/index.d.ts +3 -0
  202. package/dist/types/balance/index.d.ts.map +1 -0
  203. package/dist/types/connectors.d.ts +9 -0
  204. package/dist/types/connectors.d.ts.map +1 -0
  205. package/dist/types/constants.d.ts +7 -0
  206. package/dist/types/constants.d.ts.map +1 -0
  207. package/dist/types/execution/BaseStepExecutor.d.ts +13 -0
  208. package/dist/types/execution/BaseStepExecutor.d.ts.map +1 -0
  209. package/dist/types/execution/EVMStepExecutor.d.ts +14 -0
  210. package/dist/types/execution/EVMStepExecutor.d.ts.map +1 -0
  211. package/dist/types/execution/RouteExecutionManager.d.ts +61 -0
  212. package/dist/types/execution/RouteExecutionManager.d.ts.map +1 -0
  213. package/dist/types/execution/StatusManager.d.ts +69 -0
  214. package/dist/types/execution/StatusManager.d.ts.map +1 -0
  215. package/dist/types/execution/StepExecutionManager.d.ts +8 -0
  216. package/dist/types/execution/StepExecutionManager.d.ts.map +1 -0
  217. package/dist/types/execution/checkAllowance.d.ts +6 -0
  218. package/dist/types/execution/checkAllowance.d.ts.map +1 -0
  219. package/dist/types/execution/checkBalance.d.ts +3 -0
  220. package/dist/types/execution/checkBalance.d.ts.map +1 -0
  221. package/dist/types/execution/index.d.ts +3 -0
  222. package/dist/types/execution/index.d.ts.map +1 -0
  223. package/dist/types/execution/multisig.d.ts +5 -0
  224. package/dist/types/execution/multisig.d.ts.map +1 -0
  225. package/dist/types/execution/prepareRestart.d.ts +3 -0
  226. package/dist/types/execution/prepareRestart.d.ts.map +1 -0
  227. package/dist/{execution → types/execution}/stepComparison.d.ts +6 -4
  228. package/dist/types/execution/stepComparison.d.ts.map +1 -0
  229. package/dist/types/execution/switchChain.d.ts +23 -0
  230. package/dist/types/execution/switchChain.d.ts.map +1 -0
  231. package/dist/types/execution/types.d.ts +83 -0
  232. package/dist/types/execution/types.d.ts.map +1 -0
  233. package/dist/types/execution/utils.d.ts +13 -0
  234. package/dist/types/execution/utils.d.ts.map +1 -0
  235. package/dist/types/execution/waitForReceivingTransaction.d.ts +4 -0
  236. package/dist/types/execution/waitForReceivingTransaction.d.ts.map +1 -0
  237. package/dist/types/helpers.d.ts +19 -0
  238. package/dist/types/helpers.d.ts.map +1 -0
  239. package/dist/types/index.d.ts +9 -3
  240. package/dist/types/index.d.ts.map +1 -0
  241. package/dist/types/providers/EVM.d.ts +11 -0
  242. package/dist/types/providers/EVM.d.ts.map +1 -0
  243. package/dist/types/providers/Solana.d.ts +10 -0
  244. package/dist/types/providers/Solana.d.ts.map +1 -0
  245. package/dist/types/providers/index.d.ts +2 -0
  246. package/dist/types/providers/index.d.ts.map +1 -0
  247. package/dist/types/providers/types.d.ts +13 -0
  248. package/dist/types/providers/types.d.ts.map +1 -0
  249. package/dist/{request.d.ts → types/request.d.ts} +1 -0
  250. package/dist/types/request.d.ts.map +1 -0
  251. package/dist/{cjs → types}/services/ApiService.d.ts +5 -5
  252. package/dist/types/services/ApiService.d.ts.map +1 -0
  253. package/dist/{services → types/services}/ChainsService.d.ts +3 -2
  254. package/dist/types/services/ChainsService.d.ts.map +1 -0
  255. package/dist/{services → types/services}/ConfigService.d.ts +10 -6
  256. package/dist/types/services/ConfigService.d.ts.map +1 -0
  257. package/dist/{cjs → types}/typeguards.d.ts +3 -2
  258. package/dist/types/typeguards.d.ts.map +1 -0
  259. package/dist/types/types/abi.d.ts +6 -0
  260. package/dist/types/types/abi.d.ts.map +1 -0
  261. package/dist/types/types/index.d.ts +3 -0
  262. package/dist/types/types/index.d.ts.map +1 -0
  263. package/dist/types/types/internal.d.ts +61 -0
  264. package/dist/types/types/internal.d.ts.map +1 -0
  265. package/dist/{cjs → types}/utils/errors.d.ts +16 -14
  266. package/dist/types/utils/errors.d.ts.map +1 -0
  267. package/dist/types/utils/getMaxPriorityFeePerGas.d.ts +3 -0
  268. package/dist/types/utils/getMaxPriorityFeePerGas.d.ts.map +1 -0
  269. package/dist/types/utils/index.d.ts +6 -0
  270. package/dist/types/utils/index.d.ts.map +1 -0
  271. package/dist/types/utils/median.d.ts +2 -0
  272. package/dist/types/utils/median.d.ts.map +1 -0
  273. package/dist/{utils → types/utils}/parseError.d.ts +7 -6
  274. package/dist/types/utils/parseError.d.ts.map +1 -0
  275. package/dist/types/utils/utils.d.ts +11 -0
  276. package/dist/types/utils/utils.d.ts.map +1 -0
  277. package/dist/types/version.d.ts +3 -0
  278. package/dist/types/version.d.ts.map +1 -0
  279. package/package.json +37 -95
  280. package/dist/LiFi.d.ts +0 -164
  281. package/dist/LiFi.js +0 -235
  282. package/dist/allowance/checkAllowance.d.ts +0 -4
  283. package/dist/allowance/checkAllowance.js +0 -96
  284. package/dist/allowance/index.d.ts +0 -2
  285. package/dist/allowance/index.js +0 -2
  286. package/dist/allowance/tokenApproval.d.ts +0 -22
  287. package/dist/allowance/tokenApproval.js +0 -59
  288. package/dist/allowance/utils.d.ts +0 -14
  289. package/dist/allowance/utils.js +0 -72
  290. package/dist/balance/checkBalance.d.ts +0 -3
  291. package/dist/balance/checkBalance.js +0 -38
  292. package/dist/balance/index.d.ts +0 -13
  293. package/dist/balance/index.js +0 -10
  294. package/dist/balance/utils.d.ts +0 -6
  295. package/dist/balance/utils.js +0 -143
  296. package/dist/cjs/LiFi.d.ts +0 -164
  297. package/dist/cjs/allowance/checkAllowance.d.ts +0 -4
  298. package/dist/cjs/allowance/checkAllowance.js +0 -103
  299. package/dist/cjs/allowance/index.d.ts +0 -2
  300. package/dist/cjs/allowance/tokenApproval.d.ts +0 -22
  301. package/dist/cjs/allowance/tokenApproval.js +0 -69
  302. package/dist/cjs/allowance/utils.d.ts +0 -14
  303. package/dist/cjs/allowance/utils.js +0 -82
  304. package/dist/cjs/balance/checkBalance.d.ts +0 -3
  305. package/dist/cjs/balance/checkBalance.js +0 -45
  306. package/dist/cjs/balance/getTokenBalance.d.ts +0 -8
  307. package/dist/cjs/balance/index.d.ts +0 -13
  308. package/dist/cjs/balance/utils.d.ts +0 -6
  309. package/dist/cjs/balance/utils.js +0 -150
  310. package/dist/cjs/connectors.d.ts +0 -6
  311. package/dist/cjs/execution/RouteExecutionManager.d.ts +0 -65
  312. package/dist/cjs/execution/StatusManager.d.ts +0 -68
  313. package/dist/cjs/execution/StepExecutionManager.d.ts +0 -7
  314. package/dist/cjs/execution/StepExecutor.d.ts +0 -15
  315. package/dist/cjs/execution/StepExecutor.js +0 -62
  316. package/dist/cjs/execution/index.d.ts +0 -1
  317. package/dist/cjs/execution/multisig.d.ts +0 -3
  318. package/dist/cjs/execution/stepComparison.d.ts +0 -14
  319. package/dist/cjs/execution/switchChain.d.ts +0 -16
  320. package/dist/cjs/execution/utils.d.ts +0 -6
  321. package/dist/cjs/helpers.d.ts +0 -28
  322. package/dist/cjs/index.d.ts +0 -5
  323. package/dist/cjs/request.d.ts +0 -9
  324. package/dist/cjs/services/ChainsService.d.ts +0 -11
  325. package/dist/cjs/services/ConfigService.d.ts +0 -23
  326. package/dist/cjs/types/ERC20.d.ts +0 -22
  327. package/dist/cjs/types/ERC20.js +0 -53
  328. package/dist/cjs/types/index.d.ts +0 -4
  329. package/dist/cjs/types/internal.types.d.ts +0 -151
  330. package/dist/cjs/utils/getProvider.d.ts +0 -3
  331. package/dist/cjs/utils/getProvider.js +0 -11
  332. package/dist/cjs/utils/multicall.d.ts +0 -10
  333. package/dist/cjs/utils/multicall.js +0 -68
  334. package/dist/cjs/utils/multicallAbi.json +0 -313
  335. package/dist/cjs/utils/parseError.d.ts +0 -37
  336. package/dist/cjs/utils/preRestart.d.ts +0 -3
  337. package/dist/cjs/utils/preRestart.js +0 -56
  338. package/dist/cjs/utils/utils.d.ts +0 -25
  339. package/dist/cjs/version.d.ts +0 -2
  340. package/dist/connectors.d.ts +0 -6
  341. package/dist/connectors.js +0 -57
  342. package/dist/execution/RouteExecutionManager.d.ts +0 -65
  343. package/dist/execution/RouteExecutionManager.js +0 -213
  344. package/dist/execution/StatusManager.d.ts +0 -68
  345. package/dist/execution/StatusManager.js +0 -168
  346. package/dist/execution/StepExecutionManager.d.ts +0 -7
  347. package/dist/execution/StepExecutionManager.js +0 -267
  348. package/dist/execution/StepExecutor.d.ts +0 -15
  349. package/dist/execution/StepExecutor.js +0 -58
  350. package/dist/execution/index.d.ts +0 -1
  351. package/dist/execution/index.js +0 -1
  352. package/dist/execution/multisig.d.ts +0 -3
  353. package/dist/execution/multisig.js +0 -27
  354. package/dist/execution/switchChain.d.ts +0 -16
  355. package/dist/execution/utils.d.ts +0 -6
  356. package/dist/execution/utils.js +0 -122
  357. package/dist/helpers.d.ts +0 -28
  358. package/dist/index.d.ts +0 -5
  359. package/dist/index.js +0 -6
  360. package/dist/services/ApiService.d.ts +0 -17
  361. package/dist/services/ConfigService.js +0 -101
  362. package/dist/typeguards.d.ts +0 -4
  363. package/dist/types/ERC20.d.ts +0 -22
  364. package/dist/types/ERC20.js +0 -50
  365. package/dist/types/index.js +0 -4
  366. package/dist/types/internal.types.d.ts +0 -151
  367. package/dist/types/internal.types.js +0 -1
  368. package/dist/utils/errors.d.ts +0 -106
  369. package/dist/utils/getProvider.d.ts +0 -3
  370. package/dist/utils/getProvider.js +0 -7
  371. package/dist/utils/multicall.d.ts +0 -10
  372. package/dist/utils/multicall.js +0 -61
  373. package/dist/utils/multicallAbi.json +0 -313
  374. package/dist/utils/preRestart.d.ts +0 -3
  375. package/dist/utils/preRestart.js +0 -52
  376. package/dist/utils/utils.d.ts +0 -25
  377. package/dist/utils/utils.js +0 -99
  378. package/dist/version.d.ts +0 -2
  379. package/dist/version.js +0 -2
@@ -0,0 +1,375 @@
1
+ import { getTokenAllowance, getTokenAllowanceMulticall, revokeTokenApproval, setTokenAllowance, } from './allowance/index.js';
2
+ import * as balance from './balance/index.js';
3
+ import { getPublicClient } from './connectors.js';
4
+ import { RouteExecutionManager } from './execution/RouteExecutionManager.js';
5
+ import { checkPackageUpdates } from './helpers.js';
6
+ import ApiService from './services/ApiService.js';
7
+ import { ChainsService } from './services/ChainsService.js';
8
+ import { isToken } from './typeguards.js';
9
+ import { ValidationError } from './utils/errors.js';
10
+ import { name, version } from './version.js';
11
+ export class LiFi extends RouteExecutionManager {
12
+ constructor(options) {
13
+ super(options);
14
+ Object.defineProperty(this, "chainsService", {
15
+ enumerable: true,
16
+ configurable: true,
17
+ writable: true,
18
+ value: void 0
19
+ });
20
+ /**
21
+ * Get the current configuration of the SDK
22
+ * @returns - The config object
23
+ */
24
+ Object.defineProperty(this, "getConfig", {
25
+ enumerable: true,
26
+ configurable: true,
27
+ writable: true,
28
+ value: () => {
29
+ return this.configService.getConfig();
30
+ }
31
+ });
32
+ /**
33
+ * Get the SDK configuration after all setup calls are finished
34
+ * @returns - The config object
35
+ */
36
+ Object.defineProperty(this, "getConfigAsync", {
37
+ enumerable: true,
38
+ configurable: true,
39
+ writable: true,
40
+ value: () => {
41
+ return this.configService.getConfigAsync();
42
+ }
43
+ });
44
+ /**
45
+ * Get an instance of a provider for a specific chain
46
+ * @param chainId - Id of the chain the provider is for
47
+ * @returns The public client for the given chain
48
+ */
49
+ Object.defineProperty(this, "getPublicClient", {
50
+ enumerable: true,
51
+ configurable: true,
52
+ writable: true,
53
+ value: (chainId) => {
54
+ return getPublicClient(chainId);
55
+ }
56
+ });
57
+ /**
58
+ * Set a new confuration for the SDK
59
+ * @param configUpdate - An object containing the configuration fields that should be updated.
60
+ * @returns The renewed config object
61
+ */
62
+ Object.defineProperty(this, "setConfig", {
63
+ enumerable: true,
64
+ configurable: true,
65
+ writable: true,
66
+ value: (configUpdate) => {
67
+ return this.configService.updateConfig(configUpdate);
68
+ }
69
+ });
70
+ /**
71
+ * Get a set of current possibilities based on a request that specifies which chains, exchanges and bridges are preferred or unwanted.
72
+ * @param request - Object defining preferences regarding chain, exchanges and bridges
73
+ * @param options - Request options
74
+ * @returns Object listing current possibilities for any-to-any cross-chain-swaps based on the provided preferences.
75
+ * @throws {LiFiError} Throws a LiFiError if request fails.
76
+ * @deprecated We don't want to support this endpoint anymore in the future. /chains, /tools, /connections, and /tokens should be used instead
77
+ */
78
+ Object.defineProperty(this, "getPossibilities", {
79
+ enumerable: true,
80
+ configurable: true,
81
+ writable: true,
82
+ value: async (request, options) => {
83
+ return ApiService.getPossibilities(request, options);
84
+ }
85
+ });
86
+ /**
87
+ * Fetch information about a Token
88
+ * @param chain - Id or key of the chain that contains the token
89
+ * @param token - Address or symbol of the token on the requested chain
90
+ * @param options - Request options
91
+ * @throws {LiFiError} - Throws a LiFiError if request fails
92
+ * @returns Token information
93
+ */
94
+ Object.defineProperty(this, "getToken", {
95
+ enumerable: true,
96
+ configurable: true,
97
+ writable: true,
98
+ value: async (chain, token, options) => {
99
+ return ApiService.getToken(chain, token, options);
100
+ }
101
+ });
102
+ /**
103
+ * Get a quote for a token transfer
104
+ * @param request - The configuration of the requested quote
105
+ * @param options - Request options
106
+ * @throws {LiFiError} - Throws a LiFiError if request fails
107
+ * @returns Quote for a token transfer
108
+ */
109
+ Object.defineProperty(this, "getQuote", {
110
+ enumerable: true,
111
+ configurable: true,
112
+ writable: true,
113
+ value: async (request, options) => {
114
+ return ApiService.getQuote(request, options);
115
+ }
116
+ });
117
+ /**
118
+ * Get a quote for a destination contract call
119
+ * @param request - The configuration of the requested destination call
120
+ * @param options - Request options
121
+ * @throws {LiFiError} - Throws a LiFiError if request fails
122
+ * @returns - Returns step.
123
+ */
124
+ Object.defineProperty(this, "getContractCallQuote", {
125
+ enumerable: true,
126
+ configurable: true,
127
+ writable: true,
128
+ value: async (request, options) => {
129
+ return ApiService.getContractCallQuote(request, options);
130
+ }
131
+ });
132
+ /**
133
+ * Check the status of a transfer. For cross chain transfers, the "bridge" parameter is required.
134
+ * @param request - Configuration of the requested status
135
+ * @param options - Rrquest options.
136
+ * @throws {LiFiError} - Throws a LiFiError if request fails
137
+ * @returns Returns status response.
138
+ */
139
+ Object.defineProperty(this, "getStatus", {
140
+ enumerable: true,
141
+ configurable: true,
142
+ writable: true,
143
+ value: async (request, options) => {
144
+ return ApiService.getStatus(request, options);
145
+ }
146
+ });
147
+ /**
148
+ * Get the available tools to bridge and swap tokens.
149
+ * @param request - The configuration of the requested tools
150
+ * @param options - Request options
151
+ * @returns The tools that are available on the requested chains
152
+ */
153
+ Object.defineProperty(this, "getTools", {
154
+ enumerable: true,
155
+ configurable: true,
156
+ writable: true,
157
+ value: async (request, options) => {
158
+ return ApiService.getTools(request || {}, options);
159
+ }
160
+ });
161
+ /**
162
+ * Get all known tokens.
163
+ * @param request - The configuration of the requested tokens
164
+ * @param options - Request options
165
+ * @returns The tokens that are available on the requested chains
166
+ */
167
+ Object.defineProperty(this, "getTokens", {
168
+ enumerable: true,
169
+ configurable: true,
170
+ writable: true,
171
+ value: async (request, options) => {
172
+ return ApiService.getTokens(request || {}, options);
173
+ }
174
+ });
175
+ /**
176
+ * Get all available chains
177
+ * @returns A list of all available chains
178
+ * @throws {LiFiError} Throws a LiFiError if request fails.
179
+ */
180
+ Object.defineProperty(this, "getChains", {
181
+ enumerable: true,
182
+ configurable: true,
183
+ writable: true,
184
+ value: async () => {
185
+ return this.chainsService.getChains();
186
+ }
187
+ });
188
+ /**
189
+ * Get a set of routes for a request that describes a transfer of tokens.
190
+ * @param request - A description of the transfer.
191
+ * @param options - Request options
192
+ * @returns The resulting routes that can be used to realize the described transfer of tokens.
193
+ * @throws {LiFiError} Throws a LiFiError if request fails.
194
+ */
195
+ Object.defineProperty(this, "getRoutes", {
196
+ enumerable: true,
197
+ configurable: true,
198
+ writable: true,
199
+ value: async (request, options) => {
200
+ return ApiService.getRoutes(request, options);
201
+ }
202
+ });
203
+ /**
204
+ * Get the transaction data for a single step of a route
205
+ * @param step - The step object.
206
+ * @param options - Request options
207
+ * @returns The step populated with the transaction data.
208
+ * @throws {LiFiError} Throws a LiFiError if request fails.
209
+ */
210
+ Object.defineProperty(this, "getStepTransaction", {
211
+ enumerable: true,
212
+ configurable: true,
213
+ writable: true,
214
+ value: async (step, options) => {
215
+ return ApiService.getStepTransaction(step, options);
216
+ }
217
+ });
218
+ /**
219
+ * Get gas recommendation for a certain chain
220
+ * @param request - Configuration of the requested recommendation.
221
+ * @param options - Request options
222
+ * @throws {LiFiError} Throws a LiFiError if request fails.
223
+ * @returns Gas recommendation response.
224
+ */
225
+ Object.defineProperty(this, "getGasRecommendation", {
226
+ enumerable: true,
227
+ configurable: true,
228
+ writable: true,
229
+ value: async (request, options) => {
230
+ return ApiService.getGasRecommendation(request, options);
231
+ }
232
+ });
233
+ /**
234
+ * Returns the balances of a specific token a wallet holds across all aggregated chains.
235
+ * @param walletAddress - A wallet address.
236
+ * @param token - A Token object.
237
+ * @returns An object containing the token and the amounts on different chains.
238
+ * @throws {ValidationError} Throws a ValidationError if parameters are invalid.
239
+ */
240
+ Object.defineProperty(this, "getTokenBalance", {
241
+ enumerable: true,
242
+ configurable: true,
243
+ writable: true,
244
+ value: async (walletAddress, token) => {
245
+ if (!walletAddress) {
246
+ throw new ValidationError('Missing walletAddress.');
247
+ }
248
+ if (!isToken(token)) {
249
+ throw new ValidationError(`Invalid token passed: address "${token.address}" on chainId "${token.chainId}"`);
250
+ }
251
+ return balance.getTokenBalance(walletAddress, token);
252
+ }
253
+ });
254
+ /**
255
+ * Returns the balances for a list tokens a wallet holds across all aggregated chains.
256
+ * @param walletAddress - A wallet address.
257
+ * @param tokens - A list of Token objects.
258
+ * @returns A list of objects containing the tokens and the amounts on different chains.
259
+ * @throws {ValidationError} Throws a ValidationError if parameters are invalid.
260
+ */
261
+ Object.defineProperty(this, "getTokenBalances", {
262
+ enumerable: true,
263
+ configurable: true,
264
+ writable: true,
265
+ value: async (walletAddress, tokens) => {
266
+ if (!walletAddress) {
267
+ throw new ValidationError('Missing walletAddress.');
268
+ }
269
+ const invalidTokens = tokens.filter((token) => !isToken(token));
270
+ if (invalidTokens.length) {
271
+ throw new ValidationError(`Invalid token passed: address "${invalidTokens[0].address}" on chainId "${invalidTokens[0].chainId}"`);
272
+ }
273
+ return balance.getTokenBalances(walletAddress, tokens);
274
+ }
275
+ });
276
+ /**
277
+ * This method queries the balances of tokens for a specific list of chains for a given wallet.
278
+ * @param walletAddress - A walletaddress.
279
+ * @param tokensByChain - A list of Token objects organized by chain ids.
280
+ * @returns A list of objects containing the tokens and the amounts on different chains organized by the chosen chains.
281
+ * @throws {ValidationError} Throws a ValidationError if parameters are invalid.
282
+ */
283
+ Object.defineProperty(this, "getTokenBalancesByChain", {
284
+ enumerable: true,
285
+ configurable: true,
286
+ writable: true,
287
+ value: async (walletAddress, tokensByChain) => {
288
+ if (!walletAddress) {
289
+ throw new ValidationError('Missing walletAddress.');
290
+ }
291
+ const tokenList = Object.values(tokensByChain).flat();
292
+ const invalidTokens = tokenList.filter((token) => !isToken(token));
293
+ if (invalidTokens.length) {
294
+ throw new ValidationError(`Invalid token passed: address "${invalidTokens[0].address}" on chainId "${invalidTokens[0].chainId}"`);
295
+ }
296
+ return balance.getTokenBalancesByChain(walletAddress, tokensByChain);
297
+ }
298
+ });
299
+ /**
300
+ * Get the current allowance for a certain token.
301
+ * @param token - The token that should be checked
302
+ * @param ownerAddress - The owner of the token
303
+ * @param spenderAddress - The spender address that has to be approved
304
+ * @returns Returns allowance
305
+ */
306
+ Object.defineProperty(this, "getTokenAllowance", {
307
+ enumerable: true,
308
+ configurable: true,
309
+ writable: true,
310
+ value: async (token, ownerAddress, spenderAddress) => {
311
+ return getTokenAllowance(token, ownerAddress, spenderAddress);
312
+ }
313
+ });
314
+ /**
315
+ * Get the current allowance for a list of token/spender address pairs.
316
+ * @param ownerAddress - The owner of the tokens
317
+ * @param tokens - A list of token and spender address pairs
318
+ * @returns Returns array of tokens and their allowance
319
+ */
320
+ Object.defineProperty(this, "getTokenAllowanceMulticall", {
321
+ enumerable: true,
322
+ configurable: true,
323
+ writable: true,
324
+ value: async (ownerAddress, tokens) => {
325
+ return getTokenAllowanceMulticall(ownerAddress, tokens);
326
+ }
327
+ });
328
+ /**
329
+ * Set approval for a certain token and amount.
330
+ * @param request - The approval request
331
+ * @returns Returns Hash or nothing
332
+ */
333
+ Object.defineProperty(this, "setTokenApproval", {
334
+ enumerable: true,
335
+ configurable: true,
336
+ writable: true,
337
+ value: (request) => {
338
+ return setTokenAllowance(request);
339
+ }
340
+ });
341
+ /**
342
+ * Revoke approval for a certain token.
343
+ * @param request - The revoke request
344
+ * @returns Returns Hash or nothing
345
+ */
346
+ Object.defineProperty(this, "revokeTokenApproval", {
347
+ enumerable: true,
348
+ configurable: true,
349
+ writable: true,
350
+ value: (request) => {
351
+ return revokeTokenApproval(request);
352
+ }
353
+ });
354
+ /**
355
+ * Get all the available connections for swap/bridging tokens
356
+ * @param connectionRequest ConnectionsRequest
357
+ * @returns ConnectionsResponse
358
+ */
359
+ Object.defineProperty(this, "getConnections", {
360
+ enumerable: true,
361
+ configurable: true,
362
+ writable: true,
363
+ value: async (connectionRequest) => {
364
+ const connections = await ApiService.getAvailableConnections(connectionRequest);
365
+ return connections;
366
+ }
367
+ });
368
+ this.chainsService = ChainsService.getInstance();
369
+ this.chainsService.getChains().then((chains) => {
370
+ this.configService.updateChains(chains);
371
+ });
372
+ checkPackageUpdates(name, version, options.disableVersionCheck);
373
+ }
374
+ }
375
+ //# sourceMappingURL=LiFi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LiFi.js","sourceRoot":"","sources":["../../src/LiFi.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ import { getContract } from 'viem';
2
+ import { getMulticallAddress, getPublicClient } from '../connectors.js';
3
+ import { MulticallBatchSize } from '../constants.js';
4
+ import { allowanceAbi } from '../types/index.js';
5
+ import { isNativeTokenAddress } from '../utils/utils.js';
6
+ export const getAllowance = async (chainId, tokenAddress, ownerAddress, spenderAddress) => {
7
+ const client = await getPublicClient(chainId);
8
+ const contract = getContract({
9
+ address: tokenAddress,
10
+ abi: allowanceAbi,
11
+ publicClient: client,
12
+ });
13
+ try {
14
+ const approved = (await contract.read.allowance([
15
+ ownerAddress,
16
+ spenderAddress,
17
+ ]));
18
+ return approved;
19
+ }
20
+ catch (e) {
21
+ return 0n;
22
+ }
23
+ };
24
+ export const getAllowanceMulticall = async (chainId, tokens, ownerAddress) => {
25
+ if (!tokens.length) {
26
+ return [];
27
+ }
28
+ const multicallAddress = await getMulticallAddress(chainId);
29
+ if (!multicallAddress) {
30
+ throw new Error(`No multicall address configured for chainId ${chainId}.`);
31
+ }
32
+ const client = await getPublicClient(chainId);
33
+ const contracts = tokens.map((token) => ({
34
+ address: token.token.address,
35
+ abi: allowanceAbi,
36
+ functionName: 'allowance',
37
+ args: [ownerAddress, token.spenderAddress],
38
+ }));
39
+ const results = await client.multicall({
40
+ contracts,
41
+ multicallAddress: multicallAddress,
42
+ batchSize: MulticallBatchSize,
43
+ });
44
+ if (!results.length) {
45
+ throw new Error(`Couldn't load allowance from chainId ${chainId} using multicall.`);
46
+ }
47
+ return tokens.map(({ token, spenderAddress }, i) => ({
48
+ token,
49
+ spenderAddress,
50
+ allowance: results[i].result,
51
+ }));
52
+ };
53
+ export const getTokenAllowance = async (token, ownerAddress, spenderAddress) => {
54
+ // native token don't need approval
55
+ if (isNativeTokenAddress(token.address)) {
56
+ return;
57
+ }
58
+ const approved = await getAllowance(token.chainId, token.address, ownerAddress, spenderAddress);
59
+ return approved;
60
+ };
61
+ export const getTokenAllowanceMulticall = async (ownerAddress, tokens) => {
62
+ // filter out native tokens
63
+ const filteredTokens = tokens.filter(({ token }) => !isNativeTokenAddress(token.address));
64
+ // group by chain
65
+ const tokenDataByChain = {};
66
+ filteredTokens.forEach((data) => {
67
+ if (!tokenDataByChain[data.token.chainId]) {
68
+ tokenDataByChain[data.token.chainId] = [];
69
+ }
70
+ tokenDataByChain[data.token.chainId].push(data);
71
+ });
72
+ const chainKeys = Object.keys(tokenDataByChain).map(Number.parseInt);
73
+ const allowances = (await Promise.all(chainKeys.map(async (chainId) => {
74
+ // get allowances for current chain and token list
75
+ return getAllowanceMulticall(chainId, tokenDataByChain[chainId], ownerAddress);
76
+ }))).flat();
77
+ return allowances;
78
+ };
79
+ //# sourceMappingURL=getAllowance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAllowance.js","sourceRoot":"","sources":["../../../src/allowance/getAllowance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export * from './getAllowance.js';
2
+ export * from './setAllowance.js';
3
+ export * from './types.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/allowance/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,YAAY,CAAA"}
@@ -0,0 +1,67 @@
1
+ import { encodeFunctionData, maxUint256, publicActions } from 'viem';
2
+ import { approveAbi } from '../types/index.js';
3
+ import { getMaxPriorityFeePerGas } from '../utils/index.js';
4
+ import { isNativeTokenAddress } from '../utils/utils.js';
5
+ import { getAllowance } from './getAllowance.js';
6
+ export const setAllowance = async (walletClient, tokenAddress, contractAddress, amount, settings, returnPopulatedTransaction) => {
7
+ const data = encodeFunctionData({
8
+ abi: approveAbi,
9
+ functionName: 'approve',
10
+ args: [contractAddress, amount],
11
+ });
12
+ if (returnPopulatedTransaction) {
13
+ return data;
14
+ }
15
+ const client = walletClient.extend(publicActions);
16
+ let transactionRequest = {
17
+ to: tokenAddress,
18
+ data,
19
+ maxPriorityFeePerGas: walletClient.account?.type === 'local'
20
+ ? await getMaxPriorityFeePerGas(client)
21
+ : undefined,
22
+ };
23
+ if (settings?.updateTransactionRequestHook) {
24
+ const customizedTransactionRequest = await settings.updateTransactionRequestHook({
25
+ requestType: 'approve',
26
+ ...transactionRequest,
27
+ });
28
+ transactionRequest = {
29
+ ...transactionRequest,
30
+ ...customizedTransactionRequest,
31
+ };
32
+ }
33
+ return client.sendTransaction({
34
+ to: transactionRequest.to,
35
+ account: walletClient.account,
36
+ data: transactionRequest.data,
37
+ gas: transactionRequest.gas,
38
+ gasPrice: transactionRequest.gasPrice,
39
+ maxFeePerGas: transactionRequest.maxFeePerGas,
40
+ maxPriorityFeePerGas: transactionRequest.maxPriorityFeePerGas,
41
+ chain: null,
42
+ });
43
+ };
44
+ export const setTokenAllowance = async ({ walletClient, token, spenderAddress, amount, infiniteApproval = false, }) => {
45
+ // native token don't need approval
46
+ if (isNativeTokenAddress(token.address)) {
47
+ return;
48
+ }
49
+ const approvedAmount = await getAllowance(token.chainId, token.address, walletClient.account.address, spenderAddress);
50
+ if (amount > approvedAmount) {
51
+ const approvalAmount = infiniteApproval ? maxUint256 : amount;
52
+ const approveTx = await setAllowance(walletClient, token.address, spenderAddress, approvalAmount);
53
+ return approveTx;
54
+ }
55
+ };
56
+ export const revokeTokenApproval = async ({ walletClient, token, spenderAddress, }) => {
57
+ // native token don't need approval
58
+ if (isNativeTokenAddress(token.address)) {
59
+ return;
60
+ }
61
+ const approvedAmount = await getAllowance(token.chainId, token.address, walletClient.account.address, spenderAddress);
62
+ if (approvedAmount > 0) {
63
+ const approveTx = await setAllowance(walletClient, token.address, spenderAddress, 0n);
64
+ return approveTx;
65
+ }
66
+ };
67
+ //# sourceMappingURL=setAllowance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setAllowance.js","sourceRoot":"","sources":["../../../src/allowance/setAllowance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/allowance/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,93 @@
1
+ import { getMulticallAddress, getPublicClient } from '../connectors.js';
2
+ import { MulticallBatchSize } from '../constants.js';
3
+ import { balanceOfAbi, getEthBalanceAbi } from '../types/index.js';
4
+ import { isZeroAddress } from '../utils/utils.js';
5
+ export const getBalance = async (walletAddress, tokens) => {
6
+ if (tokens.length === 0) {
7
+ return [];
8
+ }
9
+ const { chainId } = tokens[0];
10
+ tokens.forEach((token) => {
11
+ if (token.chainId !== chainId) {
12
+ console.warn(`Requested tokens have to be on the same chain.`);
13
+ }
14
+ });
15
+ const multicallAddress = await getMulticallAddress(chainId);
16
+ if (multicallAddress && tokens.length > 1) {
17
+ return getBalanceMulticall(chainId, tokens, walletAddress, multicallAddress);
18
+ }
19
+ else {
20
+ return getBalanceDefault(chainId, tokens, walletAddress);
21
+ }
22
+ };
23
+ const getBalanceMulticall = async (chainId, tokens, walletAddress, multicallAddress) => {
24
+ const client = await getPublicClient(chainId);
25
+ const contracts = tokens.map((token) => {
26
+ if (isZeroAddress(token.address)) {
27
+ return {
28
+ address: multicallAddress,
29
+ abi: getEthBalanceAbi,
30
+ functionName: 'getEthBalance',
31
+ args: [walletAddress],
32
+ };
33
+ }
34
+ return {
35
+ address: token.address,
36
+ abi: balanceOfAbi,
37
+ functionName: 'balanceOf',
38
+ args: [walletAddress],
39
+ };
40
+ });
41
+ const blockNumber = await client.getBlockNumber();
42
+ const results = await client.multicall({
43
+ contracts,
44
+ multicallAddress: multicallAddress,
45
+ blockNumber,
46
+ batchSize: MulticallBatchSize,
47
+ });
48
+ if (!results.length) {
49
+ return [];
50
+ }
51
+ return tokens.map((token, i) => {
52
+ return {
53
+ ...token,
54
+ amount: results[i].result,
55
+ blockNumber,
56
+ };
57
+ });
58
+ };
59
+ const getBalanceDefault = async (chainId, tokens, walletAddress) => {
60
+ const client = await getPublicClient(chainId);
61
+ const blockNumber = await client.getBlockNumber();
62
+ const queue = tokens.map((token) => {
63
+ if (isZeroAddress(token.address)) {
64
+ return client.getBalance({
65
+ address: walletAddress,
66
+ });
67
+ }
68
+ return client.readContract({
69
+ address: token.address,
70
+ abi: balanceOfAbi,
71
+ functionName: 'balanceOf',
72
+ args: [walletAddress],
73
+ });
74
+ });
75
+ const results = await Promise.allSettled(queue);
76
+ const tokenAmounts = tokens.map((token, index) => {
77
+ const result = results[index];
78
+ if (result.status === 'rejected') {
79
+ console.warn(result.reason);
80
+ return {
81
+ ...token,
82
+ blockNumber,
83
+ };
84
+ }
85
+ return {
86
+ ...token,
87
+ amount: result.value,
88
+ blockNumber,
89
+ };
90
+ });
91
+ return tokenAmounts;
92
+ };
93
+ //# sourceMappingURL=getBalance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getBalance.js","sourceRoot":"","sources":["../../../src/balance/getBalance.ts"],"names":[],"mappings":"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"}