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

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 +138 -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 +176 -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 +214 -0
  348. package/src/core/executionState.ts +44 -0
  349. package/src/core/index.ts +3 -0
  350. package/src/core/prepareRestart.ts +82 -0
  351. package/src/core/provider.ts +12 -0
  352. package/src/core/rpc.ts +15 -0
  353. package/src/core/stepComparison.ts +51 -0
  354. package/src/core/types.ts +118 -0
  355. package/src/core/utils.ts +105 -0
  356. package/src/core/waitForReceivingTransaction.ts +74 -0
  357. package/src/createConfig.ts +33 -0
  358. package/src/helpers.ts +83 -0
  359. package/src/index.ts +18 -0
  360. package/src/request.ts +79 -0
  361. package/src/services/api.ts +509 -0
  362. package/src/services/balance.ts +93 -0
  363. package/src/services/getNameServiceAddress.ts +30 -0
  364. package/src/typeguards.ts +89 -0
  365. package/src/types/index.ts +1 -0
  366. package/src/types/internal.ts +62 -0
  367. package/src/utils/errors.ts +232 -0
  368. package/src/utils/getTransactionMessage.ts +46 -0
  369. package/src/utils/index.ts +5 -0
  370. package/src/utils/median.ts +11 -0
  371. package/src/utils/parseBackendError.ts +50 -0
  372. package/src/utils/parseError.ts +210 -0
  373. package/src/utils/utils.ts +48 -0
  374. package/src/version.ts +2 -0
  375. package/dist/LiFi.d.ts +0 -175
  376. package/dist/LiFi.js +0 -250
  377. package/dist/allowance/getAllowance.d.ts +0 -6
  378. package/dist/allowance/index.d.ts +0 -3
  379. package/dist/allowance/index.js +0 -3
  380. package/dist/allowance/setAllowance.d.ts +0 -6
  381. package/dist/allowance/types.d.ts +0 -27
  382. package/dist/allowance/types.js +0 -1
  383. package/dist/balance/getBalance.d.ts +0 -2
  384. package/dist/balance/getTokenBalance.d.ts +0 -8
  385. package/dist/balance/getTokenBalance.js +0 -27
  386. package/dist/balance/index.d.ts +0 -2
  387. package/dist/balance/index.js +0 -2
  388. package/dist/cjs/LiFi.d.ts +0 -175
  389. package/dist/cjs/LiFi.js +0 -280
  390. package/dist/cjs/allowance/index.d.ts +0 -3
  391. package/dist/cjs/allowance/index.js +0 -19
  392. package/dist/cjs/allowance/setAllowance.d.ts +0 -6
  393. package/dist/cjs/allowance/types.d.ts +0 -27
  394. package/dist/cjs/balance/getBalance.d.ts +0 -2
  395. package/dist/cjs/balance/getTokenBalance.d.ts +0 -8
  396. package/dist/cjs/balance/getTokenBalance.js +0 -33
  397. package/dist/cjs/balance/index.d.ts +0 -2
  398. package/dist/cjs/balance/index.js +0 -18
  399. package/dist/cjs/connectors.d.ts +0 -8
  400. package/dist/cjs/connectors.js +0 -75
  401. package/dist/cjs/execution/RouteExecutionManager.d.ts +0 -59
  402. package/dist/cjs/execution/RouteExecutionManager.js +0 -202
  403. package/dist/cjs/execution/StatusManager.js +0 -171
  404. package/dist/cjs/execution/StepExecutionManager.d.ts +0 -7
  405. package/dist/cjs/execution/StepExecutionManager.js +0 -272
  406. package/dist/cjs/execution/StepExecutor.d.ts +0 -15
  407. package/dist/cjs/execution/StepExecutor.js +0 -62
  408. package/dist/cjs/execution/checkAllowance.d.ts +0 -4
  409. package/dist/cjs/execution/checkBalance.d.ts +0 -2
  410. package/dist/cjs/execution/index.d.ts +0 -1
  411. package/dist/cjs/execution/index.js +0 -17
  412. package/dist/cjs/execution/multisig.d.ts +0 -4
  413. package/dist/cjs/execution/prepareRestart.d.ts +0 -3
  414. package/dist/cjs/execution/prepareRestart.js +0 -65
  415. package/dist/cjs/execution/stepComparison.d.ts +0 -14
  416. package/dist/cjs/execution/stepComparison.js +0 -37
  417. package/dist/cjs/execution/switchChain.js +0 -54
  418. package/dist/cjs/execution/utils.d.ts +0 -12
  419. package/dist/cjs/execution/waitForReceivingTransaction.d.ts +0 -3
  420. package/dist/cjs/helpers.d.ts +0 -18
  421. package/dist/cjs/helpers.js +0 -84
  422. package/dist/cjs/index.d.ts +0 -5
  423. package/dist/cjs/index.js +0 -24
  424. package/dist/cjs/request.d.ts +0 -9
  425. package/dist/cjs/request.js +0 -60
  426. package/dist/cjs/services/ApiService.d.ts +0 -17
  427. package/dist/cjs/services/ApiService.js +0 -326
  428. package/dist/cjs/services/ChainsService.d.ts +0 -11
  429. package/dist/cjs/services/ChainsService.js +0 -39
  430. package/dist/cjs/services/ConfigService.d.ts +0 -23
  431. package/dist/cjs/services/ConfigService.js +0 -101
  432. package/dist/cjs/types/index.d.ts +0 -4
  433. package/dist/cjs/types/index.js +0 -22
  434. package/dist/cjs/types/internal.types.d.ts +0 -145
  435. package/dist/cjs/utils/errors.d.ts +0 -107
  436. package/dist/cjs/utils/getMaxPriorityFeePerGas.d.ts +0 -2
  437. package/dist/cjs/utils/index.d.ts +0 -5
  438. package/dist/cjs/utils/index.js +0 -21
  439. package/dist/cjs/utils/parseError.d.ts +0 -37
  440. package/dist/cjs/utils/parseError.js +0 -157
  441. package/dist/cjs/utils/utils.d.ts +0 -10
  442. package/dist/cjs/version.d.ts +0 -2
  443. package/dist/connectors.d.ts +0 -8
  444. package/dist/connectors.js +0 -41
  445. package/dist/constants.d.ts +0 -6
  446. package/dist/execution/RouteExecutionManager.d.ts +0 -59
  447. package/dist/execution/RouteExecutionManager.js +0 -195
  448. package/dist/execution/StatusManager.d.ts +0 -67
  449. package/dist/execution/StatusManager.js +0 -167
  450. package/dist/execution/StepExecutionManager.d.ts +0 -7
  451. package/dist/execution/StepExecutionManager.js +0 -265
  452. package/dist/execution/StepExecutor.d.ts +0 -15
  453. package/dist/execution/StepExecutor.js +0 -58
  454. package/dist/execution/checkAllowance.d.ts +0 -4
  455. package/dist/execution/checkBalance.d.ts +0 -2
  456. package/dist/execution/index.d.ts +0 -1
  457. package/dist/execution/index.js +0 -1
  458. package/dist/execution/multisig.d.ts +0 -4
  459. package/dist/execution/prepareRestart.d.ts +0 -3
  460. package/dist/execution/prepareRestart.js +0 -61
  461. package/dist/execution/switchChain.d.ts +0 -21
  462. package/dist/execution/waitForReceivingTransaction.d.ts +0 -3
  463. package/dist/index.d.ts +0 -5
  464. package/dist/index.js +0 -6
  465. package/dist/services/ApiService.d.ts +0 -17
  466. package/dist/services/ApiService.js +0 -321
  467. package/dist/services/ChainsService.d.ts +0 -11
  468. package/dist/services/ChainsService.js +0 -33
  469. package/dist/services/ConfigService.d.ts +0 -23
  470. package/dist/services/ConfigService.js +0 -99
  471. package/dist/typeguards.d.ts +0 -4
  472. package/dist/types/abi.d.ts +0 -5
  473. package/dist/types/index.d.ts +0 -4
  474. package/dist/types/index.js +0 -4
  475. package/dist/types/internal.types.d.ts +0 -145
  476. package/dist/types/internal.types.js +0 -1
  477. package/dist/utils/getMaxPriorityFeePerGas.d.ts +0 -2
  478. package/dist/utils/index.d.ts +0 -5
  479. package/dist/utils/index.js +0 -5
  480. package/dist/utils/median.d.ts +0 -1
  481. package/dist/version.d.ts +0 -2
  482. package/dist/version.js +0 -2
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getActiveRoute = exports.getActiveRoutes = exports.stopRouteExecution = exports.updateRouteExecution = exports.resumeRoute = exports.executeRoute = void 0;
4
+ const config_js_1 = require("../config.js");
5
+ const executionState_js_1 = require("./executionState.js");
6
+ const prepareRestart_js_1 = require("./prepareRestart.js");
7
+ const executeRoute = async (route, executionOptions) => {
8
+ const clonedRoute = structuredClone(route);
9
+ let executionPromise = executionState_js_1.executionState.get(clonedRoute.id)?.promise;
10
+ if (executionPromise) {
11
+ return executionPromise;
12
+ }
13
+ executionState_js_1.executionState.create({ route: clonedRoute, executionOptions });
14
+ executionPromise = executeSteps(clonedRoute);
15
+ executionState_js_1.executionState.update({
16
+ route: clonedRoute,
17
+ promise: executionPromise,
18
+ });
19
+ return executionPromise;
20
+ };
21
+ exports.executeRoute = executeRoute;
22
+ const resumeRoute = async (route, executionOptions) => {
23
+ const execution = executionState_js_1.executionState.get(route.id);
24
+ if (execution) {
25
+ const executionHalted = execution.executors.some((executor) => !executor.allowExecution);
26
+ if (!executionHalted) {
27
+ (0, exports.updateRouteExecution)(route, {
28
+ executeInBackground: executionOptions?.executeInBackground,
29
+ });
30
+ if (!execution.promise) {
31
+ throw new Error('Route execution promise not found.');
32
+ }
33
+ return execution.promise;
34
+ }
35
+ }
36
+ await (0, prepareRestart_js_1.prepareRestart)(route);
37
+ return (0, exports.executeRoute)(route, executionOptions);
38
+ };
39
+ exports.resumeRoute = resumeRoute;
40
+ const executeSteps = async (route) => {
41
+ for (let index = 0; index < route.steps.length; index++) {
42
+ const execution = executionState_js_1.executionState.get(route.id);
43
+ if (!execution) {
44
+ break;
45
+ }
46
+ const step = route.steps[index];
47
+ const previousStep = route.steps[index - 1];
48
+ if (step.execution?.status === 'DONE') {
49
+ continue;
50
+ }
51
+ if (previousStep?.execution?.toAmount) {
52
+ step.action.fromAmount = previousStep.execution.toAmount;
53
+ if (step.includedSteps?.length) {
54
+ step.includedSteps[0].action.fromAmount =
55
+ previousStep.execution.toAmount;
56
+ }
57
+ }
58
+ try {
59
+ const fromAddress = step.action.fromAddress;
60
+ if (!fromAddress) {
61
+ throw new Error('Action fromAddress is not specified.');
62
+ }
63
+ const provider = config_js_1.config
64
+ .get()
65
+ .providers.find((provider) => provider.isAddress(fromAddress));
66
+ if (!provider) {
67
+ throw new Error('SDK Execution Provider not found.');
68
+ }
69
+ const stepExecutor = await provider.getStepExecutor({
70
+ routeId: route.id,
71
+ executionOptions: execution.executionOptions,
72
+ });
73
+ execution.executors.push(stepExecutor);
74
+ if (execution.executionOptions) {
75
+ (0, exports.updateRouteExecution)(route, execution.executionOptions);
76
+ }
77
+ const executedStep = await stepExecutor.executeStep(step);
78
+ if (executedStep.execution?.status !== 'DONE') {
79
+ (0, exports.stopRouteExecution)(route);
80
+ }
81
+ if (!stepExecutor.allowExecution) {
82
+ return route;
83
+ }
84
+ }
85
+ catch (e) {
86
+ (0, exports.stopRouteExecution)(route);
87
+ throw e;
88
+ }
89
+ }
90
+ executionState_js_1.executionState.delete(route.id);
91
+ return route;
92
+ };
93
+ const updateRouteExecution = (route, options) => {
94
+ const execution = executionState_js_1.executionState.get(route.id);
95
+ if (!execution) {
96
+ return;
97
+ }
98
+ if ('executeInBackground' in options) {
99
+ for (const executor of execution.executors) {
100
+ executor.setInteraction({
101
+ allowInteraction: !options?.executeInBackground,
102
+ allowUpdates: true,
103
+ });
104
+ }
105
+ }
106
+ execution.executionOptions = {
107
+ ...execution.executionOptions,
108
+ ...options,
109
+ };
110
+ };
111
+ exports.updateRouteExecution = updateRouteExecution;
112
+ const stopRouteExecution = (route) => {
113
+ const execution = executionState_js_1.executionState.get(route.id);
114
+ if (!execution) {
115
+ return route;
116
+ }
117
+ for (const executor of execution.executors) {
118
+ executor.setInteraction({
119
+ allowInteraction: false,
120
+ allowUpdates: false,
121
+ allowExecution: false,
122
+ });
123
+ }
124
+ executionState_js_1.executionState.delete(route.id);
125
+ return execution.route;
126
+ };
127
+ exports.stopRouteExecution = stopRouteExecution;
128
+ const getActiveRoutes = () => {
129
+ return Object.values(executionState_js_1.executionState.state)
130
+ .map((dict) => dict?.route)
131
+ .filter(Boolean);
132
+ };
133
+ exports.getActiveRoutes = getActiveRoutes;
134
+ const getActiveRoute = (routeId) => {
135
+ return executionState_js_1.executionState.get(routeId)?.route;
136
+ };
137
+ exports.getActiveRoute = getActiveRoute;
138
+ //# sourceMappingURL=execution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution.js","sourceRoot":"","sources":["../../core/execution.ts"],"names":[],"mappings":";;;AAEA,4CAAqC;AACrC,2DAAoD;AACpD,2DAAoD;AAU7C,MAAM,YAAY,GAAG,KAAK,EAC/B,KAAY,EACZ,gBAAmC,EACX,EAAE;IAE1B,MAAM,WAAW,GAAG,eAAe,CAAQ,KAAK,CAAC,CAAA;IAEjD,IAAI,gBAAgB,GAAG,kCAAc,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,OAAO,CAAA;IAElE,IAAI,gBAAgB,EAAE,CAAC;QACrB,OAAO,gBAAgB,CAAA;IACzB,CAAC;IAED,kCAAc,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAC,CAAA;IAC/D,gBAAgB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAA;IAC5C,kCAAc,CAAC,MAAM,CAAC;QACpB,KAAK,EAAE,WAAW;QAClB,OAAO,EAAE,gBAAgB;KAC1B,CAAC,CAAA;IAEF,OAAO,gBAAgB,CAAA;AACzB,CAAC,CAAA;AArBY,QAAA,YAAY,gBAqBxB;AASM,MAAM,WAAW,GAAG,KAAK,EAC9B,KAAY,EACZ,gBAAmC,EACX,EAAE;IAC1B,MAAM,SAAS,GAAG,kCAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAE9C,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,eAAe,GAAG,SAAS,CAAC,SAAS,CAAC,IAAI,CAC9C,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,cAAc,CACvC,CAAA;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;YAErB,IAAA,4BAAoB,EAAC,KAAK,EAAE;gBAC1B,mBAAmB,EAAE,gBAAgB,EAAE,mBAAmB;aAC3D,CAAC,CAAA;YACF,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;gBAEvB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;YACvD,CAAC;YACD,OAAO,SAAS,CAAC,OAAO,CAAA;QAC1B,CAAC;IACH,CAAC;IAED,MAAM,IAAA,kCAAc,EAAC,KAAK,CAAC,CAAA;IAE3B,OAAO,IAAA,oBAAY,EAAC,KAAK,EAAE,gBAAgB,CAAC,CAAA;AAC9C,CAAC,CAAA;AA1BY,QAAA,WAAW,eA0BvB;AAED,MAAM,YAAY,GAAG,KAAK,EAAE,KAAoB,EAA0B,EAAE;IAE1E,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACxD,MAAM,SAAS,GAAG,kCAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAE9C,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAK;QACP,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC/B,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;QAG3C,IAAI,IAAI,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;YACtC,SAAQ;QACV,CAAC;QAGD,IAAI,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAA;YACxD,IAAI,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;gBAC/B,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU;oBACrC,YAAY,CAAC,SAAS,CAAC,QAAQ,CAAA;YACnC,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAA;YAC3C,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,sCAAsC,CAAC,CAAA;YACzD,CAAC;YAED,MAAM,QAAQ,GAAG,kBAAM;iBACpB,GAAG,EAAE;iBACL,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAA;YAEhE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;YACtD,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC;gBAClD,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,gBAAgB,EAAE,SAAS,CAAC,gBAAgB;aAC7C,CAAC,CAAA;YACF,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YAGtC,IAAI,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBAC/B,IAAA,4BAAoB,EAAC,KAAK,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAA;YACzD,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;YAGzD,IAAI,YAAY,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC9C,IAAA,0BAAkB,EAAC,KAAK,CAAC,CAAA;YAC3B,CAAC;YAGD,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;gBACjC,OAAO,KAAK,CAAA;YACd,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAA,0BAAkB,EAAC,KAAK,CAAC,CAAA;YACzB,MAAM,CAAC,CAAA;QACT,CAAC;IACH,CAAC;IAGD,kCAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC/B,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAOM,MAAM,oBAAoB,GAAG,CAClC,KAAY,EACZ,OAAyB,EACnB,EAAE;IACR,MAAM,SAAS,GAAG,kCAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAM;IACR,CAAC;IAED,IAAI,qBAAqB,IAAI,OAAO,EAAE,CAAC;QACrC,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;YAC3C,QAAQ,CAAC,cAAc,CAAC;gBACtB,gBAAgB,EAAE,CAAC,OAAO,EAAE,mBAAmB;gBAC/C,YAAY,EAAE,IAAI;aACnB,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAED,SAAS,CAAC,gBAAgB,GAAG;QAC3B,GAAG,SAAS,CAAC,gBAAgB;QAC7B,GAAG,OAAO;KACX,CAAA;AACH,CAAC,CAAA;AAtBY,QAAA,oBAAoB,wBAsBhC;AAOM,MAAM,kBAAkB,GAAG,CAAC,KAAY,EAAS,EAAE;IACxD,MAAM,SAAS,GAAG,kCAAc,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC9C,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,KAAK,CAAA;IACd,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;QAC3C,QAAQ,CAAC,cAAc,CAAC;YACtB,gBAAgB,EAAE,KAAK;YACvB,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,KAAK;SACtB,CAAC,CAAA;IACJ,CAAC;IACD,kCAAc,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC/B,OAAO,SAAS,CAAC,KAAK,CAAA;AACxB,CAAC,CAAA;AAfY,QAAA,kBAAkB,sBAe9B;AAMM,MAAM,eAAe,GAAG,GAAoB,EAAE;IACnD,OAAO,MAAM,CAAC,MAAM,CAAC,kCAAc,CAAC,KAAK,CAAC;SACvC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAoB,CAAA;AACvC,CAAC,CAAA;AAJY,QAAA,eAAe,mBAI3B;AAOM,MAAM,cAAc,GAAG,CAAC,OAAe,EAA6B,EAAE;IAC3E,OAAO,kCAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,KAAK,CAAA;AAC3C,CAAC,CAAA;AAFY,QAAA,cAAc,kBAE1B"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executionState = void 0;
4
+ exports.executionState = {
5
+ state: {},
6
+ get(routeId) {
7
+ return this.state[routeId];
8
+ },
9
+ create(params) {
10
+ this.state[params.route.id] = {
11
+ ...this.state[params.route.id],
12
+ ...params,
13
+ executors: this.state[params.route.id]?.executors ?? [],
14
+ };
15
+ return this.state[params.route.id];
16
+ },
17
+ update(state) {
18
+ if (this.state[state.route.id]) {
19
+ this.state[state.route.id] = {
20
+ ...this.state[state.route.id],
21
+ ...state,
22
+ };
23
+ }
24
+ },
25
+ delete(routeId) {
26
+ delete this.state[routeId];
27
+ },
28
+ };
29
+ //# sourceMappingURL=executionState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"executionState.js","sourceRoot":"","sources":["../../core/executionState.ts"],"names":[],"mappings":";;;AAmBa,QAAA,cAAc,GAAmB;IAC5C,KAAK,EAAE,EAAE;IACT,GAAG,CAAC,OAAe;QACjB,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;IACD,MAAM,CAAC,MAAM;QACX,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG;YAC5B,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,GAAG,MAAM;YACT,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,SAAS,IAAI,EAAE;SACxD,CAAA;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAE,CAAA;IACrC,CAAC;IACD,MAAM,CAAC,KAAK;QACV,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG;gBAC3B,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAE;gBAC9B,GAAG,KAAK;aACT,CAAA;QACH,CAAC;IACH,CAAC;IACD,MAAM,CAAC,OAAO;QACZ,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC;CACF,CAAA"}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./StatusManager.js"), exports);
5
+ tslib_1.__exportStar(require("./execution.js"), exports);
6
+ tslib_1.__exportStar(require("./types.js"), exports);
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../core/index.ts"],"names":[],"mappings":";;;AAAA,6DAAkC;AAClC,yDAA8B;AAC9B,qDAA0B"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prepareRestart = void 0;
4
+ const prepareRestart = async (route) => {
5
+ for (let index = 0; index < route.steps.length; index++) {
6
+ const step = route.steps[index];
7
+ const stepHasFailed = step.execution?.status === 'FAILED';
8
+ if (stepHasFailed) {
9
+ deleteFailedProcesses(step);
10
+ deleteTransactionData(step);
11
+ }
12
+ }
13
+ };
14
+ exports.prepareRestart = prepareRestart;
15
+ const deleteFailedProcesses = (step) => {
16
+ if (step.execution) {
17
+ step.execution.process = step.execution.process.filter((process) => process.status === 'DONE');
18
+ }
19
+ };
20
+ const deleteTransactionData = (step) => {
21
+ step.transactionRequest = undefined;
22
+ };
23
+ //# sourceMappingURL=prepareRestart.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareRestart.js","sourceRoot":"","sources":["../../core/prepareRestart.ts"],"names":[],"mappings":";;;AAGO,MAAM,cAAc,GAAG,KAAK,EAAE,KAAoB,EAAE,EAAE;IAC3D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACxD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAC/B,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,MAAM,KAAK,QAAQ,CAAA;QAEzD,IAAI,aAAa,EAAE,CAAC;YAElB,qBAAqB,CAAC,IAAI,CAAC,CAAA;YAC3B,qBAAqB,CAAC,IAAI,CAAC,CAAA;QAC7B,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAXY,QAAA,cAAc,kBAW1B;AAyDD,MAAM,qBAAqB,GAAG,CAAC,IAAsB,EAAE,EAAE;IACvD,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,IAAI,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CACpD,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,MAAM,CACvC,CAAA;IACH,CAAC;AACH,CAAC,CAAA;AAED,MAAM,qBAAqB,GAAG,CAAC,IAAc,EAAE,EAAE;IAC/C,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAA;AACrC,CAAC,CAAA"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getProvider = void 0;
4
+ const config_js_1 = require("../config.js");
5
+ const getProvider = (type) => {
6
+ const provider = config_js_1.config
7
+ .get()
8
+ .providers.find((provider) => provider.type === type);
9
+ if (!provider) {
10
+ throw new Error(`${type} provider not found.`);
11
+ }
12
+ return provider;
13
+ };
14
+ exports.getProvider = getProvider;
15
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../../core/provider.ts"],"names":[],"mappings":";;;AACA,4CAAqC;AAE9B,MAAM,WAAW,GAAG,CAAI,IAAe,EAAK,EAAE;IACnD,MAAM,QAAQ,GAAG,kBAAM;SACpB,GAAG,EAAE;SACL,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAM,CAAA;IAC5D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,sBAAsB,CAAC,CAAA;IAChD,CAAC;IACD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AARY,QAAA,WAAW,eAQvB"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getRpcUrls = exports.getRpcUrl = void 0;
4
+ const config_js_1 = require("../config.js");
5
+ const getRpcUrl = async (chainId) => {
6
+ const rpcUrls = await (0, exports.getRpcUrls)(chainId);
7
+ return rpcUrls[0];
8
+ };
9
+ exports.getRpcUrl = getRpcUrl;
10
+ const getRpcUrls = async (chainId) => {
11
+ const rpcUrls = (await config_js_1.config.getRPCUrls())[chainId];
12
+ if (!rpcUrls?.length) {
13
+ throw new Error('RPC URL not found');
14
+ }
15
+ return rpcUrls;
16
+ };
17
+ exports.getRpcUrls = getRpcUrls;
18
+ //# sourceMappingURL=rpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../../core/rpc.ts"],"names":[],"mappings":";;;AACA,4CAAqC;AAE9B,MAAM,SAAS,GAAG,KAAK,EAAE,OAAgB,EAAmB,EAAE;IACnE,MAAM,OAAO,GAAG,MAAM,IAAA,kBAAU,EAAC,OAAO,CAAC,CAAA;IACzC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAA;AACnB,CAAC,CAAA;AAHY,QAAA,SAAS,aAGrB;AAEM,MAAM,UAAU,GAAG,KAAK,EAAE,OAAgB,EAAqB,EAAE;IACtE,MAAM,OAAO,GAAG,CAAC,MAAM,kBAAM,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,CAAA;IACpD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IACtC,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AANY,QAAA,UAAU,cAMtB"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stepComparison = void 0;
4
+ const errors_js_1 = require("../utils/errors.js");
5
+ const utils_js_1 = require("./utils.js");
6
+ const stepComparison = async (statusManager, oldStep, newStep, allowUserInteraction, executionOptions) => {
7
+ if ((0, utils_js_1.checkStepSlippageThreshold)(oldStep, newStep)) {
8
+ return statusManager.updateStepInRoute(newStep);
9
+ }
10
+ let allowStepUpdate;
11
+ if (allowUserInteraction) {
12
+ allowStepUpdate = await executionOptions?.acceptExchangeRateUpdateHook?.({
13
+ oldToAmount: oldStep.estimate.toAmount,
14
+ newToAmount: newStep.estimate.toAmount,
15
+ toToken: newStep.action.toToken,
16
+ });
17
+ }
18
+ if (!allowStepUpdate) {
19
+ throw new errors_js_1.TransactionError(errors_js_1.LiFiErrorCode.ExchangeRateUpdateCanceled, 'Exchange rate has changed!', `Transaction was not sent, your funds are still in your wallet.
20
+ The exchange rate has changed and the previous estimation can not be fulfilled due to value loss.`);
21
+ }
22
+ return statusManager.updateStepInRoute(newStep);
23
+ };
24
+ exports.stepComparison = stepComparison;
25
+ //# sourceMappingURL=stepComparison.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stepComparison.js","sourceRoot":"","sources":["../../core/stepComparison.ts"],"names":[],"mappings":";;;AACA,kDAAoE;AAGpE,yCAAuD;AAchD,MAAM,cAAc,GAAG,KAAK,EACjC,aAA4B,EAC5B,OAAiB,EACjB,OAAiB,EACjB,oBAA6B,EAC7B,gBAAmC,EAChB,EAAE;IAErB,IAAI,IAAA,qCAA0B,EAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACjD,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;IACjD,CAAC;IAED,IAAI,eAAoC,CAAA;IACxC,IAAI,oBAAoB,EAAE,CAAC;QACzB,eAAe,GAAG,MAAM,gBAAgB,EAAE,4BAA4B,EAAE,CAAC;YACvE,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YACtC,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ;YACtC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO;SAChC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAC,eAAe,EAAE,CAAC;QAErB,MAAM,IAAI,4BAAgB,CACxB,yBAAa,CAAC,0BAA0B,EACxC,4BAA4B,EAC5B;wGACkG,CACnG,CAAA;IACH,CAAC;IAED,OAAO,aAAa,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAA;AACjD,CAAC,CAAA;AAhCY,QAAA,cAAc,kBAgC1B"}
@@ -1,2 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../core/types.ts"],"names":[],"mappings":""}
@@ -33,7 +33,6 @@ const substatusMessages = {
33
33
  PENDING: {
34
34
  BRIDGE_NOT_AVAILABLE: 'Bridge communication is temporarily unavailable.',
35
35
  CHAIN_NOT_AVAILABLE: 'RPC communication is temporarily unavailable.',
36
- NOT_PROCESSABLE_REFUND_NEEDED: 'The transfer cannot be completed successfully. A refund operation is required.',
37
36
  UNKNOWN_ERROR: 'An unexpected error occurred. Please seek assistance in the LI.FI discord server.',
38
37
  WAIT_SOURCE_CONFIRMATIONS: 'The bridge deposit has been received. The bridge is waiting for more confirmations to start the off-chain logic.',
39
38
  WAIT_DESTINATION_TRANSACTION: 'The bridge off-chain logic is being executed. Wait for the transaction to appear on the destination chain.',
@@ -60,26 +59,18 @@ function getSubstatusMessage(status, substatus) {
60
59
  return message;
61
60
  }
62
61
  exports.getSubstatusMessage = getSubstatusMessage;
63
- /**
64
- * Used to check if changed exchange rate is in the range of slippage threshold.
65
- * We use a slippage value as a threshold to trigger the rate change hook.
66
- * This can result in almost doubled slippage for the user and need to be revisited.
67
- * @param oldStep
68
- * @param newStep
69
- * @returns Boolean
70
- */
71
62
  function checkStepSlippageThreshold(oldStep, newStep) {
72
63
  const setSlippage = oldStep.action.slippage;
73
64
  const oldEstimatedToAmount = BigInt(oldStep.estimate.toAmountMin);
74
65
  const newEstimatedToAmount = BigInt(newStep.estimate.toAmountMin);
75
66
  const amountDifference = oldEstimatedToAmount - newEstimatedToAmount;
76
- // oldEstimatedToAmount can be 0 when we use conract calls
77
67
  let actualSlippage = 0;
78
68
  if (oldEstimatedToAmount > 0) {
79
69
  actualSlippage =
80
70
  Number((amountDifference * 1000000000n) / oldEstimatedToAmount) /
81
- 1000000000;
71
+ 1_000_000_000;
82
72
  }
83
73
  return actualSlippage <= setSlippage;
84
74
  }
85
75
  exports.checkStepSlippageThreshold = checkStepSlippageThreshold;
76
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../core/utils.ts"],"names":[],"mappings":";;;AAQA,MAAM,eAAe,GAAyD;IAC5E,eAAe,EAAE;QACf,OAAO,EAAE,0BAA0B;QACnC,OAAO,EAAE,8BAA8B;QACvC,IAAI,EAAE,sBAAsB;KAC7B;IACD,YAAY,EAAE;QACZ,OAAO,EAAE,wBAAwB;QACjC,IAAI,EAAE,8BAA8B;KACrC;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,6BAA6B;QACtC,eAAe,EAAE,8BAA8B;QAC/C,OAAO,EAAE,+BAA+B;QACxC,IAAI,EAAE,iBAAiB;KACxB;IACD,WAAW,EAAE;QACX,OAAO,EAAE,+BAA+B;QACxC,eAAe,EAAE,8BAA8B;QAC/C,OAAO,EAAE,iCAAiC;QAC1C,IAAI,EAAE,+BAA+B;KACtC;IACD,eAAe,EAAE;QACf,OAAO,EAAE,gCAAgC;QACzC,IAAI,EAAE,mBAAmB;KAC1B;IACD,WAAW,EAAE,EAAE;CAChB,CAAA;AACD,MAAM,iBAAiB,GAGnB;IACF,OAAO,EAAE;QACP,oBAAoB,EAAE,kDAAkD;QACxE,mBAAmB,EAAE,+CAA+C;QACpE,aAAa,EACX,mFAAmF;QACrF,yBAAyB,EACvB,kHAAkH;QACpH,4BAA4B,EAC1B,4GAA4G;KAC/G;IACD,IAAI,EAAE;QACJ,OAAO,EACL,uEAAuE;QACzE,QAAQ,EAAE,iDAAiD;QAC3D,SAAS,EAAE,2BAA2B;KACvC;IACD,MAAM,EAAE,EAAE;IACV,OAAO,EAAE,EAAE;IACX,SAAS,EAAE,EAAE;CACd,CAAA;AAED,SAAgB,iBAAiB,CAC/B,IAAiB,EACjB,MAAc;IAEd,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAA;IACpD,OAAO,cAAc,CAAA;AACvB,CAAC;AAND,8CAMC;AAED,SAAgB,mBAAmB,CACjC,MAAqB,EACrB,SAAqB;IAErB,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAM;IACR,CAAC;IACD,MAAM,OAAO,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,CAAA;IACpD,OAAO,OAAO,CAAA;AAChB,CAAC;AATD,kDASC;AAUD,SAAgB,0BAA0B,CACxC,OAAiB,EACjB,OAAiB;IAEjB,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAA;IAC3C,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IACjE,MAAM,oBAAoB,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;IACjE,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,oBAAoB,CAAA;IAEpE,IAAI,cAAc,GAAG,CAAC,CAAA;IACtB,IAAI,oBAAoB,GAAG,CAAC,EAAE,CAAC;QAC7B,cAAc;YACZ,MAAM,CAAC,CAAC,gBAAgB,GAAG,WAAc,CAAC,GAAG,oBAAoB,CAAC;gBAClE,aAAa,CAAA;IACjB,CAAC;IACD,OAAO,cAAc,IAAI,WAAW,CAAA;AACtC,CAAC;AAhBD,gEAgBC"}
@@ -1,23 +1,20 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.waitForReceivingTransaction = void 0;
7
- const ApiService_1 = __importDefault(require("../services/ApiService"));
8
- const errors_1 = require("../utils/errors");
9
- const utils_1 = require("../utils/utils");
10
- const utils_2 = require("./utils");
4
+ const api_js_1 = require("../services/api.js");
5
+ const errors_js_1 = require("../utils/errors.js");
6
+ const utils_js_1 = require("../utils/utils.js");
7
+ const utils_js_2 = require("./utils.js");
11
8
  const TRANSACTION_HASH_OBSERVERS = {};
12
9
  async function waitForReceivingTransaction(txHash, statusManager, processType, step) {
13
- const getStatus = () => new Promise(async (resolve, reject) => {
10
+ const _getStatus = () => new Promise(async (resolve, reject) => {
14
11
  let statusResponse;
15
12
  try {
16
- statusResponse = await ApiService_1.default.getStatus({
17
- bridge: step.tool,
13
+ statusResponse = await (0, api_js_1.getStatus)({
18
14
  fromChain: step.action.fromChainId,
19
15
  toChain: step.action.toChainId,
20
16
  txHash,
17
+ ...(step.tool !== 'custom' && { bridge: step.tool }),
21
18
  });
22
19
  }
23
20
  catch (e) {
@@ -31,12 +28,13 @@ async function waitForReceivingTransaction(txHash, statusManager, processType, s
31
28
  statusManager?.updateProcess(step, processType, 'PENDING', {
32
29
  substatus: statusResponse.substatus,
33
30
  substatusMessage: statusResponse.substatusMessage ||
34
- (0, utils_2.getSubstatusMessage)(statusResponse.status, statusResponse.substatus),
31
+ (0, utils_js_2.getSubstatusMessage)(statusResponse.status, statusResponse.substatus),
35
32
  txLink: statusResponse.bridgeExplorerLink,
36
33
  });
37
34
  return resolve(undefined);
38
35
  case 'NOT_FOUND':
39
36
  return resolve(undefined);
37
+ case 'INVALID':
40
38
  case 'FAILED':
41
39
  default:
42
40
  return reject();
@@ -47,12 +45,13 @@ async function waitForReceivingTransaction(txHash, statusManager, processType, s
47
45
  status = await TRANSACTION_HASH_OBSERVERS[txHash];
48
46
  }
49
47
  else {
50
- TRANSACTION_HASH_OBSERVERS[txHash] = (0, utils_1.repeatUntilDone)(getStatus, 5000);
48
+ TRANSACTION_HASH_OBSERVERS[txHash] = (0, utils_js_1.repeatUntilDone)(_getStatus, 5_000);
51
49
  status = await TRANSACTION_HASH_OBSERVERS[txHash];
52
50
  }
53
- if (!status.receiving) {
54
- throw new errors_1.ServerError("Status doesn't contain receiving information.");
51
+ if (!('receiving' in status)) {
52
+ throw new errors_js_1.ServerError("Status doesn't contain receiving information.");
55
53
  }
56
54
  return status;
57
55
  }
58
56
  exports.waitForReceivingTransaction = waitForReceivingTransaction;
57
+ //# sourceMappingURL=waitForReceivingTransaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"waitForReceivingTransaction.js","sourceRoot":"","sources":["../../core/waitForReceivingTransaction.ts"],"names":[],"mappings":";;;AAMA,+CAA8C;AAC9C,kDAAgD;AAChD,gDAAmD;AAEnD,yCAAgD;AAEhD,MAAM,0BAA0B,GAA4C,EAAE,CAAA;AAEvE,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,IAAA,kBAAS,EAAC;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,IAAA,8BAAmB,EACjB,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,IAAA,0BAAe,EAAC,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,uBAAW,CAAC,+CAA+C,CAAC,CAAA;IACxE,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AA3DD,kEA2DC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createConfig = exports.createChainsConfig = void 0;
4
+ const types_1 = require("@lifi/types");
5
+ const config_js_1 = require("./config.js");
6
+ const helpers_js_1 = require("./helpers.js");
7
+ const api_js_1 = require("./services/api.js");
8
+ const version_js_1 = require("./version.js");
9
+ function createBaseConfig(options) {
10
+ if (!options.integrator) {
11
+ throw new Error('Integrator not found. Please see documentation https://docs.li.fi/integrate-li.fi-js-sdk/set-up-the-sdk');
12
+ }
13
+ const _config = config_js_1.config.set(options);
14
+ (0, helpers_js_1.checkPackageUpdates)(version_js_1.name, version_js_1.version, options.disableVersionCheck);
15
+ return _config;
16
+ }
17
+ async function createChainsConfig() {
18
+ config_js_1.config.loading = (0, api_js_1.getChains)({ chainTypes: [types_1.ChainType.EVM, types_1.ChainType.SVM] })
19
+ .then((chains) => config_js_1.config.setChains(chains))
20
+ .catch();
21
+ await config_js_1.config.loading;
22
+ }
23
+ exports.createChainsConfig = createChainsConfig;
24
+ function createConfig(options) {
25
+ const _config = createBaseConfig(options);
26
+ if (_config.preloadChains) {
27
+ createChainsConfig();
28
+ }
29
+ return _config;
30
+ }
31
+ exports.createConfig = createConfig;
32
+ //# sourceMappingURL=createConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createConfig.js","sourceRoot":"","sources":["../createConfig.ts"],"names":[],"mappings":";;;AACA,uCAAuC;AACvC,2CAAoC;AACpC,6CAAkD;AAClD,8CAA6C;AAE7C,6CAA4C;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,kBAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IACnC,IAAA,gCAAmB,EAAC,iBAAI,EAAE,oBAAO,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC/D,OAAO,OAAO,CAAA;AAChB,CAAC;AAEM,KAAK,UAAU,kBAAkB;IACtC,kBAAM,CAAC,OAAO,GAAG,IAAA,kBAAS,EAAC,EAAE,UAAU,EAAE,CAAC,iBAAS,CAAC,GAAG,EAAE,iBAAS,CAAC,GAAG,CAAC,EAAE,CAAC;SACvE,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,kBAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;SAC1C,KAAK,EAAE,CAAA;IACV,MAAM,kBAAM,CAAC,OAAO,CAAA;AACtB,CAAC;AALD,gDAKC;AAED,SAAgB,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;AAND,oCAMC"}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchTxErrorDetails = exports.convertQuoteToRoute = exports.checkPackageUpdates = exports.getRandomNumber = void 0;
4
+ const request_js_1 = require("./request.js");
5
+ const errors_js_1 = require("./utils/errors.js");
6
+ const version_js_1 = require("./version.js");
7
+ const getRandomNumber = (min, max) => {
8
+ return Math.floor(Math.random() * (max - min + 1) + min);
9
+ };
10
+ exports.getRandomNumber = getRandomNumber;
11
+ const checkPackageUpdates = async (packageName, packageVersion, disableCheck) => {
12
+ if (disableCheck || process.env.NODE_ENV !== 'development') {
13
+ return;
14
+ }
15
+ try {
16
+ const pkgName = packageName ?? version_js_1.name;
17
+ const response = await (0, request_js_1.request)(`https://registry.npmjs.org/${pkgName}/latest`, { skipTrackingHeaders: true });
18
+ const latestVersion = response.version;
19
+ const currentVersion = packageVersion ?? version_js_1.version;
20
+ if (latestVersion > currentVersion) {
21
+ console.warn(`${pkgName}: new package version is available. Please update as soon as possible to enjoy the newest features. Current version: ${currentVersion}. Latest version: ${latestVersion}.`);
22
+ }
23
+ }
24
+ catch (error) {
25
+ }
26
+ };
27
+ exports.checkPackageUpdates = checkPackageUpdates;
28
+ const convertQuoteToRoute = (step) => {
29
+ if (!step.estimate.fromAmountUSD) {
30
+ throw new errors_js_1.ValidationError("Missing 'fromAmountUSD' in step estimate.");
31
+ }
32
+ if (!step.estimate.toAmountUSD) {
33
+ throw new errors_js_1.ValidationError("Missing 'toAmountUSD' in step estimate.");
34
+ }
35
+ const route = {
36
+ fromToken: step.action.fromToken,
37
+ toToken: step.action.toToken,
38
+ fromAmount: step.action.fromAmount,
39
+ toAmount: step.estimate.toAmount,
40
+ id: step.id,
41
+ fromChainId: step.action.fromToken.chainId,
42
+ toChainId: step.action.toToken.chainId,
43
+ fromAmountUSD: step.estimate.fromAmountUSD,
44
+ toAmountUSD: step.estimate.toAmountUSD,
45
+ steps: [step],
46
+ toAmountMin: step.estimate.toAmountMin,
47
+ insurance: { state: 'NOT_INSURABLE', feeAmountUsd: '0' },
48
+ };
49
+ return route;
50
+ };
51
+ exports.convertQuoteToRoute = convertQuoteToRoute;
52
+ const fetchTxErrorDetails = async (txHash, chainId) => {
53
+ const response = await (0, request_js_1.request)(`https://api.tenderly.co/api/v1/public-contract/${chainId}/tx/${txHash}`);
54
+ return response;
55
+ };
56
+ exports.fetchTxErrorDetails = fetchTxErrorDetails;
57
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../helpers.ts"],"names":[],"mappings":";;;AACA,6CAAsC;AAEtC,iDAAmD;AACnD,6CAA4C;AAQrC,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;AAFY,QAAA,eAAe,mBAE3B;AAEM,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,iBAAI,CAAA;QACnC,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAO,EAC5B,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,oBAAO,CAAA;QAChD,IAAI,aAAa,GAAG,cAAc,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAEV,GAAG,OAAO,wHAAwH,cAAc,qBAAqB,aAAa,GAAG,CACtL,CAAA;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;IAEjB,CAAC;AACH,CAAC,CAAA;AAzBY,QAAA,mBAAmB,uBAyB/B;AAQM,MAAM,mBAAmB,GAAG,CAAC,IAAc,EAAS,EAAE;IAC3D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QACjC,MAAM,IAAI,2BAAe,CAAC,2CAA2C,CAAC,CAAA;IACxE,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC/B,MAAM,IAAI,2BAAe,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;AAzBY,QAAA,mBAAmB,uBAyB/B;AAEM,MAAM,mBAAmB,GAAG,KAAK,EAAE,MAAc,EAAE,OAAe,EAAE,EAAE;IAC3E,MAAM,QAAQ,GAAG,MAAM,IAAA,oBAAO,EAC5B,kDAAkD,OAAO,OAAO,MAAM,EAAE,CACzE,CAAA;IAED,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AANY,QAAA,mBAAmB,uBAM/B"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LiFiError = exports.createConfig = exports.Solana = exports.EVM = exports.config = void 0;
4
+ const tslib_1 = require("tslib");
5
+ tslib_1.__exportStar(require("@lifi/types"), exports);
6
+ var config_js_1 = require("./config.js");
7
+ Object.defineProperty(exports, "config", { enumerable: true, get: function () { return config_js_1.config; } });
8
+ var EVM_js_1 = require("./core/EVM/EVM.js");
9
+ Object.defineProperty(exports, "EVM", { enumerable: true, get: function () { return EVM_js_1.EVM; } });
10
+ var Solana_js_1 = require("./core/Solana/Solana.js");
11
+ Object.defineProperty(exports, "Solana", { enumerable: true, get: function () { return Solana_js_1.Solana; } });
12
+ tslib_1.__exportStar(require("./core/index.js"), exports);
13
+ var createConfig_js_1 = require("./createConfig.js");
14
+ Object.defineProperty(exports, "createConfig", { enumerable: true, get: function () { return createConfig_js_1.createConfig; } });
15
+ tslib_1.__exportStar(require("./helpers.js"), exports);
16
+ tslib_1.__exportStar(require("./services/api.js"), exports);
17
+ tslib_1.__exportStar(require("./services/balance.js"), exports);
18
+ tslib_1.__exportStar(require("./services/getNameServiceAddress.js"), exports);
19
+ tslib_1.__exportStar(require("./types/index.js"), exports);
20
+ tslib_1.__exportStar(require("./utils/errors.js"), exports);
21
+ var errors_js_1 = require("./utils/errors.js");
22
+ Object.defineProperty(exports, "LiFiError", { enumerable: true, get: function () { return errors_js_1.LiFiError; } });
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";;;;AAAA,sDAA2B;AAC3B,yCAAoC;AAA3B,mGAAA,MAAM,OAAA;AACf,4CAAuC;AAA9B,6FAAA,GAAG,OAAA;AAMZ,qDAAgD;AAAvC,mGAAA,MAAM,OAAA;AACf,0DAA+B;AAC/B,qDAAgD;AAAvC,+GAAA,YAAY,OAAA;AACrB,uDAA4B;AAC5B,4DAAiC;AACjC,gEAAqC;AACrC,8EAAmD;AACnD,2DAAgC;AAChC,4DAAiC;AACjC,+CAA6D;AAApD,sGAAA,SAAS,OAAA"}
@@ -0,0 +1 @@
1
+ {"type":"commonjs"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.request = exports.requestSettings = void 0;
4
+ const config_js_1 = require("./config.js");
5
+ const errors_js_1 = require("./utils/errors.js");
6
+ const utils_js_1 = require("./utils/utils.js");
7
+ const version_js_1 = require("./version.js");
8
+ exports.requestSettings = {
9
+ retries: 1,
10
+ };
11
+ const request = async (url, options = {
12
+ retries: exports.requestSettings.retries,
13
+ }) => {
14
+ const { userId, integrator, widgetVersion, apiKey } = config_js_1.config.get();
15
+ if (!integrator) {
16
+ throw new Error('Integrator not found. Please see documentation https://docs.li.fi/integrate-li.fi-js-sdk/set-up-the-sdk');
17
+ }
18
+ options.retries = options.retries ?? exports.requestSettings.retries;
19
+ try {
20
+ if (!options.skipTrackingHeaders) {
21
+ if (apiKey) {
22
+ options.headers = {
23
+ ...options.headers,
24
+ 'x-lifi-api-key': apiKey,
25
+ };
26
+ }
27
+ if (userId) {
28
+ options.headers = {
29
+ ...options.headers,
30
+ 'x-lifi-userid': userId,
31
+ };
32
+ }
33
+ if (widgetVersion) {
34
+ options.headers = {
35
+ ...options.headers,
36
+ 'x-lifi-widget': widgetVersion,
37
+ };
38
+ }
39
+ if (version_js_1.version) {
40
+ options.headers = {
41
+ ...options.headers,
42
+ 'x-lifi-sdk': version_js_1.version,
43
+ };
44
+ }
45
+ options.headers = {
46
+ ...options.headers,
47
+ 'x-lifi-integrator': integrator,
48
+ };
49
+ }
50
+ const response = await fetch(url, options);
51
+ if (!response.ok) {
52
+ throw new errors_js_1.HTTPError(response);
53
+ }
54
+ const data = await response.json();
55
+ return data;
56
+ }
57
+ catch (error) {
58
+ if (options.retries > 0 && error?.status === 500) {
59
+ await (0, utils_js_1.wait)(500);
60
+ return (0, exports.request)(url, { ...options, retries: options.retries - 1 });
61
+ }
62
+ throw error;
63
+ }
64
+ };
65
+ exports.request = request;
66
+ //# sourceMappingURL=request.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../request.ts"],"names":[],"mappings":";;;AAAA,2CAAoC;AACpC,iDAA6C;AAC7C,+CAAuC;AACvC,6CAAsC;AAEzB,QAAA,eAAe,GAAG;IAC7B,OAAO,EAAE,CAAC;CACX,CAAA;AAOM,MAAM,OAAO,GAAG,KAAK,EAC1B,GAAsB,EACtB,UAA+B;IAC7B,OAAO,EAAE,uBAAe,CAAC,OAAO;CACjC,EACW,EAAE;IACd,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,kBAAM,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,uBAAe,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,oBAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,OAAO,GAAG;oBAChB,GAAG,OAAO,CAAC,OAAO;oBAClB,YAAY,EAAE,oBAAO;iBACtB,CAAA;YACH,CAAC;YAGD,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,qBAAS,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,IAAA,eAAI,EAAC,GAAG,CAAC,CAAA;YACf,OAAO,IAAA,eAAO,EAAI,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;AAhEY,QAAA,OAAO,WAgEnB"}