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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. package/package.json +40 -88
  2. package/src/_cjs/config.js +90 -0
  3. package/src/_cjs/config.js.map +1 -0
  4. package/{dist/cjs → src/_cjs}/constants.js +3 -5
  5. package/src/_cjs/constants.js.map +1 -0
  6. package/src/_cjs/core/BaseStepExecutor.js +55 -0
  7. package/src/_cjs/core/BaseStepExecutor.js.map +1 -0
  8. package/src/_cjs/core/EVM/EVM.js +43 -0
  9. package/src/_cjs/core/EVM/EVM.js.map +1 -0
  10. package/src/_cjs/core/EVM/EVMStepExecutor.js +304 -0
  11. package/src/_cjs/core/EVM/EVMStepExecutor.js.map +1 -0
  12. package/{dist/cjs/types → src/_cjs/core/EVM}/abi.js +1 -0
  13. package/src/_cjs/core/EVM/abi.js.map +1 -0
  14. package/{dist/cjs/execution → src/_cjs/core/EVM}/checkAllowance.js +19 -12
  15. package/src/_cjs/core/EVM/checkAllowance.js.map +1 -0
  16. package/{dist/cjs/allowance → src/_cjs/core/EVM}/getAllowance.js +13 -17
  17. package/src/_cjs/core/EVM/getAllowance.js.map +1 -0
  18. package/src/_cjs/core/EVM/getENSAddress.js +20 -0
  19. package/src/_cjs/core/EVM/getENSAddress.js.map +1 -0
  20. package/{dist/cjs/balance/getBalance.js → src/_cjs/core/EVM/getEVMBalance.js} +20 -22
  21. package/src/_cjs/core/EVM/getEVMBalance.js.map +1 -0
  22. package/{dist/cjs/execution → src/_cjs/core/EVM}/multisig.js +7 -11
  23. package/src/_cjs/core/EVM/multisig.js.map +1 -0
  24. package/src/_cjs/core/EVM/publicClient.js +43 -0
  25. package/src/_cjs/core/EVM/publicClient.js.map +1 -0
  26. package/{dist/cjs/allowance → src/_cjs/core/EVM}/setAllowance.js +11 -12
  27. package/src/_cjs/core/EVM/setAllowance.js.map +1 -0
  28. package/src/_cjs/core/EVM/switchChain.js +38 -0
  29. package/src/_cjs/core/EVM/switchChain.js.map +1 -0
  30. package/src/_cjs/core/EVM/types.js +9 -0
  31. package/src/_cjs/core/EVM/types.js.map +1 -0
  32. package/{dist/cjs/utils/getMaxPriorityFeePerGas.js → src/_cjs/core/EVM/utils.js} +13 -3
  33. package/src/_cjs/core/EVM/utils.js.map +1 -0
  34. package/src/_cjs/core/Solana/Solana.js +38 -0
  35. package/src/_cjs/core/Solana/Solana.js.map +1 -0
  36. package/src/_cjs/core/Solana/SolanaStepExecutor.js +174 -0
  37. package/src/_cjs/core/Solana/SolanaStepExecutor.js.map +1 -0
  38. package/src/_cjs/core/Solana/connection.js +19 -0
  39. package/src/_cjs/core/Solana/connection.js.map +1 -0
  40. package/src/_cjs/core/Solana/getSNSAddress.js +26 -0
  41. package/src/_cjs/core/Solana/getSNSAddress.js.map +1 -0
  42. package/src/_cjs/core/Solana/getSolanaBalance.js +60 -0
  43. package/src/_cjs/core/Solana/getSolanaBalance.js.map +1 -0
  44. package/src/_cjs/core/Solana/isAddress.js +15 -0
  45. package/src/_cjs/core/Solana/isAddress.js.map +1 -0
  46. package/src/_cjs/core/Solana/types.js +10 -0
  47. package/src/_cjs/core/Solana/types.js.map +1 -0
  48. package/src/_cjs/core/StatusManager.js +167 -0
  49. package/src/_cjs/core/StatusManager.js.map +1 -0
  50. package/{dist/cjs/execution → src/_cjs/core}/checkBalance.js +6 -6
  51. package/src/_cjs/core/checkBalance.js.map +1 -0
  52. package/src/_cjs/core/execution.js +134 -0
  53. package/src/_cjs/core/execution.js.map +1 -0
  54. package/src/_cjs/core/executionState.js +29 -0
  55. package/src/_cjs/core/executionState.js.map +1 -0
  56. package/src/_cjs/core/index.js +7 -0
  57. package/src/_cjs/core/index.js.map +1 -0
  58. package/src/_cjs/core/prepareRestart.js +23 -0
  59. package/src/_cjs/core/prepareRestart.js.map +1 -0
  60. package/src/_cjs/core/provider.js +15 -0
  61. package/src/_cjs/core/provider.js.map +1 -0
  62. package/src/_cjs/core/rpc.js +18 -0
  63. package/src/_cjs/core/rpc.js.map +1 -0
  64. package/src/_cjs/core/stepComparison.js +25 -0
  65. package/src/_cjs/core/stepComparison.js.map +1 -0
  66. package/{dist/cjs/allowance → src/_cjs/core}/types.js +1 -0
  67. package/src/_cjs/core/types.js.map +1 -0
  68. package/{dist/cjs/execution → src/_cjs/core}/utils.js +2 -11
  69. package/src/_cjs/core/utils.js.map +1 -0
  70. package/{dist/cjs/execution → src/_cjs/core}/waitForReceivingTransaction.js +13 -14
  71. package/src/_cjs/core/waitForReceivingTransaction.js.map +1 -0
  72. package/src/_cjs/createConfig.js +32 -0
  73. package/src/_cjs/createConfig.js.map +1 -0
  74. package/src/_cjs/helpers.js +57 -0
  75. package/src/_cjs/helpers.js.map +1 -0
  76. package/src/_cjs/index.js +23 -0
  77. package/src/_cjs/index.js.map +1 -0
  78. package/src/_cjs/package.json +1 -0
  79. package/src/_cjs/request.js +66 -0
  80. package/src/_cjs/request.js.map +1 -0
  81. package/src/_cjs/services/api.js +309 -0
  82. package/src/_cjs/services/api.js.map +1 -0
  83. package/src/_cjs/services/balance.js +49 -0
  84. package/src/_cjs/services/balance.js.map +1 -0
  85. package/src/_cjs/services/getNameServiceAddress.js +29 -0
  86. package/src/_cjs/services/getNameServiceAddress.js.map +1 -0
  87. package/{dist/cjs → src/_cjs}/typeguards.js +1 -0
  88. package/src/_cjs/typeguards.js.map +1 -0
  89. package/src/_cjs/types/index.js +5 -0
  90. package/src/_cjs/types/index.js.map +1 -0
  91. package/{dist/cjs/types/internal.types.js → src/_cjs/types/internal.js} +1 -0
  92. package/src/_cjs/types/internal.js.map +1 -0
  93. package/{dist/cjs → src/_cjs}/utils/errors.js +26 -3
  94. package/src/_cjs/utils/errors.js.map +1 -0
  95. package/src/_cjs/utils/getTransactionMessage.js +31 -0
  96. package/src/_cjs/utils/getTransactionMessage.js.map +1 -0
  97. package/src/_cjs/utils/index.js +9 -0
  98. package/src/_cjs/utils/index.js.map +1 -0
  99. package/{dist/cjs → src/_cjs}/utils/median.js +1 -0
  100. package/src/_cjs/utils/median.js.map +1 -0
  101. package/src/_cjs/utils/parseBackendError.js +27 -0
  102. package/src/_cjs/utils/parseBackendError.js.map +1 -0
  103. package/src/_cjs/utils/parseError.js +69 -0
  104. package/src/_cjs/utils/parseError.js.map +1 -0
  105. package/{dist/cjs → src/_cjs}/utils/utils.js +5 -11
  106. package/src/_cjs/utils/utils.js.map +1 -0
  107. package/{dist/cjs → src/_cjs}/version.js +2 -1
  108. package/src/_cjs/version.js.map +1 -0
  109. package/src/_esm/config.js +87 -0
  110. package/src/_esm/config.js.map +1 -0
  111. package/{dist → src/_esm}/constants.js +2 -4
  112. package/src/_esm/constants.js.map +1 -0
  113. package/src/_esm/core/BaseStepExecutor.js +52 -0
  114. package/src/_esm/core/BaseStepExecutor.js.map +1 -0
  115. package/src/_esm/core/EVM/EVM.js +39 -0
  116. package/src/_esm/core/EVM/EVM.js.map +1 -0
  117. package/src/_esm/core/EVM/EVMStepExecutor.js +329 -0
  118. package/src/_esm/core/EVM/EVMStepExecutor.js.map +1 -0
  119. package/{dist/types → src/_esm/core/EVM}/abi.js +1 -0
  120. package/src/_esm/core/EVM/abi.js.map +1 -0
  121. package/{dist/execution → src/_esm/core/EVM}/checkAllowance.js +14 -5
  122. package/src/_esm/core/EVM/checkAllowance.js.map +1 -0
  123. package/{dist/allowance → src/_esm/core/EVM}/getAllowance.js +19 -6
  124. package/src/_esm/core/EVM/getAllowance.js.map +1 -0
  125. package/src/_esm/core/EVM/getENSAddress.js +17 -0
  126. package/src/_esm/core/EVM/getENSAddress.js.map +1 -0
  127. package/{dist/balance/getBalance.js → src/_esm/core/EVM/getEVMBalance.js} +10 -12
  128. package/src/_esm/core/EVM/getEVMBalance.js.map +1 -0
  129. package/{dist/execution → src/_esm/core/EVM}/multisig.js +5 -6
  130. package/src/_esm/core/EVM/multisig.js.map +1 -0
  131. package/src/_esm/core/EVM/publicClient.js +46 -0
  132. package/src/_esm/core/EVM/publicClient.js.map +1 -0
  133. package/{dist/allowance → src/_esm/core/EVM}/setAllowance.js +23 -4
  134. package/src/_esm/core/EVM/setAllowance.js.map +1 -0
  135. package/{dist/execution → src/_esm/core/EVM}/switchChain.js +7 -4
  136. package/src/_esm/core/EVM/switchChain.js.map +1 -0
  137. package/src/_esm/core/EVM/types.js +6 -0
  138. package/src/_esm/core/EVM/types.js.map +1 -0
  139. package/{dist/utils/getMaxPriorityFeePerGas.js → src/_esm/core/EVM/utils.js} +12 -1
  140. package/src/_esm/core/EVM/utils.js.map +1 -0
  141. package/src/_esm/core/Solana/Solana.js +34 -0
  142. package/src/_esm/core/Solana/Solana.js.map +1 -0
  143. package/src/_esm/core/Solana/SolanaStepExecutor.js +176 -0
  144. package/src/_esm/core/Solana/SolanaStepExecutor.js.map +1 -0
  145. package/src/_esm/core/Solana/connection.js +20 -0
  146. package/src/_esm/core/Solana/connection.js.map +1 -0
  147. package/src/_esm/core/Solana/getSNSAddress.js +26 -0
  148. package/src/_esm/core/Solana/getSNSAddress.js.map +1 -0
  149. package/src/_esm/core/Solana/getSolanaBalance.js +56 -0
  150. package/src/_esm/core/Solana/getSolanaBalance.js.map +1 -0
  151. package/src/_esm/core/Solana/isAddress.js +11 -0
  152. package/src/_esm/core/Solana/isAddress.js.map +1 -0
  153. package/src/_esm/core/Solana/types.js +7 -0
  154. package/src/_esm/core/Solana/types.js.map +1 -0
  155. package/src/_esm/core/StatusManager.js +203 -0
  156. package/src/_esm/core/StatusManager.js.map +1 -0
  157. package/{dist/execution → src/_esm/core}/checkBalance.js +4 -3
  158. package/src/_esm/core/checkBalance.js.map +1 -0
  159. package/src/_esm/core/execution.js +172 -0
  160. package/src/_esm/core/execution.js.map +1 -0
  161. package/src/_esm/core/executionState.js +26 -0
  162. package/src/_esm/core/executionState.js.map +1 -0
  163. package/src/_esm/core/index.js +4 -0
  164. package/src/_esm/core/index.js.map +1 -0
  165. package/src/_esm/core/prepareRestart.js +64 -0
  166. package/src/_esm/core/prepareRestart.js.map +1 -0
  167. package/src/_esm/core/provider.js +11 -0
  168. package/src/_esm/core/provider.js.map +1 -0
  169. package/src/_esm/core/rpc.js +14 -0
  170. package/src/_esm/core/rpc.js.map +1 -0
  171. package/{dist/execution → src/_esm/core}/stepComparison.js +7 -5
  172. package/src/_esm/core/stepComparison.js.map +1 -0
  173. package/src/_esm/core/types.js +2 -0
  174. package/src/_esm/core/types.js.map +1 -0
  175. package/{dist/execution → src/_esm/core}/utils.js +4 -3
  176. package/src/_esm/core/utils.js.map +1 -0
  177. package/{dist/execution → src/_esm/core}/waitForReceivingTransaction.js +11 -9
  178. package/src/_esm/core/waitForReceivingTransaction.js.map +1 -0
  179. package/src/_esm/createConfig.js +28 -0
  180. package/src/_esm/createConfig.js.map +1 -0
  181. package/{dist → src/_esm}/helpers.js +5 -17
  182. package/src/_esm/helpers.js.map +1 -0
  183. package/src/_esm/index.js +14 -0
  184. package/src/_esm/index.js.map +1 -0
  185. package/src/_esm/package.json +1 -0
  186. package/{dist → src/_esm}/request.js +23 -13
  187. package/src/_esm/request.js.map +1 -0
  188. package/src/_esm/services/api.js +378 -0
  189. package/src/_esm/services/api.js.map +1 -0
  190. package/src/_esm/services/balance.js +65 -0
  191. package/src/_esm/services/balance.js.map +1 -0
  192. package/src/_esm/services/getNameServiceAddress.js +25 -0
  193. package/src/_esm/services/getNameServiceAddress.js.map +1 -0
  194. package/{dist → src/_esm}/typeguards.js +1 -0
  195. package/src/_esm/typeguards.js.map +1 -0
  196. package/src/_esm/types/index.js +2 -0
  197. package/src/_esm/types/index.js.map +1 -0
  198. package/src/_esm/types/internal.js +2 -0
  199. package/src/_esm/types/internal.js.map +1 -0
  200. package/{dist → src/_esm}/utils/errors.js +26 -0
  201. package/src/_esm/utils/errors.js.map +1 -0
  202. package/src/_esm/utils/getTransactionMessage.js +28 -0
  203. package/src/_esm/utils/getTransactionMessage.js.map +1 -0
  204. package/src/_esm/utils/index.js +6 -0
  205. package/src/_esm/utils/index.js.map +1 -0
  206. package/{dist → src/_esm}/utils/median.js +1 -0
  207. package/src/_esm/utils/median.js.map +1 -0
  208. package/src/_esm/utils/parseBackendError.js +24 -0
  209. package/src/_esm/utils/parseBackendError.js.map +1 -0
  210. package/{dist → src/_esm}/utils/parseError.js +6 -53
  211. package/src/_esm/utils/parseError.js.map +1 -0
  212. package/{dist → src/_esm}/utils/utils.js +2 -1
  213. package/src/_esm/utils/utils.js.map +1 -0
  214. package/src/_esm/version.js +3 -0
  215. package/src/_esm/version.js.map +1 -0
  216. package/src/_types/config.d.ts +15 -0
  217. package/src/_types/config.d.ts.map +1 -0
  218. package/{dist/cjs → src/_types}/constants.d.ts +2 -4
  219. package/src/_types/constants.d.ts.map +1 -0
  220. package/src/_types/core/BaseStepExecutor.d.ts +13 -0
  221. package/src/_types/core/BaseStepExecutor.d.ts.map +1 -0
  222. package/src/_types/core/EVM/EVM.d.ts +3 -0
  223. package/src/_types/core/EVM/EVM.d.ts.map +1 -0
  224. package/src/_types/core/EVM/EVMStepExecutor.d.ts +17 -0
  225. package/src/_types/core/EVM/EVMStepExecutor.d.ts.map +1 -0
  226. package/{dist/cjs/types → src/_types/core/EVM}/abi.d.ts +1 -0
  227. package/src/_types/core/EVM/abi.d.ts.map +1 -0
  228. package/src/_types/core/EVM/checkAllowance.d.ts +6 -0
  229. package/src/_types/core/EVM/checkAllowance.d.ts.map +1 -0
  230. package/{dist/cjs/allowance → src/_types/core/EVM}/getAllowance.d.ts +15 -1
  231. package/src/_types/core/EVM/getAllowance.d.ts.map +1 -0
  232. package/src/_types/core/EVM/getENSAddress.d.ts +2 -0
  233. package/src/_types/core/EVM/getENSAddress.d.ts.map +1 -0
  234. package/src/_types/core/EVM/getEVMBalance.d.ts +3 -0
  235. package/src/_types/core/EVM/getEVMBalance.d.ts.map +1 -0
  236. package/src/_types/core/EVM/multisig.d.ts +6 -0
  237. package/src/_types/core/EVM/multisig.d.ts.map +1 -0
  238. package/src/_types/core/EVM/publicClient.d.ts +8 -0
  239. package/src/_types/core/EVM/publicClient.d.ts.map +1 -0
  240. package/src/_types/core/EVM/setAllowance.d.ts +25 -0
  241. package/src/_types/core/EVM/setAllowance.d.ts.map +1 -0
  242. package/{dist/cjs/execution → src/_types/core/EVM}/switchChain.d.ts +5 -4
  243. package/src/_types/core/EVM/switchChain.d.ts.map +1 -0
  244. package/src/_types/core/EVM/types.d.ts +55 -0
  245. package/src/_types/core/EVM/types.d.ts.map +1 -0
  246. package/src/_types/core/EVM/utils.d.ts +10 -0
  247. package/src/_types/core/EVM/utils.d.ts.map +1 -0
  248. package/src/_types/core/Solana/Solana.d.ts +3 -0
  249. package/src/_types/core/Solana/Solana.d.ts.map +1 -0
  250. package/src/_types/core/Solana/SolanaStepExecutor.d.ts +13 -0
  251. package/src/_types/core/Solana/SolanaStepExecutor.d.ts.map +1 -0
  252. package/src/_types/core/Solana/connection.d.ts +8 -0
  253. package/src/_types/core/Solana/connection.d.ts.map +1 -0
  254. package/src/_types/core/Solana/getSNSAddress.d.ts +2 -0
  255. package/src/_types/core/Solana/getSNSAddress.d.ts.map +1 -0
  256. package/src/_types/core/Solana/getSolanaBalance.d.ts +3 -0
  257. package/src/_types/core/Solana/getSolanaBalance.d.ts.map +1 -0
  258. package/src/_types/core/Solana/isAddress.d.ts +2 -0
  259. package/src/_types/core/Solana/isAddress.d.ts.map +1 -0
  260. package/src/_types/core/Solana/types.d.ts +13 -0
  261. package/src/_types/core/Solana/types.d.ts.map +1 -0
  262. package/{dist/cjs/execution → src/_types/core}/StatusManager.d.ts +15 -28
  263. package/src/_types/core/StatusManager.d.ts.map +1 -0
  264. package/src/_types/core/checkBalance.d.ts +3 -0
  265. package/src/_types/core/checkBalance.d.ts.map +1 -0
  266. package/src/_types/core/execution.d.ts +42 -0
  267. package/src/_types/core/execution.d.ts.map +1 -0
  268. package/src/_types/core/executionState.d.ts +17 -0
  269. package/src/_types/core/executionState.d.ts.map +1 -0
  270. package/src/_types/core/index.d.ts +4 -0
  271. package/src/_types/core/index.d.ts.map +1 -0
  272. package/src/_types/core/prepareRestart.d.ts +3 -0
  273. package/src/_types/core/prepareRestart.d.ts.map +1 -0
  274. package/src/_types/core/provider.d.ts +3 -0
  275. package/src/_types/core/provider.d.ts.map +1 -0
  276. package/src/_types/core/rpc.d.ts +4 -0
  277. package/src/_types/core/rpc.d.ts.map +1 -0
  278. package/{dist/execution → src/_types/core}/stepComparison.d.ts +7 -4
  279. package/src/_types/core/stepComparison.d.ts.map +1 -0
  280. package/src/_types/core/types.d.ts +81 -0
  281. package/src/_types/core/types.d.ts.map +1 -0
  282. package/{dist/execution → src/_types/core}/utils.d.ts +3 -2
  283. package/src/_types/core/utils.d.ts.map +1 -0
  284. package/src/_types/core/waitForReceivingTransaction.d.ts +4 -0
  285. package/src/_types/core/waitForReceivingTransaction.d.ts.map +1 -0
  286. package/src/_types/createConfig.d.ts +4 -0
  287. package/src/_types/createConfig.d.ts.map +1 -0
  288. package/{dist → src/_types}/helpers.d.ts +4 -3
  289. package/src/_types/helpers.d.ts.map +1 -0
  290. package/src/_types/index.d.ts +15 -0
  291. package/src/_types/index.d.ts.map +1 -0
  292. package/{dist → src/_types}/request.d.ts +1 -0
  293. package/src/_types/request.d.ts.map +1 -0
  294. package/src/_types/services/api.d.ts +89 -0
  295. package/src/_types/services/api.d.ts.map +1 -0
  296. package/src/_types/services/balance.d.ts +30 -0
  297. package/src/_types/services/balance.d.ts.map +1 -0
  298. package/src/_types/services/getNameServiceAddress.d.ts +3 -0
  299. package/src/_types/services/getNameServiceAddress.d.ts.map +1 -0
  300. package/{dist/cjs → src/_types}/typeguards.d.ts +3 -2
  301. package/src/_types/typeguards.d.ts.map +1 -0
  302. package/src/_types/types/index.d.ts +2 -0
  303. package/src/_types/types/index.d.ts.map +1 -0
  304. package/src/_types/types/internal.d.ts +59 -0
  305. package/src/_types/types/internal.d.ts.map +1 -0
  306. package/{dist → src/_types}/utils/errors.d.ts +3 -1
  307. package/src/_types/utils/errors.d.ts.map +1 -0
  308. package/src/_types/utils/getTransactionMessage.d.ts +4 -0
  309. package/src/_types/utils/getTransactionMessage.d.ts.map +1 -0
  310. package/src/_types/utils/index.d.ts +6 -0
  311. package/src/_types/utils/index.d.ts.map +1 -0
  312. package/{dist/cjs → src/_types}/utils/median.d.ts +1 -0
  313. package/src/_types/utils/median.d.ts.map +1 -0
  314. package/src/_types/utils/parseBackendError.d.ts +3 -0
  315. package/src/_types/utils/parseBackendError.d.ts.map +1 -0
  316. package/{dist → src/_types}/utils/parseError.d.ts +4 -6
  317. package/src/_types/utils/parseError.d.ts.map +1 -0
  318. package/{dist → src/_types}/utils/utils.d.ts +1 -0
  319. package/src/_types/utils/utils.d.ts.map +1 -0
  320. package/src/_types/version.d.ts +3 -0
  321. package/src/_types/version.d.ts.map +1 -0
  322. package/src/config.ts +91 -0
  323. package/src/constants.ts +4 -0
  324. package/src/core/BaseStepExecutor.ts +40 -0
  325. package/src/core/EVM/EVM.ts +47 -0
  326. package/src/core/EVM/EVMStepExecutor.ts +503 -0
  327. package/src/core/EVM/abi.ts +47 -0
  328. package/src/core/EVM/checkAllowance.ts +168 -0
  329. package/src/core/EVM/getAllowance.ts +144 -0
  330. package/src/core/EVM/getENSAddress.ts +18 -0
  331. package/src/core/EVM/getEVMBalance.ts +118 -0
  332. package/src/core/EVM/multisig.ts +53 -0
  333. package/src/core/EVM/publicClient.ts +54 -0
  334. package/src/core/EVM/setAllowance.ts +144 -0
  335. package/src/core/EVM/switchChain.ts +77 -0
  336. package/src/core/EVM/types.ts +73 -0
  337. package/src/core/EVM/utils.ts +48 -0
  338. package/src/core/Solana/Solana.ts +41 -0
  339. package/src/core/Solana/SolanaStepExecutor.ts +272 -0
  340. package/src/core/Solana/connection.ts +20 -0
  341. package/src/core/Solana/getSNSAddress.ts +33 -0
  342. package/src/core/Solana/getSolanaBalance.ts +72 -0
  343. package/src/core/Solana/isAddress.ts +10 -0
  344. package/src/core/Solana/types.ts +18 -0
  345. package/src/core/StatusManager.ts +231 -0
  346. package/src/core/checkBalance.ts +48 -0
  347. package/src/core/execution.ts +210 -0
  348. package/src/core/executionState.ts +44 -0
  349. package/src/core/index.ts +3 -0
  350. package/src/core/prepareRestart.ts +82 -0
  351. package/src/core/provider.ts +12 -0
  352. package/src/core/rpc.ts +15 -0
  353. package/src/core/stepComparison.ts +51 -0
  354. package/src/core/types.ts +118 -0
  355. package/src/core/utils.ts +105 -0
  356. package/src/core/waitForReceivingTransaction.ts +74 -0
  357. package/src/createConfig.ts +33 -0
  358. package/src/helpers.ts +83 -0
  359. package/src/index.ts +18 -0
  360. package/src/request.ts +79 -0
  361. package/src/services/api.ts +509 -0
  362. package/src/services/balance.ts +93 -0
  363. package/src/services/getNameServiceAddress.ts +30 -0
  364. package/src/typeguards.ts +89 -0
  365. package/src/types/index.ts +1 -0
  366. package/src/types/internal.ts +62 -0
  367. package/src/utils/errors.ts +232 -0
  368. package/src/utils/getTransactionMessage.ts +46 -0
  369. package/src/utils/index.ts +5 -0
  370. package/src/utils/median.ts +11 -0
  371. package/src/utils/parseBackendError.ts +50 -0
  372. package/src/utils/parseError.ts +210 -0
  373. package/src/utils/utils.ts +48 -0
  374. package/src/version.ts +2 -0
  375. package/dist/LiFi.d.ts +0 -175
  376. package/dist/LiFi.js +0 -250
  377. package/dist/allowance/getAllowance.d.ts +0 -6
  378. package/dist/allowance/index.d.ts +0 -3
  379. package/dist/allowance/index.js +0 -3
  380. package/dist/allowance/setAllowance.d.ts +0 -6
  381. package/dist/allowance/types.d.ts +0 -27
  382. package/dist/allowance/types.js +0 -1
  383. package/dist/balance/getBalance.d.ts +0 -2
  384. package/dist/balance/getTokenBalance.d.ts +0 -8
  385. package/dist/balance/getTokenBalance.js +0 -27
  386. package/dist/balance/index.d.ts +0 -2
  387. package/dist/balance/index.js +0 -2
  388. package/dist/cjs/LiFi.d.ts +0 -175
  389. package/dist/cjs/LiFi.js +0 -280
  390. package/dist/cjs/allowance/index.d.ts +0 -3
  391. package/dist/cjs/allowance/index.js +0 -19
  392. package/dist/cjs/allowance/setAllowance.d.ts +0 -6
  393. package/dist/cjs/allowance/types.d.ts +0 -27
  394. package/dist/cjs/balance/getBalance.d.ts +0 -2
  395. package/dist/cjs/balance/getTokenBalance.d.ts +0 -8
  396. package/dist/cjs/balance/getTokenBalance.js +0 -33
  397. package/dist/cjs/balance/index.d.ts +0 -2
  398. package/dist/cjs/balance/index.js +0 -18
  399. package/dist/cjs/connectors.d.ts +0 -8
  400. package/dist/cjs/connectors.js +0 -75
  401. package/dist/cjs/execution/RouteExecutionManager.d.ts +0 -59
  402. package/dist/cjs/execution/RouteExecutionManager.js +0 -202
  403. package/dist/cjs/execution/StatusManager.js +0 -171
  404. package/dist/cjs/execution/StepExecutionManager.d.ts +0 -7
  405. package/dist/cjs/execution/StepExecutionManager.js +0 -272
  406. package/dist/cjs/execution/StepExecutor.d.ts +0 -15
  407. package/dist/cjs/execution/StepExecutor.js +0 -62
  408. package/dist/cjs/execution/checkAllowance.d.ts +0 -4
  409. package/dist/cjs/execution/checkBalance.d.ts +0 -2
  410. package/dist/cjs/execution/index.d.ts +0 -1
  411. package/dist/cjs/execution/index.js +0 -17
  412. package/dist/cjs/execution/multisig.d.ts +0 -4
  413. package/dist/cjs/execution/prepareRestart.d.ts +0 -3
  414. package/dist/cjs/execution/prepareRestart.js +0 -65
  415. package/dist/cjs/execution/stepComparison.d.ts +0 -14
  416. package/dist/cjs/execution/stepComparison.js +0 -37
  417. package/dist/cjs/execution/switchChain.js +0 -54
  418. package/dist/cjs/execution/utils.d.ts +0 -12
  419. package/dist/cjs/execution/waitForReceivingTransaction.d.ts +0 -3
  420. package/dist/cjs/helpers.d.ts +0 -18
  421. package/dist/cjs/helpers.js +0 -84
  422. package/dist/cjs/index.d.ts +0 -5
  423. package/dist/cjs/index.js +0 -24
  424. package/dist/cjs/request.d.ts +0 -9
  425. package/dist/cjs/request.js +0 -60
  426. package/dist/cjs/services/ApiService.d.ts +0 -17
  427. package/dist/cjs/services/ApiService.js +0 -326
  428. package/dist/cjs/services/ChainsService.d.ts +0 -11
  429. package/dist/cjs/services/ChainsService.js +0 -39
  430. package/dist/cjs/services/ConfigService.d.ts +0 -23
  431. package/dist/cjs/services/ConfigService.js +0 -101
  432. package/dist/cjs/types/index.d.ts +0 -4
  433. package/dist/cjs/types/index.js +0 -22
  434. package/dist/cjs/types/internal.types.d.ts +0 -145
  435. package/dist/cjs/utils/errors.d.ts +0 -107
  436. package/dist/cjs/utils/getMaxPriorityFeePerGas.d.ts +0 -2
  437. package/dist/cjs/utils/index.d.ts +0 -5
  438. package/dist/cjs/utils/index.js +0 -21
  439. package/dist/cjs/utils/parseError.d.ts +0 -37
  440. package/dist/cjs/utils/parseError.js +0 -157
  441. package/dist/cjs/utils/utils.d.ts +0 -10
  442. package/dist/cjs/version.d.ts +0 -2
  443. package/dist/connectors.d.ts +0 -8
  444. package/dist/connectors.js +0 -41
  445. package/dist/constants.d.ts +0 -6
  446. package/dist/execution/RouteExecutionManager.d.ts +0 -59
  447. package/dist/execution/RouteExecutionManager.js +0 -195
  448. package/dist/execution/StatusManager.d.ts +0 -67
  449. package/dist/execution/StatusManager.js +0 -167
  450. package/dist/execution/StepExecutionManager.d.ts +0 -7
  451. package/dist/execution/StepExecutionManager.js +0 -265
  452. package/dist/execution/StepExecutor.d.ts +0 -15
  453. package/dist/execution/StepExecutor.js +0 -58
  454. package/dist/execution/checkAllowance.d.ts +0 -4
  455. package/dist/execution/checkBalance.d.ts +0 -2
  456. package/dist/execution/index.d.ts +0 -1
  457. package/dist/execution/index.js +0 -1
  458. package/dist/execution/multisig.d.ts +0 -4
  459. package/dist/execution/prepareRestart.d.ts +0 -3
  460. package/dist/execution/prepareRestart.js +0 -61
  461. package/dist/execution/switchChain.d.ts +0 -21
  462. package/dist/execution/waitForReceivingTransaction.d.ts +0 -3
  463. package/dist/index.d.ts +0 -5
  464. package/dist/index.js +0 -6
  465. package/dist/services/ApiService.d.ts +0 -17
  466. package/dist/services/ApiService.js +0 -321
  467. package/dist/services/ChainsService.d.ts +0 -11
  468. package/dist/services/ChainsService.js +0 -33
  469. package/dist/services/ConfigService.d.ts +0 -23
  470. package/dist/services/ConfigService.js +0 -99
  471. package/dist/typeguards.d.ts +0 -4
  472. package/dist/types/abi.d.ts +0 -5
  473. package/dist/types/index.d.ts +0 -4
  474. package/dist/types/index.js +0 -4
  475. package/dist/types/internal.types.d.ts +0 -145
  476. package/dist/types/internal.types.js +0 -1
  477. package/dist/utils/getMaxPriorityFeePerGas.d.ts +0 -2
  478. package/dist/utils/index.d.ts +0 -5
  479. package/dist/utils/index.js +0 -5
  480. package/dist/utils/median.d.ts +0 -1
  481. package/dist/version.d.ts +0 -2
  482. package/dist/version.js +0 -2
