@lifi/widget 1.31.1 → 1.32.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 (441) hide show
  1. package/App.js +4 -16
  2. package/AppDrawer.js +13 -7
  3. package/AppDrawer.style.d.ts +3 -3
  4. package/AppDrawer.style.js +1 -1
  5. package/AppProvider.js +1 -1
  6. package/AppRoutes.js +9 -0
  7. package/cjs/App.js +4 -16
  8. package/cjs/AppDrawer.js +13 -7
  9. package/cjs/AppDrawer.style.d.ts +3 -3
  10. package/cjs/AppDrawer.style.js +1 -1
  11. package/cjs/AppProvider.js +1 -1
  12. package/cjs/AppRoutes.js +9 -0
  13. package/cjs/components/ActiveSwaps/ActiveSwapItem.js +9 -7
  14. package/cjs/components/ActiveSwaps/ActiveSwaps.js +3 -3
  15. package/cjs/components/ActiveSwaps/ActiveSwaps.style.d.ts +5 -5
  16. package/cjs/components/AppContainer.d.ts +2 -2
  17. package/cjs/components/AppContainer.js +1 -1
  18. package/cjs/components/BottomSheet/BottomSheet.d.ts +1 -1
  19. package/cjs/components/BottomSheet/BottomSheet.js +2 -2
  20. package/cjs/components/Card/Card.d.ts +2 -2
  21. package/cjs/components/Card/CardHeader.d.ts +1 -1
  22. package/cjs/components/Card/CardTitle.d.ts +1 -1
  23. package/cjs/components/ChainSelect/ChainSelect.d.ts +0 -1
  24. package/cjs/components/ChainSelect/ChainSelect.js +3 -4
  25. package/cjs/components/ChainSelect/ChainSelect.style.d.ts +3 -3
  26. package/cjs/components/ContractComponent/ContractComponent.js +1 -1
  27. package/cjs/components/Dialog.js +1 -1
  28. package/cjs/components/GasSufficiencyMessage/GasSufficiencyMessage.js +13 -28
  29. package/cjs/components/GasSufficiencyMessage/GasSufficiencyMessage.style.d.ts +1 -1
  30. package/cjs/components/Header/Header.js +1 -1
  31. package/cjs/components/Header/Header.style.d.ts +4 -4
  32. package/cjs/components/Header/NavigationHeader.js +6 -2
  33. package/cjs/components/Header/WalletHeader.js +12 -22
  34. package/cjs/{pages/SelectNativeTokenPage/SelectNativeTokenPage.style.d.ts → components/ListItemButton.d.ts} +1 -2
  35. package/cjs/{pages/SelectWalletPage/SelectWalletPage.style.js → components/ListItemButton.js} +2 -8
  36. package/cjs/components/ListItemText.d.ts +2 -0
  37. package/cjs/{pages/SelectNativeTokenPage/SelectNativeTokenPage.style.js → components/ListItemText.js} +1 -10
  38. package/cjs/components/NFT/NFT.js +2 -14
  39. package/cjs/components/NFT/NFT.style.d.ts +1 -1
  40. package/cjs/components/NotFound.js +2 -2
  41. package/cjs/components/PoweredBy/PoweredBy.js +2 -2
  42. package/cjs/components/PoweredBy/PoweredBy.style.d.ts +1 -1
  43. package/cjs/components/ProgressToNextUpdate/ProgressToNextUpdate.js +5 -17
  44. package/cjs/components/ReverseTokensButton/ReverseTokensButton.js +1 -1
  45. package/cjs/components/ReverseTokensButton/ReverseTokensButton.style.d.ts +2 -2
  46. package/cjs/components/Select.js +1 -0
  47. package/cjs/components/SelectChainAndToken.js +4 -4
  48. package/cjs/components/SelectTokenButton/SelectTokenButton.js +2 -2
  49. package/cjs/components/SelectTokenButton/SelectTokenButton.style.d.ts +1 -1
  50. package/cjs/components/SendToWallet/SendToWallet.js +9 -19
  51. package/cjs/components/SendToWallet/SendToWallet.style.d.ts +2 -2
  52. package/cjs/components/SendToWallet/SendToWalletButton.js +5 -5
  53. package/cjs/components/SmallAvatar.d.ts +3 -3
  54. package/cjs/components/Step/CircularProgress.d.ts +0 -1
  55. package/cjs/components/Step/CircularProgress.js +2 -2
  56. package/cjs/components/Step/CircularProgress.style.d.ts +1 -1
  57. package/cjs/components/Step/DestinationWalletAddress.js +6 -7
  58. package/cjs/components/Step/GasStepProcess.js +8 -8
  59. package/cjs/components/Step/Step.js +4 -5
  60. package/cjs/components/Step/StepList.d.ts +0 -1
  61. package/cjs/components/Step/StepList.js +8 -4
  62. package/cjs/components/Step/StepProcess.js +3 -3
  63. package/cjs/components/Step/StepProcess.style.d.ts +3 -3
  64. package/cjs/components/Step/StepTimer.js +4 -8
  65. package/cjs/components/StepActions/StepActions.js +20 -37
  66. package/cjs/components/StepActions/StepActions.style.d.ts +1 -1
  67. package/cjs/components/StepDivider/StepDivider.style.d.ts +1 -1
  68. package/cjs/components/SwapButton/SwapButton.js +5 -14
  69. package/cjs/components/SwapInput/FormPriceHelperText.js +6 -6
  70. package/cjs/components/SwapInput/SwapInput.js +4 -16
  71. package/cjs/components/SwapInput/SwapInput.style.d.ts +2 -2
  72. package/cjs/components/SwapInput/SwapInputAdornment.style.d.ts +2 -2
  73. package/cjs/components/SwapInput/SwapInputEndAdornment.d.ts +0 -1
  74. package/cjs/components/SwapInput/SwapInputEndAdornment.js +2 -3
  75. package/cjs/components/SwapRouteCard/SwapRouteCard.js +9 -25
  76. package/cjs/components/SwapRouteCard/SwapRouteCard.style.d.ts +3 -3
  77. package/cjs/components/SwapRouteCard/SwapRouteCardSkeleton.js +4 -16
  78. package/cjs/components/SwapRouteCard/SwapRouteNotFoundCard.js +2 -2
  79. package/cjs/components/SwapRouteCard/utils.js +1 -1
  80. package/cjs/components/SwapRoutes/SwapRoutes.js +4 -4
  81. package/cjs/components/SwapRoutes/SwapRoutes.style.d.ts +5 -5
  82. package/cjs/components/SwapRoutes/SwapRoutesExpanded.d.ts +0 -1
  83. package/cjs/components/SwapRoutes/SwapRoutesExpanded.js +3 -3
  84. package/cjs/components/TextFitter/TextFitter.js +3 -3
  85. package/cjs/components/Token/Token.js +19 -33
  86. package/cjs/components/Token/Token.style.d.ts +3 -3
  87. package/cjs/components/TokenAvatar/TokenAvatar.js +6 -7
  88. package/cjs/components/TokenAvatar/TokenAvatar.style.d.ts +2 -2
  89. package/cjs/components/TokenList/TokenList.js +3 -4
  90. package/cjs/components/TokenList/TokenList.style.d.ts +3 -3
  91. package/cjs/components/TokenList/TokenList.style.js +2 -6
  92. package/cjs/components/TokenList/TokenListItem.js +9 -9
  93. package/cjs/components/TokenList/TokenNotFound.js +4 -5
  94. package/cjs/components/TokenList/VirtualizedTokenList.js +10 -11
  95. package/cjs/components/TokenList/useTokenSelect.js +2 -2
  96. package/cjs/config/env.js +1 -1
  97. package/cjs/config/sentry.js +3 -12
  98. package/cjs/config/theme.js +44 -16
  99. package/cjs/config/version.d.ts +1 -1
  100. package/cjs/config/version.js +1 -1
  101. package/cjs/hooks/useChain.js +1 -1
  102. package/cjs/hooks/useChains.js +5 -14
  103. package/cjs/hooks/useContentHeight.js +1 -2
  104. package/cjs/hooks/useFeaturedTokens.js +1 -4
  105. package/cjs/hooks/useGasSufficiency.js +28 -34
  106. package/cjs/hooks/useProcessMessage.js +7 -11
  107. package/cjs/hooks/useRouteExecution.js +16 -26
  108. package/cjs/hooks/useSwapRoutes.js +16 -26
  109. package/cjs/hooks/useToken.js +2 -2
  110. package/cjs/hooks/useTokenAddressBalance.js +1 -2
  111. package/cjs/hooks/useTokenBalance.js +24 -27
  112. package/cjs/hooks/useTokenBalances.d.ts +1 -1
  113. package/cjs/hooks/useTokenBalances.js +8 -20
  114. package/cjs/hooks/useTokenSearch.d.ts +1 -1
  115. package/cjs/hooks/useTokenSearch.js +12 -21
  116. package/cjs/hooks/useTokens.d.ts +1 -1
  117. package/cjs/hooks/useTokens.js +36 -38
  118. package/cjs/hooks/useTools.d.ts +2 -11
  119. package/cjs/hooks/useTools.js +11 -21
  120. package/cjs/i18n/en.json +8 -8
  121. package/cjs/i18n/uk.json +8 -8
  122. package/cjs/icons/LiFiFullLogo.js +1 -1
  123. package/cjs/icons/LiFiLogo.js +1 -1
  124. package/cjs/icons/LiFiToolLogo.js +1 -1
  125. package/cjs/index.d.ts +1 -0
  126. package/cjs/index.js +2 -0
  127. package/cjs/pages/ActiveSwapsPage/ActiveSwapsEmpty.js +2 -2
  128. package/cjs/pages/ActiveSwapsPage/ActiveSwapsPage.d.ts +0 -1
  129. package/cjs/pages/ActiveSwapsPage/ActiveSwapsPage.js +3 -3
  130. package/cjs/pages/MainPage/MainPage.js +1 -1
  131. package/cjs/pages/MainPage/MainPage.style.d.ts +1 -1
  132. package/cjs/pages/MainPage/MainSwapButton.js +3 -12
  133. package/cjs/pages/SelectChainPage/SelectChainPage.js +6 -14
  134. package/cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.d.ts +4 -0
  135. package/cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js +51 -0
  136. package/cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.d.ts +20 -0
  137. package/cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.js +8 -0
  138. package/cjs/pages/SelectEnabledToolsPage/index.d.ts +1 -0
  139. package/cjs/pages/SelectEnabledToolsPage/index.js +17 -0
  140. package/cjs/pages/SelectNativeTokenPage/SelectNativeTokenPage.js +4 -3
  141. package/cjs/pages/SelectTokenPage/SearchTokenInput.d.ts +0 -1
  142. package/cjs/pages/SelectTokenPage/SearchTokenInput.js +4 -1
  143. package/cjs/pages/SelectTokenPage/SelectTokenPage.js +2 -3
  144. package/cjs/pages/SelectWalletPage/SelectWalletPage.d.ts +0 -1
  145. package/cjs/pages/SelectWalletPage/SelectWalletPage.js +13 -19
  146. package/cjs/pages/SettingsPage/ColorSchemeButtonGroup.js +3 -3
  147. package/cjs/pages/SettingsPage/ColorSchemeButtonGroup.style.d.ts +2 -2
  148. package/cjs/pages/SettingsPage/EnabledToolsButton.d.ts +4 -0
  149. package/cjs/pages/SettingsPage/EnabledToolsButton.js +25 -0
  150. package/cjs/pages/{SelectChainPage/SelectChainPage.style.d.ts → SettingsPage/EnabledToolsButton.style.d.ts} +1 -1
  151. package/cjs/pages/{SelectChainPage/SelectChainPage.style.js → SettingsPage/EnabledToolsButton.style.js} +7 -10
  152. package/cjs/pages/SettingsPage/GasPriceSelect.d.ts +0 -1
  153. package/cjs/pages/SettingsPage/GasPriceSelect.js +1 -1
  154. package/cjs/pages/SettingsPage/LanguageSelect.js +5 -6
  155. package/cjs/pages/SettingsPage/ResetSettingsButton.d.ts +2 -0
  156. package/cjs/pages/SettingsPage/ResetSettingsButton.js +27 -0
  157. package/cjs/pages/SettingsPage/RoutePrioritySelect.js +4 -4
  158. package/cjs/pages/SettingsPage/SettingsPage.d.ts +0 -1
  159. package/cjs/pages/SettingsPage/SettingsPage.js +3 -2
  160. package/cjs/pages/SettingsPage/ShowDestinationWallet.d.ts +0 -1
  161. package/cjs/pages/SettingsPage/ShowDestinationWallet.js +3 -3
  162. package/cjs/pages/SettingsPage/SlippageInput.d.ts +0 -1
  163. package/cjs/pages/SettingsPage/SlippageInput.js +3 -3
  164. package/cjs/pages/SwapDetailsPage/SwapDetailsPage.js +14 -22
  165. package/cjs/pages/SwapDetailsPage/SwapDetailsPage.style.d.ts +1 -1
  166. package/cjs/pages/SwapHistoryPage/SwapHistoryEmpty.js +2 -2
  167. package/cjs/pages/SwapHistoryPage/SwapHistoryItem.js +9 -7
  168. package/cjs/pages/SwapHistoryPage/SwapHistoryPage.js +2 -2
  169. package/cjs/pages/SwapPage/ExchangeRateBottomSheet.js +21 -26
  170. package/cjs/pages/SwapPage/StartSwapButton.js +1 -1
  171. package/cjs/pages/SwapPage/StatusBottomSheet.js +21 -19
  172. package/cjs/pages/SwapPage/StatusBottomSheet.style.d.ts +2 -2
  173. package/cjs/pages/SwapPage/SwapPage.js +9 -21
  174. package/cjs/pages/SwapPage/SwapPage.style.d.ts +1 -1
  175. package/cjs/pages/SwapPage/TokenValueBottomSheet.js +8 -9
  176. package/cjs/pages/SwapRoutesPage/SwapRoutesPage.js +3 -3
  177. package/cjs/pages/SwapRoutesPage/SwapRoutesPage.style.d.ts +1 -1
  178. package/cjs/providers/I18nProvider/I18nProvider.js +7 -8
  179. package/cjs/providers/SDKProvider/SDKProvider.js +15 -4
  180. package/cjs/providers/SwapFormProvider/SwapFormProvider.js +12 -6
  181. package/cjs/providers/SwapFormProvider/URLSearchParamsBuilder.js +3 -12
  182. package/cjs/providers/TelemetryProvider/TelemetryProvider.js +1 -1
  183. package/cjs/providers/ThemeProvider/ThemeProvider.js +2 -2
  184. package/cjs/providers/WalletProvider/WalletProvider.js +30 -39
  185. package/cjs/providers/WidgetProvider/WidgetProvider.js +20 -27
  186. package/cjs/providers/WidgetProvider/utils.js +2 -3
  187. package/cjs/stores/StoreProvider.js +1 -7
  188. package/cjs/stores/chains/index.d.ts +1 -2
  189. package/cjs/stores/chains/index.js +1 -2
  190. package/cjs/stores/chains/useChainOrder.js +2 -2
  191. package/cjs/stores/chains/useChainOrderStore.d.ts +3 -0
  192. package/cjs/stores/chains/{createChainOrderStore.js → useChainOrderStore.js} +3 -4
  193. package/cjs/stores/routes/RouteExecutionStore.js +2 -14
  194. package/cjs/stores/routes/createRouteExecutionStore.js +27 -16
  195. package/cjs/stores/routes/types.d.ts +1 -1
  196. package/cjs/stores/routes/useExecutingRoutesIds.js +2 -5
  197. package/cjs/stores/routes/useRecommendedRouteStore.d.ts +10 -2
  198. package/cjs/stores/routes/useRecommendedRouteStore.js +30 -2
  199. package/cjs/stores/routes/useSwapHistory.js +3 -6
  200. package/cjs/stores/routes/utils.js +4 -4
  201. package/cjs/stores/settings/index.d.ts +1 -1
  202. package/cjs/stores/settings/index.js +1 -1
  203. package/cjs/stores/settings/types.d.ts +6 -6
  204. package/cjs/stores/settings/useAppearance.js +2 -2
  205. package/cjs/stores/settings/useSettings.js +2 -2
  206. package/cjs/stores/settings/useSettingsStore.d.ts +6 -0
  207. package/cjs/stores/settings/{createSettingsStore.js → useSettingsStore.js} +48 -28
  208. package/cjs/utils/colors.js +1 -1
  209. package/cjs/utils/format.js +3 -3
  210. package/cjs/utils/navigationRoutes.d.ts +2 -0
  211. package/cjs/utils/navigationRoutes.js +6 -0
  212. package/components/ActiveSwaps/ActiveSwapItem.js +9 -7
  213. package/components/ActiveSwaps/ActiveSwaps.js +3 -3
  214. package/components/ActiveSwaps/ActiveSwaps.style.d.ts +5 -5
  215. package/components/AppContainer.d.ts +2 -2
  216. package/components/AppContainer.js +1 -1
  217. package/components/BottomSheet/BottomSheet.d.ts +1 -1
  218. package/components/BottomSheet/BottomSheet.js +2 -2
  219. package/components/Card/Card.d.ts +2 -2
  220. package/components/Card/CardHeader.d.ts +1 -1
  221. package/components/Card/CardTitle.d.ts +1 -1
  222. package/components/ChainSelect/ChainSelect.d.ts +0 -1
  223. package/components/ChainSelect/ChainSelect.js +3 -4
  224. package/components/ChainSelect/ChainSelect.style.d.ts +3 -3
  225. package/components/ContractComponent/ContractComponent.js +1 -1
  226. package/components/Dialog.js +1 -1
  227. package/components/GasSufficiencyMessage/GasSufficiencyMessage.js +13 -28
  228. package/components/GasSufficiencyMessage/GasSufficiencyMessage.style.d.ts +1 -1
  229. package/components/Header/Header.js +1 -1
  230. package/components/Header/Header.style.d.ts +4 -4
  231. package/components/Header/NavigationHeader.js +6 -2
  232. package/components/Header/WalletHeader.js +12 -22
  233. package/{pages/SelectChainPage/SelectChainPage.style.d.ts → components/ListItemButton.d.ts} +1 -2
  234. package/components/ListItemButton.js +11 -0
  235. package/components/ListItemText.d.ts +2 -0
  236. package/components/ListItemText.js +8 -0
  237. package/components/NFT/NFT.js +2 -14
  238. package/components/NFT/NFT.style.d.ts +1 -1
  239. package/components/NotFound.js +2 -2
  240. package/components/PoweredBy/PoweredBy.js +2 -2
  241. package/components/PoweredBy/PoweredBy.style.d.ts +1 -1
  242. package/components/ProgressToNextUpdate/ProgressToNextUpdate.js +5 -17
  243. package/components/ReverseTokensButton/ReverseTokensButton.js +1 -1
  244. package/components/ReverseTokensButton/ReverseTokensButton.style.d.ts +2 -2
  245. package/components/Select.js +1 -0
  246. package/components/SelectChainAndToken.js +4 -4
  247. package/components/SelectTokenButton/SelectTokenButton.js +2 -2
  248. package/components/SelectTokenButton/SelectTokenButton.style.d.ts +1 -1
  249. package/components/SendToWallet/SendToWallet.js +9 -19
  250. package/components/SendToWallet/SendToWallet.style.d.ts +2 -2
  251. package/components/SendToWallet/SendToWalletButton.js +5 -5
  252. package/components/SmallAvatar.d.ts +3 -3
  253. package/components/Step/CircularProgress.d.ts +0 -1
  254. package/components/Step/CircularProgress.js +2 -2
  255. package/components/Step/CircularProgress.style.d.ts +1 -1
  256. package/components/Step/DestinationWalletAddress.js +6 -7
  257. package/components/Step/GasStepProcess.js +8 -8
  258. package/components/Step/Step.js +4 -5
  259. package/components/Step/StepList.d.ts +0 -1
  260. package/components/Step/StepList.js +8 -4
  261. package/components/Step/StepProcess.js +3 -3
  262. package/components/Step/StepProcess.style.d.ts +3 -3
  263. package/components/Step/StepTimer.js +4 -8
  264. package/components/StepActions/StepActions.js +20 -37
  265. package/components/StepActions/StepActions.style.d.ts +1 -1
  266. package/components/StepDivider/StepDivider.style.d.ts +1 -1
  267. package/components/SwapButton/SwapButton.js +5 -14
  268. package/components/SwapInput/FormPriceHelperText.js +6 -6
  269. package/components/SwapInput/SwapInput.js +4 -16
  270. package/components/SwapInput/SwapInput.style.d.ts +2 -2
  271. package/components/SwapInput/SwapInputAdornment.style.d.ts +2 -2
  272. package/components/SwapInput/SwapInputEndAdornment.d.ts +0 -1
  273. package/components/SwapInput/SwapInputEndAdornment.js +2 -3
  274. package/components/SwapRouteCard/SwapRouteCard.js +9 -25
  275. package/components/SwapRouteCard/SwapRouteCard.style.d.ts +3 -3
  276. package/components/SwapRouteCard/SwapRouteCardSkeleton.js +4 -16
  277. package/components/SwapRouteCard/SwapRouteNotFoundCard.js +2 -2
  278. package/components/SwapRouteCard/utils.js +1 -1
  279. package/components/SwapRoutes/SwapRoutes.js +4 -4
  280. package/components/SwapRoutes/SwapRoutes.style.d.ts +5 -5
  281. package/components/SwapRoutes/SwapRoutesExpanded.d.ts +0 -1
  282. package/components/SwapRoutes/SwapRoutesExpanded.js +3 -3
  283. package/components/TextFitter/TextFitter.js +3 -3
  284. package/components/Token/Token.js +19 -33
  285. package/components/Token/Token.style.d.ts +3 -3
  286. package/components/TokenAvatar/TokenAvatar.js +6 -7
  287. package/components/TokenAvatar/TokenAvatar.style.d.ts +2 -2
  288. package/components/TokenList/TokenList.js +3 -4
  289. package/components/TokenList/TokenList.style.d.ts +3 -3
  290. package/components/TokenList/TokenList.style.js +3 -7
  291. package/components/TokenList/TokenListItem.js +9 -9
  292. package/components/TokenList/TokenNotFound.js +4 -5
  293. package/components/TokenList/VirtualizedTokenList.js +10 -11
  294. package/components/TokenList/useTokenSelect.js +2 -2
  295. package/config/env.js +1 -1
  296. package/config/sentry.js +3 -12
  297. package/config/theme.js +44 -16
  298. package/config/version.d.ts +1 -1
  299. package/config/version.js +1 -1
  300. package/hooks/useChain.js +1 -1
  301. package/hooks/useChains.js +5 -14
  302. package/hooks/useContentHeight.js +1 -2
  303. package/hooks/useFeaturedTokens.js +1 -4
  304. package/hooks/useGasSufficiency.js +28 -34
  305. package/hooks/useProcessMessage.js +7 -11
  306. package/hooks/useRouteExecution.js +16 -26
  307. package/hooks/useSwapRoutes.js +16 -26
  308. package/hooks/useToken.js +2 -2
  309. package/hooks/useTokenAddressBalance.js +1 -2
  310. package/hooks/useTokenBalance.js +24 -27
  311. package/hooks/useTokenBalances.d.ts +1 -1
  312. package/hooks/useTokenBalances.js +8 -20
  313. package/hooks/useTokenSearch.d.ts +1 -1
  314. package/hooks/useTokenSearch.js +12 -21
  315. package/hooks/useTokens.d.ts +1 -1
  316. package/hooks/useTokens.js +36 -38
  317. package/hooks/useTools.d.ts +2 -11
  318. package/hooks/useTools.js +12 -22
  319. package/i18n/en.json +8 -8
  320. package/i18n/uk.json +8 -8
  321. package/icons/LiFiFullLogo.js +1 -1
  322. package/icons/LiFiLogo.js +1 -1
  323. package/icons/LiFiToolLogo.js +1 -1
  324. package/index.d.ts +1 -0
  325. package/index.js +2 -0
  326. package/package.json +7 -7
  327. package/pages/ActiveSwapsPage/ActiveSwapsEmpty.js +2 -2
  328. package/pages/ActiveSwapsPage/ActiveSwapsPage.d.ts +0 -1
  329. package/pages/ActiveSwapsPage/ActiveSwapsPage.js +3 -3
  330. package/pages/MainPage/MainPage.js +1 -1
  331. package/pages/MainPage/MainPage.style.d.ts +1 -1
  332. package/pages/MainPage/MainSwapButton.js +3 -12
  333. package/pages/SelectChainPage/SelectChainPage.js +6 -14
  334. package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.d.ts +4 -0
  335. package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js +47 -0
  336. package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.d.ts +20 -0
  337. package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.js +5 -0
  338. package/pages/SelectEnabledToolsPage/index.d.ts +1 -0
  339. package/pages/SelectEnabledToolsPage/index.js +1 -0
  340. package/pages/SelectNativeTokenPage/SelectNativeTokenPage.js +4 -3
  341. package/pages/SelectTokenPage/SearchTokenInput.d.ts +0 -1
  342. package/pages/SelectTokenPage/SearchTokenInput.js +4 -1
  343. package/pages/SelectTokenPage/SelectTokenPage.js +2 -3
  344. package/pages/SelectWalletPage/SelectWalletPage.d.ts +0 -1
  345. package/pages/SelectWalletPage/SelectWalletPage.js +13 -19
  346. package/pages/SettingsPage/ColorSchemeButtonGroup.js +3 -3
  347. package/pages/SettingsPage/ColorSchemeButtonGroup.style.d.ts +2 -2
  348. package/pages/SettingsPage/EnabledToolsButton.d.ts +4 -0
  349. package/pages/SettingsPage/EnabledToolsButton.js +21 -0
  350. package/{cjs/pages/SelectWalletPage/SelectWalletPage.style.d.ts → pages/SettingsPage/EnabledToolsButton.style.d.ts} +1 -1
  351. package/pages/SettingsPage/EnabledToolsButton.style.js +14 -0
  352. package/pages/SettingsPage/GasPriceSelect.d.ts +0 -1
  353. package/pages/SettingsPage/GasPriceSelect.js +1 -1
  354. package/pages/SettingsPage/LanguageSelect.js +5 -6
  355. package/pages/SettingsPage/ResetSettingsButton.d.ts +2 -0
  356. package/pages/SettingsPage/ResetSettingsButton.js +23 -0
  357. package/pages/SettingsPage/RoutePrioritySelect.js +4 -4
  358. package/pages/SettingsPage/SettingsPage.d.ts +0 -1
  359. package/pages/SettingsPage/SettingsPage.js +3 -2
  360. package/pages/SettingsPage/ShowDestinationWallet.d.ts +0 -1
  361. package/pages/SettingsPage/ShowDestinationWallet.js +3 -3
  362. package/pages/SettingsPage/SlippageInput.d.ts +0 -1
  363. package/pages/SettingsPage/SlippageInput.js +3 -3
  364. package/pages/SwapDetailsPage/SwapDetailsPage.js +14 -22
  365. package/pages/SwapDetailsPage/SwapDetailsPage.style.d.ts +1 -1
  366. package/pages/SwapHistoryPage/SwapHistoryEmpty.js +2 -2
  367. package/pages/SwapHistoryPage/SwapHistoryItem.js +9 -7
  368. package/pages/SwapHistoryPage/SwapHistoryPage.js +2 -2
  369. package/pages/SwapPage/ExchangeRateBottomSheet.js +21 -26
  370. package/pages/SwapPage/StartSwapButton.js +1 -1
  371. package/pages/SwapPage/StatusBottomSheet.js +21 -19
  372. package/pages/SwapPage/StatusBottomSheet.style.d.ts +2 -2
  373. package/pages/SwapPage/SwapPage.js +9 -21
  374. package/pages/SwapPage/SwapPage.style.d.ts +1 -1
  375. package/pages/SwapPage/TokenValueBottomSheet.js +8 -9
  376. package/pages/SwapRoutesPage/SwapRoutesPage.js +3 -3
  377. package/pages/SwapRoutesPage/SwapRoutesPage.style.d.ts +1 -1
  378. package/providers/I18nProvider/I18nProvider.js +7 -8
  379. package/providers/SDKProvider/SDKProvider.js +15 -4
  380. package/providers/SwapFormProvider/SwapFormProvider.js +12 -6
  381. package/providers/SwapFormProvider/URLSearchParamsBuilder.js +3 -12
  382. package/providers/TelemetryProvider/TelemetryProvider.js +1 -1
  383. package/providers/ThemeProvider/ThemeProvider.js +2 -2
  384. package/providers/WalletProvider/WalletProvider.js +30 -39
  385. package/providers/WidgetProvider/WidgetProvider.js +22 -29
  386. package/providers/WidgetProvider/utils.js +2 -3
  387. package/stores/StoreProvider.js +2 -8
  388. package/stores/chains/index.d.ts +1 -2
  389. package/stores/chains/index.js +1 -2
  390. package/stores/chains/useChainOrder.js +1 -1
  391. package/stores/chains/useChainOrderStore.d.ts +3 -0
  392. package/stores/chains/{createChainOrderStore.js → useChainOrderStore.js} +2 -2
  393. package/stores/routes/RouteExecutionStore.js +2 -14
  394. package/stores/routes/createRouteExecutionStore.js +27 -16
  395. package/stores/routes/types.d.ts +1 -1
  396. package/stores/routes/useExecutingRoutesIds.js +2 -5
  397. package/stores/routes/useRecommendedRouteStore.d.ts +10 -2
  398. package/stores/routes/useRecommendedRouteStore.js +25 -1
  399. package/stores/routes/useSwapHistory.js +3 -6
  400. package/stores/routes/utils.js +4 -4
  401. package/stores/settings/index.d.ts +1 -1
  402. package/stores/settings/index.js +1 -1
  403. package/stores/settings/types.d.ts +6 -6
  404. package/stores/settings/useAppearance.js +1 -1
  405. package/stores/settings/useSettings.js +1 -1
  406. package/stores/settings/useSettingsStore.d.ts +6 -0
  407. package/stores/settings/{createSettingsStore.js → useSettingsStore.js} +46 -26
  408. package/tsconfig.cjs.tsbuildinfo +1 -1
  409. package/utils/colors.js +1 -1
  410. package/utils/format.js +3 -3
  411. package/utils/navigationRoutes.d.ts +2 -0
  412. package/utils/navigationRoutes.js +6 -0
  413. package/cjs/pages/SettingsPage/AdvancedPreferences.d.ts +0 -2
  414. package/cjs/pages/SettingsPage/AdvancedPreferences.js +0 -24
  415. package/cjs/pages/SettingsPage/EnabledBridgesSelect.d.ts +0 -2
  416. package/cjs/pages/SettingsPage/EnabledBridgesSelect.js +0 -24
  417. package/cjs/pages/SettingsPage/EnabledExchangesSelect.d.ts +0 -2
  418. package/cjs/pages/SettingsPage/EnabledExchangesSelect.js +0 -24
  419. package/cjs/stores/chains/ChainOrderStore.d.ts +0 -9
  420. package/cjs/stores/chains/ChainOrderStore.js +0 -44
  421. package/cjs/stores/chains/createChainOrderStore.d.ts +0 -4
  422. package/cjs/stores/settings/SettingsStore.d.ts +0 -11
  423. package/cjs/stores/settings/SettingsStore.js +0 -58
  424. package/cjs/stores/settings/createSettingsStore.d.ts +0 -5
  425. package/pages/SelectChainPage/SelectChainPage.style.js +0 -17
  426. package/pages/SelectNativeTokenPage/SelectNativeTokenPage.style.d.ts +0 -21
  427. package/pages/SelectNativeTokenPage/SelectNativeTokenPage.style.js +0 -17
  428. package/pages/SelectWalletPage/SelectWalletPage.style.d.ts +0 -21
  429. package/pages/SelectWalletPage/SelectWalletPage.style.js +0 -17
  430. package/pages/SettingsPage/AdvancedPreferences.d.ts +0 -2
  431. package/pages/SettingsPage/AdvancedPreferences.js +0 -20
  432. package/pages/SettingsPage/EnabledBridgesSelect.d.ts +0 -2
  433. package/pages/SettingsPage/EnabledBridgesSelect.js +0 -20
  434. package/pages/SettingsPage/EnabledExchangesSelect.d.ts +0 -2
  435. package/pages/SettingsPage/EnabledExchangesSelect.js +0 -20
  436. package/stores/chains/ChainOrderStore.d.ts +0 -9
  437. package/stores/chains/ChainOrderStore.js +0 -38
  438. package/stores/chains/createChainOrderStore.d.ts +0 -4
  439. package/stores/settings/SettingsStore.d.ts +0 -11
  440. package/stores/settings/SettingsStore.js +0 -51
  441. package/stores/settings/createSettingsStore.d.ts +0 -5
