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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. package/package.json +40 -88
  2. package/src/_cjs/config.js +90 -0
  3. package/src/_cjs/config.js.map +1 -0
  4. package/{dist/cjs → src/_cjs}/constants.js +3 -5
  5. package/src/_cjs/constants.js.map +1 -0
  6. package/src/_cjs/core/BaseStepExecutor.js +55 -0
  7. package/src/_cjs/core/BaseStepExecutor.js.map +1 -0
  8. package/src/_cjs/core/EVM/EVM.js +43 -0
  9. package/src/_cjs/core/EVM/EVM.js.map +1 -0
  10. package/src/_cjs/core/EVM/EVMStepExecutor.js +304 -0
  11. package/src/_cjs/core/EVM/EVMStepExecutor.js.map +1 -0
  12. package/{dist/cjs/types → src/_cjs/core/EVM}/abi.js +1 -0
  13. package/src/_cjs/core/EVM/abi.js.map +1 -0
  14. package/{dist/cjs/execution → src/_cjs/core/EVM}/checkAllowance.js +19 -12
  15. package/src/_cjs/core/EVM/checkAllowance.js.map +1 -0
  16. package/{dist/cjs/allowance → src/_cjs/core/EVM}/getAllowance.js +13 -17
  17. package/src/_cjs/core/EVM/getAllowance.js.map +1 -0
  18. package/src/_cjs/core/EVM/getENSAddress.js +20 -0
  19. package/src/_cjs/core/EVM/getENSAddress.js.map +1 -0
  20. package/{dist/cjs/balance/getBalance.js → src/_cjs/core/EVM/getEVMBalance.js} +20 -22
  21. package/src/_cjs/core/EVM/getEVMBalance.js.map +1 -0
  22. package/{dist/cjs/execution → src/_cjs/core/EVM}/multisig.js +7 -11
  23. package/src/_cjs/core/EVM/multisig.js.map +1 -0
  24. package/src/_cjs/core/EVM/publicClient.js +43 -0
  25. package/src/_cjs/core/EVM/publicClient.js.map +1 -0
  26. package/{dist/cjs/allowance → src/_cjs/core/EVM}/setAllowance.js +11 -12
  27. package/src/_cjs/core/EVM/setAllowance.js.map +1 -0
  28. package/src/_cjs/core/EVM/switchChain.js +38 -0
  29. package/src/_cjs/core/EVM/switchChain.js.map +1 -0
  30. package/src/_cjs/core/EVM/types.js +9 -0
  31. package/src/_cjs/core/EVM/types.js.map +1 -0
  32. package/{dist/cjs/utils/getMaxPriorityFeePerGas.js → src/_cjs/core/EVM/utils.js} +13 -3
  33. package/src/_cjs/core/EVM/utils.js.map +1 -0
  34. package/src/_cjs/core/Solana/Solana.js +38 -0
  35. package/src/_cjs/core/Solana/Solana.js.map +1 -0
  36. package/src/_cjs/core/Solana/SolanaStepExecutor.js +174 -0
  37. package/src/_cjs/core/Solana/SolanaStepExecutor.js.map +1 -0
  38. package/src/_cjs/core/Solana/connection.js +19 -0
  39. package/src/_cjs/core/Solana/connection.js.map +1 -0
  40. package/src/_cjs/core/Solana/getSNSAddress.js +26 -0
  41. package/src/_cjs/core/Solana/getSNSAddress.js.map +1 -0
  42. package/src/_cjs/core/Solana/getSolanaBalance.js +60 -0
  43. package/src/_cjs/core/Solana/getSolanaBalance.js.map +1 -0
  44. package/src/_cjs/core/Solana/isAddress.js +15 -0
  45. package/src/_cjs/core/Solana/isAddress.js.map +1 -0
  46. package/src/_cjs/core/Solana/types.js +10 -0
  47. package/src/_cjs/core/Solana/types.js.map +1 -0
  48. package/src/_cjs/core/StatusManager.js +167 -0
  49. package/src/_cjs/core/StatusManager.js.map +1 -0
  50. package/{dist/cjs/execution → src/_cjs/core}/checkBalance.js +6 -6
  51. package/src/_cjs/core/checkBalance.js.map +1 -0
  52. package/src/_cjs/core/execution.js +134 -0
  53. package/src/_cjs/core/execution.js.map +1 -0
  54. package/src/_cjs/core/executionState.js +29 -0
  55. package/src/_cjs/core/executionState.js.map +1 -0
  56. package/src/_cjs/core/index.js +7 -0
  57. package/src/_cjs/core/index.js.map +1 -0
  58. package/src/_cjs/core/prepareRestart.js +23 -0
  59. package/src/_cjs/core/prepareRestart.js.map +1 -0
  60. package/src/_cjs/core/provider.js +15 -0
  61. package/src/_cjs/core/provider.js.map +1 -0
  62. package/src/_cjs/core/rpc.js +18 -0
  63. package/src/_cjs/core/rpc.js.map +1 -0
  64. package/src/_cjs/core/stepComparison.js +25 -0
  65. package/src/_cjs/core/stepComparison.js.map +1 -0
  66. package/{dist/cjs/allowance → src/_cjs/core}/types.js +1 -0
  67. package/src/_cjs/core/types.js.map +1 -0
  68. package/{dist/cjs/execution → src/_cjs/core}/utils.js +2 -11
  69. package/src/_cjs/core/utils.js.map +1 -0
  70. package/{dist/cjs/execution → src/_cjs/core}/waitForReceivingTransaction.js +13 -14
  71. package/src/_cjs/core/waitForReceivingTransaction.js.map +1 -0
  72. package/src/_cjs/createConfig.js +32 -0
  73. package/src/_cjs/createConfig.js.map +1 -0
  74. package/src/_cjs/helpers.js +57 -0
  75. package/src/_cjs/helpers.js.map +1 -0
  76. package/src/_cjs/index.js +23 -0
  77. package/src/_cjs/index.js.map +1 -0
  78. package/src/_cjs/package.json +1 -0
  79. package/src/_cjs/request.js +66 -0
  80. package/src/_cjs/request.js.map +1 -0
  81. package/src/_cjs/services/api.js +309 -0
  82. package/src/_cjs/services/api.js.map +1 -0
  83. package/src/_cjs/services/balance.js +49 -0
  84. package/src/_cjs/services/balance.js.map +1 -0
  85. package/src/_cjs/services/getNameServiceAddress.js +29 -0
  86. package/src/_cjs/services/getNameServiceAddress.js.map +1 -0
  87. package/{dist/cjs → src/_cjs}/typeguards.js +1 -0
  88. package/src/_cjs/typeguards.js.map +1 -0
  89. package/src/_cjs/types/index.js +5 -0
  90. package/src/_cjs/types/index.js.map +1 -0
  91. package/{dist/cjs/types/internal.types.js → src/_cjs/types/internal.js} +1 -0
  92. package/src/_cjs/types/internal.js.map +1 -0
  93. package/{dist/cjs → src/_cjs}/utils/errors.js +26 -3
  94. package/src/_cjs/utils/errors.js.map +1 -0
  95. package/src/_cjs/utils/getTransactionMessage.js +31 -0
  96. package/src/_cjs/utils/getTransactionMessage.js.map +1 -0
  97. package/src/_cjs/utils/index.js +9 -0
  98. package/src/_cjs/utils/index.js.map +1 -0
  99. package/{dist/cjs → src/_cjs}/utils/median.js +1 -0
  100. package/src/_cjs/utils/median.js.map +1 -0
  101. package/src/_cjs/utils/parseBackendError.js +27 -0
  102. package/src/_cjs/utils/parseBackendError.js.map +1 -0
  103. package/src/_cjs/utils/parseError.js +69 -0
  104. package/src/_cjs/utils/parseError.js.map +1 -0
  105. package/{dist/cjs → src/_cjs}/utils/utils.js +5 -11
  106. package/src/_cjs/utils/utils.js.map +1 -0
  107. package/{dist/cjs → src/_cjs}/version.js +2 -1
  108. package/src/_cjs/version.js.map +1 -0
  109. package/src/_esm/config.js +87 -0
  110. package/src/_esm/config.js.map +1 -0
  111. package/{dist → src/_esm}/constants.js +2 -4
  112. package/src/_esm/constants.js.map +1 -0
  113. package/src/_esm/core/BaseStepExecutor.js +52 -0
  114. package/src/_esm/core/BaseStepExecutor.js.map +1 -0
  115. package/src/_esm/core/EVM/EVM.js +39 -0
  116. package/src/_esm/core/EVM/EVM.js.map +1 -0
  117. package/src/_esm/core/EVM/EVMStepExecutor.js +329 -0
  118. package/src/_esm/core/EVM/EVMStepExecutor.js.map +1 -0
  119. package/{dist/types → src/_esm/core/EVM}/abi.js +1 -0
  120. package/src/_esm/core/EVM/abi.js.map +1 -0
  121. package/{dist/execution → src/_esm/core/EVM}/checkAllowance.js +14 -5
  122. package/src/_esm/core/EVM/checkAllowance.js.map +1 -0
  123. package/{dist/allowance → src/_esm/core/EVM}/getAllowance.js +19 -6
  124. package/src/_esm/core/EVM/getAllowance.js.map +1 -0
  125. package/src/_esm/core/EVM/getENSAddress.js +17 -0
  126. package/src/_esm/core/EVM/getENSAddress.js.map +1 -0
  127. package/{dist/balance/getBalance.js → src/_esm/core/EVM/getEVMBalance.js} +10 -12
  128. package/src/_esm/core/EVM/getEVMBalance.js.map +1 -0
  129. package/{dist/execution → src/_esm/core/EVM}/multisig.js +5 -6
  130. package/src/_esm/core/EVM/multisig.js.map +1 -0
  131. package/src/_esm/core/EVM/publicClient.js +46 -0
  132. package/src/_esm/core/EVM/publicClient.js.map +1 -0
  133. package/{dist/allowance → src/_esm/core/EVM}/setAllowance.js +23 -4
  134. package/src/_esm/core/EVM/setAllowance.js.map +1 -0
  135. package/{dist/execution → src/_esm/core/EVM}/switchChain.js +7 -4
  136. package/src/_esm/core/EVM/switchChain.js.map +1 -0
  137. package/src/_esm/core/EVM/types.js +6 -0
  138. package/src/_esm/core/EVM/types.js.map +1 -0
  139. package/{dist/utils/getMaxPriorityFeePerGas.js → src/_esm/core/EVM/utils.js} +12 -1
  140. package/src/_esm/core/EVM/utils.js.map +1 -0
  141. package/src/_esm/core/Solana/Solana.js +34 -0
  142. package/src/_esm/core/Solana/Solana.js.map +1 -0
  143. package/src/_esm/core/Solana/SolanaStepExecutor.js +176 -0
  144. package/src/_esm/core/Solana/SolanaStepExecutor.js.map +1 -0
  145. package/src/_esm/core/Solana/connection.js +20 -0
  146. package/src/_esm/core/Solana/connection.js.map +1 -0
  147. package/src/_esm/core/Solana/getSNSAddress.js +26 -0
  148. package/src/_esm/core/Solana/getSNSAddress.js.map +1 -0
  149. package/src/_esm/core/Solana/getSolanaBalance.js +56 -0
  150. package/src/_esm/core/Solana/getSolanaBalance.js.map +1 -0
  151. package/src/_esm/core/Solana/isAddress.js +11 -0
  152. package/src/_esm/core/Solana/isAddress.js.map +1 -0
  153. package/src/_esm/core/Solana/types.js +7 -0
  154. package/src/_esm/core/Solana/types.js.map +1 -0
  155. package/src/_esm/core/StatusManager.js +203 -0
  156. package/src/_esm/core/StatusManager.js.map +1 -0
  157. package/{dist/execution → src/_esm/core}/checkBalance.js +4 -3
  158. package/src/_esm/core/checkBalance.js.map +1 -0
  159. package/src/_esm/core/execution.js +172 -0
  160. package/src/_esm/core/execution.js.map +1 -0
  161. package/src/_esm/core/executionState.js +26 -0
  162. package/src/_esm/core/executionState.js.map +1 -0
  163. package/src/_esm/core/index.js +4 -0
  164. package/src/_esm/core/index.js.map +1 -0
  165. package/src/_esm/core/prepareRestart.js +64 -0
  166. package/src/_esm/core/prepareRestart.js.map +1 -0
  167. package/src/_esm/core/provider.js +11 -0
  168. package/src/_esm/core/provider.js.map +1 -0
  169. package/src/_esm/core/rpc.js +14 -0
  170. package/src/_esm/core/rpc.js.map +1 -0
  171. package/{dist/execution → src/_esm/core}/stepComparison.js +7 -5
  172. package/src/_esm/core/stepComparison.js.map +1 -0
  173. package/src/_esm/core/types.js +2 -0
  174. package/src/_esm/core/types.js.map +1 -0
  175. package/{dist/execution → src/_esm/core}/utils.js +4 -3
  176. package/src/_esm/core/utils.js.map +1 -0
  177. package/{dist/execution → src/_esm/core}/waitForReceivingTransaction.js +11 -9
  178. package/src/_esm/core/waitForReceivingTransaction.js.map +1 -0
  179. package/src/_esm/createConfig.js +28 -0
  180. package/src/_esm/createConfig.js.map +1 -0
  181. package/{dist → src/_esm}/helpers.js +5 -17
  182. package/src/_esm/helpers.js.map +1 -0
  183. package/src/_esm/index.js +14 -0
  184. package/src/_esm/index.js.map +1 -0
  185. package/src/_esm/package.json +1 -0
  186. package/{dist → src/_esm}/request.js +23 -13
  187. package/src/_esm/request.js.map +1 -0
  188. package/src/_esm/services/api.js +378 -0
  189. package/src/_esm/services/api.js.map +1 -0
  190. package/src/_esm/services/balance.js +65 -0
  191. package/src/_esm/services/balance.js.map +1 -0
  192. package/src/_esm/services/getNameServiceAddress.js +25 -0
  193. package/src/_esm/services/getNameServiceAddress.js.map +1 -0
  194. package/{dist → src/_esm}/typeguards.js +1 -0
  195. package/src/_esm/typeguards.js.map +1 -0
  196. package/src/_esm/types/index.js +2 -0
  197. package/src/_esm/types/index.js.map +1 -0
  198. package/src/_esm/types/internal.js +2 -0
  199. package/src/_esm/types/internal.js.map +1 -0
  200. package/{dist → src/_esm}/utils/errors.js +26 -0
  201. package/src/_esm/utils/errors.js.map +1 -0
  202. package/src/_esm/utils/getTransactionMessage.js +28 -0
  203. package/src/_esm/utils/getTransactionMessage.js.map +1 -0
  204. package/src/_esm/utils/index.js +6 -0
  205. package/src/_esm/utils/index.js.map +1 -0
  206. package/{dist → src/_esm}/utils/median.js +1 -0
  207. package/src/_esm/utils/median.js.map +1 -0
  208. package/src/_esm/utils/parseBackendError.js +24 -0
  209. package/src/_esm/utils/parseBackendError.js.map +1 -0
  210. package/{dist → src/_esm}/utils/parseError.js +6 -53
  211. package/src/_esm/utils/parseError.js.map +1 -0
  212. package/{dist → src/_esm}/utils/utils.js +2 -1
  213. package/src/_esm/utils/utils.js.map +1 -0
  214. package/src/_esm/version.js +3 -0
  215. package/src/_esm/version.js.map +1 -0
  216. package/src/_types/config.d.ts +15 -0
  217. package/src/_types/config.d.ts.map +1 -0
  218. package/{dist/cjs → src/_types}/constants.d.ts +2 -4
  219. package/src/_types/constants.d.ts.map +1 -0
  220. package/src/_types/core/BaseStepExecutor.d.ts +13 -0
  221. package/src/_types/core/BaseStepExecutor.d.ts.map +1 -0
  222. package/src/_types/core/EVM/EVM.d.ts +3 -0
  223. package/src/_types/core/EVM/EVM.d.ts.map +1 -0
  224. package/src/_types/core/EVM/EVMStepExecutor.d.ts +17 -0
  225. package/src/_types/core/EVM/EVMStepExecutor.d.ts.map +1 -0
  226. package/{dist/cjs/types → src/_types/core/EVM}/abi.d.ts +1 -0
  227. package/src/_types/core/EVM/abi.d.ts.map +1 -0
  228. package/src/_types/core/EVM/checkAllowance.d.ts +6 -0
  229. package/src/_types/core/EVM/checkAllowance.d.ts.map +1 -0
  230. package/{dist/cjs/allowance → src/_types/core/EVM}/getAllowance.d.ts +15 -1
  231. package/src/_types/core/EVM/getAllowance.d.ts.map +1 -0
  232. package/src/_types/core/EVM/getENSAddress.d.ts +2 -0
  233. package/src/_types/core/EVM/getENSAddress.d.ts.map +1 -0
  234. package/src/_types/core/EVM/getEVMBalance.d.ts +3 -0
  235. package/src/_types/core/EVM/getEVMBalance.d.ts.map +1 -0
  236. package/src/_types/core/EVM/multisig.d.ts +6 -0
  237. package/src/_types/core/EVM/multisig.d.ts.map +1 -0
  238. package/src/_types/core/EVM/publicClient.d.ts +8 -0
  239. package/src/_types/core/EVM/publicClient.d.ts.map +1 -0
  240. package/src/_types/core/EVM/setAllowance.d.ts +25 -0
  241. package/src/_types/core/EVM/setAllowance.d.ts.map +1 -0
  242. package/{dist/cjs/execution → src/_types/core/EVM}/switchChain.d.ts +5 -4
  243. package/src/_types/core/EVM/switchChain.d.ts.map +1 -0
  244. package/src/_types/core/EVM/types.d.ts +55 -0
  245. package/src/_types/core/EVM/types.d.ts.map +1 -0
  246. package/src/_types/core/EVM/utils.d.ts +10 -0
  247. package/src/_types/core/EVM/utils.d.ts.map +1 -0
  248. package/src/_types/core/Solana/Solana.d.ts +3 -0
  249. package/src/_types/core/Solana/Solana.d.ts.map +1 -0
  250. package/src/_types/core/Solana/SolanaStepExecutor.d.ts +13 -0
  251. package/src/_types/core/Solana/SolanaStepExecutor.d.ts.map +1 -0
  252. package/src/_types/core/Solana/connection.d.ts +8 -0
  253. package/src/_types/core/Solana/connection.d.ts.map +1 -0
  254. package/src/_types/core/Solana/getSNSAddress.d.ts +2 -0
  255. package/src/_types/core/Solana/getSNSAddress.d.ts.map +1 -0
  256. package/src/_types/core/Solana/getSolanaBalance.d.ts +3 -0
  257. package/src/_types/core/Solana/getSolanaBalance.d.ts.map +1 -0
  258. package/src/_types/core/Solana/isAddress.d.ts +2 -0
  259. package/src/_types/core/Solana/isAddress.d.ts.map +1 -0
  260. package/src/_types/core/Solana/types.d.ts +13 -0
  261. package/src/_types/core/Solana/types.d.ts.map +1 -0
  262. package/{dist/cjs/execution → src/_types/core}/StatusManager.d.ts +15 -28
  263. package/src/_types/core/StatusManager.d.ts.map +1 -0
  264. package/src/_types/core/checkBalance.d.ts +3 -0
  265. package/src/_types/core/checkBalance.d.ts.map +1 -0
  266. package/src/_types/core/execution.d.ts +42 -0
  267. package/src/_types/core/execution.d.ts.map +1 -0
  268. package/src/_types/core/executionState.d.ts +17 -0
  269. package/src/_types/core/executionState.d.ts.map +1 -0
  270. package/src/_types/core/index.d.ts +4 -0
  271. package/src/_types/core/index.d.ts.map +1 -0
  272. package/src/_types/core/prepareRestart.d.ts +3 -0
  273. package/src/_types/core/prepareRestart.d.ts.map +1 -0
  274. package/src/_types/core/provider.d.ts +3 -0
  275. package/src/_types/core/provider.d.ts.map +1 -0
  276. package/src/_types/core/rpc.d.ts +4 -0
  277. package/src/_types/core/rpc.d.ts.map +1 -0
  278. package/{dist/execution → src/_types/core}/stepComparison.d.ts +7 -4
  279. package/src/_types/core/stepComparison.d.ts.map +1 -0
  280. package/src/_types/core/types.d.ts +81 -0
  281. package/src/_types/core/types.d.ts.map +1 -0
  282. package/{dist/execution → src/_types/core}/utils.d.ts +3 -2
  283. package/src/_types/core/utils.d.ts.map +1 -0
  284. package/src/_types/core/waitForReceivingTransaction.d.ts +4 -0
  285. package/src/_types/core/waitForReceivingTransaction.d.ts.map +1 -0
  286. package/src/_types/createConfig.d.ts +4 -0
  287. package/src/_types/createConfig.d.ts.map +1 -0
  288. package/{dist → src/_types}/helpers.d.ts +4 -3
  289. package/src/_types/helpers.d.ts.map +1 -0
  290. package/src/_types/index.d.ts +15 -0
  291. package/src/_types/index.d.ts.map +1 -0
  292. package/{dist → src/_types}/request.d.ts +1 -0
  293. package/src/_types/request.d.ts.map +1 -0
  294. package/src/_types/services/api.d.ts +89 -0
  295. package/src/_types/services/api.d.ts.map +1 -0
  296. package/src/_types/services/balance.d.ts +30 -0
  297. package/src/_types/services/balance.d.ts.map +1 -0
  298. package/src/_types/services/getNameServiceAddress.d.ts +3 -0
  299. package/src/_types/services/getNameServiceAddress.d.ts.map +1 -0
  300. package/{dist/cjs → src/_types}/typeguards.d.ts +3 -2
  301. package/src/_types/typeguards.d.ts.map +1 -0
  302. package/src/_types/types/index.d.ts +2 -0
  303. package/src/_types/types/index.d.ts.map +1 -0
  304. package/src/_types/types/internal.d.ts +59 -0
  305. package/src/_types/types/internal.d.ts.map +1 -0
  306. package/{dist → src/_types}/utils/errors.d.ts +3 -1
  307. package/src/_types/utils/errors.d.ts.map +1 -0
  308. package/src/_types/utils/getTransactionMessage.d.ts +4 -0
  309. package/src/_types/utils/getTransactionMessage.d.ts.map +1 -0
  310. package/src/_types/utils/index.d.ts +6 -0
  311. package/src/_types/utils/index.d.ts.map +1 -0
  312. package/{dist/cjs → src/_types}/utils/median.d.ts +1 -0
  313. package/src/_types/utils/median.d.ts.map +1 -0
  314. package/src/_types/utils/parseBackendError.d.ts +3 -0
  315. package/src/_types/utils/parseBackendError.d.ts.map +1 -0
  316. package/{dist → src/_types}/utils/parseError.d.ts +4 -6
  317. package/src/_types/utils/parseError.d.ts.map +1 -0
  318. package/{dist → src/_types}/utils/utils.d.ts +1 -0
  319. package/src/_types/utils/utils.d.ts.map +1 -0
  320. package/src/_types/version.d.ts +3 -0
  321. package/src/_types/version.d.ts.map +1 -0
  322. package/src/config.ts +91 -0
  323. package/src/constants.ts +4 -0
  324. package/src/core/BaseStepExecutor.ts +40 -0
  325. package/src/core/EVM/EVM.ts +47 -0
  326. package/src/core/EVM/EVMStepExecutor.ts +503 -0
  327. package/src/core/EVM/abi.ts +47 -0
  328. package/src/core/EVM/checkAllowance.ts +168 -0
  329. package/src/core/EVM/getAllowance.ts +144 -0
  330. package/src/core/EVM/getENSAddress.ts +18 -0
  331. package/src/core/EVM/getEVMBalance.ts +118 -0
  332. package/src/core/EVM/multisig.ts +53 -0
  333. package/src/core/EVM/publicClient.ts +54 -0
  334. package/src/core/EVM/setAllowance.ts +144 -0
  335. package/src/core/EVM/switchChain.ts +77 -0
  336. package/src/core/EVM/types.ts +73 -0
  337. package/src/core/EVM/utils.ts +48 -0
  338. package/src/core/Solana/Solana.ts +41 -0
  339. package/src/core/Solana/SolanaStepExecutor.ts +272 -0
  340. package/src/core/Solana/connection.ts +20 -0
  341. package/src/core/Solana/getSNSAddress.ts +33 -0
  342. package/src/core/Solana/getSolanaBalance.ts +72 -0
  343. package/src/core/Solana/isAddress.ts +10 -0
  344. package/src/core/Solana/types.ts +18 -0
  345. package/src/core/StatusManager.ts +231 -0
  346. package/src/core/checkBalance.ts +48 -0
  347. package/src/core/execution.ts +210 -0
  348. package/src/core/executionState.ts +44 -0
  349. package/src/core/index.ts +3 -0
  350. package/src/core/prepareRestart.ts +82 -0
  351. package/src/core/provider.ts +12 -0
  352. package/src/core/rpc.ts +15 -0
  353. package/src/core/stepComparison.ts +51 -0
  354. package/src/core/types.ts +118 -0
  355. package/src/core/utils.ts +105 -0
  356. package/src/core/waitForReceivingTransaction.ts +74 -0
  357. package/src/createConfig.ts +33 -0
  358. package/src/helpers.ts +83 -0
  359. package/src/index.ts +18 -0
  360. package/src/request.ts +79 -0
  361. package/src/services/api.ts +509 -0
  362. package/src/services/balance.ts +93 -0
  363. package/src/services/getNameServiceAddress.ts +30 -0
  364. package/src/typeguards.ts +89 -0
  365. package/src/types/index.ts +1 -0
  366. package/src/types/internal.ts +62 -0
  367. package/src/utils/errors.ts +232 -0
  368. package/src/utils/getTransactionMessage.ts +46 -0
  369. package/src/utils/index.ts +5 -0
  370. package/src/utils/median.ts +11 -0
  371. package/src/utils/parseBackendError.ts +50 -0
  372. package/src/utils/parseError.ts +210 -0
  373. package/src/utils/utils.ts +48 -0
  374. package/src/version.ts +2 -0
  375. package/dist/LiFi.d.ts +0 -175
  376. package/dist/LiFi.js +0 -250
  377. package/dist/allowance/getAllowance.d.ts +0 -6
  378. package/dist/allowance/index.d.ts +0 -3
  379. package/dist/allowance/index.js +0 -3
  380. package/dist/allowance/setAllowance.d.ts +0 -6
  381. package/dist/allowance/types.d.ts +0 -27
  382. package/dist/allowance/types.js +0 -1
  383. package/dist/balance/getBalance.d.ts +0 -2
  384. package/dist/balance/getTokenBalance.d.ts +0 -8
  385. package/dist/balance/getTokenBalance.js +0 -27
  386. package/dist/balance/index.d.ts +0 -2
  387. package/dist/balance/index.js +0 -2
  388. package/dist/cjs/LiFi.d.ts +0 -175
  389. package/dist/cjs/LiFi.js +0 -280
  390. package/dist/cjs/allowance/index.d.ts +0 -3
  391. package/dist/cjs/allowance/index.js +0 -19
  392. package/dist/cjs/allowance/setAllowance.d.ts +0 -6
  393. package/dist/cjs/allowance/types.d.ts +0 -27
  394. package/dist/cjs/balance/getBalance.d.ts +0 -2
  395. package/dist/cjs/balance/getTokenBalance.d.ts +0 -8
  396. package/dist/cjs/balance/getTokenBalance.js +0 -33
  397. package/dist/cjs/balance/index.d.ts +0 -2
  398. package/dist/cjs/balance/index.js +0 -18
  399. package/dist/cjs/connectors.d.ts +0 -8
  400. package/dist/cjs/connectors.js +0 -75
  401. package/dist/cjs/execution/RouteExecutionManager.d.ts +0 -59
  402. package/dist/cjs/execution/RouteExecutionManager.js +0 -202
  403. package/dist/cjs/execution/StatusManager.js +0 -171
  404. package/dist/cjs/execution/StepExecutionManager.d.ts +0 -7
  405. package/dist/cjs/execution/StepExecutionManager.js +0 -272
  406. package/dist/cjs/execution/StepExecutor.d.ts +0 -15
  407. package/dist/cjs/execution/StepExecutor.js +0 -62
  408. package/dist/cjs/execution/checkAllowance.d.ts +0 -4
  409. package/dist/cjs/execution/checkBalance.d.ts +0 -2
  410. package/dist/cjs/execution/index.d.ts +0 -1
  411. package/dist/cjs/execution/index.js +0 -17
  412. package/dist/cjs/execution/multisig.d.ts +0 -4
  413. package/dist/cjs/execution/prepareRestart.d.ts +0 -3
  414. package/dist/cjs/execution/prepareRestart.js +0 -65
  415. package/dist/cjs/execution/stepComparison.d.ts +0 -14
  416. package/dist/cjs/execution/stepComparison.js +0 -37
  417. package/dist/cjs/execution/switchChain.js +0 -54
  418. package/dist/cjs/execution/utils.d.ts +0 -12
  419. package/dist/cjs/execution/waitForReceivingTransaction.d.ts +0 -3
  420. package/dist/cjs/helpers.d.ts +0 -18
  421. package/dist/cjs/helpers.js +0 -84
  422. package/dist/cjs/index.d.ts +0 -5
  423. package/dist/cjs/index.js +0 -24
  424. package/dist/cjs/request.d.ts +0 -9
  425. package/dist/cjs/request.js +0 -60
  426. package/dist/cjs/services/ApiService.d.ts +0 -17
  427. package/dist/cjs/services/ApiService.js +0 -326
  428. package/dist/cjs/services/ChainsService.d.ts +0 -11
  429. package/dist/cjs/services/ChainsService.js +0 -39
  430. package/dist/cjs/services/ConfigService.d.ts +0 -23
  431. package/dist/cjs/services/ConfigService.js +0 -101
  432. package/dist/cjs/types/index.d.ts +0 -4
  433. package/dist/cjs/types/index.js +0 -22
  434. package/dist/cjs/types/internal.types.d.ts +0 -145
  435. package/dist/cjs/utils/errors.d.ts +0 -107
  436. package/dist/cjs/utils/getMaxPriorityFeePerGas.d.ts +0 -2
  437. package/dist/cjs/utils/index.d.ts +0 -5
  438. package/dist/cjs/utils/index.js +0 -21
  439. package/dist/cjs/utils/parseError.d.ts +0 -37
  440. package/dist/cjs/utils/parseError.js +0 -157
  441. package/dist/cjs/utils/utils.d.ts +0 -10
  442. package/dist/cjs/version.d.ts +0 -2
  443. package/dist/connectors.d.ts +0 -8
  444. package/dist/connectors.js +0 -41
  445. package/dist/constants.d.ts +0 -6
  446. package/dist/execution/RouteExecutionManager.d.ts +0 -59
  447. package/dist/execution/RouteExecutionManager.js +0 -195
  448. package/dist/execution/StatusManager.d.ts +0 -67
  449. package/dist/execution/StatusManager.js +0 -167
  450. package/dist/execution/StepExecutionManager.d.ts +0 -7
  451. package/dist/execution/StepExecutionManager.js +0 -265
  452. package/dist/execution/StepExecutor.d.ts +0 -15
  453. package/dist/execution/StepExecutor.js +0 -58
  454. package/dist/execution/checkAllowance.d.ts +0 -4
  455. package/dist/execution/checkBalance.d.ts +0 -2
  456. package/dist/execution/index.d.ts +0 -1
  457. package/dist/execution/index.js +0 -1
  458. package/dist/execution/multisig.d.ts +0 -4
  459. package/dist/execution/prepareRestart.d.ts +0 -3
  460. package/dist/execution/prepareRestart.js +0 -61
  461. package/dist/execution/switchChain.d.ts +0 -21
  462. package/dist/execution/waitForReceivingTransaction.d.ts +0 -3
  463. package/dist/index.d.ts +0 -5
  464. package/dist/index.js +0 -6
  465. package/dist/services/ApiService.d.ts +0 -17
  466. package/dist/services/ApiService.js +0 -321
  467. package/dist/services/ChainsService.d.ts +0 -11
  468. package/dist/services/ChainsService.js +0 -33
  469. package/dist/services/ConfigService.d.ts +0 -23
  470. package/dist/services/ConfigService.js +0 -99
  471. package/dist/typeguards.d.ts +0 -4
  472. package/dist/types/abi.d.ts +0 -5
  473. package/dist/types/index.d.ts +0 -4
  474. package/dist/types/index.js +0 -4
  475. package/dist/types/internal.types.d.ts +0 -145
  476. package/dist/types/internal.types.js +0 -1
  477. package/dist/utils/getMaxPriorityFeePerGas.d.ts +0 -2
  478. package/dist/utils/index.d.ts +0 -5
  479. package/dist/utils/index.js +0 -5
  480. package/dist/utils/median.d.ts +0 -1
  481. package/dist/version.d.ts +0 -2
  482. package/dist/version.js +0 -2
