@lifi/sdk 3.0.0-alpha.12 → 3.0.0-alpha.14

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 -19
  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 +52 -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 -11
  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 +48 -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 -31
  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 -11
  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 +4 -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 @@
1
+ {"version":3,"file":"executionState.js","sourceRoot":"","sources":["../../../src/core/executionState.ts"],"names":[],"mappings":"AAqBA,MAAM,CAAC,MAAM,cAAc,GAAmB;IAC5C,KAAK,EAAE,EAAE;IACT,GAAG,CAAC,OAAe;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;IACD,MAAM,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO;QACrC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG;YACrB,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,KAAK;YACL,gBAAgB;YAChB,OAAO;YACP,SAAS,EAAE,EAAE;SACd,CAAA;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAE,CAAA;IAC9B,CAAC;IACD,MAAM,CAAC,OAAO;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;CACF,CAAA"}
@@ -0,0 +1,4 @@
1
+ export * from './StatusManager.js';
2
+ export * from './execution.js';
3
+ export * from './types.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareRestart.js","sourceRoot":"","sources":["../../../src/core/prepareRestart.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,KAAY,EAAE,EAAE;IACnD,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACvD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,KAAK,QAAQ,CAAA;QAEzD,IAAI,aAAa,EAAE;YACjB,4CAA4C;YAC5C,qBAAqB,CAAC,IAAI,CAAC,CAAA;YAC3B,qBAAqB,CAAC,IAAI,CAAC,CAAA;SAC5B;KACF;AACH,CAAC,CAAA;AAED,kFAAkF;AAClF,sDAAsD;AAEtD,0DAA0D;AAC1D,2DAA2D;AAC3D,MAAM;AACN,0DAA0D;AAC1D,oEAAoE;AACpE,MAAM;AAEN,wCAAwC;AAExC,yBAAyB;AACzB,8BAA8B;AAC9B,iDAAiD;AAEjD,YAAY;AACZ,gEAAgE;AAChE,yBAAyB;AAEzB,sBAAsB;AACtB,sDAAsD;AACtD,2DAA2D;AAC3D,UAAU;AACV,QAAQ;AACR,MAAM;AAEN,qCAAqC;AACrC,mBAAmB;AACnB,wEAAwE;AACxE,MAAM;AACN,IAAI;AAEJ,yBAAyB;AACzB,8BAA8B;AAC9B,iDAAiD;AAEjD,YAAY;AACZ,8CAA8C;AAC9C,yBAAyB;AAEzB,sBAAsB;AACtB,sDAAsD;AACtD,2DAA2D;AAC3D,UAAU;AACV,QAAQ;AACR,MAAM;AAEN,qCAAqC;AACrC,mBAAmB;AACnB,wEAAwE;AACxE,MAAM;AACN,IAAI;AACJ,IAAI;AAEJ,MAAM,qBAAqB,GAAG,CAAC,IAAc,EAAE,EAAE;IAC/C,IAAI,IAAI,CAAC,SAAS,EAAE;QAClB,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CACpD,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CACvC,CAAA;KACF;AACH,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAAC,IAAc,EAAE,EAAE;IAC/C,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAA;AACrC,CAAC,CAAA"}
@@ -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":"AAAA,OAAO,EAON,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAA;AAElC,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,OAAgB,EAAmB,EAAE;IACnE,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,CAAA;IACzC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,OAAgB,EAAqB,EAAE;IACtE,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;IACpD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE;QACpB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;KACrC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,eAAe,GAAyD;IAC5E,eAAe,EAAE;QACf,OAAO,EAAE,0BAA0B;QACnC,OAAO,EAAE,8BAA8B;QACvC,IAAI,EAAE,sBAAsB;KAC7B;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,wBAAwB;QACjC,IAAI,EAAE,8BAA8B;KACrC;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,6BAA6B;QACtC,eAAe,EAAE,8BAA8B;QAC/C,OAAO,EAAE,+BAA+B;QACxC,IAAI,EAAE,iBAAiB;KACxB;IACD,WAAW,EAAE;QACX,OAAO,EAAE,+BAA+B;QACxC,eAAe,EAAE,8BAA8B;QAC/C,OAAO,EAAE,iCAAiC;QAC1C,IAAI,EAAE,+BAA+B;KACtC;IACD,eAAe,EAAE;QACf,OAAO,EAAE,gCAAgC;QACzC,IAAI,EAAE,mBAAmB;KAC1B;IACD,WAAW,EAAE,EAAE;CAChB,CAAA;AACD,MAAM,iBAAiB,GAGnB;IACF,OAAO,EAAE;QACP,oBAAoB,EAAE,kDAAkD;QACxE,mBAAmB,EAAE,+CAA+C;QACpE,6BAA6B,EAC3B,gFAAgF;QAClF,aAAa,EACX,mFAAmF;QACrF,yBAAyB,EACvB,kHAAkH;QACpH,4BAA4B,EAC1B,4GAA4G;KAC/G;IACD,IAAI,EAAE;QACJ,OAAO,EACL,uEAAuE;QACzE,QAAQ,EAAE,iDAAiD;QAC3D,SAAS,EAAE,2BAA2B;KACvC;IACD,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;CACd,CAAA;AAED,MAAM,UAAU,iBAAiB,CAC/B,IAAiB,EACjB,MAAc;IAEd,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;IACpD,OAAO,cAAc,CAAA;AACvB,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,MAAqB,EACrB,SAAqB;IAErB,IAAI,CAAC,SAAS,EAAE;QACd,OAAM;KACP;IACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAA;IACpD,OAAO,OAAO,CAAA;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAiB,EACjB,OAAiB;IAEjB,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAA;IAC3C,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IACjE,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IACjE,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,oBAAoB,CAAA;IACpE,0DAA0D;IAC1D,IAAI,cAAc,GAAG,CAAC,CAAA;IACtB,IAAI,oBAAoB,GAAG,CAAC,EAAE;QAC5B,cAAc;YACZ,MAAM,CAAC,CAAC,gBAAgB,GAAG,WAAc,CAAC,GAAG,oBAAoB,CAAC;gBAClE,UAAa,CAAA;KAChB;IACD,OAAO,cAAc,IAAI,WAAW,CAAA;AACtC,CAAC"}
@@ -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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"}