@lifi/sdk 3.0.0-alpha.8 → 3.0.0-beta.0

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 (516) hide show
  1. package/package.json +40 -89
  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 -8
  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/KeypairWalletAdapter.js +88 -0
  35. package/src/_cjs/core/Solana/KeypairWalletAdapter.js.map +1 -0
  36. package/src/_cjs/core/Solana/Solana.js +38 -0
  37. package/src/_cjs/core/Solana/Solana.js.map +1 -0
  38. package/src/_cjs/core/Solana/SolanaStepExecutor.js +200 -0
  39. package/src/_cjs/core/Solana/SolanaStepExecutor.js.map +1 -0
  40. package/src/_cjs/core/Solana/connection.js +19 -0
  41. package/src/_cjs/core/Solana/connection.js.map +1 -0
  42. package/src/_cjs/core/Solana/getSNSAddress.js +26 -0
  43. package/src/_cjs/core/Solana/getSNSAddress.js.map +1 -0
  44. package/src/_cjs/core/Solana/getSolanaBalance.js +60 -0
  45. package/src/_cjs/core/Solana/getSolanaBalance.js.map +1 -0
  46. package/src/_cjs/core/Solana/isAddress.js +15 -0
  47. package/src/_cjs/core/Solana/isAddress.js.map +1 -0
  48. package/src/_cjs/core/Solana/types.js +10 -0
  49. package/src/_cjs/core/Solana/types.js.map +1 -0
  50. package/src/_cjs/core/StatusManager.js +167 -0
  51. package/src/_cjs/core/StatusManager.js.map +1 -0
  52. package/{dist/cjs/execution → src/_cjs/core}/checkBalance.js +6 -6
  53. package/src/_cjs/core/checkBalance.js.map +1 -0
  54. package/src/_cjs/core/execution.js +138 -0
  55. package/src/_cjs/core/execution.js.map +1 -0
  56. package/src/_cjs/core/executionState.js +29 -0
  57. package/src/_cjs/core/executionState.js.map +1 -0
  58. package/src/_cjs/core/index.js +7 -0
  59. package/src/_cjs/core/index.js.map +1 -0
  60. package/src/_cjs/core/prepareRestart.js +23 -0
  61. package/src/_cjs/core/prepareRestart.js.map +1 -0
  62. package/src/_cjs/core/provider.js +15 -0
  63. package/src/_cjs/core/provider.js.map +1 -0
  64. package/src/_cjs/core/rpc.js +18 -0
  65. package/src/_cjs/core/rpc.js.map +1 -0
  66. package/src/_cjs/core/stepComparison.js +25 -0
  67. package/src/_cjs/core/stepComparison.js.map +1 -0
  68. package/{dist/cjs/allowance → src/_cjs/core}/types.js +1 -0
  69. package/src/_cjs/core/types.js.map +1 -0
  70. package/{dist/cjs/execution → src/_cjs/core}/utils.js +2 -11
  71. package/src/_cjs/core/utils.js.map +1 -0
  72. package/{dist/cjs/execution → src/_cjs/core}/waitForReceivingTransaction.js +13 -14
  73. package/src/_cjs/core/waitForReceivingTransaction.js.map +1 -0
  74. package/src/_cjs/createConfig.js +34 -0
  75. package/src/_cjs/createConfig.js.map +1 -0
  76. package/src/_cjs/helpers.js +50 -0
  77. package/src/_cjs/helpers.js.map +1 -0
  78. package/src/_cjs/index.js +30 -0
  79. package/src/_cjs/index.js.map +1 -0
  80. package/src/_cjs/package.json +1 -0
  81. package/{dist/cjs → src/_cjs}/request.js +18 -15
  82. package/src/_cjs/request.js.map +1 -0
  83. package/src/_cjs/services/api.js +309 -0
  84. package/src/_cjs/services/api.js.map +1 -0
  85. package/src/_cjs/services/balance.js +49 -0
  86. package/src/_cjs/services/balance.js.map +1 -0
  87. package/src/_cjs/services/getNameServiceAddress.js +29 -0
  88. package/src/_cjs/services/getNameServiceAddress.js.map +1 -0
  89. package/{dist/cjs → src/_cjs}/typeguards.js +1 -0
  90. package/src/_cjs/typeguards.js.map +1 -0
  91. package/src/_cjs/types/index.js +5 -0
  92. package/src/_cjs/types/index.js.map +1 -0
  93. package/{dist/cjs → src/_cjs}/types/internal.js +1 -0
  94. package/src/_cjs/types/internal.js.map +1 -0
  95. package/src/_cjs/utils/base64ToUint8Array.js +14 -0
  96. package/src/_cjs/utils/base64ToUint8Array.js.map +1 -0
  97. package/{dist/cjs → src/_cjs}/utils/errors.js +26 -3
  98. package/src/_cjs/utils/errors.js.map +1 -0
  99. package/src/_cjs/utils/getTransactionMessage.js +31 -0
  100. package/src/_cjs/utils/getTransactionMessage.js.map +1 -0
  101. package/src/_cjs/utils/index.js +9 -0
  102. package/src/_cjs/utils/index.js.map +1 -0
  103. package/{dist/cjs → src/_cjs}/utils/median.js +1 -0
  104. package/src/_cjs/utils/median.js.map +1 -0
  105. package/src/_cjs/utils/parseBackendError.js +27 -0
  106. package/src/_cjs/utils/parseBackendError.js.map +1 -0
  107. package/src/_cjs/utils/parseError.js +69 -0
  108. package/src/_cjs/utils/parseError.js.map +1 -0
  109. package/{dist/cjs → src/_cjs}/utils/utils.js +5 -11
  110. package/src/_cjs/utils/utils.js.map +1 -0
  111. package/{dist/cjs → src/_cjs}/version.js +2 -1
  112. package/src/_cjs/version.js.map +1 -0
  113. package/src/_esm/config.js +87 -0
  114. package/src/_esm/config.js.map +1 -0
  115. package/{dist → src/_esm}/constants.js +2 -4
  116. package/src/_esm/constants.js.map +1 -0
  117. package/src/_esm/core/BaseStepExecutor.js +52 -0
  118. package/src/_esm/core/BaseStepExecutor.js.map +1 -0
  119. package/src/_esm/core/EVM/EVM.js +39 -0
  120. package/src/_esm/core/EVM/EVM.js.map +1 -0
  121. package/src/_esm/core/EVM/EVMStepExecutor.js +329 -0
  122. package/src/_esm/core/EVM/EVMStepExecutor.js.map +1 -0
  123. package/{dist/types → src/_esm/core/EVM}/abi.js +1 -0
  124. package/src/_esm/core/EVM/abi.js.map +1 -0
  125. package/{dist/execution → src/_esm/core/EVM}/checkAllowance.js +14 -5
  126. package/src/_esm/core/EVM/checkAllowance.js.map +1 -0
  127. package/{dist/allowance → src/_esm/core/EVM}/getAllowance.js +19 -6
  128. package/src/_esm/core/EVM/getAllowance.js.map +1 -0
  129. package/src/_esm/core/EVM/getENSAddress.js +17 -0
  130. package/src/_esm/core/EVM/getENSAddress.js.map +1 -0
  131. package/{dist/balance/getBalance.js → src/_esm/core/EVM/getEVMBalance.js} +10 -12
  132. package/src/_esm/core/EVM/getEVMBalance.js.map +1 -0
  133. package/{dist/execution → src/_esm/core/EVM}/multisig.js +5 -6
  134. package/src/_esm/core/EVM/multisig.js.map +1 -0
  135. package/src/_esm/core/EVM/publicClient.js +46 -0
  136. package/src/_esm/core/EVM/publicClient.js.map +1 -0
  137. package/{dist/allowance → src/_esm/core/EVM}/setAllowance.js +23 -4
  138. package/src/_esm/core/EVM/setAllowance.js.map +1 -0
  139. package/{dist/execution → src/_esm/core/EVM}/switchChain.js +6 -4
  140. package/src/_esm/core/EVM/switchChain.js.map +1 -0
  141. package/src/_esm/core/EVM/types.js +6 -0
  142. package/src/_esm/core/EVM/types.js.map +1 -0
  143. package/{dist/utils/getMaxPriorityFeePerGas.js → src/_esm/core/EVM/utils.js} +12 -1
  144. package/src/_esm/core/EVM/utils.js.map +1 -0
  145. package/src/_esm/core/Solana/KeypairWalletAdapter.js +92 -0
  146. package/src/_esm/core/Solana/KeypairWalletAdapter.js.map +1 -0
  147. package/src/_esm/core/Solana/Solana.js +34 -0
  148. package/src/_esm/core/Solana/Solana.js.map +1 -0
  149. package/src/_esm/core/Solana/SolanaStepExecutor.js +214 -0
  150. package/src/_esm/core/Solana/SolanaStepExecutor.js.map +1 -0
  151. package/src/_esm/core/Solana/connection.js +20 -0
  152. package/src/_esm/core/Solana/connection.js.map +1 -0
  153. package/src/_esm/core/Solana/getSNSAddress.js +26 -0
  154. package/src/_esm/core/Solana/getSNSAddress.js.map +1 -0
  155. package/src/_esm/core/Solana/getSolanaBalance.js +56 -0
  156. package/src/_esm/core/Solana/getSolanaBalance.js.map +1 -0
  157. package/src/_esm/core/Solana/isAddress.js +11 -0
  158. package/src/_esm/core/Solana/isAddress.js.map +1 -0
  159. package/src/_esm/core/Solana/types.js +7 -0
  160. package/src/_esm/core/Solana/types.js.map +1 -0
  161. package/src/_esm/core/StatusManager.js +203 -0
  162. package/src/_esm/core/StatusManager.js.map +1 -0
  163. package/{dist/execution → src/_esm/core}/checkBalance.js +4 -3
  164. package/src/_esm/core/checkBalance.js.map +1 -0
  165. package/src/_esm/core/execution.js +176 -0
  166. package/src/_esm/core/execution.js.map +1 -0
  167. package/src/_esm/core/executionState.js +26 -0
  168. package/src/_esm/core/executionState.js.map +1 -0
  169. package/src/_esm/core/index.js +4 -0
  170. package/src/_esm/core/index.js.map +1 -0
  171. package/src/_esm/core/prepareRestart.js +64 -0
  172. package/src/_esm/core/prepareRestart.js.map +1 -0
  173. package/src/_esm/core/provider.js +11 -0
  174. package/src/_esm/core/provider.js.map +1 -0
  175. package/src/_esm/core/rpc.js +14 -0
  176. package/src/_esm/core/rpc.js.map +1 -0
  177. package/{dist/execution → src/_esm/core}/stepComparison.js +6 -4
  178. package/src/_esm/core/stepComparison.js.map +1 -0
  179. package/src/_esm/core/types.js +2 -0
  180. package/src/_esm/core/types.js.map +1 -0
  181. package/{dist/execution → src/_esm/core}/utils.js +4 -3
  182. package/src/_esm/core/utils.js.map +1 -0
  183. package/{dist/execution → src/_esm/core}/waitForReceivingTransaction.js +11 -9
  184. package/src/_esm/core/waitForReceivingTransaction.js.map +1 -0
  185. package/src/_esm/createConfig.js +30 -0
  186. package/src/_esm/createConfig.js.map +1 -0
  187. package/{dist → src/_esm}/helpers.js +6 -30
  188. package/src/_esm/helpers.js.map +1 -0
  189. package/src/_esm/index.js +17 -0
  190. package/src/_esm/index.js.map +1 -0
  191. package/src/_esm/package.json +1 -0
  192. package/{dist → src/_esm}/request.js +14 -10
  193. package/src/_esm/request.js.map +1 -0
  194. package/src/_esm/services/api.js +378 -0
  195. package/src/_esm/services/api.js.map +1 -0
  196. package/src/_esm/services/balance.js +65 -0
  197. package/src/_esm/services/balance.js.map +1 -0
  198. package/src/_esm/services/getNameServiceAddress.js +25 -0
  199. package/src/_esm/services/getNameServiceAddress.js.map +1 -0
  200. package/{dist → src/_esm}/typeguards.js +1 -0
  201. package/src/_esm/typeguards.js.map +1 -0
  202. package/src/_esm/types/index.js +2 -0
  203. package/src/_esm/types/index.js.map +1 -0
  204. package/src/_esm/types/internal.js +2 -0
  205. package/src/_esm/types/internal.js.map +1 -0
  206. package/src/_esm/utils/base64ToUint8Array.js +10 -0
  207. package/src/_esm/utils/base64ToUint8Array.js.map +1 -0
  208. package/{dist → src/_esm}/utils/errors.js +26 -0
  209. package/src/_esm/utils/errors.js.map +1 -0
  210. package/src/_esm/utils/getTransactionMessage.js +28 -0
  211. package/src/_esm/utils/getTransactionMessage.js.map +1 -0
  212. package/src/_esm/utils/index.js +6 -0
  213. package/src/_esm/utils/index.js.map +1 -0
  214. package/{dist → src/_esm}/utils/median.js +1 -0
  215. package/src/_esm/utils/median.js.map +1 -0
  216. package/src/_esm/utils/parseBackendError.js +24 -0
  217. package/src/_esm/utils/parseBackendError.js.map +1 -0
  218. package/{dist → src/_esm}/utils/parseError.js +6 -53
  219. package/src/_esm/utils/parseError.js.map +1 -0
  220. package/{dist → src/_esm}/utils/utils.js +2 -1
  221. package/src/_esm/utils/utils.js.map +1 -0
  222. package/src/_esm/version.js +3 -0
  223. package/src/_esm/version.js.map +1 -0
  224. package/src/_types/config.d.ts +15 -0
  225. package/src/_types/config.d.ts.map +1 -0
  226. package/{dist/cjs → src/_types}/constants.d.ts +2 -4
  227. package/src/_types/constants.d.ts.map +1 -0
  228. package/src/_types/core/BaseStepExecutor.d.ts +13 -0
  229. package/src/_types/core/BaseStepExecutor.d.ts.map +1 -0
  230. package/src/_types/core/EVM/EVM.d.ts +3 -0
  231. package/src/_types/core/EVM/EVM.d.ts.map +1 -0
  232. package/src/_types/core/EVM/EVMStepExecutor.d.ts +17 -0
  233. package/src/_types/core/EVM/EVMStepExecutor.d.ts.map +1 -0
  234. package/{dist/cjs/types → src/_types/core/EVM}/abi.d.ts +1 -0
  235. package/src/_types/core/EVM/abi.d.ts.map +1 -0
  236. package/src/_types/core/EVM/checkAllowance.d.ts +6 -0
  237. package/src/_types/core/EVM/checkAllowance.d.ts.map +1 -0
  238. package/{dist/cjs/allowance → src/_types/core/EVM}/getAllowance.d.ts +15 -1
  239. package/src/_types/core/EVM/getAllowance.d.ts.map +1 -0
  240. package/src/_types/core/EVM/getENSAddress.d.ts +2 -0
  241. package/src/_types/core/EVM/getENSAddress.d.ts.map +1 -0
  242. package/src/_types/core/EVM/getEVMBalance.d.ts +3 -0
  243. package/src/_types/core/EVM/getEVMBalance.d.ts.map +1 -0
  244. package/src/_types/core/EVM/multisig.d.ts +6 -0
  245. package/src/_types/core/EVM/multisig.d.ts.map +1 -0
  246. package/src/_types/core/EVM/publicClient.d.ts +8 -0
  247. package/src/_types/core/EVM/publicClient.d.ts.map +1 -0
  248. package/src/_types/core/EVM/setAllowance.d.ts +25 -0
  249. package/src/_types/core/EVM/setAllowance.d.ts.map +1 -0
  250. package/{dist/execution → src/_types/core/EVM}/switchChain.d.ts +4 -4
  251. package/src/_types/core/EVM/switchChain.d.ts.map +1 -0
  252. package/src/_types/core/EVM/types.d.ts +55 -0
  253. package/src/_types/core/EVM/types.d.ts.map +1 -0
  254. package/src/_types/core/EVM/utils.d.ts +10 -0
  255. package/src/_types/core/EVM/utils.d.ts.map +1 -0
  256. package/src/_types/core/Solana/KeypairWalletAdapter.d.ts +28 -0
  257. package/src/_types/core/Solana/KeypairWalletAdapter.d.ts.map +1 -0
  258. package/src/_types/core/Solana/Solana.d.ts +3 -0
  259. package/src/_types/core/Solana/Solana.d.ts.map +1 -0
  260. package/src/_types/core/Solana/SolanaStepExecutor.d.ts +13 -0
  261. package/src/_types/core/Solana/SolanaStepExecutor.d.ts.map +1 -0
  262. package/src/_types/core/Solana/connection.d.ts +8 -0
  263. package/src/_types/core/Solana/connection.d.ts.map +1 -0
  264. package/src/_types/core/Solana/getSNSAddress.d.ts +2 -0
  265. package/src/_types/core/Solana/getSNSAddress.d.ts.map +1 -0
  266. package/src/_types/core/Solana/getSolanaBalance.d.ts +3 -0
  267. package/src/_types/core/Solana/getSolanaBalance.d.ts.map +1 -0
  268. package/src/_types/core/Solana/isAddress.d.ts +2 -0
  269. package/src/_types/core/Solana/isAddress.d.ts.map +1 -0
  270. package/src/_types/core/Solana/types.d.ts +11 -0
  271. package/src/_types/core/Solana/types.d.ts.map +1 -0
  272. package/{dist/cjs/execution → src/_types/core}/StatusManager.d.ts +14 -28
  273. package/src/_types/core/StatusManager.d.ts.map +1 -0
  274. package/{dist/cjs/execution → src/_types/core}/checkBalance.d.ts +1 -0
  275. package/src/_types/core/checkBalance.d.ts.map +1 -0
  276. package/src/_types/core/execution.d.ts +42 -0
  277. package/src/_types/core/execution.d.ts.map +1 -0
  278. package/src/_types/core/executionState.d.ts +17 -0
  279. package/src/_types/core/executionState.d.ts.map +1 -0
  280. package/src/_types/core/index.d.ts +4 -0
  281. package/src/_types/core/index.d.ts.map +1 -0
  282. package/src/_types/core/prepareRestart.d.ts +3 -0
  283. package/src/_types/core/prepareRestart.d.ts.map +1 -0
  284. package/src/_types/core/provider.d.ts +3 -0
  285. package/src/_types/core/provider.d.ts.map +1 -0
  286. package/src/_types/core/rpc.d.ts +4 -0
  287. package/src/_types/core/rpc.d.ts.map +1 -0
  288. package/{dist/execution → src/_types/core}/stepComparison.d.ts +5 -3
  289. package/src/_types/core/stepComparison.d.ts.map +1 -0
  290. package/src/_types/core/types.d.ts +81 -0
  291. package/src/_types/core/types.d.ts.map +1 -0
  292. package/{dist/execution → src/_types/core}/utils.d.ts +2 -1
  293. package/src/_types/core/utils.d.ts.map +1 -0
  294. package/{dist/cjs/execution → src/_types/core}/waitForReceivingTransaction.d.ts +2 -1
  295. package/src/_types/core/waitForReceivingTransaction.d.ts.map +1 -0
  296. package/src/_types/createConfig.d.ts +4 -0
  297. package/src/_types/createConfig.d.ts.map +1 -0
  298. package/{dist/cjs → src/_types}/helpers.d.ts +3 -9
  299. package/src/_types/helpers.d.ts.map +1 -0
  300. package/src/_types/index.d.ts +18 -0
  301. package/src/_types/index.d.ts.map +1 -0
  302. package/{dist → src/_types}/request.d.ts +1 -0
  303. package/src/_types/request.d.ts.map +1 -0
  304. package/src/_types/services/api.d.ts +89 -0
  305. package/src/_types/services/api.d.ts.map +1 -0
  306. package/src/_types/services/balance.d.ts +30 -0
  307. package/src/_types/services/balance.d.ts.map +1 -0
  308. package/src/_types/services/getNameServiceAddress.d.ts +3 -0
  309. package/src/_types/services/getNameServiceAddress.d.ts.map +1 -0
  310. package/{dist/cjs → src/_types}/typeguards.d.ts +1 -0
  311. package/src/_types/typeguards.d.ts.map +1 -0
  312. package/src/_types/types/index.d.ts +2 -0
  313. package/src/_types/types/index.d.ts.map +1 -0
  314. package/{dist → src/_types}/types/internal.d.ts +14 -15
  315. package/src/_types/types/internal.d.ts.map +1 -0
  316. package/src/_types/utils/base64ToUint8Array.d.ts +2 -0
  317. package/src/_types/utils/base64ToUint8Array.d.ts.map +1 -0
  318. package/{dist/cjs → src/_types}/utils/errors.d.ts +3 -1
  319. package/src/_types/utils/errors.d.ts.map +1 -0
  320. package/src/_types/utils/getTransactionMessage.d.ts +4 -0
  321. package/src/_types/utils/getTransactionMessage.d.ts.map +1 -0
  322. package/src/_types/utils/index.d.ts +6 -0
  323. package/src/_types/utils/index.d.ts.map +1 -0
  324. package/{dist/cjs → src/_types}/utils/median.d.ts +1 -0
  325. package/src/_types/utils/median.d.ts.map +1 -0
  326. package/src/_types/utils/parseBackendError.d.ts +3 -0
  327. package/src/_types/utils/parseBackendError.d.ts.map +1 -0
  328. package/{dist → src/_types}/utils/parseError.d.ts +2 -4
  329. package/src/_types/utils/parseError.d.ts.map +1 -0
  330. package/{dist → src/_types}/utils/utils.d.ts +1 -0
  331. package/src/_types/utils/utils.d.ts.map +1 -0
  332. package/src/_types/version.d.ts +3 -0
  333. package/src/_types/version.d.ts.map +1 -0
  334. package/src/config.ts +91 -0
  335. package/src/constants.ts +4 -0
  336. package/src/core/BaseStepExecutor.ts +40 -0
  337. package/src/core/EVM/EVM.ts +47 -0
  338. package/src/core/EVM/EVMStepExecutor.ts +500 -0
  339. package/src/core/EVM/abi.ts +47 -0
  340. package/src/core/EVM/checkAllowance.ts +168 -0
  341. package/src/core/EVM/getAllowance.ts +144 -0
  342. package/src/core/EVM/getENSAddress.ts +18 -0
  343. package/src/core/EVM/getEVMBalance.ts +118 -0
  344. package/src/core/EVM/multisig.ts +53 -0
  345. package/src/core/EVM/publicClient.ts +54 -0
  346. package/src/core/EVM/setAllowance.ts +143 -0
  347. package/src/core/EVM/switchChain.ts +77 -0
  348. package/src/core/EVM/types.ts +73 -0
  349. package/src/core/EVM/utils.ts +48 -0
  350. package/src/core/Solana/KeypairWalletAdapter.ts +100 -0
  351. package/src/core/Solana/Solana.ts +41 -0
  352. package/src/core/Solana/SolanaStepExecutor.ts +331 -0
  353. package/src/core/Solana/connection.ts +20 -0
  354. package/src/core/Solana/getSNSAddress.ts +33 -0
  355. package/src/core/Solana/getSolanaBalance.ts +72 -0
  356. package/src/core/Solana/isAddress.ts +10 -0
  357. package/src/core/Solana/types.ts +17 -0
  358. package/src/core/StatusManager.ts +231 -0
  359. package/src/core/checkBalance.ts +48 -0
  360. package/src/core/execution.ts +214 -0
  361. package/src/core/executionState.ts +44 -0
  362. package/src/core/index.ts +3 -0
  363. package/src/core/prepareRestart.ts +82 -0
  364. package/src/core/provider.ts +12 -0
  365. package/src/core/rpc.ts +15 -0
  366. package/src/core/stepComparison.ts +51 -0
  367. package/src/core/types.ts +118 -0
  368. package/src/core/utils.ts +105 -0
  369. package/src/core/waitForReceivingTransaction.ts +74 -0
  370. package/src/createConfig.ts +35 -0
  371. package/src/helpers.ts +69 -0
  372. package/src/index.ts +24 -0
  373. package/src/request.ts +79 -0
  374. package/src/services/api.ts +509 -0
  375. package/src/services/balance.ts +93 -0
  376. package/src/services/getNameServiceAddress.ts +30 -0
  377. package/src/typeguards.ts +89 -0
  378. package/src/types/index.ts +1 -0
  379. package/src/types/internal.ts +62 -0
  380. package/src/utils/base64ToUint8Array.ts +9 -0
  381. package/src/utils/errors.ts +232 -0
  382. package/src/utils/getTransactionMessage.ts +46 -0
  383. package/src/utils/index.ts +5 -0
  384. package/src/utils/median.ts +11 -0
  385. package/src/utils/parseBackendError.ts +50 -0
  386. package/src/utils/parseError.ts +210 -0
  387. package/src/utils/utils.ts +48 -0
  388. package/src/version.ts +2 -0
  389. package/dist/LiFi.d.ts +0 -178
  390. package/dist/LiFi.js +0 -253
  391. package/dist/allowance/getAllowance.d.ts +0 -6
  392. package/dist/allowance/index.d.ts +0 -3
  393. package/dist/allowance/index.js +0 -3
  394. package/dist/allowance/setAllowance.d.ts +0 -6
  395. package/dist/allowance/types.d.ts +0 -27
  396. package/dist/allowance/types.js +0 -1
  397. package/dist/balance/getBalance.d.ts +0 -2
  398. package/dist/balance/getTokenBalance.d.ts +0 -8
  399. package/dist/balance/getTokenBalance.js +0 -27
  400. package/dist/balance/index.d.ts +0 -2
  401. package/dist/balance/index.js +0 -2
  402. package/dist/cjs/LiFi.d.ts +0 -178
  403. package/dist/cjs/LiFi.js +0 -283
  404. package/dist/cjs/allowance/index.d.ts +0 -3
  405. package/dist/cjs/allowance/index.js +0 -19
  406. package/dist/cjs/allowance/setAllowance.d.ts +0 -6
  407. package/dist/cjs/allowance/types.d.ts +0 -27
  408. package/dist/cjs/balance/getBalance.d.ts +0 -2
  409. package/dist/cjs/balance/getTokenBalance.d.ts +0 -8
  410. package/dist/cjs/balance/getTokenBalance.js +0 -33
  411. package/dist/cjs/balance/index.d.ts +0 -2
  412. package/dist/cjs/balance/index.js +0 -18
  413. package/dist/cjs/connectors.d.ts +0 -8
  414. package/dist/cjs/connectors.js +0 -72
  415. package/dist/cjs/execution/BaseStepExecutor.d.ts +0 -12
  416. package/dist/cjs/execution/BaseStepExecutor.js +0 -27
  417. package/dist/cjs/execution/EVMStepExecutor.d.ts +0 -13
  418. package/dist/cjs/execution/EVMStepExecutor.js +0 -292
  419. package/dist/cjs/execution/RouteExecutionManager.d.ts +0 -60
  420. package/dist/cjs/execution/RouteExecutionManager.js +0 -204
  421. package/dist/cjs/execution/StatusManager.js +0 -171
  422. package/dist/cjs/execution/StepExecutionManager.d.ts +0 -7
  423. package/dist/cjs/execution/StepExecutionManager.js +0 -272
  424. package/dist/cjs/execution/checkAllowance.d.ts +0 -5
  425. package/dist/cjs/execution/index.d.ts +0 -2
  426. package/dist/cjs/execution/index.js +0 -18
  427. package/dist/cjs/execution/multisig.d.ts +0 -4
  428. package/dist/cjs/execution/prepareRestart.d.ts +0 -2
  429. package/dist/cjs/execution/prepareRestart.js +0 -65
  430. package/dist/cjs/execution/stepComparison.d.ts +0 -15
  431. package/dist/cjs/execution/stepComparison.js +0 -37
  432. package/dist/cjs/execution/switchChain.d.ts +0 -22
  433. package/dist/cjs/execution/switchChain.js +0 -55
  434. package/dist/cjs/execution/types.d.ts +0 -82
  435. package/dist/cjs/execution/types.js +0 -2
  436. package/dist/cjs/execution/utils.d.ts +0 -12
  437. package/dist/cjs/helpers.js +0 -84
  438. package/dist/cjs/index.d.ts +0 -9
  439. package/dist/cjs/index.js +0 -30
  440. package/dist/cjs/providers/EVM.d.ts +0 -10
  441. package/dist/cjs/providers/EVM.js +0 -34
  442. package/dist/cjs/providers/Solana.d.ts +0 -9
  443. package/dist/cjs/providers/Solana.js +0 -38
  444. package/dist/cjs/providers/index.d.ts +0 -1
  445. package/dist/cjs/providers/index.js +0 -17
  446. package/dist/cjs/providers/types.d.ts +0 -12
  447. package/dist/cjs/providers/types.js +0 -8
  448. package/dist/cjs/request.d.ts +0 -9
  449. package/dist/cjs/services/ApiService.d.ts +0 -16
  450. package/dist/cjs/services/ApiService.js +0 -323
  451. package/dist/cjs/services/ChainsService.d.ts +0 -11
  452. package/dist/cjs/services/ChainsService.js +0 -40
  453. package/dist/cjs/services/ConfigService.d.ts +0 -26
  454. package/dist/cjs/services/ConfigService.js +0 -104
  455. package/dist/cjs/types/index.d.ts +0 -2
  456. package/dist/cjs/types/index.js +0 -18
  457. package/dist/cjs/types/internal.d.ts +0 -60
  458. package/dist/cjs/utils/getMaxPriorityFeePerGas.d.ts +0 -2
  459. package/dist/cjs/utils/index.d.ts +0 -5
  460. package/dist/cjs/utils/index.js +0 -21
  461. package/dist/cjs/utils/parseError.d.ts +0 -37
  462. package/dist/cjs/utils/parseError.js +0 -154
  463. package/dist/cjs/utils/utils.d.ts +0 -10
  464. package/dist/cjs/version.d.ts +0 -2
  465. package/dist/connectors.d.ts +0 -8
  466. package/dist/connectors.js +0 -41
  467. package/dist/constants.d.ts +0 -6
  468. package/dist/execution/BaseStepExecutor.d.ts +0 -12
  469. package/dist/execution/BaseStepExecutor.js +0 -23
  470. package/dist/execution/EVMStepExecutor.d.ts +0 -13
  471. package/dist/execution/EVMStepExecutor.js +0 -285
  472. package/dist/execution/RouteExecutionManager.d.ts +0 -60
  473. package/dist/execution/RouteExecutionManager.js +0 -200
  474. package/dist/execution/StatusManager.d.ts +0 -68
  475. package/dist/execution/StatusManager.js +0 -167
  476. package/dist/execution/StepExecutionManager.d.ts +0 -7
  477. package/dist/execution/StepExecutionManager.js +0 -265
  478. package/dist/execution/checkAllowance.d.ts +0 -5
  479. package/dist/execution/checkBalance.d.ts +0 -2
  480. package/dist/execution/index.d.ts +0 -2
  481. package/dist/execution/index.js +0 -2
  482. package/dist/execution/multisig.d.ts +0 -4
  483. package/dist/execution/prepareRestart.d.ts +0 -2
  484. package/dist/execution/prepareRestart.js +0 -61
  485. package/dist/execution/types.d.ts +0 -82
  486. package/dist/execution/types.js +0 -1
  487. package/dist/execution/waitForReceivingTransaction.d.ts +0 -3
  488. package/dist/helpers.d.ts +0 -18
  489. package/dist/index.d.ts +0 -9
  490. package/dist/index.js +0 -9
  491. package/dist/providers/EVM.d.ts +0 -10
  492. package/dist/providers/EVM.js +0 -29
  493. package/dist/providers/Solana.d.ts +0 -9
  494. package/dist/providers/Solana.js +0 -33
  495. package/dist/providers/index.d.ts +0 -1
  496. package/dist/providers/index.js +0 -1
  497. package/dist/providers/types.d.ts +0 -12
  498. package/dist/providers/types.js +0 -5
  499. package/dist/services/ApiService.d.ts +0 -16
  500. package/dist/services/ApiService.js +0 -321
  501. package/dist/services/ChainsService.d.ts +0 -11
  502. package/dist/services/ChainsService.js +0 -33
  503. package/dist/services/ConfigService.d.ts +0 -26
  504. package/dist/services/ConfigService.js +0 -100
  505. package/dist/typeguards.d.ts +0 -4
  506. package/dist/types/abi.d.ts +0 -5
  507. package/dist/types/index.d.ts +0 -2
  508. package/dist/types/index.js +0 -2
  509. package/dist/types/internal.js +0 -1
  510. package/dist/utils/errors.d.ts +0 -107
  511. package/dist/utils/getMaxPriorityFeePerGas.d.ts +0 -2
  512. package/dist/utils/index.d.ts +0 -5
  513. package/dist/utils/index.js +0 -5
  514. package/dist/utils/median.d.ts +0 -1
  515. package/dist/version.d.ts +0 -2
  516. 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;
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;
98
- }
99
- walletClient = updatedWalletClient;
100
- process = statusManager.updateProcess(step, process.type, 'ACTION_REQUIRED');
101
- if (!this.allowUserInteraction) {
102
- return step;
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;
263
- };
264
- }
265
- }
@@ -1,5 +0,0 @@
1
- import type { Chain, LiFiStep } from '@lifi/types';
2
- import type { Hash, WalletClient } from 'viem';
3
- import type { StatusManager } from '../execution/StatusManager';
4
- import type { InternalExecutionSettings } from './types';
5
- 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 '@lifi/types';
2
- export declare const checkBalance: (walletAddress: string, step: LiFiStep, depth?: number) => Promise<void>;
@@ -1,2 +0,0 @@
1
- export * from './StatusManager';
2
- export * from './types';
@@ -1,2 +0,0 @@
1
- export * from './StatusManager';
2
- export * from './types';
@@ -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,2 +0,0 @@
1
- import type { Route } from '@lifi/types';
2
- export declare const prepareRestart: (route: Route) => Promise<void>;
@@ -1,61 +0,0 @@
1
- import { publicActions } from 'viem';
2
- import { LiFiErrorCode } from '../utils/errors';
3
- export const prepareRestart = async (route) => {
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,82 +0,0 @@
1
- import type { LiFiStep, Route, Token } from '@lifi/types';
2
- import type { Hash, Hex, WalletClient } from 'viem';
3
- import type { BaseStepExecutor } from './BaseStepExecutor';
4
- import type { StatusManager } from './StatusManager';
5
- export interface StepExecutorOptions {
6
- statusManager: StatusManager;
7
- settings: InternalExecutionSettings;
8
- }
9
- export interface RouteExecutionData {
10
- route: Route;
11
- executors: BaseStepExecutor[];
12
- settings: InternalExecutionSettings;
13
- }
14
- export type RouteExecutionDictionary = Partial<Record<string, RouteExecutionData>>;
15
- export type RouteExecutionPromiseDictionary = Partial<Record<string, Promise<Route>>>;
16
- export type TransactionParameters = {
17
- chainId?: number;
18
- to?: string;
19
- from?: string;
20
- nonce?: number;
21
- data?: Hex;
22
- value?: bigint;
23
- gas?: bigint;
24
- gasPrice?: bigint;
25
- maxFeePerGas?: bigint;
26
- maxPriorityFeePerGas?: bigint;
27
- };
28
- export type UpdateRouteHook = (updatedRoute: Route) => void;
29
- export interface TransactionRequestParameters extends TransactionParameters {
30
- requestType: 'approve' | 'transaction';
31
- }
32
- export type TransactionRequestUpdateHook = (updatedTxRequest: TransactionRequestParameters) => Promise<TransactionParameters>;
33
- export type SwitchChainHook = (requiredChainId: number) => Promise<WalletClient | undefined>;
34
- export interface AcceptSlippageUpdateHookParams {
35
- toToken: Token;
36
- oldToAmount: string;
37
- newToAmount: string;
38
- oldSlippage: number;
39
- newSlippage: number;
40
- }
41
- export type AcceptSlippageUpdateHook = (params: AcceptSlippageUpdateHookParams) => Promise<boolean | undefined>;
42
- export interface ExchangeRateUpdateParams {
43
- toToken: Token;
44
- oldToAmount: string;
45
- newToAmount: string;
46
- }
47
- export type AcceptExchangeRateUpdateHook = (params: ExchangeRateUpdateParams) => Promise<boolean | undefined>;
48
- export type ExecutionSettings = Partial<InternalExecutionSettings>;
49
- export interface InternalExecutionSettings {
50
- acceptExchangeRateUpdateHook: AcceptExchangeRateUpdateHook;
51
- switchChainHook: SwitchChainHook;
52
- updateRouteHook: UpdateRouteHook;
53
- updateTransactionRequestHook?: TransactionRequestUpdateHook;
54
- executeInBackground: boolean;
55
- infiniteApproval: boolean;
56
- }
57
- export interface ExecutionParams {
58
- walletClient: WalletClient;
59
- step: LiFiStep;
60
- statusManager: StatusManager;
61
- settings: InternalExecutionSettings;
62
- }
63
- export interface InteractionSettings {
64
- allowInteraction?: boolean;
65
- allowUpdates?: boolean;
66
- allowExecution?: boolean;
67
- }
68
- export interface MultisigTxDetails {
69
- status: 'DONE' | 'FAILED' | 'PENDING' | 'CANCELLED';
70
- txHash?: Hash;
71
- }
72
- export interface BaseTransaction {
73
- to: string;
74
- value?: bigint;
75
- data: string;
76
- }
77
- export interface MultisigConfig {
78
- isMultisigWalletClient: boolean;
79
- getMultisigTransactionDetails: (txHash: Hash, fromChainId: number, updateIntermediateStatus?: () => void) => Promise<MultisigTxDetails>;
80
- sendBatchTransaction?: (batchTransactions: BaseTransaction[]) => Promise<Hash>;
81
- shouldBatchTransactions?: boolean;
82
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,3 +0,0 @@
1
- import type { LiFiStep, ProcessType, StatusResponse } from '@lifi/types';
2
- import type { StatusManager } from './StatusManager';
3
- export declare function waitForReceivingTransaction(txHash: string, statusManager: StatusManager, processType: ProcessType, step: LiFiStep): Promise<StatusResponse>;
package/dist/helpers.d.ts DELETED
@@ -1,18 +0,0 @@
1
- import type { LiFiStep, Route } from '@lifi/types';
2
- import type { TenderlyResponse } from './types';
3
- /**
4
- * Returns a random number between min (inclusive) and max (inclusive)
5
- * @param min - minimum number.
6
- * @param max - maximum number.
7
- * @returns - random number.
8
- */
9
- export declare const getRandomNumber: (min: number, max: number) => number;
10
- export declare const checkPackageUpdates: (packageName?: string, packageVersion?: string, disableCheck?: boolean) => Promise<void>;
11
- /**
12
- * Converts a quote to Route
13
- * @param step - Step returned from the quote endpoint.
14
- * @returns - The route to be executed.
15
- * @throws {ValidationError} Throws a ValidationError if the step has missing values.
16
- */
17
- export declare const convertQuoteToRoute: (step: LiFiStep) => Route;
18
- export declare const fetchTxErrorDetails: (txHash: string, chainId: number) => Promise<TenderlyResponse>;
package/dist/index.d.ts DELETED
@@ -1,9 +0,0 @@
1
- export * from '@lifi/types';
2
- export { LiFi } from './LiFi';
3
- export * from './execution';
4
- export * from './helpers';
5
- export { EVM, type EVMProviderOptions } from './providers/EVM';
6
- export { Solana, type SolanaProviderOptions } from './providers/Solana';
7
- export * from './types';
8
- export * from './utils/errors';
9
- export { ErrorCode, LiFiError } from './utils/errors';
package/dist/index.js DELETED
@@ -1,9 +0,0 @@
1
- export * from '@lifi/types';
2
- export { LiFi } from './LiFi';
3
- export * from './execution';
4
- export * from './helpers';
5
- export { EVM } from './providers/EVM';
6
- export { Solana } from './providers/Solana';
7
- export * from './types';
8
- export * from './utils/errors';
9
- export { LiFiError } from './utils/errors';
@@ -1,10 +0,0 @@
1
- import { type WalletClient } from 'viem';
2
- import type { SDKProvider } from './types';
3
- export interface EVMProviderOptions {
4
- getWalletClient: () => Promise<WalletClient>;
5
- }
6
- export interface EVMProvider extends SDKProvider {
7
- setOptions(options: EVMProviderOptions): void;
8
- }
9
- export declare function EVM(options?: EVMProviderOptions): EVMProvider;
10
- export declare function isEVM(provider: SDKProvider): provider is EVMProvider;
@@ -1,29 +0,0 @@
1
- import { isAddress } from 'viem';
2
- import { EVMStepExecutor } from '../execution/EVMStepExecutor';
3
- import { ProviderType } from './types';
4
- export function EVM(options) {
5
- let getWalletClient = options?.getWalletClient;
6
- return {
7
- get type() {
8
- return ProviderType.EVM;
9
- },
10
- isProviderStep(step) {
11
- const isProviderStep = isAddress(step.action.fromAddress);
12
- return isProviderStep;
13
- },
14
- async getStepExecutor(options) {
15
- if (!getWalletClient) {
16
- throw new Error(`getWalletClient is not provided.`);
17
- }
18
- const walletClient = await getWalletClient();
19
- const executor = new EVMStepExecutor({ walletClient, ...options });
20
- return executor;
21
- },
22
- setOptions(options) {
23
- getWalletClient = options.getWalletClient;
24
- },
25
- };
26
- }
27
- export function isEVM(provider) {
28
- return provider.type === ProviderType.EVM;
29
- }
@@ -1,9 +0,0 @@
1
- import type { SDKProvider } from './types';
2
- export interface SolanaProviderOptions {
3
- getWalletClient: () => Promise<unknown>;
4
- }
5
- export interface SolanaProvider extends SDKProvider {
6
- setOptions(options: SolanaProviderOptions): void;
7
- }
8
- export declare function Solana(options?: SolanaProviderOptions): SolanaProvider;
9
- export declare function isEVM(provider: SDKProvider): provider is SolanaProvider;
@@ -1,33 +0,0 @@
1
- import { PublicKey } from '@solana/web3.js';
2
- import { ProviderType } from './types';
3
- export function Solana(options) {
4
- let getWalletClient = options?.getWalletClient;
5
- return {
6
- get type() {
7
- return ProviderType.Solana;
8
- },
9
- isProviderStep(step) {
10
- try {
11
- const publickKey = new PublicKey(step.action.fromAddress);
12
- const isProviderStep = PublicKey.isOnCurve(publickKey);
13
- return isProviderStep;
14
- }
15
- catch (error) {
16
- return false;
17
- }
18
- },
19
- async getStepExecutor(options) {
20
- if (!getWalletClient) {
21
- throw new Error(`getWalletClient is not provided.`);
22
- }
23
- const walletClient = await getWalletClient();
24
- return null;
25
- },
26
- setOptions(options) {
27
- getWalletClient = options.getWalletClient;
28
- },
29
- };
30
- }
31
- export function isEVM(provider) {
32
- return provider.type === ProviderType.Solana;
33
- }
@@ -1 +0,0 @@
1
- export * from './types';
@@ -1 +0,0 @@
1
- export * from './types';
@@ -1,12 +0,0 @@
1
- import type { LiFiStep } from '@lifi/types';
2
- import type { BaseStepExecutor } from '../execution/BaseStepExecutor';
3
- import type { StepExecutorOptions } from '../execution/types';
4
- export interface SDKProvider {
5
- readonly type: ProviderType;
6
- isProviderStep(step: LiFiStep): boolean;
7
- getStepExecutor(options: StepExecutorOptions): Promise<BaseStepExecutor>;
8
- }
9
- export declare enum ProviderType {
10
- EVM = "EVM",
11
- Solana = "Solana"
12
- }
@@ -1,5 +0,0 @@
1
- export var ProviderType;
2
- (function (ProviderType) {
3
- ProviderType["EVM"] = "EVM";
4
- ProviderType["Solana"] = "Solana";
5
- })(ProviderType || (ProviderType = {}));
@@ -1,16 +0,0 @@
1
- import type { ChainId, ChainKey, ConnectionsRequest, ConnectionsResponse, ContractCallQuoteRequest, ExtendedChain, GasRecommendationRequest, GasRecommendationResponse, GetStatusRequest, LiFiStep, PossibilitiesRequest, PossibilitiesResponse, QuoteRequest, RequestOptions, RoutesRequest, RoutesResponse, StatusResponse, Token, TokensRequest, TokensResponse, ToolsRequest, ToolsResponse } from '@lifi/types';
2
- declare const _default: {
3
- getChains: (options?: RequestOptions | undefined) => Promise<ExtendedChain[]>;
4
- getContractCallQuote: (requestConfig: ContractCallQuoteRequest, options?: RequestOptions | undefined) => Promise<LiFiStep>;
5
- getGasRecommendation: ({ chainId, fromChain, fromToken }: GasRecommendationRequest, options?: RequestOptions | undefined) => Promise<GasRecommendationResponse>;
6
- getPossibilities: (requestConfig?: PossibilitiesRequest | undefined, options?: RequestOptions | undefined) => Promise<PossibilitiesResponse>;
7
- getQuote: (requestConfig: QuoteRequest, options?: RequestOptions | undefined) => Promise<LiFiStep>;
8
- getRoutes: (requestConfig: RoutesRequest, options?: RequestOptions | undefined) => Promise<RoutesResponse>;
9
- getStatus: (requestConfig: GetStatusRequest, options?: RequestOptions | undefined) => Promise<StatusResponse>;
10
- getStepTransaction: (step: LiFiStep, options?: RequestOptions | undefined) => Promise<LiFiStep>;
11
- getToken: (chain: ChainId | ChainKey, token: string, options?: RequestOptions | undefined) => Promise<Token>;
12
- getTokens: (requestConfig?: TokensRequest | undefined, options?: RequestOptions | undefined) => Promise<TokensResponse>;
13
- getTools: (requestConfig?: ToolsRequest | undefined, options?: RequestOptions | undefined) => Promise<ToolsResponse>;
14
- getAvailableConnections: (connectionRequest: ConnectionsRequest) => Promise<ConnectionsResponse>;
15
- };
16
- export default _default;