@@ -2,6 +2,6 @@ import { useWidgetConfig } from '..';
2
2
  import { useTelemetry } from '../../hooks';
3
3
  export const TelemetryProvider = ({ children }) => {
4
4
  const config = useWidgetConfig();
5
- useTelemetry(config === null || config === void 0 ? void 0 : config.disableTelemetry);
5
+ useTelemetry(config?.disableTelemetry);
6
6
  return children;
7
7
  };
@@ -9,7 +9,7 @@ export const ThemeProvider = ({ children, }) => {
9
9
  const { appearance: colorSchemeMode, theme: themeConfig } = useWidgetConfig();
10
10
  const prefersDarkMode = useMediaQuery('(prefers-color-scheme: dark)');
11
11
  const [appearance, setAppearance] = useAppearance();
12
- const [mode, setMode] = useState((colorSchemeMode !== null && colorSchemeMode !== void 0 ? colorSchemeMode : appearance === 'auto')
12
+ const [mode, setMode] = useState(colorSchemeMode ?? appearance === 'auto'
13
13
  ? prefersDarkMode
14
14
  ? 'dark'
15
15
  : 'light'
@@ -29,5 +29,5 @@ export const ThemeProvider = ({ children, }) => {
29
29
  // eslint-disable-next-line react-hooks/exhaustive-deps
30
30
  }, [colorSchemeMode]);
31
31
  const theme = useMemo(() => createTheme(mode, themeConfig), [mode, themeConfig]);
32
- return _jsx(MuiThemeProvider, Object.assign({ theme: theme }, { children: children }));
32
+ return _jsx(MuiThemeProvider, { theme: theme, children: children });
33
33
  };
@@ -1,12 +1,3 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
1
  import { jsx as _jsx } from "react/jsx-runtime";
11
2
  import { addChain as walletAddChain, switchChain as walletSwitchChain, switchChainAndAddToken, useLiFiWalletManagement, } from '@lifi/wallet-management';
12
3
  import { createContext, useCallback, useContext, useEffect, useMemo, useState, } from 'react';
@@ -28,57 +19,57 @@ export const WalletProvider = ({ children }) => {
28
19
  const { walletManagement } = useWidgetConfig();
29
20
  const { connect: walletManagementConnect, disconnect: walletManagementDisconnect, signer, provider, } = useLiFiWalletManagement();
30
21
  const [account, setAccount] = useState({});
31
- const connect = useCallback((wallet) => __awaiter(void 0, void 0, void 0, function* () {
22
+ const connect = useCallback(async (wallet) => {
32
23
  if (walletManagement) {
33
- const signer = yield walletManagement.connect();
34
- const account = yield extractAccountFromSigner(signer);
24
+ const signer = await walletManagement.connect();
25
+ const account = await extractAccountFromSigner(signer);
35
26
  setAccount(account);
36
27
  return;
37
28
  }
38
- yield walletManagementConnect(wallet);
39
- }), [walletManagement, walletManagementConnect]);
40
- const disconnect = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
29
+ await walletManagementConnect(wallet);
30
+ }, [walletManagement, walletManagementConnect]);
31
+ const disconnect = useCallback(async () => {
41
32
  if (walletManagement) {
42
- yield walletManagement.disconnect();
33
+ await walletManagement.disconnect();
43
34
  setAccount({});
44
35
  return;
45
36
  }
46
- yield walletManagementDisconnect();
47
- }), [walletManagement, walletManagementDisconnect]);
37
+ await walletManagementDisconnect();
38
+ }, [walletManagement, walletManagementDisconnect]);
48
39
  // only for injected wallets
