@lifi/sdk 3.0.0-alpha.11 → 3.0.0-alpha.13

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 (390) hide show
  1. package/dist/cjs/config.js +48 -0
  2. package/dist/cjs/config.js.map +1 -0
  3. package/dist/cjs/{execution → core}/BaseStepExecutor.js +4 -3
  4. package/dist/cjs/core/BaseStepExecutor.js.map +1 -0
  5. package/dist/cjs/core/EVM/EVM.js +43 -0
  6. package/dist/cjs/core/EVM/EVM.js.map +1 -0
  7. package/dist/cjs/{execution → core/EVM}/EVMStepExecutor.js +34 -30
  8. package/dist/cjs/core/EVM/EVMStepExecutor.js.map +1 -0
  9. package/dist/cjs/core/EVM/abi.js.map +1 -0
  10. package/dist/cjs/{execution → core/EVM}/checkAllowance.js +10 -9
  11. package/dist/cjs/core/EVM/checkAllowance.js.map +1 -0
  12. package/dist/cjs/{allowance → core/EVM}/getAllowance.js +10 -9
  13. package/dist/cjs/core/EVM/getAllowance.js.map +1 -0
  14. package/dist/cjs/{balance/getBalance.js → core/EVM/getEVMBalance.js} +19 -18
  15. package/dist/cjs/core/EVM/getEVMBalance.js.map +1 -0
  16. package/dist/cjs/{execution → core/EVM}/multisig.js +4 -6
  17. package/dist/cjs/core/EVM/multisig.js.map +1 -0
  18. package/dist/cjs/core/EVM/publicClient.js +35 -0
  19. package/dist/cjs/core/EVM/publicClient.js.map +1 -0
  20. package/dist/cjs/{allowance → core/EVM}/setAllowance.js +5 -5
  21. package/dist/cjs/core/EVM/setAllowance.js.map +1 -0
  22. package/dist/cjs/{execution → core/EVM}/switchChain.js +3 -3
  23. package/dist/cjs/core/EVM/switchChain.js.map +1 -0
  24. package/dist/cjs/core/EVM/types.js +9 -0
  25. package/dist/cjs/core/EVM/types.js.map +1 -0
  26. package/dist/cjs/{utils/getMaxPriorityFeePerGas.js → core/EVM/utils.js} +10 -3
  27. package/dist/cjs/core/EVM/utils.js.map +1 -0
  28. package/dist/cjs/core/Solana/Solana.js +35 -0
  29. package/dist/cjs/core/Solana/Solana.js.map +1 -0
  30. package/dist/cjs/core/Solana/connection.js +18 -0
  31. package/dist/cjs/core/Solana/connection.js.map +1 -0
  32. package/dist/cjs/core/Solana/getSolanaBalance.js +48 -0
  33. package/dist/cjs/core/Solana/getSolanaBalance.js.map +1 -0
  34. package/dist/cjs/core/Solana/types.js +9 -0
  35. package/dist/cjs/core/Solana/types.js.map +1 -0
  36. package/dist/cjs/{execution → core}/StatusManager.js +16 -27
  37. package/dist/cjs/core/StatusManager.js.map +1 -0
  38. package/dist/cjs/{execution → core}/checkBalance.js +3 -3
  39. package/dist/cjs/core/checkBalance.js.map +1 -0
  40. package/dist/cjs/core/execution.js +134 -0
  41. package/dist/cjs/core/execution.js.map +1 -0
  42. package/dist/cjs/core/executionState.js +23 -0
  43. package/dist/cjs/core/executionState.js.map +1 -0
  44. package/dist/cjs/{execution → core}/index.js +1 -0
  45. package/dist/cjs/core/index.js.map +1 -0
  46. package/dist/cjs/core/prepareRestart.js.map +1 -0
  47. package/dist/cjs/core/provider.js +15 -0
  48. package/dist/cjs/core/provider.js.map +1 -0
  49. package/dist/cjs/{execution → core}/stepComparison.js +3 -3
  50. package/dist/cjs/core/stepComparison.js.map +1 -0
  51. package/dist/cjs/{allowance → core}/types.js.map +1 -1
  52. package/dist/cjs/{execution → core}/utils.js +15 -1
  53. package/dist/cjs/core/utils.js.map +1 -0
  54. package/dist/cjs/{execution → core}/waitForReceivingTransaction.js +6 -6
  55. package/dist/cjs/core/waitForReceivingTransaction.js.map +1 -0
  56. package/dist/cjs/createConfig.js +48 -0
  57. package/dist/cjs/createConfig.js.map +1 -0
  58. package/dist/cjs/index.js +7 -7
  59. package/dist/cjs/index.js.map +1 -1
  60. package/dist/cjs/request.js +5 -2
  61. package/dist/cjs/request.js.map +1 -1
  62. package/dist/cjs/services/api.js +284 -0
  63. package/dist/cjs/services/api.js.map +1 -0
  64. package/dist/cjs/services/balance.js +49 -0
  65. package/dist/cjs/services/balance.js.map +1 -0
  66. package/dist/cjs/types/index.js +0 -1
  67. package/dist/cjs/types/index.js.map +1 -1
  68. package/dist/cjs/utils/getTransactionMessage.js +31 -0
  69. package/dist/cjs/utils/getTransactionMessage.js.map +1 -0
  70. package/dist/cjs/utils/index.js +1 -1
  71. package/dist/cjs/utils/index.js.map +1 -1
  72. package/dist/cjs/utils/parseBackendError.js +27 -0
  73. package/dist/cjs/utils/parseBackendError.js.map +1 -0
  74. package/dist/cjs/utils/parseError.js +10 -60
  75. package/dist/cjs/utils/parseError.js.map +1 -1
  76. package/dist/cjs/version.js +1 -1
  77. package/dist/esm/config.js +45 -0
  78. package/dist/esm/config.js.map +1 -0
  79. package/dist/esm/{execution → core}/BaseStepExecutor.js +4 -3
  80. package/dist/esm/core/BaseStepExecutor.js.map +1 -0
  81. package/dist/esm/core/EVM/EVM.js +39 -0
  82. package/dist/esm/core/EVM/EVM.js.map +1 -0
  83. package/dist/esm/{execution → core/EVM}/EVMStepExecutor.js +33 -29
  84. package/dist/esm/core/EVM/EVMStepExecutor.js.map +1 -0
  85. package/dist/esm/core/EVM/abi.js.map +1 -0
  86. package/dist/esm/{execution → core/EVM}/checkAllowance.js +6 -5
  87. package/dist/esm/core/EVM/checkAllowance.js.map +1 -0
  88. package/dist/esm/{allowance → core/EVM}/getAllowance.js +18 -4
  89. package/dist/esm/core/EVM/getAllowance.js.map +1 -0
  90. package/dist/esm/{balance/getBalance.js → core/EVM/getEVMBalance.js} +11 -10
  91. package/dist/esm/core/EVM/getEVMBalance.js.map +1 -0
  92. package/dist/esm/{execution → core/EVM}/multisig.js +4 -6
  93. package/dist/esm/core/EVM/multisig.js.map +1 -0
  94. package/dist/esm/core/EVM/publicClient.js +37 -0
  95. package/dist/esm/core/EVM/publicClient.js.map +1 -0
  96. package/dist/esm/{allowance → core/EVM}/setAllowance.js +21 -3
  97. package/dist/esm/core/EVM/setAllowance.js.map +1 -0
  98. package/dist/esm/{execution → core/EVM}/switchChain.js +3 -3
  99. package/dist/esm/core/EVM/switchChain.js.map +1 -0
  100. package/dist/esm/core/EVM/types.js +6 -0
  101. package/dist/esm/core/EVM/types.js.map +1 -0
  102. package/dist/esm/{utils/getMaxPriorityFeePerGas.js → core/EVM/utils.js} +9 -2
  103. package/dist/esm/core/EVM/utils.js.map +1 -0
  104. package/dist/esm/core/Solana/Solana.js +33 -0
  105. package/dist/esm/core/Solana/Solana.js.map +1 -0
  106. package/dist/esm/core/Solana/connection.js +19 -0
  107. package/dist/esm/core/Solana/connection.js.map +1 -0
  108. package/dist/esm/core/Solana/getSolanaBalance.js +44 -0
  109. package/dist/esm/core/Solana/getSolanaBalance.js.map +1 -0
  110. package/dist/esm/core/Solana/types.js +6 -0
  111. package/dist/esm/core/Solana/types.js.map +1 -0
  112. package/dist/esm/{execution → core}/StatusManager.js +18 -29
  113. package/dist/esm/core/StatusManager.js.map +1 -0
  114. package/dist/esm/{execution → core}/checkBalance.js +2 -2
  115. package/dist/esm/core/checkBalance.js.map +1 -0
  116. package/dist/esm/core/execution.js +173 -0
  117. package/dist/esm/core/execution.js.map +1 -0
  118. package/dist/esm/core/executionState.js +20 -0
  119. package/dist/esm/core/executionState.js.map +1 -0
  120. package/dist/esm/core/index.js +4 -0
  121. package/dist/esm/core/index.js.map +1 -0
  122. package/dist/esm/core/prepareRestart.js.map +1 -0
  123. package/dist/esm/core/provider.js +11 -0
  124. package/dist/esm/core/provider.js.map +1 -0
  125. package/dist/esm/{execution → core}/stepComparison.js +4 -3
  126. package/dist/esm/core/stepComparison.js.map +1 -0
  127. package/dist/{cjs/execution → esm/core}/types.js.map +1 -1
  128. package/dist/esm/{execution → core}/utils.js +13 -0
  129. package/dist/esm/core/utils.js.map +1 -0
  130. package/dist/esm/{execution → core}/waitForReceivingTransaction.js +6 -6
  131. package/dist/esm/core/waitForReceivingTransaction.js.map +1 -0
  132. package/dist/esm/createConfig.js +45 -0
  133. package/dist/esm/createConfig.js.map +1 -0
  134. package/dist/esm/index.js +4 -4
  135. package/dist/esm/index.js.map +1 -1
  136. package/dist/esm/request.js +5 -2
  137. package/dist/esm/request.js.map +1 -1
  138. package/dist/esm/services/api.js +353 -0
  139. package/dist/esm/services/api.js.map +1 -0
  140. package/dist/esm/services/balance.js +65 -0
  141. package/dist/esm/services/balance.js.map +1 -0
  142. package/dist/esm/types/index.js +0 -1
  143. package/dist/esm/types/index.js.map +1 -1
  144. package/dist/esm/utils/getTransactionMessage.js +28 -0
  145. package/dist/esm/utils/getTransactionMessage.js.map +1 -0
  146. package/dist/esm/utils/index.js +1 -1
  147. package/dist/esm/utils/index.js.map +1 -1
  148. package/dist/esm/utils/parseBackendError.js +24 -0
  149. package/dist/esm/utils/parseBackendError.js.map +1 -0
  150. package/dist/esm/utils/parseError.js +2 -52
  151. package/dist/esm/utils/parseError.js.map +1 -1
  152. package/dist/esm/version.js +1 -1
  153. package/dist/types/config.d.ts +11 -0
  154. package/dist/types/config.d.ts.map +1 -0
  155. package/dist/types/core/BaseStepExecutor.d.ts +13 -0
  156. package/dist/types/core/BaseStepExecutor.d.ts.map +1 -0
  157. package/dist/types/core/EVM/EVM.d.ts +3 -0
  158. package/dist/types/core/EVM/EVM.d.ts.map +1 -0
  159. package/dist/types/{execution → core/EVM}/EVMStepExecutor.d.ts +6 -3
  160. package/dist/types/core/EVM/EVMStepExecutor.d.ts.map +1 -0
  161. package/dist/types/core/EVM/abi.d.ts.map +1 -0
  162. package/dist/types/core/EVM/checkAllowance.d.ts +6 -0
  163. package/dist/types/core/EVM/checkAllowance.d.ts.map +1 -0
  164. package/dist/types/{allowance → core/EVM}/getAllowance.d.ts +13 -0
  165. package/dist/types/core/EVM/getAllowance.d.ts.map +1 -0
  166. package/dist/types/core/EVM/getEVMBalance.d.ts +3 -0
  167. package/dist/types/core/EVM/getEVMBalance.d.ts.map +1 -0
  168. package/dist/types/core/EVM/multisig.d.ts +6 -0
  169. package/dist/types/core/EVM/multisig.d.ts.map +1 -0
  170. package/dist/types/core/EVM/publicClient.d.ts +8 -0
  171. package/dist/types/core/EVM/publicClient.d.ts.map +1 -0
  172. package/dist/types/core/EVM/setAllowance.d.ts +25 -0
  173. package/dist/types/core/EVM/setAllowance.d.ts.map +1 -0
  174. package/dist/types/{execution → core/EVM}/switchChain.d.ts +3 -3
  175. package/dist/types/core/EVM/switchChain.d.ts.map +1 -0
  176. package/dist/types/core/EVM/types.d.ts +56 -0
  177. package/dist/types/core/EVM/types.d.ts.map +1 -0
  178. package/dist/types/core/EVM/utils.d.ts +5 -0
  179. package/dist/types/core/EVM/utils.d.ts.map +1 -0
  180. package/dist/types/core/Solana/Solana.d.ts +3 -0
  181. package/dist/types/core/Solana/Solana.d.ts.map +1 -0
  182. package/dist/types/core/Solana/connection.d.ts +8 -0
  183. package/dist/types/core/Solana/connection.d.ts.map +1 -0
  184. package/dist/types/core/Solana/getSolanaBalance.d.ts +3 -0
  185. package/dist/types/core/Solana/getSolanaBalance.d.ts.map +1 -0
  186. package/dist/types/core/Solana/types.d.ts +11 -0
  187. package/dist/types/core/Solana/types.d.ts.map +1 -0
  188. package/dist/types/{execution → core}/StatusManager.d.ts +5 -9
  189. package/dist/types/core/StatusManager.d.ts.map +1 -0
  190. package/dist/types/core/checkBalance.d.ts.map +1 -0
  191. package/dist/types/core/execution.d.ts +42 -0
  192. package/dist/types/core/execution.d.ts.map +1 -0
  193. package/dist/types/core/executionState.d.ts +16 -0
  194. package/dist/types/core/executionState.d.ts.map +1 -0
  195. package/dist/types/core/index.d.ts +4 -0
  196. package/dist/types/core/index.d.ts.map +1 -0
  197. package/dist/types/core/prepareRestart.d.ts.map +1 -0
  198. package/dist/types/core/provider.d.ts +3 -0
  199. package/dist/types/core/provider.d.ts.map +1 -0
  200. package/dist/types/{execution → core}/stepComparison.d.ts +3 -2
  201. package/dist/types/core/stepComparison.d.ts.map +1 -0
  202. package/dist/types/core/types.d.ts +71 -0
  203. package/dist/types/core/types.d.ts.map +1 -0
  204. package/dist/types/{execution → core}/utils.d.ts +3 -1
  205. package/dist/types/core/utils.d.ts.map +1 -0
  206. package/dist/types/core/waitForReceivingTransaction.d.ts.map +1 -0
  207. package/dist/types/createConfig.d.ts +7 -0
  208. package/dist/types/createConfig.d.ts.map +1 -0
  209. package/dist/types/index.d.ts +4 -4
  210. package/dist/types/index.d.ts.map +1 -1
  211. package/dist/types/request.d.ts.map +1 -1
  212. package/dist/types/services/api.d.ts +87 -0
  213. package/dist/types/services/api.d.ts.map +1 -0
  214. package/dist/types/services/balance.d.ts +30 -0
  215. package/dist/types/services/balance.d.ts.map +1 -0
  216. package/dist/types/types/index.d.ts +0 -1
  217. package/dist/types/types/index.d.ts.map +1 -1
  218. package/dist/types/types/internal.d.ts +6 -11
  219. package/dist/types/types/internal.d.ts.map +1 -1
  220. package/dist/types/utils/getTransactionMessage.d.ts +4 -0
  221. package/dist/types/utils/getTransactionMessage.d.ts.map +1 -0
  222. package/dist/types/utils/index.d.ts +1 -1
  223. package/dist/types/utils/index.d.ts.map +1 -1
  224. package/dist/types/utils/parseBackendError.d.ts +3 -0
  225. package/dist/types/utils/parseBackendError.d.ts.map +1 -0
  226. package/dist/types/utils/parseError.d.ts +0 -3
  227. package/dist/types/utils/parseError.d.ts.map +1 -1
  228. package/dist/types/version.d.ts +1 -1
  229. package/package.json +5 -4
  230. package/dist/cjs/LiFi.js +0 -237
  231. package/dist/cjs/LiFi.js.map +0 -1
  232. package/dist/cjs/allowance/getAllowance.js.map +0 -1
  233. package/dist/cjs/allowance/index.js +0 -7
  234. package/dist/cjs/allowance/index.js.map +0 -1
  235. package/dist/cjs/allowance/setAllowance.js.map +0 -1
  236. package/dist/cjs/balance/getBalance.js.map +0 -1
  237. package/dist/cjs/balance/getTokenBalance.js +0 -33
  238. package/dist/cjs/balance/getTokenBalance.js.map +0 -1
  239. package/dist/cjs/balance/index.js +0 -6
  240. package/dist/cjs/balance/index.js.map +0 -1
  241. package/dist/cjs/connectors.js +0 -47
  242. package/dist/cjs/connectors.js.map +0 -1
  243. package/dist/cjs/execution/BaseStepExecutor.js.map +0 -1
  244. package/dist/cjs/execution/EVMStepExecutor.js.map +0 -1
  245. package/dist/cjs/execution/RouteExecutionManager.js +0 -219
  246. package/dist/cjs/execution/RouteExecutionManager.js.map +0 -1
  247. package/dist/cjs/execution/StatusManager.js.map +0 -1
  248. package/dist/cjs/execution/StepExecutionManager.js +0 -261
  249. package/dist/cjs/execution/StepExecutionManager.js.map +0 -1
  250. package/dist/cjs/execution/checkAllowance.js.map +0 -1
  251. package/dist/cjs/execution/checkBalance.js.map +0 -1
  252. package/dist/cjs/execution/index.js.map +0 -1
  253. package/dist/cjs/execution/multisig.js.map +0 -1
  254. package/dist/cjs/execution/prepareRestart.js.map +0 -1
  255. package/dist/cjs/execution/stepComparison.js.map +0 -1
  256. package/dist/cjs/execution/switchChain.js.map +0 -1
  257. package/dist/cjs/execution/types.js +0 -3
  258. package/dist/cjs/execution/utils.js.map +0 -1
  259. package/dist/cjs/execution/waitForReceivingTransaction.js.map +0 -1
  260. package/dist/cjs/providers/EVM.js +0 -35
  261. package/dist/cjs/providers/EVM.js.map +0 -1
  262. package/dist/cjs/providers/Solana.js +0 -38
  263. package/dist/cjs/providers/Solana.js.map +0 -1
  264. package/dist/cjs/providers/index.js +0 -5
  265. package/dist/cjs/providers/index.js.map +0 -1
  266. package/dist/cjs/providers/types.js +0 -9
  267. package/dist/cjs/providers/types.js.map +0 -1
  268. package/dist/cjs/services/ApiService.js +0 -308
  269. package/dist/cjs/services/ApiService.js.map +0 -1
  270. package/dist/cjs/services/ChainsService.js +0 -49
  271. package/dist/cjs/services/ChainsService.js.map +0 -1
  272. package/dist/cjs/services/ConfigService.js +0 -130
  273. package/dist/cjs/services/ConfigService.js.map +0 -1
  274. package/dist/cjs/types/abi.js.map +0 -1
  275. package/dist/cjs/utils/getMaxPriorityFeePerGas.js.map +0 -1
  276. package/dist/esm/LiFi.js +0 -375
  277. package/dist/esm/LiFi.js.map +0 -1
  278. package/dist/esm/allowance/getAllowance.js.map +0 -1
  279. package/dist/esm/allowance/index.js +0 -4
  280. package/dist/esm/allowance/index.js.map +0 -1
  281. package/dist/esm/allowance/setAllowance.js.map +0 -1
  282. package/dist/esm/allowance/types.js.map +0 -1
  283. package/dist/esm/balance/getBalance.js.map +0 -1
  284. package/dist/esm/balance/getTokenBalance.js +0 -28
  285. package/dist/esm/balance/getTokenBalance.js.map +0 -1
  286. package/dist/esm/balance/index.js +0 -3
  287. package/dist/esm/balance/index.js.map +0 -1
  288. package/dist/esm/connectors.js +0 -42
  289. package/dist/esm/connectors.js.map +0 -1
  290. package/dist/esm/execution/BaseStepExecutor.js.map +0 -1
  291. package/dist/esm/execution/EVMStepExecutor.js.map +0 -1
  292. package/dist/esm/execution/RouteExecutionManager.js +0 -268
  293. package/dist/esm/execution/RouteExecutionManager.js.map +0 -1
  294. package/dist/esm/execution/StatusManager.js.map +0 -1
  295. package/dist/esm/execution/StepExecutionManager.js +0 -280
  296. package/dist/esm/execution/StepExecutionManager.js.map +0 -1
  297. package/dist/esm/execution/checkAllowance.js.map +0 -1
  298. package/dist/esm/execution/checkBalance.js.map +0 -1
  299. package/dist/esm/execution/index.js +0 -3
  300. package/dist/esm/execution/index.js.map +0 -1
  301. package/dist/esm/execution/multisig.js.map +0 -1
  302. package/dist/esm/execution/prepareRestart.js.map +0 -1
  303. package/dist/esm/execution/stepComparison.js.map +0 -1
  304. package/dist/esm/execution/switchChain.js.map +0 -1
  305. package/dist/esm/execution/types.js +0 -2
  306. package/dist/esm/execution/types.js.map +0 -1
  307. package/dist/esm/execution/utils.js.map +0 -1
  308. package/dist/esm/execution/waitForReceivingTransaction.js.map +0 -1
  309. package/dist/esm/providers/EVM.js +0 -30
  310. package/dist/esm/providers/EVM.js.map +0 -1
  311. package/dist/esm/providers/Solana.js +0 -34
  312. package/dist/esm/providers/Solana.js.map +0 -1
  313. package/dist/esm/providers/index.js +0 -2
  314. package/dist/esm/providers/index.js.map +0 -1
  315. package/dist/esm/providers/types.js +0 -6
  316. package/dist/esm/providers/types.js.map +0 -1
  317. package/dist/esm/services/ApiService.js +0 -322
  318. package/dist/esm/services/ApiService.js.map +0 -1
  319. package/dist/esm/services/ChainsService.js +0 -45
  320. package/dist/esm/services/ChainsService.js.map +0 -1
  321. package/dist/esm/services/ConfigService.js +0 -143
  322. package/dist/esm/services/ConfigService.js.map +0 -1
  323. package/dist/esm/types/abi.js.map +0 -1
  324. package/dist/esm/utils/getMaxPriorityFeePerGas.js.map +0 -1
  325. package/dist/types/LiFi.d.ts +0 -179
  326. package/dist/types/LiFi.d.ts.map +0 -1
  327. package/dist/types/allowance/getAllowance.d.ts.map +0 -1
  328. package/dist/types/allowance/index.d.ts +0 -4
  329. package/dist/types/allowance/index.d.ts.map +0 -1
  330. package/dist/types/allowance/setAllowance.d.ts +0 -7
  331. package/dist/types/allowance/setAllowance.d.ts.map +0 -1
  332. package/dist/types/allowance/types.d.ts +0 -28
  333. package/dist/types/allowance/types.d.ts.map +0 -1
  334. package/dist/types/balance/getBalance.d.ts +0 -3
  335. package/dist/types/balance/getBalance.d.ts.map +0 -1
  336. package/dist/types/balance/getTokenBalance.d.ts +0 -9
  337. package/dist/types/balance/getTokenBalance.d.ts.map +0 -1
  338. package/dist/types/balance/index.d.ts +0 -3
  339. package/dist/types/balance/index.d.ts.map +0 -1
  340. package/dist/types/connectors.d.ts +0 -9
  341. package/dist/types/connectors.d.ts.map +0 -1
  342. package/dist/types/execution/BaseStepExecutor.d.ts +0 -13
  343. package/dist/types/execution/BaseStepExecutor.d.ts.map +0 -1
  344. package/dist/types/execution/EVMStepExecutor.d.ts.map +0 -1
  345. package/dist/types/execution/RouteExecutionManager.d.ts +0 -61
  346. package/dist/types/execution/RouteExecutionManager.d.ts.map +0 -1
  347. package/dist/types/execution/StatusManager.d.ts.map +0 -1
  348. package/dist/types/execution/StepExecutionManager.d.ts +0 -8
  349. package/dist/types/execution/StepExecutionManager.d.ts.map +0 -1
  350. package/dist/types/execution/checkAllowance.d.ts +0 -6
  351. package/dist/types/execution/checkAllowance.d.ts.map +0 -1
  352. package/dist/types/execution/checkBalance.d.ts.map +0 -1
  353. package/dist/types/execution/index.d.ts +0 -3
  354. package/dist/types/execution/index.d.ts.map +0 -1
  355. package/dist/types/execution/multisig.d.ts +0 -5
  356. package/dist/types/execution/multisig.d.ts.map +0 -1
  357. package/dist/types/execution/prepareRestart.d.ts.map +0 -1
  358. package/dist/types/execution/stepComparison.d.ts.map +0 -1
  359. package/dist/types/execution/switchChain.d.ts.map +0 -1
  360. package/dist/types/execution/types.d.ts +0 -83
  361. package/dist/types/execution/types.d.ts.map +0 -1
  362. package/dist/types/execution/utils.d.ts.map +0 -1
  363. package/dist/types/execution/waitForReceivingTransaction.d.ts.map +0 -1
  364. package/dist/types/providers/EVM.d.ts +0 -11
  365. package/dist/types/providers/EVM.d.ts.map +0 -1
  366. package/dist/types/providers/Solana.d.ts +0 -10
  367. package/dist/types/providers/Solana.d.ts.map +0 -1
  368. package/dist/types/providers/index.d.ts +0 -2
  369. package/dist/types/providers/index.d.ts.map +0 -1
  370. package/dist/types/providers/types.d.ts +0 -13
  371. package/dist/types/providers/types.d.ts.map +0 -1
  372. package/dist/types/services/ApiService.d.ts +0 -17
  373. package/dist/types/services/ApiService.d.ts.map +0 -1
  374. package/dist/types/services/ChainsService.d.ts +0 -12
  375. package/dist/types/services/ChainsService.d.ts.map +0 -1
  376. package/dist/types/services/ConfigService.d.ts +0 -27
  377. package/dist/types/services/ConfigService.d.ts.map +0 -1
  378. package/dist/types/types/abi.d.ts.map +0 -1
  379. package/dist/types/utils/getMaxPriorityFeePerGas.d.ts +0 -3
  380. package/dist/types/utils/getMaxPriorityFeePerGas.d.ts.map +0 -1
  381. /package/dist/cjs/{types → core/EVM}/abi.js +0 -0
  382. /package/dist/cjs/{execution → core}/prepareRestart.js +0 -0
  383. /package/dist/cjs/{allowance → core}/types.js +0 -0
  384. /package/dist/esm/{types → core/EVM}/abi.js +0 -0
  385. /package/dist/esm/{execution → core}/prepareRestart.js +0 -0
  386. /package/dist/esm/{allowance → core}/types.js +0 -0
  387. /package/dist/types/{types → core/EVM}/abi.d.ts +0 -0
  388. /package/dist/types/{execution → core}/checkBalance.d.ts +0 -0
  389. /package/dist/types/{execution → core}/prepareRestart.d.ts +0 -0
  390. /package/dist/types/{execution → core}/waitForReceivingTransaction.d.ts +0 -0