@@ -1,321 +0,0 @@
1
- import { request } from '../request';
2
- import { isRoutesRequest, isStep } from '../typeguards';
3
- import { ValidationError } from '../utils/errors';
4
- import { parseBackendError } from '../utils/parseError';
5
- import ConfigService from './ConfigService';
6
- /**
7
- * @param requestConfig
8
- * @param options
9
- * @deprecated We don't want to support this endpoint anymore in the future. /chains, /tools, /connections, and /tokens should be used instead
10
- */
11
- const getPossibilities = async (requestConfig, options) => {
12
- if (!requestConfig) {
13
- requestConfig = {};
14
- }
15
- const config = ConfigService.getInstance().getConfig();
16
- // apply defaults
17
- if (requestConfig.bridges || config.defaultRouteOptions.bridges) {
18
- requestConfig.bridges =
19
- requestConfig.bridges || config.defaultRouteOptions.bridges;
20
- }
21
- if (requestConfig.exchanges || config.defaultRouteOptions.exchanges) {
22
- requestConfig.exchanges =
23
- requestConfig.exchanges || config.defaultRouteOptions.exchanges;
24
- }
25
- // send request
26
- try {
27
- const response = await request(`${config.apiUrl}/advanced/possibilities`, {
28
- method: 'POST',
29
- headers: {
30
- 'Content-Type': 'application/json',
31
- },
32
- body: JSON.stringify(requestConfig),
33
- signal: options?.signal,
34
- });
35
- return response;
36
- }
37
- catch (e) {
38
- throw await parseBackendError(e);
39
- }
40
- };
41
- const getToken = async (chain, token, options) => {
42
- if (!chain) {
43
- throw new ValidationError('Required parameter "chain" is missing.');
44
- }
45
- if (!token) {
46
- throw new ValidationError('Required parameter "token" is missing.');
47
- }
48
- const config = ConfigService.getInstance().getConfig();
49
- try {
50
- const response = await request(`${config.apiUrl}/token?${new URLSearchParams({
51
- chain,
52
- token,
53
- })}`, {
54
- signal: options?.signal,
55
- });
56
- return response;
57
- }
58
- catch (e) {
59
- throw await parseBackendError(e);
60
- }
61
- };
62
- const getQuote = async (requestConfig, options) => {
63
- const config = ConfigService.getInstance().getConfig();
64
- const requiredParameters = [
65
- 'fromChain',
66
- 'fromToken',
67
- 'fromAddress',
68
- 'fromAmount',
69
- 'toChain',
70
- 'toToken',
71
- ];
72
- requiredParameters.forEach((requiredParameter) => {
73
- if (!requestConfig[requiredParameter]) {
74
- throw new ValidationError(`Required parameter "${requiredParameter}" is missing.`);
75
- }
76
- });
77
- // apply defaults
78
- requestConfig.order || (requestConfig.order = config.defaultRouteOptions.order);
79
- requestConfig.slippage || (requestConfig.slippage = config.defaultRouteOptions.slippage);
80
- requestConfig.integrator || (requestConfig.integrator = config.defaultRouteOptions.integrator);
81
- requestConfig.referrer || (requestConfig.referrer = config.defaultRouteOptions.referrer);
82
- requestConfig.fee || (requestConfig.fee = config.defaultRouteOptions.fee);
83
- requestConfig.allowBridges || (requestConfig.allowBridges = config.defaultRouteOptions.bridges?.allow);
84
- requestConfig.denyBridges || (requestConfig.denyBridges = config.defaultRouteOptions.bridges?.deny);
85
- requestConfig.preferBridges || (requestConfig.preferBridges = config.defaultRouteOptions.bridges?.prefer);
86
- requestConfig.allowExchanges || (requestConfig.allowExchanges = config.defaultRouteOptions.exchanges?.allow);
87
- requestConfig.denyExchanges || (requestConfig.denyExchanges = config.defaultRouteOptions.exchanges?.deny);
88
- requestConfig.preferExchanges || (requestConfig.preferExchanges = config.defaultRouteOptions.exchanges?.prefer);
89
- Object.keys(requestConfig).forEach((key) => !requestConfig[key] &&
90
- delete requestConfig[key]);
91
- try {
92
- const response = await request(`${config.apiUrl}/quote?${new URLSearchParams(requestConfig)}`, {
93
- signal: options?.signal,
94
- });
95
- return response;
96
- }
97
- catch (e) {
98
- throw await parseBackendError(e);
99
- }
100
- };
101
- const getContractCallQuote = async (requestConfig, options) => {
102
- const config = ConfigService.getInstance().getConfig();
103
- // validation
104
- const requiredParameters = [
105
- 'fromChain',
106
- 'fromToken',
107
- 'fromAddress',
108
- 'toChain',
109
- 'toToken',
110
- 'toAmount',
111
- 'toContractAddress',
112
- 'toContractCallData',
113
- 'toContractGasLimit',
114
- ];
115
- requiredParameters.forEach((requiredParameter) => {
116
- if (!requestConfig[requiredParameter]) {
117
- throw new ValidationError(`Required parameter "${requiredParameter}" is missing.`);
118
- }
119
- });
120
- // apply defaults
121
- // option.order is not used in this endpoint
122
- requestConfig.slippage || (requestConfig.slippage = config.defaultRouteOptions.slippage);
123
- requestConfig.integrator || (requestConfig.integrator = config.defaultRouteOptions.integrator);
124
- requestConfig.referrer || (requestConfig.referrer = config.defaultRouteOptions.referrer);
125
- requestConfig.fee || (requestConfig.fee = config.defaultRouteOptions.fee);
126
- requestConfig.allowBridges || (requestConfig.allowBridges = config.defaultRouteOptions.bridges?.allow);
127
- requestConfig.denyBridges || (requestConfig.denyBridges = config.defaultRouteOptions.bridges?.deny);
128
- requestConfig.preferBridges || (requestConfig.preferBridges = config.defaultRouteOptions.bridges?.prefer);
129
- requestConfig.allowExchanges || (requestConfig.allowExchanges = config.defaultRouteOptions.exchanges?.allow);
130
- requestConfig.denyExchanges || (requestConfig.denyExchanges = config.defaultRouteOptions.exchanges?.deny);
131
- requestConfig.preferExchanges || (requestConfig.preferExchanges = config.defaultRouteOptions.exchanges?.prefer);
132
- // send request
133
- try {
134
- const response = await request(`${config.apiUrl}/quote/contractCall`, {
135
- method: 'POST',
136
- headers: {
137
- 'Content-Type': 'application/json',
138
- },
139
- body: JSON.stringify(requestConfig),
140
- signal: options?.signal,
141
- });
142
- return response;
143
- }
144
- catch (e) {
145
- throw await parseBackendError(e);
146
- }
147
- };
148
- const getStatus = async (requestConfig, options) => {
149
- if (!requestConfig.txHash) {
150
- throw new ValidationError('Required parameter "txHash" is missing.');
151
- }
152
- const config = ConfigService.getInstance().getConfig();
153
- const queryParams = new URLSearchParams(requestConfig);
154
- try {
155
- const response = await request(`${config.apiUrl}/status?${queryParams}`, {
156
- signal: options?.signal,
157
- });
158
- return response;
159
- }
160
- catch (e) {
161
- throw await parseBackendError(e);
162
- }
163
- };
164
- const getChains = async (options) => {
165
- const config = ConfigService.getInstance().getConfig();
166
- try {
167
- const response = await request(`${config.apiUrl}/chains`, {
168
- signal: options?.signal,
169
- });
170
- return response.chains;
171
- }
172
- catch (e) {
173
- throw await parseBackendError(e);
174
- }
175
- };
176
- const getRoutes = async (requestConfig, options) => {
177
- if (!isRoutesRequest(requestConfig)) {
178
- throw new ValidationError('Invalid routes request.');
179
- }
180
- const config = ConfigService.getInstance().getConfig();
181
- // apply defaults
182
- requestConfig.options = {
183
- ...config.defaultRouteOptions,
184
- ...requestConfig.options,
185
- };
186
- // send request
187
- try {
188
- const response = await request(`${config.apiUrl}/advanced/routes`, {
189
- method: 'POST',
190
- headers: {
191
- 'Content-Type': 'application/json',
192
- },
193
- body: JSON.stringify(requestConfig),
194
- signal: options?.signal,
195
- });
196
- return response;
197
- }
198
- catch (e) {
199
- throw await parseBackendError(e);
200
- }
201
- };
202
- const getStepTransaction = async (step, options) => {
203
- if (!isStep(step)) {
204
- // While the validation fails for some users we should not enforce it
205
- // eslint-disable-next-line no-console
206
- console.warn('SDK Validation: Invalid Step', step);
207
- }
208
- const config = ConfigService.getInstance().getConfig();
209
- try {
210
- const response = await request(`${config.apiUrl}/advanced/stepTransaction`, {
211
- method: 'POST',
212
- headers: {
213
- 'Content-Type': 'application/json',
214
- },
215
- body: JSON.stringify(step),
216
- signal: options?.signal,
217
- });
218
- return response;
219
- }
220
- catch (e) {
221
- throw await parseBackendError(e);
222
- }
223
- };
224
- const getTools = async (requestConfig, options) => {
225
- const config = ConfigService.getInstance().getConfig();
226
- if (requestConfig) {
227
- Object.keys(requestConfig).forEach((key) => !requestConfig[key] &&
228
- delete requestConfig[key]);
229
- }
230
- const response = await request(`${config.apiUrl}/tools?${new URLSearchParams(requestConfig)}`, {
231
- signal: options?.signal,
232
- });
233
- return response;
234
- };
235
- const getTokens = async (requestConfig, options) => {
236
- const config = ConfigService.getInstance().getConfig();
237
- if (requestConfig) {
238
- Object.keys(requestConfig).forEach((key) => !requestConfig[key] &&
239
- delete requestConfig[key]);
240
- }
241
- const response = await request(`${config.apiUrl}/tokens?${new URLSearchParams(requestConfig)}`, {
242
- signal: options?.signal,
243
- });
244
- return response;
245
- };
246
- const getGasRecommendation = async ({ chainId, fromChain, fromToken }, options) => {
247
- const config = ConfigService.getInstance().getConfig();
248
- if (!chainId) {
249
- throw new ValidationError('Required parameter "chainId" is missing.');
250
- }
251
- const url = new URL(`${config.apiUrl}/gas/suggestion/${chainId}`);
252
- if (fromChain) {
253
- url.searchParams.append('fromChain', fromChain);
254
- }
255
- if (fromToken) {
256
- url.searchParams.append('fromToken', fromToken);
257
- }
258
- try {
259
- const response = await request(url, {
260
- signal: options?.signal,
261
- });
262
- return response;
263
- }
264
- catch (e) {
265
- throw await parseBackendError(e);
266
- }
267
- };
268
- const getAvailableConnections = async (connectionRequest) => {
269
- const config = ConfigService.getInstance().getConfig();
270
- const url = new URL(`${config.apiUrl}/connections`);
271
- const { fromChain, fromToken, toChain, toToken } = connectionRequest;
272
- if (fromChain) {
273
- url.searchParams.append('fromChain', fromChain);
274
- }
275
- if (fromToken) {
276
- url.searchParams.append('fromToken', fromToken);
277
- }
278
- if (toChain) {
279
- url.searchParams.append('fromToken', toChain);
280
- }
281
- if (toToken) {
282
- url.searchParams.append('fromToken', toToken);
283
- }
284
- const connectionRequestArrayParams = [
285
- 'allowBridges',
286
- 'denyBridges',
287
- 'preferBridges',
288
- 'allowExchanges',
289
- 'denyExchanges',
290
- 'preferExchanges',
291
- ];
292
- connectionRequestArrayParams.forEach((parameter) => {
293
- const connectionRequestArrayParam = connectionRequest[parameter];
294
- if (connectionRequestArrayParam?.length) {
295
- connectionRequestArrayParam?.forEach((value) => {
296
- url.searchParams.append(parameter, value);
297
- });
298
- }
299
- });
300
- try {
301
- const response = await request(url);
302
- return response;
303
- }
304
- catch (e) {
305
- throw await parseBackendError(e);
306
- }
307
- };
308
- export default {
309
- getChains,
310
- getContractCallQuote,
311
- getGasRecommendation,
312
- getPossibilities,
313
- getQuote,
314
- getRoutes,
315
- getStatus,
316
- getStepTransaction,
317
- getToken,
318
- getTokens,
319
- getTools,
320
- getAvailableConnections,
321
- };
@@ -1,11 +0,0 @@
1
- import type { ChainId, ExtendedChain } from '@lifi/types';
2
- export default class ChainsService {
3
- private static instance;
4
- private readonly loadingPromise;
5
- private chains;
6
- constructor();
7
- private loadAvailableChains;
8
- static getInstance(): ChainsService;
9
- getChainById(chainId: ChainId): Promise<ExtendedChain>;
10
- getChains(): Promise<ExtendedChain[]>;
11
- }
@@ -1,33 +0,0 @@
1
- import { ValidationError } from '../utils/errors';
2
- import ApiService from './ApiService';
3
- export default class ChainsService {
4
- constructor() {
5
- this.chains = [];
6
- this.loadingPromise = this.loadAvailableChains();
7
- }
8
- async loadAvailableChains() {
9
- this.chains = await ApiService.getChains();
10
- }
11
- static getInstance() {
12
- if (!this.instance) {
13
- this.instance = new ChainsService();
14
- }
15
- return this.instance;
16
- }
17
- async getChainById(chainId) {
18
- if (this.loadingPromise) {
19
- await this.loadingPromise;
20
- }
21
- const chain = this.chains.find((chain) => chain.id === chainId);
22
- if (!chain) {
23
- throw new ValidationError(`Unknown chainId passed: ${chainId}.`);
24
- }
25
- return chain;
26
- }
27
- async getChains() {
28
- if (this.loadingPromise) {
29
- await this.loadingPromise;
30
- }
31
- return this.chains;
32
- }
33
- }
@@ -1,23 +0,0 @@
1
- import type { Chain, Config, ConfigUpdate } from '../types';
2
- export default class ConfigService {
3
- private static instance;
4
- private readonly config;
5
- private readonly setupPromise;
6
- private resolveSetupPromise;
7
- constructor();
8
- private static chainIdToObject;
9
- private static getDefaultConfig;
10
- static getInstance(): ConfigService;
11
- /**
12
- * This call immediately returns the current config. It does not make sure that all chain data is already loaded
13
- * Use this if you need access to basic information like API urls or settings
14
- */
15
- getConfig: () => Config;
16
- /**
17
- * This call waits for all setup promises to be done.
18
- * Use this if you need access to chain data (RPCs or multicalls)
19
- */
20
- getConfigAsync: () => Promise<Config>;
21
- updateConfig: (configUpdate: Partial<ConfigUpdate>) => Config;
22
- updateChains: (chains: Chain[]) => Config;
23
- }
@@ -1,99 +0,0 @@
1
- import { ChainId } from '../types';
2
- const DefaultExecutionSettings = {
3
- /* eslint-disable-next-line @typescript-eslint/no-empty-function */
4
- updateRouteHook: () => { },
5
- switchChainHook: () => Promise.resolve(undefined),
6
- acceptExchangeRateUpdateHook: () => Promise.resolve(undefined),
7
- infiniteApproval: false,
8
- executeInBackground: false,
9
- };
10
- class ConfigService {
11
- constructor() {
12
- this.resolveSetupPromise = undefined;
13
- /**
14
- * This call immediately returns the current config. It does not make sure that all chain data is already loaded
15
- * Use this if you need access to basic information like API urls or settings
16
- */
17
- this.getConfig = () => {
18
- return this.config;
19
- };
20
- /**
21
- * This call waits for all setup promises to be done.
22
- * Use this if you need access to chain data (RPCs or multicalls)
23
- */
24
- this.getConfigAsync = async () => {
25
- await this.setupPromise;
26
- return this.config;
27
- };
28
- this.updateConfig = (configUpdate) => {
29
- // API
30
- this.config.apiUrl = configUpdate.apiUrl || this.config.apiUrl;
31
- // RPCS
32
- this.config.rpcs = Object.assign(this.config.rpcs, configUpdate.rpcs);
33
- // MULTICALL
34
- this.config.multicallAddresses = Object.assign(this.config.multicallAddresses, configUpdate.multicallAddresses);
35
- // SETTINGS
36
- this.config.defaultExecutionSettings = Object.assign(this.config.defaultExecutionSettings, configUpdate.defaultExecutionSettings);
37
- // OPTIONS
38
- this.config.defaultRouteOptions = Object.assign(this.config.defaultRouteOptions, configUpdate.defaultRouteOptions);
39
- this.config.userId = configUpdate.userId || this.config.userId;
40
- this.config.integrator = configUpdate.integrator || this.config.integrator;
41
- this.config.defaultRouteOptions.integrator =
42
- configUpdate.integrator ||
43
- configUpdate.defaultRouteOptions?.integrator ||
44
- this.config.integrator;
45
- this.config.widgetVersion =
46
- configUpdate.widgetVersion || this.config.widgetVersion;
47
- this.config.multisig = configUpdate.multisigConfig || this.config.multisig;
48
- return this.config;
49
- };
50
- this.updateChains = (chains) => {
51
- for (const chain of chains) {
52
- const chainId = chain.id;
53
- // set RPCs if they were not configured by the user before
54
- if (!this.config.rpcs[chainId]?.length) {
55
- this.config.rpcs[chainId] = chain.metamask.rpcUrls;
56
- }
57
- // set multicall addresses if they exist and were not configured by the user before
58
- if (chain.multicallAddress && !this.config.multicallAddresses[chainId]) {
59
- this.config.multicallAddresses[chainId] = chain.multicallAddress;
60
- }
61
- }
62
- this.resolveSetupPromise?.();
63
- return this.config;
64
- };
65
- this.config = ConfigService.getDefaultConfig();
66
- this.setupPromise = new Promise((resolve) => {
67
- this.resolveSetupPromise = resolve;
68
- });
69
- }
70
- static chainIdToObject(val) {
71
- const result = {};
72
- const values = Object.values(ChainId);
73
- values.forEach((chainId) => {
74
- if (typeof chainId !== 'string') {
75
- result[chainId] = val ? JSON.parse(JSON.stringify(val)) : val;
76
- }
77
- });
78
- return result;
79
- }
80
- static getInstance() {
81
- if (!this.instance) {
82
- this.instance = new ConfigService();
83
- }
84
- return this.instance;
85
- }
86
- }
87
- ConfigService.getDefaultConfig = () => {
88
- return {
89
- apiUrl: 'https://li.quest/v1',
90
- rpcs: ConfigService.chainIdToObject([]),
91
- multicallAddresses: ConfigService.chainIdToObject(undefined),
92
- defaultExecutionSettings: DefaultExecutionSettings,
93
- defaultRouteOptions: {
94
- integrator: 'lifi-sdk',
95
- },
96
- integrator: 'lifi-sdk',
97
- };
98
- };
99
- export default ConfigService;
@@ -1,4 +0,0 @@
1
- import type { LifiStep, RoutesRequest, StaticToken } from './types';
2
- export declare const isRoutesRequest: (routesRequest: RoutesRequest) => routesRequest is RoutesRequest;
3
- export declare const isStep: (step: LifiStep) => step is LifiStep;
4
- export declare const isToken: (token: StaticToken) => token is StaticToken;
@@ -1,5 +0,0 @@
1
- import type { Abi } from 'viem';
2
- export declare const approveAbi: Abi;
3
- export declare const allowanceAbi: Abi;
4
- export declare const getEthBalanceAbi: Abi;
5
- export declare const balanceOfAbi: Abi;
@@ -1,4 +0,0 @@
1
- export * from '@lifi/types';
2
- export { ErrorCode, LiFiError } from '../utils/errors';
3
- export * from './abi';
4
- export * from './internal.types';
@@ -1,4 +0,0 @@
1
- export * from '@lifi/types';
2
- export { LiFiError } from '../utils/errors';
3
- export * from './abi';
4
- export * from './internal.types';
@@ -1,145 +0,0 @@
1
- import type { ChainId, LifiStep, Route, RouteOptions, Token } from '@lifi/types';
2
- import type { Hash, Hex, WalletClient } from 'viem';
3
- import type { StatusManager } from '../execution/StatusManager';
4
- import type { StepExecutor } from '../execution/StepExecutor';
5
- export type TransactionParameters = {
6
- chainId?: number;
7
- to?: string;
8
- from?: string;
9
- nonce?: number;
10
- data?: Hex;
11
- value?: bigint;
12
- gas?: bigint;
13
- gasPrice?: bigint;
14
- maxFeePerGas?: bigint;
15
- maxPriorityFeePerGas?: bigint;
16
- };
17
- export interface ExecutionParams {
18
- walletClient: WalletClient;
19
- step: LifiStep;
20
- statusManager: StatusManager;
21
- settings: InternalExecutionSettings;
22
- }
23
- export type UpdateRouteHook = (updatedRoute: Route) => void;
24
- export interface TransactionRequestParameters extends TransactionParameters {
25
- requestType: 'approve' | 'transaction';
26
- }
27
- export type TransactionRequestUpdateHook = (updatedTxRequest: TransactionRequestParameters) => Promise<TransactionParameters>;
28
- export type Config = {
29
- apiUrl: string;
30
- rpcs: Record<ChainId, string[]>;
31
- multicallAddresses: Record<ChainId, string | undefined>;
32
- defaultExecutionSettings: InternalExecutionSettings;
33
- defaultRouteOptions: RouteOptions;
34
- disableVersionCheck?: boolean;
35
- userId?: string;
36
- integrator: string;
37
- widgetVersion?: string;
38
- multisig?: MultisigConfig;
39
- };
40
- export interface MultisigTxDetails {
41
- status: 'DONE' | 'FAILED' | 'PENDING' | 'CANCELLED';
42
- txHash?: Hash;
43
- }
44
- export interface MultisigTransactionResponse {
45
- hash: string;
46
- }
47
- export interface BaseTransaction {
48
- to: string;
49
- value?: bigint;
50
- data: string;
51
- }
52
- export interface MultisigConfig {
53
- isMultisigWalletClient: boolean;
54
- getMultisigTransactionDetails: (txHash: Hash, fromChainId: number, updateIntermediateStatus?: () => void) => Promise<MultisigTxDetails>;
55
- sendBatchTransaction?: (batchTransactions: BaseTransaction[]) => Promise<Hash>;
56
- shouldBatchTransactions?: boolean;
57
- }
58
- export type ConfigUpdate = {
59
- apiUrl?: string;
60
- rpcs?: Record<number, string[]>;
61
- multicallAddresses?: Record<number, string | undefined>;
62
- defaultExecutionSettings?: ExecutionSettings;
63
- defaultRouteOptions?: RouteOptions;
64
- disableVersionCheck?: boolean;
65
- userId?: string;
66
- integrator: string;
67
- widgetVersion?: string;
68
- multisigConfig?: MultisigConfig;
69
- };
70
- export type SwitchChainHook = (requiredChainId: number) => Promise<WalletClient | undefined>;
71
- export interface AcceptSlippageUpdateHookParams {
72
- toToken: Token;
73
- oldToAmount: string;
74
- newToAmount: string;
75
- oldSlippage: number;
76
- newSlippage: number;
77
- }
78
- export type AcceptSlippageUpdateHook = (params: AcceptSlippageUpdateHookParams) => Promise<boolean | undefined>;
79
- export interface ExchangeRateUpdateParams {
80
- toToken: Token;
81
- oldToAmount: string;
82
- newToAmount: string;
83
- }
84
- export type AcceptExchangeRateUpdateHook = (params: ExchangeRateUpdateParams) => Promise<boolean | undefined>;
85
- export interface RouteExecutionData {
86
- route: Route;
87
- executors: StepExecutor[];
88
- settings: InternalExecutionSettings;
89
- }
90
- export type ExecutionSettings = Partial<InternalExecutionSettings>;
91
- export interface InternalExecutionSettings {
92
- acceptExchangeRateUpdateHook: AcceptExchangeRateUpdateHook;
93
- switchChainHook: SwitchChainHook;
94
- updateRouteHook: UpdateRouteHook;
95
- updateTransactionRequestHook?: TransactionRequestUpdateHook;
96
- executeInBackground: boolean;
97
- infiniteApproval: boolean;
98
- }
99
- export type RouteExecutionDictionary = Partial<Record<string, RouteExecutionData>>;
100
- export type RouteExecutionPromiseDictionary = Partial<Record<string, Promise<Route>>>;
101
- export interface InteractionSettings {
102
- allowInteraction?: boolean;
103
- allowUpdates?: boolean;
104
- stopExecution?: boolean;
105
- }
106
- export interface TenderlyResponse {
107
- hash: string;
108
- block_hash: string;
109
- block_number: number;
110
- from: string;
111
- gas: number;
112
- gas_price: number;
113
- gas_fee_cap: number;
114
- gas_tip_cap: number;
115
- cumulative_gas_used: number;
116
- gas_used: number;
117
- effective_gas_price: number;
118
- input: string;
119
- nonce: number;
120
- to: string;
121
- index: number;
122
- value: string;
123
- access_list: any;
124
- status: boolean;
125
- addresses: string[];
126
- contract_ids: string[];
127
- network_id: string;
128
- timestamp: string;
129
- function_selector: string;
130
- l1_block_number: number;
131
- l1_timestamp: number;
132
- deposit_tx: boolean;
133
- system_tx: boolean;
134
- mint: number;
135
- sig: Signature;
136
- error_message: string;
137
- method: string;
138
- decoded_input: any;
139
- call_trace: any;
140
- }
141
- export interface Signature {
142
- v: string;
143
- r: string;
144
- s: string;
145
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,2 +0,0 @@
1
- import type { PublicClient } from 'viem';
2
- export declare const getMaxPriorityFeePerGas: (client: PublicClient) => Promise<bigint | undefined>;
@@ -1,5 +0,0 @@
1
- export * from './errors';
2
- export * from './getMaxPriorityFeePerGas';
3
- export * from './median';
4
- export * from './parseError';
5
- export * from './utils';
@@ -1,5 +0,0 @@
1
- export * from './errors';
2
- export * from './getMaxPriorityFeePerGas';
3
- export * from './median';
4
- export * from './parseError';
5
- export * from './utils';
@@ -1 +0,0 @@
1
- export declare const median: (arr: bigint[]) => bigint | undefined;
package/dist/version.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare const name = "@lifi/sdk";
2
- export declare const version = "3.0.0-alpha.6";