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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. package/package.json +40 -88
  2. package/src/_cjs/config.js +90 -0
  3. package/src/_cjs/config.js.map +1 -0
  4. package/{dist/cjs → src/_cjs}/constants.js +3 -5
  5. package/src/_cjs/constants.js.map +1 -0
  6. package/src/_cjs/core/BaseStepExecutor.js +55 -0
  7. package/src/_cjs/core/BaseStepExecutor.js.map +1 -0
  8. package/src/_cjs/core/EVM/EVM.js +43 -0
  9. package/src/_cjs/core/EVM/EVM.js.map +1 -0
  10. package/src/_cjs/core/EVM/EVMStepExecutor.js +304 -0
  11. package/src/_cjs/core/EVM/EVMStepExecutor.js.map +1 -0
  12. package/{dist/cjs/types → src/_cjs/core/EVM}/abi.js +1 -0
  13. package/src/_cjs/core/EVM/abi.js.map +1 -0
  14. package/{dist/cjs/execution → src/_cjs/core/EVM}/checkAllowance.js +19 -12
  15. package/src/_cjs/core/EVM/checkAllowance.js.map +1 -0
  16. package/{dist/cjs/allowance → src/_cjs/core/EVM}/getAllowance.js +13 -17
  17. package/src/_cjs/core/EVM/getAllowance.js.map +1 -0
  18. package/src/_cjs/core/EVM/getENSAddress.js +20 -0
  19. package/src/_cjs/core/EVM/getENSAddress.js.map +1 -0
  20. package/{dist/cjs/balance/getBalance.js → src/_cjs/core/EVM/getEVMBalance.js} +20 -22
  21. package/src/_cjs/core/EVM/getEVMBalance.js.map +1 -0
  22. package/{dist/cjs/execution → src/_cjs/core/EVM}/multisig.js +7 -11
  23. package/src/_cjs/core/EVM/multisig.js.map +1 -0
  24. package/src/_cjs/core/EVM/publicClient.js +43 -0
  25. package/src/_cjs/core/EVM/publicClient.js.map +1 -0
  26. package/{dist/cjs/allowance → src/_cjs/core/EVM}/setAllowance.js +11 -12
  27. package/src/_cjs/core/EVM/setAllowance.js.map +1 -0
  28. package/src/_cjs/core/EVM/switchChain.js +38 -0
  29. package/src/_cjs/core/EVM/switchChain.js.map +1 -0
  30. package/src/_cjs/core/EVM/types.js +9 -0
  31. package/src/_cjs/core/EVM/types.js.map +1 -0
  32. package/{dist/cjs/utils/getMaxPriorityFeePerGas.js → src/_cjs/core/EVM/utils.js} +13 -3
  33. package/src/_cjs/core/EVM/utils.js.map +1 -0
  34. package/src/_cjs/core/Solana/Solana.js +38 -0
  35. package/src/_cjs/core/Solana/Solana.js.map +1 -0
  36. package/src/_cjs/core/Solana/SolanaStepExecutor.js +174 -0
  37. package/src/_cjs/core/Solana/SolanaStepExecutor.js.map +1 -0
  38. package/src/_cjs/core/Solana/connection.js +19 -0
  39. package/src/_cjs/core/Solana/connection.js.map +1 -0
  40. package/src/_cjs/core/Solana/getSNSAddress.js +26 -0
  41. package/src/_cjs/core/Solana/getSNSAddress.js.map +1 -0
  42. package/src/_cjs/core/Solana/getSolanaBalance.js +60 -0
  43. package/src/_cjs/core/Solana/getSolanaBalance.js.map +1 -0
  44. package/src/_cjs/core/Solana/isAddress.js +15 -0
  45. package/src/_cjs/core/Solana/isAddress.js.map +1 -0
  46. package/src/_cjs/core/Solana/types.js +10 -0
  47. package/src/_cjs/core/Solana/types.js.map +1 -0
  48. package/src/_cjs/core/StatusManager.js +167 -0
  49. package/src/_cjs/core/StatusManager.js.map +1 -0
  50. package/{dist/cjs/execution → src/_cjs/core}/checkBalance.js +6 -6
  51. package/src/_cjs/core/checkBalance.js.map +1 -0
  52. package/src/_cjs/core/execution.js +134 -0
  53. package/src/_cjs/core/execution.js.map +1 -0
  54. package/src/_cjs/core/executionState.js +29 -0
  55. package/src/_cjs/core/executionState.js.map +1 -0
  56. package/src/_cjs/core/index.js +7 -0
  57. package/src/_cjs/core/index.js.map +1 -0
  58. package/src/_cjs/core/prepareRestart.js +23 -0
  59. package/src/_cjs/core/prepareRestart.js.map +1 -0
  60. package/src/_cjs/core/provider.js +15 -0
  61. package/src/_cjs/core/provider.js.map +1 -0
  62. package/src/_cjs/core/rpc.js +18 -0
  63. package/src/_cjs/core/rpc.js.map +1 -0
  64. package/src/_cjs/core/stepComparison.js +25 -0
  65. package/src/_cjs/core/stepComparison.js.map +1 -0
  66. package/{dist/cjs/allowance → src/_cjs/core}/types.js +1 -0
  67. package/src/_cjs/core/types.js.map +1 -0
  68. package/{dist/cjs/execution → src/_cjs/core}/utils.js +2 -11
  69. package/src/_cjs/core/utils.js.map +1 -0
  70. package/{dist/cjs/execution → src/_cjs/core}/waitForReceivingTransaction.js +13 -14
  71. package/src/_cjs/core/waitForReceivingTransaction.js.map +1 -0
  72. package/src/_cjs/createConfig.js +32 -0
  73. package/src/_cjs/createConfig.js.map +1 -0
  74. package/src/_cjs/helpers.js +57 -0
  75. package/src/_cjs/helpers.js.map +1 -0
  76. package/src/_cjs/index.js +23 -0
  77. package/src/_cjs/index.js.map +1 -0
  78. package/src/_cjs/package.json +1 -0
  79. package/src/_cjs/request.js +66 -0
  80. package/src/_cjs/request.js.map +1 -0
  81. package/src/_cjs/services/api.js +309 -0
  82. package/src/_cjs/services/api.js.map +1 -0
  83. package/src/_cjs/services/balance.js +49 -0
  84. package/src/_cjs/services/balance.js.map +1 -0
  85. package/src/_cjs/services/getNameServiceAddress.js +29 -0
  86. package/src/_cjs/services/getNameServiceAddress.js.map +1 -0
  87. package/{dist/cjs → src/_cjs}/typeguards.js +1 -0
  88. package/src/_cjs/typeguards.js.map +1 -0
  89. package/src/_cjs/types/index.js +5 -0
  90. package/src/_cjs/types/index.js.map +1 -0
  91. package/{dist/cjs/types/internal.types.js → src/_cjs/types/internal.js} +1 -0
  92. package/src/_cjs/types/internal.js.map +1 -0
  93. package/{dist/cjs → src/_cjs}/utils/errors.js +26 -3
  94. package/src/_cjs/utils/errors.js.map +1 -0
  95. package/src/_cjs/utils/getTransactionMessage.js +31 -0
  96. package/src/_cjs/utils/getTransactionMessage.js.map +1 -0
  97. package/src/_cjs/utils/index.js +9 -0
  98. package/src/_cjs/utils/index.js.map +1 -0
  99. package/{dist/cjs → src/_cjs}/utils/median.js +1 -0
  100. package/src/_cjs/utils/median.js.map +1 -0
  101. package/src/_cjs/utils/parseBackendError.js +27 -0
  102. package/src/_cjs/utils/parseBackendError.js.map +1 -0
  103. package/src/_cjs/utils/parseError.js +69 -0
  104. package/src/_cjs/utils/parseError.js.map +1 -0
  105. package/{dist/cjs → src/_cjs}/utils/utils.js +5 -11
  106. package/src/_cjs/utils/utils.js.map +1 -0
  107. package/{dist/cjs → src/_cjs}/version.js +2 -1
  108. package/src/_cjs/version.js.map +1 -0
  109. package/src/_esm/config.js +87 -0
  110. package/src/_esm/config.js.map +1 -0
  111. package/{dist → src/_esm}/constants.js +2 -4
  112. package/src/_esm/constants.js.map +1 -0
  113. package/src/_esm/core/BaseStepExecutor.js +52 -0
  114. package/src/_esm/core/BaseStepExecutor.js.map +1 -0
  115. package/src/_esm/core/EVM/EVM.js +39 -0
  116. package/src/_esm/core/EVM/EVM.js.map +1 -0
  117. package/src/_esm/core/EVM/EVMStepExecutor.js +329 -0
  118. package/src/_esm/core/EVM/EVMStepExecutor.js.map +1 -0
  119. package/{dist/types → src/_esm/core/EVM}/abi.js +1 -0
  120. package/src/_esm/core/EVM/abi.js.map +1 -0
  121. package/{dist/execution → src/_esm/core/EVM}/checkAllowance.js +14 -5
  122. package/src/_esm/core/EVM/checkAllowance.js.map +1 -0
  123. package/{dist/allowance → src/_esm/core/EVM}/getAllowance.js +19 -6
  124. package/src/_esm/core/EVM/getAllowance.js.map +1 -0
  125. package/src/_esm/core/EVM/getENSAddress.js +17 -0
  126. package/src/_esm/core/EVM/getENSAddress.js.map +1 -0
  127. package/{dist/balance/getBalance.js → src/_esm/core/EVM/getEVMBalance.js} +10 -12
  128. package/src/_esm/core/EVM/getEVMBalance.js.map +1 -0
  129. package/{dist/execution → src/_esm/core/EVM}/multisig.js +5 -6
  130. package/src/_esm/core/EVM/multisig.js.map +1 -0
  131. package/src/_esm/core/EVM/publicClient.js +46 -0
  132. package/src/_esm/core/EVM/publicClient.js.map +1 -0
  133. package/{dist/allowance → src/_esm/core/EVM}/setAllowance.js +23 -4
  134. package/src/_esm/core/EVM/setAllowance.js.map +1 -0
  135. package/{dist/execution → src/_esm/core/EVM}/switchChain.js +7 -4
  136. package/src/_esm/core/EVM/switchChain.js.map +1 -0
  137. package/src/_esm/core/EVM/types.js +6 -0
  138. package/src/_esm/core/EVM/types.js.map +1 -0
  139. package/{dist/utils/getMaxPriorityFeePerGas.js → src/_esm/core/EVM/utils.js} +12 -1
  140. package/src/_esm/core/EVM/utils.js.map +1 -0
  141. package/src/_esm/core/Solana/Solana.js +34 -0
  142. package/src/_esm/core/Solana/Solana.js.map +1 -0
  143. package/src/_esm/core/Solana/SolanaStepExecutor.js +176 -0
  144. package/src/_esm/core/Solana/SolanaStepExecutor.js.map +1 -0
  145. package/src/_esm/core/Solana/connection.js +20 -0
  146. package/src/_esm/core/Solana/connection.js.map +1 -0
  147. package/src/_esm/core/Solana/getSNSAddress.js +26 -0
  148. package/src/_esm/core/Solana/getSNSAddress.js.map +1 -0
  149. package/src/_esm/core/Solana/getSolanaBalance.js +56 -0
  150. package/src/_esm/core/Solana/getSolanaBalance.js.map +1 -0
  151. package/src/_esm/core/Solana/isAddress.js +11 -0
  152. package/src/_esm/core/Solana/isAddress.js.map +1 -0
  153. package/src/_esm/core/Solana/types.js +7 -0
  154. package/src/_esm/core/Solana/types.js.map +1 -0
  155. package/src/_esm/core/StatusManager.js +203 -0
  156. package/src/_esm/core/StatusManager.js.map +1 -0
  157. package/{dist/execution → src/_esm/core}/checkBalance.js +4 -3
  158. package/src/_esm/core/checkBalance.js.map +1 -0
  159. package/src/_esm/core/execution.js +172 -0
  160. package/src/_esm/core/execution.js.map +1 -0
  161. package/src/_esm/core/executionState.js +26 -0
  162. package/src/_esm/core/executionState.js.map +1 -0
  163. package/src/_esm/core/index.js +4 -0
  164. package/src/_esm/core/index.js.map +1 -0
  165. package/src/_esm/core/prepareRestart.js +64 -0
  166. package/src/_esm/core/prepareRestart.js.map +1 -0
  167. package/src/_esm/core/provider.js +11 -0
  168. package/src/_esm/core/provider.js.map +1 -0
  169. package/src/_esm/core/rpc.js +14 -0
  170. package/src/_esm/core/rpc.js.map +1 -0
  171. package/{dist/execution → src/_esm/core}/stepComparison.js +7 -5
  172. package/src/_esm/core/stepComparison.js.map +1 -0
  173. package/src/_esm/core/types.js +2 -0
  174. package/src/_esm/core/types.js.map +1 -0
  175. package/{dist/execution → src/_esm/core}/utils.js +4 -3
  176. package/src/_esm/core/utils.js.map +1 -0
  177. package/{dist/execution → src/_esm/core}/waitForReceivingTransaction.js +11 -9
  178. package/src/_esm/core/waitForReceivingTransaction.js.map +1 -0
  179. package/src/_esm/createConfig.js +28 -0
  180. package/src/_esm/createConfig.js.map +1 -0
  181. package/{dist → src/_esm}/helpers.js +5 -17
  182. package/src/_esm/helpers.js.map +1 -0
  183. package/src/_esm/index.js +14 -0
  184. package/src/_esm/index.js.map +1 -0
  185. package/src/_esm/package.json +1 -0
  186. package/{dist → src/_esm}/request.js +23 -13
  187. package/src/_esm/request.js.map +1 -0
  188. package/src/_esm/services/api.js +378 -0
  189. package/src/_esm/services/api.js.map +1 -0
  190. package/src/_esm/services/balance.js +65 -0
  191. package/src/_esm/services/balance.js.map +1 -0
  192. package/src/_esm/services/getNameServiceAddress.js +25 -0
  193. package/src/_esm/services/getNameServiceAddress.js.map +1 -0
  194. package/{dist → src/_esm}/typeguards.js +1 -0
  195. package/src/_esm/typeguards.js.map +1 -0
  196. package/src/_esm/types/index.js +2 -0
  197. package/src/_esm/types/index.js.map +1 -0
  198. package/src/_esm/types/internal.js +2 -0
  199. package/src/_esm/types/internal.js.map +1 -0
  200. package/{dist → src/_esm}/utils/errors.js +26 -0
  201. package/src/_esm/utils/errors.js.map +1 -0
  202. package/src/_esm/utils/getTransactionMessage.js +28 -0
  203. package/src/_esm/utils/getTransactionMessage.js.map +1 -0
  204. package/src/_esm/utils/index.js +6 -0
  205. package/src/_esm/utils/index.js.map +1 -0
  206. package/{dist → src/_esm}/utils/median.js +1 -0
  207. package/src/_esm/utils/median.js.map +1 -0
  208. package/src/_esm/utils/parseBackendError.js +24 -0
  209. package/src/_esm/utils/parseBackendError.js.map +1 -0
  210. package/{dist → src/_esm}/utils/parseError.js +6 -53
  211. package/src/_esm/utils/parseError.js.map +1 -0
  212. package/{dist → src/_esm}/utils/utils.js +2 -1
  213. package/src/_esm/utils/utils.js.map +1 -0
  214. package/src/_esm/version.js +3 -0
  215. package/src/_esm/version.js.map +1 -0
  216. package/src/_types/config.d.ts +15 -0
  217. package/src/_types/config.d.ts.map +1 -0
  218. package/{dist/cjs → src/_types}/constants.d.ts +2 -4
  219. package/src/_types/constants.d.ts.map +1 -0
  220. package/src/_types/core/BaseStepExecutor.d.ts +13 -0
  221. package/src/_types/core/BaseStepExecutor.d.ts.map +1 -0
  222. package/src/_types/core/EVM/EVM.d.ts +3 -0
  223. package/src/_types/core/EVM/EVM.d.ts.map +1 -0
  224. package/src/_types/core/EVM/EVMStepExecutor.d.ts +17 -0
  225. package/src/_types/core/EVM/EVMStepExecutor.d.ts.map +1 -0
  226. package/{dist/cjs/types → src/_types/core/EVM}/abi.d.ts +1 -0
  227. package/src/_types/core/EVM/abi.d.ts.map +1 -0
  228. package/src/_types/core/EVM/checkAllowance.d.ts +6 -0
  229. package/src/_types/core/EVM/checkAllowance.d.ts.map +1 -0
  230. package/{dist/cjs/allowance → src/_types/core/EVM}/getAllowance.d.ts +15 -1
  231. package/src/_types/core/EVM/getAllowance.d.ts.map +1 -0
  232. package/src/_types/core/EVM/getENSAddress.d.ts +2 -0
  233. package/src/_types/core/EVM/getENSAddress.d.ts.map +1 -0
  234. package/src/_types/core/EVM/getEVMBalance.d.ts +3 -0
  235. package/src/_types/core/EVM/getEVMBalance.d.ts.map +1 -0
  236. package/src/_types/core/EVM/multisig.d.ts +6 -0
  237. package/src/_types/core/EVM/multisig.d.ts.map +1 -0
  238. package/src/_types/core/EVM/publicClient.d.ts +8 -0
  239. package/src/_types/core/EVM/publicClient.d.ts.map +1 -0
  240. package/src/_types/core/EVM/setAllowance.d.ts +25 -0
  241. package/src/_types/core/EVM/setAllowance.d.ts.map +1 -0
  242. package/{dist/cjs/execution → src/_types/core/EVM}/switchChain.d.ts +5 -4
  243. package/src/_types/core/EVM/switchChain.d.ts.map +1 -0
  244. package/src/_types/core/EVM/types.d.ts +55 -0
  245. package/src/_types/core/EVM/types.d.ts.map +1 -0
  246. package/src/_types/core/EVM/utils.d.ts +10 -0
  247. package/src/_types/core/EVM/utils.d.ts.map +1 -0
  248. package/src/_types/core/Solana/Solana.d.ts +3 -0
  249. package/src/_types/core/Solana/Solana.d.ts.map +1 -0
  250. package/src/_types/core/Solana/SolanaStepExecutor.d.ts +13 -0
  251. package/src/_types/core/Solana/SolanaStepExecutor.d.ts.map +1 -0
  252. package/src/_types/core/Solana/connection.d.ts +8 -0
  253. package/src/_types/core/Solana/connection.d.ts.map +1 -0
  254. package/src/_types/core/Solana/getSNSAddress.d.ts +2 -0
  255. package/src/_types/core/Solana/getSNSAddress.d.ts.map +1 -0
  256. package/src/_types/core/Solana/getSolanaBalance.d.ts +3 -0
  257. package/src/_types/core/Solana/getSolanaBalance.d.ts.map +1 -0
  258. package/src/_types/core/Solana/isAddress.d.ts +2 -0
  259. package/src/_types/core/Solana/isAddress.d.ts.map +1 -0
  260. package/src/_types/core/Solana/types.d.ts +13 -0
  261. package/src/_types/core/Solana/types.d.ts.map +1 -0
  262. package/{dist/cjs/execution → src/_types/core}/StatusManager.d.ts +15 -28
  263. package/src/_types/core/StatusManager.d.ts.map +1 -0
  264. package/src/_types/core/checkBalance.d.ts +3 -0
  265. package/src/_types/core/checkBalance.d.ts.map +1 -0
  266. package/src/_types/core/execution.d.ts +42 -0
  267. package/src/_types/core/execution.d.ts.map +1 -0
  268. package/src/_types/core/executionState.d.ts +17 -0
  269. package/src/_types/core/executionState.d.ts.map +1 -0
  270. package/src/_types/core/index.d.ts +4 -0
  271. package/src/_types/core/index.d.ts.map +1 -0
  272. package/src/_types/core/prepareRestart.d.ts +3 -0
  273. package/src/_types/core/prepareRestart.d.ts.map +1 -0
  274. package/src/_types/core/provider.d.ts +3 -0
  275. package/src/_types/core/provider.d.ts.map +1 -0
  276. package/src/_types/core/rpc.d.ts +4 -0
  277. package/src/_types/core/rpc.d.ts.map +1 -0
  278. package/{dist/execution → src/_types/core}/stepComparison.d.ts +7 -4
  279. package/src/_types/core/stepComparison.d.ts.map +1 -0
  280. package/src/_types/core/types.d.ts +81 -0
  281. package/src/_types/core/types.d.ts.map +1 -0
  282. package/{dist/execution → src/_types/core}/utils.d.ts +3 -2
  283. package/src/_types/core/utils.d.ts.map +1 -0
  284. package/src/_types/core/waitForReceivingTransaction.d.ts +4 -0
  285. package/src/_types/core/waitForReceivingTransaction.d.ts.map +1 -0
  286. package/src/_types/createConfig.d.ts +4 -0
  287. package/src/_types/createConfig.d.ts.map +1 -0
  288. package/{dist → src/_types}/helpers.d.ts +4 -3
  289. package/src/_types/helpers.d.ts.map +1 -0
  290. package/src/_types/index.d.ts +15 -0
  291. package/src/_types/index.d.ts.map +1 -0
  292. package/{dist → src/_types}/request.d.ts +1 -0
  293. package/src/_types/request.d.ts.map +1 -0
  294. package/src/_types/services/api.d.ts +89 -0
  295. package/src/_types/services/api.d.ts.map +1 -0
  296. package/src/_types/services/balance.d.ts +30 -0
  297. package/src/_types/services/balance.d.ts.map +1 -0
  298. package/src/_types/services/getNameServiceAddress.d.ts +3 -0
  299. package/src/_types/services/getNameServiceAddress.d.ts.map +1 -0
  300. package/{dist/cjs → src/_types}/typeguards.d.ts +3 -2
  301. package/src/_types/typeguards.d.ts.map +1 -0
  302. package/src/_types/types/index.d.ts +2 -0
  303. package/src/_types/types/index.d.ts.map +1 -0
  304. package/src/_types/types/internal.d.ts +59 -0
  305. package/src/_types/types/internal.d.ts.map +1 -0
  306. package/{dist → src/_types}/utils/errors.d.ts +3 -1
  307. package/src/_types/utils/errors.d.ts.map +1 -0
  308. package/src/_types/utils/getTransactionMessage.d.ts +4 -0
  309. package/src/_types/utils/getTransactionMessage.d.ts.map +1 -0
  310. package/src/_types/utils/index.d.ts +6 -0
  311. package/src/_types/utils/index.d.ts.map +1 -0
  312. package/{dist/cjs → src/_types}/utils/median.d.ts +1 -0
  313. package/src/_types/utils/median.d.ts.map +1 -0
  314. package/src/_types/utils/parseBackendError.d.ts +3 -0
  315. package/src/_types/utils/parseBackendError.d.ts.map +1 -0
  316. package/{dist → src/_types}/utils/parseError.d.ts +4 -6
  317. package/src/_types/utils/parseError.d.ts.map +1 -0
  318. package/{dist → src/_types}/utils/utils.d.ts +1 -0
  319. package/src/_types/utils/utils.d.ts.map +1 -0
  320. package/src/_types/version.d.ts +3 -0
  321. package/src/_types/version.d.ts.map +1 -0
  322. package/src/config.ts +91 -0
  323. package/src/constants.ts +4 -0
  324. package/src/core/BaseStepExecutor.ts +40 -0
  325. package/src/core/EVM/EVM.ts +47 -0
  326. package/src/core/EVM/EVMStepExecutor.ts +503 -0
  327. package/src/core/EVM/abi.ts +47 -0
  328. package/src/core/EVM/checkAllowance.ts +168 -0
  329. package/src/core/EVM/getAllowance.ts +144 -0
  330. package/src/core/EVM/getENSAddress.ts +18 -0
  331. package/src/core/EVM/getEVMBalance.ts +118 -0
  332. package/src/core/EVM/multisig.ts +53 -0
  333. package/src/core/EVM/publicClient.ts +54 -0
  334. package/src/core/EVM/setAllowance.ts +144 -0
  335. package/src/core/EVM/switchChain.ts +77 -0
  336. package/src/core/EVM/types.ts +73 -0
  337. package/src/core/EVM/utils.ts +48 -0
  338. package/src/core/Solana/Solana.ts +41 -0
  339. package/src/core/Solana/SolanaStepExecutor.ts +272 -0
  340. package/src/core/Solana/connection.ts +20 -0
  341. package/src/core/Solana/getSNSAddress.ts +33 -0
  342. package/src/core/Solana/getSolanaBalance.ts +72 -0
  343. package/src/core/Solana/isAddress.ts +10 -0
  344. package/src/core/Solana/types.ts +18 -0
  345. package/src/core/StatusManager.ts +231 -0
  346. package/src/core/checkBalance.ts +48 -0
  347. package/src/core/execution.ts +210 -0
  348. package/src/core/executionState.ts +44 -0
  349. package/src/core/index.ts +3 -0
  350. package/src/core/prepareRestart.ts +82 -0
  351. package/src/core/provider.ts +12 -0
  352. package/src/core/rpc.ts +15 -0
  353. package/src/core/stepComparison.ts +51 -0
  354. package/src/core/types.ts +118 -0
  355. package/src/core/utils.ts +105 -0
  356. package/src/core/waitForReceivingTransaction.ts +74 -0
  357. package/src/createConfig.ts +33 -0
  358. package/src/helpers.ts +83 -0
  359. package/src/index.ts +18 -0
  360. package/src/request.ts +79 -0
  361. package/src/services/api.ts +509 -0
  362. package/src/services/balance.ts +93 -0
  363. package/src/services/getNameServiceAddress.ts +30 -0
  364. package/src/typeguards.ts +89 -0
  365. package/src/types/index.ts +1 -0
  366. package/src/types/internal.ts +62 -0
  367. package/src/utils/errors.ts +232 -0
  368. package/src/utils/getTransactionMessage.ts +46 -0
  369. package/src/utils/index.ts +5 -0
  370. package/src/utils/median.ts +11 -0
  371. package/src/utils/parseBackendError.ts +50 -0
  372. package/src/utils/parseError.ts +210 -0
  373. package/src/utils/utils.ts +48 -0
  374. package/src/version.ts +2 -0
  375. package/dist/LiFi.d.ts +0 -175
  376. package/dist/LiFi.js +0 -250
  377. package/dist/allowance/getAllowance.d.ts +0 -6
  378. package/dist/allowance/index.d.ts +0 -3
  379. package/dist/allowance/index.js +0 -3
  380. package/dist/allowance/setAllowance.d.ts +0 -6
  381. package/dist/allowance/types.d.ts +0 -27
  382. package/dist/allowance/types.js +0 -1
  383. package/dist/balance/getBalance.d.ts +0 -2
  384. package/dist/balance/getTokenBalance.d.ts +0 -8
  385. package/dist/balance/getTokenBalance.js +0 -27
  386. package/dist/balance/index.d.ts +0 -2
  387. package/dist/balance/index.js +0 -2
  388. package/dist/cjs/LiFi.d.ts +0 -175
  389. package/dist/cjs/LiFi.js +0 -280
  390. package/dist/cjs/allowance/index.d.ts +0 -3
  391. package/dist/cjs/allowance/index.js +0 -19
  392. package/dist/cjs/allowance/setAllowance.d.ts +0 -6
  393. package/dist/cjs/allowance/types.d.ts +0 -27
  394. package/dist/cjs/balance/getBalance.d.ts +0 -2
  395. package/dist/cjs/balance/getTokenBalance.d.ts +0 -8
  396. package/dist/cjs/balance/getTokenBalance.js +0 -33
  397. package/dist/cjs/balance/index.d.ts +0 -2
  398. package/dist/cjs/balance/index.js +0 -18
  399. package/dist/cjs/connectors.d.ts +0 -8
  400. package/dist/cjs/connectors.js +0 -75
  401. package/dist/cjs/execution/RouteExecutionManager.d.ts +0 -59
  402. package/dist/cjs/execution/RouteExecutionManager.js +0 -202
  403. package/dist/cjs/execution/StatusManager.js +0 -171
  404. package/dist/cjs/execution/StepExecutionManager.d.ts +0 -7
  405. package/dist/cjs/execution/StepExecutionManager.js +0 -272
  406. package/dist/cjs/execution/StepExecutor.d.ts +0 -15
  407. package/dist/cjs/execution/StepExecutor.js +0 -62
  408. package/dist/cjs/execution/checkAllowance.d.ts +0 -4
  409. package/dist/cjs/execution/checkBalance.d.ts +0 -2
  410. package/dist/cjs/execution/index.d.ts +0 -1
  411. package/dist/cjs/execution/index.js +0 -17
  412. package/dist/cjs/execution/multisig.d.ts +0 -4
  413. package/dist/cjs/execution/prepareRestart.d.ts +0 -3
  414. package/dist/cjs/execution/prepareRestart.js +0 -65
  415. package/dist/cjs/execution/stepComparison.d.ts +0 -14
  416. package/dist/cjs/execution/stepComparison.js +0 -37
  417. package/dist/cjs/execution/switchChain.js +0 -54
  418. package/dist/cjs/execution/utils.d.ts +0 -12
  419. package/dist/cjs/execution/waitForReceivingTransaction.d.ts +0 -3
  420. package/dist/cjs/helpers.d.ts +0 -18
  421. package/dist/cjs/helpers.js +0 -84
  422. package/dist/cjs/index.d.ts +0 -5
  423. package/dist/cjs/index.js +0 -24
  424. package/dist/cjs/request.d.ts +0 -9
  425. package/dist/cjs/request.js +0 -60
  426. package/dist/cjs/services/ApiService.d.ts +0 -17
  427. package/dist/cjs/services/ApiService.js +0 -326
  428. package/dist/cjs/services/ChainsService.d.ts +0 -11
  429. package/dist/cjs/services/ChainsService.js +0 -39
  430. package/dist/cjs/services/ConfigService.d.ts +0 -23
  431. package/dist/cjs/services/ConfigService.js +0 -101
  432. package/dist/cjs/types/index.d.ts +0 -4
  433. package/dist/cjs/types/index.js +0 -22
  434. package/dist/cjs/types/internal.types.d.ts +0 -145
  435. package/dist/cjs/utils/errors.d.ts +0 -107
  436. package/dist/cjs/utils/getMaxPriorityFeePerGas.d.ts +0 -2
  437. package/dist/cjs/utils/index.d.ts +0 -5
  438. package/dist/cjs/utils/index.js +0 -21
  439. package/dist/cjs/utils/parseError.d.ts +0 -37
  440. package/dist/cjs/utils/parseError.js +0 -157
  441. package/dist/cjs/utils/utils.d.ts +0 -10
  442. package/dist/cjs/version.d.ts +0 -2
  443. package/dist/connectors.d.ts +0 -8
  444. package/dist/connectors.js +0 -41
  445. package/dist/constants.d.ts +0 -6
  446. package/dist/execution/RouteExecutionManager.d.ts +0 -59
  447. package/dist/execution/RouteExecutionManager.js +0 -195
  448. package/dist/execution/StatusManager.d.ts +0 -67
  449. package/dist/execution/StatusManager.js +0 -167
  450. package/dist/execution/StepExecutionManager.d.ts +0 -7
  451. package/dist/execution/StepExecutionManager.js +0 -265
  452. package/dist/execution/StepExecutor.d.ts +0 -15
  453. package/dist/execution/StepExecutor.js +0 -58
  454. package/dist/execution/checkAllowance.d.ts +0 -4
  455. package/dist/execution/checkBalance.d.ts +0 -2
  456. package/dist/execution/index.d.ts +0 -1
  457. package/dist/execution/index.js +0 -1
  458. package/dist/execution/multisig.d.ts +0 -4
  459. package/dist/execution/prepareRestart.d.ts +0 -3
  460. package/dist/execution/prepareRestart.js +0 -61
  461. package/dist/execution/switchChain.d.ts +0 -21
  462. package/dist/execution/waitForReceivingTransaction.d.ts +0 -3
  463. package/dist/index.d.ts +0 -5
  464. package/dist/index.js +0 -6
  465. package/dist/services/ApiService.d.ts +0 -17
  466. package/dist/services/ApiService.js +0 -321
  467. package/dist/services/ChainsService.d.ts +0 -11
  468. package/dist/services/ChainsService.js +0 -33
  469. package/dist/services/ConfigService.d.ts +0 -23
  470. package/dist/services/ConfigService.js +0 -99
  471. package/dist/typeguards.d.ts +0 -4
  472. package/dist/types/abi.d.ts +0 -5
  473. package/dist/types/index.d.ts +0 -4
  474. package/dist/types/index.js +0 -4
  475. package/dist/types/internal.types.d.ts +0 -145
  476. package/dist/types/internal.types.js +0 -1
  477. package/dist/utils/getMaxPriorityFeePerGas.d.ts +0 -2
  478. package/dist/utils/index.d.ts +0 -5
  479. package/dist/utils/index.js +0 -5
  480. package/dist/utils/median.d.ts +0 -1
  481. package/dist/version.d.ts +0 -2
  482. package/dist/version.js +0 -2
