@lifi/sdk 3.0.0-alpha.6 → 3.0.0-alpha.60

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 (482) hide show
  1. package/package.json +40 -88
  2. package/src/_cjs/config.js +90 -0
  3. package/src/_cjs/config.js.map +1 -0
  4. package/{dist/cjs → src/_cjs}/constants.js +3 -5
  5. package/src/_cjs/constants.js.map +1 -0
  6. package/src/_cjs/core/BaseStepExecutor.js +55 -0
  7. package/src/_cjs/core/BaseStepExecutor.js.map +1 -0
  8. package/src/_cjs/core/EVM/EVM.js +43 -0
  9. package/src/_cjs/core/EVM/EVM.js.map +1 -0
  10. package/src/_cjs/core/EVM/EVMStepExecutor.js +304 -0
  11. package/src/_cjs/core/EVM/EVMStepExecutor.js.map +1 -0
  12. package/{dist/cjs/types → src/_cjs/core/EVM}/abi.js +1 -0
  13. package/src/_cjs/core/EVM/abi.js.map +1 -0
  14. package/{dist/cjs/execution → src/_cjs/core/EVM}/checkAllowance.js +19 -12
  15. package/src/_cjs/core/EVM/checkAllowance.js.map +1 -0
  16. package/{dist/cjs/allowance → src/_cjs/core/EVM}/getAllowance.js +13 -17
  17. package/src/_cjs/core/EVM/getAllowance.js.map +1 -0
  18. package/src/_cjs/core/EVM/getENSAddress.js +20 -0
  19. package/src/_cjs/core/EVM/getENSAddress.js.map +1 -0
  20. package/{dist/cjs/balance/getBalance.js → src/_cjs/core/EVM/getEVMBalance.js} +20 -22
  21. package/src/_cjs/core/EVM/getEVMBalance.js.map +1 -0
  22. package/{dist/cjs/execution → src/_cjs/core/EVM}/multisig.js +7 -11
  23. package/src/_cjs/core/EVM/multisig.js.map +1 -0
  24. package/src/_cjs/core/EVM/publicClient.js +43 -0
  25. package/src/_cjs/core/EVM/publicClient.js.map +1 -0
  26. package/{dist/cjs/allowance → src/_cjs/core/EVM}/setAllowance.js +11 -12
  27. package/src/_cjs/core/EVM/setAllowance.js.map +1 -0
  28. package/src/_cjs/core/EVM/switchChain.js +38 -0
  29. package/src/_cjs/core/EVM/switchChain.js.map +1 -0
  30. package/src/_cjs/core/EVM/types.js +9 -0
  31. package/src/_cjs/core/EVM/types.js.map +1 -0
  32. package/{dist/cjs/utils/getMaxPriorityFeePerGas.js → src/_cjs/core/EVM/utils.js} +13 -3
  33. package/src/_cjs/core/EVM/utils.js.map +1 -0
  34. package/src/_cjs/core/Solana/Solana.js +38 -0
  35. package/src/_cjs/core/Solana/Solana.js.map +1 -0
  36. package/src/_cjs/core/Solana/SolanaStepExecutor.js +174 -0
  37. package/src/_cjs/core/Solana/SolanaStepExecutor.js.map +1 -0
  38. package/src/_cjs/core/Solana/connection.js +19 -0
  39. package/src/_cjs/core/Solana/connection.js.map +1 -0
  40. package/src/_cjs/core/Solana/getSNSAddress.js +26 -0
  41. package/src/_cjs/core/Solana/getSNSAddress.js.map +1 -0
  42. package/src/_cjs/core/Solana/getSolanaBalance.js +60 -0
  43. package/src/_cjs/core/Solana/getSolanaBalance.js.map +1 -0
  44. package/src/_cjs/core/Solana/isAddress.js +15 -0
  45. package/src/_cjs/core/Solana/isAddress.js.map +1 -0
  46. package/src/_cjs/core/Solana/types.js +10 -0
  47. package/src/_cjs/core/Solana/types.js.map +1 -0
  48. package/src/_cjs/core/StatusManager.js +167 -0
  49. package/src/_cjs/core/StatusManager.js.map +1 -0
  50. package/{dist/cjs/execution → src/_cjs/core}/checkBalance.js +6 -6
  51. package/src/_cjs/core/checkBalance.js.map +1 -0
  52. package/src/_cjs/core/execution.js +134 -0
  53. package/src/_cjs/core/execution.js.map +1 -0
  54. package/src/_cjs/core/executionState.js +29 -0
  55. package/src/_cjs/core/executionState.js.map +1 -0
  56. package/src/_cjs/core/index.js +7 -0
  57. package/src/_cjs/core/index.js.map +1 -0
  58. package/src/_cjs/core/prepareRestart.js +23 -0
  59. package/src/_cjs/core/prepareRestart.js.map +1 -0
  60. package/src/_cjs/core/provider.js +15 -0
  61. package/src/_cjs/core/provider.js.map +1 -0
  62. package/src/_cjs/core/rpc.js +18 -0
  63. package/src/_cjs/core/rpc.js.map +1 -0
  64. package/src/_cjs/core/stepComparison.js +25 -0
  65. package/src/_cjs/core/stepComparison.js.map +1 -0
  66. package/{dist/cjs/allowance → src/_cjs/core}/types.js +1 -0
  67. package/src/_cjs/core/types.js.map +1 -0
  68. package/{dist/cjs/execution → src/_cjs/core}/utils.js +2 -11
  69. package/src/_cjs/core/utils.js.map +1 -0
  70. package/{dist/cjs/execution → src/_cjs/core}/waitForReceivingTransaction.js +13 -14
  71. package/src/_cjs/core/waitForReceivingTransaction.js.map +1 -0
  72. package/src/_cjs/createConfig.js +32 -0
  73. package/src/_cjs/createConfig.js.map +1 -0
  74. package/src/_cjs/helpers.js +57 -0
  75. package/src/_cjs/helpers.js.map +1 -0
  76. package/src/_cjs/index.js +23 -0
  77. package/src/_cjs/index.js.map +1 -0
  78. package/src/_cjs/package.json +1 -0
  79. package/src/_cjs/request.js +66 -0
  80. package/src/_cjs/request.js.map +1 -0
  81. package/src/_cjs/services/api.js +309 -0
  82. package/src/_cjs/services/api.js.map +1 -0
  83. package/src/_cjs/services/balance.js +49 -0
  84. package/src/_cjs/services/balance.js.map +1 -0
  85. package/src/_cjs/services/getNameServiceAddress.js +29 -0
  86. package/src/_cjs/services/getNameServiceAddress.js.map +1 -0
  87. package/{dist/cjs → src/_cjs}/typeguards.js +1 -0
  88. package/src/_cjs/typeguards.js.map +1 -0
  89. package/src/_cjs/types/index.js +5 -0
  90. package/src/_cjs/types/index.js.map +1 -0
  91. package/{dist/cjs/types/internal.types.js → src/_cjs/types/internal.js} +1 -0
  92. package/src/_cjs/types/internal.js.map +1 -0
  93. package/{dist/cjs → src/_cjs}/utils/errors.js +26 -3
  94. package/src/_cjs/utils/errors.js.map +1 -0
  95. package/src/_cjs/utils/getTransactionMessage.js +31 -0
  96. package/src/_cjs/utils/getTransactionMessage.js.map +1 -0
  97. package/src/_cjs/utils/index.js +9 -0
  98. package/src/_cjs/utils/index.js.map +1 -0
  99. package/{dist/cjs → src/_cjs}/utils/median.js +1 -0
  100. package/src/_cjs/utils/median.js.map +1 -0
  101. package/src/_cjs/utils/parseBackendError.js +27 -0
  102. package/src/_cjs/utils/parseBackendError.js.map +1 -0
  103. package/src/_cjs/utils/parseError.js +69 -0
  104. package/src/_cjs/utils/parseError.js.map +1 -0
  105. package/{dist/cjs → src/_cjs}/utils/utils.js +5 -11
  106. package/src/_cjs/utils/utils.js.map +1 -0
  107. package/{dist/cjs → src/_cjs}/version.js +2 -1
  108. package/src/_cjs/version.js.map +1 -0
  109. package/src/_esm/config.js +87 -0
  110. package/src/_esm/config.js.map +1 -0
  111. package/{dist → src/_esm}/constants.js +2 -4
  112. package/src/_esm/constants.js.map +1 -0
  113. package/src/_esm/core/BaseStepExecutor.js +52 -0
  114. package/src/_esm/core/BaseStepExecutor.js.map +1 -0
  115. package/src/_esm/core/EVM/EVM.js +39 -0
  116. package/src/_esm/core/EVM/EVM.js.map +1 -0
  117. package/src/_esm/core/EVM/EVMStepExecutor.js +329 -0
  118. package/src/_esm/core/EVM/EVMStepExecutor.js.map +1 -0
  119. package/{dist/types → src/_esm/core/EVM}/abi.js +1 -0
  120. package/src/_esm/core/EVM/abi.js.map +1 -0
  121. package/{dist/execution → src/_esm/core/EVM}/checkAllowance.js +14 -5
  122. package/src/_esm/core/EVM/checkAllowance.js.map +1 -0
  123. package/{dist/allowance → src/_esm/core/EVM}/getAllowance.js +19 -6
  124. package/src/_esm/core/EVM/getAllowance.js.map +1 -0
  125. package/src/_esm/core/EVM/getENSAddress.js +17 -0
  126. package/src/_esm/core/EVM/getENSAddress.js.map +1 -0
  127. package/{dist/balance/getBalance.js → src/_esm/core/EVM/getEVMBalance.js} +10 -12
  128. package/src/_esm/core/EVM/getEVMBalance.js.map +1 -0
  129. package/{dist/execution → src/_esm/core/EVM}/multisig.js +5 -6
  130. package/src/_esm/core/EVM/multisig.js.map +1 -0
  131. package/src/_esm/core/EVM/publicClient.js +46 -0
  132. package/src/_esm/core/EVM/publicClient.js.map +1 -0
  133. package/{dist/allowance → src/_esm/core/EVM}/setAllowance.js +23 -4
  134. package/src/_esm/core/EVM/setAllowance.js.map +1 -0
  135. package/{dist/execution → src/_esm/core/EVM}/switchChain.js +7 -4
  136. package/src/_esm/core/EVM/switchChain.js.map +1 -0
  137. package/src/_esm/core/EVM/types.js +6 -0
  138. package/src/_esm/core/EVM/types.js.map +1 -0
  139. package/{dist/utils/getMaxPriorityFeePerGas.js → src/_esm/core/EVM/utils.js} +12 -1
  140. package/src/_esm/core/EVM/utils.js.map +1 -0
  141. package/src/_esm/core/Solana/Solana.js +34 -0
  142. package/src/_esm/core/Solana/Solana.js.map +1 -0
  143. package/src/_esm/core/Solana/SolanaStepExecutor.js +176 -0
  144. package/src/_esm/core/Solana/SolanaStepExecutor.js.map +1 -0
  145. package/src/_esm/core/Solana/connection.js +20 -0
  146. package/src/_esm/core/Solana/connection.js.map +1 -0
  147. package/src/_esm/core/Solana/getSNSAddress.js +26 -0
  148. package/src/_esm/core/Solana/getSNSAddress.js.map +1 -0
  149. package/src/_esm/core/Solana/getSolanaBalance.js +56 -0
  150. package/src/_esm/core/Solana/getSolanaBalance.js.map +1 -0
  151. package/src/_esm/core/Solana/isAddress.js +11 -0
  152. package/src/_esm/core/Solana/isAddress.js.map +1 -0
  153. package/src/_esm/core/Solana/types.js +7 -0
  154. package/src/_esm/core/Solana/types.js.map +1 -0
  155. package/src/_esm/core/StatusManager.js +203 -0
  156. package/src/_esm/core/StatusManager.js.map +1 -0
  157. package/{dist/execution → src/_esm/core}/checkBalance.js +4 -3
  158. package/src/_esm/core/checkBalance.js.map +1 -0
  159. package/src/_esm/core/execution.js +172 -0
  160. package/src/_esm/core/execution.js.map +1 -0
  161. package/src/_esm/core/executionState.js +26 -0
  162. package/src/_esm/core/executionState.js.map +1 -0
  163. package/src/_esm/core/index.js +4 -0
  164. package/src/_esm/core/index.js.map +1 -0
  165. package/src/_esm/core/prepareRestart.js +64 -0
  166. package/src/_esm/core/prepareRestart.js.map +1 -0
  167. package/src/_esm/core/provider.js +11 -0
  168. package/src/_esm/core/provider.js.map +1 -0
  169. package/src/_esm/core/rpc.js +14 -0
  170. package/src/_esm/core/rpc.js.map +1 -0
  171. package/{dist/execution → src/_esm/core}/stepComparison.js +7 -5
  172. package/src/_esm/core/stepComparison.js.map +1 -0
  173. package/src/_esm/core/types.js +2 -0
  174. package/src/_esm/core/types.js.map +1 -0
  175. package/{dist/execution → src/_esm/core}/utils.js +4 -3
  176. package/src/_esm/core/utils.js.map +1 -0
  177. package/{dist/execution → src/_esm/core}/waitForReceivingTransaction.js +11 -9
  178. package/src/_esm/core/waitForReceivingTransaction.js.map +1 -0
  179. package/src/_esm/createConfig.js +28 -0
  180. package/src/_esm/createConfig.js.map +1 -0
  181. package/{dist → src/_esm}/helpers.js +5 -17
  182. package/src/_esm/helpers.js.map +1 -0
  183. package/src/_esm/index.js +14 -0
  184. package/src/_esm/index.js.map +1 -0
  185. package/src/_esm/package.json +1 -0
  186. package/{dist → src/_esm}/request.js +23 -13
  187. package/src/_esm/request.js.map +1 -0
  188. package/src/_esm/services/api.js +378 -0
  189. package/src/_esm/services/api.js.map +1 -0
  190. package/src/_esm/services/balance.js +65 -0
  191. package/src/_esm/services/balance.js.map +1 -0
  192. package/src/_esm/services/getNameServiceAddress.js +25 -0
  193. package/src/_esm/services/getNameServiceAddress.js.map +1 -0
  194. package/{dist → src/_esm}/typeguards.js +1 -0
  195. package/src/_esm/typeguards.js.map +1 -0
  196. package/src/_esm/types/index.js +2 -0
  197. package/src/_esm/types/index.js.map +1 -0
  198. package/src/_esm/types/internal.js +2 -0
  199. package/src/_esm/types/internal.js.map +1 -0
  200. package/{dist → src/_esm}/utils/errors.js +26 -0
  201. package/src/_esm/utils/errors.js.map +1 -0
  202. package/src/_esm/utils/getTransactionMessage.js +28 -0
  203. package/src/_esm/utils/getTransactionMessage.js.map +1 -0
  204. package/src/_esm/utils/index.js +6 -0
  205. package/src/_esm/utils/index.js.map +1 -0
  206. package/{dist → src/_esm}/utils/median.js +1 -0
  207. package/src/_esm/utils/median.js.map +1 -0
  208. package/src/_esm/utils/parseBackendError.js +24 -0
  209. package/src/_esm/utils/parseBackendError.js.map +1 -0
  210. package/{dist → src/_esm}/utils/parseError.js +6 -53
  211. package/src/_esm/utils/parseError.js.map +1 -0
  212. package/{dist → src/_esm}/utils/utils.js +2 -1
  213. package/src/_esm/utils/utils.js.map +1 -0
  214. package/src/_esm/version.js +3 -0
  215. package/src/_esm/version.js.map +1 -0
  216. package/src/_types/config.d.ts +15 -0
  217. package/src/_types/config.d.ts.map +1 -0
  218. package/{dist/cjs → src/_types}/constants.d.ts +2 -4
  219. package/src/_types/constants.d.ts.map +1 -0
  220. package/src/_types/core/BaseStepExecutor.d.ts +13 -0
  221. package/src/_types/core/BaseStepExecutor.d.ts.map +1 -0
  222. package/src/_types/core/EVM/EVM.d.ts +3 -0
  223. package/src/_types/core/EVM/EVM.d.ts.map +1 -0
  224. package/src/_types/core/EVM/EVMStepExecutor.d.ts +17 -0
  225. package/src/_types/core/EVM/EVMStepExecutor.d.ts.map +1 -0
  226. package/{dist/cjs/types → src/_types/core/EVM}/abi.d.ts +1 -0
  227. package/src/_types/core/EVM/abi.d.ts.map +1 -0
  228. package/src/_types/core/EVM/checkAllowance.d.ts +6 -0
  229. package/src/_types/core/EVM/checkAllowance.d.ts.map +1 -0
  230. package/{dist/cjs/allowance → src/_types/core/EVM}/getAllowance.d.ts +15 -1
  231. package/src/_types/core/EVM/getAllowance.d.ts.map +1 -0
  232. package/src/_types/core/EVM/getENSAddress.d.ts +2 -0
  233. package/src/_types/core/EVM/getENSAddress.d.ts.map +1 -0
  234. package/src/_types/core/EVM/getEVMBalance.d.ts +3 -0
  235. package/src/_types/core/EVM/getEVMBalance.d.ts.map +1 -0
  236. package/src/_types/core/EVM/multisig.d.ts +6 -0
  237. package/src/_types/core/EVM/multisig.d.ts.map +1 -0
  238. package/src/_types/core/EVM/publicClient.d.ts +8 -0
  239. package/src/_types/core/EVM/publicClient.d.ts.map +1 -0
  240. package/src/_types/core/EVM/setAllowance.d.ts +25 -0
  241. package/src/_types/core/EVM/setAllowance.d.ts.map +1 -0
  242. package/{dist/cjs/execution → src/_types/core/EVM}/switchChain.d.ts +5 -4
  243. package/src/_types/core/EVM/switchChain.d.ts.map +1 -0
  244. package/src/_types/core/EVM/types.d.ts +55 -0
  245. package/src/_types/core/EVM/types.d.ts.map +1 -0
  246. package/src/_types/core/EVM/utils.d.ts +10 -0
  247. package/src/_types/core/EVM/utils.d.ts.map +1 -0
  248. package/src/_types/core/Solana/Solana.d.ts +3 -0
  249. package/src/_types/core/Solana/Solana.d.ts.map +1 -0
  250. package/src/_types/core/Solana/SolanaStepExecutor.d.ts +13 -0
  251. package/src/_types/core/Solana/SolanaStepExecutor.d.ts.map +1 -0
  252. package/src/_types/core/Solana/connection.d.ts +8 -0
  253. package/src/_types/core/Solana/connection.d.ts.map +1 -0
  254. package/src/_types/core/Solana/getSNSAddress.d.ts +2 -0
  255. package/src/_types/core/Solana/getSNSAddress.d.ts.map +1 -0
  256. package/src/_types/core/Solana/getSolanaBalance.d.ts +3 -0
  257. package/src/_types/core/Solana/getSolanaBalance.d.ts.map +1 -0
  258. package/src/_types/core/Solana/isAddress.d.ts +2 -0
  259. package/src/_types/core/Solana/isAddress.d.ts.map +1 -0
  260. package/src/_types/core/Solana/types.d.ts +13 -0
  261. package/src/_types/core/Solana/types.d.ts.map +1 -0
  262. package/{dist/cjs/execution → src/_types/core}/StatusManager.d.ts +15 -28
  263. package/src/_types/core/StatusManager.d.ts.map +1 -0
  264. package/src/_types/core/checkBalance.d.ts +3 -0
  265. package/src/_types/core/checkBalance.d.ts.map +1 -0
  266. package/src/_types/core/execution.d.ts +42 -0
  267. package/src/_types/core/execution.d.ts.map +1 -0
  268. package/src/_types/core/executionState.d.ts +17 -0
  269. package/src/_types/core/executionState.d.ts.map +1 -0
  270. package/src/_types/core/index.d.ts +4 -0
  271. package/src/_types/core/index.d.ts.map +1 -0
  272. package/src/_types/core/prepareRestart.d.ts +3 -0
  273. package/src/_types/core/prepareRestart.d.ts.map +1 -0
  274. package/src/_types/core/provider.d.ts +3 -0
  275. package/src/_types/core/provider.d.ts.map +1 -0
  276. package/src/_types/core/rpc.d.ts +4 -0
  277. package/src/_types/core/rpc.d.ts.map +1 -0
  278. package/{dist/execution → src/_types/core}/stepComparison.d.ts +7 -4
  279. package/src/_types/core/stepComparison.d.ts.map +1 -0
  280. package/src/_types/core/types.d.ts +81 -0
  281. package/src/_types/core/types.d.ts.map +1 -0
  282. package/{dist/execution → src/_types/core}/utils.d.ts +3 -2
  283. package/src/_types/core/utils.d.ts.map +1 -0
  284. package/src/_types/core/waitForReceivingTransaction.d.ts +4 -0
  285. package/src/_types/core/waitForReceivingTransaction.d.ts.map +1 -0
  286. package/src/_types/createConfig.d.ts +4 -0
  287. package/src/_types/createConfig.d.ts.map +1 -0
  288. package/{dist → src/_types}/helpers.d.ts +4 -3
  289. package/src/_types/helpers.d.ts.map +1 -0
  290. package/src/_types/index.d.ts +15 -0
  291. package/src/_types/index.d.ts.map +1 -0
  292. package/{dist → src/_types}/request.d.ts +1 -0
  293. package/src/_types/request.d.ts.map +1 -0
  294. package/src/_types/services/api.d.ts +89 -0
  295. package/src/_types/services/api.d.ts.map +1 -0
  296. package/src/_types/services/balance.d.ts +30 -0
  297. package/src/_types/services/balance.d.ts.map +1 -0
  298. package/src/_types/services/getNameServiceAddress.d.ts +3 -0
  299. package/src/_types/services/getNameServiceAddress.d.ts.map +1 -0
  300. package/{dist/cjs → src/_types}/typeguards.d.ts +3 -2
  301. package/src/_types/typeguards.d.ts.map +1 -0
  302. package/src/_types/types/index.d.ts +2 -0
  303. package/src/_types/types/index.d.ts.map +1 -0
  304. package/src/_types/types/internal.d.ts +59 -0
  305. package/src/_types/types/internal.d.ts.map +1 -0
  306. package/{dist → src/_types}/utils/errors.d.ts +3 -1
  307. package/src/_types/utils/errors.d.ts.map +1 -0
  308. package/src/_types/utils/getTransactionMessage.d.ts +4 -0
  309. package/src/_types/utils/getTransactionMessage.d.ts.map +1 -0
  310. package/src/_types/utils/index.d.ts +6 -0
  311. package/src/_types/utils/index.d.ts.map +1 -0
  312. package/{dist/cjs → src/_types}/utils/median.d.ts +1 -0
  313. package/src/_types/utils/median.d.ts.map +1 -0
  314. package/src/_types/utils/parseBackendError.d.ts +3 -0
  315. package/src/_types/utils/parseBackendError.d.ts.map +1 -0
  316. package/{dist → src/_types}/utils/parseError.d.ts +4 -6
  317. package/src/_types/utils/parseError.d.ts.map +1 -0
  318. package/{dist → src/_types}/utils/utils.d.ts +1 -0
  319. package/src/_types/utils/utils.d.ts.map +1 -0
  320. package/src/_types/version.d.ts +3 -0
  321. package/src/_types/version.d.ts.map +1 -0
  322. package/src/config.ts +91 -0
  323. package/src/constants.ts +4 -0
  324. package/src/core/BaseStepExecutor.ts +40 -0
  325. package/src/core/EVM/EVM.ts +47 -0
  326. package/src/core/EVM/EVMStepExecutor.ts +503 -0
  327. package/src/core/EVM/abi.ts +47 -0
  328. package/src/core/EVM/checkAllowance.ts +168 -0
  329. package/src/core/EVM/getAllowance.ts +144 -0
  330. package/src/core/EVM/getENSAddress.ts +18 -0
  331. package/src/core/EVM/getEVMBalance.ts +118 -0
  332. package/src/core/EVM/multisig.ts +53 -0
  333. package/src/core/EVM/publicClient.ts +54 -0
  334. package/src/core/EVM/setAllowance.ts +144 -0
  335. package/src/core/EVM/switchChain.ts +77 -0
  336. package/src/core/EVM/types.ts +73 -0
  337. package/src/core/EVM/utils.ts +48 -0
  338. package/src/core/Solana/Solana.ts +41 -0
  339. package/src/core/Solana/SolanaStepExecutor.ts +272 -0
  340. package/src/core/Solana/connection.ts +20 -0
  341. package/src/core/Solana/getSNSAddress.ts +33 -0
  342. package/src/core/Solana/getSolanaBalance.ts +72 -0
  343. package/src/core/Solana/isAddress.ts +10 -0
  344. package/src/core/Solana/types.ts +18 -0
  345. package/src/core/StatusManager.ts +231 -0
  346. package/src/core/checkBalance.ts +48 -0
  347. package/src/core/execution.ts +210 -0
  348. package/src/core/executionState.ts +44 -0
  349. package/src/core/index.ts +3 -0
  350. package/src/core/prepareRestart.ts +82 -0
  351. package/src/core/provider.ts +12 -0
  352. package/src/core/rpc.ts +15 -0
  353. package/src/core/stepComparison.ts +51 -0
  354. package/src/core/types.ts +118 -0
  355. package/src/core/utils.ts +105 -0
  356. package/src/core/waitForReceivingTransaction.ts +74 -0
  357. package/src/createConfig.ts +33 -0
  358. package/src/helpers.ts +83 -0
  359. package/src/index.ts +18 -0
  360. package/src/request.ts +79 -0
  361. package/src/services/api.ts +509 -0
  362. package/src/services/balance.ts +93 -0
  363. package/src/services/getNameServiceAddress.ts +30 -0
  364. package/src/typeguards.ts +89 -0
  365. package/src/types/index.ts +1 -0
  366. package/src/types/internal.ts +62 -0
  367. package/src/utils/errors.ts +232 -0
  368. package/src/utils/getTransactionMessage.ts +46 -0
  369. package/src/utils/index.ts +5 -0
  370. package/src/utils/median.ts +11 -0
  371. package/src/utils/parseBackendError.ts +50 -0
  372. package/src/utils/parseError.ts +210 -0
  373. package/src/utils/utils.ts +48 -0
  374. package/src/version.ts +2 -0
  375. package/dist/LiFi.d.ts +0 -175
  376. package/dist/LiFi.js +0 -250
  377. package/dist/allowance/getAllowance.d.ts +0 -6
  378. package/dist/allowance/index.d.ts +0 -3
  379. package/dist/allowance/index.js +0 -3
  380. package/dist/allowance/setAllowance.d.ts +0 -6
  381. package/dist/allowance/types.d.ts +0 -27
  382. package/dist/allowance/types.js +0 -1
  383. package/dist/balance/getBalance.d.ts +0 -2
  384. package/dist/balance/getTokenBalance.d.ts +0 -8
  385. package/dist/balance/getTokenBalance.js +0 -27
  386. package/dist/balance/index.d.ts +0 -2
  387. package/dist/balance/index.js +0 -2
  388. package/dist/cjs/LiFi.d.ts +0 -175
  389. package/dist/cjs/LiFi.js +0 -280
  390. package/dist/cjs/allowance/index.d.ts +0 -3
  391. package/dist/cjs/allowance/index.js +0 -19
  392. package/dist/cjs/allowance/setAllowance.d.ts +0 -6
  393. package/dist/cjs/allowance/types.d.ts +0 -27
  394. package/dist/cjs/balance/getBalance.d.ts +0 -2
  395. package/dist/cjs/balance/getTokenBalance.d.ts +0 -8
  396. package/dist/cjs/balance/getTokenBalance.js +0 -33
  397. package/dist/cjs/balance/index.d.ts +0 -2
  398. package/dist/cjs/balance/index.js +0 -18
  399. package/dist/cjs/connectors.d.ts +0 -8
  400. package/dist/cjs/connectors.js +0 -75
  401. package/dist/cjs/execution/RouteExecutionManager.d.ts +0 -59
  402. package/dist/cjs/execution/RouteExecutionManager.js +0 -202
  403. package/dist/cjs/execution/StatusManager.js +0 -171
  404. package/dist/cjs/execution/StepExecutionManager.d.ts +0 -7
  405. package/dist/cjs/execution/StepExecutionManager.js +0 -272
  406. package/dist/cjs/execution/StepExecutor.d.ts +0 -15
  407. package/dist/cjs/execution/StepExecutor.js +0 -62
  408. package/dist/cjs/execution/checkAllowance.d.ts +0 -4
  409. package/dist/cjs/execution/checkBalance.d.ts +0 -2
  410. package/dist/cjs/execution/index.d.ts +0 -1
  411. package/dist/cjs/execution/index.js +0 -17
  412. package/dist/cjs/execution/multisig.d.ts +0 -4
  413. package/dist/cjs/execution/prepareRestart.d.ts +0 -3
  414. package/dist/cjs/execution/prepareRestart.js +0 -65
  415. package/dist/cjs/execution/stepComparison.d.ts +0 -14
  416. package/dist/cjs/execution/stepComparison.js +0 -37
  417. package/dist/cjs/execution/switchChain.js +0 -54
  418. package/dist/cjs/execution/utils.d.ts +0 -12
  419. package/dist/cjs/execution/waitForReceivingTransaction.d.ts +0 -3
  420. package/dist/cjs/helpers.d.ts +0 -18
  421. package/dist/cjs/helpers.js +0 -84
  422. package/dist/cjs/index.d.ts +0 -5
  423. package/dist/cjs/index.js +0 -24
  424. package/dist/cjs/request.d.ts +0 -9
  425. package/dist/cjs/request.js +0 -60
  426. package/dist/cjs/services/ApiService.d.ts +0 -17
  427. package/dist/cjs/services/ApiService.js +0 -326
  428. package/dist/cjs/services/ChainsService.d.ts +0 -11
  429. package/dist/cjs/services/ChainsService.js +0 -39
  430. package/dist/cjs/services/ConfigService.d.ts +0 -23
  431. package/dist/cjs/services/ConfigService.js +0 -101
  432. package/dist/cjs/types/index.d.ts +0 -4
  433. package/dist/cjs/types/index.js +0 -22
  434. package/dist/cjs/types/internal.types.d.ts +0 -145
  435. package/dist/cjs/utils/errors.d.ts +0 -107
  436. package/dist/cjs/utils/getMaxPriorityFeePerGas.d.ts +0 -2
  437. package/dist/cjs/utils/index.d.ts +0 -5
  438. package/dist/cjs/utils/index.js +0 -21
  439. package/dist/cjs/utils/parseError.d.ts +0 -37
  440. package/dist/cjs/utils/parseError.js +0 -157
  441. package/dist/cjs/utils/utils.d.ts +0 -10
  442. package/dist/cjs/version.d.ts +0 -2
  443. package/dist/connectors.d.ts +0 -8
  444. package/dist/connectors.js +0 -41
  445. package/dist/constants.d.ts +0 -6
  446. package/dist/execution/RouteExecutionManager.d.ts +0 -59
  447. package/dist/execution/RouteExecutionManager.js +0 -195
  448. package/dist/execution/StatusManager.d.ts +0 -67
  449. package/dist/execution/StatusManager.js +0 -167
  450. package/dist/execution/StepExecutionManager.d.ts +0 -7
  451. package/dist/execution/StepExecutionManager.js +0 -265
  452. package/dist/execution/StepExecutor.d.ts +0 -15
  453. package/dist/execution/StepExecutor.js +0 -58
  454. package/dist/execution/checkAllowance.d.ts +0 -4
  455. package/dist/execution/checkBalance.d.ts +0 -2
  456. package/dist/execution/index.d.ts +0 -1
  457. package/dist/execution/index.js +0 -1
  458. package/dist/execution/multisig.d.ts +0 -4
  459. package/dist/execution/prepareRestart.d.ts +0 -3
  460. package/dist/execution/prepareRestart.js +0 -61
  461. package/dist/execution/switchChain.d.ts +0 -21
  462. package/dist/execution/waitForReceivingTransaction.d.ts +0 -3
  463. package/dist/index.d.ts +0 -5
  464. package/dist/index.js +0 -6
  465. package/dist/services/ApiService.d.ts +0 -17
  466. package/dist/services/ApiService.js +0 -321
  467. package/dist/services/ChainsService.d.ts +0 -11
  468. package/dist/services/ChainsService.js +0 -33
  469. package/dist/services/ConfigService.d.ts +0 -23
  470. package/dist/services/ConfigService.js +0 -99
  471. package/dist/typeguards.d.ts +0 -4
  472. package/dist/types/abi.d.ts +0 -5
  473. package/dist/types/index.d.ts +0 -4
  474. package/dist/types/index.js +0 -4
  475. package/dist/types/internal.types.d.ts +0 -145
  476. package/dist/types/internal.types.js +0 -1
  477. package/dist/utils/getMaxPriorityFeePerGas.d.ts +0 -2
  478. package/dist/utils/index.d.ts +0 -5
  479. package/dist/utils/index.js +0 -5
  480. package/dist/utils/median.d.ts +0 -1
  481. package/dist/version.d.ts +0 -2
  482. package/dist/version.js +0 -2
