@lifi/widget 3.0.0-alpha.16 → 3.0.0-alpha.19
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.
- package/AppRoutes.tsx +22 -0
- package/_cjs/AppRoutes.js +17 -0
- package/_cjs/AppRoutes.js.map +1 -1
- package/_cjs/components/AccountAvatar.d.ts +7 -0
- package/_cjs/components/AccountAvatar.js +20 -0
- package/_cjs/components/AccountAvatar.js.map +1 -0
- package/_cjs/components/ActiveTransactions/ActiveTransactions.style.d.ts +2 -2
- package/_cjs/components/AlertMessage/AlertMessage.d.ts +11 -0
- package/_cjs/components/AlertMessage/AlertMessage.js +8 -0
- package/_cjs/components/AlertMessage/AlertMessage.js.map +1 -0
- package/_cjs/components/AlertMessage/AlertMessage.style.d.ts +12 -0
- package/_cjs/components/AlertMessage/AlertMessage.style.js +35 -0
- package/_cjs/components/AlertMessage/AlertMessage.style.js.map +1 -0
- package/_cjs/components/AlertMessage/index.d.ts +3 -0
- package/_cjs/components/AlertMessage/index.js +20 -0
- package/_cjs/components/AlertMessage/index.js.map +1 -0
- package/_cjs/components/AlertMessage/types.d.ts +1 -0
- package/_cjs/components/AlertMessage/types.js +3 -0
- package/_cjs/components/AlertMessage/types.js.map +1 -0
- package/_cjs/components/BaseTransactionButton/BaseTransactionButton.js +6 -3
- package/_cjs/components/BaseTransactionButton/BaseTransactionButton.js.map +1 -1
- package/_cjs/{pages/SettingsPage/SettingsCard/SettingCardButton.d.ts → components/Card/CardButton.d.ts} +2 -2
- package/_cjs/components/Card/CardButton.js +9 -0
- package/_cjs/components/Card/CardButton.js.map +1 -0
- package/_cjs/components/Card/CardButton.style.d.ts +13 -0
- package/_cjs/components/Card/CardButton.style.js +36 -0
- package/_cjs/components/Card/CardButton.style.js.map +1 -0
- package/_cjs/components/Card/index.d.ts +2 -0
- package/_cjs/components/Card/index.js +2 -0
- package/_cjs/components/Card/index.js.map +1 -1
- package/_cjs/components/ChainSelect/useChainSelect.js +4 -15
- package/_cjs/components/ChainSelect/useChainSelect.js.map +1 -1
- package/_cjs/components/GasMessage/FundsSufficiencyMessage.js +13 -5
- package/_cjs/components/GasMessage/FundsSufficiencyMessage.js.map +1 -1
- package/_cjs/components/GasMessage/GasMessage.style.d.ts +1 -14
- package/_cjs/components/GasMessage/GasMessage.style.js +1 -24
- package/_cjs/components/GasMessage/GasMessage.style.js.map +1 -1
- package/_cjs/components/GasMessage/GasRefuelMessage.js +4 -5
- package/_cjs/components/GasMessage/GasRefuelMessage.js.map +1 -1
- package/_cjs/components/GasMessage/GasSufficiencyMessage.js +2 -6
- package/_cjs/components/GasMessage/GasSufficiencyMessage.js.map +1 -1
- package/_cjs/components/Header/NavigationHeader.js +11 -2
- package/_cjs/components/Header/NavigationHeader.js.map +1 -1
- package/_cjs/components/ListItem/ListItem.d.ts +6 -0
- package/_cjs/components/ListItem/ListItem.js +27 -0
- package/_cjs/components/ListItem/ListItem.js.map +1 -0
- package/_cjs/components/ListItem/ListItemButton.d.ts +4 -0
- package/_cjs/components/ListItem/ListItemButton.js +12 -0
- package/_cjs/components/ListItem/ListItemButton.js.map +1 -0
- package/_cjs/components/ListItem/index.d.ts +2 -0
- package/_cjs/components/ListItem/index.js +19 -0
- package/_cjs/components/ListItem/index.js.map +1 -0
- package/_cjs/components/ListItemButton.d.ts +1 -1
- package/_cjs/components/ListItemButton.js +3 -2
- package/_cjs/components/ListItemButton.js.map +1 -1
- package/_cjs/components/Menu.d.ts +1 -0
- package/_cjs/components/Menu.js +25 -0
- package/_cjs/components/Menu.js.map +1 -0
- package/_cjs/components/PageContainer.d.ts +1 -2
- package/_cjs/components/PoweredBy/PoweredBy.style.d.ts +1 -1
- package/_cjs/components/ReverseTokensButton/ReverseTokensButton.js +11 -3
- package/_cjs/components/ReverseTokensButton/ReverseTokensButton.js.map +1 -1
- package/_cjs/components/Routes/Routes.js +1 -3
- package/_cjs/components/Routes/Routes.js.map +1 -1
- package/_cjs/components/Routes/RoutesExpanded.js +4 -7
- package/_cjs/components/Routes/RoutesExpanded.js.map +1 -1
- package/_cjs/components/SendToWallet/SendToWallet.style.d.ts +4 -3
- package/_cjs/components/SendToWallet/SendToWallet.style.js +26 -15
- package/_cjs/components/SendToWallet/SendToWallet.style.js.map +1 -1
- package/_cjs/components/SendToWallet/SendToWalletButton.d.ts +1 -2
- package/_cjs/components/SendToWallet/SendToWalletButton.js +55 -23
- package/_cjs/components/SendToWallet/SendToWalletButton.js.map +1 -1
- package/_cjs/components/SendToWallet/SendToWalletExpandButton.d.ts +2 -0
- package/_cjs/components/SendToWallet/SendToWalletExpandButton.js +41 -0
- package/_cjs/components/SendToWallet/SendToWalletExpandButton.js.map +1 -0
- package/_cjs/components/SendToWallet/index.d.ts +2 -1
- package/_cjs/components/SendToWallet/index.js +2 -1
- package/_cjs/components/SendToWallet/index.js.map +1 -1
- package/_cjs/components/SettingsListItemButton.d.ts +1 -1
- package/_cjs/components/Step/StepProcess.style.d.ts +1 -1
- package/_cjs/components/TokenList/TokenList.js +3 -2
- package/_cjs/components/TokenList/TokenList.js.map +1 -1
- package/_cjs/components/TokenList/TokenList.style.d.ts +2 -5
- package/_cjs/components/TokenList/TokenList.style.js +3 -28
- package/_cjs/components/TokenList/TokenList.style.js.map +1 -1
- package/_cjs/components/TokenList/TokenListItem.js +3 -2
- package/_cjs/components/TokenList/TokenListItem.js.map +1 -1
- package/_cjs/components/TokenList/VirtualizedTokenList.js +2 -2
- package/_cjs/components/TokenList/VirtualizedTokenList.js.map +1 -1
- package/_cjs/config/version.d.ts +1 -1
- package/_cjs/config/version.js +1 -1
- package/_cjs/hooks/index.d.ts +3 -1
- package/_cjs/hooks/index.js +3 -1
- package/_cjs/hooks/index.js.map +1 -1
- package/_cjs/hooks/useAccount.d.ts +14 -3
- package/_cjs/hooks/useAccount.js +24 -6
- package/_cjs/hooks/useAccount.js.map +1 -1
- package/_cjs/hooks/useAddressValidation.d.ts +17 -0
- package/_cjs/hooks/useAddressValidation.js +59 -0
- package/_cjs/hooks/useAddressValidation.js.map +1 -0
- package/_cjs/hooks/useFromTokenSufficiency.js +3 -4
- package/_cjs/hooks/useFromTokenSufficiency.js.map +1 -1
- package/_cjs/hooks/useGasSufficiency.js +6 -5
- package/_cjs/hooks/useGasSufficiency.js.map +1 -1
- package/_cjs/hooks/useRouteExecution.js +7 -5
- package/_cjs/hooks/useRouteExecution.js.map +1 -1
- package/_cjs/hooks/useRoutes.d.ts +2 -2
- package/_cjs/hooks/useRoutes.js +17 -29
- package/_cjs/hooks/useRoutes.js.map +1 -1
- package/_cjs/hooks/useToAddressRequirements.d.ts +4 -0
- package/_cjs/hooks/{useRequiredToAddress.js → useToAddressRequirements.js} +11 -8
- package/_cjs/hooks/useToAddressRequirements.js.map +1 -0
- package/_cjs/hooks/useToAddressReset.d.ts +4 -0
- package/_cjs/hooks/useToAddressReset.js +32 -0
- package/_cjs/hooks/useToAddressReset.js.map +1 -0
- package/_cjs/hooks/useTokenAddressBalance.d.ts +1 -1
- package/_cjs/hooks/useTokenBalance.d.ts +1 -1
- package/_cjs/hooks/useTokenBalance.js +4 -7
- package/_cjs/hooks/useTokenBalance.js.map +1 -1
- package/_cjs/hooks/useTokenBalances.d.ts +1 -1
- package/_cjs/hooks/useTokenBalances.js +3 -4
- package/_cjs/hooks/useTokenBalances.js.map +1 -1
- package/_cjs/hooks/useTransactionDetails.d.ts +1 -1
- package/_cjs/hooks/useTransactionDetails.js +24 -25
- package/_cjs/hooks/useTransactionDetails.js.map +1 -1
- package/_cjs/hooks/useTransactionHistory.js +2 -1
- package/_cjs/hooks/useTransactionHistory.js.map +1 -1
- package/_cjs/i18n/en.json +27 -6
- package/_cjs/pages/MainPage/MainPage.js +1 -1
- package/_cjs/pages/MainPage/MainPage.js.map +1 -1
- package/_cjs/pages/MainPage/ReviewButton.js +3 -2
- package/_cjs/pages/MainPage/ReviewButton.js.map +1 -1
- package/_cjs/pages/SendToWallet/BookmarkAddressSheet.d.ts +9 -0
- package/_cjs/pages/SendToWallet/BookmarkAddressSheet.js +111 -0
- package/_cjs/pages/SendToWallet/BookmarkAddressSheet.js.map +1 -0
- package/_cjs/pages/SendToWallet/BookmarksPage.d.ts +1 -0
- package/_cjs/pages/SendToWallet/BookmarksPage.js +88 -0
- package/_cjs/pages/SendToWallet/BookmarksPage.js.map +1 -0
- package/_cjs/pages/SendToWallet/ConfirmAddressSheet.d.ts +9 -0
- package/_cjs/pages/SendToWallet/ConfirmAddressSheet.js +35 -0
- package/_cjs/pages/SendToWallet/ConfirmAddressSheet.js.map +1 -0
- package/_cjs/pages/SendToWallet/ConnectedWalletsPage.d.ts +1 -0
- package/_cjs/pages/SendToWallet/ConnectedWalletsPage.js +84 -0
- package/_cjs/pages/SendToWallet/ConnectedWalletsPage.js.map +1 -0
- package/_cjs/pages/SendToWallet/EmptyListIndicator.d.ts +6 -0
- package/_cjs/pages/SendToWallet/EmptyListIndicator.js +8 -0
- package/_cjs/pages/SendToWallet/EmptyListIndicator.js.map +1 -0
- package/_cjs/pages/SendToWallet/RecentWalletsPage.d.ts +1 -0
- package/_cjs/pages/SendToWallet/RecentWalletsPage.js +105 -0
- package/_cjs/pages/SendToWallet/RecentWalletsPage.js.map +1 -0
- package/_cjs/pages/SendToWallet/SendToWalletPage.d.ts +1 -0
- package/_cjs/pages/SendToWallet/SendToWalletPage.js +131 -0
- package/_cjs/pages/SendToWallet/SendToWalletPage.js.map +1 -0
- package/_cjs/pages/SendToWallet/SendToWalletPage.style.d.ts +61 -0
- package/_cjs/pages/SendToWallet/SendToWalletPage.style.js +146 -0
- package/_cjs/pages/SendToWallet/SendToWalletPage.style.js.map +1 -0
- package/_cjs/pages/SendToWallet/index.d.ts +4 -0
- package/_cjs/pages/SendToWallet/index.js +21 -0
- package/_cjs/pages/SendToWallet/index.js.map +1 -0
- package/_cjs/pages/SettingsPage/BridgeAndExchangeSettings.js +2 -1
- package/_cjs/pages/SettingsPage/BridgeAndExchangeSettings.js.map +1 -1
- package/_cjs/pages/SettingsPage/LanguageSetting.js +2 -2
- package/_cjs/pages/SettingsPage/LanguageSetting.js.map +1 -1
- package/_cjs/pages/SettingsPage/SendToWalletOptionSetting.js +2 -2
- package/_cjs/pages/SettingsPage/SendToWalletOptionSetting.js.map +1 -1
- package/_cjs/pages/SettingsPage/SettingsCard/BadgedValue.js +2 -1
- package/_cjs/pages/SettingsPage/SettingsCard/BadgedValue.js.map +1 -1
- package/_cjs/pages/SettingsPage/SettingsCard/SettingCard.style.d.ts +0 -9
- package/_cjs/pages/SettingsPage/SettingsCard/SettingCard.style.js +2 -24
- package/_cjs/pages/SettingsPage/SettingsCard/SettingCard.style.js.map +1 -1
- package/_cjs/pages/SettingsPage/SettingsCard/SettingCardExpandable.js +2 -3
- package/_cjs/pages/SettingsPage/SettingsCard/SettingCardExpandable.js.map +1 -1
- package/_cjs/pages/SettingsPage/SettingsCard/index.d.ts +0 -2
- package/_cjs/pages/SettingsPage/SettingsCard/index.js +0 -2
- package/_cjs/pages/SettingsPage/SettingsCard/index.js.map +1 -1
- package/_cjs/pages/SettingsPage/SlippageSettings/SlippageSettings.js.map +1 -1
- package/_cjs/pages/SettingsPage/ThemeSettings.js +2 -1
- package/_cjs/pages/SettingsPage/ThemeSettings.js.map +1 -1
- package/_cjs/pages/TransactionDetailsPage/TransactionDetailsPage.js.map +1 -1
- package/_cjs/pages/TransactionHistoryPage/TransactionHistoryItem.js +2 -1
- package/_cjs/pages/TransactionHistoryPage/TransactionHistoryItem.js.map +1 -1
- package/_cjs/providers/I18nProvider/I18nProvider.js +1 -1
- package/_cjs/providers/I18nProvider/I18nProvider.js.map +1 -1
- package/_cjs/providers/WalletProvider/SDKProviders.js.map +1 -1
- package/_cjs/stores/StoreProvider.js +2 -1
- package/_cjs/stores/StoreProvider.js.map +1 -1
- package/_cjs/stores/bookmarks/BookmarkStore.d.ts +7 -0
- package/_cjs/stores/bookmarks/BookmarkStore.js +25 -0
- package/_cjs/stores/bookmarks/BookmarkStore.js.map +1 -0
- package/_cjs/stores/bookmarks/createBookmarkStore.d.ts +3 -0
- package/_cjs/stores/bookmarks/createBookmarkStore.js +49 -0
- package/_cjs/stores/bookmarks/createBookmarkStore.js.map +1 -0
- package/_cjs/stores/bookmarks/index.d.ts +5 -0
- package/_cjs/stores/bookmarks/index.js +22 -0
- package/_cjs/stores/bookmarks/index.js.map +1 -0
- package/_cjs/stores/bookmarks/types.d.ts +24 -0
- package/_cjs/stores/bookmarks/types.js +3 -0
- package/_cjs/stores/bookmarks/types.js.map +1 -0
- package/_cjs/stores/bookmarks/useBookmarkActions.d.ts +2 -0
- package/_cjs/stores/bookmarks/useBookmarkActions.js +18 -0
- package/_cjs/stores/bookmarks/useBookmarkActions.js.map +1 -0
- package/_cjs/stores/bookmarks/useBookmarks.d.ts +2 -0
- package/_cjs/stores/bookmarks/useBookmarks.js +15 -0
- package/_cjs/stores/bookmarks/useBookmarks.js.map +1 -0
- package/_cjs/stores/form/FormStore.js +16 -3
- package/_cjs/stores/form/FormStore.js.map +1 -1
- package/_cjs/stores/form/types.js.map +1 -1
- package/_cjs/stores/form/useTouchedFields.d.ts +4 -4
- package/_cjs/stores/index.d.ts +1 -0
- package/_cjs/stores/index.js +1 -0
- package/_cjs/stores/index.js.map +1 -1
- package/_cjs/utils/chainType.d.ts +6 -0
- package/_cjs/utils/chainType.js +24 -0
- package/_cjs/utils/chainType.js.map +1 -0
- package/_cjs/utils/converters.d.ts +2 -2
- package/_cjs/utils/converters.js.map +1 -1
- package/_cjs/utils/index.d.ts +1 -0
- package/_cjs/utils/index.js +1 -0
- package/_cjs/utils/index.js.map +1 -1
- package/_cjs/utils/navigationRoutes.d.ts +4 -0
- package/_cjs/utils/navigationRoutes.js +12 -0
- package/_cjs/utils/navigationRoutes.js.map +1 -1
- package/_esm/AppRoutes.js +17 -0
- package/_esm/AppRoutes.js.map +1 -1
- package/_esm/components/AccountAvatar.d.ts +7 -0
- package/_esm/components/AccountAvatar.js +16 -0
- package/_esm/components/AccountAvatar.js.map +1 -0
- package/_esm/components/ActiveTransactions/ActiveTransactions.style.d.ts +2 -2
- package/_esm/components/AlertMessage/AlertMessage.d.ts +11 -0
- package/_esm/components/AlertMessage/AlertMessage.js +4 -0
- package/_esm/components/AlertMessage/AlertMessage.js.map +1 -0
- package/_esm/components/AlertMessage/AlertMessage.style.d.ts +12 -0
- package/_esm/components/AlertMessage/AlertMessage.style.js +32 -0
- package/_esm/components/AlertMessage/AlertMessage.style.js.map +1 -0
- package/_esm/components/AlertMessage/index.d.ts +3 -0
- package/_esm/components/AlertMessage/index.js +4 -0
- package/_esm/components/AlertMessage/index.js.map +1 -0
- package/_esm/components/AlertMessage/types.d.ts +1 -0
- package/_esm/components/AlertMessage/types.js +2 -0
- package/_esm/components/AlertMessage/types.js.map +1 -0
- package/_esm/components/BaseTransactionButton/BaseTransactionButton.js +7 -4
- package/_esm/components/BaseTransactionButton/BaseTransactionButton.js.map +1 -1
- package/_esm/{pages/SettingsPage/SettingsCard/SettingCardButton.d.ts → components/Card/CardButton.d.ts} +2 -2
- package/_esm/components/Card/CardButton.js +5 -0
- package/_esm/components/Card/CardButton.js.map +1 -0
- package/_esm/components/Card/CardButton.style.d.ts +13 -0
- package/_esm/components/Card/CardButton.style.js +33 -0
- package/_esm/components/Card/CardButton.style.js.map +1 -0
- package/_esm/components/Card/index.d.ts +2 -0
- package/_esm/components/Card/index.js +2 -0
- package/_esm/components/Card/index.js.map +1 -1
- package/_esm/components/ChainSelect/useChainSelect.js +5 -16
- package/_esm/components/ChainSelect/useChainSelect.js.map +1 -1
- package/_esm/components/GasMessage/FundsSufficiencyMessage.js +14 -6
- package/_esm/components/GasMessage/FundsSufficiencyMessage.js.map +1 -1
- package/_esm/components/GasMessage/GasMessage.style.d.ts +1 -14
- package/_esm/components/GasMessage/GasMessage.style.js +1 -24
- package/_esm/components/GasMessage/GasMessage.style.js.map +1 -1
- package/_esm/components/GasMessage/GasRefuelMessage.js +5 -6
- package/_esm/components/GasMessage/GasRefuelMessage.js.map +1 -1
- package/_esm/components/GasMessage/GasSufficiencyMessage.js +2 -6
- package/_esm/components/GasMessage/GasSufficiencyMessage.js.map +1 -1
- package/_esm/components/Header/NavigationHeader.js +11 -2
- package/_esm/components/Header/NavigationHeader.js.map +1 -1
- package/_esm/components/ListItem/ListItem.d.ts +6 -0
- package/_esm/components/ListItem/ListItem.js +24 -0
- package/_esm/components/ListItem/ListItem.js.map +1 -0
- package/_esm/components/ListItem/ListItemButton.d.ts +4 -0
- package/_esm/components/ListItem/ListItemButton.js +9 -0
- package/_esm/components/ListItem/ListItemButton.js.map +1 -0
- package/_esm/components/ListItem/index.d.ts +2 -0
- package/_esm/components/ListItem/index.js +3 -0
- package/_esm/components/ListItem/index.js.map +1 -0
- package/_esm/components/ListItemButton.d.ts +1 -1
- package/_esm/components/ListItemButton.js +3 -2
- package/_esm/components/ListItemButton.js.map +1 -1
- package/_esm/components/Menu.d.ts +1 -0
- package/_esm/components/Menu.js +22 -0
- package/_esm/components/Menu.js.map +1 -0
- package/_esm/components/PageContainer.d.ts +1 -2
- package/_esm/components/PoweredBy/PoweredBy.style.d.ts +1 -1
- package/_esm/components/ReverseTokensButton/ReverseTokensButton.js +11 -3
- package/_esm/components/ReverseTokensButton/ReverseTokensButton.js.map +1 -1
- package/_esm/components/Routes/Routes.js +1 -3
- package/_esm/components/Routes/Routes.js.map +1 -1
- package/_esm/components/Routes/RoutesExpanded.js +5 -8
- package/_esm/components/Routes/RoutesExpanded.js.map +1 -1
- package/_esm/components/SendToWallet/SendToWallet.style.d.ts +4 -3
- package/_esm/components/SendToWallet/SendToWallet.style.js +25 -14
- package/_esm/components/SendToWallet/SendToWallet.style.js.map +1 -1
- package/_esm/components/SendToWallet/SendToWalletButton.d.ts +1 -2
- package/_esm/components/SendToWallet/SendToWalletButton.js +59 -27
- package/_esm/components/SendToWallet/SendToWalletButton.js.map +1 -1
- package/_esm/components/SendToWallet/SendToWalletExpandButton.d.ts +2 -0
- package/_esm/components/SendToWallet/SendToWalletExpandButton.js +37 -0
- package/_esm/components/SendToWallet/SendToWalletExpandButton.js.map +1 -0
- package/_esm/components/SendToWallet/index.d.ts +2 -1
- package/_esm/components/SendToWallet/index.js +2 -1
- package/_esm/components/SendToWallet/index.js.map +1 -1
- package/_esm/components/SettingsListItemButton.d.ts +1 -1
- package/_esm/components/Step/StepProcess.style.d.ts +1 -1
- package/_esm/components/TokenList/TokenList.js +3 -2
- package/_esm/components/TokenList/TokenList.js.map +1 -1
- package/_esm/components/TokenList/TokenList.style.d.ts +2 -5
- package/_esm/components/TokenList/TokenList.style.js +3 -28
- package/_esm/components/TokenList/TokenList.style.js.map +1 -1
- package/_esm/components/TokenList/TokenListItem.js +3 -2
- package/_esm/components/TokenList/TokenListItem.js.map +1 -1
- package/_esm/components/TokenList/VirtualizedTokenList.js +2 -2
- package/_esm/components/TokenList/VirtualizedTokenList.js.map +1 -1
- package/_esm/config/version.d.ts +1 -1
- package/_esm/config/version.js +1 -1
- package/_esm/hooks/index.d.ts +3 -1
- package/_esm/hooks/index.js +3 -1
- package/_esm/hooks/index.js.map +1 -1
- package/_esm/hooks/useAccount.d.ts +14 -3
- package/_esm/hooks/useAccount.js +24 -6
- package/_esm/hooks/useAccount.js.map +1 -1
- package/_esm/hooks/useAddressValidation.d.ts +17 -0
- package/_esm/hooks/useAddressValidation.js +55 -0
- package/_esm/hooks/useAddressValidation.js.map +1 -0
- package/_esm/hooks/useFromTokenSufficiency.js +3 -4
- package/_esm/hooks/useFromTokenSufficiency.js.map +1 -1
- package/_esm/hooks/useGasSufficiency.js +6 -5
- package/_esm/hooks/useGasSufficiency.js.map +1 -1
- package/_esm/hooks/useRouteExecution.js +7 -5
- package/_esm/hooks/useRouteExecution.js.map +1 -1
- package/_esm/hooks/useRoutes.d.ts +2 -2
- package/_esm/hooks/useRoutes.js +19 -31
- package/_esm/hooks/useRoutes.js.map +1 -1
- package/_esm/hooks/useToAddressRequirements.d.ts +4 -0
- package/_esm/hooks/{useRequiredToAddress.js → useToAddressRequirements.js} +9 -6
- package/_esm/hooks/useToAddressRequirements.js.map +1 -0
- package/_esm/hooks/useToAddressReset.d.ts +4 -0
- package/_esm/hooks/useToAddressReset.js +28 -0
- package/_esm/hooks/useToAddressReset.js.map +1 -0
- package/_esm/hooks/useTokenAddressBalance.d.ts +1 -1
- package/_esm/hooks/useTokenBalance.d.ts +1 -1
- package/_esm/hooks/useTokenBalance.js +4 -7
- package/_esm/hooks/useTokenBalance.js.map +1 -1
- package/_esm/hooks/useTokenBalances.d.ts +1 -1
- package/_esm/hooks/useTokenBalances.js +3 -4
- package/_esm/hooks/useTokenBalances.js.map +1 -1
- package/_esm/hooks/useTransactionDetails.d.ts +1 -1
- package/_esm/hooks/useTransactionDetails.js +24 -25
- package/_esm/hooks/useTransactionDetails.js.map +1 -1
- package/_esm/hooks/useTransactionHistory.js +2 -1
- package/_esm/hooks/useTransactionHistory.js.map +1 -1
- package/_esm/i18n/en.json +27 -6
- package/_esm/pages/MainPage/MainPage.js +2 -2
- package/_esm/pages/MainPage/MainPage.js.map +1 -1
- package/_esm/pages/MainPage/ReviewButton.js +5 -4
- package/_esm/pages/MainPage/ReviewButton.js.map +1 -1
- package/_esm/pages/SendToWallet/BookmarkAddressSheet.d.ts +9 -0
- package/_esm/pages/SendToWallet/BookmarkAddressSheet.js +108 -0
- package/_esm/pages/SendToWallet/BookmarkAddressSheet.js.map +1 -0
- package/_esm/pages/SendToWallet/BookmarksPage.d.ts +1 -0
- package/_esm/pages/SendToWallet/BookmarksPage.js +84 -0
- package/_esm/pages/SendToWallet/BookmarksPage.js.map +1 -0
- package/_esm/pages/SendToWallet/ConfirmAddressSheet.d.ts +9 -0
- package/_esm/pages/SendToWallet/ConfirmAddressSheet.js +32 -0
- package/_esm/pages/SendToWallet/ConfirmAddressSheet.js.map +1 -0
- package/_esm/pages/SendToWallet/ConnectedWalletsPage.d.ts +1 -0
- package/_esm/pages/SendToWallet/ConnectedWalletsPage.js +80 -0
- package/_esm/pages/SendToWallet/ConnectedWalletsPage.js.map +1 -0
- package/_esm/pages/SendToWallet/EmptyListIndicator.d.ts +6 -0
- package/_esm/pages/SendToWallet/EmptyListIndicator.js +4 -0
- package/_esm/pages/SendToWallet/EmptyListIndicator.js.map +1 -0
- package/_esm/pages/SendToWallet/RecentWalletsPage.d.ts +1 -0
- package/_esm/pages/SendToWallet/RecentWalletsPage.js +101 -0
- package/_esm/pages/SendToWallet/RecentWalletsPage.js.map +1 -0
- package/_esm/pages/SendToWallet/SendToWalletPage.d.ts +1 -0
- package/_esm/pages/SendToWallet/SendToWalletPage.js +127 -0
- package/_esm/pages/SendToWallet/SendToWalletPage.js.map +1 -0
- package/_esm/pages/SendToWallet/SendToWalletPage.style.d.ts +61 -0
- package/_esm/pages/SendToWallet/SendToWalletPage.style.js +143 -0
- package/_esm/pages/SendToWallet/SendToWalletPage.style.js.map +1 -0
- package/_esm/pages/SendToWallet/index.d.ts +4 -0
- package/_esm/pages/SendToWallet/index.js +5 -0
- package/_esm/pages/SendToWallet/index.js.map +1 -0
- package/_esm/pages/SettingsPage/BridgeAndExchangeSettings.js +3 -2
- package/_esm/pages/SettingsPage/BridgeAndExchangeSettings.js.map +1 -1
- package/_esm/pages/SettingsPage/LanguageSetting.js +2 -2
- package/_esm/pages/SettingsPage/LanguageSetting.js.map +1 -1
- package/_esm/pages/SettingsPage/SendToWalletOptionSetting.js +2 -2
- package/_esm/pages/SettingsPage/SendToWalletOptionSetting.js.map +1 -1
- package/_esm/pages/SettingsPage/SettingsCard/BadgedValue.js +3 -2
- package/_esm/pages/SettingsPage/SettingsCard/BadgedValue.js.map +1 -1
- package/_esm/pages/SettingsPage/SettingsCard/SettingCard.style.d.ts +0 -9
- package/_esm/pages/SettingsPage/SettingsCard/SettingCard.style.js +2 -24
- package/_esm/pages/SettingsPage/SettingsCard/SettingCard.style.js.map +1 -1
- package/_esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.js +2 -3
- package/_esm/pages/SettingsPage/SettingsCard/SettingCardExpandable.js.map +1 -1
- package/_esm/pages/SettingsPage/SettingsCard/index.d.ts +0 -2
- package/_esm/pages/SettingsPage/SettingsCard/index.js +0 -2
- package/_esm/pages/SettingsPage/SettingsCard/index.js.map +1 -1
- package/_esm/pages/SettingsPage/SlippageSettings/SlippageSettings.js.map +1 -1
- package/_esm/pages/SettingsPage/ThemeSettings.js +3 -2
- package/_esm/pages/SettingsPage/ThemeSettings.js.map +1 -1
- package/_esm/pages/TransactionDetailsPage/TransactionDetailsPage.js.map +1 -1
- package/_esm/pages/TransactionHistoryPage/TransactionHistoryItem.js +2 -1
- package/_esm/pages/TransactionHistoryPage/TransactionHistoryItem.js.map +1 -1
- package/_esm/providers/I18nProvider/I18nProvider.js +2 -2
- package/_esm/providers/I18nProvider/I18nProvider.js.map +1 -1
- package/_esm/providers/WalletProvider/SDKProviders.js.map +1 -1
- package/_esm/stores/StoreProvider.js +2 -1
- package/_esm/stores/StoreProvider.js.map +1 -1
- package/_esm/stores/bookmarks/BookmarkStore.d.ts +7 -0
- package/_esm/stores/bookmarks/BookmarkStore.js +20 -0
- package/_esm/stores/bookmarks/BookmarkStore.js.map +1 -0
- package/_esm/stores/bookmarks/createBookmarkStore.d.ts +3 -0
- package/_esm/stores/bookmarks/createBookmarkStore.js +45 -0
- package/_esm/stores/bookmarks/createBookmarkStore.js.map +1 -0
- package/_esm/stores/bookmarks/index.d.ts +5 -0
- package/_esm/stores/bookmarks/index.js +6 -0
- package/_esm/stores/bookmarks/index.js.map +1 -0
- package/_esm/stores/bookmarks/types.d.ts +24 -0
- package/_esm/stores/bookmarks/types.js +2 -0
- package/_esm/stores/bookmarks/types.js.map +1 -0
- package/_esm/stores/bookmarks/useBookmarkActions.d.ts +2 -0
- package/_esm/stores/bookmarks/useBookmarkActions.js +14 -0
- package/_esm/stores/bookmarks/useBookmarkActions.js.map +1 -0
- package/_esm/stores/bookmarks/useBookmarks.d.ts +2 -0
- package/_esm/stores/bookmarks/useBookmarks.js +11 -0
- package/_esm/stores/bookmarks/useBookmarks.js.map +1 -0
- package/_esm/stores/form/FormStore.js +16 -3
- package/_esm/stores/form/FormStore.js.map +1 -1
- package/_esm/stores/form/types.js.map +1 -1
- package/_esm/stores/form/useTouchedFields.d.ts +4 -4
- package/_esm/stores/index.d.ts +1 -0
- package/_esm/stores/index.js +1 -0
- package/_esm/stores/index.js.map +1 -1
- package/_esm/utils/chainType.d.ts +6 -0
- package/_esm/utils/chainType.js +20 -0
- package/_esm/utils/chainType.js.map +1 -0
- package/_esm/utils/converters.d.ts +2 -2
- package/_esm/utils/converters.js.map +1 -1
- package/_esm/utils/index.d.ts +1 -0
- package/_esm/utils/index.js +1 -0
- package/_esm/utils/index.js.map +1 -1
- package/_esm/utils/navigationRoutes.d.ts +4 -0
- package/_esm/utils/navigationRoutes.js +12 -0
- package/_esm/utils/navigationRoutes.js.map +1 -1
- package/components/AccountAvatar.tsx +55 -0
- package/components/AlertMessage/AlertMessage.style.tsx +40 -0
- package/components/AlertMessage/AlertMessage.tsx +31 -0
- package/components/AlertMessage/index.ts +3 -0
- package/components/AlertMessage/types.ts +1 -0
- package/components/BaseTransactionButton/BaseTransactionButton.tsx +7 -4
- package/components/Card/CardButton.style.tsx +36 -0
- package/components/Card/CardButton.tsx +26 -0
- package/components/Card/index.ts +2 -0
- package/components/ChainSelect/useChainSelect.ts +5 -23
- package/components/GasMessage/FundsSufficiencyMessage.tsx +18 -17
- package/components/GasMessage/GasMessage.style.ts +1 -31
- package/components/GasMessage/GasRefuelMessage.tsx +21 -22
- package/components/GasMessage/GasSufficiencyMessage.tsx +9 -21
- package/components/Header/NavigationHeader.tsx +11 -2
- package/components/ListItem/ListItem.tsx +24 -0
- package/components/ListItem/ListItemButton.tsx +9 -0
- package/components/ListItem/index.ts +2 -0
- package/components/ListItemButton.tsx +12 -8
- package/components/Menu.tsx +27 -0
- package/components/PageContainer.ts +1 -1
- package/components/ReverseTokensButton/ReverseTokensButton.tsx +12 -3
- package/components/Routes/Routes.tsx +1 -7
- package/components/Routes/RoutesExpanded.tsx +5 -8
- package/components/SendToWallet/SendToWallet.style.tsx +25 -15
- package/components/SendToWallet/SendToWalletButton.tsx +107 -43
- package/components/SendToWallet/SendToWalletExpandButton.tsx +65 -0
- package/components/SendToWallet/index.ts +2 -1
- package/components/TokenList/TokenList.style.tsx +3 -32
- package/components/TokenList/TokenList.tsx +3 -2
- package/components/TokenList/TokenListItem.tsx +4 -3
- package/components/TokenList/VirtualizedTokenList.tsx +2 -2
- package/config/version.ts +1 -1
- package/hooks/index.ts +3 -1
- package/hooks/useAccount.ts +37 -9
- package/hooks/useAddressValidation.ts +79 -0
- package/hooks/useFromTokenSufficiency.ts +3 -8
- package/hooks/useGasSufficiency.ts +6 -10
- package/hooks/useRouteExecution.ts +9 -5
- package/hooks/useRoutes.ts +20 -30
- package/hooks/{useRequiredToAddress.ts → useToAddressRequirements.ts} +8 -5
- package/hooks/useToAddressReset.ts +36 -0
- package/hooks/useTokenBalance.ts +5 -8
- package/hooks/useTokenBalances.ts +3 -6
- package/hooks/useTransactionDetails.ts +30 -31
- package/hooks/useTransactionHistory.ts +3 -2
- package/i18n/en.json +27 -6
- package/package.json +14 -14
- package/pages/MainPage/MainPage.tsx +3 -3
- package/pages/MainPage/ReviewButton.tsx +5 -5
- package/pages/SendToWallet/BookmarkAddressSheet.tsx +219 -0
- package/pages/SendToWallet/BookmarksPage.tsx +182 -0
- package/pages/SendToWallet/ConfirmAddressSheet.tsx +90 -0
- package/pages/SendToWallet/ConnectedWalletsPage.tsx +165 -0
- package/pages/SendToWallet/EmptyListIndicator.tsx +19 -0
- package/pages/SendToWallet/RecentWalletsPage.tsx +215 -0
- package/pages/SendToWallet/SendToWalletPage.style.tsx +182 -0
- package/pages/SendToWallet/SendToWalletPage.tsx +246 -0
- package/pages/SendToWallet/index.ts +4 -0
- package/pages/SettingsPage/BridgeAndExchangeSettings.tsx +4 -3
- package/pages/SettingsPage/LanguageSetting.tsx +4 -4
- package/pages/SettingsPage/SendToWalletOptionSetting.tsx +12 -12
- package/pages/SettingsPage/SettingsCard/BadgedValue.tsx +4 -3
- package/pages/SettingsPage/SettingsCard/SettingCard.style.tsx +2 -27
- package/pages/SettingsPage/SettingsCard/SettingCardExpandable.tsx +13 -12
- package/pages/SettingsPage/SettingsCard/index.ts +0 -2
- package/pages/SettingsPage/SlippageSettings/SlippageSettings.tsx +1 -1
- package/pages/SettingsPage/ThemeSettings.tsx +3 -2
- package/pages/TransactionDetailsPage/TransactionDetailsPage.tsx +5 -1
- package/pages/TransactionHistoryPage/TransactionHistoryItem.tsx +4 -7
- package/providers/I18nProvider/I18nProvider.tsx +2 -2
- package/providers/WalletProvider/SDKProviders.tsx +2 -1
- package/stores/StoreProvider.tsx +8 -5
- package/stores/bookmarks/BookmarkStore.tsx +39 -0
- package/stores/bookmarks/createBookmarkStore.ts +63 -0
- package/stores/bookmarks/index.ts +5 -0
- package/stores/bookmarks/types.ts +31 -0
- package/stores/bookmarks/useBookmarkActions.ts +19 -0
- package/stores/bookmarks/useBookmarks.ts +16 -0
- package/stores/form/FormStore.tsx +25 -4
- package/stores/form/types.ts +2 -3
- package/stores/index.ts +1 -0
- package/utils/chainType.ts +25 -0
- package/utils/converters.ts +2 -3
- package/utils/index.ts +1 -0
- package/utils/navigationRoutes.ts +12 -0
- package/_cjs/components/SendToWallet/SendToWallet.d.ts +0 -4
- package/_cjs/components/SendToWallet/SendToWallet.js +0 -94
- package/_cjs/components/SendToWallet/SendToWallet.js.map +0 -1
- package/_cjs/hooks/useRequiredToAddress.d.ts +0 -1
- package/_cjs/hooks/useRequiredToAddress.js.map +0 -1
- package/_cjs/pages/SettingsPage/SettingsCard/SettingCard.d.ts +0 -2
- package/_cjs/pages/SettingsPage/SettingsCard/SettingCard.js +0 -12
- package/_cjs/pages/SettingsPage/SettingsCard/SettingCard.js.map +0 -1
- package/_cjs/pages/SettingsPage/SettingsCard/SettingCardButton.js +0 -9
- package/_cjs/pages/SettingsPage/SettingsCard/SettingCardButton.js.map +0 -1
- package/_esm/components/SendToWallet/SendToWallet.d.ts +0 -4
- package/_esm/components/SendToWallet/SendToWallet.js +0 -90
- package/_esm/components/SendToWallet/SendToWallet.js.map +0 -1
- package/_esm/hooks/useRequiredToAddress.d.ts +0 -1
- package/_esm/hooks/useRequiredToAddress.js.map +0 -1
- package/_esm/pages/SettingsPage/SettingsCard/SettingCard.d.ts +0 -2
- package/_esm/pages/SettingsPage/SettingsCard/SettingCard.js +0 -8
- package/_esm/pages/SettingsPage/SettingsCard/SettingCard.js.map +0 -1
- package/_esm/pages/SettingsPage/SettingsCard/SettingCardButton.js +0 -5
- package/_esm/pages/SettingsPage/SettingsCard/SettingCardButton.js.map +0 -1
- package/components/SendToWallet/SendToWallet.tsx +0 -144
- package/i18n/i18next.d.ts +0 -10
- package/pages/SettingsPage/SettingsCard/SettingCard.tsx +0 -16
- package/pages/SettingsPage/SettingsCard/SettingCardButton.tsx +0 -26
- package/react-app-env.d.ts +0 -1
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { StateCreator } from 'zustand';
|
|
2
|
+
import { persist } from 'zustand/middleware';
|
|
3
|
+
import { createWithEqualityFn } from 'zustand/traditional';
|
|
4
|
+
import type { PersistStoreProps } from '../types';
|
|
5
|
+
import type { BookmarkState } from './types';
|
|
6
|
+
|
|
7
|
+
const recentWalletsLimit = 5;
|
|
8
|
+
|
|
9
|
+
export const createBookmarksStore = ({ namePrefix }: PersistStoreProps) =>
|
|
10
|
+
createWithEqualityFn<BookmarkState>(
|
|
11
|
+
persist(
|
|
12
|
+
(set, get) => ({
|
|
13
|
+
selectedBookmark: undefined,
|
|
14
|
+
bookmarks: [],
|
|
15
|
+
recentWallets: [],
|
|
16
|
+
getBookmark: (address) =>
|
|
17
|
+
get().bookmarks.find((bookmark) => bookmark.address === address),
|
|
18
|
+
addBookmark: (bookmark) => {
|
|
19
|
+
set((state) => ({
|
|
20
|
+
bookmarks: [bookmark, ...state.bookmarks],
|
|
21
|
+
}));
|
|
22
|
+
},
|
|
23
|
+
removeBookmark: (address) => {
|
|
24
|
+
set((state) => ({
|
|
25
|
+
bookmarks: state.bookmarks.filter(
|
|
26
|
+
(storedBookmark) => storedBookmark.address !== address,
|
|
27
|
+
),
|
|
28
|
+
}));
|
|
29
|
+
},
|
|
30
|
+
setSelectedBookmark: (bookmark) => {
|
|
31
|
+
set((state) => ({
|
|
32
|
+
selectedBookmark: bookmark,
|
|
33
|
+
}));
|
|
34
|
+
},
|
|
35
|
+
addRecentWallet: (bookmark) => {
|
|
36
|
+
set((state) => ({
|
|
37
|
+
recentWallets: [
|
|
38
|
+
bookmark,
|
|
39
|
+
...state.recentWallets.filter(
|
|
40
|
+
(recentWallet) => recentWallet.address !== bookmark.address,
|
|
41
|
+
),
|
|
42
|
+
].slice(0, recentWalletsLimit),
|
|
43
|
+
}));
|
|
44
|
+
},
|
|
45
|
+
removeRecentWallet: (address) => {
|
|
46
|
+
set((state) => ({
|
|
47
|
+
recentWallets: state.recentWallets.filter(
|
|
48
|
+
(storedRecent) => storedRecent.address !== address,
|
|
49
|
+
),
|
|
50
|
+
}));
|
|
51
|
+
},
|
|
52
|
+
}),
|
|
53
|
+
{
|
|
54
|
+
name: `${namePrefix || 'li.fi'}-bookmarks`,
|
|
55
|
+
version: 0,
|
|
56
|
+
partialize: (state) => ({
|
|
57
|
+
bookmarks: state.bookmarks,
|
|
58
|
+
recentWallets: state.recentWallets,
|
|
59
|
+
}),
|
|
60
|
+
},
|
|
61
|
+
) as StateCreator<BookmarkState, [], [], BookmarkState>,
|
|
62
|
+
Object.is,
|
|
63
|
+
);
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { ChainType } from '@lifi/sdk';
|
|
2
|
+
import type { StoreApi } from 'zustand';
|
|
3
|
+
import type { UseBoundStoreWithEqualityFn } from 'zustand/esm/traditional';
|
|
4
|
+
|
|
5
|
+
export interface Bookmark {
|
|
6
|
+
address: string;
|
|
7
|
+
chainType: ChainType;
|
|
8
|
+
name?: string;
|
|
9
|
+
isConnectedAccount?: boolean;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export interface BookmarkProps {
|
|
13
|
+
selectedBookmark?: Bookmark;
|
|
14
|
+
bookmarks: Bookmark[];
|
|
15
|
+
recentWallets: Bookmark[];
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export interface BookmarkActions {
|
|
19
|
+
getBookmark: (address: string) => Bookmark | undefined;
|
|
20
|
+
addBookmark: (bookmark: Bookmark) => void;
|
|
21
|
+
removeBookmark: (address: string) => void;
|
|
22
|
+
setSelectedBookmark: (bookmark?: Bookmark) => void;
|
|
23
|
+
addRecentWallet: (bookmark: Bookmark) => void;
|
|
24
|
+
removeRecentWallet: (address: string) => void;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export type BookmarkState = BookmarkProps & BookmarkActions;
|
|
28
|
+
|
|
29
|
+
export type BookmarkStore = UseBoundStoreWithEqualityFn<
|
|
30
|
+
StoreApi<BookmarkState>
|
|
31
|
+
>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { shallow } from 'zustand/shallow';
|
|
2
|
+
import { useBookmarkStore } from './BookmarkStore';
|
|
3
|
+
import type { BookmarkActions } from './types';
|
|
4
|
+
|
|
5
|
+
export const useBookmarkActions = () => {
|
|
6
|
+
const actions = useBookmarkStore<BookmarkActions>(
|
|
7
|
+
(store) => ({
|
|
8
|
+
getBookmark: store.getBookmark,
|
|
9
|
+
addBookmark: store.addBookmark,
|
|
10
|
+
removeBookmark: store.removeBookmark,
|
|
11
|
+
setSelectedBookmark: store.setSelectedBookmark,
|
|
12
|
+
addRecentWallet: store.addRecentWallet,
|
|
13
|
+
removeRecentWallet: store.removeRecentWallet,
|
|
14
|
+
}),
|
|
15
|
+
shallow,
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
return actions;
|
|
19
|
+
};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { shallow } from 'zustand/shallow';
|
|
2
|
+
import { useBookmarkStore } from './BookmarkStore';
|
|
3
|
+
import type { BookmarkProps } from './types';
|
|
4
|
+
|
|
5
|
+
export const useBookmarks = (): BookmarkProps => {
|
|
6
|
+
const [bookmarks, selectedBookmark, recentWallets] = useBookmarkStore(
|
|
7
|
+
(store) => [store.bookmarks, store.selectedBookmark, store.recentWallets],
|
|
8
|
+
shallow,
|
|
9
|
+
);
|
|
10
|
+
|
|
11
|
+
return {
|
|
12
|
+
bookmarks,
|
|
13
|
+
selectedBookmark,
|
|
14
|
+
recentWallets,
|
|
15
|
+
};
|
|
16
|
+
};
|
|
@@ -2,6 +2,7 @@ import type { PropsWithChildren } from 'react';
|
|
|
2
2
|
import { createContext, useContext, useMemo, useRef } from 'react';
|
|
3
3
|
import { shallow } from 'zustand/shallow';
|
|
4
4
|
import { useWidgetConfig } from '../../providers';
|
|
5
|
+
import { HiddenUI } from '../../types';
|
|
5
6
|
import { FormUpdater } from './FormUpdater';
|
|
6
7
|
import { createFormStore, formDefaultValues } from './createFormStore';
|
|
7
8
|
import type { FormStoreStore, FormValuesState } from './types';
|
|
@@ -11,10 +12,19 @@ export const FormStoreContext = createContext<FormStoreStore | null>(null);
|
|
|
11
12
|
export const FormStoreProvider: React.FC<PropsWithChildren> = ({
|
|
12
13
|
children,
|
|
13
14
|
}) => {
|
|
14
|
-
const {
|
|
15
|
-
|
|
15
|
+
const {
|
|
16
|
+
fromChain,
|
|
17
|
+
fromToken,
|
|
18
|
+
fromAmount,
|
|
19
|
+
toChain,
|
|
20
|
+
toToken,
|
|
21
|
+
toAddress,
|
|
22
|
+
hiddenUI,
|
|
23
|
+
} = useWidgetConfig();
|
|
16
24
|
const storeRef = useRef<FormStoreStore>();
|
|
17
25
|
|
|
26
|
+
const hiddenToAddress = hiddenUI?.includes(HiddenUI.ToAddress);
|
|
27
|
+
|
|
18
28
|
const defaultValues = useMemo(
|
|
19
29
|
() => ({
|
|
20
30
|
...formDefaultValues,
|
|
@@ -26,9 +36,20 @@ export const FormStoreProvider: React.FC<PropsWithChildren> = ({
|
|
|
26
36
|
(typeof fromAmount === 'number'
|
|
27
37
|
? fromAmount?.toPrecision()
|
|
28
38
|
: fromAmount) || formDefaultValues.fromAmount,
|
|
29
|
-
|
|
39
|
+
// Prevent setting address when the field is hidden
|
|
40
|
+
toAddress: hiddenToAddress
|
|
41
|
+
? formDefaultValues.toAddress
|
|
42
|
+
: toAddress || formDefaultValues.toAddress,
|
|
30
43
|
}),
|
|
31
|
-
[
|
|
44
|
+
[
|
|
45
|
+
fromAmount,
|
|
46
|
+
fromChain,
|
|
47
|
+
fromToken,
|
|
48
|
+
hiddenToAddress,
|
|
49
|
+
toAddress,
|
|
50
|
+
toChain,
|
|
51
|
+
toToken,
|
|
52
|
+
],
|
|
32
53
|
);
|
|
33
54
|
|
|
34
55
|
if (!storeRef.current) {
|
package/stores/form/types.ts
CHANGED
|
@@ -39,9 +39,8 @@ export interface FormValues {
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
export type FormFieldNames = keyof FormValues;
|
|
42
|
-
export type ExtractValueType<T> =
|
|
43
|
-
? U
|
|
44
|
-
: never;
|
|
42
|
+
export type ExtractValueType<T> =
|
|
43
|
+
T extends FormValueControl<infer U> ? U : never;
|
|
45
44
|
export type FormFieldArray<T extends FormFieldNames[]> = {
|
|
46
45
|
[K in keyof T]: ExtractValueType<FormValues[T[K]]>;
|
|
47
46
|
};
|
package/stores/index.ts
CHANGED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ChainId, ChainType } from '@lifi/sdk';
|
|
2
|
+
import { isAddress as isEVMAddress } from 'viem';
|
|
3
|
+
import { isSVMAddress } from './svm';
|
|
4
|
+
|
|
5
|
+
const chainTypeAddressValidation = {
|
|
6
|
+
[ChainType.EVM]: isEVMAddress,
|
|
7
|
+
[ChainType.SVM]: isSVMAddress,
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export const getChainTypeFromAddress = (
|
|
11
|
+
address: string,
|
|
12
|
+
): ChainType | undefined => {
|
|
13
|
+
for (const chainType in chainTypeAddressValidation) {
|
|
14
|
+
const isChainType =
|
|
15
|
+
chainTypeAddressValidation[chainType as ChainType](address);
|
|
16
|
+
if (isChainType) {
|
|
17
|
+
return chainType as ChainType;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export const defaultChainIdsByType = {
|
|
23
|
+
[ChainType.EVM]: ChainId.ETH,
|
|
24
|
+
[ChainType.SVM]: ChainId.SOL,
|
|
25
|
+
};
|
package/utils/converters.ts
CHANGED
|
@@ -3,14 +3,13 @@ import type {
|
|
|
3
3
|
FullStatusData,
|
|
4
4
|
Process,
|
|
5
5
|
Status,
|
|
6
|
-
StatusResponse,
|
|
7
6
|
Substatus,
|
|
8
7
|
TokenAmount,
|
|
9
8
|
ToolsResponse,
|
|
10
9
|
} from '@lifi/sdk';
|
|
11
10
|
import type { RouteExecution } from '../stores';
|
|
12
11
|
|
|
13
|
-
const buildProcessFromTxHistory = (tx:
|
|
12
|
+
const buildProcessFromTxHistory = (tx: FullStatusData): Process[] => {
|
|
14
13
|
const sending = tx.sending as ExtendedTransactionInfo;
|
|
15
14
|
const receiving = tx.receiving as ExtendedTransactionInfo;
|
|
16
15
|
|
|
@@ -65,7 +64,7 @@ const buildProcessFromTxHistory = (tx: StatusResponse): Process[] => {
|
|
|
65
64
|
};
|
|
66
65
|
|
|
67
66
|
export const buildRouteFromTxHistory = (
|
|
68
|
-
tx:
|
|
67
|
+
tx: FullStatusData,
|
|
69
68
|
tools?: ToolsResponse,
|
|
70
69
|
) => {
|
|
71
70
|
const sending = tx.sending as ExtendedTransactionInfo;
|
package/utils/index.ts
CHANGED
|
@@ -15,6 +15,10 @@ export const navigationRoutes = {
|
|
|
15
15
|
transactionDetails: 'transaction-details',
|
|
16
16
|
transactionExecution: 'transaction-execution',
|
|
17
17
|
transactionHistory: 'transaction-history',
|
|
18
|
+
sendToWallet: 'send-to-wallet',
|
|
19
|
+
bookmarks: 'bookmarks',
|
|
20
|
+
recentWallets: 'recent-wallets',
|
|
21
|
+
connectedWallets: 'connected-wallets',
|
|
18
22
|
};
|
|
19
23
|
|
|
20
24
|
export const navigationRoutesValues = Object.values(navigationRoutes);
|
|
@@ -33,6 +37,10 @@ export const stickyHeaderRoutes = [
|
|
|
33
37
|
navigationRoutes.transactionDetails,
|
|
34
38
|
navigationRoutes.transactionExecution,
|
|
35
39
|
navigationRoutes.transactionHistory,
|
|
40
|
+
navigationRoutes.sendToWallet,
|
|
41
|
+
navigationRoutes.bookmarks,
|
|
42
|
+
navigationRoutes.recentWallets,
|
|
43
|
+
navigationRoutes.connectedWallets,
|
|
36
44
|
];
|
|
37
45
|
|
|
38
46
|
export const backButtonRoutes = [
|
|
@@ -51,6 +59,10 @@ export const backButtonRoutes = [
|
|
|
51
59
|
navigationRoutes.transactionDetails,
|
|
52
60
|
navigationRoutes.transactionExecution,
|
|
53
61
|
navigationRoutes.transactionHistory,
|
|
62
|
+
navigationRoutes.sendToWallet,
|
|
63
|
+
navigationRoutes.bookmarks,
|
|
64
|
+
navigationRoutes.recentWallets,
|
|
65
|
+
navigationRoutes.connectedWallets,
|
|
54
66
|
];
|
|
55
67
|
|
|
56
68
|
export type NavigationRouteType = keyof typeof navigationRoutes;
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SendToWalletFormHelperText = exports.SendToWallet = void 0;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const material_1 = require("@mui/material");
|
|
6
|
-
const core_1 = require("@wagmi/core");
|
|
7
|
-
const react_1 = require("react");
|
|
8
|
-
const react_i18next_1 = require("react-i18next");
|
|
9
|
-
const viem_1 = require("viem");
|
|
10
|
-
const ens_1 = require("viem/ens");
|
|
11
|
-
const wagmi_1 = require("wagmi");
|
|
12
|
-
const hooks_1 = require("../../hooks");
|
|
13
|
-
const providers_1 = require("../../providers");
|
|
14
|
-
const stores_1 = require("../../stores");
|
|
15
|
-
const types_1 = require("../../types");
|
|
16
|
-
const utils_1 = require("../../utils");
|
|
17
|
-
const Card_1 = require("../Card");
|
|
18
|
-
const SendToWallet_style_1 = require("./SendToWallet.style");
|
|
19
|
-
exports.SendToWallet = (0, react_1.forwardRef)((props, ref) => {
|
|
20
|
-
const { t } = (0, react_i18next_1.useTranslation)();
|
|
21
|
-
const { getFieldValues } = (0, stores_1.useFieldActions)();
|
|
22
|
-
const { name, value, onChange, onBlur } = (0, stores_1.useFieldController)({
|
|
23
|
-
name: 'toAddress',
|
|
24
|
-
});
|
|
25
|
-
const { addFieldValidation, triggerFieldValidation, clearErrors } = (0, stores_1.useValidationActions)();
|
|
26
|
-
const { account } = (0, hooks_1.useAccount)();
|
|
27
|
-
const config = (0, wagmi_1.useConfig)();
|
|
28
|
-
const { disabledUI, hiddenUI, toAddress } = (0, providers_1.useWidgetConfig)();
|
|
29
|
-
const { showSendToWallet, showSendToWalletDirty } = (0, stores_1.useSendToWalletStore)();
|
|
30
|
-
const { showDestinationWallet } = (0, stores_1.useSettings)(['showDestinationWallet']);
|
|
31
|
-
const hiddenToAddress = hiddenUI?.includes(types_1.HiddenUI.ToAddress);
|
|
32
|
-
const disabledToAddress = disabledUI?.includes(types_1.DisabledUI.ToAddress);
|
|
33
|
-
const requiredToAddress = (0, hooks_1.useRequiredToAddress)();
|
|
34
|
-
const requiredToAddressRef = (0, react_1.useRef)(requiredToAddress);
|
|
35
|
-
// We want to show toAddress field if it is set via widget configuration and not hidden
|
|
36
|
-
const showInstantly = Boolean(!showSendToWalletDirty &&
|
|
37
|
-
showDestinationWallet &&
|
|
38
|
-
toAddress &&
|
|
39
|
-
!hiddenToAddress) || requiredToAddress;
|
|
40
|
-
(0, react_1.useEffect)(() => {
|
|
41
|
-
addFieldValidation('toAddress', async (value) => {
|
|
42
|
-
try {
|
|
43
|
-
if (!value && requiredToAddress) {
|
|
44
|
-
return t('error.title.walletEnsAddressInvalid');
|
|
45
|
-
}
|
|
46
|
-
if (!value || (0, viem_1.isAddress)(value) || (0, utils_1.isSVMAddress)(value)) {
|
|
47
|
-
return true;
|
|
48
|
-
}
|
|
49
|
-
const address = await (0, core_1.getEnsAddress)(config, {
|
|
50
|
-
chainId: getFieldValues('toChain')[0],
|
|
51
|
-
name: (0, ens_1.normalize)(value),
|
|
52
|
-
});
|
|
53
|
-
return Boolean(address);
|
|
54
|
-
}
|
|
55
|
-
catch (error) {
|
|
56
|
-
return t('error.title.walletEnsAddressInvalid');
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
}, [addFieldValidation, requiredToAddress, getFieldValues, t, config]);
|
|
60
|
-
const handlerInputChange = (e) => {
|
|
61
|
-
onChange(e.target.value.trim());
|
|
62
|
-
};
|
|
63
|
-
const handlerInputBlur = () => {
|
|
64
|
-
onBlur();
|
|
65
|
-
triggerFieldValidation('toAddress');
|
|
66
|
-
};
|
|
67
|
-
(0, react_1.useEffect)(() => {
|
|
68
|
-
const value = getFieldValues('toAddress');
|
|
69
|
-
if (value) {
|
|
70
|
-
triggerFieldValidation('toAddress');
|
|
71
|
-
// Trigger validation if we change requiredToAddress in the runtime
|
|
72
|
-
}
|
|
73
|
-
else if (requiredToAddressRef.current !== requiredToAddress) {
|
|
74
|
-
requiredToAddressRef.current = requiredToAddress;
|
|
75
|
-
triggerFieldValidation('toAddress').then(() => clearErrors('toAddress'));
|
|
76
|
-
}
|
|
77
|
-
}, [
|
|
78
|
-
account.chainId,
|
|
79
|
-
clearErrors,
|
|
80
|
-
getFieldValues,
|
|
81
|
-
requiredToAddress,
|
|
82
|
-
triggerFieldValidation,
|
|
83
|
-
]);
|
|
84
|
-
if (hiddenToAddress && !requiredToAddress) {
|
|
85
|
-
return null;
|
|
86
|
-
}
|
|
87
|
-
return ((0, jsx_runtime_1.jsx)(material_1.Collapse, { timeout: showInstantly ? 0 : 225, in: showSendToWallet || showInstantly, mountOnEnter: true, unmountOnExit: true, children: (0, jsx_runtime_1.jsxs)(Card_1.Card, { ...props, ref: ref, children: [(0, jsx_runtime_1.jsx)(Card_1.CardTitle, { required: requiredToAddress, children: t('main.sendToWallet') }), (0, jsx_runtime_1.jsxs)(SendToWallet_style_1.FormControl, { fullWidth: true, sx: { paddingTop: '6px', paddingBottom: '5px' }, children: [(0, jsx_runtime_1.jsx)(SendToWallet_style_1.Input, { size: "small", autoComplete: "off", autoCorrect: "off", autoCapitalize: "off", spellCheck: "false", onChange: handlerInputChange, onBlur: handlerInputBlur, name: name, value: value, placeholder: t('main.walletAddressOrEns'), disabled: Boolean(toAddress && disabledToAddress) }), (0, jsx_runtime_1.jsx)(exports.SendToWalletFormHelperText, {})] })] }) }));
|
|
88
|
-
});
|
|
89
|
-
const SendToWalletFormHelperText = () => {
|
|
90
|
-
const { errors } = (0, stores_1.useValidation)();
|
|
91
|
-
return ((0, jsx_runtime_1.jsx)(material_1.FormHelperText, { error: !!errors.toAddress, children: errors.toAddress }));
|
|
92
|
-
};
|
|
93
|
-
exports.SendToWalletFormHelperText = SendToWalletFormHelperText;
|
|
94
|
-
//# sourceMappingURL=SendToWallet.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SendToWallet.js","sourceRoot":"","sources":["../../../components/SendToWallet/SendToWallet.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const useRequiredToAddress: () => boolean | undefined;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useRequiredToAddress.js","sourceRoot":"","sources":["../../hooks/useRequiredToAddress.ts"],"names":[],"mappings":";;;AAAA,oCAAoC;AACpC,4CAA+C;AAC/C,oCAAsC;AACtC,sCAA2C;AAEpC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAA,2BAAe,GAAE,CAAC;IACzC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,IAAA,uBAAc,EAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAExE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAA,gBAAQ,EAAC,WAAW,CAAC,CAAC;IACnD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,IAAA,gBAAQ,EAAC,SAAS,CAAC,CAAC;IAE/C,MAAM,kBAAkB,GACtB,SAAS,IAAI,OAAO,IAAI,SAAS,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC;IAEpE,MAAM,iBAAiB,GACrB,UAAU,EAAE,QAAQ,CAAC,kBAAU,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAAC;IAEnE,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC;AAdW,QAAA,oBAAoB,wBAc/B"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SettingCard = void 0;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const Card_1 = require("../../../components/Card");
|
|
6
|
-
const SettingCard = ({ children }) => {
|
|
7
|
-
return ((0, jsx_runtime_1.jsx)(Card_1.Card, { variant: "default", selectionColor: "primary", sx: {
|
|
8
|
-
p: 1,
|
|
9
|
-
}, children: children }));
|
|
10
|
-
};
|
|
11
|
-
exports.SettingCard = SettingCard;
|
|
12
|
-
//# sourceMappingURL=SettingCard.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SettingCard.js","sourceRoot":"","sources":["../../../../pages/SettingsPage/SettingsCard/SettingCard.tsx"],"names":[],"mappings":";;;;AACA,mDAAgD;AAEzC,MAAM,WAAW,GAAgC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvE,OAAO,CACL,uBAAC,WAAI,IACH,OAAO,EAAC,SAAS,EACjB,cAAc,EAAC,SAAS,EACxB,EAAE,EAAE;YACF,CAAC,EAAE,CAAC;SACL,YAEA,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC,CAAC;AAZW,QAAA,WAAW,eAYtB"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SettingCardButton = void 0;
|
|
4
|
-
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
-
const SettingCard_1 = require("./SettingCard");
|
|
6
|
-
const SettingCard_style_1 = require("./SettingCard.style");
|
|
7
|
-
const SettingCardButton = ({ onClick, icon, title, children }) => ((0, jsx_runtime_1.jsx)(SettingCard_1.SettingCard, { children: (0, jsx_runtime_1.jsxs)(SettingCard_style_1.SummaryRowButton, { onClick: onClick, disableRipple: true, children: [(0, jsx_runtime_1.jsxs)(SettingCard_style_1.SummaryTitleContainer, { children: [icon, (0, jsx_runtime_1.jsx)(SettingCard_style_1.SummaryValue, { children: title })] }), children] }) }));
|
|
8
|
-
exports.SettingCardButton = SettingCardButton;
|
|
9
|
-
//# sourceMappingURL=SettingCardButton.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SettingCardButton.js","sourceRoot":"","sources":["../../../../pages/SettingsPage/SettingsCard/SettingCardButton.tsx"],"names":[],"mappings":";;;;AAEA,+CAA4C;AAC5C,2DAI6B;AAMtB,MAAM,iBAAiB,GAE1B,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC1C,uBAAC,yBAAW,cACV,wBAAC,oCAAgB,IAAC,OAAO,EAAE,OAAO,EAAE,aAAa,mBAC/C,wBAAC,yCAAqB,eACnB,IAAI,EACL,uBAAC,gCAAY,cAAE,KAAK,GAAgB,IACd,EACvB,QAAQ,IACQ,GACP,CACf,CAAC;AAZW,QAAA,iBAAiB,qBAY5B"}
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { Collapse, FormHelperText } from '@mui/material';
|
|
3
|
-
import { getEnsAddress } from '@wagmi/core';
|
|
4
|
-
import { forwardRef, useEffect, useRef } from 'react';
|
|
5
|
-
import { useTranslation } from 'react-i18next';
|
|
6
|
-
import { isAddress } from 'viem';
|
|
7
|
-
import { normalize } from 'viem/ens';
|
|
8
|
-
import { useConfig } from 'wagmi';
|
|
9
|
-
import { useAccount, useRequiredToAddress } from '../../hooks';
|
|
10
|
-
import { useWidgetConfig } from '../../providers';
|
|
11
|
-
import { useFieldActions, useFieldController, useSendToWalletStore, useSettings, useValidation, useValidationActions, } from '../../stores';
|
|
12
|
-
import { DisabledUI, HiddenUI } from '../../types';
|
|
13
|
-
import { isSVMAddress } from '../../utils';
|
|
14
|
-
import { Card, CardTitle } from '../Card';
|
|
15
|
-
import { FormControl, Input } from './SendToWallet.style';
|
|
16
|
-
export const SendToWallet = forwardRef((props, ref) => {
|
|
17
|
-
const { t } = useTranslation();
|
|
18
|
-
const { getFieldValues } = useFieldActions();
|
|
19
|
-
const { name, value, onChange, onBlur } = useFieldController({
|
|
20
|
-
name: 'toAddress',
|
|
21
|
-
});
|
|
22
|
-
const { addFieldValidation, triggerFieldValidation, clearErrors } = useValidationActions();
|
|
23
|
-
const { account } = useAccount();
|
|
24
|
-
const config = useConfig();
|
|
25
|
-
const { disabledUI, hiddenUI, toAddress } = useWidgetConfig();
|
|
26
|
-
const { showSendToWallet, showSendToWalletDirty } = useSendToWalletStore();
|
|
27
|
-
const { showDestinationWallet } = useSettings(['showDestinationWallet']);
|
|
28
|
-
const hiddenToAddress = hiddenUI?.includes(HiddenUI.ToAddress);
|
|
29
|
-
const disabledToAddress = disabledUI?.includes(DisabledUI.ToAddress);
|
|
30
|
-
const requiredToAddress = useRequiredToAddress();
|
|
31
|
-
const requiredToAddressRef = useRef(requiredToAddress);
|
|
32
|
-
// We want to show toAddress field if it is set via widget configuration and not hidden
|
|
33
|
-
const showInstantly = Boolean(!showSendToWalletDirty &&
|
|
34
|
-
showDestinationWallet &&
|
|
35
|
-
toAddress &&
|
|
36
|
-
!hiddenToAddress) || requiredToAddress;
|
|
37
|
-
useEffect(() => {
|
|
38
|
-
addFieldValidation('toAddress', async (value) => {
|
|
39
|
-
try {
|
|
40
|
-
if (!value && requiredToAddress) {
|
|
41
|
-
return t('error.title.walletEnsAddressInvalid');
|
|
42
|
-
}
|
|
43
|
-
if (!value || isAddress(value) || isSVMAddress(value)) {
|
|
44
|
-
return true;
|
|
45
|
-
}
|
|
46
|
-
const address = await getEnsAddress(config, {
|
|
47
|
-
chainId: getFieldValues('toChain')[0],
|
|
48
|
-
name: normalize(value),
|
|
49
|
-
});
|
|
50
|
-
return Boolean(address);
|
|
51
|
-
}
|
|
52
|
-
catch (error) {
|
|
53
|
-
return t('error.title.walletEnsAddressInvalid');
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
}, [addFieldValidation, requiredToAddress, getFieldValues, t, config]);
|
|
57
|
-
const handlerInputChange = (e) => {
|
|
58
|
-
onChange(e.target.value.trim());
|
|
59
|
-
};
|
|
60
|
-
const handlerInputBlur = () => {
|
|
61
|
-
onBlur();
|
|
62
|
-
triggerFieldValidation('toAddress');
|
|
63
|
-
};
|
|
64
|
-
useEffect(() => {
|
|
65
|
-
const value = getFieldValues('toAddress');
|
|
66
|
-
if (value) {
|
|
67
|
-
triggerFieldValidation('toAddress');
|
|
68
|
-
// Trigger validation if we change requiredToAddress in the runtime
|
|
69
|
-
}
|
|
70
|
-
else if (requiredToAddressRef.current !== requiredToAddress) {
|
|
71
|
-
requiredToAddressRef.current = requiredToAddress;
|
|
72
|
-
triggerFieldValidation('toAddress').then(() => clearErrors('toAddress'));
|
|
73
|
-
}
|
|
74
|
-
}, [
|
|
75
|
-
account.chainId,
|
|
76
|
-
clearErrors,
|
|
77
|
-
getFieldValues,
|
|
78
|
-
requiredToAddress,
|
|
79
|
-
triggerFieldValidation,
|
|
80
|
-
]);
|
|
81
|
-
if (hiddenToAddress && !requiredToAddress) {
|
|
82
|
-
return null;
|
|
83
|
-
}
|
|
84
|
-
return (_jsx(Collapse, { timeout: showInstantly ? 0 : 225, in: showSendToWallet || showInstantly, mountOnEnter: true, unmountOnExit: true, children: _jsxs(Card, { ...props, ref: ref, children: [_jsx(CardTitle, { required: requiredToAddress, children: t('main.sendToWallet') }), _jsxs(FormControl, { fullWidth: true, sx: { paddingTop: '6px', paddingBottom: '5px' }, children: [_jsx(Input, { size: "small", autoComplete: "off", autoCorrect: "off", autoCapitalize: "off", spellCheck: "false", onChange: handlerInputChange, onBlur: handlerInputBlur, name: name, value: value, placeholder: t('main.walletAddressOrEns'), disabled: Boolean(toAddress && disabledToAddress) }), _jsx(SendToWalletFormHelperText, {})] })] }) }));
|
|
85
|
-
});
|
|
86
|
-
export const SendToWalletFormHelperText = () => {
|
|
87
|
-
const { errors } = useValidation();
|
|
88
|
-
return (_jsx(FormHelperText, { error: !!errors.toAddress, children: errors.toAddress }));
|
|
89
|
-
};
|
|
90
|
-
//# sourceMappingURL=SendToWallet.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SendToWallet.js","sourceRoot":"","sources":["../../../components/SendToWallet/SendToWallet.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const useRequiredToAddress: () => boolean | undefined;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useRequiredToAddress.js","sourceRoot":"","sources":["../../hooks/useRequiredToAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAE3C,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,MAAM,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAC;IACzC,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAExE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAE/C,MAAM,kBAAkB,GACtB,SAAS,IAAI,OAAO,IAAI,SAAS,CAAC,SAAS,KAAK,OAAO,CAAC,SAAS,CAAC;IAEpE,MAAM,iBAAiB,GACrB,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,kBAAkB,CAAC;IAEnE,OAAO,iBAAiB,CAAC;AAC3B,CAAC,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Card } from '../../../components/Card';
|
|
3
|
-
export const SettingCard = ({ children }) => {
|
|
4
|
-
return (_jsx(Card, { variant: "default", selectionColor: "primary", sx: {
|
|
5
|
-
p: 1,
|
|
6
|
-
}, children: children }));
|
|
7
|
-
};
|
|
8
|
-
//# sourceMappingURL=SettingCard.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SettingCard.js","sourceRoot":"","sources":["../../../../pages/SettingsPage/SettingsCard/SettingCard.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAEhD,MAAM,CAAC,MAAM,WAAW,GAAgC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvE,OAAO,CACL,KAAC,IAAI,IACH,OAAO,EAAC,SAAS,EACjB,cAAc,EAAC,SAAS,EACxB,EAAE,EAAE;YACF,CAAC,EAAE,CAAC;SACL,YAEA,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { SettingCard } from './SettingCard';
|
|
3
|
-
import { SummaryRowButton, SummaryValue, SummaryTitleContainer, } from './SettingCard.style';
|
|
4
|
-
export const SettingCardButton = ({ onClick, icon, title, children }) => (_jsx(SettingCard, { children: _jsxs(SummaryRowButton, { onClick: onClick, disableRipple: true, children: [_jsxs(SummaryTitleContainer, { children: [icon, _jsx(SummaryValue, { children: title })] }), children] }) }));
|
|
5
|
-
//# sourceMappingURL=SettingCardButton.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SettingCardButton.js","sourceRoot":"","sources":["../../../../pages/SettingsPage/SettingsCard/SettingCardButton.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAM7B,MAAM,CAAC,MAAM,iBAAiB,GAE1B,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAC1C,KAAC,WAAW,cACV,MAAC,gBAAgB,IAAC,OAAO,EAAE,OAAO,EAAE,aAAa,mBAC/C,MAAC,qBAAqB,eACnB,IAAI,EACL,KAAC,YAAY,cAAE,KAAK,GAAgB,IACd,EACvB,QAAQ,IACQ,GACP,CACf,CAAC"}
|