@@ -1,17 +1,17 @@
1
- import ApiService from '../services/ApiService';
2
- import { ServerError } from '../utils/errors';
3
- import { repeatUntilDone } from '../utils/utils';
4
- import { getSubstatusMessage } from './utils';
1
+ import { getStatus } from '../services/api.js';
2
+ import { ServerError } from '../utils/errors.js';
3
+ import { repeatUntilDone } from '../utils/utils.js';
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({
11
- bridge: step.tool,
10
+ statusResponse = await getStatus({
12
11
  fromChain: step.action.fromChainId,
13
12
  toChain: step.action.toChainId,
14
13
  txHash,
14
+ ...(step.tool !== 'custom' && { bridge: step.tool }),
15
15
  });
16
16
  }
17
17
  catch (e) {
@@ -31,6 +31,7 @@ export async function waitForReceivingTransaction(txHash, statusManager, process
31
31
  return resolve(undefined);
32
32
  case 'NOT_FOUND':
33
33
  return resolve(undefined);
34
+ case 'INVALID':
34
35
  case 'FAILED':
35
36
  default:
36
37
  return reject();
@@ -41,11 +42,12 @@ export async function waitForReceivingTransaction(txHash, statusManager, process
41
42
  status = await TRANSACTION_HASH_OBSERVERS[txHash];
42
43
  }
43
44
  else {
44
- TRANSACTION_HASH_OBSERVERS[txHash] = repeatUntilDone(getStatus, 5000);
45
+ TRANSACTION_HASH_OBSERVERS[txHash] = repeatUntilDone(_getStatus, 5_000);
45
46
  status = await TRANSACTION_HASH_OBSERVERS[txHash];
46
47
  }
47
- if (!status.receiving) {
48
+ if (!('receiving' in status)) {
48
49
  throw new ServerError("Status doesn't contain receiving information.");
49
50
  }
50
51
  return status;
51
52
  }
53
+ //# sourceMappingURL=waitForReceivingTransaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waitForReceivingTransaction.js","sourceRoot":"","sources":["../../core/waitForReceivingTransaction.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,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,CAAC;YACH,cAAc,GAAG,MAAM,SAAS,CAAC;gBAC/B,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBAClC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;gBAC9B,MAAM;gBACN,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;aACrD,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,sCAAsC,EAAE,CAAC,CAAC,CAAA;YACxD,OAAO,OAAO,CAAC,SAAS,CAAC,CAAA;QAC3B,CAAC;QAED,QAAQ,cAAc,CAAC,MAAM,EAAE,CAAC;YAC9B,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,SAAS,CAAC;YACf,KAAK,QAAQ,CAAC;YACd;gBACE,OAAO,MAAM,EAAE,CAAA;QACnB,CAAC;IACH,CAAC,CAAC,CAAA;IAEJ,IAAI,MAAM,CAAA;IAEV,IAAI,MAAM,IAAI,0BAA0B,EAAE,CAAC;QACzC,MAAM,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAA;IACnD,CAAC;SAAM,CAAC;QACN,0BAA0B,CAAC,MAAM,CAAC,GAAG,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAA;QACvE,MAAM,GAAG,MAAM,0BAA0B,CAAC,MAAM,CAAC,CAAA;IACnD,CAAC;IAED,IAAI,CAAC,CAAC,WAAW,IAAI,MAAM,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,WAAW,CAAC,+CAA+C,CAAC,CAAA;IACxE,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -0,0 +1,28 @@
1
+ /* eslint-disable @typescript-eslint/no-empty-function */
2
+ import { ChainType } from '@lifi/types';
3
+ import { config } from './config.js';
4
+ import { checkPackageUpdates } from './helpers.js';
5
+ import { getChains } from './services/api.js';
6
+ import { name, version } from './version.js';
7
+ function createBaseConfig(options) {
8
+ if (!options.integrator) {
9
+ throw new Error('Integrator not found. Please see documentation https://docs.li.fi/integrate-li.fi-js-sdk/set-up-the-sdk');
10
+ }
11
+ const _config = config.set(options);
12
+ checkPackageUpdates(name, version, options.disableVersionCheck);
13
+ return _config;
14
+ }
15
+ export async function createChainsConfig() {
16
+ config.loading = getChains({ chainTypes: [ChainType.EVM, ChainType.SVM] })
17
+ .then((chains) => config.setChains(chains))
18
+ .catch();
19
+ await config.loading;
20
+ }
21
+ export function createConfig(options) {
22
+ const _config = createBaseConfig(options);
23
+ if (_config.preloadChains) {
24
+ createChainsConfig();
25
+ }
26
+ return _config;
27
+ }
28
+ //# sourceMappingURL=createConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createConfig.js","sourceRoot":"","sources":["../createConfig.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAE7C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE5C,SAAS,gBAAgB,CAAC,OAAkB;IAC1C,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,yGAAyG,CAC1G,CAAA;IACH,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACnC,mBAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC/D,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;SACvE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SAC1C,KAAK,EAAE,CAAA;IACV,MAAM,MAAM,CAAC,OAAO,CAAA;AACtB,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAkB;IAC7C,MAAM,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;IACzC,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,kBAAkB,EAAE,CAAA;IACtB,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -1,6 +1,6 @@
1
- import { request } from './request';
2
- import { ValidationError } from './utils/errors';
3
- import { name, version } from './version';
1
+ import { request } from './request.js';
2
+ import { ValidationError } from './utils/errors.js';
3
+ import { name, version } from './version.js';
4
4
  /**
5
5
  * Returns a random number between min (inclusive) and max (inclusive)
6
6
  * @param min - minimum number.
@@ -10,19 +10,6 @@ import { name, version } from './version';
10
10
  export const getRandomNumber = (min, max) => {
11
11
  return Math.floor(Math.random() * (max - min + 1) + min);
12
12
  };
13
- function semverCompare(a, b) {
14
- if (a.startsWith(b + '-')) {
15
- return -1;
16
- }
17
- if (b.startsWith(a + '-')) {
18
- return 1;
19
- }
20
- return a.localeCompare(b, undefined, {
21
- numeric: true,
22
- sensitivity: 'case',
23
- caseFirst: 'upper',
24
- });
25
- }
26
13
  export const checkPackageUpdates = async (packageName, packageVersion, disableCheck) => {
27
14
  if (disableCheck || process.env.NODE_ENV !== 'development') {
28
15
  return;
@@ -32,7 +19,7 @@ export const checkPackageUpdates = async (packageName, packageVersion, disableCh
32
19
  const response = await request(`https://registry.npmjs.org/${pkgName}/latest`, { skipTrackingHeaders: true });
33
20
  const latestVersion = response.version;
34
21
  const currentVersion = packageVersion ?? version;
35
- if (semverCompare(latestVersion, currentVersion)) {
22
+ if (latestVersion > currentVersion) {
36
23
  console.warn(
37
24
  // eslint-disable-next-line max-len
38
25
  `${pkgName}: new package version is available. Please update as soon as possible to enjoy the newest features. Current version: ${currentVersion}. Latest version: ${latestVersion}.`);
@@ -75,3 +62,4 @@ export const fetchTxErrorDetails = async (txHash, chainId) => {
75
62
  const response = await request(`https://api.tenderly.co/api/v1/public-contract/${chainId}/tx/${txHash}`);
76
63
  return response;
77
64
  };
65
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAEtC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAE5C;;;;;GAKG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAE,GAAW,EAAU,EAAE;IAClE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;AAC1D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,WAAoB,EACpB,cAAuB,EACvB,YAAsB,EACtB,EAAE;IACF,IAAI,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;QAC3D,OAAM;IACR,CAAC;IACD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,WAAW,IAAI,IAAI,CAAA;QACnC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,8BAA8B,OAAO,SAAS,EAC9C,EAAE,mBAAmB,EAAE,IAAI,EAAE,CAC9B,CAAA;QACD,MAAM,aAAa,GAAG,QAAQ,CAAC,OAAO,CAAA;QACtC,MAAM,cAAc,GAAG,cAAc,IAAI,OAAO,CAAA;QAChD,IAAI,aAAa,GAAG,cAAc,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI;YACV,mCAAmC;YACnC,GAAG,OAAO,wHAAwH,cAAc,qBAAqB,aAAa,GAAG,CACtL,CAAA;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,mGAAmG;IACrG,CAAC;AACH,CAAC,CAAA;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAAc,EAAS,EAAE;IAC3D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACjC,MAAM,IAAI,eAAe,CAAC,2CAA2C,CAAC,CAAA;IACxE,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC/B,MAAM,IAAI,eAAe,CAAC,yCAAyC,CAAC,CAAA;IACtE,CAAC;IAED,MAAM,KAAK,GAAU;QACnB,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;QAChC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;QAC5B,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;QAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ;QAChC,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO;QAC1C,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO;QACtC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;QAC1C,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;QACtC,KAAK,EAAE,CAAC,IAAI,CAAC;QACb,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW;QACtC,SAAS,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,EAAE;KACzD,CAAA;IAED,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,MAAc,EAAE,OAAe,EAAE,EAAE;IAC3E,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,kDAAkD,OAAO,OAAO,MAAM,EAAE,CACzE,CAAA;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA"}
@@ -0,0 +1,14 @@
1
+ export * from '@lifi/types';
2
+ export { config } from './config.js';
3
+ export { EVM } from './core/EVM/EVM.js';
4
+ export { Solana } from './core/Solana/Solana.js';
5
+ export * from './core/index.js';
6
+ export { createConfig } from './createConfig.js';
7
+ export * from './helpers.js';
8
+ export * from './services/api.js';
9
+ export * from './services/balance.js';
10
+ export * from './services/getNameServiceAddress.js';
11
+ export * from './types/index.js';
12
+ export * from './utils/errors.js';
13
+ export { LiFiError } from './utils/errors.js';
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAA;AAMvC,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,mBAAmB,CAAA;AACjC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qCAAqC,CAAA;AACnD,cAAc,kBAAkB,CAAA;AAChC,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,SAAS,EAAkB,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1 @@
1
+ {"type": "module","sideEffects":false}
@@ -1,39 +1,48 @@
1
- import ConfigService from './services/ConfigService';
2
- import { HTTPError } from './utils/errors';
3
- import { wait } from './utils/utils';
4
- import { version } from './version';
1
+ import { config } from './config.js';
2
+ import { HTTPError } from './utils/errors.js';
3
+ import { wait } from './utils/utils.js';
4
+ import { version } from './version.js';
5
5
  export const requestSettings = {
6
6
  retries: 1,
7
7
  };
8
8
  export const request = async (url, options = {
9
9
  retries: requestSettings.retries,
10
10
  }) => {
11
- const { userId, integrator, widgetVersion } = 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) {
18
+ if (apiKey) {
19
+ options.headers = {
20
+ ...options.headers,
21
+ 'x-lifi-api-key': apiKey,
22
+ };
23
+ }
15
24
  if (userId) {
16
25
  options.headers = {
17
- ...options?.headers,
18
- 'X-LIFI-UserId': userId,
26
+ ...options.headers,
27
+ 'x-lifi-userid': userId,
19
28
  };
20
29
  }
21
30
  if (widgetVersion) {
22
31
  options.headers = {
23
- ...options?.headers,
24
- 'X-LIFI-Widget': widgetVersion,
32
+ ...options.headers,
33
+ 'x-lifi-widget': widgetVersion,
25
34
  };
26
35
  }
27
36
  if (version) {
28
37
  options.headers = {
29
- ...options?.headers,
30
- 'X-LIFI-SDK': version,
38
+ ...options.headers,
39
+ 'x-lifi-sdk': version,
31
40
  };
32
41
  }
33
42
  // integrator is mandatory during SDK initialization
34
43
  options.headers = {
35
- ...options?.headers,
36
- 'X-LIFI-Integrator': integrator,
44
+ ...options.headers,
45
+ 'x-lifi-integrator': integrator,
37
46
  };
38
47
  }
39
48
  const response = await fetch(url, options);
@@ -51,3 +60,4 @@ export const request = async (url, options = {
51
60
  throw error;
52
61
  }
53
62
  };
63
+ //# sourceMappingURL=request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../request.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,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,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,yGAAyG,CAC1G,CAAA;IACH,CAAC;IACD,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,eAAe,CAAC,OAAO,CAAA;IAC5D,IAAI,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC;YACjC,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,OAAO,GAAG;oBAChB,GAAG,OAAO,CAAC,OAAO;oBAClB,gBAAgB,EAAE,MAAM;iBACzB,CAAA;YACH,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,CAAC,OAAO,GAAG;oBAChB,GAAG,OAAO,CAAC,OAAO;oBAClB,eAAe,EAAE,MAAM;iBACxB,CAAA;YACH,CAAC;YAED,IAAI,aAAa,EAAE,CAAC;gBAClB,OAAO,CAAC,OAAO,GAAG;oBAChB,GAAG,OAAO,CAAC,OAAO;oBAClB,eAAe,EAAE,aAAa;iBAC/B,CAAA;YACH,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,OAAO,GAAG;oBAChB,GAAG,OAAO,CAAC,OAAO;oBAClB,YAAY,EAAE,OAAO;iBACtB,CAAA;YACH,CAAC;YAED,oDAAoD;YACpD,OAAO,CAAC,OAAO,GAAG;gBAChB,GAAG,OAAO,CAAC,OAAO;gBAClB,mBAAmB,EAAE,UAAU;aAChC,CAAA;QACH,CAAC;QAED,MAAM,QAAQ,GAAa,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACpD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAA;QAC/B,CAAC;QAED,MAAM,IAAI,GAAM,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QACrC,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC,IAAK,KAAmB,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;YAChE,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;QACtE,CAAC;QACD,MAAM,KAAK,CAAA;IACb,CAAC;AACH,CAAC,CAAA"}
@@ -0,0 +1,378 @@
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 getContractCallsQuote = async (params, options) => {
88
+ // validation
89
+ const requiredParameters = [
90
+ 'fromChain',
91
+ 'fromToken',
92
+ 'fromAddress',
93
+ 'toChain',
94
+ 'toToken',
95
+ 'toAmount',
96
+ 'contractCalls',
97
+ ];
98
+ requiredParameters.forEach((requiredParameter) => {
99
+ if (!params[requiredParameter]) {
100
+ throw new ValidationError(`Required parameter "${requiredParameter}" is missing.`);
101
+ }
102
+ });
103
+ const _config = config.get();
104
+ // apply defaults
105
+ // option.order is not used in this endpoint
106
+ params.integrator ??= _config.integrator;
107
+ params.slippage ??= _config.routeOptions?.slippage;
108
+ params.referrer ??= _config.routeOptions?.referrer;
109
+ params.fee ??= _config.routeOptions?.fee;
110
+ params.allowBridges ??= _config.routeOptions?.bridges?.allow;
111
+ params.denyBridges ??= _config.routeOptions?.bridges?.deny;
112
+ params.preferBridges ??= _config.routeOptions?.bridges?.prefer;
113
+ params.allowExchanges ??= _config.routeOptions?.exchanges?.allow;
114
+ params.denyExchanges ??= _config.routeOptions?.exchanges?.deny;
115
+ params.preferExchanges ??= _config.routeOptions?.exchanges?.prefer;
116
+ // send request
117
+ try {
118
+ const response = await request(`${_config.apiUrl}/quote/contractCalls`, {
119
+ method: 'POST',
120
+ headers: {
121
+ 'Content-Type': 'application/json',
122
+ },
123
+ body: JSON.stringify(params),
124
+ signal: options?.signal,
125
+ });
126
+ return response;
127
+ }
128
+ catch (e) {
129
+ throw await parseBackendError(e);
130
+ }
131
+ };
132
+ /**
133
+ * Check the status of a transfer. For cross chain transfers, the "bridge" parameter is required.
134
+ * @param params - Configuration of the requested status
135
+ * @param options - Request options.
136
+ * @throws {LiFiError} - Throws a LiFiError if request fails
137
+ * @returns Returns status response.
138
+ */
139
+ export const getStatus = async (params, options) => {
140
+ if (!params.txHash) {
141
+ throw new ValidationError('Required parameter "txHash" is missing.');
142
+ }
143
+ const queryParams = new URLSearchParams(params);
144
+ try {
145
+ const response = await request(`${config.get().apiUrl}/status?${queryParams}`, {
146
+ signal: options?.signal,
147
+ });
148
+ return response;
149
+ }
150
+ catch (e) {
151
+ throw await parseBackendError(e);
152
+ }
153
+ };
154
+ /**
155
+ * Get all available chains
156
+ * @param params - The configuration of the requested chains
157
+ * @param options - Request options
158
+ * @returns A list of all available chains
159
+ * @throws {LiFiError} Throws a LiFiError if request fails.
160
+ */
161
+ export const getChains = async (params, options) => {
162
+ if (params) {
163
+ Object.keys(params).forEach((key) => !params[key] &&
164
+ delete params[key]);
165
+ }
166
+ try {
167
+ const response = await request(`${config.get().apiUrl}/chains?${new URLSearchParams(params)}`, {
168
+ signal: options?.signal,
169
+ });
170
+ return response.chains;
171
+ }
172
+ catch (e) {
173
+ throw await parseBackendError(e);
174
+ }
175
+ };
176
+ /**
177
+ * Get a set of routes for a request that describes a transfer of tokens.
178
+ * @param params - A description of the transfer.
179
+ * @param options - Request options
180
+ * @returns The resulting routes that can be used to realize the described transfer of tokens.
181
+ * @throws {LiFiError} Throws a LiFiError if request fails.
182
+ */
183
+ export const getRoutes = async (params, options) => {
184
+ if (!isRoutesRequest(params)) {
185
+ throw new ValidationError('Invalid routes request.');
186
+ }
187
+ const _config = config.get();
188
+ // apply defaults
189
+ params.options = {
190
+ integrator: _config.integrator,
191
+ ..._config.routeOptions,
192
+ ...params.options,
193
+ };
194
+ // send request
195
+ try {
196
+ const response = await request(`${_config.apiUrl}/advanced/routes`, {
197
+ method: 'POST',
198
+ headers: {
199
+ 'Content-Type': 'application/json',
200
+ },
201
+ body: JSON.stringify(params),
202
+ signal: options?.signal,
203
+ });
204
+ return response;
205
+ }
206
+ catch (e) {
207
+ throw await parseBackendError(e);
208
+ }
209
+ };
210
+ /**
211
+ * Get the transaction data for a single step of a route
212
+ * @param step - The step object.
213
+ * @param options - Request options
214
+ * @returns The step populated with the transaction data.
215
+ * @throws {LiFiError} Throws a LiFiError if request fails.
216
+ */
217
+ export const getStepTransaction = async (step, options) => {
218
+ if (!isStep(step)) {
219
+ // While the validation fails for some users we should not enforce it
220
+ // eslint-disable-next-line no-console
221
+ console.warn('SDK Validation: Invalid Step', step);
222
+ }
223
+ try {
224
+ const response = await request(`${config.get().apiUrl}/advanced/stepTransaction`, {
225
+ method: 'POST',
226
+ headers: {
227
+ 'Content-Type': 'application/json',
228
+ },
229
+ body: JSON.stringify(step),
230
+ signal: options?.signal,
231
+ });
232
+ return response;
233
+ }
234
+ catch (e) {
235
+ throw await parseBackendError(e);
236
+ }
237
+ };
238
+ /**
239
+ * Get the available tools to bridge and swap tokens.
240
+ * @param params - The configuration of the requested tools
241
+ * @param options - Request options
242
+ * @returns The tools that are available on the requested chains
243
+ */
244
+ export const getTools = async (params, options) => {
245
+ if (params) {
246
+ Object.keys(params).forEach((key) => !params[key] &&
247
+ delete params[key]);
248
+ }
249
+ try {
250
+ const response = await request(`${config.get().apiUrl}/tools?${new URLSearchParams(params)}`, {
251
+ signal: options?.signal,
252
+ });
253
+ return response;
254
+ }
255
+ catch (e) {
256
+ throw await parseBackendError(e);
257
+ }
258
+ };
259
+ /**
260
+ * Get all known tokens.
261
+ * @param params - The configuration of the requested tokens
262
+ * @param options - Request options
263
+ * @returns The tokens that are available on the requested chains
264
+ */
265
+ export const getTokens = async (params, options) => {
266
+ if (params) {
267
+ Object.keys(params).forEach((key) => !params[key] &&
268
+ delete params[key]);
269
+ }
270
+ try {
271
+ const response = await request(`${config.get().apiUrl}/tokens?${new URLSearchParams(params)}`, {
272
+ signal: options?.signal,
273
+ });
274
+ return response;
275
+ }
276
+ catch (e) {
277
+ throw await parseBackendError(e);
278
+ }
279
+ };
280
+ /**
281
+ * Get gas recommendation for a certain chain
282
+ * @param params - Configuration of the requested gas recommendation.
283
+ * @param options - Request options
284
+ * @throws {LiFiError} Throws a LiFiError if request fails.
285
+ * @returns Gas recommendation response.
286
+ */
287
+ export const getGasRecommendation = async (params, options) => {
288
+ if (!params.chainId) {
289
+ throw new ValidationError('Required parameter "chainId" is missing.');
290
+ }
291
+ const url = new URL(`${config.get().apiUrl}/gas/suggestion/${params.chainId}`);
292
+ if (params.fromChain) {
293
+ url.searchParams.append('fromChain', params.fromChain);
294
+ }
295
+ if (params.fromToken) {
296
+ url.searchParams.append('fromToken', params.fromToken);
297
+ }
298
+ try {
299
+ const response = await request(url.toString(), {
300
+ signal: options?.signal,
301
+ });
302
+ return response;
303
+ }
304
+ catch (e) {
305
+ throw await parseBackendError(e);
306
+ }
307
+ };
308
+ /**
309
+ * Get all the available connections for swap/bridging tokens
310
+ * @param connectionRequest ConnectionsRequest
311
+ * @param options - Request options
312
+ * @returns ConnectionsResponse
313
+ */
314
+ export const getConnections = async (connectionRequest, options) => {
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, options);
347
+ return response;
348
+ }
349
+ catch (e) {
350
+ throw await parseBackendError(e);
351
+ }
352
+ };
353
+ export const getTransactionHistory = async ({ wallet, status, fromTimestamp, toTimestamp }, options) => {
354
+ if (!wallet) {
355
+ throw new ValidationError('Required parameter "wallet" is missing.');
356
+ }
357
+ const _config = config.get();
358
+ const url = new URL(`${_config.apiUrl}/analytics/transfers`);
359
+ url.searchParams.append('integrator', _config.integrator);
360
+ url.searchParams.append('wallet', wallet);
361
+ if (status) {
362
+ url.searchParams.append('status', status);
363
+ }
364
+ if (fromTimestamp) {
365
+ url.searchParams.append('fromTimestamp', fromTimestamp.toString());
366
+ }
367
+ if (toTimestamp) {
368
+ url.searchParams.append('toTimestamp', toTimestamp.toString());
369
+ }
370
+ try {
371
+ const response = await request(url, options);
372
+ return response;
373
+ }
374
+ catch (e) {
375
+ throw await parseBackendError(e);
376
+ }
377
+ };
378
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../services/api.ts"],"names":[],"mappings":"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"}