@@ -0,0 +1,11 @@
1
+ import { config } from 'config.js';
2
+ export const getProvider = (type) => {
3
+ const provider = config
4
+ .get()
5
+ .providers?.find((provider) => provider.type === type);
6
+ if (!provider) {
7
+ throw new Error(`${type} provider not found.`);
8
+ }
9
+ return provider;
10
+ };
11
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../../src/core/provider.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAI,IAAe,EAAK,EAAE;IACnD,MAAM,QAAQ,GAAG,MAAM;SACpB,GAAG,EAAE;SACL,SAAS,EAAE,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAM,CAAA;IAC7D,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,sBAAsB,CAAC,CAAA;KAC/C;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
@@ -1,4 +1,4 @@
1
- import { LiFiErrorCode, TransactionError } from '../utils/errors.js';
1
+ import { LiFiErrorCode, TransactionError } from 'utils/errors.js';
2
2
  import { checkStepSlippageThreshold } from './utils.js';
3
3
  /**
4
4
  * This method checks whether the new and updated Step meets the required exchange rate conditions.
@@ -9,16 +9,17 @@ import { checkStepSlippageThreshold } from './utils.js';
9
9
  * @param newStep
10
10
  * @param settings
11
11
  * @param allowUserInteraction
12
+ * @param executionOptions
12
13
  * @returns Return LiFiStep
13
14
  */
