@lifi/sdk 3.0.0-alpha.9 → 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 -98
  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,18 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./StatusManager"), exports);
18
- __exportStar(require("./types"), exports);
@@ -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,65 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.prepareRestart = void 0;
4
- const viem_1 = require("viem");
5
- const errors_1 = require("../utils/errors");
6
- const prepareRestart = async (route) => {
7
- for (let index = 0; index < route.steps.length; index++) {
8
- const step = route.steps[index];
9
- const stepHasFailed = step.execution?.status === 'FAILED';
10
- if (stepHasFailed) {
11
- // await handleErrorType(walletClient, step)
12
- deleteFailedProcesses(step);
13
- deleteTransactionData(step);
14
- }
15
- }
16
- };
17
- exports.prepareRestart = prepareRestart;
18
- const handleErrorType = async (walletClient, step) => {
19
- const client = walletClient.extend(viem_1.publicActions);
20
- const isGasLimitError = step.execution?.process.some((p) => p.error?.code === errors_1.LiFiErrorCode.GasLimitError);
21
- const isGasPriceError = step.execution?.process.some((p) => p.error?.code === errors_1.LiFiErrorCode.TransactionUnderpriced);
22
- const { transactionRequest } = step;
23
- // if (isGasLimitError) {
24
- // if (transactionRequest) {
25
- // let gasLimit = transactionRequest.gasLimit
26
- // try {
27
- // gasLimit = await client.estimateGas(transactionRequest)
28
- // } catch (error) {}
29
- // if (gasLimit) {
30
- // transactionRequest.gasLimit = BigNumber.from(
31
- // `${(BigInt(gasLimit.toString()) * 125n) / 100n}`
32
- // )
33
- // }
34
- // }
35
- // step.estimate.gasCosts?.forEach(
36
- // (gasCost) =>
37
- // (gasCost.limit = `${Math.round(Number(gasCost.limit) * 1.25)}`)
38
- // )
39
- // }
40
- // if (isGasPriceError) {
41
- // if (transactionRequest) {
42
- // let gasPrice = transactionRequest.gasPrice
43
- // try {
44
- // gasPrice = await client.getGasPrice()
45
- // } catch (error) {}
46
- // if (gasPrice) {
47
- // transactionRequest.gasPrice = BigNumber.from(
48
- // `${(BigInt(gasPrice.toString()) * 125n) / 100n}`
49
- // )
50
- // }
51
- // }
52
- // step.estimate.gasCosts?.forEach(
53
- // (gasCost) =>
54
- // (gasCost.price = `${Math.round(Number(gasCost.price) * 1.25)}`)
55
- // )
56
- // }
57
- };
58
- const deleteFailedProcesses = (step) => {
59
- if (step.execution) {
60
- step.execution.process = step.execution.process.filter((process) => process.status === 'DONE');
61
- }
62
- };
63
- const deleteTransactionData = (step) => {
64
- step.transactionRequest = undefined;
65
- };
@@ -1,15 +0,0 @@
1
- import type { LiFiStep } from '@lifi/types';
2
- import type { StatusManager } from './StatusManager';
3
- import type { InternalExecutionSettings } from './types';
4
- /**
5
- * This method checks whether the new and updated Step meets the required exchange rate conditions.
6
- * If yes it returns the updated Step.
7
- * If no and if user interaction is allowed it triggers the acceptExchangeRateUpdateHook. If no user interaction is allowed it aborts.
8
- * @param statusManager
9
- * @param oldStep
10
- * @param newStep
11
- * @param settings
12
- * @param allowUserInteraction
13
- * @returns Return LiFiStep
14
- */
15
- export declare const stepComparison: (statusManager: StatusManager, oldStep: LiFiStep, newStep: LiFiStep, settings: InternalExecutionSettings, allowUserInteraction: boolean) => Promise<LiFiStep>;
@@ -1,37 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.stepComparison = void 0;
4
- const errors_1 = require("../utils/errors");
5
- const utils_1 = require("./utils");
6
- /**
7
- * This method checks whether the new and updated Step meets the required exchange rate conditions.
8
- * If yes it returns the updated Step.
9
- * If no and if user interaction is allowed it triggers the acceptExchangeRateUpdateHook. If no user interaction is allowed it aborts.
10
- * @param statusManager
11
- * @param oldStep
12
- * @param newStep
13
- * @param settings
14
- * @param allowUserInteraction
15
- * @returns Return LiFiStep
16
- */
17
- const stepComparison = async (statusManager, oldStep, newStep, settings, allowUserInteraction) => {
18
- // Check if changed exchange rate is in the range of slippage threshold
19
- if ((0, utils_1.checkStepSlippageThreshold)(oldStep, newStep)) {
20
- return statusManager.updateStepInRoute(newStep);
21
- }
22
- let allowStepUpdate;
23
- if (allowUserInteraction) {
24
- allowStepUpdate = await settings.acceptExchangeRateUpdateHook({
25
- oldToAmount: oldStep.estimate.toAmount,
26
- newToAmount: newStep.estimate.toAmount,
27
- toToken: newStep.action.toToken,
28
- });
29
- }
30
- if (!allowStepUpdate) {
31
- // The user declined the new exchange rate, so we are not going to proceed
32
- throw new errors_1.TransactionError(errors_1.LiFiErrorCode.ExchangeRateUpdateCanceled, 'Exchange rate has changed!', `Transaction was not sent, your funds are still in your wallet.
33
- The exchange rate has changed and the previous estimation can not be fulfilled due to value loss.`);
34
- }
35
- return statusManager.updateStepInRoute(newStep);
36
- };
37
- exports.stepComparison = stepComparison;
@@ -1,22 +0,0 @@
1
- import type { LiFiStep } from '@lifi/types';
2
- import type { WalletClient } from 'viem';
3
- import type { StatusManager } from './StatusManager';
4
- import type { SwitchChainHook } from './types';
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
- * @returns New WalletClient
21
- */
22
- export declare const switchChain: (walletClient: WalletClient, statusManager: StatusManager, step: LiFiStep, switchChainHook: SwitchChainHook, allowUserInteraction: boolean) => Promise<WalletClient | undefined>;
@@ -1,55 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.switchChain = void 0;
4
- const errors_1 = require("../utils/errors");
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
- * @returns New WalletClient
21
- */
22
- const switchChain = async (walletClient, statusManager, step, switchChainHook, allowUserInteraction) => {
23
- // if we are already on the correct chain we can proceed directly
24
- if ((await walletClient.getChainId()) === step.action.fromChainId) {
25
- return walletClient;
26
- }
27
- // -> set status message
28
- step.execution = statusManager.initExecutionObject(step);
29
- statusManager.updateExecution(step, 'ACTION_REQUIRED');
30
- let switchProcess = statusManager.findOrCreateProcess(step, 'SWITCH_CHAIN', 'ACTION_REQUIRED');
31
- if (!allowUserInteraction) {
32
- return;
33
- }
34
- try {
35
- const updatedWalletClient = await switchChainHook(step.action.fromChainId);
36
- const updatedChainId = await updatedWalletClient?.getChainId();
37
- if (updatedChainId !== step.action.fromChainId) {
38
- throw new errors_1.ProviderError(errors_1.LiFiErrorCode.ChainSwitchError, 'Chain switch required.');
39
- }
40
- switchProcess = statusManager.updateProcess(step, switchProcess.type, 'DONE');
41
- statusManager.updateExecution(step, 'PENDING');
42
- return updatedWalletClient;
43
- }
44
- catch (error) {
45
- statusManager.updateProcess(step, switchProcess.type, 'FAILED', {
46
- error: {
47
- message: error.message,
48
- code: errors_1.LiFiErrorCode.ChainSwitchError,
49
- },
50
- });
51
- statusManager.updateExecution(step, 'FAILED');
52
- throw error;
53
- }
54
- };
55
- exports.switchChain = switchChain;
@@ -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,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,12 +0,0 @@
1
- import type { LiFiStep, ProcessType, Status, StatusMessage, Substatus } from '@lifi/types';
2
- export declare function getProcessMessage(type: ProcessType, status: Status): string | undefined;
3
- export declare function getSubstatusMessage(status: StatusMessage, substatus?: Substatus): string | undefined;
4
- /**
5
- * Used to check if changed exchange rate is in the range of slippage threshold.
6
- * We use a slippage value as a threshold to trigger the rate change hook.
7
- * This can result in almost doubled slippage for the user and need to be revisited.
8
- * @param oldStep
9
- * @param newStep
10
- * @returns Boolean
11
- */
12
- export declare function checkStepSlippageThreshold(oldStep: LiFiStep, newStep: LiFiStep): boolean;
@@ -1,84 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fetchTxErrorDetails = exports.convertQuoteToRoute = exports.checkPackageUpdates = exports.getRandomNumber = void 0;
4
- const request_1 = require("./request");
5
- const errors_1 = require("./utils/errors");
6
- const version_1 = require("./version");
7
- /**
8
- * Returns a random number between min (inclusive) and max (inclusive)
9
- * @param min - minimum number.
10
- * @param max - maximum number.
11
- * @returns - random number.
12
- */
13
- const getRandomNumber = (min, max) => {
14
- return Math.floor(Math.random() * (max - min + 1) + min);
15
- };
16
- exports.getRandomNumber = getRandomNumber;
17
- function semverCompare(a, b) {
18
- if (a.startsWith(b + '-')) {
19
- return -1;
20
- }
21
- if (b.startsWith(a + '-')) {
22
- return 1;
23
- }
24
- return a.localeCompare(b, undefined, {
25
- numeric: true,
26
- sensitivity: 'case',
27
- caseFirst: 'upper',
28
- });
29
- }
30
- const checkPackageUpdates = async (packageName, packageVersion, disableCheck) => {
31
- if (disableCheck || process.env.NODE_ENV !== 'development') {
32
- return;
33
- }
34
- try {
35
- const pkgName = packageName ?? version_1.name;
36
- const response = await (0, request_1.request)(`https://registry.npmjs.org/${pkgName}/latest`, { skipTrackingHeaders: true });
37
- const latestVersion = response.version;
38
- const currentVersion = packageVersion ?? version_1.version;
39
- if (semverCompare(latestVersion, currentVersion)) {
40
- console.warn(
41
- // eslint-disable-next-line max-len
42
- `${pkgName}: new package version is available. Please update as soon as possible to enjoy the newest features. Current version: ${currentVersion}. Latest version: ${latestVersion}.`);
43
- }
44
- }
45
- catch (error) {
46
- // Cannot verify version, might be network error etc. We don't bother showing anything in that case
47
- }
48
- };
49
- exports.checkPackageUpdates = checkPackageUpdates;
50
- /**
51
- * Converts a quote to Route
52
- * @param step - Step returned from the quote endpoint.
53
- * @returns - The route to be executed.
54
- * @throws {ValidationError} Throws a ValidationError if the step has missing values.
55
- */
56
- const convertQuoteToRoute = (step) => {
57
- if (!step.estimate.fromAmountUSD) {
58
- throw new errors_1.ValidationError("Missing 'fromAmountUSD' in step estimate.");
59
- }
60
- if (!step.estimate.toAmountUSD) {
61
- throw new errors_1.ValidationError("Missing 'toAmountUSD' in step estimate.");
62
- }
63
- const route = {
64
- fromToken: step.action.fromToken,
65
- toToken: step.action.toToken,
66
- fromAmount: step.action.fromAmount,
67
- toAmount: step.estimate.toAmount,
68
- id: step.id,
69
- fromChainId: step.action.fromToken.chainId,
70
- toChainId: step.action.toToken.chainId,
71
- fromAmountUSD: step.estimate.fromAmountUSD,
72
- toAmountUSD: step.estimate.toAmountUSD,
73
- steps: [step],
74
- toAmountMin: step.estimate.toAmountMin,
75
- insurance: { state: 'NOT_INSURABLE', feeAmountUsd: '0' },
76
- };
77
- return route;
78
- };
79
- exports.convertQuoteToRoute = convertQuoteToRoute;
80
- const fetchTxErrorDetails = async (txHash, chainId) => {
81
- const response = await (0, request_1.request)(`https://api.tenderly.co/api/v1/public-contract/${chainId}/tx/${txHash}`);
82
- return response;
83
- };
84
- exports.fetchTxErrorDetails = fetchTxErrorDetails;
@@ -1,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/cjs/index.js DELETED
@@ -1,30 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.LiFiError = exports.Solana = exports.EVM = exports.LiFi = void 0;
18
- __exportStar(require("@lifi/types"), exports);
19
- var LiFi_1 = require("./LiFi");
20
- Object.defineProperty(exports, "LiFi", { enumerable: true, get: function () { return LiFi_1.LiFi; } });
21
- __exportStar(require("./execution"), exports);
22
- __exportStar(require("./helpers"), exports);
23
- var EVM_1 = require("./providers/EVM");
24
- Object.defineProperty(exports, "EVM", { enumerable: true, get: function () { return EVM_1.EVM; } });
25
- var Solana_1 = require("./providers/Solana");
26
- Object.defineProperty(exports, "Solana", { enumerable: true, get: function () { return Solana_1.Solana; } });
27
- __exportStar(require("./types"), exports);
28
- __exportStar(require("./utils/errors"), exports);
29
- var errors_1 = require("./utils/errors");
30
- Object.defineProperty(exports, "LiFiError", { enumerable: true, get: function () { return errors_1.LiFiError; } });
@@ -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,34 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isEVM = exports.EVM = void 0;
4
- const viem_1 = require("viem");
5
- const EVMStepExecutor_1 = require("../execution/EVMStepExecutor");
6
- const types_1 = require("./types");
7
- function EVM(options) {
8
- let getWalletClient = options?.getWalletClient;
9
- return {
10
- get type() {
11
- return types_1.ProviderType.EVM;
12
- },
13
- isProviderStep(step) {
14
- const isProviderStep = (0, viem_1.isAddress)(step.action.fromAddress);
15
- return isProviderStep;
16
- },
17
- async getStepExecutor(options) {
18
- if (!getWalletClient) {
19
- throw new Error(`getWalletClient is not provided.`);
20
- }
21
- const walletClient = await getWalletClient();
22
- const executor = new EVMStepExecutor_1.EVMStepExecutor({ walletClient, ...options });
23
- return executor;
24
- },
25
- setOptions(options) {
26
- getWalletClient = options.getWalletClient;
27
- },
28
- };
29
- }
30
- exports.EVM = EVM;
31
- function isEVM(provider) {
32
- return provider.type === types_1.ProviderType.EVM;
33
- }
34
- exports.isEVM = isEVM;
@@ -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,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isEVM = exports.Solana = void 0;
4
- const web3_js_1 = require("@solana/web3.js");
5
- const types_1 = require("./types");
6
- function Solana(options) {
7
- let getWalletClient = options?.getWalletClient;
8
- return {
9
- get type() {
10
- return types_1.ProviderType.Solana;
11
- },
12
- isProviderStep(step) {
13
- try {
14
- const publickKey = new web3_js_1.PublicKey(step.action.fromAddress);
15
- const isProviderStep = web3_js_1.PublicKey.isOnCurve(publickKey);
16
- return isProviderStep;
17
- }
18
- catch (error) {
19
- return false;
20
- }
21
- },
22
- async getStepExecutor(options) {
23
- if (!getWalletClient) {
24
- throw new Error(`getWalletClient is not provided.`);
25
- }
26
- const walletClient = await getWalletClient();
27
- return null;
28
- },
29
- setOptions(options) {
30
- getWalletClient = options.getWalletClient;
31
- },
32
- };
33
- }
34
- exports.Solana = Solana;
35
- function isEVM(provider) {
36
- return provider.type === types_1.ProviderType.Solana;
37
- }
38
- exports.isEVM = isEVM;
@@ -1 +0,0 @@
1
- export * from './types';
@@ -1,17 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./types"), exports);
@@ -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,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProviderType = void 0;
4
- var ProviderType;
5
- (function (ProviderType) {
6
- ProviderType["EVM"] = "EVM";
7
- ProviderType["Solana"] = "Solana";
8
- })(ProviderType || (exports.ProviderType = ProviderType = {}));
@@ -1,9 +0,0 @@
1
- export declare const requestSettings: {
2
- retries: number;
3
- };
4
- interface ExtendedRequestInit extends RequestInit {
5
- retries?: number;
6
- skipTrackingHeaders?: boolean;
7
- }
8
- export declare const request: <T = Response>(url: RequestInfo | URL, options?: ExtendedRequestInit) => Promise<T>;
9
- export {};
@@ -1,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;