@lifi/sdk 3.0.0-alpha.2 → 3.0.0-alpha.20

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 (393) hide show
  1. package/dist/cjs/config.js +48 -0
  2. package/dist/cjs/config.js.map +1 -0
  3. package/dist/cjs/constants.js +2 -4
  4. package/dist/cjs/constants.js.map +1 -0
  5. package/dist/cjs/core/BaseStepExecutor.js +55 -0
  6. package/dist/cjs/core/BaseStepExecutor.js.map +1 -0
  7. package/dist/cjs/core/EVM/EVM.js +46 -0
  8. package/dist/cjs/core/EVM/EVM.js.map +1 -0
  9. package/dist/cjs/core/EVM/EVMStepExecutor.js +276 -0
  10. package/dist/cjs/core/EVM/EVMStepExecutor.js.map +1 -0
  11. package/dist/cjs/{types → core/EVM}/abi.js +1 -0
  12. package/dist/cjs/core/EVM/abi.js.map +1 -0
  13. package/dist/cjs/{execution → core/EVM}/checkAllowance.js +12 -12
  14. package/dist/cjs/core/EVM/checkAllowance.js.map +1 -0
  15. package/dist/cjs/{allowance → core/EVM}/getAllowance.js +15 -17
  16. package/dist/cjs/core/EVM/getAllowance.js.map +1 -0
  17. package/dist/cjs/{balance/getBalance.js → core/EVM/getEVMBalance.js} +22 -22
  18. package/dist/cjs/core/EVM/getEVMBalance.js.map +1 -0
  19. package/dist/cjs/{execution → core/EVM}/multisig.js +7 -11
  20. package/dist/cjs/core/EVM/multisig.js.map +1 -0
  21. package/dist/cjs/core/EVM/publicClient.js +35 -0
  22. package/dist/cjs/core/EVM/publicClient.js.map +1 -0
  23. package/dist/cjs/core/EVM/setAllowance.js +71 -0
  24. package/dist/cjs/core/EVM/setAllowance.js.map +1 -0
  25. package/dist/cjs/core/EVM/switchChain.js +37 -0
  26. package/dist/cjs/core/EVM/switchChain.js.map +1 -0
  27. package/dist/cjs/core/EVM/types.js +9 -0
  28. package/dist/cjs/core/EVM/types.js.map +1 -0
  29. package/dist/cjs/{utils/getMaxPriorityFeePerGas.js → core/EVM/utils.js} +11 -3
  30. package/dist/cjs/core/EVM/utils.js.map +1 -0
  31. package/dist/cjs/core/Solana/Solana.js +44 -0
  32. package/dist/cjs/core/Solana/Solana.js.map +1 -0
  33. package/dist/cjs/core/Solana/SolanaStepExecutor.js +157 -0
  34. package/dist/cjs/core/Solana/SolanaStepExecutor.js.map +1 -0
  35. package/dist/cjs/core/Solana/connection.js +18 -0
  36. package/dist/cjs/core/Solana/connection.js.map +1 -0
  37. package/dist/cjs/core/Solana/getSolanaBalance.js +50 -0
  38. package/dist/cjs/core/Solana/getSolanaBalance.js.map +1 -0
  39. package/dist/cjs/core/Solana/types.js +10 -0
  40. package/dist/cjs/core/Solana/types.js.map +1 -0
  41. package/dist/cjs/core/StatusManager.js +167 -0
  42. package/dist/cjs/core/StatusManager.js.map +1 -0
  43. package/dist/cjs/{execution → core}/checkBalance.js +5 -5
  44. package/dist/cjs/core/checkBalance.js.map +1 -0
  45. package/dist/cjs/core/execution.js +134 -0
  46. package/dist/cjs/core/execution.js.map +1 -0
  47. package/dist/cjs/core/executionState.js +23 -0
  48. package/dist/cjs/core/executionState.js.map +1 -0
  49. package/dist/cjs/core/index.js +7 -0
  50. package/dist/cjs/core/index.js.map +1 -0
  51. package/dist/cjs/core/prepareRestart.js +23 -0
  52. package/dist/cjs/core/prepareRestart.js.map +1 -0
  53. package/dist/cjs/core/provider.js +15 -0
  54. package/dist/cjs/core/provider.js.map +1 -0
  55. package/dist/cjs/core/stepComparison.js +25 -0
  56. package/dist/cjs/core/stepComparison.js.map +1 -0
  57. package/dist/cjs/{allowance → core}/types.js +1 -0
  58. package/dist/cjs/core/types.js.map +1 -0
  59. package/dist/cjs/{execution → core}/utils.js +16 -10
  60. package/dist/cjs/core/utils.js.map +1 -0
  61. package/dist/cjs/{execution → core}/waitForReceivingTransaction.js +10 -12
  62. package/dist/cjs/core/waitForReceivingTransaction.js.map +1 -0
  63. package/dist/cjs/createConfig.js +48 -0
  64. package/dist/cjs/createConfig.js.map +1 -0
  65. package/dist/cjs/helpers.js +11 -25
  66. package/dist/cjs/helpers.js.map +1 -0
  67. package/dist/cjs/index.js +18 -22
  68. package/dist/cjs/index.js.map +1 -0
  69. package/dist/cjs/package.json +1 -0
  70. package/dist/cjs/request.js +22 -16
  71. package/dist/cjs/request.js.map +1 -0
  72. package/dist/cjs/services/api.js +284 -0
  73. package/dist/cjs/services/api.js.map +1 -0
  74. package/dist/cjs/services/balance.js +49 -0
  75. package/dist/cjs/services/balance.js.map +1 -0
  76. package/dist/cjs/typeguards.js +1 -0
  77. package/dist/cjs/typeguards.js.map +1 -0
  78. package/dist/cjs/types/index.js +3 -20
  79. package/dist/cjs/types/index.js.map +1 -0
  80. package/dist/cjs/types/{internal.types.js → internal.js} +1 -0
  81. package/dist/cjs/types/internal.js.map +1 -0
  82. package/dist/cjs/utils/errors.js +25 -3
  83. package/dist/cjs/utils/errors.js.map +1 -0
  84. package/dist/cjs/utils/getTransactionMessage.js +31 -0
  85. package/dist/cjs/utils/getTransactionMessage.js.map +1 -0
  86. package/dist/cjs/utils/index.js +7 -19
  87. package/dist/cjs/utils/index.js.map +1 -0
  88. package/dist/cjs/utils/median.js +1 -0
  89. package/dist/cjs/utils/median.js.map +1 -0
  90. package/dist/cjs/utils/parseBackendError.js +27 -0
  91. package/dist/cjs/utils/parseBackendError.js.map +1 -0
  92. package/dist/cjs/utils/parseError.js +34 -124
  93. package/dist/cjs/utils/parseError.js.map +1 -0
  94. package/dist/cjs/utils/utils.js +5 -11
  95. package/dist/cjs/utils/utils.js.map +1 -0
  96. package/dist/cjs/version.js +2 -1
  97. package/dist/cjs/version.js.map +1 -0
  98. package/dist/esm/config.js +45 -0
  99. package/dist/esm/config.js.map +1 -0
  100. package/dist/{constants.js → esm/constants.js} +1 -0
  101. package/dist/esm/constants.js.map +1 -0
  102. package/dist/esm/core/BaseStepExecutor.js +52 -0
  103. package/dist/esm/core/BaseStepExecutor.js.map +1 -0
  104. package/dist/esm/core/EVM/EVM.js +42 -0
  105. package/dist/esm/core/EVM/EVM.js.map +1 -0
  106. package/dist/esm/core/EVM/EVMStepExecutor.js +304 -0
  107. package/dist/esm/core/EVM/EVMStepExecutor.js.map +1 -0
  108. package/dist/{types → esm/core/EVM}/abi.js +1 -0
  109. package/dist/esm/core/EVM/abi.js.map +1 -0
  110. package/dist/{execution → esm/core/EVM}/checkAllowance.js +8 -6
  111. package/dist/esm/core/EVM/checkAllowance.js.map +1 -0
  112. package/dist/{allowance → esm/core/EVM}/getAllowance.js +20 -5
  113. package/dist/esm/core/EVM/getAllowance.js.map +1 -0
  114. package/dist/{balance/getBalance.js → esm/core/EVM/getEVMBalance.js} +11 -11
  115. package/dist/esm/core/EVM/getEVMBalance.js.map +1 -0
  116. package/dist/{execution → esm/core/EVM}/multisig.js +5 -6
  117. package/dist/esm/core/EVM/multisig.js.map +1 -0
  118. package/dist/esm/core/EVM/publicClient.js +37 -0
  119. package/dist/esm/core/EVM/publicClient.js.map +1 -0
  120. package/dist/{allowance → esm/core/EVM}/setAllowance.js +46 -11
  121. package/dist/esm/core/EVM/setAllowance.js.map +1 -0
  122. package/dist/{execution → esm/core/EVM}/switchChain.js +5 -3
  123. package/dist/esm/core/EVM/switchChain.js.map +1 -0
  124. package/dist/esm/core/EVM/types.js +6 -0
  125. package/dist/esm/core/EVM/types.js.map +1 -0
  126. package/dist/{utils/getMaxPriorityFeePerGas.js → esm/core/EVM/utils.js} +9 -1
  127. package/dist/esm/core/EVM/utils.js.map +1 -0
  128. package/dist/esm/core/Solana/Solana.js +40 -0
  129. package/dist/esm/core/Solana/Solana.js.map +1 -0
  130. package/dist/esm/core/Solana/SolanaStepExecutor.js +158 -0
  131. package/dist/esm/core/Solana/SolanaStepExecutor.js.map +1 -0
  132. package/dist/esm/core/Solana/connection.js +19 -0
  133. package/dist/esm/core/Solana/connection.js.map +1 -0
  134. package/dist/esm/core/Solana/getSolanaBalance.js +46 -0
  135. package/dist/esm/core/Solana/getSolanaBalance.js.map +1 -0
  136. package/dist/esm/core/Solana/types.js +7 -0
  137. package/dist/esm/core/Solana/types.js.map +1 -0
  138. package/dist/esm/core/StatusManager.js +203 -0
  139. package/dist/esm/core/StatusManager.js.map +1 -0
  140. package/dist/{execution → esm/core}/checkBalance.js +3 -2
  141. package/dist/esm/core/checkBalance.js.map +1 -0
  142. package/dist/esm/core/execution.js +173 -0
  143. package/dist/esm/core/execution.js.map +1 -0
  144. package/dist/esm/core/executionState.js +20 -0
  145. package/dist/esm/core/executionState.js.map +1 -0
  146. package/dist/esm/core/index.js +4 -0
  147. package/dist/esm/core/index.js.map +1 -0
  148. package/dist/esm/core/prepareRestart.js +64 -0
  149. package/dist/esm/core/prepareRestart.js.map +1 -0
  150. package/dist/esm/core/provider.js +11 -0
  151. package/dist/esm/core/provider.js.map +1 -0
  152. package/dist/{execution → esm/core}/stepComparison.js +7 -5
  153. package/dist/esm/core/stepComparison.js.map +1 -0
  154. package/dist/esm/core/types.js +2 -0
  155. package/dist/esm/core/types.js.map +1 -0
  156. package/dist/{execution → esm/core}/utils.js +14 -0
  157. package/dist/esm/core/utils.js.map +1 -0
  158. package/dist/{execution → esm/core}/waitForReceivingTransaction.js +8 -7
  159. package/dist/esm/core/waitForReceivingTransaction.js.map +1 -0
  160. package/dist/esm/createConfig.js +45 -0
  161. package/dist/esm/createConfig.js.map +1 -0
  162. package/dist/{helpers.js → esm/helpers.js} +4 -3
  163. package/dist/esm/helpers.js.map +1 -0
  164. package/dist/esm/index.js +12 -0
  165. package/dist/esm/index.js.map +1 -0
  166. package/dist/esm/package.json +1 -0
  167. package/dist/{request.js → esm/request.js} +19 -9
  168. package/dist/esm/request.js.map +1 -0
  169. package/dist/esm/services/api.js +353 -0
  170. package/dist/esm/services/api.js.map +1 -0
  171. package/dist/esm/services/balance.js +65 -0
  172. package/dist/esm/services/balance.js.map +1 -0
  173. package/dist/{typeguards.js → esm/typeguards.js} +1 -0
  174. package/dist/esm/typeguards.js.map +1 -0
  175. package/dist/esm/types/index.js +2 -0
  176. package/dist/esm/types/index.js.map +1 -0
  177. package/dist/esm/types/internal.js +2 -0
  178. package/dist/esm/types/internal.js.map +1 -0
  179. package/dist/{utils → esm/utils}/errors.js +25 -0
  180. package/dist/esm/utils/errors.js.map +1 -0
  181. package/dist/esm/utils/getTransactionMessage.js +28 -0
  182. package/dist/esm/utils/getTransactionMessage.js.map +1 -0
  183. package/dist/esm/utils/index.js +6 -0
  184. package/dist/esm/utils/index.js.map +1 -0
  185. package/dist/{utils → esm/utils}/median.js +1 -0
  186. package/dist/esm/utils/median.js.map +1 -0
  187. package/dist/esm/utils/parseBackendError.js +24 -0
  188. package/dist/esm/utils/parseBackendError.js.map +1 -0
  189. package/dist/{utils → esm/utils}/parseError.js +4 -53
  190. package/dist/esm/utils/parseError.js.map +1 -0
  191. package/dist/{utils → esm/utils}/utils.js +2 -1
  192. package/dist/esm/utils/utils.js.map +1 -0
  193. package/dist/esm/version.js +3 -0
  194. package/dist/esm/version.js.map +1 -0
  195. package/dist/types/config.d.ts +11 -0
  196. package/dist/types/config.d.ts.map +1 -0
  197. package/dist/{cjs → types}/constants.d.ts +1 -0
  198. package/dist/types/constants.d.ts.map +1 -0
  199. package/dist/types/core/BaseStepExecutor.d.ts +13 -0
  200. package/dist/types/core/BaseStepExecutor.d.ts.map +1 -0
  201. package/dist/types/core/EVM/EVM.d.ts +3 -0
  202. package/dist/types/core/EVM/EVM.d.ts.map +1 -0
  203. package/dist/types/core/EVM/EVMStepExecutor.d.ts +17 -0
  204. package/dist/types/core/EVM/EVMStepExecutor.d.ts.map +1 -0
  205. package/dist/{cjs/types → types/core/EVM}/abi.d.ts +1 -0
  206. package/dist/types/core/EVM/abi.d.ts.map +1 -0
  207. package/dist/types/core/EVM/checkAllowance.d.ts +6 -0
  208. package/dist/types/core/EVM/checkAllowance.d.ts.map +1 -0
  209. package/dist/{cjs/allowance → types/core/EVM}/getAllowance.d.ts +15 -1
  210. package/dist/types/core/EVM/getAllowance.d.ts.map +1 -0
  211. package/dist/types/core/EVM/getEVMBalance.d.ts +3 -0
  212. package/dist/types/core/EVM/getEVMBalance.d.ts.map +1 -0
  213. package/dist/types/core/EVM/multisig.d.ts +6 -0
  214. package/dist/types/core/EVM/multisig.d.ts.map +1 -0
  215. package/dist/types/core/EVM/publicClient.d.ts +8 -0
  216. package/dist/types/core/EVM/publicClient.d.ts.map +1 -0
  217. package/dist/types/core/EVM/setAllowance.d.ts +25 -0
  218. package/dist/types/core/EVM/setAllowance.d.ts.map +1 -0
  219. package/dist/{execution → types/core/EVM}/switchChain.d.ts +6 -4
  220. package/dist/types/core/EVM/switchChain.d.ts.map +1 -0
  221. package/dist/types/core/EVM/types.d.ts +57 -0
  222. package/dist/types/core/EVM/types.d.ts.map +1 -0
  223. package/dist/types/core/EVM/utils.d.ts +5 -0
  224. package/dist/types/core/EVM/utils.d.ts.map +1 -0
  225. package/dist/types/core/Solana/Solana.d.ts +3 -0
  226. package/dist/types/core/Solana/Solana.d.ts.map +1 -0
  227. package/dist/types/core/Solana/SolanaStepExecutor.d.ts +13 -0
  228. package/dist/types/core/Solana/SolanaStepExecutor.d.ts.map +1 -0
  229. package/dist/types/core/Solana/connection.d.ts +8 -0
  230. package/dist/types/core/Solana/connection.d.ts.map +1 -0
  231. package/dist/types/core/Solana/getSolanaBalance.d.ts +3 -0
  232. package/dist/types/core/Solana/getSolanaBalance.d.ts.map +1 -0
  233. package/dist/types/core/Solana/types.d.ts +13 -0
  234. package/dist/types/core/Solana/types.d.ts.map +1 -0
  235. package/dist/{cjs/execution → types/core}/StatusManager.d.ts +12 -16
  236. package/dist/types/core/StatusManager.d.ts.map +1 -0
  237. package/dist/types/core/checkBalance.d.ts +3 -0
  238. package/dist/types/core/checkBalance.d.ts.map +1 -0
  239. package/dist/types/core/execution.d.ts +42 -0
  240. package/dist/types/core/execution.d.ts.map +1 -0
  241. package/dist/types/core/executionState.d.ts +16 -0
  242. package/dist/types/core/executionState.d.ts.map +1 -0
  243. package/dist/types/core/index.d.ts +4 -0
  244. package/dist/types/core/index.d.ts.map +1 -0
  245. package/dist/types/core/prepareRestart.d.ts +3 -0
  246. package/dist/types/core/prepareRestart.d.ts.map +1 -0
  247. package/dist/types/core/provider.d.ts +3 -0
  248. package/dist/types/core/provider.d.ts.map +1 -0
  249. package/dist/{cjs/execution → types/core}/stepComparison.d.ts +7 -4
  250. package/dist/types/core/stepComparison.d.ts.map +1 -0
  251. package/dist/types/core/types.d.ts +71 -0
  252. package/dist/types/core/types.d.ts.map +1 -0
  253. package/dist/{execution → types/core}/utils.d.ts +5 -2
  254. package/dist/types/core/utils.d.ts.map +1 -0
  255. package/dist/types/core/waitForReceivingTransaction.d.ts +4 -0
  256. package/dist/types/core/waitForReceivingTransaction.d.ts.map +1 -0
  257. package/dist/types/createConfig.d.ts +7 -0
  258. package/dist/types/createConfig.d.ts.map +1 -0
  259. package/dist/{helpers.d.ts → types/helpers.d.ts} +4 -3
  260. package/dist/types/helpers.d.ts.map +1 -0
  261. package/dist/types/index.d.ts +11 -3
  262. package/dist/types/index.d.ts.map +1 -0
  263. package/dist/{request.d.ts → types/request.d.ts} +1 -0
  264. package/dist/types/request.d.ts.map +1 -0
  265. package/dist/types/services/api.d.ts +87 -0
  266. package/dist/types/services/api.d.ts.map +1 -0
  267. package/dist/types/services/balance.d.ts +30 -0
  268. package/dist/types/services/balance.d.ts.map +1 -0
  269. package/dist/{cjs → types}/typeguards.d.ts +3 -2
  270. package/dist/types/typeguards.d.ts.map +1 -0
  271. package/dist/types/types/index.d.ts +2 -0
  272. package/dist/types/types/index.d.ts.map +1 -0
  273. package/dist/types/types/internal.d.ts +56 -0
  274. package/dist/types/types/internal.d.ts.map +1 -0
  275. package/dist/{utils → types/utils}/errors.d.ts +1 -0
  276. package/dist/types/utils/errors.d.ts.map +1 -0
  277. package/dist/types/utils/getTransactionMessage.d.ts +4 -0
  278. package/dist/types/utils/getTransactionMessage.d.ts.map +1 -0
  279. package/dist/types/utils/index.d.ts +6 -0
  280. package/dist/types/utils/index.d.ts.map +1 -0
  281. package/dist/{cjs → types}/utils/median.d.ts +1 -0
  282. package/dist/types/utils/median.d.ts.map +1 -0
  283. package/dist/types/utils/parseBackendError.d.ts +3 -0
  284. package/dist/types/utils/parseBackendError.d.ts.map +1 -0
  285. package/dist/{utils → types/utils}/parseError.d.ts +4 -6
  286. package/dist/types/utils/parseError.d.ts.map +1 -0
  287. package/dist/{cjs → types}/utils/utils.d.ts +1 -0
  288. package/dist/types/utils/utils.d.ts.map +1 -0
  289. package/dist/types/version.d.ts +3 -0
  290. package/dist/types/version.d.ts.map +1 -0
  291. package/package.json +26 -85
  292. package/dist/LiFi.d.ts +0 -171
  293. package/dist/LiFi.js +0 -246
  294. package/dist/allowance/getAllowance.d.ts +0 -6
  295. package/dist/allowance/index.d.ts +0 -3
  296. package/dist/allowance/index.js +0 -3
  297. package/dist/allowance/setAllowance.d.ts +0 -5
  298. package/dist/allowance/types.d.ts +0 -27
  299. package/dist/allowance/types.js +0 -1
  300. package/dist/balance/getBalance.d.ts +0 -2
  301. package/dist/balance/getTokenBalance.d.ts +0 -8
  302. package/dist/balance/getTokenBalance.js +0 -27
  303. package/dist/balance/index.d.ts +0 -2
  304. package/dist/balance/index.js +0 -2
  305. package/dist/cjs/LiFi.d.ts +0 -171
  306. package/dist/cjs/LiFi.js +0 -276
  307. package/dist/cjs/allowance/index.d.ts +0 -3
  308. package/dist/cjs/allowance/index.js +0 -19
  309. package/dist/cjs/allowance/setAllowance.d.ts +0 -5
  310. package/dist/cjs/allowance/setAllowance.js +0 -56
  311. package/dist/cjs/allowance/types.d.ts +0 -27
  312. package/dist/cjs/balance/getBalance.d.ts +0 -2
  313. package/dist/cjs/balance/getTokenBalance.d.ts +0 -8
  314. package/dist/cjs/balance/getTokenBalance.js +0 -33
  315. package/dist/cjs/balance/index.d.ts +0 -2
  316. package/dist/cjs/balance/index.js +0 -18
  317. package/dist/cjs/connectors.d.ts +0 -8
  318. package/dist/cjs/connectors.js +0 -75
  319. package/dist/cjs/execution/RouteExecutionManager.d.ts +0 -59
  320. package/dist/cjs/execution/RouteExecutionManager.js +0 -202
  321. package/dist/cjs/execution/StatusManager.js +0 -171
  322. package/dist/cjs/execution/StepExecutionManager.d.ts +0 -7
  323. package/dist/cjs/execution/StepExecutionManager.js +0 -267
  324. package/dist/cjs/execution/StepExecutor.d.ts +0 -15
  325. package/dist/cjs/execution/StepExecutor.js +0 -62
  326. package/dist/cjs/execution/checkAllowance.d.ts +0 -4
  327. package/dist/cjs/execution/checkBalance.d.ts +0 -2
  328. package/dist/cjs/execution/index.d.ts +0 -1
  329. package/dist/cjs/execution/index.js +0 -17
  330. package/dist/cjs/execution/multisig.d.ts +0 -4
  331. package/dist/cjs/execution/prepareRestart.d.ts +0 -3
  332. package/dist/cjs/execution/prepareRestart.js +0 -65
  333. package/dist/cjs/execution/stepComparison.js +0 -37
  334. package/dist/cjs/execution/switchChain.d.ts +0 -21
  335. package/dist/cjs/execution/switchChain.js +0 -54
  336. package/dist/cjs/execution/utils.d.ts +0 -12
  337. package/dist/cjs/execution/waitForReceivingTransaction.d.ts +0 -3
  338. package/dist/cjs/helpers.d.ts +0 -18
  339. package/dist/cjs/index.d.ts +0 -5
  340. package/dist/cjs/request.d.ts +0 -9
  341. package/dist/cjs/services/ApiService.d.ts +0 -17
  342. package/dist/cjs/services/ApiService.js +0 -326
  343. package/dist/cjs/services/ChainsService.d.ts +0 -11
  344. package/dist/cjs/services/ChainsService.js +0 -39
  345. package/dist/cjs/services/ConfigService.d.ts +0 -23
  346. package/dist/cjs/services/ConfigService.js +0 -101
  347. package/dist/cjs/types/index.d.ts +0 -4
  348. package/dist/cjs/types/internal.types.d.ts +0 -142
  349. package/dist/cjs/utils/errors.d.ts +0 -107
  350. package/dist/cjs/utils/getMaxPriorityFeePerGas.d.ts +0 -2
  351. package/dist/cjs/utils/index.d.ts +0 -5
  352. package/dist/cjs/utils/parseError.d.ts +0 -37
  353. package/dist/cjs/version.d.ts +0 -2
  354. package/dist/connectors.d.ts +0 -8
  355. package/dist/connectors.js +0 -41
  356. package/dist/constants.d.ts +0 -6
  357. package/dist/execution/RouteExecutionManager.d.ts +0 -59
  358. package/dist/execution/RouteExecutionManager.js +0 -195
  359. package/dist/execution/StatusManager.d.ts +0 -67
  360. package/dist/execution/StatusManager.js +0 -167
  361. package/dist/execution/StepExecutionManager.d.ts +0 -7
  362. package/dist/execution/StepExecutionManager.js +0 -260
  363. package/dist/execution/StepExecutor.d.ts +0 -15
  364. package/dist/execution/StepExecutor.js +0 -58
  365. package/dist/execution/checkAllowance.d.ts +0 -4
  366. package/dist/execution/checkBalance.d.ts +0 -2
  367. package/dist/execution/index.d.ts +0 -1
  368. package/dist/execution/index.js +0 -1
  369. package/dist/execution/multisig.d.ts +0 -4
  370. package/dist/execution/prepareRestart.d.ts +0 -3
  371. package/dist/execution/prepareRestart.js +0 -61
  372. package/dist/execution/stepComparison.d.ts +0 -14
  373. package/dist/execution/waitForReceivingTransaction.d.ts +0 -3
  374. package/dist/index.d.ts +0 -5
  375. package/dist/index.js +0 -6
  376. package/dist/services/ApiService.d.ts +0 -17
  377. package/dist/services/ApiService.js +0 -321
  378. package/dist/services/ChainsService.d.ts +0 -11
  379. package/dist/services/ChainsService.js +0 -33
  380. package/dist/services/ConfigService.d.ts +0 -23
  381. package/dist/services/ConfigService.js +0 -99
  382. package/dist/typeguards.d.ts +0 -4
  383. package/dist/types/abi.d.ts +0 -5
  384. package/dist/types/index.js +0 -4
  385. package/dist/types/internal.types.d.ts +0 -142
  386. package/dist/types/internal.types.js +0 -1
  387. package/dist/utils/getMaxPriorityFeePerGas.d.ts +0 -2
  388. package/dist/utils/index.d.ts +0 -5
  389. package/dist/utils/index.js +0 -5
  390. package/dist/utils/median.d.ts +0 -1
  391. package/dist/utils/utils.d.ts +0 -10
  392. package/dist/version.d.ts +0 -2
  393. package/dist/version.js +0 -2
