@lifi/widget 1.31.1 → 1.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (405) hide show
  1. package/App.js +4 -16
  2. package/AppDrawer.js +13 -7
  3. package/AppDrawer.style.d.ts +2 -2
  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 +2 -2
  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 +3 -3
  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 +3 -3
  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 +1 -1
  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 +1 -1
  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 +2 -2
  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 +1 -1
  72. package/cjs/components/SwapInput/SwapInputAdornment.style.d.ts +1 -1
  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 +2 -2
  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 +2 -2
  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 +10 -19
  120. package/cjs/i18n/en.json +8 -4
  121. package/cjs/icons/LiFiFullLogo.js +1 -1
  122. package/cjs/icons/LiFiLogo.js +1 -1
  123. package/cjs/icons/LiFiToolLogo.js +1 -1
  124. package/cjs/index.d.ts +1 -0
  125. package/cjs/index.js +2 -0
  126. package/cjs/pages/ActiveSwapsPage/ActiveSwapsEmpty.js +2 -2
  127. package/cjs/pages/ActiveSwapsPage/ActiveSwapsPage.d.ts +0 -1
  128. package/cjs/pages/ActiveSwapsPage/ActiveSwapsPage.js +3 -3
  129. package/cjs/pages/MainPage/MainPage.js +1 -1
  130. package/cjs/pages/MainPage/MainPage.style.d.ts +1 -1
  131. package/cjs/pages/MainPage/MainSwapButton.js +3 -12
  132. package/cjs/pages/SelectChainPage/SelectChainPage.js +6 -14
  133. package/cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.d.ts +4 -0
  134. package/cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js +51 -0
  135. package/cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.d.ts +20 -0
  136. package/cjs/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.js +8 -0
  137. package/cjs/pages/SelectEnabledToolsPage/index.d.ts +1 -0
  138. package/cjs/pages/SelectEnabledToolsPage/index.js +17 -0
  139. package/cjs/pages/SelectNativeTokenPage/SelectNativeTokenPage.js +4 -3
  140. package/cjs/pages/SelectTokenPage/SearchTokenInput.d.ts +0 -1
  141. package/cjs/pages/SelectTokenPage/SearchTokenInput.js +4 -1
  142. package/cjs/pages/SelectTokenPage/SelectTokenPage.js +2 -3
  143. package/cjs/pages/SelectWalletPage/SelectWalletPage.d.ts +0 -1
  144. package/cjs/pages/SelectWalletPage/SelectWalletPage.js +13 -19
  145. package/cjs/pages/SettingsPage/ColorSchemeButtonGroup.js +3 -3
  146. package/cjs/pages/SettingsPage/ColorSchemeButtonGroup.style.d.ts +1 -1
  147. package/cjs/pages/SettingsPage/EnabledToolsButton.d.ts +4 -0
  148. package/cjs/pages/SettingsPage/EnabledToolsButton.js +25 -0
  149. package/cjs/pages/{SelectChainPage/SelectChainPage.style.d.ts → SettingsPage/EnabledToolsButton.style.d.ts} +1 -1
  150. package/cjs/pages/{SelectChainPage/SelectChainPage.style.js → SettingsPage/EnabledToolsButton.style.js} +7 -10
  151. package/cjs/pages/SettingsPage/GasPriceSelect.d.ts +0 -1
  152. package/cjs/pages/SettingsPage/GasPriceSelect.js +1 -1
  153. package/cjs/pages/SettingsPage/LanguageSelect.js +5 -6
  154. package/cjs/pages/SettingsPage/ResetSettingsButton.d.ts +2 -0
  155. package/cjs/pages/SettingsPage/ResetSettingsButton.js +27 -0
  156. package/cjs/pages/SettingsPage/RoutePrioritySelect.js +4 -4
  157. package/cjs/pages/SettingsPage/SettingsPage.d.ts +0 -1
  158. package/cjs/pages/SettingsPage/SettingsPage.js +3 -2
  159. package/cjs/pages/SettingsPage/ShowDestinationWallet.d.ts +0 -1
  160. package/cjs/pages/SettingsPage/ShowDestinationWallet.js +3 -3
  161. package/cjs/pages/SettingsPage/SlippageInput.d.ts +0 -1
  162. package/cjs/pages/SettingsPage/SlippageInput.js +3 -3
  163. package/cjs/pages/SwapDetailsPage/SwapDetailsPage.js +14 -22
  164. package/cjs/pages/SwapDetailsPage/SwapDetailsPage.style.d.ts +1 -1
  165. package/cjs/pages/SwapHistoryPage/SwapHistoryEmpty.js +2 -2
  166. package/cjs/pages/SwapHistoryPage/SwapHistoryItem.js +9 -7
  167. package/cjs/pages/SwapHistoryPage/SwapHistoryPage.js +2 -2
  168. package/cjs/pages/SwapPage/ExchangeRateBottomSheet.js +21 -26
  169. package/cjs/pages/SwapPage/StartSwapButton.js +1 -1
  170. package/cjs/pages/SwapPage/StatusBottomSheet.js +21 -19
  171. package/cjs/pages/SwapPage/StatusBottomSheet.style.d.ts +2 -2
  172. package/cjs/pages/SwapPage/SwapPage.js +9 -21
  173. package/cjs/pages/SwapPage/SwapPage.style.d.ts +1 -1
  174. package/cjs/pages/SwapPage/TokenValueBottomSheet.js +8 -9
  175. package/cjs/pages/SwapRoutesPage/SwapRoutesPage.js +3 -3
  176. package/cjs/pages/SwapRoutesPage/SwapRoutesPage.style.d.ts +1 -1
  177. package/cjs/providers/I18nProvider/I18nProvider.js +7 -8
  178. package/cjs/providers/SDKProvider/SDKProvider.js +15 -4
  179. package/cjs/providers/SwapFormProvider/SwapFormProvider.js +12 -6
  180. package/cjs/providers/SwapFormProvider/URLSearchParamsBuilder.js +3 -12
  181. package/cjs/providers/TelemetryProvider/TelemetryProvider.js +1 -1
  182. package/cjs/providers/ThemeProvider/ThemeProvider.js +2 -2
  183. package/cjs/providers/WalletProvider/WalletProvider.js +30 -39
  184. package/cjs/providers/WidgetProvider/WidgetProvider.js +18 -23
  185. package/cjs/providers/WidgetProvider/utils.js +2 -3
  186. package/cjs/stores/StoreProvider.js +2 -2
  187. package/cjs/stores/chains/ChainOrderStore.js +2 -14
  188. package/cjs/stores/routes/RouteExecutionStore.js +2 -14
  189. package/cjs/stores/routes/createRouteExecutionStore.js +27 -16
  190. package/cjs/stores/routes/useExecutingRoutesIds.js +2 -5
  191. package/cjs/stores/routes/useSwapHistory.js +3 -6
  192. package/cjs/stores/routes/utils.js +4 -4
  193. package/cjs/stores/settings/SettingsStore.js +10 -20
  194. package/cjs/stores/settings/createSettingsStore.js +29 -25
  195. package/cjs/stores/settings/types.d.ts +6 -6
  196. package/cjs/utils/colors.js +1 -1
  197. package/cjs/utils/format.js +3 -3
  198. package/cjs/utils/navigationRoutes.d.ts +2 -0
  199. package/cjs/utils/navigationRoutes.js +6 -0
  200. package/components/ActiveSwaps/ActiveSwapItem.js +9 -7
  201. package/components/ActiveSwaps/ActiveSwaps.js +3 -3
  202. package/components/ActiveSwaps/ActiveSwaps.style.d.ts +3 -3
  203. package/components/AppContainer.d.ts +2 -2
  204. package/components/AppContainer.js +1 -1
  205. package/components/BottomSheet/BottomSheet.d.ts +1 -1
  206. package/components/BottomSheet/BottomSheet.js +2 -2
  207. package/components/Card/Card.d.ts +2 -2
  208. package/components/Card/CardHeader.d.ts +1 -1
  209. package/components/Card/CardTitle.d.ts +1 -1
  210. package/components/ChainSelect/ChainSelect.d.ts +0 -1
  211. package/components/ChainSelect/ChainSelect.js +3 -4
  212. package/components/ChainSelect/ChainSelect.style.d.ts +3 -3
  213. package/components/ContractComponent/ContractComponent.js +1 -1
  214. package/components/Dialog.js +1 -1
  215. package/components/GasSufficiencyMessage/GasSufficiencyMessage.js +13 -28
  216. package/components/GasSufficiencyMessage/GasSufficiencyMessage.style.d.ts +1 -1
  217. package/components/Header/Header.js +1 -1
  218. package/components/Header/Header.style.d.ts +3 -3
  219. package/components/Header/NavigationHeader.js +6 -2
  220. package/components/Header/WalletHeader.js +12 -22
  221. package/{pages/SelectChainPage/SelectChainPage.style.d.ts → components/ListItemButton.d.ts} +1 -2
  222. package/components/ListItemButton.js +11 -0
  223. package/components/ListItemText.d.ts +2 -0
  224. package/components/ListItemText.js +8 -0
  225. package/components/NFT/NFT.js +2 -14
  226. package/components/NFT/NFT.style.d.ts +1 -1
  227. package/components/NotFound.js +2 -2
  228. package/components/PoweredBy/PoweredBy.js +2 -2
  229. package/components/PoweredBy/PoweredBy.style.d.ts +1 -1
  230. package/components/ProgressToNextUpdate/ProgressToNextUpdate.js +5 -17
  231. package/components/ReverseTokensButton/ReverseTokensButton.js +1 -1
  232. package/components/ReverseTokensButton/ReverseTokensButton.style.d.ts +1 -1
  233. package/components/Select.js +1 -0
  234. package/components/SelectChainAndToken.js +4 -4
  235. package/components/SelectTokenButton/SelectTokenButton.js +2 -2
  236. package/components/SelectTokenButton/SelectTokenButton.style.d.ts +1 -1
  237. package/components/SendToWallet/SendToWallet.js +9 -19
  238. package/components/SendToWallet/SendToWallet.style.d.ts +1 -1
  239. package/components/SendToWallet/SendToWalletButton.js +5 -5
  240. package/components/SmallAvatar.d.ts +3 -3
  241. package/components/Step/CircularProgress.d.ts +0 -1
  242. package/components/Step/CircularProgress.js +2 -2
  243. package/components/Step/CircularProgress.style.d.ts +1 -1
  244. package/components/Step/DestinationWalletAddress.js +6 -7
  245. package/components/Step/GasStepProcess.js +8 -8
  246. package/components/Step/Step.js +4 -5
  247. package/components/Step/StepList.d.ts +0 -1
  248. package/components/Step/StepList.js +8 -4
  249. package/components/Step/StepProcess.js +3 -3
  250. package/components/Step/StepProcess.style.d.ts +2 -2
  251. package/components/Step/StepTimer.js +4 -8
  252. package/components/StepActions/StepActions.js +20 -37
  253. package/components/StepActions/StepActions.style.d.ts +1 -1
  254. package/components/StepDivider/StepDivider.style.d.ts +1 -1
  255. package/components/SwapButton/SwapButton.js +5 -14
  256. package/components/SwapInput/FormPriceHelperText.js +6 -6
  257. package/components/SwapInput/SwapInput.js +4 -16
  258. package/components/SwapInput/SwapInput.style.d.ts +1 -1
  259. package/components/SwapInput/SwapInputAdornment.style.d.ts +1 -1
  260. package/components/SwapInput/SwapInputEndAdornment.d.ts +0 -1
  261. package/components/SwapInput/SwapInputEndAdornment.js +2 -3
  262. package/components/SwapRouteCard/SwapRouteCard.js +9 -25
  263. package/components/SwapRouteCard/SwapRouteCard.style.d.ts +2 -2
  264. package/components/SwapRouteCard/SwapRouteCardSkeleton.js +4 -16
  265. package/components/SwapRouteCard/SwapRouteNotFoundCard.js +2 -2
  266. package/components/SwapRouteCard/utils.js +1 -1
  267. package/components/SwapRoutes/SwapRoutes.js +4 -4
  268. package/components/SwapRoutes/SwapRoutes.style.d.ts +5 -5
  269. package/components/SwapRoutes/SwapRoutesExpanded.d.ts +0 -1
  270. package/components/SwapRoutes/SwapRoutesExpanded.js +3 -3
  271. package/components/TextFitter/TextFitter.js +3 -3
  272. package/components/Token/Token.js +19 -33
  273. package/components/Token/Token.style.d.ts +3 -3
  274. package/components/TokenAvatar/TokenAvatar.js +6 -7
  275. package/components/TokenAvatar/TokenAvatar.style.d.ts +2 -2
  276. package/components/TokenList/TokenList.js +3 -4
  277. package/components/TokenList/TokenList.style.d.ts +2 -2
  278. package/components/TokenList/TokenList.style.js +3 -7
  279. package/components/TokenList/TokenListItem.js +9 -9
  280. package/components/TokenList/TokenNotFound.js +4 -5
  281. package/components/TokenList/VirtualizedTokenList.js +10 -11
  282. package/components/TokenList/useTokenSelect.js +2 -2
  283. package/config/env.js +1 -1
  284. package/config/sentry.js +3 -12
  285. package/config/theme.js +44 -16
  286. package/config/version.d.ts +1 -1
  287. package/config/version.js +1 -1
  288. package/hooks/useChain.js +1 -1
  289. package/hooks/useChains.js +5 -14
  290. package/hooks/useContentHeight.js +1 -2
  291. package/hooks/useFeaturedTokens.js +1 -4
  292. package/hooks/useGasSufficiency.js +28 -34
  293. package/hooks/useProcessMessage.js +7 -11
  294. package/hooks/useRouteExecution.js +16 -26
  295. package/hooks/useSwapRoutes.js +16 -26
  296. package/hooks/useToken.js +2 -2
  297. package/hooks/useTokenAddressBalance.js +1 -2
  298. package/hooks/useTokenBalance.js +24 -27
  299. package/hooks/useTokenBalances.d.ts +1 -1
  300. package/hooks/useTokenBalances.js +8 -20
  301. package/hooks/useTokenSearch.d.ts +1 -1
  302. package/hooks/useTokenSearch.js +12 -21
  303. package/hooks/useTokens.d.ts +1 -1
  304. package/hooks/useTokens.js +36 -38
  305. package/hooks/useTools.d.ts +2 -11
  306. package/hooks/useTools.js +10 -19
  307. package/i18n/en.json +8 -4
  308. package/icons/LiFiFullLogo.js +1 -1
  309. package/icons/LiFiLogo.js +1 -1
  310. package/icons/LiFiToolLogo.js +1 -1
  311. package/index.d.ts +1 -0
  312. package/index.js +2 -0
  313. package/package.json +7 -7
  314. package/pages/ActiveSwapsPage/ActiveSwapsEmpty.js +2 -2
  315. package/pages/ActiveSwapsPage/ActiveSwapsPage.d.ts +0 -1
  316. package/pages/ActiveSwapsPage/ActiveSwapsPage.js +3 -3
  317. package/pages/MainPage/MainPage.js +1 -1
  318. package/pages/MainPage/MainPage.style.d.ts +1 -1
  319. package/pages/MainPage/MainSwapButton.js +3 -12
  320. package/pages/SelectChainPage/SelectChainPage.js +6 -14
  321. package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.d.ts +4 -0
  322. package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.js +47 -0
  323. package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.d.ts +20 -0
  324. package/pages/SelectEnabledToolsPage/SelectEnabledToolsPage.style.js +5 -0
  325. package/pages/SelectEnabledToolsPage/index.d.ts +1 -0
  326. package/pages/SelectEnabledToolsPage/index.js +1 -0
  327. package/pages/SelectNativeTokenPage/SelectNativeTokenPage.js +4 -3
  328. package/pages/SelectTokenPage/SearchTokenInput.d.ts +0 -1
  329. package/pages/SelectTokenPage/SearchTokenInput.js +4 -1
  330. package/pages/SelectTokenPage/SelectTokenPage.js +2 -3
  331. package/pages/SelectWalletPage/SelectWalletPage.d.ts +0 -1
  332. package/pages/SelectWalletPage/SelectWalletPage.js +13 -19
  333. package/pages/SettingsPage/ColorSchemeButtonGroup.js +3 -3
  334. package/pages/SettingsPage/ColorSchemeButtonGroup.style.d.ts +1 -1
  335. package/pages/SettingsPage/EnabledToolsButton.d.ts +4 -0
  336. package/pages/SettingsPage/EnabledToolsButton.js +21 -0
  337. package/{cjs/pages/SelectWalletPage/SelectWalletPage.style.d.ts → pages/SettingsPage/EnabledToolsButton.style.d.ts} +1 -1
  338. package/pages/SettingsPage/EnabledToolsButton.style.js +14 -0
  339. package/pages/SettingsPage/GasPriceSelect.d.ts +0 -1
  340. package/pages/SettingsPage/GasPriceSelect.js +1 -1
  341. package/pages/SettingsPage/LanguageSelect.js +5 -6
  342. package/pages/SettingsPage/ResetSettingsButton.d.ts +2 -0
  343. package/pages/SettingsPage/ResetSettingsButton.js +23 -0
  344. package/pages/SettingsPage/RoutePrioritySelect.js +4 -4
  345. package/pages/SettingsPage/SettingsPage.d.ts +0 -1
  346. package/pages/SettingsPage/SettingsPage.js +3 -2
  347. package/pages/SettingsPage/ShowDestinationWallet.d.ts +0 -1
  348. package/pages/SettingsPage/ShowDestinationWallet.js +3 -3
  349. package/pages/SettingsPage/SlippageInput.d.ts +0 -1
  350. package/pages/SettingsPage/SlippageInput.js +3 -3
  351. package/pages/SwapDetailsPage/SwapDetailsPage.js +14 -22
  352. package/pages/SwapDetailsPage/SwapDetailsPage.style.d.ts +1 -1
  353. package/pages/SwapHistoryPage/SwapHistoryEmpty.js +2 -2
  354. package/pages/SwapHistoryPage/SwapHistoryItem.js +9 -7
  355. package/pages/SwapHistoryPage/SwapHistoryPage.js +2 -2
  356. package/pages/SwapPage/ExchangeRateBottomSheet.js +21 -26
  357. package/pages/SwapPage/StartSwapButton.js +1 -1
  358. package/pages/SwapPage/StatusBottomSheet.js +21 -19
  359. package/pages/SwapPage/StatusBottomSheet.style.d.ts +2 -2
  360. package/pages/SwapPage/SwapPage.js +9 -21
  361. package/pages/SwapPage/SwapPage.style.d.ts +1 -1
  362. package/pages/SwapPage/TokenValueBottomSheet.js +8 -9
  363. package/pages/SwapRoutesPage/SwapRoutesPage.js +3 -3
  364. package/pages/SwapRoutesPage/SwapRoutesPage.style.d.ts +1 -1
  365. package/providers/I18nProvider/I18nProvider.js +7 -8
  366. package/providers/SDKProvider/SDKProvider.js +15 -4
  367. package/providers/SwapFormProvider/SwapFormProvider.js +12 -6
  368. package/providers/SwapFormProvider/URLSearchParamsBuilder.js +3 -12
  369. package/providers/TelemetryProvider/TelemetryProvider.js +1 -1
  370. package/providers/ThemeProvider/ThemeProvider.js +2 -2
  371. package/providers/WalletProvider/WalletProvider.js +30 -39
  372. package/providers/WidgetProvider/WidgetProvider.js +18 -23
  373. package/providers/WidgetProvider/utils.js +2 -3
  374. package/stores/StoreProvider.js +2 -2
  375. package/stores/chains/ChainOrderStore.js +2 -14
  376. package/stores/routes/RouteExecutionStore.js +2 -14
  377. package/stores/routes/createRouteExecutionStore.js +27 -16
  378. package/stores/routes/useExecutingRoutesIds.js +2 -5
  379. package/stores/routes/useSwapHistory.js +3 -6
  380. package/stores/routes/utils.js +4 -4
  381. package/stores/settings/SettingsStore.js +10 -20
  382. package/stores/settings/createSettingsStore.js +29 -25
  383. package/stores/settings/types.d.ts +6 -6
  384. package/tsconfig.cjs.tsbuildinfo +1 -1
  385. package/utils/colors.js +1 -1
  386. package/utils/format.js +3 -3
  387. package/utils/navigationRoutes.d.ts +2 -0
  388. package/utils/navigationRoutes.js +6 -0
  389. package/cjs/pages/SettingsPage/AdvancedPreferences.d.ts +0 -2
  390. package/cjs/pages/SettingsPage/AdvancedPreferences.js +0 -24
  391. package/cjs/pages/SettingsPage/EnabledBridgesSelect.d.ts +0 -2
  392. package/cjs/pages/SettingsPage/EnabledBridgesSelect.js +0 -24
  393. package/cjs/pages/SettingsPage/EnabledExchangesSelect.d.ts +0 -2
  394. package/cjs/pages/SettingsPage/EnabledExchangesSelect.js +0 -24
  395. package/pages/SelectChainPage/SelectChainPage.style.js +0 -17
  396. package/pages/SelectNativeTokenPage/SelectNativeTokenPage.style.d.ts +0 -21
  397. package/pages/SelectNativeTokenPage/SelectNativeTokenPage.style.js +0 -17
  398. package/pages/SelectWalletPage/SelectWalletPage.style.d.ts +0 -21
  399. package/pages/SelectWalletPage/SelectWalletPage.style.js +0 -17
  400. package/pages/SettingsPage/AdvancedPreferences.d.ts +0 -2
  401. package/pages/SettingsPage/AdvancedPreferences.js +0 -20
  402. package/pages/SettingsPage/EnabledBridgesSelect.d.ts +0 -2
  403. package/pages/SettingsPage/EnabledBridgesSelect.js +0 -20
  404. package/pages/SettingsPage/EnabledExchangesSelect.d.ts +0 -2
  405. package/pages/SettingsPage/EnabledExchangesSelect.js +0 -20
