@lifi/sdk 3.0.0-alpha.9 → 3.0.0-beta.1

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 +168 -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 +204 -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 +19 -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 +3 -2
  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 +233 -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 +26 -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 +108 -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
@@ -0,0 +1,210 @@
1
+ import type { LiFiStep, Process } from '@lifi/types'
2
+ import {
3
+ errorCodes as MetaMaskErrorCodes,
4
+ getMessageFromCode,
5
+ } from 'eth-rpc-errors'
6
+ import { fetchTxErrorDetails } from '../helpers.js'
7
+ import {
8
+ ErrorMessage,
9
+ EthersErrorMessage,
10
+ EthersErrorType,
11
+ LiFiError,
12
+ LiFiErrorCode,
13
+ MetaMaskProviderErrorCode,
14
+ ProviderError,
15
+ RPCError,
16
+ TransactionError,
17
+ UnknownError,
18
+ } from './errors.js'
19
+ import { getTransactionNotSentMessage } from './getTransactionMessage.js'
20
+
21
+ /**
22
+ * Available MetaMask error codes:
23
+ *
24
+ * export const errorCodes: ErrorCodes = {
25
+ rpc: {
26
+ invalidInput: -32000,
27
+ resourceNotFound: -32001,
28
+ resourceUnavailable: -32002,
29
+ transactionRejected: -32003,
30
+ methodNotSupported: -32004,
31
+ limitExceeded: -32005,
32
+ parse: -32700,
33
+ invalidRequest: -32600,
34
+ methodNotFound: -32601,
35
+ invalidParams: -32602,
36
+ internal: -32603,
37
+ },
38
+ provider: {
39
+ userRejectedRequest: 4001,
40
+ unauthorized: 4100,
41
+ unsupportedMethod: 4200,
42
+ disconnected: 4900,
43
+ chainDisconnected: 4901,
44
+ },
45
+ };
46
+ *
47
+ * For more information about error codes supported by metamask check
48
+ * https://github.com/MetaMask/eth-rpc-errors
49
+ * https://eips.ethereum.org/EIPS/eip-1474#error-codes
50
+ * https://eips.ethereum.org/EIPS/eip-1193#provider-errors
51
+ */
52
+
53
+ export const parseError = async (
54
+ e: any,
55
+ step?: LiFiStep,
56
+ process?: Process
57
+ ): Promise<LiFiError> => {
58
+ if (e instanceof LiFiError) {
59
+ return e
60
+ }
61
+
62
+ const errorCode = e.code || e.cause?.code
63
+
64
+ switch (errorCode) {
65
+ case EthersErrorType.CallExecption:
66
+ const defaultErrorMessage = await getTransactionNotSentMessage(
67
+ step,
68
+ process
69
+ )
70
+ try {
71
+ if (!step?.action.fromChainId) {
72
+ throw new Error('fromChainId is not defined.')
73
+ }
74
+
75
+ const response = await fetchTxErrorDetails(
76
+ e.transactionHash,
77
+ step?.action.fromChainId
78
+ )
79
+
80
+ const errorMessage = response?.error_message ?? e.reason
81
+
82
+ const isAllowanceError =
83
+ response?.error_message?.includes(
84
+ EthersErrorMessage.ERC20Allowance
85
+ ) || e.reason?.includes(EthersErrorMessage.ERC20Allowance)
86
+
87
+ if (isAllowanceError) {
88
+ return new TransactionError(
89
+ LiFiErrorCode.AllowanceRequired,
90
+ e.reason,
91
+ errorMessage,
92
+ e.stack
93
+ )
94
+ }
95
+
96
+ // Error messages other than allowance error will be handled in catch block
97
+ throw new Error(e)
98
+ } catch (error) {
99
+ return new ProviderError(
100
+ LiFiErrorCode.TransactionFailed,
101
+ e.reason,
102
+ defaultErrorMessage,
103
+ e.stack
104
+ )
105
+ }
106
+ case EthersErrorType.InsufficientFunds:
107
+ return new TransactionError(
108
+ LiFiErrorCode.InsufficientFunds,
109
+ e.message,
110
+ await getTransactionNotSentMessage(step, process),
111
+ e.stack
112
+ )
113
+ case EthersErrorType.ActionRejected:
114
+ case MetaMaskProviderErrorCode.userRejectedRequest:
115
+ return new TransactionError(
116
+ LiFiErrorCode.SignatureRejected,
117
+ e.message,
118
+ await getTransactionNotSentMessage(step, process),
119
+ e.stack
120
+ )
121
+ case LiFiErrorCode.TransactionUnprepared:
122
+ return new TransactionError(
123
+ LiFiErrorCode.TransactionUnprepared,
124
+ e.message,
125
+ await getTransactionNotSentMessage(step, process),
126
+ e.stack
127
+ )
128
+ case LiFiErrorCode.ValidationError:
129
+ return new TransactionError(
130
+ LiFiErrorCode.ValidationError,
131
+ e.message,
132
+ e.htmlMessage
133
+ )
134
+ case LiFiErrorCode.TransactionCanceled:
135
+ return new TransactionError(
136
+ LiFiErrorCode.TransactionCanceled,
137
+ e.message,
138
+ e.htmlMessage
139
+ )
140
+ case LiFiErrorCode.ExchangeRateUpdateCanceled:
141
+ return new TransactionError(
142
+ LiFiErrorCode.ExchangeRateUpdateCanceled,
143
+ e.message,
144
+ e.htmlMessage
145
+ )
146
+ case LiFiErrorCode.WalletChangedDuringExecution:
147
+ return new TransactionError(
148
+ LiFiErrorCode.WalletChangedDuringExecution,
149
+ e.message,
150
+ e.htmlMessage
151
+ )
152
+ default: {
153
+ if (errorCode && typeof errorCode === 'number') {
154
+ if (Object.values(MetaMaskErrorCodes.rpc).includes(errorCode as any)) {
155
+ // rpc errors
156
+ // underpriced errors are sent as internal errors, so we need to parse the message manually
157
+ if (
158
+ errorCode === MetaMaskErrorCodes.rpc.internal &&
159
+ (e.message?.includes(EthersErrorMessage.Underpriced) ||
160
+ e.message?.includes(EthersErrorMessage.LowReplacementFee))
161
+ ) {
162
+ return new RPCError(
163
+ LiFiErrorCode.TransactionUnderpriced,
164
+ ErrorMessage.TransactionUnderpriced,
165
+ await getTransactionNotSentMessage(step, process),
166
+ e.stack
167
+ )
168
+ }
169
+
170
+ if (
171
+ e.message?.includes(EthersErrorMessage.LowGas) ||
172
+ e.message?.includes(EthersErrorMessage.OutOfGas)
173
+ ) {
174
+ return new TransactionError(
175
+ LiFiErrorCode.GasLimitError,
176
+ ErrorMessage.GasLimitLow,
177
+ await getTransactionNotSentMessage(step, process),
178
+ e.stack
179
+ )
180
+ }
181
+
182
+ return new RPCError(
183
+ errorCode,
184
+ getMessageFromCode(errorCode),
185
+ await getTransactionNotSentMessage(step, process),
186
+ e.stack
187
+ )
188
+ }
189
+
190
+ // provider errors
191
+ if (
192
+ Object.values(MetaMaskErrorCodes.provider).includes(errorCode as any)
193
+ ) {
194
+ return new ProviderError(
195
+ errorCode,
196
+ getMessageFromCode(errorCode),
197
+ await getTransactionNotSentMessage(step, process),
198
+ e.stack
199
+ )
200
+ }
201
+ }
202
+ return new UnknownError(
203
+ LiFiErrorCode.InternalError,
204
+ e.message || ErrorMessage.UnknownError,
205
+ undefined,
206
+ e.stack
207
+ )
208
+ }
209
+ }
210
+ }
@@ -0,0 +1,48 @@
1
+ import { AddressZero, AlternativeAddressZero } from '../constants.js'
2
+
3
+ export const wait = (ms: number): Promise<undefined> => {
4
+ return new Promise((resolve) => {
5
+ setTimeout(resolve, ms)
6
+ })
7
+ }
8
+
9
+ /**
10
+ * Repeatedly calls a given asynchronous function until it resolves with a value
11
+ * @param toRepeat The function that should be repeated
12
+ * @param timeout The timeout in milliseconds between retries, defaults to 5000
13
+ * @returns The result of the toRepeat function
14
+ */
15
+ export const repeatUntilDone = async <T>(
16
+ toRepeat: () => Promise<T | undefined>,
17
+ timeout = 5000
18
+ ): Promise<T> => {
19
+ let result: T | undefined
20
+
21
+ while (!result) {
22
+ result = await toRepeat()
23
+ if (!result) {
24
+ await wait(timeout)
25
+ }
26
+ }
27
+
28
+ return result
29
+ }
30
+
31
+ export const isZeroAddress = (address: string): boolean => {
32
+ if (address === AddressZero || address === AlternativeAddressZero) {
33
+ return true
34
+ }
35
+ return false
36
+ }
37
+
38
+ export const isNativeTokenAddress = (address: string): boolean => {
39
+ if (
40
+ address === AddressZero ||
41
+ address === AlternativeAddressZero ||
42
+ // CELO native token
43
+ address === '0x471ece3750da237f93b8e339c536989b8978a438'
44
+ ) {
45
+ return true
46
+ }
47
+ return false
48
+ }
package/src/version.ts ADDED
@@ -0,0 +1,2 @@
1
+ export const name = '@lifi/sdk'
2
+ export const version = '3.0.0-beta.1'
package/dist/LiFi.d.ts DELETED
@@ -1,178 +0,0 @@
1
- import type { ChainId, ChainKey, ConnectionsRequest, ConnectionsResponse, ContractCallQuoteRequest, ExtendedChain, GasRecommendationRequest, GasRecommendationResponse, GetStatusRequest, LiFiStep, PossibilitiesRequest, PossibilitiesResponse, QuoteRequest, RequestOptions, RoutesRequest, RoutesResponse, StatusResponse, Token, TokenAmount, TokensRequest, TokensResponse, ToolsRequest, ToolsResponse } from '@lifi/types';
2
- import type { Hash, PublicClient } from 'viem';
3
- import type { ApproveTokenRequest, RevokeApprovalRequest, TokenAllowance, TokenSpender } from './allowance';
4
- import { RouteExecutionManager } from './execution/RouteExecutionManager';
5
- import type { SDKConfig, SDKOptions } from './types';
6
- export declare class LiFi extends RouteExecutionManager {
7
- private chainsService;
8
- constructor(options: SDKOptions);
9
- /**
10
- * Get the current configuration of the SDK
11
- * @returns - The config object
12
- */
13
- getConfig: () => SDKConfig;
14
- /**
15
- * Get the SDK configuration after all setup calls are finished
16
- * @returns - The config object
17
- */
18
- getConfigAsync: () => Promise<SDKConfig>;
19
- /**
20
- * Get an instance of a provider for a specific chain
21
- * @param chainId - Id of the chain the provider is for
22
- * @returns The public client for the given chain
23
- */
24
- getPublicClient: (chainId: number) => Promise<PublicClient>;
25
- /**
26
- * Set a new confuration for the SDK
27
- * @param configUpdate - An object containing the configuration fields that should be updated.
28
- * @returns The renewed config object
29
- */
30
- setConfig: (configUpdate: Partial<SDKOptions>) => SDKConfig;
31
- /**
32
- * Get a set of current possibilities based on a request that specifies which chains, exchanges and bridges are preferred or unwanted.
33
- * @param request - Object defining preferences regarding chain, exchanges and bridges
34
- * @param options - Request options
35
- * @returns Object listing current possibilities for any-to-any cross-chain-swaps based on the provided preferences.
36
- * @throws {LiFiError} Throws a LiFiError if request fails.
37
- * @deprecated We don't want to support this endpoint anymore in the future. /chains, /tools, /connections, and /tokens should be used instead
38
- */
39
- getPossibilities: (request?: PossibilitiesRequest, options?: RequestOptions) => Promise<PossibilitiesResponse>;
40
- /**
41
- * Fetch information about a Token
42
- * @param chain - Id or key of the chain that contains the token
43
- * @param token - Address or symbol of the token on the requested chain
44
- * @param options - Request options
45
- * @throws {LiFiError} - Throws a LiFiError if request fails
46
- * @returns Token information
47
- */
48
- getToken: (chain: ChainKey | ChainId, token: string, options?: RequestOptions) => Promise<Token>;
49
- /**
50
- * Get a quote for a token transfer
51
- * @param request - The configuration of the requested quote
52
- * @param options - Request options
53
- * @throws {LiFiError} - Throws a LiFiError if request fails
54
- * @returns Quote for a token transfer
55
- */
56
- getQuote: (request: QuoteRequest, options?: RequestOptions) => Promise<LiFiStep>;
57
- /**
58
- * Get a quote for a destination contract call
59
- * @param request - The configuration of the requested destination call
60
- * @param options - Request options
61
- * @throws {LiFiError} - Throws a LiFiError if request fails
62
- * @returns - Returns step.
63
- */
64
- getContractCallQuote: (request: ContractCallQuoteRequest, options?: RequestOptions) => Promise<LiFiStep>;
65
- /**
66
- * Check the status of a transfer. For cross chain transfers, the "bridge" parameter is required.
67
- * @param request - Configuration of the requested status
68
- * @param options - Rrquest options.
69
- * @throws {LiFiError} - Throws a LiFiError if request fails
70
- * @returns Returns status response.
71
- */
72
- getStatus: (request: GetStatusRequest, options?: RequestOptions) => Promise<StatusResponse>;
73
- /**
74
- * Get the available tools to bridge and swap tokens.
75
- * @param request - The configuration of the requested tools
76
- * @param options - Request options
77
- * @returns The tools that are available on the requested chains
78
- */
79
- getTools: (request?: ToolsRequest, options?: RequestOptions) => Promise<ToolsResponse>;
80
- /**
81
- * Get all known tokens.
82
- * @param request - The configuration of the requested tokens
83
- * @param options - Request options
84
- * @returns The tokens that are available on the requested chains
85
- */
86
- getTokens: (request?: TokensRequest, options?: RequestOptions) => Promise<TokensResponse>;
87
- /**
88
- * Get all available chains
89
- * @returns A list of all available chains
90
- * @throws {LiFiError} Throws a LiFiError if request fails.
91
- */
92
- getChains: () => Promise<ExtendedChain[]>;
93
- /**
94
- * Get a set of routes for a request that describes a transfer of tokens.
95
- * @param request - A description of the transfer.
96
- * @param options - Request options
97
- * @returns The resulting routes that can be used to realize the described transfer of tokens.
98
- * @throws {LiFiError} Throws a LiFiError if request fails.
99
- */
100
- getRoutes: (request: RoutesRequest, options?: RequestOptions) => Promise<RoutesResponse>;
101
- /**
102
- * Get the transaction data for a single step of a route
103
- * @param step - The step object.
104
- * @param options - Request options
105
- * @returns The step populated with the transaction data.
106
- * @throws {LiFiError} Throws a LiFiError if request fails.
107
- */
108
- getStepTransaction: (step: LiFiStep, options?: RequestOptions) => Promise<LiFiStep>;
109
- /**
110
- * Get gas recommendation for a certain chain
111
- * @param request - Configuration of the requested recommendation.
112
- * @param options - Request options
113
- * @throws {LiFiError} Throws a LiFiError if request fails.
114
- * @returns Gas recommendation response.
115
- */
116
- getGasRecommendation: (request: GasRecommendationRequest, options?: RequestOptions) => Promise<GasRecommendationResponse>;
117
- /**
118
- * Returns the balances of a specific token a wallet holds across all aggregated chains.
119
- * @param walletAddress - A wallet address.
120
- * @param token - A Token object.
121
- * @returns An object containing the token and the amounts on different chains.
122
- * @throws {ValidationError} Throws a ValidationError if parameters are invalid.
123
- */
124
- getTokenBalance: (walletAddress: string, token: Token) => Promise<TokenAmount | null>;
125
- /**
126
- * Returns the balances for a list tokens a wallet holds across all aggregated chains.
127
- * @param walletAddress - A wallet address.
128
- * @param tokens - A list of Token objects.
129
- * @returns A list of objects containing the tokens and the amounts on different chains.
130
- * @throws {ValidationError} Throws a ValidationError if parameters are invalid.
131
- */
132
- getTokenBalances: (walletAddress: string, tokens: Token[]) => Promise<TokenAmount[]>;
133
- /**
134
- * This method queries the balances of tokens for a specific list of chains for a given wallet.
135
- * @param walletAddress - A walletaddress.
136
- * @param tokensByChain - A list of Token objects organized by chain ids.
137
- * @returns A list of objects containing the tokens and the amounts on different chains organized by the chosen chains.
138
- * @throws {ValidationError} Throws a ValidationError if parameters are invalid.
139
- */
140
- getTokenBalancesByChain: (walletAddress: string, tokensByChain: {
141
- [chainId: number]: Token[];
142
- }) => Promise<{
143
- [chainId: number]: TokenAmount[];
144
- }>;
145
- /**
146
- * Get the current allowance for a certain token.
147
- * @param token - The token that should be checked
148
- * @param ownerAddress - The owner of the token
149
- * @param spenderAddress - The spender address that has to be approved
150
- * @returns Returns allowance
151
- */
152
- getTokenAllowance: (token: Token, ownerAddress: string, spenderAddress: string) => Promise<bigint | undefined>;
153
- /**
154
- * Get the current allowance for a list of token/spender address pairs.
155
- * @param ownerAddress - The owner of the tokens
156
- * @param tokens - A list of token and spender address pairs
157
- * @returns Returns array of tokens and their allowance
158
- */
159
- getTokenAllowanceMulticall: (ownerAddress: string, tokens: TokenSpender[]) => Promise<TokenAllowance[]>;
160
- /**
161
- * Set approval for a certain token and amount.
162
- * @param request - The approval request
163
- * @returns Returns Hash or nothing
164
- */
165
- setTokenApproval: (request: ApproveTokenRequest) => Promise<Hash | undefined>;
166
- /**
167
- * Revoke approval for a certain token.
168
- * @param request - The revoke request
169
- * @returns Returns Hash or nothing
170
- */
171
- revokeTokenApproval: (request: RevokeApprovalRequest) => Promise<Hash | undefined>;
172
- /**
173
- * Get all the available connections for swap/bridging tokens
174
- * @param connectionRequest ConnectionsRequest
175
- * @returns ConnectionsResponse
176
- */
177
- getConnections: (connectionRequest: ConnectionsRequest) => Promise<ConnectionsResponse>;
178
- }
package/dist/LiFi.js DELETED
@@ -1,253 +0,0 @@
1
- import { getTokenAllowance, getTokenAllowanceMulticall, revokeTokenApproval, setTokenAllowance, } from './allowance';
2
- import * as balance from './balance';
3
- import { getPublicClient } from './connectors';
4
- import { RouteExecutionManager } from './execution/RouteExecutionManager';
5
- import { checkPackageUpdates } from './helpers';
6
- import ApiService from './services/ApiService';
7
- import { ChainsService } from './services/ChainsService';
8
- import { isToken } from './typeguards';
9
- import { ValidationError } from './utils/errors';
10
- import { name, version } from './version';
11
- export class LiFi extends RouteExecutionManager {
12
- constructor(options) {
13
- super(options);
14
- /**
15
- * Get the current configuration of the SDK
16
- * @returns - The config object
17
- */
18
- this.getConfig = () => {
19
- return this.configService.getConfig();
20
- };
21
- /**
22
- * Get the SDK configuration after all setup calls are finished
23
- * @returns - The config object
24
- */
25
- this.getConfigAsync = () => {
26
- return this.configService.getConfigAsync();
27
- };
28
- /**
29
- * Get an instance of a provider for a specific chain
30
- * @param chainId - Id of the chain the provider is for
31
- * @returns The public client for the given chain
32
- */
33
- this.getPublicClient = (chainId) => {
34
- return getPublicClient(chainId);
35
- };
36
- /**
37
- * Set a new confuration for the SDK
38
- * @param configUpdate - An object containing the configuration fields that should be updated.
39
- * @returns The renewed config object
40
- */
41
- this.setConfig = (configUpdate) => {
42
- return this.configService.updateConfig(configUpdate);
43
- };
44
- /**
45
- * Get a set of current possibilities based on a request that specifies which chains, exchanges and bridges are preferred or unwanted.
46
- * @param request - Object defining preferences regarding chain, exchanges and bridges
47
- * @param options - Request options
48
- * @returns Object listing current possibilities for any-to-any cross-chain-swaps based on the provided preferences.
49
- * @throws {LiFiError} Throws a LiFiError if request fails.
50
- * @deprecated We don't want to support this endpoint anymore in the future. /chains, /tools, /connections, and /tokens should be used instead
51
- */
52
- this.getPossibilities = async (request, options) => {
53
- return ApiService.getPossibilities(request, options);
54
- };
55
- /**
56
- * Fetch information about a Token
57
- * @param chain - Id or key of the chain that contains the token
58
- * @param token - Address or symbol of the token on the requested chain
59
- * @param options - Request options
60
- * @throws {LiFiError} - Throws a LiFiError if request fails
61
- * @returns Token information
62
- */
63
- this.getToken = async (chain, token, options) => {
64
- return ApiService.getToken(chain, token, options);
65
- };
66
- /**
67
- * Get a quote for a token transfer
68
- * @param request - The configuration of the requested quote
69
- * @param options - Request options
70
- * @throws {LiFiError} - Throws a LiFiError if request fails
71
- * @returns Quote for a token transfer
72
- */
73
- this.getQuote = async (request, options) => {
74
- return ApiService.getQuote(request, options);
75
- };
76
- /**
77
- * Get a quote for a destination contract call
78
- * @param request - The configuration of the requested destination call
79
- * @param options - Request options
80
- * @throws {LiFiError} - Throws a LiFiError if request fails
81
- * @returns - Returns step.
82
- */
83
- this.getContractCallQuote = async (request, options) => {
84
- return ApiService.getContractCallQuote(request, options);
85
- };
86
- /**
87
- * Check the status of a transfer. For cross chain transfers, the "bridge" parameter is required.
88
- * @param request - Configuration of the requested status
89
- * @param options - Rrquest options.
90
- * @throws {LiFiError} - Throws a LiFiError if request fails
91
- * @returns Returns status response.
92
- */
93
- this.getStatus = async (request, options) => {
94
- return ApiService.getStatus(request, options);
95
- };
96
- /**
97
- * Get the available tools to bridge and swap tokens.
98
- * @param request - The configuration of the requested tools
99
- * @param options - Request options
100
- * @returns The tools that are available on the requested chains
101
- */
102
- this.getTools = async (request, options) => {
103
- return ApiService.getTools(request || {}, options);
104
- };
105
- /**
106
- * Get all known tokens.
107
- * @param request - The configuration of the requested tokens
108
- * @param options - Request options
109
- * @returns The tokens that are available on the requested chains
110
- */
111
- this.getTokens = async (request, options) => {
112
- return ApiService.getTokens(request || {}, options);
113
- };
114
- /**
115
- * Get all available chains
116
- * @returns A list of all available chains
117
- * @throws {LiFiError} Throws a LiFiError if request fails.
118
- */
119
- this.getChains = async () => {
120
- return this.chainsService.getChains();
121
- };
122
- /**
123
- * Get a set of routes for a request that describes a transfer of tokens.
124
- * @param request - A description of the transfer.
125
- * @param options - Request options
126
- * @returns The resulting routes that can be used to realize the described transfer of tokens.
127
- * @throws {LiFiError} Throws a LiFiError if request fails.
128
- */
129
- this.getRoutes = async (request, options) => {
130
- return ApiService.getRoutes(request, options);
131
- };
132
- /**
133
- * Get the transaction data for a single step of a route
134
- * @param step - The step object.
135
- * @param options - Request options
136
- * @returns The step populated with the transaction data.
137
- * @throws {LiFiError} Throws a LiFiError if request fails.
138
- */
139
- this.getStepTransaction = async (step, options) => {
140
- return ApiService.getStepTransaction(step, options);
141
- };
142
- /**
143
- * Get gas recommendation for a certain chain
144
- * @param request - Configuration of the requested recommendation.
145
- * @param options - Request options
146
- * @throws {LiFiError} Throws a LiFiError if request fails.
147
- * @returns Gas recommendation response.
148
- */
149
- this.getGasRecommendation = async (request, options) => {
150
- return ApiService.getGasRecommendation(request, options);
151
- };
152
- /**
153
- * Returns the balances of a specific token a wallet holds across all aggregated chains.
154
- * @param walletAddress - A wallet address.
155
- * @param token - A Token object.
156
- * @returns An object containing the token and the amounts on different chains.
157
- * @throws {ValidationError} Throws a ValidationError if parameters are invalid.
158
- */
159
- this.getTokenBalance = async (walletAddress, token) => {
160
- if (!walletAddress) {
161
- throw new ValidationError('Missing walletAddress.');
162
- }
163
- if (!isToken(token)) {
164
- throw new ValidationError(`Invalid token passed: address "${token.address}" on chainId "${token.chainId}"`);
165
- }
166
- return balance.getTokenBalance(walletAddress, token);
167
- };
168
- /**
169
- * Returns the balances for a list tokens a wallet holds across all aggregated chains.
170
- * @param walletAddress - A wallet address.
171
- * @param tokens - A list of Token objects.
172
- * @returns A list of objects containing the tokens and the amounts on different chains.
173
- * @throws {ValidationError} Throws a ValidationError if parameters are invalid.
174
- */
175
- this.getTokenBalances = async (walletAddress, tokens) => {
176
- if (!walletAddress) {
177
- throw new ValidationError('Missing walletAddress.');
178
- }
179
- const invalidTokens = tokens.filter((token) => !isToken(token));
180
- if (invalidTokens.length) {
181
- throw new ValidationError(`Invalid token passed: address "${invalidTokens[0].address}" on chainId "${invalidTokens[0].chainId}"`);
182
- }
183
- return balance.getTokenBalances(walletAddress, tokens);
184
- };
185
- /**
186
- * This method queries the balances of tokens for a specific list of chains for a given wallet.
187
- * @param walletAddress - A walletaddress.
188
- * @param tokensByChain - A list of Token objects organized by chain ids.
189
- * @returns A list of objects containing the tokens and the amounts on different chains organized by the chosen chains.
190
- * @throws {ValidationError} Throws a ValidationError if parameters are invalid.
191
- */
192
- this.getTokenBalancesByChain = async (walletAddress, tokensByChain) => {
193
- if (!walletAddress) {
194
- throw new ValidationError('Missing walletAddress.');
195
- }
196
- const tokenList = Object.values(tokensByChain).flat();
197
- const invalidTokens = tokenList.filter((token) => !isToken(token));
198
- if (invalidTokens.length) {
199
- throw new ValidationError(`Invalid token passed: address "${invalidTokens[0].address}" on chainId "${invalidTokens[0].chainId}"`);
200
- }
201
- return balance.getTokenBalancesByChain(walletAddress, tokensByChain);
202
- };
203
- /**
204
- * Get the current allowance for a certain token.
205
- * @param token - The token that should be checked
206
- * @param ownerAddress - The owner of the token
207
- * @param spenderAddress - The spender address that has to be approved
208
- * @returns Returns allowance
209
- */
210
- this.getTokenAllowance = async (token, ownerAddress, spenderAddress) => {
211
- return getTokenAllowance(token, ownerAddress, spenderAddress);
212
- };
213
- /**
214
- * Get the current allowance for a list of token/spender address pairs.
215
- * @param ownerAddress - The owner of the tokens
216
- * @param tokens - A list of token and spender address pairs
217
- * @returns Returns array of tokens and their allowance
218
- */
219
- this.getTokenAllowanceMulticall = async (ownerAddress, tokens) => {
220
- return getTokenAllowanceMulticall(ownerAddress, tokens);
221
- };
222
- /**
223
- * Set approval for a certain token and amount.
224
- * @param request - The approval request
225
- * @returns Returns Hash or nothing
226
- */
227
- this.setTokenApproval = (request) => {
228
- return setTokenAllowance(request);
229
- };
230
- /**
231
- * Revoke approval for a certain token.
232
- * @param request - The revoke request
233
- * @returns Returns Hash or nothing
234
- */
235
- this.revokeTokenApproval = (request) => {
236
- return revokeTokenApproval(request);
237
- };
238
- /**
239
- * Get all the available connections for swap/bridging tokens
240
- * @param connectionRequest ConnectionsRequest
241
- * @returns ConnectionsResponse
242
- */
243
- this.getConnections = async (connectionRequest) => {
244
- const connections = await ApiService.getAvailableConnections(connectionRequest);
245
- return connections;
246
- };
247
- this.chainsService = ChainsService.getInstance();
248
- this.chainsService.getChains().then((chains) => {
249
- this.configService.updateChains(chains);
250
- });
251
- checkPackageUpdates(name, version, options.disableVersionCheck);
252
- }
253
- }