@@ -0,0 +1,48 @@
1
+ import { AddressZero, AlternativeAddressZero } from '../constants.js'
2
+
3
+ export const wait = (ms: number): Promise<undefined> => {
4
+ return new Promise((resolve) => {
5
+ setTimeout(resolve, ms)
6
+ })
7
+ }
8
+
9
+ /**
10
+ * Repeatedly calls a given asynchronous function until it resolves with a value
11
+ * @param toRepeat The function that should be repeated
12
+ * @param timeout The timeout in milliseconds between retries, defaults to 5000
13
+ * @returns The result of the toRepeat function
14
+ */
15
+ export const repeatUntilDone = async <T>(
16
+ toRepeat: () => Promise<T | undefined>,
17
+ timeout = 5000
18
+ ): Promise<T> => {
19
+ let result: T | undefined
20
+
21
+ while (!result) {
22
+ result = await toRepeat()
23
+ if (!result) {
24
+ await wait(timeout)
25
+ }
26
+ }
27
+
28
+ return result
29
+ }
30
+
31
+ export const isZeroAddress = (address: string): boolean => {
32
+ if (address === AddressZero || address === AlternativeAddressZero) {
33
+ return true
34
+ }
35
+ return false
36
+ }
37
+
38
+ export const isNativeTokenAddress = (address: string): boolean => {
39
+ if (
40
+ address === AddressZero ||
41
+ address === AlternativeAddressZero ||
42
+ // CELO native token
43
+ address === '0x471ece3750da237f93b8e339c536989b8978a438'
44
+ ) {
45
+ return true
46
+ }
47
+ return false
48
+ }
package/src/version.ts ADDED
@@ -0,0 +1,2 @@
1
+ export const name = '@lifi/sdk'
2
+ export const version = '3.0.0-alpha.60'
package/dist/LiFi.d.ts DELETED
@@ -1,175 +0,0 @@
1
- import type { ChainId, ChainKey, ConnectionsRequest, ConnectionsResponse, ContractCallQuoteRequest, ExtendedChain, GasRecommendationRequest, GasRecommendationResponse, GetStatusRequest, LifiStep, PossibilitiesRequest, PossibilitiesResponse, QuoteRequest, RequestOptions, RoutesRequest, RoutesResponse, StatusResponse, Token, TokenAmount, TokensRequest, TokensResponse, ToolsRequest, ToolsResponse } from '@lifi/types';
2
- import type { Hash, PublicClient } from 'viem';
3
- import type { ApproveTokenRequest, RevokeApprovalRequest, TokenAllowance, TokenSpender } from './allowance';
4
- import { RouteExecutionManager } from './execution/RouteExecutionManager';
5
- import type { Config, ConfigUpdate } from './types';
6
- export declare class LiFi extends RouteExecutionManager {
7
- private chainsService;
8
- constructor(configUpdate: ConfigUpdate);
9
- /**
10
- * Get the current configuration of the SDK
11
- * @returns - The config object
12
- */
13
- getConfig: () => Config;
14
- /**
15
- * Get the SDK configuration after all setup calls are finished
16
- * @returns - The config object
17
- */
18
- getConfigAsync: () => Promise<Config>;
19
- /**
20
- * Get an instance of a provider for a specific chain
21
- * @param chainId - Id of the chain the provider is for
22
- * @returns The public client for the given chain
23
- */
24
- getPublicClient: (chainId: number) => Promise<PublicClient>;
25
- /**
26
- * Set a new confuration for the SDK
27
- * @param configUpdate - An object containing the configuration fields that should be updated.
28
- * @returns The renewed config object
29
- */
30
- setConfig: (configUpdate: Partial<ConfigUpdate>) => Config;
31
- /**
32
- * Get a set of current possibilities based on a request that specifies which chains, exchanges and bridges are preferred or unwanted.
33
- * @param request - Object defining preferences regarding chain, exchanges and bridges
34
- * @param options
35
- * @returns Object listing current possibilities for any-to-any cross-chain-swaps based on the provided preferences.
36
- * @throws {LiFiError} Throws a LiFiError if request fails.
37
- * @deprecated We don't want to support this endpoint anymore in the future. /chains, /tools, /connections, and /tokens should be used instead
38
- */
39
- getPossibilities: (request?: PossibilitiesRequest, options?: RequestOptions) => Promise<PossibilitiesResponse>;
40
- /**
41
- * Fetch information about a Token
42
- * @param chain - Id or key of the chain that contains the token
43
- * @param token - Address or symbol of the token on the requested chain
44
- * @param options
45
- * @throws {LiFiError} - Throws a LiFiError if request fails
46
- */
47
- getToken: (chain: ChainKey | ChainId, token: string, options?: RequestOptions) => Promise<Token>;
48
- /**
49
- * Get a quote for a token transfer
50
- * @param request - The configuration of the requested quote
51
- * @param options
52
- * @throws {LiFiError} - Throws a LiFiError if request fails
53
- */
54
- getQuote: (request: QuoteRequest, options?: RequestOptions) => Promise<LifiStep>;
55
- /**
56
- * Get a quote for a destination contract call
57
- * @param request - The configuration of the requested destination call
58
- * @param options
59
- * @throws {LiFiError} - Throws a LiFiError if request fails
60
- * @returns - Returns step.
61
- */
62
- getContractCallQuote: (request: ContractCallQuoteRequest, options?: RequestOptions) => Promise<LifiStep>;
63
- /**
64
- * Check the status of a transfer. For cross chain transfers, the "bridge" parameter is required.
65
- * @param request - Configuration of the requested status
66
- * @param options - Rrquest options.
67
- * @throws {LiFiError} - Throws a LiFiError if request fails
68
- * @returns Returns status response.
69
- */
70
- getStatus: (request: GetStatusRequest, options?: RequestOptions) => Promise<StatusResponse>;
71
- /**
72
- * Get the available tools to bridge and swap tokens.
73
- * @param request - The configuration of the requested tools
74
- * @param options
75
- * @returns The tools that are available on the requested chains
76
- */
77
- getTools: (request?: ToolsRequest, options?: RequestOptions) => Promise<ToolsResponse>;
78
- /**
79
- * Get all known tokens.
80
- * @param request - The configuration of the requested tokens
81
- * @param options
82
- * @returns The tokens that are available on the requested chains
83
- */
84
- getTokens: (request?: TokensRequest, options?: RequestOptions) => Promise<TokensResponse>;
85
- /**
86
- * Get all available chains
87
- * @returns A list of all available chains
88
- * @throws {LiFiError} Throws a LiFiError if request fails.
89
- */
90
- getChains: () => Promise<ExtendedChain[]>;
91
- /**
92
- * Get a set of routes for a request that describes a transfer of tokens.
93
- * @param request - A description of the transfer.
94
- * @param options
95
- * @returns The resulting routes that can be used to realize the described transfer of tokens.
96
- * @throws {LiFiError} Throws a LiFiError if request fails.
97
- */
98
- getRoutes: (request: RoutesRequest, options?: RequestOptions) => Promise<RoutesResponse>;
99
- /**
100
- * Get the transaction data for a single step of a route
101
- * @param step - The step object.
102
- * @param options
103
- * @returns The step populated with the transaction data.
104
- * @throws {LiFiError} Throws a LiFiError if request fails.
105
- */
106
- getStepTransaction: (step: LifiStep, options?: RequestOptions) => Promise<LifiStep>;
107
- /**
108
- * Get gas recommendation for a certain chain
109
- * @param request - Configuration of the requested recommendation.
110
- * @param options
111
- * @throws {LiFiError} Throws a LiFiError if request fails.
112
- */
113
- getGasRecommendation: (request: GasRecommendationRequest, options?: RequestOptions) => Promise<GasRecommendationResponse>;
114
- /**
115
- * Returns the balances of a specific token a wallet holds across all aggregated chains.
116
- * @param walletAddress - A wallet address.
117
- * @param token - A Token object.
118
- * @returns An object containing the token and the amounts on different chains.
119
- * @throws {ValidationError} Throws a ValidationError if parameters are invalid.
120
- */
121
- getTokenBalance: (walletAddress: string, token: Token) => Promise<TokenAmount | null>;
122
- /**
123
- * Returns the balances for a list tokens a wallet holds across all aggregated chains.
124
- * @param walletAddress - A wallet address.
125
- * @param tokens - A list of Token objects.
126
- * @returns A list of objects containing the tokens and the amounts on different chains.
127
- * @throws {ValidationError} Throws a ValidationError if parameters are invalid.
128
- */
129
- getTokenBalances: (walletAddress: string, tokens: Token[]) => Promise<TokenAmount[]>;
130
- /**
131
- * This method queries the balances of tokens for a specific list of chains for a given wallet.
132
- * @param walletAddress - A walletaddress.
133
- * @param tokensByChain - A list of Token objects organized by chain ids.
134
- * @returns A list of objects containing the tokens and the amounts on different chains organized by the chosen chains.
135
- * @throws {ValidationError} Throws a ValidationError if parameters are invalid.
136
- */
137
- getTokenBalancesByChain: (walletAddress: string, tokensByChain: {
138
- [chainId: number]: Token[];
139
- }) => Promise<{
140
- [chainId: number]: TokenAmount[];
141
- }>;
142
- /**
143
- * Get the current allowance for a certain token.
144
- * @param token - The token that should be checked
145
- * @param ownerAddress - The owner of the token
146
- * @param spenderAddress - The spender address that has to be approved
147
- * @returns Returns allowance
148
- */
149
- getTokenAllowance: (token: Token, ownerAddress: string, spenderAddress: string) => Promise<bigint | undefined>;
150
- /**
151
- * Get the current allowance for a list of token/spender address pairs.
152
- * @param ownerAddress - The owner of the tokens
153
- * @param tokens - A list of token and spender address pairs
154
- * @returns Returns array of tokens and their allowance
155
- */
156
- getTokenAllowanceMulticall: (ownerAddress: string, tokens: TokenSpender[]) => Promise<TokenAllowance[]>;
157
- /**
158
- * Set approval for a certain token and amount.
159
- * @param request - The approval request
160
- * @returns Returns Hash or nothing
161
- */
162
- setTokenApproval: (request: ApproveTokenRequest) => Promise<Hash | undefined>;
163
- /**
164
- * Revoke approval for a certain token.
165
- * @param request - The revoke request
166
- * @returns Returns Hash or nothing
167
- */
168
- revokeTokenApproval: (request: RevokeApprovalRequest) => Promise<Hash | undefined>;
169
- /**
170
- * Get all the available connections for swap/bridging tokens
171
- * @param connectionRequest ConnectionsRequest
172
- * @returns ConnectionsResponse
173
- */
174
- getConnections: (connectionRequest: ConnectionsRequest) => Promise<ConnectionsResponse>;
175
- }
package/dist/LiFi.js DELETED
@@ -1,250 +0,0 @@
1
- import { getTokenAllowance, getTokenAllowanceMulticall, revokeTokenApproval, setTokenAllowance, } from './allowance';
2
- import * as balance from './balance';
3
- import { getPublicClient } from './connectors';
4
- import { RouteExecutionManager } from './execution/RouteExecutionManager';
5
- import { checkPackageUpdates } from './helpers';
6
- import ApiService from './services/ApiService';
7
- import ChainsService from './services/ChainsService';
8
- import { isToken } from './typeguards';
9
- import { ValidationError } from './utils/errors';
10
- import { name, version } from './version';
11
- export class LiFi extends RouteExecutionManager {
12
- constructor(configUpdate) {
13
- super(configUpdate);
14
- /**
15
- * Get the current configuration of the SDK
16
- * @returns - The config object
17
- */
18
- this.getConfig = () => {
19
- return this.configService.getConfig();
20
- };
21
- /**
22
- * Get the SDK configuration after all setup calls are finished
23
- * @returns - The config object
24
- */
25
- this.getConfigAsync = () => {
26
- return this.configService.getConfigAsync();
27
- };
28
- /**
29
- * Get an instance of a provider for a specific chain
30
- * @param chainId - Id of the chain the provider is for
31
- * @returns The public client for the given chain
32
- */
33
- this.getPublicClient = (chainId) => {
34
- return getPublicClient(chainId);
35
- };
36
- /**
37
- * Set a new confuration for the SDK
38
- * @param configUpdate - An object containing the configuration fields that should be updated.
39
- * @returns The renewed config object
40
- */
41
- this.setConfig = (configUpdate) => {
42
- return this.configService.updateConfig(configUpdate);
43
- };
44
- /**
45
- * Get a set of current possibilities based on a request that specifies which chains, exchanges and bridges are preferred or unwanted.
46
- * @param request - Object defining preferences regarding chain, exchanges and bridges
47
- * @param options
48
- * @returns Object listing current possibilities for any-to-any cross-chain-swaps based on the provided preferences.
49
- * @throws {LiFiError} Throws a LiFiError if request fails.
50
- * @deprecated We don't want to support this endpoint anymore in the future. /chains, /tools, /connections, and /tokens should be used instead
51
- */
52
- this.getPossibilities = async (request, options) => {
53
- return ApiService.getPossibilities(request, options);
54
- };
55
- /**
56
- * Fetch information about a Token
57
- * @param chain - Id or key of the chain that contains the token
58
- * @param token - Address or symbol of the token on the requested chain
59
- * @param options
60
- * @throws {LiFiError} - Throws a LiFiError if request fails
61
- */
62
- this.getToken = async (chain, token, options) => {
63
- return ApiService.getToken(chain, token, options);
64
- };
65
- /**
66
- * Get a quote for a token transfer
67
- * @param request - The configuration of the requested quote
68
- * @param options
69
- * @throws {LiFiError} - Throws a LiFiError if request fails
70
- */
71
- this.getQuote = async (request, options) => {
72
- return ApiService.getQuote(request, options);
73
- };
74
- /**
75
- * Get a quote for a destination contract call
76
- * @param request - The configuration of the requested destination call
77
- * @param options
78
- * @throws {LiFiError} - Throws a LiFiError if request fails
79
- * @returns - Returns step.
80
- */
81
- this.getContractCallQuote = async (request, options) => {
82
- return ApiService.getContractCallQuote(request, options);
83
- };
84
- /**
85
- * Check the status of a transfer. For cross chain transfers, the "bridge" parameter is required.
86
- * @param request - Configuration of the requested status
87
- * @param options - Rrquest options.
88
- * @throws {LiFiError} - Throws a LiFiError if request fails
89
- * @returns Returns status response.
90
- */
91
- this.getStatus = async (request, options) => {
92
- return ApiService.getStatus(request, options);
93
- };
94
- /**
95
- * Get the available tools to bridge and swap tokens.
96
- * @param request - The configuration of the requested tools
97
- * @param options
98
- * @returns The tools that are available on the requested chains
99
- */
100
- this.getTools = async (request, options) => {
101
- return ApiService.getTools(request || {}, options);
102
- };
103
- /**
104
- * Get all known tokens.
105
- * @param request - The configuration of the requested tokens
106
- * @param options
107
- * @returns The tokens that are available on the requested chains
108
- */
109
- this.getTokens = async (request, options) => {
110
- return ApiService.getTokens(request || {}, options);
111
- };
112
- /**
113
- * Get all available chains
114
- * @returns A list of all available chains
115
- * @throws {LiFiError} Throws a LiFiError if request fails.
116
- */
117
- this.getChains = async () => {
118
- return this.chainsService.getChains();
119
- };
120
- /**
121
- * Get a set of routes for a request that describes a transfer of tokens.
122
- * @param request - A description of the transfer.
123
- * @param options
124
- * @returns The resulting routes that can be used to realize the described transfer of tokens.
125
- * @throws {LiFiError} Throws a LiFiError if request fails.
126
- */
127
- this.getRoutes = async (request, options) => {
128
- return ApiService.getRoutes(request, options);
129
- };
130
- /**
131
- * Get the transaction data for a single step of a route
132
- * @param step - The step object.
133
- * @param options
134
- * @returns The step populated with the transaction data.
135
- * @throws {LiFiError} Throws a LiFiError if request fails.
136
- */
137
- this.getStepTransaction = async (step, options) => {
138
- return ApiService.getStepTransaction(step, options);
139
- };
140
- /**
141
- * Get gas recommendation for a certain chain
142
- * @param request - Configuration of the requested recommendation.
143
- * @param options
144
- * @throws {LiFiError} Throws a LiFiError if request fails.
145
- */
146
- this.getGasRecommendation = async (request, options) => {
147
- return ApiService.getGasRecommendation(request, options);
148
- };
149
- /**
150
- * Returns the balances of a specific token a wallet holds across all aggregated chains.
151
- * @param walletAddress - A wallet address.
152
- * @param token - A Token object.
153
- * @returns An object containing the token and the amounts on different chains.
154
- * @throws {ValidationError} Throws a ValidationError if parameters are invalid.
155
- */
156
- this.getTokenBalance = async (walletAddress, token) => {
157
- if (!walletAddress) {
158
- throw new ValidationError('Missing walletAddress.');
159
- }
160
- if (!isToken(token)) {
161
- throw new ValidationError(`Invalid token passed: address "${token.address}" on chainId "${token.chainId}"`);
162
- }
163
- return balance.getTokenBalance(walletAddress, token);
164
- };
165
- /**
166
- * Returns the balances for a list tokens a wallet holds across all aggregated chains.
167
- * @param walletAddress - A wallet address.
168
- * @param tokens - A list of Token objects.
169
- * @returns A list of objects containing the tokens and the amounts on different chains.
170
- * @throws {ValidationError} Throws a ValidationError if parameters are invalid.
171
- */
172
- this.getTokenBalances = async (walletAddress, tokens) => {
173
- if (!walletAddress) {
174
- throw new ValidationError('Missing walletAddress.');
175
- }
176
- const invalidTokens = tokens.filter((token) => !isToken(token));
177
- if (invalidTokens.length) {
178
- throw new ValidationError(`Invalid token passed: address "${invalidTokens[0].address}" on chainId "${invalidTokens[0].chainId}"`);
179
- }
180
- return balance.getTokenBalances(walletAddress, tokens);
181
- };
182
- /**
183
- * This method queries the balances of tokens for a specific list of chains for a given wallet.
184
- * @param walletAddress - A walletaddress.
185
- * @param tokensByChain - A list of Token objects organized by chain ids.
186
- * @returns A list of objects containing the tokens and the amounts on different chains organized by the chosen chains.
187
- * @throws {ValidationError} Throws a ValidationError if parameters are invalid.
188
- */
189
- this.getTokenBalancesByChain = async (walletAddress, tokensByChain) => {
190
- if (!walletAddress) {
191
- throw new ValidationError('Missing walletAddress.');
192
- }
193
- const tokenList = Object.values(tokensByChain).flat();
194
- const invalidTokens = tokenList.filter((token) => !isToken(token));
195
- if (invalidTokens.length) {
196
- throw new ValidationError(`Invalid token passed: address "${invalidTokens[0].address}" on chainId "${invalidTokens[0].chainId}"`);
197
- }
198
- return balance.getTokenBalancesByChain(walletAddress, tokensByChain);
199
- };
200
- /**
201
- * Get the current allowance for a certain token.
202
- * @param token - The token that should be checked
203
- * @param ownerAddress - The owner of the token
204
- * @param spenderAddress - The spender address that has to be approved
205
- * @returns Returns allowance
206
- */
207
- this.getTokenAllowance = async (token, ownerAddress, spenderAddress) => {
208
- return getTokenAllowance(token, ownerAddress, spenderAddress);
209
- };
210
- /**
211
- * Get the current allowance for a list of token/spender address pairs.
212
- * @param ownerAddress - The owner of the tokens
213
- * @param tokens - A list of token and spender address pairs
214
- * @returns Returns array of tokens and their allowance
215
- */
216
- this.getTokenAllowanceMulticall = async (ownerAddress, tokens) => {
217
- return getTokenAllowanceMulticall(ownerAddress, tokens);
218
- };
219
- /**
220
- * Set approval for a certain token and amount.
221
- * @param request - The approval request
222
- * @returns Returns Hash or nothing
223
- */
224
- this.setTokenApproval = (request) => {
225
- return setTokenAllowance(request);
226
- };
227
- /**
228
- * Revoke approval for a certain token.
229
- * @param request - The revoke request
230
- * @returns Returns Hash or nothing
231
- */
232
- this.revokeTokenApproval = (request) => {
233
- return revokeTokenApproval(request);
234
- };
235
- /**
236
- * Get all the available connections for swap/bridging tokens
237
- * @param connectionRequest ConnectionsRequest
238
- * @returns ConnectionsResponse
239
- */
240
- this.getConnections = async (connectionRequest) => {
241
- const connections = await ApiService.getAvailableConnections(connectionRequest);
242
- return connections;
243
- };
244
- this.chainsService = ChainsService.getInstance();
245
- this.chainsService.getChains().then((chains) => {
246
- this.configService.updateChains(chains);
247
- });
248
- checkPackageUpdates(name, version, configUpdate.disableVersionCheck);
249
- }
250
- }
@@ -1,6 +0,0 @@
1
- import type { ChainId, Token } from '@lifi/types';
2
- import type { TokenAllowance, TokenSpender, TokenSpenderAllowance } from './types';
3
- export declare const getAllowance: (chainId: ChainId, tokenAddress: string, ownerAddress: string, spenderAddress: string) => Promise<bigint>;
4
- export declare const getAllowanceMulticall: (chainId: ChainId, tokens: TokenSpender[], ownerAddress: string) => Promise<TokenSpenderAllowance[]>;
5
- export declare const getTokenAllowance: (token: Token, ownerAddress: string, spenderAddress: string) => Promise<bigint | undefined>;
6
- export declare const getTokenAllowanceMulticall: (ownerAddress: string, tokens: TokenSpender[]) => Promise<TokenAllowance[]>;
@@ -1,3 +0,0 @@
1
- export * from './getAllowance';
2
- export * from './setAllowance';
3
- export * from './types';
@@ -1,3 +0,0 @@
1
- export * from './getAllowance';
2
- export * from './setAllowance';
3
- export * from './types';
@@ -1,6 +0,0 @@
1
- import type { Hash, WalletClient } from 'viem';
2
- import type { InternalExecutionSettings } from '../types';
3
- import type { ApproveTokenRequest, RevokeApprovalRequest } from './types';
4
- export declare const setAllowance: (walletClient: WalletClient, tokenAddress: string, contractAddress: string, amount: bigint, settings?: InternalExecutionSettings, returnPopulatedTransaction?: boolean) => Promise<Hash>;
5
- export declare const setTokenAllowance: ({ walletClient, token, spenderAddress, amount, infiniteApproval, }: ApproveTokenRequest) => Promise<Hash | undefined>;
6
- export declare const revokeTokenApproval: ({ walletClient, token, spenderAddress, }: RevokeApprovalRequest) => Promise<Hash | undefined>;
@@ -1,27 +0,0 @@
1
- import type { Token } from '@lifi/types';
2
- import type { WalletClient } from 'viem';
3
- export type TokenSpender = {
4
- token: Token;
5
- spenderAddress: string;
6
- };
7
- export type TokenAllowance = {
8
- token: Token;
9
- allowance?: bigint;
10
- };
11
- export type TokenSpenderAllowance = {
12
- token: Token;
13
- spenderAddress: string;
14
- allowance?: bigint;
15
- };
16
- export interface ApproveTokenRequest {
17
- walletClient: WalletClient;
18
- token: Token;
19
- spenderAddress: string;
20
- amount: bigint;
21
- infiniteApproval?: boolean;
22
- }
23
- export interface RevokeApprovalRequest {
24
- walletClient: WalletClient;
25
- token: Token;
26
- spenderAddress: string;
27
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,2 +0,0 @@
1
- import type { Token, TokenAmount } from '@lifi/types';
2
- export declare const getBalance: (walletAddress: string, tokens: Token[]) => Promise<TokenAmount[]>;
@@ -1,8 +0,0 @@
1
- import type { Token, TokenAmount } from '@lifi/types';
2
- export declare const getTokenBalance: (walletAddress: string, token: Token) => Promise<TokenAmount | null>;
3
- export declare const getTokenBalances: (walletAddress: string, tokens: Token[]) => Promise<TokenAmount[]>;
4
- export declare const getTokenBalancesByChain: (walletAddress: string, tokensByChain: {
5
- [chainId: number]: Token[];
6
- }) => Promise<{
7
- [chainId: number]: TokenAmount[];
8
- }>;
@@ -1,27 +0,0 @@
1
- import { getBalance } from './getBalance';
2
- export const getTokenBalance = async (walletAddress, token) => {
3
- const tokenAmounts = await getTokenBalances(walletAddress, [token]);
4
- return tokenAmounts.length ? tokenAmounts[0] : null;
5
- };
6
- export const getTokenBalances = async (walletAddress, tokens) => {
7
- // split by chain
8
- const tokensByChain = {};
9
- tokens.forEach((token) => {
10
- if (!tokensByChain[token.chainId]) {
11
- tokensByChain[token.chainId] = [];
12
- }
13
- tokensByChain[token.chainId].push(token);
14
- });
15
- const tokenAmountsByChain = await getTokenBalancesByChain(walletAddress, tokensByChain);
16
- return Object.values(tokenAmountsByChain).flat();
17
- };
18
- export const getTokenBalancesByChain = async (walletAddress, tokensByChain) => {
19
- const tokenAmountsByChain = {};
20
- const promises = Object.keys(tokensByChain).map(async (chainIdStr) => {
21
- const chainId = parseInt(chainIdStr);
22
- const tokenAmounts = await getBalance(walletAddress, tokensByChain[chainId]);
23
- tokenAmountsByChain[chainId] = tokenAmounts;
24
- });
25
- await Promise.allSettled(promises);
26
- return tokenAmountsByChain;
27
- };
@@ -1,2 +0,0 @@
1
- export * from './getBalance';
2
- export * from './getTokenBalance';
@@ -1,2 +0,0 @@
1
- export * from './getBalance';
2
- export * from './getTokenBalance';