@@ -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,14 +1,3 @@
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
3
  import { createContext, useContext, useEffect, useId, useMemo } from 'react';
@@ -20,47 +9,53 @@ 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"]);
12
+ export const WidgetProvider = ({ children, config: { fromChain, fromToken, toChain, toToken, fromAmount, ...config } = {}, }) => {
25
13
  const settingsStoreContext = useSettingsStoreContext();
26
14
  const elementId = useId();
27
15
  const value = useMemo(() => {
28
- var _a, _b, _c, _d, _e, _f;
29
16
  try {
30
- const searchParams = Object.fromEntries(new URLSearchParams(window === null || window === void 0 ? void 0 : window.location.search));
17
+ const searchParams = Object.fromEntries(new URLSearchParams(window?.location.search));
31
18
  // Prevent using fromToken/toToken params if chain is not selected
32
19
  ['from', 'to'].forEach((key) => {
33
20
  if (searchParams[`${key}Token`] && !searchParams[`${key}Chain`]) {
34
21
  delete searchParams[`${key}Token`];
35
22
  }
36
23
  });
37
- return Object.assign(Object.assign({}, config), { fromChain: (searchParams.fromChain &&
24
+ return {
25
+ ...config,
26
+ fromChain: (searchParams.fromChain &&
38
27
  isNaN(parseInt(searchParams.fromChain, 10))) ||
39
28
  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
29
+ ? getChainByKey((searchParams.fromChain || fromChain)?.toLowerCase())?.id
41
30
  : (searchParams.fromChain &&
42
31
  !isNaN(parseInt(searchParams.fromChain, 10))) ||
43
32
  typeof fromChain === 'number'
44
33
  ? parseInt(searchParams.fromChain, 10) || fromChain
45
- : undefined, toChain: (searchParams.toChain && isNaN(parseInt(searchParams.toChain, 10))) ||
34
+ : undefined,
35
+ toChain: (searchParams.toChain && isNaN(parseInt(searchParams.toChain, 10))) ||
46
36
  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
37
+ ? getChainByKey((searchParams.toChain || toChain)?.toLowerCase())?.id
48
38
  : (searchParams.toChain &&
49
39
  !isNaN(parseInt(searchParams.toChain, 10))) ||
50
40
  typeof toChain === 'number'
51
41
  ? 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' &&
42
+ : undefined,
43
+ fromToken: searchParams.fromToken?.toLowerCase() || fromToken?.toLowerCase(),
44
+ toToken: searchParams.toToken?.toLowerCase() || toToken?.toLowerCase(),
45
+ fromAmount: typeof searchParams.fromAmount === 'string' &&
53
46
  !isNaN(parseFloat(searchParams.fromAmount))
54
47
  ? formatAmount(searchParams.fromAmount)
55
- : fromAmount, elementId });
48
+ : fromAmount,
49
+ elementId,
50
+ };
56
51
  }
57
52
  catch (e) {
58
53
  console.warn(e);
59
- return Object.assign(Object.assign({}, config), { elementId });
54
+ return { ...config, elementId };
60
55
  }
61
56
  }, [config, elementId, fromAmount, fromChain, fromToken, toChain, toToken]);
62
57
  useEffect(() => {
63
58
  setDefaultSettings(settingsStoreContext, value);
64
59
  }, [settingsStoreContext, value]);
65
- return (_jsx(WidgetContext.Provider, Object.assign({ value: value }, { children: children })));
60
+ return (_jsx(WidgetContext.Provider, { value: value, children: children }));
66
61
  };
@@ -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
  };