49
- const switchChain = useCallback((chainId) => __awaiter(void 0, void 0, void 0, function* () {
50
- if (walletManagement === null || walletManagement === void 0 ? void 0 : walletManagement.switchChain) {
51
- const signer = yield walletManagement.switchChain(chainId);
52
- const account = yield extractAccountFromSigner(signer);
40
+ const switchChain = useCallback(async (chainId) => {
41
+ if (walletManagement?.switchChain) {
42
+ const signer = await walletManagement.switchChain(chainId);
43
+ const account = await extractAccountFromSigner(signer);
53
44
  setAccount(account);
54
45
  return true;
55
46
  }
56
47
  return walletSwitchChain(chainId);
57
- }), [walletManagement]);
58
- const addChain = useCallback((chainId) => __awaiter(void 0, void 0, void 0, function* () {
59
- if (walletManagement === null || walletManagement === void 0 ? void 0 : walletManagement.addChain) {
48
+ }, [walletManagement]);
49
+ const addChain = useCallback(async (chainId) => {
50
+ if (walletManagement?.addChain) {
60
51
  return walletManagement.addChain(chainId);
61
52
  }
62
53
  return walletAddChain(chainId);
63
- }), [walletManagement]);
64
- const addToken = useCallback((chainId, token) => __awaiter(void 0, void 0, void 0, function* () {
65
- if (walletManagement === null || walletManagement === void 0 ? void 0 : walletManagement.addToken) {
54
+ }, [walletManagement]);
55
+ const addToken = useCallback(async (chainId, token) => {
56
+ if (walletManagement?.addToken) {
66
57
  return walletManagement.addToken(token, chainId);
67
58
  }
68
59
  return switchChainAndAddToken(chainId, token);
69
- }), [walletManagement]);
60
+ }, [walletManagement]);
70
61
  // keep account information up to date
71
62
  useEffect(() => {
72
- const updateAccount = () => __awaiter(void 0, void 0, void 0, function* () {
63
+ const updateAccount = async () => {
73
64
  let account;
74
65
  if (walletManagement) {
75
- account = yield extractAccountFromSigner(walletManagement === null || walletManagement === void 0 ? void 0 : walletManagement.signer);
66
+ account = await extractAccountFromSigner(walletManagement?.signer);
76
67
  }
77
68
  else {
78
- account = yield extractAccountFromSigner(signer);
69
+ account = await extractAccountFromSigner(signer);
79
70
  }
80
71
  setAccount(account);
81
- });
72
+ };
82
73
  updateAccount();
83
74
  }, [signer, walletManagement]);
84
75
  const value = useMemo(() => ({
@@ -90,19 +81,19 @@ export const WalletProvider = ({ children }) => {
90
81
  account,
91
82
  provider,
92
83
  }), [account, addChain, addToken, connect, disconnect, provider, switchChain]);
93
- return (_jsx(WalletContext.Provider, Object.assign({ value: value }, { children: children })));
84
+ return (_jsx(WalletContext.Provider, { value: value, children: children }));
94
85
  };
95
- export const extractAccountFromSigner = (signer) => __awaiter(void 0, void 0, void 0, function* () {
86
+ export const extractAccountFromSigner = async (signer) => {
96
87
  try {
97
88
  return {
98
- address: yield (signer === null || signer === void 0 ? void 0 : signer.getAddress()),
99
- isActive: (signer && !!(yield signer.getAddress()) === null) || !!signer,
89
+ address: await signer?.getAddress(),
90
+ isActive: (signer && !!(await signer.getAddress()) === null) || !!signer,
100
91
  signer,
101
- chainId: yield (signer === null || signer === void 0 ? void 0 : signer.getChainId()),
92
+ chainId: await signer?.getChainId(),
102
93
  };
103
94
  }
104
95
  catch (error) {
105
96
  console.log(error);
106
97
  return {};
107
98
  }
108
- });
99
+ };
@@ -1,18 +1,7 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
12
1
  import { jsx as _jsx } from "react/jsx-runtime";
13
2
  import { getChainByKey } from '@lifi/sdk';
14
- import { createContext, useContext, useEffect, useId, useMemo } from 'react';
15
- import { setDefaultSettings, useSettingsStoreContext } from '../../stores';
3
+ import { createContext, useContext, useId, useMemo } from 'react';
4
+ import { setDefaultSettings } from '../../stores';
16
5
  import { formatAmount } from '../../utils';
17
6
  const initialContext = {
18
7
  disabledChains: [],
@@ -20,47 +9,51 @@ const initialContext = {
20
9
  };
21
10
  const WidgetContext = createContext(initialContext);
22
11
  export const useWidgetConfig = () => useContext(WidgetContext);
23
- export const WidgetProvider = (_a) => {
24
- var { children } = _a, _b = _a.config, _c = _b === void 0 ? {} : _b, { fromChain, fromToken, toChain, toToken, fromAmount } = _c, config = __rest(_c, ["fromChain", "fromToken", "toChain", "toToken", "fromAmount"]);
25
- const settingsStoreContext = useSettingsStoreContext();
12
+ export const WidgetProvider = ({ children, config: { fromChain, fromToken, toChain, toToken, fromAmount, ...config } = {}, }) => {
26
13
  const elementId = useId();
27
14
  const value = useMemo(() => {
28
- var _a, _b, _c, _d, _e, _f;
29
15
  try {
30
- const searchParams = Object.fromEntries(new URLSearchParams(window === null || window === void 0 ? void 0 : window.location.search));
16
+ const searchParams = Object.fromEntries(new URLSearchParams(window?.location.search));
31
17
  // Prevent using fromToken/toToken params if chain is not selected
32
18
  ['from', 'to'].forEach((key) => {
33
19
  if (searchParams[`${key}Token`] && !searchParams[`${key}Chain`]) {
34
20
  delete searchParams[`${key}Token`];
35
21
  }
36
22
  });
37
- return Object.assign(Object.assign({}, config), { fromChain: (searchParams.fromChain &&
23
+ const value = {
24
+ ...config,
25
+ fromChain: (searchParams.fromChain &&
38
26
  isNaN(parseInt(searchParams.fromChain, 10))) ||
39
27
  typeof fromChain === 'string'
40
- ? (_b = getChainByKey((_a = (searchParams.fromChain || fromChain)) === null || _a === void 0 ? void 0 : _a.toLowerCase())) === null || _b === void 0 ? void 0 : _b.id
28
+ ? getChainByKey((searchParams.fromChain || fromChain)?.toLowerCase())?.id
41
29
  : (searchParams.fromChain &&
42
30
  !isNaN(parseInt(searchParams.fromChain, 10))) ||
43
31
  typeof fromChain === 'number'
44
32
  ? parseInt(searchParams.fromChain, 10) || fromChain
45
- : undefined, toChain: (searchParams.toChain && isNaN(parseInt(searchParams.toChain, 10))) ||
33
+ : undefined,
34
+ toChain: (searchParams.toChain && isNaN(parseInt(searchParams.toChain, 10))) ||
46
35
  typeof toChain === 'string'
47
- ? (_d = getChainByKey((_c = (searchParams.toChain || toChain)) === null || _c === void 0 ? void 0 : _c.toLowerCase())) === null || _d === void 0 ? void 0 : _d.id
36
+ ? getChainByKey((searchParams.toChain || toChain)?.toLowerCase())?.id
48
37
  : (searchParams.toChain &&
49
38
  !isNaN(parseInt(searchParams.toChain, 10))) ||
50
39
  typeof toChain === 'number'
51
40
  ? parseInt(searchParams.toChain, 10) || toChain
52
- : undefined, fromToken: ((_e = searchParams.fromToken) === null || _e === void 0 ? void 0 : _e.toLowerCase()) || (fromToken === null || fromToken === void 0 ? void 0 : fromToken.toLowerCase()), toToken: ((_f = searchParams.toToken) === null || _f === void 0 ? void 0 : _f.toLowerCase()) || (toToken === null || toToken === void 0 ? void 0 : toToken.toLowerCase()), fromAmount: typeof searchParams.fromAmount === 'string' &&
41
+ : undefined,
42
+ fromToken: searchParams.fromToken?.toLowerCase() || fromToken?.toLowerCase(),
43
+ toToken: searchParams.toToken?.toLowerCase() || toToken?.toLowerCase(),
44
+ fromAmount: typeof searchParams.fromAmount === 'string' &&
53
45
  !isNaN(parseFloat(searchParams.fromAmount))
54
46
  ? formatAmount(searchParams.fromAmount)
55
- : fromAmount, elementId });
47
+ : fromAmount,
48
+ elementId,
49
+ };
50
+ setDefaultSettings(value);
51
+ return value;
56
52
  }
57
53
  catch (e) {
58
54
  console.warn(e);
59
- return Object.assign(Object.assign({}, config), { elementId });
55
+ return { ...config, elementId };
60
56
  }
61
57
  }, [config, elementId, fromAmount, fromChain, fromToken, toChain, toToken]);
62
- useEffect(() => {
63
- setDefaultSettings(settingsStoreContext, value);
64
- }, [settingsStoreContext, value]);
65
- return (_jsx(WidgetContext.Provider, Object.assign({ value: value }, { children: children })));
58
+ return (_jsx(WidgetContext.Provider, { value: value, children: children }));
66
59
  };
@@ -1,9 +1,8 @@
1
1
  export const isItemAllowed = (itemId, items,
2
2
  /** @deprecated Remove in the next major release */
3
3
  disabledChains) => {
4
- var _a, _b;
5
- if ((_a = items === null || items === void 0 ? void 0 : items.allow) === null || _a === void 0 ? void 0 : _a.length) {
4
+ if (items?.allow?.length) {
6
5
  return items.allow.includes(itemId);
7
6
  }
8
- return !((disabledChains === null || disabledChains === void 0 ? void 0 : disabledChains.includes(itemId)) || ((_b = items === null || items === void 0 ? void 0 : items.deny) === null || _b === void 0 ? void 0 : _b.includes(itemId)));
7
+ return !(disabledChains?.includes(itemId) || items?.deny?.includes(itemId));
9
8
  };
@@ -1,11 +1,5 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { ChainOrderStoreProvider } from './chains';
3
- import { RouteExecutionStoreProvider } from './routes';
4
- import { SettingsStoreProvider } from './settings';
2
+ import { RecommendedRouteStoreProvider, RouteExecutionStoreProvider, } from './routes';
5
3
  export const StoreProvider = ({ children, namePrefix }) => {
6
- return (_jsx(RouteExecutionStoreProvider, Object.assign({ namePrefix: namePrefix }, { children: _jsx(SettingsStoreProvider
7
- // namePrefix={namePrefix}
8
- , { children: _jsx(ChainOrderStoreProvider
9
- // namePrefix={namePrefix}
10
- , { children: children }) }) })));
4
+ return (_jsx(RouteExecutionStoreProvider, { namePrefix: namePrefix, children: _jsx(RecommendedRouteStoreProvider, { children: children }) }));
11
5
  };
@@ -1,4 +1,3 @@
1
- export * from './ChainOrderStore';
2
- export * from './createChainOrderStore';
3
1
  export * from './types';
4
2
  export * from './useChainOrder';
3
+ export * from './useChainOrderStore';
@@ -1,4 +1,3 @@
1
- export * from './ChainOrderStore';
2
- export * from './createChainOrderStore';
3
1
  export * from './types';
4
2
  export * from './useChainOrder';
3
+ export * from './useChainOrderStore';
@@ -1,5 +1,5 @@
1
1
  import { shallow } from 'zustand/shallow';
2
- import { useChainOrderStore } from './ChainOrderStore';
2
+ import { useChainOrderStore } from '.';
3
3
  export const useChainOrder = () => {
4
4
  return useChainOrderStore((state) => [state.chainOrder, state.setChain], shallow);
5
5
  };
@@ -0,0 +1,3 @@
1
+ import type { ChainOrderState } from './types';
2
+ export declare const maxChainToOrder = 9;
3
+ export declare const useChainOrderStore: import("zustand").UseBoundStore<import("zustand").StoreApi<ChainOrderState>>;
@@ -1,7 +1,7 @@
1
1
  import { create } from 'zustand';
2
2
  import { persist } from 'zustand/middleware';
3
3
  export const maxChainToOrder = 9;
4
- export const createChainOrderStore = ({ namePrefix }) => create(persist((set, get) => ({
4
+ export const useChainOrderStore = create(persist((set, get) => ({
5
5
  chainOrder: [],
6
6
  availableChains: [],
7
7
  initializeChains: (chainIds) => {
@@ -43,7 +43,7 @@ export const createChainOrderStore = ({ namePrefix }) => create(persist((set, ge
43
43
  });
44
44
  },
45
45
  }), {
46
- name: `${namePrefix || 'li.fi'}-widget-chains-order`,
46
+ name: `li.fi-widget-chains-order`,
47
47
  version: 0,
48
48
  partialize: (state) => ({ chainOrder: state.chainOrder }),
49
49
  }));
@@ -1,26 +1,14 @@
1
- var __rest = (this && this.__rest) || function (s, e) {
2
- var t = {};
3
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
- t[p] = s[p];
5
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
- t[p[i]] = s[p[i]];
9
- }
10
- return t;
11
- };
12
1
  import { jsx as _jsx } from "react/jsx-runtime";
13
2
  /* eslint-disable no-underscore-dangle */
14
3
  import { createContext, useContext, useRef } from 'react';
15
4
  import { createRouteExecutionStore } from './createRouteExecutionStore';
16
5
  export const RouteExecutionStoreContext = createContext(null);
17
- export function RouteExecutionStoreProvider(_a) {
18
- var { children } = _a, props = __rest(_a, ["children"]);
6
+ export function RouteExecutionStoreProvider({ children, ...props }) {
19
7
  const storeRef = useRef();
20
8
  if (!storeRef.current) {
21
9
  storeRef.current = createRouteExecutionStore(props);
22
10
  }
23
- return (_jsx(RouteExecutionStoreContext.Provider, Object.assign({ value: storeRef.current }, { children: children })));
11
+ return (_jsx(RouteExecutionStoreContext.Provider, { value: storeRef.current, children: children }));
24
12
  }
25
13
  export function useRouteExecutionStore(selector, equalityFn) {
26
14
  const useStore = useContext(RouteExecutionStoreContext);
@@ -8,10 +8,10 @@ export const createRouteExecutionStore = ({ namePrefix }) => create(persist((set
8
8
  setExecutableRoute: (route) => {
9
9
  if (!get().routes[route.id]) {
10
10
  set((state) => {
11
- const routes = Object.assign({}, state.routes);
11
+ const routes = { ...state.routes };
12
12
  // clean previous idle routes that were not executed
13
13
  Object.keys(routes)
14
- .filter((routeId) => { var _a; return ((_a = routes[routeId]) === null || _a === void 0 ? void 0 : _a.status) === RouteExecutionStatus.Idle; })
14
+ .filter((routeId) => routes[routeId]?.status === RouteExecutionStatus.Idle)
15
15
  .forEach((routeId) => delete routes[routeId]);
16
16
  routes[route.id] = {
17
17
  route,
@@ -27,7 +27,10 @@ export const createRouteExecutionStore = ({ namePrefix }) => create(persist((set
27
27
  if (get().routes[route.id]) {
28
28
  set((state) => {
29
29
  const updatedState = {
30
- routes: Object.assign(Object.assign({}, state.routes), { [route.id]: Object.assign(Object.assign({}, state.routes[route.id]), { route }) }),
30
+ routes: {
31
+ ...state.routes,
32
+ [route.id]: { ...state.routes[route.id], route },
33
+ },
31
34
  };
32
35
  const isFailed = isRouteFailed(route);
33
36
  if (isFailed) {
@@ -61,14 +64,20 @@ export const createRouteExecutionStore = ({ namePrefix }) => create(persist((set
61
64
  restartRoute: (routeId) => {
62
65
  if (get().routes[routeId]) {
63
66
  set((state) => ({
64
- routes: Object.assign(Object.assign({}, state.routes), { [routeId]: Object.assign(Object.assign({}, state.routes[routeId]), { status: RouteExecutionStatus.Pending }) }),
67
+ routes: {
68
+ ...state.routes,
69
+ [routeId]: {
70
+ ...state.routes[routeId],
71
+ status: RouteExecutionStatus.Pending,
72
+ },
73
+ },
65
74
  }));
66
75
  }
67
76
  },
68
77
  deleteRoute: (routeId) => {
69
78
  if (get().routes[routeId]) {
70
79
  set((state) => {
71
- const routes = Object.assign({}, state.routes);
80
+ const routes = { ...state.routes };
72
81
  delete routes[routeId];
73
82
  return {
74
83
  routes,
@@ -77,14 +86,11 @@ export const createRouteExecutionStore = ({ namePrefix }) => create(persist((set
77
86
  }
78
87
  },
79
88
  deleteRoutes: (type) => set((state) => {
80
- const routes = Object.assign({}, state.routes);
89
+ const routes = { ...state.routes };
81
90
  Object.keys(routes)
82
- .filter((routeId) => {
83
- var _a, _b, _c, _d;
84
- return type === 'completed'
85
- ? hasEnumFlag((_b = (_a = routes[routeId]) === null || _a === void 0 ? void 0 : _a.status) !== null && _b !== void 0 ? _b : 0, RouteExecutionStatus.Done)
86
- : !hasEnumFlag((_d = (_c = routes[routeId]) === null || _c === void 0 ? void 0 : _c.status) !== null && _d !== void 0 ? _d : 0, RouteExecutionStatus.Done);
87
- })
91
+ .filter((routeId) => type === 'completed'
92
+ ? hasEnumFlag(routes[routeId]?.status ?? 0, RouteExecutionStatus.Done)
93
+ : !hasEnumFlag(routes[routeId]?.status ?? 0, RouteExecutionStatus.Done))
88
94
  .forEach((routeId) => delete routes[routeId]);
89
95
  return {
90
96
  routes,
@@ -95,16 +101,21 @@ export const createRouteExecutionStore = ({ namePrefix }) => create(persist((set
95
101
  version: 1,
96
102
  partialize: (state) => ({ routes: state.routes }),
97
103
  merge: (persistedState, currentState) => {
98
- const state = Object.assign(Object.assign({}, currentState), persistedState);
104
+ const state = {
105
+ ...currentState,
106
+ ...persistedState,
107
+ };
99
108
  try {
100
109
  // Move swaps to history after 1 day
101
110
  const currentTime = new Date().getTime();
102
111
  const oneDay = 1000 * 60 * 60 * 24;
103
112
  Object.values(state.routes).forEach((routeExecution) => {
104
- var _a, _b, _c, _d, _e;
105
- const startedAt = (_e = (_d = (_c = (_b = (_a = routeExecution === null || routeExecution === void 0 ? void 0 : routeExecution.route.steps) === null || _a === void 0 ? void 0 : _a.find((step) => { var _a; return ((_a = step.execution) === null || _a === void 0 ? void 0 : _a.status) === 'FAILED'; })) === null || _b === void 0 ? void 0 : _b.execution) === null || _c === void 0 ? void 0 : _c.process.find((process) => process.startedAt)) === null || _d === void 0 ? void 0 : _d.startedAt) !== null && _e !== void 0 ? _e : 0;
113
+ const startedAt = routeExecution?.route.steps
114
+ ?.find((step) => step.execution?.status === 'FAILED')
115
+ ?.execution?.process.find((process) => process.startedAt)
116
+ ?.startedAt ?? 0;
106
117
  const outdated = startedAt > 0 && currentTime - startedAt > oneDay;
107
- if ((routeExecution === null || routeExecution === void 0 ? void 0 : routeExecution.route) && outdated) {
118
+ if (routeExecution?.route && outdated) {
108
119
  routeExecution.status |= RouteExecutionStatus.Done;
109
120
  }
110
121
  });
@@ -19,7 +19,7 @@ export declare enum RouteExecutionStatus {
19
19
  Partial = 8,
20
20
  Refunded = 16
21
21
  }
22
- export interface RecommendedRouteStore {
22
+ export interface RecommendedRouteState {
23
23
  recommendedRoute?: Route;
24
24
  setRecommendedRoute: (route?: Route) => void;
25
25
  }
@@ -6,10 +6,7 @@ export const useExecutingRoutesIds = (address) => {
6
6
  .filter((item) => item.route.fromAddress === address &&
7
7
  (item.status === RouteExecutionStatus.Pending ||
8
8
  item.status === RouteExecutionStatus.Failed))
9
- .sort((a, b) => {
10
- var _a, _b, _c, _d;
11
- return ((_b = (_a = b === null || b === void 0 ? void 0 : b.route.steps[0].execution) === null || _a === void 0 ? void 0 : _a.process[0].startedAt) !== null && _b !== void 0 ? _b : 0) -
12
- ((_d = (_c = a === null || a === void 0 ? void 0 : a.route.steps[0].execution) === null || _c === void 0 ? void 0 : _c.process[0].startedAt) !== null && _d !== void 0 ? _d : 0);
13
- })
9
+ .sort((a, b) => (b?.route.steps[0].execution?.process[0].startedAt ?? 0) -
10
+ (a?.route.steps[0].execution?.process[0].startedAt ?? 0))
14
11
  .map(({ route }) => route.id), shallow);
15
12
  };
@@ -1,2 +1,10 @@
1
- import type { RecommendedRouteStore } from './types';
2
- export declare const useRecommendedRouteStore: import("zustand").UseBoundStore<import("zustand").StoreApi<RecommendedRouteStore>>;
1
+ /// <reference types="react" />
2
+ import type { StoreApi, UseBoundStore } from 'zustand';
3
+ import type { PersistStoreProviderProps } from '../types';
4
+ import type { RecommendedRouteState } from './types';
5
+ export declare const createRecommendedRouteStore: () => UseBoundStore<StoreApi<RecommendedRouteState>>;
6
+ export type RecommendedRouteStore = UseBoundStore<StoreApi<RecommendedRouteState>>;
7
+ export declare const RecommendedRouteStoreContext: import("react").Context<RecommendedRouteStore | null>;
8
+ export declare function RecommendedRouteStoreProvider({ children, ...props }: PersistStoreProviderProps): JSX.Element;
9
+ export declare function useRecommendedRouteStore<T>(selector: (state: RecommendedRouteState) => T, equalityFn?: (left: T, right: T) => boolean): T;
10
+ export declare function useRecommendedRouteStoreContext(): RecommendedRouteStore;
@@ -1,8 +1,32 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { createContext, useContext, useRef } from 'react';
1
3
  import { create } from 'zustand';
2
- export const useRecommendedRouteStore = create((set) => ({
4
+ export const createRecommendedRouteStore = () => create((set) => ({
3
5
  setRecommendedRoute: (recommendedRoute) => {
4
6
  set(() => ({
5
7
  recommendedRoute,
6
8
  }));
7
9
  },
8
10
  }));
11
+ export const RecommendedRouteStoreContext = createContext(null);
12
+ export function RecommendedRouteStoreProvider({ children, ...props }) {
13
+ const storeRef = useRef();
14
+ if (!storeRef.current) {
15
+ storeRef.current = createRecommendedRouteStore();
16
+ }
17
+ return (_jsx(RecommendedRouteStoreContext.Provider, { value: storeRef.current, children: children }));
18
+ }
19
+ export function useRecommendedRouteStore(selector, equalityFn) {
20
+ const useStore = useContext(RecommendedRouteStoreContext);
21
+ if (!useStore) {
22
+ throw new Error(`You forgot to wrap your component in <${RecommendedRouteStoreProvider.name}>.`);
23
+ }
24
+ return useStore(selector, equalityFn);
25
+ }
26
+ export function useRecommendedRouteStoreContext() {
27
+ const useStore = useContext(RecommendedRouteStoreContext);
28
+ if (!useStore) {
29
+ throw new Error(`You forgot to wrap your component in <${RecommendedRouteStoreProvider.name}>.`);
30
+ }
31
+ return useStore;
32
+ }
@@ -4,11 +4,8 @@ import { useRouteExecutionStore } from './RouteExecutionStore';
4
4
  import { RouteExecutionStatus } from './types';
5
5
  export const useSwapHistory = (address) => {
6
6
  return useRouteExecutionStore((state) => Object.values(state.routes)
7
- .filter((item) => (item === null || item === void 0 ? void 0 : item.route.fromAddress) === address &&
7
+ .filter((item) => item?.route.fromAddress === address &&
8
8
  hasEnumFlag(item.status, RouteExecutionStatus.Done))
9
- .sort((a, b) => {
10
- var _a, _b, _c, _d;
11
- return ((_b = (_a = b === null || b === void 0 ? void 0 : b.route.steps[0].execution) === null || _a === void 0 ? void 0 : _a.process[0].startedAt) !== null && _b !== void 0 ? _b : 0) -
12
- ((_d = (_c = a === null || a === void 0 ? void 0 : a.route.steps[0].execution) === null || _c === void 0 ? void 0 : _c.process[0].startedAt) !== null && _d !== void 0 ? _d : 0);
13
- }), shallow);
9
+ .sort((a, b) => (b?.route.steps[0].execution?.process[0].startedAt ?? 0) -
10
+ (a?.route.steps[0].execution?.process[0].startedAt ?? 0)), shallow);
14
11
  };
@@ -1,15 +1,15 @@
1
1
  import microdiff from 'microdiff';
2
2
  export const isRouteDone = (route) => {
3
- return route.steps.every((step) => { var _a; return ((_a = step.execution) === null || _a === void 0 ? void 0 : _a.status) === 'DONE'; });
3
+ return route.steps.every((step) => step.execution?.status === 'DONE');
4
4
  };
5
5
  export const isRoutePartiallyDone = (route) => {
6
- return route.steps.some((step) => { var _a; return (_a = step.execution) === null || _a === void 0 ? void 0 : _a.process.some((process) => process.substatus === 'PARTIAL'); });
6
+ return route.steps.some((step) => step.execution?.process.some((process) => process.substatus === 'PARTIAL'));
7
7
  };
8
8
  export const isRouteRefunded = (route) => {
9
- return route.steps.some((step) => { var _a; return (_a = step.execution) === null || _a === void 0 ? void 0 : _a.process.some((process) => process.substatus === 'REFUNDED'); });
9
+ return route.steps.some((step) => step.execution?.process.some((process) => process.substatus === 'REFUNDED'));
10
10
  };
11
11
  export const isRouteFailed = (route) => {
12
- return route.steps.some((step) => { var _a; return ((_a = step.execution) === null || _a === void 0 ? void 0 : _a.status) === 'FAILED'; });
12
+ return route.steps.some((step) => step.execution?.status === 'FAILED');
13
13
  };
14
14
  export const isRouteActive = (route) => {
15
15
  if (!route) {
@@ -1,5 +1,5 @@
1
- export * from './SettingsStore';
2
1
  export * from './types';
3
2
  export * from './useAppearance';
4
3
  export * from './useSendToWalletStore';
5
4
  export * from './useSettings';
5
+ export * from './useSettingsStore';
@@ -1,5 +1,5 @@
1
- export * from './SettingsStore';
2
1
  export * from './types';
3
2
  export * from './useAppearance';
4
3
  export * from './useSendToWalletStore';
5
4
  export * from './useSettings';
5
+ export * from './useSettingsStore';
@@ -1,27 +1,27 @@
1
- import type { Bridge, Exchange, Order } from '@lifi/sdk';
1
+ import type { Order } from '@lifi/sdk';
2
2
  import type { Appearance } from '../../types';
3
3
  export type ValueSetter<S> = <K extends keyof S>(key: K, value: S[Extract<K, string>]) => void;
4
4
  export type ValuesSetter<S> = <K extends keyof S>(values: Record<K, S[Extract<K, string>]>) => void;
5
5
  export type SettingsToolType = 'Bridges' | 'Exchanges';
6
6
  export declare const SettingsToolTypes: SettingsToolType[];
7
7
  export interface SettingsProps {
8
- advancedPreferences: boolean;
9
8
  appearance: Appearance;
10
9
  gasPrice?: string;
11
10
  language?: string;
12
11
  routePriority?: Order;
13
12
  showDestinationWallet: boolean;
14
13
  slippage?: string;
15
- enabledBridges?: string[];
14
+ enabledBridges: string[];
16
15
  _enabledBridges?: Record<string, boolean>;
17
- enabledExchanges?: string[];
16
+ enabledExchanges: string[];
18
17
  _enabledExchanges?: Record<string, boolean>;
19
18
  }
20
19
  export interface SettingsState extends SettingsProps {
21
20
  setValue: ValueSetter<SettingsProps>;
22
21
  setValues: ValuesSetter<SettingsProps>;
23
- initializeTools(toolType: SettingsToolType, tools: string[]): void;
24
- setTools(toolType: SettingsToolType, tools: string[], availableTools: (Pick<Bridge, 'key'> | Pick<Exchange, 'key'>)[]): void;
22
+ initializeTools(toolType: SettingsToolType, tools: string[], reset?: boolean): void;
23
+ setTools(toolType: SettingsToolType, tools: string[], availableTools: string[]): void;
24
+ reset(bridges: string[], exchanges: string[]): void;
25
25
  }
26
26
  export interface SendToWalletState {
27
27
  showSendToWallet: boolean;
@@ -1,5 +1,5 @@
1
1
  import { shallow } from 'zustand/shallow';
2
- import { useSettingsStore } from './SettingsStore';
2
+ import { useSettingsStore } from './useSettingsStore';
3
3
  export const useAppearance = () => {
4
4
  const [appearance, setValue] = useSettingsStore((state) => [state.appearance, state.setValue], shallow);
5
5
  const setAppearance = (appearance) => {
@@ -1,5 +1,5 @@
1
1
  import { shallow } from 'zustand/shallow';
2
- import { useSettingsStore } from './SettingsStore';
2
+ import { useSettingsStore } from './useSettingsStore';
3
3
  export const useSettings = (keys) => {
4
4
  return useSettingsStore((state) => keys.reduce((values, key) => {
5
5
  values[key] = state[key];
@@ -0,0 +1,6 @@
1
+ import type { WidgetConfig } from '../../types';
2
+ import type { SettingsProps, SettingsState } from './types';
3
+ export declare const defaultConfigurableSettings: Pick<SettingsState, 'routePriority' | 'slippage'>;
4
+ export declare const defaultSettings: SettingsProps;
5
+ export declare const useSettingsStore: import("zustand").UseBoundStore<import("zustand").StoreApi<SettingsState>>;
6
+ export declare const setDefaultSettings: (config?: WidgetConfig) => void;