@@ -1,167 +0,0 @@
1
- import { emptyExecution } from '../types';
2
- import { getProcessMessage } from './utils';
3
- /**
4
- * Manages status updates of a route and provides various functions for tracking processes
5
- * @param {Route} route The route this StatusManger belongs to.
6
- * @param {InternalExecutionSettings} settings The ExecutionSettings for this route.
7
- * @param {InternalUpdateRouteCallback} internalUpdateRouteCallback Internal callback to propage route changes.
8
- * @returns {StatusManager} An instance of StatusManager.
9
- */
10
- export class StatusManager {
11
- constructor(route, settings, internalUpdateRouteCallback) {
12
- this.shouldUpdate = true;
13
- /**
14
- * Initializes the execution object of a Step.
15
- * @param step The current step in execution
16
- * @returns The initialized execution object for this step and a function to update this step
17
- */
18
- this.initExecutionObject = (step) => {
19
- const currentExecution = step.execution || structuredClone(emptyExecution);
20
- if (!step.execution) {
21
- step.execution = currentExecution;
22
- step.execution.status = 'PENDING';
23
- this.updateStepInRoute(step);
24
- }
25
- // Change status to PENDING after resuming from FAILED
26
- if (currentExecution.status === 'FAILED') {
27
- currentExecution.status = 'PENDING';
28
- this.updateStepInRoute(step);
29
- }
30
- return currentExecution;
31
- };
32
- /**
33
- * Create and push a new process into the execution.
34
- * @param step The step that should contain the new process.
35
- * @param type Type of the process. Used to identify already existing processes.
36
- * @param status By default created procces is set to the STARTED status. We can override new process with the needed status.
37
- * @returns Returns process.
38
- */
39
- this.findOrCreateProcess = (step, type, status) => {
40
- if (!step.execution?.process) {
41
- throw new Error("Execution hasn't been initialized.");
42
- }
43
- const process = step.execution.process.find((p) => p.type === type);
44
- if (process) {
45
- if (status && process.status !== status) {
46
- process.status = status;
47
- this.updateStepInRoute(step);
48
- }
49
- return process;
50
- }
51
- const newProcess = {
52
- type: type,
53
- startedAt: Date.now(),
54
- message: getProcessMessage(type, status ?? 'STARTED'),
55
- status: status ?? 'STARTED',
56
- };
57
- step.execution.process.push(newProcess);
58
- this.updateStepInRoute(step);
59
- return newProcess;
60
- };
61
- /**
62
- * Update a process object.
63
- * @param step The step where the process should be updated
64
- * @param type The process type to update
65
- * @param status The status the process gets.
66
- * @param [params] Additional parameters to append to the process.
67
- * @returns The update process
68
- */
69
- this.updateProcess = (step, type, status, params) => {
70
- if (!step.execution) {
71
- throw new Error("Can't update an empty step execution.");
72
- }
73
- const currentProcess = step?.execution?.process.find((p) => p.type === type);
74
- if (!currentProcess) {
75
- throw new Error("Can't find a process for the given type.");
76
- }
77
- switch (status) {
78
- case 'CANCELLED':
79
- currentProcess.doneAt = Date.now();
80
- break;
81
- case 'FAILED':
82
- currentProcess.doneAt = Date.now();
83
- step.execution.status = 'FAILED';
84
- break;
85
- case 'DONE':
86
- currentProcess.doneAt = Date.now();
87
- break;
88
- case 'PENDING':
89
- step.execution.status = 'PENDING';
90
- break;
91
- case 'ACTION_REQUIRED':
92
- step.execution.status = 'ACTION_REQUIRED';
93
- break;
94
- default:
95
- break;
96
- }
97
- currentProcess.status = status;
98
- currentProcess.message = getProcessMessage(type, status);
99
- // set extra parameters or overwritte the standard params set in the switch statement
100
- if (params) {
101
- for (const [key, value] of Object.entries(params)) {
102
- currentProcess[key] = value;
103
- }
104
- }
105
- // Sort processes, the ones with DONE status go first
106
- step.execution.process = [
107
- ...step?.execution?.process.filter((process) => process.status === 'DONE'),
108
- ...step?.execution?.process.filter((process) => process.status !== 'DONE'),
109
- ];
110
- this.updateStepInRoute(step); // updates the step in the route
111
- return currentProcess;
112
- };
113
- /**
114
- * Remove a process from the execution
115
- * @param step The step where the process should be removed from
116
- * @param type The process type to remove
117
- */
118
- this.removeProcess = (step, type) => {
119
- if (!step.execution) {
120
- throw new Error("Execution hasn't been initialized.");
121
- }
122
- const index = step.execution.process.findIndex((p) => p.type === type);
123
- step.execution.process.splice(index, 1);
124
- this.updateStepInRoute(step);
125
- };
126
- this.updateStepInRoute = (step) => {
127
- if (!this.shouldUpdate) {
128
- return step;
129
- }
130
- const stepIndex = this.route.steps.findIndex((routeStep) => routeStep.id === step.id);
131
- if (stepIndex === -1) {
132
- throw new Error("Couldn't find a step to update.");
133
- }
134
- this.route.steps[stepIndex] = Object.assign(this.route.steps[stepIndex], step);
135
- this.settings.updateRouteHook(this.route);
136
- this.internalUpdateRouteCallback(this.route);
137
- return this.route.steps[stepIndex];
138
- };
139
- this.route = route;
140
- this.settings = settings;
141
- this.internalUpdateRouteCallback = internalUpdateRouteCallback;
142
- }
143
- /**
144
- * Updates the execution object of a Step.
145
- * @param step The current step in execution
146
- * @param status The status for the execution
147
- * @param receipt Optional. Information about received tokens
148
- * @returns The step with the updated execution object
149
- */
150
- updateExecution(step, status, receipt) {
151
- if (!step.execution) {
152
- throw Error("Can't update empty execution.");
153
- }
154
- step.execution.status = status;
155
- if (receipt) {
156
- step.execution = {
157
- ...step.execution,
158
- ...receipt,
159
- };
160
- }
161
- this.updateStepInRoute(step);
162
- return step;
163
- }
164
- allowUpdates(value) {
165
- this.shouldUpdate = value;
166
- }
167
- }
@@ -1,7 +0,0 @@
1
- import type { Execution } from '@lifi/types';
2
- import type { ExecutionParams } from '../types';
3
- export declare class StepExecutionManager {
4
- allowUserInteraction: boolean;
5
- allowInteraction: (value: boolean) => void;
6
- execute: ({ walletClient, step, statusManager, settings, }: ExecutionParams) => Promise<Execution>;
7
- }
@@ -1,260 +0,0 @@
1
- import { publicActions } from 'viem';
2
- import ApiService from '../services/ApiService';
3
- import ChainsService from '../services/ChainsService';
4
- import ConfigService from '../services/ConfigService';
5
- import { getMaxPriorityFeePerGas } from '../utils';
6
- import { LiFiErrorCode, TransactionError, ValidationError, } from '../utils/errors';
7
- import { getTransactionFailedMessage, parseError } from '../utils/parseError';
8
- import { isZeroAddress } from '../utils/utils';
9
- import { checkAllowance } from './checkAllowance';
10
- import { checkBalance } from './checkBalance';
11
- import { updateMultisigRouteProcess } from './multisig';
12
- import { stepComparison } from './stepComparison';
13
- import { switchChain } from './switchChain';
14
- import { getSubstatusMessage } from './utils';
15
- import { waitForReceivingTransaction } from './waitForReceivingTransaction';
16
- export class StepExecutionManager {
17
- constructor() {
18
- this.allowUserInteraction = true;
19
- this.allowInteraction = (value) => {
20
- this.allowUserInteraction = value;
21
- };
22
- this.execute = async ({ walletClient, step, statusManager, settings, }) => {
23
- const client = walletClient.extend(publicActions);
24
- const config = ConfigService.getInstance().getConfig();
25
- const isMultisigWalletClient = !!config.multisig?.isMultisigWalletClient;
26
- const multisigBatchTransactions = [];
27
- const shouldBatchTransactions = config.multisig?.shouldBatchTransactions &&
28
- !!config.multisig.sendBatchTransaction;
29
- step.execution = statusManager.initExecutionObject(step);
30
- const chainsService = ChainsService.getInstance();
31
- const fromChain = await chainsService.getChainById(step.action.fromChainId);
32
- const toChain = await chainsService.getChainById(step.action.toChainId);
33
- const isBridgeExecution = fromChain.id !== toChain.id;
34
- const currentProcessType = isBridgeExecution ? 'CROSS_CHAIN' : 'SWAP';
35
- // STEP 1: Check allowance
36
- const existingProcess = step.execution.process.find((p) => p.type === currentProcessType);
37
- // Check token approval only if fromToken is not the native token => no approval needed in that case
38
- const checkForAllowance = !existingProcess?.txHash &&
39
- !isZeroAddress(step.action.fromToken.address) &&
40
- (shouldBatchTransactions || !isMultisigWalletClient);
41
- if (checkForAllowance) {
42
- const data = await checkAllowance(client, step, statusManager, settings, fromChain, this.allowUserInteraction, shouldBatchTransactions);
43
- if (data) {
44
- // allowance doesn't need value
45
- const baseTransaction = {
46
- to: step.action.fromToken.address,
47
- data,
48
- };
49
- multisigBatchTransactions.push(baseTransaction);
50
- }
51
- }
52
- // STEP 2: Get transaction
53
- let process = statusManager.findOrCreateProcess(step, currentProcessType);
54
- if (process.status !== 'DONE') {
55
- const multisigProcess = step.execution.process.find((p) => !!p.multisigTxHash);
56
- try {
57
- if (isMultisigWalletClient && multisigProcess) {
58
- const multisigTxHash = multisigProcess.multisigTxHash;
59
- if (!multisigTxHash) {
60
- throw new ValidationError('Multisig internal transaction hash is undefined.');
61
- }
62
- await updateMultisigRouteProcess(multisigTxHash, step, statusManager, process.type, fromChain);
63
- }
64
- let txHash;
65
- if (process.txHash) {
66
- // Make sure that the chain is still correct
67
- const updatedWalletClient = await switchChain(walletClient, statusManager, step, settings.switchChainHook, this.allowUserInteraction);
68
- if (!updatedWalletClient) {
69
- // Chain switch was not successful, stop execution here
70
- return step.execution;
71
- }
72
- walletClient = updatedWalletClient;
73
- // Load exiting transaction
74
- txHash = process.txHash;
75
- }
76
- else {
77
- process = statusManager.updateProcess(step, process.type, 'STARTED');
78
- // Check balance
79
- await checkBalance(client.account.address, step);
80
- // Create new transaction
81
- if (!step.transactionRequest) {
82
- const updatedStep = await ApiService.getStepTransaction(step);
83
- const comparedStep = await stepComparison(statusManager, step, updatedStep, settings, this.allowUserInteraction);
84
- step = {
85
- ...comparedStep,
86
- execution: step.execution,
87
- };
88
- }
89
- let transactionRequest = {
90
- to: step.transactionRequest?.to,
91
- from: step.transactionRequest?.from,
92
- data: step.transactionRequest?.data,
93
- value: step.transactionRequest?.value
94
- ? BigInt(step.transactionRequest.value)
95
- : undefined,
96
- maxPriorityFeePerGas: walletClient.account?.type === 'local'
97
- ? await getMaxPriorityFeePerGas(client)
98
- : undefined,
99
- // gas: step.transactionRequest?.gasLimit
100
- // ? BigInt(step.transactionRequest.gasLimit as string)
101
- // : undefined,
102
- // gasPrice: step.transactionRequest?.gasPrice
103
- // ? BigInt(step.transactionRequest.gasPrice as string)
104
- // : undefined,
105
- // maxFeePerGas: step.transactionRequest?.maxFeePerGas
106
- // ? BigInt(step.transactionRequest.maxFeePerGas as string)
107
- // : undefined,
108
- // maxPriorityFeePerGas: step.transactionRequest?.maxPriorityFeePerGas
109
- // ? BigInt(step.transactionRequest.maxPriorityFeePerGas as string)
110
- // : undefined,
111
- };
112
- if (!transactionRequest) {
113
- throw new TransactionError(LiFiErrorCode.TransactionUnprepared, 'Unable to prepare transaction.');
114
- }
115
- // STEP 3: Send the transaction
116
- // Make sure that the chain is still correct
117
- const updatedWalletClient = await switchChain(walletClient, statusManager, step, settings.switchChainHook, this.allowUserInteraction);
118
- if (!updatedWalletClient) {
119
- // Chain switch was not successful, stop execution here
120
- return step.execution;
121
- }
122
- walletClient = updatedWalletClient;
123
- process = statusManager.updateProcess(step, process.type, 'ACTION_REQUIRED');
124
- if (!this.allowUserInteraction) {
125
- return step.execution;
126
- }
127
- if (settings.updateTransactionRequestHook) {
128
- const customizedTransactionRequest = await settings.updateTransactionRequestHook(transactionRequest);
129
- transactionRequest = {
130
- ...transactionRequest,
131
- ...customizedTransactionRequest,
132
- };
133
- }
134
- if (shouldBatchTransactions &&
135
- config.multisig?.sendBatchTransaction) {
136
- if (transactionRequest.to && transactionRequest.data) {
137
- const populatedTransaction = {
138
- value: transactionRequest.value,
139
- to: transactionRequest.to,
140
- data: transactionRequest.data,
141
- };
142
- multisigBatchTransactions.push(populatedTransaction);
143
- txHash = await config.multisig?.sendBatchTransaction(multisigBatchTransactions);
144
- }
145
- else {
146
- throw new TransactionError(LiFiErrorCode.TransactionUnprepared, 'Unable to prepare transaction.');
147
- }
148
- }
149
- else {
150
- txHash = await walletClient.sendTransaction({
151
- to: transactionRequest.to,
152
- account: walletClient.account,
153
- data: transactionRequest.data,
154
- maxPriorityFeePerGas: transactionRequest.maxPriorityFeePerGas,
155
- chain: null,
156
- });
157
- }
158
- // STEP 4: Wait for the transaction
159
- if (isMultisigWalletClient) {
160
- process = statusManager.updateProcess(step, process.type, 'ACTION_REQUIRED', {
161
- multisigTxHash: txHash,
162
- });
163
- }
164
- else {
165
- process = statusManager.updateProcess(step, process.type, 'PENDING', {
166
- txHash: txHash,
167
- txLink: `${fromChain.metamask.blockExplorerUrls[0]}tx/${txHash}`,
168
- });
169
- }
170
- }
171
- let replacementReason;
172
- const transactionReceipt = await client.waitForTransactionReceipt({
173
- hash: txHash,
174
- onReplaced(response) {
175
- replacementReason = response.reason;
176
- statusManager.updateProcess(step, process.type, 'PENDING', {
177
- txHash: response.transaction.hash,
178
- txLink: `${fromChain.metamask.blockExplorerUrls[0]}tx/${response.transaction.hash}`,
179
- });
180
- },
181
- });
182
- if (replacementReason === 'cancelled') {
183
- throw new TransactionError(LiFiErrorCode.TransactionCanceled, 'User canceled transaction.');
184
- }
185
- // if it's multisig wallet client and the process is in ACTION_REQUIRED
186
- // then signatures are still needed
187
- if (isMultisigWalletClient && process.status === 'ACTION_REQUIRED') {
188
- await updateMultisigRouteProcess(transactionReceipt.transactionHash, step, statusManager, process.type, fromChain);
189
- }
190
- if (!isMultisigWalletClient) {
191
- process = statusManager.updateProcess(step, process.type, 'PENDING', {
192
- txHash: transactionReceipt.transactionHash,
193
- txLink: `${fromChain.metamask.blockExplorerUrls[0]}tx/${transactionReceipt.transactionHash}`,
194
- });
195
- }
196
- if (isBridgeExecution) {
197
- process = statusManager.updateProcess(step, process.type, 'DONE');
198
- }
199
- }
200
- catch (e) {
201
- const error = await parseError(e, step, process);
202
- process = statusManager.updateProcess(step, process.type, 'FAILED', {
203
- error: {
204
- message: error.message,
205
- htmlMessage: error.htmlMessage,
206
- code: error.code,
207
- },
208
- });
209
- statusManager.updateExecution(step, 'FAILED');
210
- throw error;
211
- }
212
- }
213
- // STEP 5: Wait for the receiving chain
214
- const processTxHash = process.txHash;
215
- if (isBridgeExecution) {
216
- process = statusManager.findOrCreateProcess(step, 'RECEIVING_CHAIN', 'PENDING');
217
- }
218
- let statusResponse;
219
- try {
220
- if (!processTxHash) {
221
- throw new Error('Transaction hash is undefined.');
222
- }
223
- statusResponse = (await waitForReceivingTransaction(processTxHash, statusManager, process.type, step));
224
- const statusReceiving = statusResponse.receiving;
225
- process = statusManager.updateProcess(step, process.type, 'DONE', {
226
- substatus: statusResponse.substatus,
227
- substatusMessage: statusResponse.substatusMessage ||
228
- getSubstatusMessage(statusResponse.status, statusResponse.substatus),
229
- txHash: statusReceiving?.txHash,
230
- txLink: `${toChain.metamask.blockExplorerUrls[0]}tx/${statusReceiving?.txHash}`,
231
- });
232
- statusManager.updateExecution(step, 'DONE', {
233
- fromAmount: statusResponse.sending.amount,
234
- toAmount: statusReceiving?.amount,
235
- toToken: statusReceiving?.token,
236
- gasAmount: statusResponse.sending.gasAmount,
237
- gasAmountUSD: statusResponse.sending.gasAmountUSD,
238
- gasPrice: statusResponse.sending.gasPrice,
239
- gasToken: statusResponse.sending.gasToken,
240
- gasUsed: statusResponse.sending.gasUsed,
241
- });
242
- }
243
- catch (e) {
244
- const htmlMessage = await getTransactionFailedMessage(step, process.txLink);
245
- process = statusManager.updateProcess(step, process.type, 'FAILED', {
246
- error: {
247
- code: LiFiErrorCode.TransactionFailed,
248
- message: 'Failed while waiting for receiving chain.',
249
- htmlMessage,
250
- },
251
- });
252
- statusManager.updateExecution(step, 'FAILED');
253
- console.warn(e);
254
- throw e;
255
- }
256
- // DONE
257
- return step.execution;
258
- };
259
- }
260
- }
@@ -1,15 +0,0 @@
1
- import type { WalletClient } from 'viem';
2
- import type { InteractionSettings, InternalExecutionSettings, LifiStep } from '../types';
3
- import type { StatusManager } from './StatusManager';
4
- import { StepExecutionManager } from './StepExecutionManager';
5
- export declare class StepExecutor {
6
- stepExecutionManager: StepExecutionManager;
7
- statusManager: StatusManager;
8
- settings: InternalExecutionSettings;
9
- allowUserInteraction: boolean;
10
- executionStopped: boolean;
11
- constructor(statusManager: StatusManager, settings: InternalExecutionSettings);
12
- setInteraction: (settings?: InteractionSettings) => void;
13
- checkChain: () => never;
14
- executeStep: (walletClient: WalletClient, step: LifiStep) => Promise<LifiStep>;
15
- }
@@ -1,58 +0,0 @@
1
- import { StepExecutionManager } from './StepExecutionManager';
2
- import { switchChain } from './switchChain';
3
- // Please be careful when changing the defaults as it may break the behavior (e.g., background execution)
4
- const defaultInteractionSettings = {
5
- allowInteraction: true,
6
- allowUpdates: true,
7
- stopExecution: false,
8
- };
9
- export class StepExecutor {
10
- constructor(statusManager, settings) {
11
- this.allowUserInteraction = true;
12
- this.executionStopped = false;
13
- this.setInteraction = (settings) => {
14
- const interactionSettings = {
15
- ...defaultInteractionSettings,
16
- ...settings,
17
- };
18
- this.allowUserInteraction = interactionSettings.allowInteraction;
19
- this.stepExecutionManager.allowInteraction(interactionSettings.allowInteraction);
20
- this.statusManager.allowUpdates(interactionSettings.allowUpdates);
21
- this.executionStopped = interactionSettings.stopExecution;
22
- };
23
- // TODO: add checkChain method and update wallet client inside executors
24
- // This can come in handy when we execute multiple routes simultaneously and
25
- // should be sure that we are on the right chain when waiting for transactions.
26
- this.checkChain = () => {
27
- throw new Error('checkChain is not implemented.');
28
- };
29
- this.executeStep = async (walletClient, step) => {
30
- // Make sure that the chain is still correct
31
- // Find if it's bridging and the step is waiting for a transaction on the receiving chain
32
- const recievingChainProcess = step.execution?.process.find((process) => process.type === 'RECEIVING_CHAIN');
33
- // If the step is waiting for a transaction on the receiving chain, we do not switch the chain
34
- // All changes are already done from the source chain
35
- // Return the step
36
- if (recievingChainProcess?.substatus !== 'WAIT_DESTINATION_TRANSACTION' ||
37
- !recievingChainProcess) {
38
- const updatedWalletClient = await switchChain(walletClient, this.statusManager, step, this.settings.switchChainHook, this.allowUserInteraction);
39
- if (!updatedWalletClient) {
40
- // Chain switch was not successful, stop execution here
41
- return step;
42
- }
43
- walletClient = updatedWalletClient;
44
- }
45
- const parameters = {
46
- walletClient,
47
- step,
48
- settings: this.settings,
49
- statusManager: this.statusManager,
50
- };
51
- await this.stepExecutionManager.execute(parameters);
52
- return step;
53
- };
54
- this.stepExecutionManager = new StepExecutionManager();
55
- this.statusManager = statusManager;
56
- this.settings = settings;
57
- }
58
- }
@@ -1,4 +0,0 @@
1
- import type { Hash, WalletClient } from 'viem';
2
- import type { StatusManager } from '../execution/StatusManager';
3
- import type { Chain, InternalExecutionSettings, LifiStep } from '../types';
4
- export declare const checkAllowance: (walletClient: WalletClient, step: LifiStep, statusManager: StatusManager, settings: InternalExecutionSettings, chain: Chain, allowUserInteraction?: boolean, shouldBatchTransactions?: boolean) => Promise<Hash | void>;
@@ -1,2 +0,0 @@
1
- import type { LifiStep } from '..';
2
- export declare const checkBalance: (walletAddress: string, step: LifiStep, depth?: number) => Promise<void>;
@@ -1 +0,0 @@
1
- export * from './StatusManager';
@@ -1 +0,0 @@
1
- export * from './StatusManager';
@@ -1,4 +0,0 @@
1
- import type { ExtendedChain, LifiStep, ProcessType } from '@lifi/types';
2
- import type { Hash } from 'viem';
3
- import type { StatusManager } from './StatusManager';
4
- export declare const updateMultisigRouteProcess: (internalTxHash: Hash, step: LifiStep, statusManager: StatusManager, processType: ProcessType, fromChain: ExtendedChain) => Promise<void>;
@@ -1,3 +0,0 @@
1
- import { type WalletClient } from 'viem';
2
- import type { Route } from '../types';
3
- export declare const prepareRestart: (route: Route, walletClient: WalletClient) => Promise<void>;
@@ -1,61 +0,0 @@
1
- import { publicActions } from 'viem';
2
- import { LiFiErrorCode } from '../utils/errors';
3
- export const prepareRestart = async (route, walletClient) => {
4
- for (let index = 0; index < route.steps.length; index++) {
5
- const step = route.steps[index];
6
- const stepHasFailed = step.execution?.status === 'FAILED';
7
- if (stepHasFailed) {
8
- await handleErrorType(walletClient, step);
9
- deleteFailedProcesses(step);
10
- deleteTransactionData(step);
11
- }
12
- }
13
- };
14
- const handleErrorType = async (walletClient, step) => {
15
- const client = walletClient.extend(publicActions);
16
- const isGasLimitError = step.execution?.process.some((p) => p.error?.code === LiFiErrorCode.GasLimitError);
17
- const isGasPriceError = step.execution?.process.some((p) => p.error?.code === LiFiErrorCode.TransactionUnderpriced);
18
- const { transactionRequest } = step;
19
- // if (isGasLimitError) {
20
- // if (transactionRequest) {
21
- // let gasLimit = transactionRequest.gasLimit
22
- // try {
23
- // gasLimit = await client.estimateGas(transactionRequest)
24
- // } catch (error) {}
25
- // if (gasLimit) {
26
- // transactionRequest.gasLimit = BigNumber.from(
27
- // `${(BigInt(gasLimit.toString()) * 125n) / 100n}`
28
- // )
29
- // }
30
- // }
31
- // step.estimate.gasCosts?.forEach(
32
- // (gasCost) =>
33
- // (gasCost.limit = `${Math.round(Number(gasCost.limit) * 1.25)}`)
34
- // )
35
- // }
36
- // if (isGasPriceError) {
37
- // if (transactionRequest) {
38
- // let gasPrice = transactionRequest.gasPrice
39
- // try {
40
- // gasPrice = await client.getGasPrice()
41
- // } catch (error) {}
42
- // if (gasPrice) {
43
- // transactionRequest.gasPrice = BigNumber.from(
44
- // `${(BigInt(gasPrice.toString()) * 125n) / 100n}`
45
- // )
46
- // }
47
- // }
48
- // step.estimate.gasCosts?.forEach(
49
- // (gasCost) =>
50
- // (gasCost.price = `${Math.round(Number(gasCost.price) * 1.25)}`)
51
- // )
52
- // }
53
- };
54
- const deleteFailedProcesses = (step) => {
55
- if (step.execution) {
56
- step.execution.process = step.execution.process.filter((process) => process.status === 'DONE');
57
- }
58
- };
59
- const deleteTransactionData = (step) => {
60
- step.transactionRequest = undefined;
61
- };
@@ -1,14 +0,0 @@
1
- import type { InternalExecutionSettings, LifiStep } from '../types';
2
- import type { StatusManager } from './StatusManager';
3
- /**
4
- * This method checks whether the new and updated Step meets the required exchange rate conditions.
5
- * If yes it returns the updated Step.
6
- * If no and if user interaction is allowed it triggers the acceptExchangeRateUpdateHook. If no user interaction is allowed it aborts.
7
- * @param statusManager
8
- * @param oldStep
9
- * @param newStep
10
- * @param settings
11
- * @param allowUserInteraction
12
- * @returns Return LifiStep
13
- */
14
- export declare const stepComparison: (statusManager: StatusManager, oldStep: LifiStep, newStep: LifiStep, settings: InternalExecutionSettings, allowUserInteraction: boolean) => Promise<LifiStep>;
@@ -1,3 +0,0 @@
1
- import type { LifiStep, ProcessType, StatusResponse } from '@lifi/types';
2
- import type { StatusManager } from '..';
3
- export declare function waitForReceivingTransaction(txHash: string, statusManager: StatusManager, processType: ProcessType, step: LifiStep): Promise<StatusResponse>;
package/dist/index.d.ts DELETED
@@ -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/index.js DELETED
@@ -1,6 +0,0 @@
1
- // expose types and helpers
2
- export * from './execution';
3
- export * from './helpers';
4
- export { LiFi } from './LiFi';
5
- export * from './types';
6
- export * from './utils/errors';
@@ -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;