@@ -3,9 +3,9 @@ import { ChainOrderStoreProvider } from './chains';
3
3
  import { RouteExecutionStoreProvider } from './routes';
4
4
  import { SettingsStoreProvider } from './settings';
5
5
  export const StoreProvider = ({ children, namePrefix }) => {
6
- return (_jsx(RouteExecutionStoreProvider, Object.assign({ namePrefix: namePrefix }, { children: _jsx(SettingsStoreProvider
6
+ return (_jsx(RouteExecutionStoreProvider, { namePrefix: namePrefix, children: _jsx(SettingsStoreProvider
7
7
  // namePrefix={namePrefix}
8
8
  , { children: _jsx(ChainOrderStoreProvider
9
9
  // namePrefix={namePrefix}
10
- , { children: children }) }) })));
10
+ , { children: children }) }) }));
11
11
  };
@@ -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 { createChainOrderStore } from './createChainOrderStore';
16
5
  export const ChainOrderStoreContext = createContext(null);
17
- export function ChainOrderStoreProvider(_a) {
18
- var { children } = _a, props = __rest(_a, ["children"]);
6
+ export function ChainOrderStoreProvider({ children, ...props }) {
19
7
  const storeRef = useRef();
20
8
  if (!storeRef.current) {
21
9
  storeRef.current = createChainOrderStore(props);
22
10
  }
23
- return (_jsx(ChainOrderStoreContext.Provider, Object.assign({ value: storeRef.current }, { children: children })));
11
+ return (_jsx(ChainOrderStoreContext.Provider, { value: storeRef.current, children: children }));
24
12
  }
25
13
  export function useChainOrderStore(selector, equalityFn) {
26
14
  const useStore = useContext(ChainOrderStoreContext);
@@ -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
  });