14
- export const stepComparison = async (statusManager, oldStep, newStep, settings, allowUserInteraction) => {
15
+ export const stepComparison = async (statusManager, oldStep, newStep, allowUserInteraction, executionOptions) => {
15
16
  // Check if changed exchange rate is in the range of slippage threshold
16
17
  if (checkStepSlippageThreshold(oldStep, newStep)) {
17
18
  return statusManager.updateStepInRoute(newStep);
18
19
  }
19
20
  let allowStepUpdate;
20
21
  if (allowUserInteraction) {
21
- allowStepUpdate = await settings.acceptExchangeRateUpdateHook({
22
+ allowStepUpdate = await executionOptions?.acceptExchangeRateUpdateHook?.({
22
23
  oldToAmount: oldStep.estimate.toAmount,
23
24
  newToAmount: newStep.estimate.toAmount,
24
25
  toToken: newStep.action.toToken,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepComparison.js","sourceRoot":"","sources":["../../../src/core/stepComparison.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAGjE,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AAEvD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,aAA4B,EAC5B,OAAiB,EACjB,OAAiB,EACjB,oBAA6B,EAC7B,gBAAmC,EAChB,EAAE;IACrB,uEAAuE;IACvE,IAAI,0BAA0B,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;QAChD,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;KAChD;IAED,IAAI,eAAoC,CAAA;IACxC,IAAI,oBAAoB,EAAE;QACxB,eAAe,GAAG,MAAM,gBAAgB,EAAE,4BAA4B,EAAE,CAAC;YACvE,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YACtC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YACtC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;SAChC,CAAC,CAAA;KACH;IAED,IAAI,CAAC,eAAe,EAAE;QACpB,0EAA0E;QAC1E,MAAM,IAAI,gBAAgB,CACxB,aAAa,CAAC,0BAA0B,EACxC,4BAA4B,EAC5B;wGACkG,CACnG,CAAA;KACF;IAED,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;AACjD,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/execution/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/types.ts"],"names":[],"mappings":""}
@@ -1,3 +1,16 @@
1
+ import {} from '@lifi/types';
2
+ import { config } from 'config.js';
3
+ export const getRpcUrl = async (chainId) => {
4
+ const rpcUrls = await getRpcUrls(chainId);
5
+ return rpcUrls[0];
6
+ };
7
+ export const getRpcUrls = async (chainId) => {
8
+ const rpcUrls = (await config.getRPCUrls())[chainId];
9
+ if (!rpcUrls?.length) {
10
+ throw new Error('RPC URL not found');
11
+ }
12
+ return rpcUrls;
13
+ };
1
14
  const processMessages = {
2
15
  TOKEN_ALLOWANCE: {
3
16
  STARTED: 'Setting token allowance.',
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/core/utils.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
- import ApiService from '../services/ApiService.js';
2
- import { ServerError } from '../utils/errors.js';
3
- import { repeatUntilDone } from '../utils/utils.js';
1
+ import { getStatus } from 'services/api.js';
2
+ import { ServerError } from 'utils/errors.js';
3
+ import { repeatUntilDone } from 'utils/utils.js';
4
4
  import { getSubstatusMessage } from './utils.js';
5
5
  const TRANSACTION_HASH_OBSERVERS = {};
6
6
  export async function waitForReceivingTransaction(txHash, statusManager, processType, step) {
7
- const getStatus = () => new Promise(async (resolve, reject) => {
7
+ const _getStatus = () => new Promise(async (resolve, reject) => {
8
8
  let statusResponse;
9
9
  try {
10
- statusResponse = await ApiService.getStatus({
10
+ statusResponse = await getStatus({
11
11
  bridge: step.tool,
12
12
  fromChain: step.action.fromChainId,
13
13
  toChain: step.action.toChainId,
@@ -41,7 +41,7 @@ export async function waitForReceivingTransaction(txHash, statusManager, process
41
41
  status = await TRANSACTION_HASH_OBSERVERS[txHash];
42
42
  }
43
43
  else {
44
- TRANSACTION_HASH_OBSERVERS[txHash] = repeatUntilDone(getStatus, 5000);
44
+ TRANSACTION_HASH_OBSERVERS[txHash] = repeatUntilDone(_getStatus, 5000);
45
45
  status = await TRANSACTION_HASH_OBSERVERS[txHash];
46
46
  }
47
47
  if (!status.receiving) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waitForReceivingTransaction.js","sourceRoot":"","sources":["../../../src/core/waitForReceivingTransaction.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAEhD,MAAM,0BAA0B,GAA4C,EAAE,CAAA;AAE9E,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,MAAc,EACd,aAA4B,EAC5B,WAAwB,EACxB,IAAc;IAEd,MAAM,UAAU,GAAG,GAAwC,EAAE,CAC3D,IAAI,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;QACpC,IAAI,cAA8B,CAAA;QAClC,IAAI;YACF,cAAc,GAAG,MAAM,SAAS,CAAC;gBAC/B,MAAM,EAAE,IAAI,CAAC,IAAI;gBACjB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBAClC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAC9B,MAAM;aACP,CAAC,CAAA;SACH;QAAC,OAAO,CAAM,EAAE;YACf,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAA;YACxD,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;SAC1B;QAED,QAAQ,cAAc,CAAC,MAAM,EAAE;YAC7B,KAAK,MAAM;gBACT,OAAO,OAAO,CAAC,cAAc,CAAC,CAAA;YAChC,KAAK,SAAS;gBACZ,aAAa,EAAE,aAAa,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE;oBACzD,SAAS,EAAE,cAAc,CAAC,SAAS;oBACnC,gBAAgB,EACd,cAAc,CAAC,gBAAgB;wBAC/B,mBAAmB,CACjB,cAAc,CAAC,MAAM,EACrB,cAAc,CAAC,SAAS,CACzB;oBACH,MAAM,EAAG,cAAiC,CAAC,kBAAkB;iBAC9D,CAAC,CAAA;gBACF,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;YAC3B,KAAK,WAAW;gBACd,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;YAC3B,KAAK,QAAQ,CAAC;YACd;gBACE,OAAO,MAAM,EAAE,CAAA;SAClB;IACH,CAAC,CAAC,CAAA;IAEJ,IAAI,MAAM,CAAA;IAEV,IAAI,MAAM,IAAI,0BAA0B,EAAE;QACxC,MAAM,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAA;KAClD;SAAM;QACL,0BAA0B,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,UAAU,EAAE,IAAK,CAAC,CAAA;QACvE,MAAM,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAA;KAClD;IAED,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;QACrB,MAAM,IAAI,WAAW,CAAC,+CAA+C,CAAC,CAAA;KACvE;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,45 @@
1
+ import { config } from 'config.js';
2
+ import { isEVM } from 'core/EVM/types.js';
3
+ import { getChains } from 'services/api.js';
4
+ import { checkPackageUpdates } from './helpers.js';
5
+ import { name, version } from './version.js';
6
+ function createBaseConfig(options) {
7
+ if (!options.integrator) {
8
+ throw new Error('Integrator not found. Please see documentation https://docs.li.fi/integrate-li.fi-js-sdk/set-up-the-sdk');
9
+ }
10
+ config.set(options);
11
+ checkPackageUpdates(name, version, options.disableVersionCheck);
12
+ }
13
+ export async function createChainsConfig() {
14
+ const _config = config.get();
15
+ const chainTypes = _config.providers?.map((provider) => provider.type);
16
+ config.loading = getChains({ chainTypes: chainTypes }).then((chains) => {
17
+ config.chains = chains;
18
+ const evmProvider = _config.providers?.find(isEVM);
19
+ const multicallAddresses = {};
20
+ for (const chain of chains) {
21
+ const chainId = chain.id;
22
+ // set RPCs if they were not configured by the user before
23
+ if (!_config.rpcUrls[chainId]?.length) {
24
+ _config.rpcUrls[chainId] = chain.metamask.rpcUrls;
25
+ }
26
+ // set multicall addresses if they exist and were not configured by the user before
27
+ if (chain.multicallAddress && !evmProvider?.multicall?.[chainId]) {
28
+ multicallAddresses[chainId] = chain.multicallAddress;
29
+ }
30
+ }
31
+ evmProvider?.setOptions({
32
+ multicall: multicallAddresses,
33
+ });
34
+ });
35
+ await config.loading;
36
+ }
37
+ export function createConfig(options) {
38
+ createBaseConfig(options);
39
+ createChainsConfig();
40
+ return {
41
+ set: config.set,
42
+ get: config.get,
43
+ };
44
+ }
45
+ //# sourceMappingURL=createConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createConfig.js","sourceRoot":"","sources":["../../src/createConfig.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAElD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE5C,SAAS,gBAAgB,CAAC,OAAmB;IAC3C,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;QACvB,MAAM,IAAI,KAAK,CACb,yGAAyG,CAC1G,CAAA;KACF;IACD,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACnB,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;AACjE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,EAAE,CAAA;IAC5B,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACtE,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACrE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;QACtB,MAAM,WAAW,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAA;QAClD,MAAM,kBAAkB,GAAqC,EAAE,CAAA;QAC/D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;YAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,EAAa,CAAA;YAEnC,0DAA0D;YAC1D,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE;gBACrC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAA;aAClD;YAED,mFAAmF;YACnF,IAAI,KAAK,CAAC,gBAAgB,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,CAAC,OAAO,CAAC,EAAE;gBAChE,kBAAkB,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,gBAAgB,CAAA;aACrD;SACF;QACD,WAAW,EAAE,UAAU,CAAC;YACtB,SAAS,EAAE,kBAAkB;SAC9B,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,MAAM,MAAM,CAAC,OAAO,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAmB;IAC9C,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACzB,kBAAkB,EAAE,CAAA;IACpB,OAAO;QACL,GAAG,EAAE,MAAM,CAAC,GAAG;QACf,GAAG,EAAE,MAAM,CAAC,GAAG;KAChB,CAAA;AACH,CAAC"}
package/dist/esm/index.js CHANGED
@@ -1,9 +1,9 @@
1
1
  export * from '@lifi/types';
2
- export { LiFi } from './LiFi.js';
3
- export * from './execution/index.js';
2
+ export { EVM } from './core/EVM/EVM.js';
3
+ export { Solana } from './core/Solana/Solana.js';
4
+ export * from './core/index.js';
5
+ export { createConfig } from './createConfig.js';
4
6
  export * from './helpers.js';
5
- export { EVM } from './providers/EVM.js';
6
- export { Solana } from './providers/Solana.js';
7
7
  export * from './types/index.js';
8
8
  export * from './utils/errors.js';
9
9
  export { LiFiError } from './utils/errors.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,cAAc,sBAAsB,CAAA;AACpC,cAAc,cAAc,CAAA;AAC5B,OAAO,EAAE,GAAG,EAA2B,MAAM,oBAAoB,CAAA;AACjE,OAAO,EAAE,MAAM,EAA8B,MAAM,uBAAuB,CAAA;AAC1E,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,SAAS,EAAkB,MAAM,mBAAmB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,cAAc,iBAAiB,CAAA;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,cAAc,cAAc,CAAA;AAC5B,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,SAAS,EAAkB,MAAM,mBAAmB,CAAA"}
@@ -1,4 +1,4 @@
1
- import { ConfigService } from './services/ConfigService.js';
1
+ import { config } from 'config.js';
2
2
  import { HTTPError } from './utils/errors.js';
3
3
  import { wait } from './utils/utils.js';
4
4
  import { version } from './version.js';
@@ -8,7 +8,10 @@ export const requestSettings = {
8
8
  export const request = async (url, options = {
9
9
  retries: requestSettings.retries,
10
10
  }) => {
11
- const { userId, integrator, widgetVersion, apiKey } = ConfigService.getInstance().getConfig();
11
+ const { userId, integrator, widgetVersion, apiKey } = config.get();
12
+ if (!integrator) {
13
+ throw new Error('Integrator not found. Please see documentation https://docs.li.fi/integrate-li.fi-js-sdk/set-up-the-sdk');
14
+ }
12
15
  options.retries = options.retries ?? requestSettings.retries;
13
16
  try {
14
17
  if (!options.skipTrackingHeaders) {
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,CAAC;CACX,CAAA;AAOD,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAC1B,GAAsB,EACtB,UAA+B;IAC7B,OAAO,EAAE,eAAe,CAAC,OAAO;CACjC,EACW,EAAE;IACd,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,GACjD,aAAa,CAAC,WAAW,EAAE,CAAC,SAAS,EAAE,CAAA;IAEzC,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,eAAe,CAAC,OAAO,CAAA;IAC5D,IAAI;QACF,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;YAChC,IAAI,MAAM,EAAE;gBACV,OAAO,CAAC,OAAO,GAAG;oBAChB,GAAG,OAAO,EAAE,OAAO;oBACnB,gBAAgB,EAAE,MAAM;iBACzB,CAAA;aACF;YAED,IAAI,MAAM,EAAE;gBACV,OAAO,CAAC,OAAO,GAAG;oBAChB,GAAG,OAAO,EAAE,OAAO;oBACnB,eAAe,EAAE,MAAM;iBACxB,CAAA;aACF;YAED,IAAI,aAAa,EAAE;gBACjB,OAAO,CAAC,OAAO,GAAG;oBAChB,GAAG,OAAO,EAAE,OAAO;oBACnB,eAAe,EAAE,aAAa;iBAC/B,CAAA;aACF;YAED,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,OAAO,GAAG;oBAChB,GAAG,OAAO,EAAE,OAAO;oBACnB,YAAY,EAAE,OAAO;iBACtB,CAAA;aACF;YAED,oDAAoD;YACpD,OAAO,CAAC,OAAO,GAAG;gBAChB,GAAG,OAAO,EAAE,OAAO;gBACnB,mBAAmB,EAAE,UAAU;aAChC,CAAA;SACF;QAED,MAAM,QAAQ,GAAa,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACpD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAA;SAC9B;QAED,MAAM,IAAI,GAAM,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QACrC,OAAO,IAAI,CAAA;KACZ;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC,IAAK,KAAmB,EAAE,MAAM,KAAK,GAAG,EAAE;YAC/D,MAAM,IAAI,CAAC,GAAG,CAAC,CAAA;YACf,OAAO,OAAO,CAAI,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAA;SACrE;QACD,MAAM,KAAK,CAAA;KACZ;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,OAAO,EAAE,CAAC;CACX,CAAA;AAOD,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAC1B,GAAsB,EACtB,UAA+B;IAC7B,OAAO,EAAE,eAAe,CAAC,OAAO;CACjC,EACW,EAAE;IACd,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,EAAE,CAAA;IAClE,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CACb,yGAAyG,CAC1G,CAAA;KACF;IACD,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,eAAe,CAAC,OAAO,CAAA;IAC5D,IAAI;QACF,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;YAChC,IAAI,MAAM,EAAE;gBACV,OAAO,CAAC,OAAO,GAAG;oBAChB,GAAG,OAAO,EAAE,OAAO;oBACnB,gBAAgB,EAAE,MAAM;iBACzB,CAAA;aACF;YAED,IAAI,MAAM,EAAE;gBACV,OAAO,CAAC,OAAO,GAAG;oBAChB,GAAG,OAAO,EAAE,OAAO;oBACnB,eAAe,EAAE,MAAM;iBACxB,CAAA;aACF;YAED,IAAI,aAAa,EAAE;gBACjB,OAAO,CAAC,OAAO,GAAG;oBAChB,GAAG,OAAO,EAAE,OAAO;oBACnB,eAAe,EAAE,aAAa;iBAC/B,CAAA;aACF;YAED,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,OAAO,GAAG;oBAChB,GAAG,OAAO,EAAE,OAAO;oBACnB,YAAY,EAAE,OAAO;iBACtB,CAAA;aACF;YAED,oDAAoD;YACpD,OAAO,CAAC,OAAO,GAAG;gBAChB,GAAG,OAAO,EAAE,OAAO;gBACnB,mBAAmB,EAAE,UAAU;aAChC,CAAA;SACF;QAED,MAAM,QAAQ,GAAa,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACpD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;YAChB,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAA;SAC9B;QAED,MAAM,IAAI,GAAM,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QACrC,OAAO,IAAI,CAAA;KACZ;IAAC,OAAO,KAAK,EAAE;QACd,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC,IAAK,KAAmB,EAAE,MAAM,KAAK,GAAG,EAAE;YAC/D,MAAM,IAAI,CAAC,GAAG,CAAC,CAAA;YACf,OAAO,OAAO,CAAI,GAAG,EAAE,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC,CAAA;SACrE;QACD,MAAM,KAAK,CAAA;KACZ;AACH,CAAC,CAAA"}
@@ -0,0 +1,353 @@
1
+ import { config } from 'config.js';
2
+ import { request } from 'request.js';
3
+ import { isRoutesRequest, isStep } from 'typeguards.js';
4
+ import { ValidationError } from 'utils/errors.js';
5
+ import { parseBackendError } from 'utils/parseBackendError.js';
6
+ /**
7
+ * Fetch information about a Token
8
+ * @param chain - Id or key of the chain that contains the token
9
+ * @param token - Address or symbol of the token on the requested chain
10
+ * @param options - Request options
11
+ * @throws {LiFiError} - Throws a LiFiError if request fails
12
+ * @returns Token information
13
+ */
14
+ export const getToken = async (chain, token, options) => {
15
+ if (!chain) {
16
+ throw new ValidationError('Required parameter "chain" is missing.');
17
+ }
18
+ if (!token) {
19
+ throw new ValidationError('Required parameter "token" is missing.');
20
+ }
21
+ try {
22
+ const response = await request(`${config.get().apiUrl}/token?${new URLSearchParams({
23
+ chain,
24
+ token,
25
+ })}`, {
26
+ signal: options?.signal,
27
+ });
28
+ return response;
29
+ }
30
+ catch (e) {
31
+ throw await parseBackendError(e);
32
+ }
33
+ };
34
+ /**
35
+ * Get a quote for a token transfer
36
+ * @param params - The configuration of the requested quote
37
+ * @param options - Request options
38
+ * @throws {LiFiError} - Throws a LiFiError if request fails
39
+ * @returns Quote for a token transfer
40
+ */
41
+ export const getQuote = async (params, options) => {
42
+ const requiredParameters = [
43
+ 'fromChain',
44
+ 'fromToken',
45
+ 'fromAddress',
46
+ 'fromAmount',
47
+ 'toChain',
48
+ 'toToken',
49
+ ];
50
+ requiredParameters.forEach((requiredParameter) => {
51
+ if (!params[requiredParameter]) {
52
+ throw new ValidationError(`Required parameter "${requiredParameter}" is missing.`);
53
+ }
54
+ });
55
+ const _config = config.get();
56
+ // apply defaults
57
+ params.integrator ??= _config.integrator;
58
+ params.order ??= _config.routeOptions?.order;
59
+ params.slippage ??= _config.routeOptions?.slippage;
60
+ params.referrer ??= _config.routeOptions?.referrer;
61
+ params.fee ??= _config.routeOptions?.fee;
62
+ params.allowBridges ??= _config.routeOptions?.bridges?.allow;
63
+ params.denyBridges ??= _config.routeOptions?.bridges?.deny;
64
+ params.preferBridges ??= _config.routeOptions?.bridges?.prefer;
65
+ params.allowExchanges ??= _config.routeOptions?.exchanges?.allow;
66
+ params.denyExchanges ??= _config.routeOptions?.exchanges?.deny;
67
+ params.preferExchanges ??= _config.routeOptions?.exchanges?.prefer;
68
+ Object.keys(params).forEach((key) => !params[key] &&
69
+ delete params[key]);
70
+ try {
71
+ const response = await request(`${_config.apiUrl}/quote?${new URLSearchParams(params)}`, {
72
+ signal: options?.signal,
73
+ });
74
+ return response;
75
+ }
76
+ catch (e) {
77
+ throw await parseBackendError(e);
78
+ }
79
+ };
80
+ /**
81
+ * Get a quote for a destination contract call
82
+ * @param params - The configuration of the requested destination call
83
+ * @param options - Request options
84
+ * @throws {LiFiError} - Throws a LiFiError if request fails
85
+ * @returns - Returns step.
86
+ */
87
+ export const getContractCallQuote = async (params, options) => {
88
+ // validation
89
+ const requiredParameters = [
90
+ 'fromChain',
91
+ 'fromToken',
92
+ 'fromAddress',
93
+ 'toChain',
94
+ 'toToken',
95
+ 'toAmount',
96
+ 'toContractAddress',
97
+ 'toContractCallData',
98
+ 'toContractGasLimit',
99
+ ];
100
+ requiredParameters.forEach((requiredParameter) => {
101
+ if (!params[requiredParameter]) {
102
+ throw new ValidationError(`Required parameter "${requiredParameter}" is missing.`);
103
+ }
104
+ });
105
+ const _config = config.get();
106
+ // apply defaults
107
+ // option.order is not used in this endpoint
108
+ params.integrator ??= _config.integrator;
109
+ params.slippage ??= _config.routeOptions?.slippage;
110
+ params.referrer ??= _config.routeOptions?.referrer;
111
+ params.fee ??= _config.routeOptions?.fee;
112
+ params.allowBridges ??= _config.routeOptions?.bridges?.allow;
113
+ params.denyBridges ??= _config.routeOptions?.bridges?.deny;
114
+ params.preferBridges ??= _config.routeOptions?.bridges?.prefer;
115
+ params.allowExchanges ??= _config.routeOptions?.exchanges?.allow;
116
+ params.denyExchanges ??= _config.routeOptions?.exchanges?.deny;
117
+ params.preferExchanges ??= _config.routeOptions?.exchanges?.prefer;
118
+ // send request
119
+ try {
120
+ const response = await request(`${_config.apiUrl}/quote/contractCall`, {
121
+ method: 'POST',
122
+ headers: {
123
+ 'Content-Type': 'application/json',
124
+ },
125
+ body: JSON.stringify(params),
126
+ signal: options?.signal,
127
+ });
128
+ return response;
129
+ }
130
+ catch (e) {
131
+ throw await parseBackendError(e);
132
+ }
133
+ };
134
+ /**
135
+ * Check the status of a transfer. For cross chain transfers, the "bridge" parameter is required.
136
+ * @param params - Configuration of the requested status
137
+ * @param options - Request options.
138
+ * @throws {LiFiError} - Throws a LiFiError if request fails
139
+ * @returns Returns status response.
140
+ */
141
+ export const getStatus = async (params, options) => {
142
+ if (!params.txHash) {
143
+ throw new ValidationError('Required parameter "txHash" is missing.');
144
+ }
145
+ const queryParams = new URLSearchParams(params);
146
+ try {
147
+ const response = await request(`${config.get().apiUrl}/status?${queryParams}`, {
148
+ signal: options?.signal,
149
+ });
150
+ return response;
151
+ }
152
+ catch (e) {
153
+ throw await parseBackendError(e);
154
+ }
155
+ };
156
+ /**
157
+ * Get all available chains
158
+ * @param params - The configuration of the requested chains
159
+ * @param options - Request options
160
+ * @returns A list of all available chains
161
+ * @throws {LiFiError} Throws a LiFiError if request fails.
162
+ */
163
+ export const getChains = async (params, options) => {
164
+ if (params) {
165
+ Object.keys(params).forEach((key) => !params[key] &&
166
+ delete params[key]);
167
+ }
168
+ try {
169
+ const response = await request(`${config.get().apiUrl}/chains?${new URLSearchParams(params)}`, {
170
+ signal: options?.signal,
171
+ });
172
+ return response.chains;
173
+ }
174
+ catch (e) {
175
+ throw await parseBackendError(e);
176
+ }
177
+ };
178
+ /**
179
+ * Get a set of routes for a request that describes a transfer of tokens.
180
+ * @param params - A description of the transfer.
181
+ * @param options - Request options
182
+ * @returns The resulting routes that can be used to realize the described transfer of tokens.
183
+ * @throws {LiFiError} Throws a LiFiError if request fails.
184
+ */
185
+ export const getRoutes = async (params, options) => {
186
+ if (!isRoutesRequest(params)) {
187
+ throw new ValidationError('Invalid routes request.');
188
+ }
189
+ const _config = config.get();
190
+ // apply defaults
191
+ params.options = {
192
+ ..._config.routeOptions,
193
+ ...params.options,
194
+ };
195
+ // send request
196
+ try {
197
+ const response = await request(`${_config.apiUrl}/advanced/routes`, {
198
+ method: 'POST',
199
+ headers: {
200
+ 'Content-Type': 'application/json',
201
+ },
202
+ body: JSON.stringify(params),
203
+ signal: options?.signal,
204
+ });
205
+ return response;
206
+ }
207
+ catch (e) {
208
+ throw await parseBackendError(e);
209
+ }
210
+ };
211
+ /**
212
+ * Get the transaction data for a single step of a route
213
+ * @param step - The step object.
214
+ * @param options - Request options
215
+ * @returns The step populated with the transaction data.
216
+ * @throws {LiFiError} Throws a LiFiError if request fails.
217
+ */
218
+ export const getStepTransaction = async (step, options) => {
219
+ if (!isStep(step)) {
220
+ // While the validation fails for some users we should not enforce it
221
+ // eslint-disable-next-line no-console
222
+ console.warn('SDK Validation: Invalid Step', step);
223
+ }
224
+ try {
225
+ const response = await request(`${config.get().apiUrl}/advanced/stepTransaction`, {
226
+ method: 'POST',
227
+ headers: {
228
+ 'Content-Type': 'application/json',
229
+ },
230
+ body: JSON.stringify(step),
231
+ signal: options?.signal,
232
+ });
233
+ return response;
234
+ }
235
+ catch (e) {
236
+ throw await parseBackendError(e);
237
+ }
238
+ };
239
+ /**
240
+ * Get the available tools to bridge and swap tokens.
241
+ * @param params - The configuration of the requested tools
242
+ * @param options - Request options
243
+ * @returns The tools that are available on the requested chains
244
+ */
245
+ export const getTools = async (params, options) => {
246
+ if (params) {
247
+ Object.keys(params).forEach((key) => !params[key] &&
248
+ delete params[key]);
249
+ }
250
+ try {
251
+ const response = await request(`${config.get().apiUrl}/tools?${new URLSearchParams(params)}`, {
252
+ signal: options?.signal,
253
+ });
254
+ return response;
255
+ }
256
+ catch (e) {
257
+ throw await parseBackendError(e);
258
+ }
259
+ };
260
+ /**
261
+ * Get all known tokens.
262
+ * @param params - The configuration of the requested tokens
263
+ * @param options - Request options
264
+ * @returns The tokens that are available on the requested chains
265
+ */
266
+ export const getTokens = async (params, options) => {
267
+ if (params) {
268
+ Object.keys(params).forEach((key) => !params[key] &&
269
+ delete params[key]);
270
+ }
271
+ try {
272
+ const response = await request(`${config.get().apiUrl}/tokens?${new URLSearchParams(params)}`, {
273
+ signal: options?.signal,
274
+ });
275
+ return response;
276
+ }
277
+ catch (e) {
278
+ throw await parseBackendError(e);
279
+ }
280
+ };
281
+ /**
282
+ * Get gas recommendation for a certain chain
283
+ * @param params - Configuration of the requested gas recommendation.
284
+ * @param options - Request options
285
+ * @throws {LiFiError} Throws a LiFiError if request fails.
286
+ * @returns Gas recommendation response.
287
+ */
288
+ export const getGasRecommendation = async (params, options) => {
289
+ if (!params.chainId) {
290
+ throw new ValidationError('Required parameter "chainId" is missing.');
291
+ }
292
+ const url = new URL(`${config.get().apiUrl}/gas/suggestion/${params.chainId}`);
293
+ if (params.fromChain) {
294
+ url.searchParams.append('fromChain', params.fromChain);
295
+ }
296
+ if (params.fromToken) {
297
+ url.searchParams.append('fromToken', params.fromToken);
298
+ }
299
+ try {
300
+ const response = await request(url.toString(), {
301
+ signal: options?.signal,
302
+ });
303
+ return response;
304
+ }
305
+ catch (e) {
306
+ throw await parseBackendError(e);
307
+ }
308
+ };
309
+ /**
310
+ * Get all the available connections for swap/bridging tokens
311
+ * @param connectionRequest ConnectionsRequest
312
+ * @returns ConnectionsResponse
313
+ */
314
+ export const getConnections = async (connectionRequest) => {
315
+ const url = new URL(`${config.get().apiUrl}/connections`);
316
+ const { fromChain, fromToken, toChain, toToken } = connectionRequest;
317
+ if (fromChain) {
318
+ url.searchParams.append('fromChain', fromChain);
319
+ }
320
+ if (fromToken) {
321
+ url.searchParams.append('fromToken', fromToken);
322
+ }
323
+ if (toChain) {
324
+ url.searchParams.append('toChain', toChain);
325
+ }
326
+ if (toToken) {
327
+ url.searchParams.append('toToken', toToken);
328
+ }
329
+ const connectionRequestArrayParams = [
330
+ 'allowBridges',
331
+ 'denyBridges',
332
+ 'preferBridges',
333
+ 'allowExchanges',
334
+ 'denyExchanges',
335
+ 'preferExchanges',
336
+ ];
337
+ connectionRequestArrayParams.forEach((parameter) => {
338
+ const connectionRequestArrayParam = connectionRequest[parameter];
339
+ if (connectionRequestArrayParam?.length) {
340
+ connectionRequestArrayParam?.forEach((value) => {
341
+ url.searchParams.append(parameter, value);
342
+ });
343
+ }
344
+ });
345
+ try {
346
+ const response = await request(url.toString());
347
+ return response;
348
+ }
349
+ catch (e) {
350
+ throw await parseBackendError(e);
351
+ }
352
+ };
353
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/services/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import { config } from 'config.js';
2
+ import { isToken } from 'typeguards.js';
3
+ import { ValidationError } from 'utils/errors.js';
4
+ /**
5
+ * Returns the balances of a specific token a wallet holds across all aggregated chains.
6
+ * @param walletAddress - A wallet address.
7
+ * @param token - A Token object.
8
+ * @returns An object containing the token and the amounts on different chains.
9
+ * @throws {ValidationError} Throws a ValidationError if parameters are invalid.
10
+ */
11
+ export const getTokenBalance = async (walletAddress, token) => {
12
+ const tokenAmounts = await getTokenBalances(walletAddress, [token]);
13
+ return tokenAmounts.length ? tokenAmounts[0] : null;
14
+ };
15
+ /**
16
+ * Returns the balances for a list tokens a wallet holds across all aggregated chains.
17
+ * @param walletAddress - A wallet address.
18
+ * @param tokens - A list of Token objects.
19
+ * @returns A list of objects containing the tokens and the amounts on different chains.
20
+ * @throws {ValidationError} Throws a ValidationError if parameters are invalid.
21
+ */
22
+ export const getTokenBalances = async (walletAddress, tokens) => {
23
+ // split by chain
24
+ const tokensByChain = tokens.reduce((tokens, token) => {
25
+ if (!tokens[token.chainId]) {
26
+ tokens[token.chainId] = [];
27
+ }
28
+ tokens[token.chainId].push(token);
29
+ return tokens;
30
+ }, {});
31
+ const tokenAmountsByChain = await getTokenBalancesByChain(walletAddress, tokensByChain);
32
+ return Object.values(tokenAmountsByChain).flat();
33
+ };
34
+ /**
35
+ * This method queries the balances of tokens for a specific list of chains for a given wallet.
36
+ * @param walletAddress - A walletaddress.
37
+ * @param tokensByChain - A list of Token objects organized by chain ids.
38
+ * @returns A list of objects containing the tokens and the amounts on different chains organized by the chosen chains.
39
+ * @throws {ValidationError} Throws a ValidationError if parameters are invalid.
40
+ */
41
+ export const getTokenBalancesByChain = async (walletAddress, tokensByChain) => {
42
+ if (!walletAddress) {
43
+ throw new ValidationError('Missing walletAddress.');
44
+ }
45
+ const tokenList = Object.values(tokensByChain).flat();
46
+ const invalidTokens = tokenList.filter((token) => !isToken(token));
47
+ if (invalidTokens.length) {
48
+ throw new ValidationError(`Invalid token passed: address "${invalidTokens[0].address}" on chainId "${invalidTokens[0].chainId}"`);
49
+ }
50
+ const tokenAmountsByChain = {};
51
+ await Promise.allSettled(Object.keys(tokensByChain).map(async (chainIdStr) => {
52
+ const chainId = parseInt(chainIdStr);
53
+ const baseTokenAddress = tokensByChain[chainId][0].address;
54
+ const provider = config
55
+ .get()
56
+ .providers?.find((provider) => provider.isAddress(baseTokenAddress));
57
+ if (!provider) {
58
+ throw new Error('SDK Token Provider not found.');
59
+ }
60
+ const tokenAmounts = await provider.getBalance(walletAddress, tokensByChain[chainId]);
61
+ tokenAmountsByChain[chainId] = tokenAmounts;
62
+ }));
63
+ return tokenAmountsByChain;
64
+ };
65
+ //# sourceMappingURL=balance.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"balance.js","sourceRoot":"","sources":["../../../src/services/balance.ts"],"names":[],"mappings":"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"}