@@ -1,265 +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
- if (!step.transactionRequest) {
90
- throw new TransactionError(LiFiErrorCode.TransactionUnprepared, 'Unable to prepare transaction.');
91
- }
92
- // STEP 3: Send the transaction
93
- // Make sure that the chain is still correct
94
- const updatedWalletClient = await switchChain(walletClient, statusManager, step, settings.switchChainHook, this.allowUserInteraction);
95
- if (!updatedWalletClient) {
96
- // Chain switch was not successful, stop execution here
97
- return step.execution;
98
- }
99
- walletClient = updatedWalletClient;
100
- process = statusManager.updateProcess(step, process.type, 'ACTION_REQUIRED');
101
- if (!this.allowUserInteraction) {
102
- return step.execution;
103
- }
104
- let transactionRequest = {
105
- to: step.transactionRequest.to,
106
- from: step.transactionRequest.from,
107
- data: step.transactionRequest.data,
108
- value: step.transactionRequest.value
109
- ? BigInt(step.transactionRequest.value)
110
- : undefined,
111
- gas: step.transactionRequest.gasLimit
112
- ? BigInt(step.transactionRequest.gasLimit)
113
- : undefined,
114
- // gasPrice: step.transactionRequest.gasPrice
115
- // ? BigInt(step.transactionRequest.gasPrice as string)
116
- // : undefined,
117
- // maxFeePerGas: step.transactionRequest.maxFeePerGas
118
- // ? BigInt(step.transactionRequest.maxFeePerGas as string)
119
- // : undefined,
120
- maxPriorityFeePerGas: walletClient.account?.type === 'local'
121
- ? await getMaxPriorityFeePerGas(client)
122
- : step.transactionRequest.maxPriorityFeePerGas
123
- ? BigInt(step.transactionRequest.maxPriorityFeePerGas)
124
- : undefined,
125
- };
126
- if (settings.updateTransactionRequestHook) {
127
- const customizedTransactionRequest = await settings.updateTransactionRequestHook({
128
- requestType: 'transaction',
129
- ...transactionRequest,
130
- });
131
- transactionRequest = {
132
- ...transactionRequest,
133
- ...customizedTransactionRequest,
134
- };
135
- }
136
- if (shouldBatchTransactions &&
137
- config.multisig?.sendBatchTransaction) {
138
- if (transactionRequest.to && transactionRequest.data) {
139
- const populatedTransaction = {
140
- value: transactionRequest.value,
141
- to: transactionRequest.to,
142
- data: transactionRequest.data,
143
- };
144
- multisigBatchTransactions.push(populatedTransaction);
145
- txHash = await config.multisig?.sendBatchTransaction(multisigBatchTransactions);
146
- }
147
- else {
148
- throw new TransactionError(LiFiErrorCode.TransactionUnprepared, 'Unable to prepare transaction.');
149
- }
150
- }
151
- else {
152
- txHash = await walletClient.sendTransaction({
153
- to: transactionRequest.to,
154
- account: walletClient.account,
155
- data: transactionRequest.data,
156
- gas: transactionRequest.gas,
157
- gasPrice: transactionRequest.gasPrice,
158
- maxFeePerGas: transactionRequest.maxFeePerGas,
159
- maxPriorityFeePerGas: transactionRequest.maxPriorityFeePerGas,
160
- chain: null,
161
- });
162
- }
163
- // STEP 4: Wait for the transaction
164
- if (isMultisigWalletClient) {
165
- process = statusManager.updateProcess(step, process.type, 'ACTION_REQUIRED', {
166
- multisigTxHash: txHash,
167
- });
168
- }
169
- else {
170
- process = statusManager.updateProcess(step, process.type, 'PENDING', {
171
- txHash: txHash,
172
- txLink: `${fromChain.metamask.blockExplorerUrls[0]}tx/${txHash}`,
173
- });
174
- }
175
- }
176
- let replacementReason;
177
- const transactionReceipt = await client.waitForTransactionReceipt({
178
- hash: txHash,
179
- onReplaced(response) {
180
- replacementReason = response.reason;
181
- statusManager.updateProcess(step, process.type, 'PENDING', {
182
- txHash: response.transaction.hash,
183
- txLink: `${fromChain.metamask.blockExplorerUrls[0]}tx/${response.transaction.hash}`,
184
- });
185
- },
186
- });
187
- if (replacementReason === 'cancelled') {
188
- throw new TransactionError(LiFiErrorCode.TransactionCanceled, 'User canceled transaction.');
189
- }
190
- // if it's multisig wallet client and the process is in ACTION_REQUIRED
191
- // then signatures are still needed
192
- if (isMultisigWalletClient && process.status === 'ACTION_REQUIRED') {
193
- await updateMultisigRouteProcess(transactionReceipt.transactionHash, step, statusManager, process.type, fromChain);
194
- }
195
- if (!isMultisigWalletClient) {
196
- process = statusManager.updateProcess(step, process.type, 'PENDING', {
197
- txHash: transactionReceipt.transactionHash,
198
- txLink: `${fromChain.metamask.blockExplorerUrls[0]}tx/${transactionReceipt.transactionHash}`,
199
- });
200
- }
201
- if (isBridgeExecution) {
202
- process = statusManager.updateProcess(step, process.type, 'DONE');
203
- }
204
- }
205
- catch (e) {
206
- const error = await parseError(e, step, process);
207
- process = statusManager.updateProcess(step, process.type, 'FAILED', {
208
- error: {
209
- message: error.message,
210
- htmlMessage: error.htmlMessage,
211
- code: error.code,
212
- },
213
- });
214
- statusManager.updateExecution(step, 'FAILED');
215
- throw error;
216
- }
217
- }
218
- // STEP 5: Wait for the receiving chain
219
- const processTxHash = process.txHash;
220
- if (isBridgeExecution) {
221
- process = statusManager.findOrCreateProcess(step, 'RECEIVING_CHAIN', 'PENDING');
222
- }
223
- let statusResponse;
224
- try {
225
- if (!processTxHash) {
226
- throw new Error('Transaction hash is undefined.');
227
- }
228
- statusResponse = (await waitForReceivingTransaction(processTxHash, statusManager, process.type, step));
229
- const statusReceiving = statusResponse.receiving;
230
- process = statusManager.updateProcess(step, process.type, 'DONE', {
231
- substatus: statusResponse.substatus,
232
- substatusMessage: statusResponse.substatusMessage ||
233
- getSubstatusMessage(statusResponse.status, statusResponse.substatus),
234
- txHash: statusReceiving?.txHash,
235
- txLink: `${toChain.metamask.blockExplorerUrls[0]}tx/${statusReceiving?.txHash}`,
236
- });
237
- statusManager.updateExecution(step, 'DONE', {
238
- fromAmount: statusResponse.sending.amount,
239
- toAmount: statusReceiving?.amount,
240
- toToken: statusReceiving?.token,
241
- gasAmount: statusResponse.sending.gasAmount,
242
- gasAmountUSD: statusResponse.sending.gasAmountUSD,
243
- gasPrice: statusResponse.sending.gasPrice,
244
- gasToken: statusResponse.sending.gasToken,
245
- gasUsed: statusResponse.sending.gasUsed,
246
- });
247
- }
248
- catch (e) {
249
- const htmlMessage = await getTransactionFailedMessage(step, process.txLink);
250
- process = statusManager.updateProcess(step, process.type, 'FAILED', {
251
- error: {
252
- code: LiFiErrorCode.TransactionFailed,
253
- message: 'Failed while waiting for receiving chain.',
254
- htmlMessage,
255
- },
256
- });
257
- statusManager.updateExecution(step, 'FAILED');
258
- console.warn(e);
259
- throw e;
260
- }
261
- // DONE
262
- return step.execution;
263
- };
264
- }
265
- }
@@ -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,21 +0,0 @@
1
- import type { LifiStep } from '@lifi/types';
2
- import type { WalletClient } from 'viem';
3
- import type { SwitchChainHook } from '../types';
4
- import type { StatusManager } from './StatusManager';
5
- /**
6
- * This method checks whether the wallet client is configured for the correct chain.
7
- * If yes it returns the wallet clien.
8
- * If no and if user interaction is allowed it triggers the switchChainHook. If no user interaction is allowed it aborts.
9
- *
10
- * Account Type: local -
11
- * We need to create and return a new WalletClient from the switchChainHook in order to continue execution on a new chain.
12
- *
13
- * Account Type: json-rpc -
14
- * We can switch chain and return existing WalletClient from the switchChainHook in order to continue execution on a new chain.
15
- * @param walletClient
16
- * @param statusManager
17
- * @param step
18
- * @param switchChainHook
19
- * @param allowUserInteraction
20
- */
21
- export declare const switchChain: (walletClient: WalletClient, statusManager: StatusManager, step: LifiStep, switchChainHook: SwitchChainHook, allowUserInteraction: boolean) => Promise<WalletClient | undefined>;
@@ -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;