@@ -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
  };
@@ -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,25 +1,13 @@
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 { createContext, useContext, useRef } from 'react';
14
3
  import { createSettingsStore, defaultConfigurableSettings, } from './createSettingsStore';
15
4
  export const SettingsStoreContext = createContext(null);
16
- export function SettingsStoreProvider(_a) {
17
- var { children } = _a, props = __rest(_a, ["children"]);
5
+ export function SettingsStoreProvider({ children, ...props }) {
18
6
  const storeRef = useRef();
19
7
  if (!storeRef.current) {
20
8
  storeRef.current = createSettingsStore(props);
21
9
  }
22
- return (_jsx(SettingsStoreContext.Provider, Object.assign({ value: storeRef.current }, { children: children })));
10
+ return (_jsx(SettingsStoreContext.Provider, { value: storeRef.current, children: children }));
23
11
  }
24
12
  export function useSettingsStore(selector, equalityFn) {
25
13
  const useStore = useContext(SettingsStoreContext);
@@ -36,16 +24,18 @@ export function useSettingsStoreContext() {
36
24
  return useStore;
37
25
  }
38
26
  export const setDefaultSettings = (useSettingsStore, config) => {
39
- var _a, _b, _c, _d, _e;
40
27
  const { slippage, routePriority, setValue } = useSettingsStore.getState();
41
- const defaultSlippage = ((config === null || config === void 0 ? void 0 : config.slippage) ||
42
- ((_b = (_a = config === null || config === void 0 ? void 0 : config.sdkConfig) === null || _a === void 0 ? void 0 : _a.defaultRouteOptions) === null || _b === void 0 ? void 0 : _b.slippage) ||
28
+ const defaultSlippage = (config?.slippage ||
29
+ config?.sdkConfig?.defaultRouteOptions?.slippage ||
43
30
  0) * 100;
44
- const defaultRoutePriority = (config === null || config === void 0 ? void 0 : config.routePriority) || ((_d = (_c = config === null || config === void 0 ? void 0 : config.sdkConfig) === null || _c === void 0 ? void 0 : _c.defaultRouteOptions) === null || _d === void 0 ? void 0 : _d.order);
31
+ const defaultRoutePriority = config?.routePriority || config?.sdkConfig?.defaultRouteOptions?.order;
32
+ defaultConfigurableSettings.slippage = (defaultSlippage || defaultConfigurableSettings.slippage)?.toString();
33
+ defaultConfigurableSettings.routePriority =
34
+ defaultRoutePriority || defaultConfigurableSettings.routePriority;
45
35
  if (!slippage) {
46
- setValue('slippage', (_e = (defaultSlippage || defaultConfigurableSettings.slippage)) === null || _e === void 0 ? void 0 : _e.toString());
36
+ setValue('slippage', defaultConfigurableSettings.slippage);
47
37
  }
48
38
  if (!routePriority) {
49
- setValue('routePriority', defaultRoutePriority || defaultConfigurableSettings.routePriority);
39
+ setValue('routePriority', defaultConfigurableSettings.routePriority);
50
40
  }
51
41
  };
@@ -1,14 +1,3 @@
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 { create } from 'zustand';
13
2
  import { persist } from 'zustand/middleware';
14
3
  import { SettingsToolTypes } from './types';
@@ -19,27 +8,32 @@ export const defaultConfigurableSettings = {
19
8
  export const defaultSettings = {
20
9
  appearance: 'auto',
21
10
  gasPrice: 'normal',
22
- advancedPreferences: false,
23
11
  showDestinationWallet: true,
12
+ enabledBridges: [],
13
+ enabledExchanges: [],
24
14
  };
25
- export const createSettingsStore = ({ namePrefix }) => create(persist((set) => (Object.assign(Object.assign({}, defaultSettings), { setValue: (key, value) => set(() => ({
15
+ export const createSettingsStore = ({ namePrefix }) => create(persist((set, get) => ({
16
+ ...defaultSettings,
17
+ setValue: (key, value) => set(() => ({
26
18
  [key]: value,
27
- })), setValues: (values) => set((state) => {
28
- const updatedState = Object.assign({}, state);
19
+ })),
20
+ setValues: (values) => set((state) => {
21
+ const updatedState = { ...state };
29
22
  for (const key in values) {
30
23
  if (Object.hasOwn(state, key)) {
31
24
  updatedState[key] = values[key];
32
25
  }
33
26
  }
34
27
  return updatedState;
35
- }), initializeTools: (toolType, tools) => {
28
+ }),
29
+ initializeTools: (toolType, tools, reset) => {
36
30
  if (!tools.length) {
37
31
  return;
38
32
  }
39
33
  set((state) => {
40
- const updatedState = Object.assign({}, state);
41
- if (updatedState[`_enabled${toolType}`]) {
42
- // Add a new tools
34
+ const updatedState = { ...state };
35
+ if (updatedState[`_enabled${toolType}`] && !reset) {
36
+ // Add new tools
43
37
  const enabledTools = tools
44
38
  .filter((tool) => !Object.hasOwn(updatedState[`_enabled${toolType}`], tool))
45
39
  .reduce((values, tool) => {
@@ -60,21 +54,31 @@ export const createSettingsStore = ({ namePrefix }) => create(persist((set) => (
60
54
  .map(([key]) => key);
61
55
  return updatedState;
62
56
  });
63
- }, setTools: (toolType, tools, availableTools) => set(() => ({
57
+ },
58
+ setTools: (toolType, tools, availableTools) => set(() => ({
64
59
  [`enabled${toolType}`]: tools,
65
- [`_enabled${toolType}`]: availableTools.reduce((values, tool) => {
66
- values[tool.key] = tools.includes(tool.key);
60
+ [`_enabled${toolType}`]: availableTools.reduce((values, toolKey) => {
61
+ values[toolKey] = tools.includes(toolKey);
67
62
  return values;
68
63
  }, {}),
69
- })) })), {
64
+ })),
65
+ reset: (bridges, exchanges) => {
66
+ set(() => ({
67
+ ...defaultSettings,
68
+ ...defaultConfigurableSettings,
69
+ }));
70
+ get().initializeTools('Bridges', bridges, true);
71
+ get().initializeTools('Exchanges', exchanges, true);
72
+ },
73
+ }), {
70
74
  name: `${namePrefix || 'li.fi'}-widget-settings`,
71
75
  version: 2,
72
76
  partialize: (state) => {
73
- const { enabledBridges, enabledExchanges } = state, partializedState = __rest(state, ["enabledBridges", "enabledExchanges"]);
77
+ const { enabledBridges, enabledExchanges, ...partializedState } = state;
74
78
  return partializedState;
75
79
  },
76
80
  merge: (persistedState, currentState) => {
77
- const state = Object.assign(Object.assign({}, currentState), persistedState);
81
+ const state = { ...currentState, ...persistedState };
78
82
  SettingsToolTypes.forEach((toolType) => {
79
83
  state[`enabled${toolType}`] = Object.entries(persistedState[`_enabled${toolType}`])
80
84
  .filter(([_, value]) => value)
@@ -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;