@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,84 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fetchTxErrorDetails = exports.convertQuoteToRoute = exports.checkPackageUpdates = exports.getRandomNumber = void 0;
4
- const request_1 = require("./request");
5
- const errors_1 = require("./utils/errors");
6
- const version_1 = require("./version");
7
- /**
8
- * Returns a random number between min (inclusive) and max (inclusive)
9
- * @param min - minimum number.
10
- * @param max - maximum number.
11
- * @returns - random number.
12
- */
13
- const getRandomNumber = (min, max) => {
14
- return Math.floor(Math.random() * (max - min + 1) + min);
15
- };
16
- exports.getRandomNumber = getRandomNumber;
17
- function semverCompare(a, b) {
18
- if (a.startsWith(b + '-')) {
19
- return -1;
20
- }
21
- if (b.startsWith(a + '-')) {
22
- return 1;
23
- }
24
- return a.localeCompare(b, undefined, {
25
- numeric: true,
26
- sensitivity: 'case',
27
- caseFirst: 'upper',
28
- });
29
- }
30
- const checkPackageUpdates = async (packageName, packageVersion, disableCheck) => {
31
- if (disableCheck || process.env.NODE_ENV !== 'development') {
32
- return;
33
- }
34
- try {
35
- const pkgName = packageName ?? version_1.name;
36
- const response = await (0, request_1.request)(`https://registry.npmjs.org/${pkgName}/latest`, { skipTrackingHeaders: true });
37
- const latestVersion = response.version;
38
- const currentVersion = packageVersion ?? version_1.version;
39
- if (semverCompare(latestVersion, currentVersion)) {
40
- console.warn(
41
- // eslint-disable-next-line max-len
42
- `${pkgName}: new package version is available. Please update as soon as possible to enjoy the newest features. Current version: ${currentVersion}. Latest version: ${latestVersion}.`);
43
- }
44
- }
45
- catch (error) {
46
- // Cannot verify version, might be network error etc. We don't bother showing anything in that case
47
- }
48
- };
49
- exports.checkPackageUpdates = checkPackageUpdates;
50
- /**
51
- * Converts a quote to Route
52
- * @param step - Step returned from the quote endpoint.
53
- * @returns - The route to be executed.
54
- * @throws {ValidationError} Throws a ValidationError if the step has missing values.
55
- */
56
- const convertQuoteToRoute = (step) => {
57
- if (!step.estimate.fromAmountUSD) {
58
- throw new errors_1.ValidationError("Missing 'fromAmountUSD' in step estimate.");
59
- }
60
- if (!step.estimate.toAmountUSD) {
61
- throw new errors_1.ValidationError("Missing 'toAmountUSD' in step estimate.");
62
- }
63
- const route = {
64
- fromToken: step.action.fromToken,
65
- toToken: step.action.toToken,
66
- fromAmount: step.action.fromAmount,
67
- toAmount: step.estimate.toAmount,
68
- id: step.id,
69
- fromChainId: step.action.fromToken.chainId,
70
- toChainId: step.action.toToken.chainId,
71
- fromAmountUSD: step.estimate.fromAmountUSD,
72
- toAmountUSD: step.estimate.toAmountUSD,
73
- steps: [step],
74
- toAmountMin: step.estimate.toAmountMin,
75
- insurance: { state: 'NOT_INSURABLE', feeAmountUsd: '0' },
76
- };
77
- return route;
78
- };
79
- exports.convertQuoteToRoute = convertQuoteToRoute;
80
- const fetchTxErrorDetails = async (txHash, chainId) => {
81
- const response = await (0, request_1.request)(`https://api.tenderly.co/api/v1/public-contract/${chainId}/tx/${txHash}`);
82
- return response;
83
- };
84
- exports.fetchTxErrorDetails = fetchTxErrorDetails;
@@ -1,5 +0,0 @@
1
- export * from './execution';
2
- export * from './helpers';
3
- export { LiFi } from './LiFi';
4
- export * from './types';
5
- export * from './utils/errors';
package/dist/cjs/index.js DELETED
@@ -1,24 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.LiFi = void 0;
18
- // expose types and helpers
19
- __exportStar(require("./execution"), exports);
20
- __exportStar(require("./helpers"), exports);
21
- var LiFi_1 = require("./LiFi");
22
- Object.defineProperty(exports, "LiFi", { enumerable: true, get: function () { return LiFi_1.LiFi; } });
23
- __exportStar(require("./types"), exports);
24
- __exportStar(require("./utils/errors"), exports);
@@ -1,9 +0,0 @@
1
- export declare const requestSettings: {
2
- retries: number;
3
- };
4
- interface ExtendedRequestInit extends RequestInit {
5
- retries?: number;
6
- skipTrackingHeaders?: boolean;
7
- }
8
- export declare const request: <T = Response>(url: RequestInfo | URL, options?: ExtendedRequestInit) => Promise<T>;
9
- export {};
@@ -1,60 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.request = exports.requestSettings = void 0;
7
- const ConfigService_1 = __importDefault(require("./services/ConfigService"));
8
- const errors_1 = require("./utils/errors");
9
- const utils_1 = require("./utils/utils");
10
- const version_1 = require("./version");
11
- exports.requestSettings = {
12
- retries: 1,
13
- };
14
- const request = async (url, options = {
15
- retries: exports.requestSettings.retries,
16
- }) => {
17
- const { userId, integrator, widgetVersion } = ConfigService_1.default.getInstance().getConfig();
18
- options.retries = options.retries ?? exports.requestSettings.retries;
19
- try {
20
- if (!options.skipTrackingHeaders) {
21
- if (userId) {
22
- options.headers = {
23
- ...options?.headers,
24
- 'X-LIFI-UserId': userId,
25
- };
26
- }
27
- if (widgetVersion) {
28
- options.headers = {
29
- ...options?.headers,
30
- 'X-LIFI-Widget': widgetVersion,
31
- };
32
- }
33
- if (version_1.version) {
34
- options.headers = {
35
- ...options?.headers,
36
- 'X-LIFI-SDK': version_1.version,
37
- };
38
- }
39
- // integrator is mandatory during SDK initialization
40
- options.headers = {
41
- ...options?.headers,
42
- 'X-LIFI-Integrator': integrator,
43
- };
44
- }
45
- const response = await fetch(url, options);
46
- if (!response.ok) {
47
- throw new errors_1.HTTPError(response);
48
- }
49
- const data = await response.json();
50
- return data;
51
- }
52
- catch (error) {
53
- if (options.retries > 0 && error?.status === 500) {
54
- await (0, utils_1.wait)(500);
55
- return (0, exports.request)(url, { ...options, retries: options.retries - 1 });
56
- }
57
- throw error;
58
- }
59
- };
60
- exports.request = request;
@@ -1,17 +0,0 @@
1
- import type { ConnectionsRequest, ConnectionsResponse, ContractCallQuoteRequest, GasRecommendationRequest, GasRecommendationResponse, GetStatusRequest, LifiStep, QuoteRequest, RequestOptions, TokensRequest, TokensResponse } from '@lifi/types';
2
- import type { ChainId, ChainKey, ExtendedChain, PossibilitiesRequest, PossibilitiesResponse, RoutesRequest, RoutesResponse, StatusResponse, Token, ToolsRequest, ToolsResponse } from '../types';
3
- declare const _default: {
4
- getChains: (options?: RequestOptions | undefined) => Promise<ExtendedChain[]>;
5
- getContractCallQuote: (requestConfig: ContractCallQuoteRequest, options?: RequestOptions | undefined) => Promise<LifiStep>;
6
- getGasRecommendation: ({ chainId, fromChain, fromToken }: GasRecommendationRequest, options?: RequestOptions | undefined) => Promise<GasRecommendationResponse>;
7
- getPossibilities: (requestConfig?: PossibilitiesRequest | undefined, options?: RequestOptions | undefined) => Promise<PossibilitiesResponse>;
8
- getQuote: (requestConfig: QuoteRequest, options?: RequestOptions | undefined) => Promise<LifiStep>;
9
- getRoutes: (requestConfig: RoutesRequest, options?: RequestOptions | undefined) => Promise<RoutesResponse>;
10
- getStatus: (requestConfig: GetStatusRequest, options?: RequestOptions | undefined) => Promise<StatusResponse>;
11
- getStepTransaction: (step: LifiStep, options?: RequestOptions | undefined) => Promise<LifiStep>;
12
- getToken: (chain: ChainId | ChainKey, token: string, options?: RequestOptions | undefined) => Promise<Token>;
13
- getTokens: (requestConfig?: TokensRequest | undefined, options?: RequestOptions | undefined) => Promise<TokensResponse>;
14
- getTools: (requestConfig?: ToolsRequest | undefined, options?: RequestOptions | undefined) => Promise<ToolsResponse>;
15
- getAvailableConnections: (connectionRequest: ConnectionsRequest) => Promise<ConnectionsResponse>;
16
- };
17
- export default _default;
@@ -1,326 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const request_1 = require("../request");
7
- const typeguards_1 = require("../typeguards");
8
- const errors_1 = require("../utils/errors");
9
- const parseError_1 = require("../utils/parseError");
10
- const ConfigService_1 = __importDefault(require("./ConfigService"));
11
- /**
12
- * @param requestConfig
13
- * @param options
14
- * @deprecated We don't want to support this endpoint anymore in the future. /chains, /tools, /connections, and /tokens should be used instead
15
- */
16
- const getPossibilities = async (requestConfig, options) => {
17
- if (!requestConfig) {
18
- requestConfig = {};
19
- }
20
- const config = ConfigService_1.default.getInstance().getConfig();
21
- // apply defaults
22
- if (requestConfig.bridges || config.defaultRouteOptions.bridges) {
23
- requestConfig.bridges =
24
- requestConfig.bridges || config.defaultRouteOptions.bridges;
25
- }
26
- if (requestConfig.exchanges || config.defaultRouteOptions.exchanges) {
27
- requestConfig.exchanges =
28
- requestConfig.exchanges || config.defaultRouteOptions.exchanges;
29
- }
30
- // send request
31
- try {
32
- const response = await (0, request_1.request)(`${config.apiUrl}/advanced/possibilities`, {
33
- method: 'POST',
34
- headers: {
35
- 'Content-Type': 'application/json',
36
- },
37
- body: JSON.stringify(requestConfig),
38
- signal: options?.signal,
39
- });
40
- return response;
41
- }
42
- catch (e) {
43
- throw await (0, parseError_1.parseBackendError)(e);
44
- }
45
- };
46
- const getToken = async (chain, token, options) => {
47
- if (!chain) {
48
- throw new errors_1.ValidationError('Required parameter "chain" is missing.');
49
- }
50
- if (!token) {
51
- throw new errors_1.ValidationError('Required parameter "token" is missing.');
52
- }
53
- const config = ConfigService_1.default.getInstance().getConfig();
54
- try {
55
- const response = await (0, request_1.request)(`${config.apiUrl}/token?${new URLSearchParams({
56
- chain,
57
- token,
58
- })}`, {
59
- signal: options?.signal,
60
- });
61
- return response;
62
- }
63
- catch (e) {
64
- throw await (0, parseError_1.parseBackendError)(e);
65
- }
66
- };
67
- const getQuote = async (requestConfig, options) => {
68
- const config = ConfigService_1.default.getInstance().getConfig();
69
- const requiredParameters = [
70
- 'fromChain',
71
- 'fromToken',
72
- 'fromAddress',
73
- 'fromAmount',
74
- 'toChain',
75
- 'toToken',
76
- ];
77
- requiredParameters.forEach((requiredParameter) => {
78
- if (!requestConfig[requiredParameter]) {
79
- throw new errors_1.ValidationError(`Required parameter "${requiredParameter}" is missing.`);
80
- }
81
- });
82
- // apply defaults
83
- requestConfig.order || (requestConfig.order = config.defaultRouteOptions.order);
84
- requestConfig.slippage || (requestConfig.slippage = config.defaultRouteOptions.slippage);
85
- requestConfig.integrator || (requestConfig.integrator = config.defaultRouteOptions.integrator);
86
- requestConfig.referrer || (requestConfig.referrer = config.defaultRouteOptions.referrer);
87
- requestConfig.fee || (requestConfig.fee = config.defaultRouteOptions.fee);
88
- requestConfig.allowBridges || (requestConfig.allowBridges = config.defaultRouteOptions.bridges?.allow);
89
- requestConfig.denyBridges || (requestConfig.denyBridges = config.defaultRouteOptions.bridges?.deny);
90
- requestConfig.preferBridges || (requestConfig.preferBridges = config.defaultRouteOptions.bridges?.prefer);
91
- requestConfig.allowExchanges || (requestConfig.allowExchanges = config.defaultRouteOptions.exchanges?.allow);
92
- requestConfig.denyExchanges || (requestConfig.denyExchanges = config.defaultRouteOptions.exchanges?.deny);
93
- requestConfig.preferExchanges || (requestConfig.preferExchanges = config.defaultRouteOptions.exchanges?.prefer);
94
- Object.keys(requestConfig).forEach((key) => !requestConfig[key] &&
95
- delete requestConfig[key]);
96
- try {
97
- const response = await (0, request_1.request)(`${config.apiUrl}/quote?${new URLSearchParams(requestConfig)}`, {
98
- signal: options?.signal,
99
- });
100
- return response;
101
- }
102
- catch (e) {
103
- throw await (0, parseError_1.parseBackendError)(e);
104
- }
105
- };
106
- const getContractCallQuote = async (requestConfig, options) => {
107
- const config = ConfigService_1.default.getInstance().getConfig();
108
- // validation
109
- const requiredParameters = [
110
- 'fromChain',
111
- 'fromToken',
112
- 'fromAddress',
113
- 'toChain',
114
- 'toToken',
115
- 'toAmount',
116
- 'toContractAddress',
117
- 'toContractCallData',
118
- 'toContractGasLimit',
119
- ];
120
- requiredParameters.forEach((requiredParameter) => {
121
- if (!requestConfig[requiredParameter]) {
122
- throw new errors_1.ValidationError(`Required parameter "${requiredParameter}" is missing.`);
123
- }
124
- });
125
- // apply defaults
126
- // option.order is not used in this endpoint
127
- requestConfig.slippage || (requestConfig.slippage = config.defaultRouteOptions.slippage);
128
- requestConfig.integrator || (requestConfig.integrator = config.defaultRouteOptions.integrator);
129
- requestConfig.referrer || (requestConfig.referrer = config.defaultRouteOptions.referrer);
130
- requestConfig.fee || (requestConfig.fee = config.defaultRouteOptions.fee);
131
- requestConfig.allowBridges || (requestConfig.allowBridges = config.defaultRouteOptions.bridges?.allow);
132
- requestConfig.denyBridges || (requestConfig.denyBridges = config.defaultRouteOptions.bridges?.deny);
133
- requestConfig.preferBridges || (requestConfig.preferBridges = config.defaultRouteOptions.bridges?.prefer);
134
- requestConfig.allowExchanges || (requestConfig.allowExchanges = config.defaultRouteOptions.exchanges?.allow);
135
- requestConfig.denyExchanges || (requestConfig.denyExchanges = config.defaultRouteOptions.exchanges?.deny);
136
- requestConfig.preferExchanges || (requestConfig.preferExchanges = config.defaultRouteOptions.exchanges?.prefer);
137
- // send request
138
- try {
139
- const response = await (0, request_1.request)(`${config.apiUrl}/quote/contractCall`, {
140
- method: 'POST',
141
- headers: {
142
- 'Content-Type': 'application/json',
143
- },
144
- body: JSON.stringify(requestConfig),
145
- signal: options?.signal,
146
- });
147
- return response;
148
- }
149
- catch (e) {
150
- throw await (0, parseError_1.parseBackendError)(e);
151
- }
152
- };
153
- const getStatus = async (requestConfig, options) => {
154
- if (!requestConfig.txHash) {
155
- throw new errors_1.ValidationError('Required parameter "txHash" is missing.');
156
- }
157
- const config = ConfigService_1.default.getInstance().getConfig();
158
- const queryParams = new URLSearchParams(requestConfig);
159
- try {
160
- const response = await (0, request_1.request)(`${config.apiUrl}/status?${queryParams}`, {
161
- signal: options?.signal,
162
- });
163
- return response;
164
- }
165
- catch (e) {
166
- throw await (0, parseError_1.parseBackendError)(e);
167
- }
168
- };
169
- const getChains = async (options) => {
170
- const config = ConfigService_1.default.getInstance().getConfig();
171
- try {
172
- const response = await (0, request_1.request)(`${config.apiUrl}/chains`, {
173
- signal: options?.signal,
174
- });
175
- return response.chains;
176
- }
177
- catch (e) {
178
- throw await (0, parseError_1.parseBackendError)(e);
179
- }
180
- };
181
- const getRoutes = async (requestConfig, options) => {
182
- if (!(0, typeguards_1.isRoutesRequest)(requestConfig)) {
183
- throw new errors_1.ValidationError('Invalid routes request.');
184
- }
185
- const config = ConfigService_1.default.getInstance().getConfig();
186
- // apply defaults
187
- requestConfig.options = {
188
- ...config.defaultRouteOptions,
189
- ...requestConfig.options,
190
- };
191
- // send request
192
- try {
193
- const response = await (0, request_1.request)(`${config.apiUrl}/advanced/routes`, {
194
- method: 'POST',
195
- headers: {
196
- 'Content-Type': 'application/json',
197
- },
198
- body: JSON.stringify(requestConfig),
199
- signal: options?.signal,
200
- });
201
- return response;
202
- }
203
- catch (e) {
204
- throw await (0, parseError_1.parseBackendError)(e);
205
- }
206
- };
207
- const getStepTransaction = async (step, options) => {
208
- if (!(0, typeguards_1.isStep)(step)) {
209
- // While the validation fails for some users we should not enforce it
210
- // eslint-disable-next-line no-console
211
- console.warn('SDK Validation: Invalid Step', step);
212
- }
213
- const config = ConfigService_1.default.getInstance().getConfig();
214
- try {
215
- const response = await (0, request_1.request)(`${config.apiUrl}/advanced/stepTransaction`, {
216
- method: 'POST',
217
- headers: {
218
- 'Content-Type': 'application/json',
219
- },
220
- body: JSON.stringify(step),
221
- signal: options?.signal,
222
- });
223
- return response;
224
- }
225
- catch (e) {
226
- throw await (0, parseError_1.parseBackendError)(e);
227
- }
228
- };
229
- const getTools = async (requestConfig, options) => {
230
- const config = ConfigService_1.default.getInstance().getConfig();
231
- if (requestConfig) {
232
- Object.keys(requestConfig).forEach((key) => !requestConfig[key] &&
233
- delete requestConfig[key]);
234
- }
235
- const response = await (0, request_1.request)(`${config.apiUrl}/tools?${new URLSearchParams(requestConfig)}`, {
236
- signal: options?.signal,
237
- });
238
- return response;
239
- };
240
- const getTokens = async (requestConfig, options) => {
241
- const config = ConfigService_1.default.getInstance().getConfig();
242
- if (requestConfig) {
243
- Object.keys(requestConfig).forEach((key) => !requestConfig[key] &&
244
- delete requestConfig[key]);
245
- }
246
- const response = await (0, request_1.request)(`${config.apiUrl}/tokens?${new URLSearchParams(requestConfig)}`, {
247
- signal: options?.signal,
248
- });
249
- return response;
250
- };
251
- const getGasRecommendation = async ({ chainId, fromChain, fromToken }, options) => {
252
- const config = ConfigService_1.default.getInstance().getConfig();
253
- if (!chainId) {
254
- throw new errors_1.ValidationError('Required parameter "chainId" is missing.');
255
- }
256
- const url = new URL(`${config.apiUrl}/gas/suggestion/${chainId}`);
257
- if (fromChain) {
258
- url.searchParams.append('fromChain', fromChain);
259
- }
260
- if (fromToken) {
261
- url.searchParams.append('fromToken', fromToken);
262
- }
263
- try {
264
- const response = await (0, request_1.request)(url, {
265
- signal: options?.signal,
266
- });
267
- return response;
268
- }
269
- catch (e) {
270
- throw await (0, parseError_1.parseBackendError)(e);
271
- }
272
- };
273
- const getAvailableConnections = async (connectionRequest) => {
274
- const config = ConfigService_1.default.getInstance().getConfig();
275
- const url = new URL(`${config.apiUrl}/connections`);
276
- const { fromChain, fromToken, toChain, toToken } = connectionRequest;
277
- if (fromChain) {
278
- url.searchParams.append('fromChain', fromChain);
279
- }
280
- if (fromToken) {
281
- url.searchParams.append('fromToken', fromToken);
282
- }
283
- if (toChain) {
284
- url.searchParams.append('fromToken', toChain);
285
- }
286
- if (toToken) {
287
- url.searchParams.append('fromToken', toToken);
288
- }
289
- const connectionRequestArrayParams = [
290
- 'allowBridges',
291
- 'denyBridges',
292
- 'preferBridges',
293
- 'allowExchanges',
294
- 'denyExchanges',
295
- 'preferExchanges',
296
- ];
297
- connectionRequestArrayParams.forEach((parameter) => {
298
- const connectionRequestArrayParam = connectionRequest[parameter];
299
- if (connectionRequestArrayParam?.length) {
300
- connectionRequestArrayParam?.forEach((value) => {
301
- url.searchParams.append(parameter, value);
302
- });
303
- }
304
- });
305
- try {
306
- const response = await (0, request_1.request)(url);
307
- return response;
308
- }
309
- catch (e) {
310
- throw await (0, parseError_1.parseBackendError)(e);
311
- }
312
- };
313
- exports.default = {
314
- getChains,
315
- getContractCallQuote,
316
- getGasRecommendation,
317
- getPossibilities,
318
- getQuote,
319
- getRoutes,
320
- getStatus,
321
- getStepTransaction,
322
- getToken,
323
- getTokens,
324
- getTools,
325
- getAvailableConnections,
326
- };
@@ -1,11 +0,0 @@
1
- import type { ChainId, ExtendedChain } from '@lifi/types';
2
- export default class ChainsService {
3
- private static instance;
4
- private readonly loadingPromise;
5
- private chains;
6
- constructor();
7
- private loadAvailableChains;
8
- static getInstance(): ChainsService;
9
- getChainById(chainId: ChainId): Promise<ExtendedChain>;
10
- getChains(): Promise<ExtendedChain[]>;
11
- }
@@ -1,39 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const errors_1 = require("../utils/errors");
7
- const ApiService_1 = __importDefault(require("./ApiService"));
8
- class ChainsService {
9
- constructor() {
10
- this.chains = [];
11
- this.loadingPromise = this.loadAvailableChains();
12
- }
13
- async loadAvailableChains() {
14
- this.chains = await ApiService_1.default.getChains();
15
- }
16
- static getInstance() {
17
- if (!this.instance) {
18
- this.instance = new ChainsService();
19
- }
20
- return this.instance;
21
- }
22
- async getChainById(chainId) {
23
- if (this.loadingPromise) {
24
- await this.loadingPromise;
25
- }
26
- const chain = this.chains.find((chain) => chain.id === chainId);
27
- if (!chain) {
28
- throw new errors_1.ValidationError(`Unknown chainId passed: ${chainId}.`);
29
- }
30
- return chain;
31
- }
32
- async getChains() {
33
- if (this.loadingPromise) {
34
- await this.loadingPromise;
35
- }
36
- return this.chains;
37
- }
38
- }
39
- exports.default = ChainsService;
@@ -1,23 +0,0 @@
1
- import type { Chain, Config, ConfigUpdate } from '../types';
2
- export default class ConfigService {
3
- private static instance;
4
- private readonly config;
5
- private readonly setupPromise;
6
- private resolveSetupPromise;
7
- constructor();
8
- private static chainIdToObject;
9
- private static getDefaultConfig;
10
- static getInstance(): ConfigService;
11
- /**
12
- * This call immediately returns the current config. It does not make sure that all chain data is already loaded
13
- * Use this if you need access to basic information like API urls or settings
14
- */
15
- getConfig: () => Config;
16
- /**
17
- * This call waits for all setup promises to be done.
18
- * Use this if you need access to chain data (RPCs or multicalls)
19
- */
20
- getConfigAsync: () => Promise<Config>;
21
- updateConfig: (configUpdate: Partial<ConfigUpdate>) => Config;
22
- updateChains: (chains: Chain[]) => Config;
23
- }