@lifi/widget 4.3.1 → 4.4.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.
- package/dist/esm/App.d.ts +0 -1
- package/dist/esm/App.d.ts.map +1 -1
- package/dist/esm/AppDrawer.d.ts +1 -1
- package/dist/esm/AppDrawer.d.ts.map +1 -1
- package/dist/esm/components/ActionRow/ActionRow.d.ts +13 -0
- package/dist/esm/components/ActionRow/ActionRow.d.ts.map +1 -0
- package/dist/esm/components/AmountInput/AmountInput.style.d.ts +9 -0
- package/dist/esm/components/AmountInput/AmountInput.style.d.ts.map +1 -0
- package/dist/esm/components/AmountInput/AmountInputEndAdornment.d.ts +7 -0
- package/dist/esm/components/AmountInput/AmountInputEndAdornment.d.ts.map +1 -0
- package/dist/esm/components/AmountInput/PriceFormHelperText.style.d.ts +7 -0
- package/dist/esm/components/AmountInput/PriceFormHelperText.style.d.ts.map +1 -0
- package/dist/esm/components/Avatar/Avatar.d.ts +12 -0
- package/dist/esm/components/Avatar/Avatar.d.ts.map +1 -0
- package/dist/esm/components/Avatar/TokenAvatar.d.ts +14 -0
- package/dist/esm/components/Avatar/TokenAvatar.d.ts.map +1 -0
- package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.d.ts +6 -0
- package/dist/esm/components/BaseTransactionButton/BaseTransactionButton.d.ts.map +1 -0
- package/dist/esm/components/BaseTransactionButton/types.d.ts +14 -0
- package/dist/esm/components/BaseTransactionButton/types.d.ts.map +1 -0
- package/dist/esm/components/BottomSheet/types.d.ts +11 -0
- package/dist/esm/components/BottomSheet/types.d.ts.map +1 -0
- package/dist/esm/components/ButtonTertiary.d.ts +7 -0
- package/dist/esm/components/ButtonTertiary.d.ts.map +1 -0
- package/dist/esm/components/Card/Card.d.ts +12 -0
- package/dist/esm/components/Card/Card.d.ts.map +1 -0
- package/dist/esm/components/Card/CardIconButton.d.ts +7 -0
- package/dist/esm/components/Card/CardIconButton.d.ts.map +1 -0
- package/dist/esm/components/Card/CardTitle.d.ts +9 -0
- package/dist/esm/components/Card/CardTitle.d.ts.map +1 -0
- package/dist/esm/components/Card/InputCard.d.ts +7 -0
- package/dist/esm/components/Card/InputCard.d.ts.map +1 -0
- package/dist/esm/components/ChainSelect/ChainSelect.d.ts +7 -0
- package/dist/esm/components/ChainSelect/ChainSelect.d.ts.map +1 -0
- package/dist/esm/components/ChainSelect/ChainSelect.style.d.ts +10 -0
- package/dist/esm/components/ChainSelect/ChainSelect.style.d.ts.map +1 -0
- package/dist/esm/components/ContractComponent/ContractComponent.d.ts +7 -0
- package/dist/esm/components/ContractComponent/ContractComponent.d.ts.map +1 -0
- package/dist/esm/components/ContractComponent/ItemPrice.d.ts +0 -1
- package/dist/esm/components/ContractComponent/ItemPrice.d.ts.map +1 -1
- package/dist/esm/components/ContractComponent/NFT/NFT.d.ts +0 -1
- package/dist/esm/components/ContractComponent/NFT/NFT.d.ts.map +1 -1
- package/dist/esm/components/ContractComponent/NFT/NFTBase.d.ts +0 -1
- package/dist/esm/components/ContractComponent/NFT/NFTBase.d.ts.map +1 -1
- package/dist/esm/components/ContractComponent/NFT/types.d.ts +0 -1
- package/dist/esm/components/ContractComponent/NFT/types.d.ts.map +1 -1
- package/dist/esm/components/ExecutionStatusCard/ExecutionStatusCard.d.ts +21 -0
- package/dist/esm/components/ExecutionStatusCard/ExecutionStatusCard.d.ts.map +1 -0
- package/dist/esm/components/ExecutionStatusCard/StatusIcon.d.ts +16 -0
- package/dist/esm/components/ExecutionStatusCard/StatusIcon.d.ts.map +1 -0
- package/dist/esm/components/ExecutionStatusCard/iconKey.js +1 -0
- package/dist/esm/components/ExecutionStatusCard/iconKey.js.map +1 -1
- package/dist/esm/components/FeeBreakdownTooltip.d.ts +13 -0
- package/dist/esm/components/FeeBreakdownTooltip.d.ts.map +1 -0
- package/dist/esm/components/IconCircle/IconCircle.d.ts +11 -0
- package/dist/esm/components/IconCircle/IconCircle.d.ts.map +1 -0
- package/dist/esm/components/IconCircle/statusIcons.d.ts +6 -0
- package/dist/esm/components/IconCircle/statusIcons.d.ts.map +1 -0
- package/dist/esm/components/IconTypography.d.ts +7 -0
- package/dist/esm/components/IconTypography.d.ts.map +1 -0
- package/dist/esm/components/ListItem/ListItemButton.d.ts +7 -0
- package/dist/esm/components/ListItem/ListItemButton.d.ts.map +1 -0
- package/dist/esm/components/ListItemButton.d.ts +7 -0
- package/dist/esm/components/ListItemButton.d.ts.map +1 -0
- package/dist/esm/components/Messages/WarningMessages.d.ts +11 -0
- package/dist/esm/components/Messages/WarningMessages.d.ts.map +1 -0
- package/dist/esm/components/PageContainer.d.ts +12 -0
- package/dist/esm/components/PageContainer.d.ts.map +1 -0
- package/dist/esm/components/PoweredBy/PoweredBy.d.ts +5 -0
- package/dist/esm/components/PoweredBy/PoweredBy.d.ts.map +1 -0
- package/dist/esm/components/ProgressToNextUpdate.d.ts +10 -0
- package/dist/esm/components/ProgressToNextUpdate.d.ts.map +1 -0
- package/dist/esm/components/RouteCard/RouteCard.d.ts +7 -0
- package/dist/esm/components/RouteCard/RouteCard.d.ts.map +1 -0
- package/dist/esm/components/RouteCard/RouteCardSkeleton.d.ts +7 -0
- package/dist/esm/components/RouteCard/RouteCardSkeleton.d.ts.map +1 -0
- package/dist/esm/components/RouteCard/RouteDetails.d.ts +10 -0
- package/dist/esm/components/RouteCard/RouteDetails.d.ts.map +1 -0
- package/dist/esm/components/RouteCard/RouteDetails.style.d.ts +12 -0
- package/dist/esm/components/RouteCard/RouteDetails.style.d.ts.map +1 -0
- package/dist/esm/components/RouteCard/RouteNotFoundCard.d.ts +5 -0
- package/dist/esm/components/RouteCard/RouteNotFoundCard.d.ts.map +1 -0
- package/dist/esm/components/RouteCard/RouteTokens.d.ts +11 -0
- package/dist/esm/components/RouteCard/RouteTokens.d.ts.map +1 -0
- package/dist/esm/components/RouteCard/RouteTokens.js +2 -2
- package/dist/esm/components/RouteCard/RouteTokens.js.map +1 -1
- package/dist/esm/components/RouteCard/types.d.ts +14 -0
- package/dist/esm/components/RouteCard/types.d.ts.map +1 -0
- package/dist/esm/components/Search/SearchInput.d.ts +17 -0
- package/dist/esm/components/Search/SearchInput.d.ts.map +1 -0
- package/dist/esm/components/SendToWallet/SendToWalletButton.d.ts +10 -0
- package/dist/esm/components/SendToWallet/SendToWalletButton.d.ts.map +1 -0
- package/dist/esm/components/SendToWallet/SendToWalletButton.js +15 -6
- package/dist/esm/components/SendToWallet/SendToWalletButton.js.map +1 -1
- package/dist/esm/components/Skeleton/WidgetSkeleton.d.ts +1 -4
- package/dist/esm/components/Skeleton/WidgetSkeleton.d.ts.map +1 -1
- package/dist/esm/components/StepActions/SentToWalletRow.d.ts +9 -0
- package/dist/esm/components/StepActions/SentToWalletRow.d.ts.map +1 -0
- package/dist/esm/components/StepActions/StepActionRow.style.d.ts +7 -0
- package/dist/esm/components/StepActions/StepActionRow.style.d.ts.map +1 -0
- package/dist/esm/components/StepActions/StepActionsList.d.ts +12 -0
- package/dist/esm/components/StepActions/StepActionsList.d.ts.map +1 -0
- package/dist/esm/components/StepActions/executionRows.d.ts +26 -0
- package/dist/esm/components/StepActions/executionRows.d.ts.map +1 -0
- package/dist/esm/components/Token/Token.d.ts +17 -0
- package/dist/esm/components/Token/Token.d.ts.map +1 -0
- package/dist/esm/components/TokenList/TokenNotFound.d.ts +6 -0
- package/dist/esm/components/TokenList/TokenNotFound.d.ts.map +1 -0
- package/dist/esm/components/TokenList/VirtualizedTokenList.d.ts +7 -0
- package/dist/esm/components/TokenList/VirtualizedTokenList.d.ts.map +1 -0
- package/dist/esm/components/TokenList/types.d.ts +20 -0
- package/dist/esm/components/TokenList/types.d.ts.map +1 -0
- package/dist/esm/components/TokenList/useTokenSelect.d.ts +6 -0
- package/dist/esm/components/TokenList/useTokenSelect.d.ts.map +1 -0
- package/dist/esm/components/TokenRate/TokenRate.d.ts +10 -0
- package/dist/esm/components/TokenRate/TokenRate.d.ts.map +1 -0
- package/dist/esm/components/TransactionCard/ActiveTransactionCard.js +1 -0
- package/dist/esm/components/TransactionCard/ActiveTransactionCard.js.map +1 -1
- package/dist/esm/components/TransactionCard/ActiveTransactionCard.style.js +9 -0
- package/dist/esm/components/TransactionCard/ActiveTransactionCard.style.js.map +1 -1
- package/dist/esm/components/TransactionCard/TransactionCard.style.d.ts +8 -0
- package/dist/esm/components/TransactionCard/TransactionCard.style.d.ts.map +1 -0
- package/dist/esm/config/constants.d.ts.map +1 -1
- package/dist/esm/config/version.d.ts +1 -1
- package/dist/esm/config/version.d.ts.map +1 -1
- package/dist/esm/config/version.js +1 -1
- package/dist/esm/config/version.js.map +1 -1
- package/dist/esm/hooks/useAddressActivity.d.ts +11 -0
- package/dist/esm/hooks/useAddressActivity.d.ts.map +1 -0
- package/dist/esm/hooks/useAddressValidation.d.ts +28 -0
- package/dist/esm/hooks/useAddressValidation.d.ts.map +1 -0
- package/dist/esm/hooks/useAddressValidation.js +6 -1
- package/dist/esm/hooks/useAddressValidation.js.map +1 -1
- package/dist/esm/hooks/useAvailableChains.d.ts +12 -0
- package/dist/esm/hooks/useAvailableChains.d.ts.map +1 -0
- package/dist/esm/hooks/useChain.d.ts +10 -0
- package/dist/esm/hooks/useChain.d.ts.map +1 -0
- package/dist/esm/hooks/useContactSupport.d.ts +5 -0
- package/dist/esm/hooks/useContactSupport.d.ts.map +1 -0
- package/dist/esm/hooks/useDebouncedWatch.d.ts +6 -0
- package/dist/esm/hooks/useDebouncedWatch.d.ts.map +1 -0
- package/dist/esm/hooks/useDisplayedTokens.js +48 -0
- package/dist/esm/hooks/useDisplayedTokens.js.map +1 -0
- package/dist/esm/hooks/useExplorer.d.ts +14 -0
- package/dist/esm/hooks/useExplorer.d.ts.map +1 -0
- package/dist/esm/hooks/useHeader.d.ts +6 -0
- package/dist/esm/hooks/useHeader.d.ts.map +1 -0
- package/dist/esm/hooks/useListHeight.d.ts +12 -0
- package/dist/esm/hooks/useListHeight.d.ts.map +1 -0
- package/dist/esm/hooks/useListHeight.js +1 -0
- package/dist/esm/hooks/useListHeight.js.map +1 -1
- package/dist/esm/hooks/useNavigateBack.d.ts +5 -0
- package/dist/esm/hooks/useNavigateBack.d.ts.map +1 -0
- package/dist/esm/hooks/usePacedRouteExecution.js +1 -0
- package/dist/esm/hooks/usePacedRouteExecution.js.map +1 -1
- package/dist/esm/hooks/useRouteExecution.d.ts +18 -0
- package/dist/esm/hooks/useRouteExecution.d.ts.map +1 -0
- package/dist/esm/hooks/useRouteExecutionMessage.d.ts +10 -0
- package/dist/esm/hooks/useRouteExecutionMessage.d.ts.map +1 -0
- package/dist/esm/hooks/useRouteExecutionMessage.js +1 -0
- package/dist/esm/hooks/useRouteExecutionMessage.js.map +1 -1
- package/dist/esm/hooks/useRoutes.d.ts +32 -0
- package/dist/esm/hooks/useRoutes.d.ts.map +1 -0
- package/dist/esm/hooks/useRoutes.js +12 -8
- package/dist/esm/hooks/useRoutes.js.map +1 -1
- package/dist/esm/hooks/useToAddressRequirements.d.ts +16 -0
- package/dist/esm/hooks/useToAddressRequirements.d.ts.map +1 -0
- package/dist/esm/hooks/useToken.d.ts +9 -0
- package/dist/esm/hooks/useToken.d.ts.map +1 -0
- package/dist/esm/hooks/useTokenAddressBalance.d.ts +11 -0
- package/dist/esm/hooks/useTokenAddressBalance.d.ts.map +1 -0
- package/dist/esm/hooks/useTokenBalances.d.ts +14 -0
- package/dist/esm/hooks/useTokenBalances.d.ts.map +1 -0
- package/dist/esm/hooks/useTokenBalances.js +5 -45
- package/dist/esm/hooks/useTokenBalances.js.map +1 -1
- package/dist/esm/hooks/useTokenList.d.ts +16 -0
- package/dist/esm/hooks/useTokenList.d.ts.map +1 -0
- package/dist/esm/hooks/useTokenList.js +31 -0
- package/dist/esm/hooks/useTokenList.js.map +1 -0
- package/dist/esm/hooks/useTools.d.ts +8 -0
- package/dist/esm/hooks/useTools.d.ts.map +1 -0
- package/dist/esm/hooks/useTransactionDetails.js +1 -3
- package/dist/esm/hooks/useTransactionDetails.js.map +1 -1
- package/dist/esm/hooks/useTransactionList.js +1 -0
- package/dist/esm/hooks/useTransactionList.js.map +1 -1
- package/dist/esm/hooks/useWidgetChains.d.ts +0 -1
- package/dist/esm/hooks/useWidgetChains.d.ts.map +1 -1
- package/dist/esm/hooks/useWidgetEvents.d.ts +0 -1
- package/dist/esm/hooks/useWidgetEvents.d.ts.map +1 -1
- package/dist/esm/i18n/en.json +321 -0
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/pages/ActivitiesPage/ActivitiesPage.js +1 -0
- package/dist/esm/pages/ActivitiesPage/ActivitiesPage.js.map +1 -1
- package/dist/esm/pages/MainPage/MainWarningMessages.d.ts +10 -0
- package/dist/esm/pages/MainPage/MainWarningMessages.d.ts.map +1 -0
- package/dist/esm/pages/RoutesPage/RoutesPage.style.d.ts +7 -0
- package/dist/esm/pages/RoutesPage/RoutesPage.style.d.ts.map +1 -0
- package/dist/esm/pages/SelectChainPage/SelectChainPage.d.ts +6 -0
- package/dist/esm/pages/SelectChainPage/SelectChainPage.d.ts.map +1 -0
- package/dist/esm/pages/SelectChainPage/types.d.ts +8 -0
- package/dist/esm/pages/SelectChainPage/types.d.ts.map +1 -0
- package/dist/esm/pages/SelectTokenPage/SearchTokenInput.d.ts +10 -0
- package/dist/esm/pages/SelectTokenPage/SearchTokenInput.d.ts.map +1 -0
- package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.d.ts +9 -0
- package/dist/esm/pages/TransactionDetailsPage/ContactSupportButton.d.ts.map +1 -0
- package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.d.ts +14 -0
- package/dist/esm/pages/TransactionPage/ConfirmToAddressSheet.d.ts.map +1 -0
- package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.d.ts +19 -0
- package/dist/esm/pages/TransactionPage/ExchangeRateBottomSheet.d.ts.map +1 -0
- package/dist/esm/pages/TransactionPage/ExecutionDoneCard.d.ts +12 -0
- package/dist/esm/pages/TransactionPage/ExecutionDoneCard.d.ts.map +1 -0
- package/dist/esm/pages/TransactionPage/ExecutionDoneCard.js +1 -0
- package/dist/esm/pages/TransactionPage/ExecutionDoneCard.js.map +1 -1
- package/dist/esm/pages/TransactionPage/RouteTracker.d.ts +11 -0
- package/dist/esm/pages/TransactionPage/RouteTracker.d.ts.map +1 -0
- package/dist/esm/pages/TransactionPage/StartTransactionButton.d.ts +6 -0
- package/dist/esm/pages/TransactionPage/StartTransactionButton.d.ts.map +1 -0
- package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.d.ts +15 -0
- package/dist/esm/pages/TransactionPage/TokenValueBottomSheet.d.ts.map +1 -0
- package/dist/esm/pages/TransactionPage/TransactionContent.js +1 -0
- package/dist/esm/pages/TransactionPage/TransactionContent.js.map +1 -1
- package/dist/esm/pages/TransactionPage/TransactionDoneButtons.d.ts +12 -0
- package/dist/esm/pages/TransactionPage/TransactionDoneButtons.d.ts.map +1 -0
- package/dist/esm/pages/TransactionPage/TransactionDoneButtons.js +1 -0
- package/dist/esm/pages/TransactionPage/TransactionDoneButtons.js.map +1 -1
- package/dist/esm/pages/TransactionPage/TransactionExecutionContent.js +1 -0
- package/dist/esm/pages/TransactionPage/TransactionExecutionContent.js.map +1 -1
- package/dist/esm/pages/TransactionPage/TransactionPage.js +1 -0
- package/dist/esm/pages/TransactionPage/TransactionPage.js.map +1 -1
- package/dist/esm/pages/TransactionPage/types.d.ts +9 -0
- package/dist/esm/pages/TransactionPage/types.d.ts.map +1 -0
- package/dist/esm/pages/TransactionPage/utils.d.ts +6 -0
- package/dist/esm/pages/TransactionPage/utils.d.ts.map +1 -0
- package/dist/esm/providers/I18nProvider/I18nProvider.d.ts +5 -0
- package/dist/esm/providers/I18nProvider/I18nProvider.d.ts.map +1 -0
- package/dist/esm/providers/I18nProvider/types.d.ts +2 -3
- package/dist/esm/providers/I18nProvider/types.d.ts.map +1 -1
- package/dist/esm/providers/QueryClientProvider.d.ts +6 -0
- package/dist/esm/providers/QueryClientProvider.d.ts.map +1 -0
- package/dist/esm/providers/SDKClientProvider.d.ts +8 -0
- package/dist/esm/providers/SDKClientProvider.d.ts.map +1 -0
- package/dist/esm/providers/WalletProvider/WalletProvider.d.ts +10 -0
- package/dist/esm/providers/WalletProvider/WalletProvider.d.ts.map +1 -0
- package/dist/esm/providers/WalletProvider/WalletProvider.js +8 -3
- package/dist/esm/providers/WalletProvider/WalletProvider.js.map +1 -1
- package/dist/esm/providers/WidgetProvider/WidgetProvider.d.ts +8 -0
- package/dist/esm/providers/WidgetProvider/WidgetProvider.d.ts.map +1 -0
- package/dist/esm/providers/WidgetProvider/types.d.ts +11 -0
- package/dist/esm/providers/WidgetProvider/types.d.ts.map +1 -0
- package/dist/esm/shared.d.ts +107 -0
- package/dist/esm/shared.js +105 -0
- package/dist/esm/stores/StoreProvider.d.ts +7 -0
- package/dist/esm/stores/StoreProvider.d.ts.map +1 -0
- package/dist/esm/stores/bookmarks/BookmarkStore.d.ts +7 -0
- package/dist/esm/stores/bookmarks/BookmarkStore.d.ts.map +1 -0
- package/dist/esm/stores/bookmarks/types.d.ts +0 -1
- package/dist/esm/stores/bookmarks/types.d.ts.map +1 -1
- package/dist/esm/stores/chains/ChainOrderStore.d.ts +8 -0
- package/dist/esm/stores/chains/ChainOrderStore.d.ts.map +1 -0
- package/dist/esm/stores/chains/types.d.ts +27 -0
- package/dist/esm/stores/chains/types.d.ts.map +1 -0
- package/dist/esm/stores/form/createFormStore.js +1 -0
- package/dist/esm/stores/form/createFormStore.js.map +1 -1
- package/dist/esm/stores/form/types.d.ts +7 -7
- package/dist/esm/stores/form/types.d.ts.map +1 -1
- package/dist/esm/stores/form/types.js.map +1 -1
- package/dist/esm/stores/form/useFieldActions.d.ts +0 -1
- package/dist/esm/stores/form/useFieldActions.d.ts.map +1 -1
- package/dist/esm/stores/form/useFieldValues.d.ts +0 -1
- package/dist/esm/stores/form/useFieldValues.d.ts.map +1 -1
- package/dist/esm/stores/header/types.d.ts +20 -0
- package/dist/esm/stores/header/types.d.ts.map +1 -0
- package/dist/esm/stores/header/useHeaderStore.d.ts +8 -0
- package/dist/esm/stores/header/useHeaderStore.d.ts.map +1 -0
- package/dist/esm/stores/inputMode/useInputModeStore.d.ts +13 -0
- package/dist/esm/stores/inputMode/useInputModeStore.d.ts.map +1 -0
- package/dist/esm/stores/routes/RouteExecutionStore.d.ts +9 -0
- package/dist/esm/stores/routes/RouteExecutionStore.d.ts.map +1 -0
- package/dist/esm/stores/routes/createRouteExecutionStore.js +1 -0
- package/dist/esm/stores/routes/createRouteExecutionStore.js.map +1 -1
- package/dist/esm/stores/routes/types.d.ts +24 -0
- package/dist/esm/stores/routes/types.d.ts.map +1 -0
- package/dist/esm/stores/routes/types.js +14 -0
- package/dist/esm/stores/routes/types.js.map +1 -0
- package/dist/esm/stores/routes/useRouteExecutionIndicator.js +1 -0
- package/dist/esm/stores/routes/useRouteExecutionIndicator.js.map +1 -1
- package/dist/esm/stores/routes/utils.d.ts +9 -0
- package/dist/esm/stores/routes/utils.d.ts.map +1 -0
- package/dist/esm/stores/settings/SettingsStore.d.ts +8 -0
- package/dist/esm/stores/settings/SettingsStore.d.ts.map +1 -0
- package/dist/esm/stores/settings/types.d.ts +5 -2
- package/dist/esm/stores/settings/types.d.ts.map +1 -1
- package/dist/esm/stores/types.d.ts +9 -0
- package/dist/esm/stores/types.d.ts.map +1 -0
- package/dist/esm/themes/azureLight.d.ts +0 -1
- package/dist/esm/themes/azureLight.d.ts.map +1 -1
- package/dist/esm/themes/createTheme.d.ts +0 -1
- package/dist/esm/themes/createTheme.d.ts.map +1 -1
- package/dist/esm/themes/jumper.d.ts +0 -1
- package/dist/esm/themes/jumper.d.ts.map +1 -1
- package/dist/esm/themes/palettes.d.ts.map +1 -1
- package/dist/esm/themes/types.d.ts +0 -1
- package/dist/esm/themes/types.d.ts.map +1 -1
- package/dist/esm/themes/watermelonLight.d.ts +0 -1
- package/dist/esm/themes/watermelonLight.d.ts.map +1 -1
- package/dist/esm/themes/windows95.d.ts +0 -1
- package/dist/esm/themes/windows95.d.ts.map +1 -1
- package/dist/esm/types/events.d.ts +4 -3
- package/dist/esm/types/events.d.ts.map +1 -1
- package/dist/esm/types/token.d.ts +1 -2
- package/dist/esm/types/token.d.ts.map +1 -1
- package/dist/esm/types/widget.d.ts +72 -73
- package/dist/esm/types/widget.d.ts.map +1 -1
- package/dist/esm/utils/compactNumberFormatter.d.ts +8 -8
- package/dist/esm/utils/compactNumberFormatter.d.ts.map +1 -1
- package/dist/esm/utils/converters.d.ts +7 -0
- package/dist/esm/utils/converters.d.ts.map +1 -0
- package/dist/esm/utils/currencyExtendedFormatter.d.ts.map +1 -1
- package/dist/esm/utils/elements.d.ts +11 -0
- package/dist/esm/utils/elements.d.ts.map +1 -0
- package/dist/esm/utils/elements.js +8 -1
- package/dist/esm/utils/elements.js.map +1 -1
- package/dist/esm/utils/enum.d.ts +5 -0
- package/dist/esm/utils/enum.d.ts.map +1 -0
- package/dist/esm/utils/fees.d.ts +17 -0
- package/dist/esm/utils/fees.d.ts.map +1 -0
- package/dist/esm/utils/format.d.ts +14 -14
- package/dist/esm/utils/format.d.ts.map +1 -1
- package/dist/esm/utils/getPriceImpact.d.ts +1 -7
- package/dist/esm/utils/getPriceImpact.d.ts.map +1 -1
- package/dist/esm/utils/input.d.ts +5 -0
- package/dist/esm/utils/input.d.ts.map +1 -0
- package/dist/esm/utils/navigationRoutes.d.ts.map +1 -1
- package/dist/esm/utils/percentFormatter.d.ts +5 -5
- package/dist/esm/utils/percentFormatter.d.ts.map +1 -1
- package/dist/esm/utils/tokenList.js +3 -3
- package/dist/esm/utils/tokenList.js.map +1 -1
- package/dist/esm/utils/wallet.d.ts +5 -0
- package/dist/esm/utils/wallet.d.ts.map +1 -0
- package/package.json +28 -20
- package/src/components/RouteCard/RouteTokens.tsx +3 -2
- package/src/components/SendToWallet/SendToWalletButton.tsx +27 -5
- package/src/components/TransactionCard/ActiveTransactionCard.style.tsx +11 -0
- package/src/config/version.ts +1 -1
- package/src/hooks/useDisplayedTokens.ts +70 -0
- package/src/hooks/useListHeight.ts +4 -0
- package/src/hooks/useRoutes.ts +360 -325
- package/src/hooks/useTokenBalances.ts +8 -53
- package/src/hooks/useTokenList.ts +59 -0
- package/src/hooks/useTransactionDetails.ts +1 -3
- package/src/providers/WalletProvider/WalletProvider.tsx +15 -3
- package/src/shared.ts +191 -0
- package/src/stores/form/createFormStore.ts +1 -0
- package/src/stores/form/types.ts +1 -0
- package/src/utils/tokenList.ts +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.d.ts","names":[],"sources":["../../../src/types/token.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"token.d.ts","names":[],"sources":["../../../src/types/token.ts"],"mappings":";;UAMU;EACR;EACA;EACA;EACA;;UAGe,sBAAoB,aAAgB"}
|
|
@@ -6,7 +6,6 @@ import { Components, PaletteMode, PaletteOptions, Shape, SxProps, Theme } from "
|
|
|
6
6
|
import { WidgetProviderProps } from "@lifi/widget-provider";
|
|
7
7
|
import { WalletMenuOpenArgs } from "@lifi/wallet-management";
|
|
8
8
|
import { TypographyVariantsOptions } from "@mui/material/styles";
|
|
9
|
-
|
|
10
9
|
//#region src/types/widget.d.ts
|
|
11
10
|
type WidgetVariant = "compact" | "wide" | "drawer";
|
|
12
11
|
/** @internal Not part of the public API. */
|
|
@@ -19,19 +18,19 @@ type SplitModeOptions = {
|
|
|
19
18
|
type CustomMode = "checkout" | "deposit";
|
|
20
19
|
interface ModeOptions {
|
|
21
20
|
/**
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
* Configure split mode behavior:
|
|
22
|
+
* - 'bridge' | 'swap': Single mode without tabs
|
|
23
|
+
* - { defaultTab: 'bridge' | 'swap' }: Tabs mode with configurable default tab
|
|
24
|
+
*/
|
|
26
25
|
split?: SplitMode | SplitModeOptions;
|
|
27
26
|
custom?: {
|
|
28
27
|
type: CustomMode;
|
|
29
28
|
};
|
|
30
29
|
}
|
|
31
30
|
/**
|
|
32
|
-
* Identity of a header navigation tab. Each key maps to a widget variant, mode and
|
|
33
|
-
* (optionally) mode options; labels are resolved from the key.
|
|
34
|
-
*/
|
|
31
|
+
* Identity of a header navigation tab. Each key maps to a widget variant, mode and
|
|
32
|
+
* (optionally) mode options; labels are resolved from the key.
|
|
33
|
+
*/
|
|
35
34
|
type SplitNavigationTabKey = SplitMode;
|
|
36
35
|
/** @internal Not part of the public API. */
|
|
37
36
|
type InternalNavigationTabKey = "default" | "private" | "refuel" | "swap-advanced" | "bridge-advanced" | "limit";
|
|
@@ -39,9 +38,9 @@ type NavigationTabKey = InternalNavigationTabKey | SplitNavigationTabKey;
|
|
|
39
38
|
type Appearance = PaletteMode | "system";
|
|
40
39
|
interface NavigationProps {
|
|
41
40
|
/**
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
41
|
+
* If given, uses a negative margin to counteract the padding on sides for navigation elements like icon buttons.
|
|
42
|
+
* @default true
|
|
43
|
+
*/
|
|
45
44
|
edge?: boolean;
|
|
46
45
|
}
|
|
47
46
|
type WidgetThemeComponents = Partial<Pick<Components<Theme>, "MuiAppBar" | "MuiAvatar" | "MuiButton" | "MuiCard" | "MuiDrawer" | "MuiIconButton" | "MuiInputCard" | "MuiNavigationTabs" | "MuiNavigationTab" | "MuiTabs" | "MuiCheckbox">>;
|
|
@@ -76,15 +75,15 @@ interface HiddenUIConfig {
|
|
|
76
75
|
bridgesSettings?: boolean;
|
|
77
76
|
chainSelect?: boolean;
|
|
78
77
|
/**
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
78
|
+
* Hide the chain sidebar in the `wide` variant. No effect in other variants.
|
|
79
|
+
* @default false
|
|
80
|
+
*/
|
|
82
81
|
chainSidebar?: boolean;
|
|
83
82
|
contactSupport?: boolean;
|
|
84
83
|
/**
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
84
|
+
* Hide the drawer close button. Only meaningful when `variant === 'drawer'`.
|
|
85
|
+
* @default false
|
|
86
|
+
*/
|
|
88
87
|
drawerCloseButton?: boolean;
|
|
89
88
|
fromToken?: boolean;
|
|
90
89
|
gasRefuelMessage?: boolean;
|
|
@@ -94,10 +93,10 @@ interface HiddenUIConfig {
|
|
|
94
93
|
integratorStepDetails?: boolean;
|
|
95
94
|
language?: boolean;
|
|
96
95
|
/**
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
96
|
+
* Hide the warning shown when sending to an address with low historical
|
|
97
|
+
* on-chain activity (low transaction count or contract-like behavior).
|
|
98
|
+
* @default false
|
|
99
|
+
*/
|
|
101
100
|
lowAddressActivityConfirmation?: boolean;
|
|
102
101
|
poweredBy?: boolean;
|
|
103
102
|
reverseTokensButton?: boolean;
|
|
@@ -116,31 +115,31 @@ type DefaultUI = {
|
|
|
116
115
|
transactionDetailsExpanded?: boolean;
|
|
117
116
|
navigationHeaderTitleNoWrap?: boolean;
|
|
118
117
|
/**
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
118
|
+
* Layout for the main form.
|
|
119
|
+
* - `'default'`: the chain/token selectors plus single amount input.
|
|
120
|
+
* - `'cards'`: the redesigned card-based layout — stacked Send/Receive amount
|
|
121
|
+
* cards (`AmountInputCardPair`) with inline token pill selectors and a swap
|
|
122
|
+
* button.
|
|
123
|
+
* @default 'default'
|
|
124
|
+
*/
|
|
126
125
|
layout?: "default" | "cards";
|
|
127
126
|
};
|
|
128
127
|
interface WidgetWalletConfig {
|
|
129
128
|
walletEcosystemsOrder?: Record<string, ChainType[]>;
|
|
130
129
|
onConnect?(args?: WalletMenuOpenArgs): void;
|
|
131
130
|
/**
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
131
|
+
* Determines whether the widget should provide partial wallet management functionality.
|
|
132
|
+
*
|
|
133
|
+
* In partial mode, external wallet management will be used for "opt-out" providers,
|
|
134
|
+
* while the internal management is applied for any remaining providers that do not opt out.
|
|
135
|
+
* This allows a flexible balance between the integrator's custom wallet menu and the widget's native wallet menu.
|
|
136
|
+
* @default false
|
|
137
|
+
*/
|
|
139
138
|
usePartialWalletManagement?: boolean;
|
|
140
139
|
/**
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
140
|
+
* This option forces the widget to always use internal wallet management ignoring external wallet management contexts
|
|
141
|
+
* @default false
|
|
142
|
+
*/
|
|
144
143
|
forceInternalWalletManagement?: boolean;
|
|
145
144
|
}
|
|
146
145
|
interface WidgetSDKConfig extends Omit<SDKConfig, "apiKey" | "disableVersionCheck" | "integrator" | "providers" | "routeOptions" | "widgetVersion"> {
|
|
@@ -167,27 +166,27 @@ interface WidgetFeeConfig {
|
|
|
167
166
|
logoURI?: string;
|
|
168
167
|
fee?: number;
|
|
169
168
|
/**
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
169
|
+
* Whether to show the fee percentage in the fee details.
|
|
170
|
+
* @default false
|
|
171
|
+
*/
|
|
173
172
|
showFeePercentage?: boolean;
|
|
174
173
|
/**
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
174
|
+
* Whether to show a tooltip with the fee details. Requires `name` or `feeTooltipComponent` to be set.
|
|
175
|
+
* @default false
|
|
176
|
+
*/
|
|
178
177
|
showFeeTooltip?: boolean;
|
|
179
178
|
/**
|
|
180
|
-
|
|
181
|
-
|
|
179
|
+
* Custom tooltip component to show with the fee details.
|
|
180
|
+
*/
|
|
182
181
|
feeTooltipComponent?: ReactNode;
|
|
183
182
|
/**
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
183
|
+
* Function to calculate fees before fetching quotes.
|
|
184
|
+
* If provided, this function will be used instead of the `fee` parameter.
|
|
185
|
+
* Only one of `fee` or `calculateFee` should be used.
|
|
186
|
+
*
|
|
187
|
+
* @param params Object containing the fee calculation parameters
|
|
188
|
+
* @returns A promise that resolves to the calculated fee as a number (e.g., 0.03 represents a 3% fee)
|
|
189
|
+
*/
|
|
191
190
|
calculateFee?(params: CalculateFeeParams): Promise<number | undefined>;
|
|
192
191
|
}
|
|
193
192
|
interface ToAddress {
|
|
@@ -239,12 +238,12 @@ interface RouteLabelRule {
|
|
|
239
238
|
fromTokenAddress?: string[];
|
|
240
239
|
toTokenAddress?: string[];
|
|
241
240
|
/**
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
241
|
+
* Custom match function evaluated against the route. When provided, its
|
|
242
|
+
* result is AND'd with the other matching criteria — all specified
|
|
243
|
+
* conditions must pass for the label to apply. Use this for matching logic
|
|
244
|
+
* that the built-in fields cannot express (gas costs, step count, route
|
|
245
|
+
* tags, etc.).
|
|
246
|
+
*/
|
|
248
247
|
match?: (route: Route) => boolean;
|
|
249
248
|
}
|
|
250
249
|
type ExplorerUrl = string | {
|
|
@@ -280,11 +279,11 @@ interface WidgetConfig {
|
|
|
280
279
|
mode?: WidgetMode;
|
|
281
280
|
modeOptions?: ModeOptions;
|
|
282
281
|
/**
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
282
|
+
* Header navigation tabs, in order. When set, the widget renders a tab bar
|
|
283
|
+
* and the active tab drives the displayed flow. Each entry is a tab key.
|
|
284
|
+
*
|
|
285
|
+
* @internal Not part of the public API.
|
|
286
|
+
*/
|
|
288
287
|
_navigationTabs?: NavigationTabKey[];
|
|
289
288
|
appearance?: Appearance;
|
|
290
289
|
theme?: WidgetTheme;
|
|
@@ -293,11 +292,11 @@ interface WidgetConfig {
|
|
|
293
292
|
requiredUI?: RequiredUIConfig;
|
|
294
293
|
defaultUI?: DefaultUI;
|
|
295
294
|
/**
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
295
|
+
* When true, shows only the recommended route and hides the route
|
|
296
|
+
* selector UI. Distinct from `routePriority`, which sets the SDK
|
|
297
|
+
* ranking order across multiple displayed routes.
|
|
298
|
+
* @default false
|
|
299
|
+
*/
|
|
301
300
|
showSingleRoute?: boolean;
|
|
302
301
|
useRelayerRoutes?: boolean;
|
|
303
302
|
walletConfig?: WidgetWalletConfig;
|
|
@@ -313,8 +312,8 @@ interface WidgetConfig {
|
|
|
313
312
|
explorerUrls?: Record<number, ExplorerUrl[]> & Partial<Record<"internal", ExplorerUrl[]>>;
|
|
314
313
|
poweredBy?: PoweredByType;
|
|
315
314
|
/**
|
|
316
|
-
|
|
317
|
-
|
|
315
|
+
* Custom labels/badges to show on routes based on specified rules
|
|
316
|
+
*/
|
|
318
317
|
routeLabels?: RouteLabelRule[];
|
|
319
318
|
}
|
|
320
319
|
interface FormFieldOptions {
|
|
@@ -345,8 +344,8 @@ interface WidgetDrawerProps extends WidgetConfigPartialProps {
|
|
|
345
344
|
elementRef?: RefObject<HTMLDivElement>;
|
|
346
345
|
open?: boolean;
|
|
347
346
|
/**
|
|
348
|
-
|
|
349
|
-
|
|
347
|
+
* Make sure to make the onClose callback stable (e.g. using useCallback) to avoid causing re-renders of the entire widget
|
|
348
|
+
*/
|
|
350
349
|
onClose?(): void;
|
|
351
350
|
}
|
|
352
351
|
declare enum ExpansionType {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widget.d.ts","names":[],"sources":["../../../src/types/widget.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"widget.d.ts","names":[],"sources":["../../../src/types/widget.ts"],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
//#region src/utils/compactNumberFormatter.d.ts
|
|
2
2
|
/**
|
|
3
|
-
* Formats numbers with special handling for small decimal values, converting runs of leading zeros
|
|
4
|
-
* into a more compact subscript notation.
|
|
5
|
-
*
|
|
6
|
-
* @param value - The numeric value to format (expected to be a string representing a BigInt)
|
|
7
|
-
* @param lng - The locale string for number formatting
|
|
8
|
-
* @param options - Formatting options including decimals and Intl.NumberFormat options
|
|
9
|
-
* @returns A formatted string with subscript notation for leading zeros
|
|
10
|
-
*/
|
|
3
|
+
* Formats numbers with special handling for small decimal values, converting runs of leading zeros
|
|
4
|
+
* into a more compact subscript notation.
|
|
5
|
+
*
|
|
6
|
+
* @param value - The numeric value to format (expected to be a string representing a BigInt)
|
|
7
|
+
* @param lng - The locale string for number formatting
|
|
8
|
+
* @param options - Formatting options including decimals and Intl.NumberFormat options
|
|
9
|
+
* @returns A formatted string with subscript notation for leading zeros
|
|
10
|
+
*/
|
|
11
11
|
declare const compactNumberFormatter: (lng: string | undefined, options: any) => ((value: any) => string);
|
|
12
12
|
//#endregion
|
|
13
13
|
export { compactNumberFormatter };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compactNumberFormatter.d.ts","names":[],"sources":["../../../src/utils/compactNumberFormatter.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"compactNumberFormatter.d.ts","names":[],"sources":["../../../src/utils/compactNumberFormatter.ts"],"mappings":";;;;;;;;;;cAyBa,yBACX,yBACA,mBACG"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { RouteExecution } from "../stores/routes/types.js";
|
|
2
|
+
import { FullStatusData, ToolsResponse } from "@lifi/sdk";
|
|
3
|
+
//#region src/utils/converters.d.ts
|
|
4
|
+
declare const buildRouteFromTxHistory: (tx: FullStatusData, tools?: ToolsResponse) => RouteExecution | undefined;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { buildRouteFromTxHistory };
|
|
7
|
+
//# sourceMappingURL=converters.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"converters.d.ts","names":[],"sources":["../../../src/utils/converters.ts"],"mappings":";;;cAiEa,0BACX,IAAI,gBACJ,QAAQ,kBACP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currencyExtendedFormatter.d.ts","names":[],"sources":["../../../src/utils/currencyExtendedFormatter.ts"],"mappings":";cAAa,
|
|
1
|
+
{"version":3,"file":"currencyExtendedFormatter.d.ts","names":[],"sources":["../../../src/utils/currencyExtendedFormatter.ts"],"mappings":";cAAa,4BACX,yBACA,mBACG"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
//#region src/utils/elements.d.ts
|
|
2
|
+
declare enum ElementId {
|
|
3
|
+
AppExpandedContainer = "widget-app-expanded-container",
|
|
4
|
+
Header = "widget-header",
|
|
5
|
+
RelativeContainer = "widget-relative-container",
|
|
6
|
+
ScrollableContainer = "widget-scrollable-container"
|
|
7
|
+
}
|
|
8
|
+
declare const createElementId: (ElementId: ElementId, elementId: string) => string;
|
|
9
|
+
//#endregion
|
|
10
|
+
export { ElementId, createElementId };
|
|
11
|
+
//# sourceMappingURL=elements.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"elements.d.ts","names":[],"sources":["../../../src/utils/elements.ts"],"mappings":";aAAY;EACV;EACA;EACA;EACA;;cAGW,kBACX,WAAW,WACX"}
|
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
//#region src/utils/elements.ts
|
|
2
|
+
let ElementId = /* @__PURE__ */ function(ElementId) {
|
|
3
|
+
ElementId["AppExpandedContainer"] = "widget-app-expanded-container";
|
|
4
|
+
ElementId["Header"] = "widget-header";
|
|
5
|
+
ElementId["RelativeContainer"] = "widget-relative-container";
|
|
6
|
+
ElementId["ScrollableContainer"] = "widget-scrollable-container";
|
|
7
|
+
return ElementId;
|
|
8
|
+
}({});
|
|
2
9
|
const createElementId = (ElementId, elementId) => elementId ? `${ElementId}-${elementId}` : ElementId;
|
|
3
10
|
const getAppContainer = (elementId) => document.getElementById(createElementId("widget-app-expanded-container", elementId));
|
|
4
11
|
const getRelativeContainer = (elementId) => document.getElementById(createElementId("widget-relative-container", elementId));
|
|
5
12
|
const getScrollableContainer = (elementId) => document.getElementById(createElementId("widget-scrollable-container", elementId));
|
|
6
13
|
const getHeaderElement = (elementId) => document.getElementById(createElementId("widget-header", elementId));
|
|
7
14
|
//#endregion
|
|
8
|
-
export { createElementId, getAppContainer, getHeaderElement, getRelativeContainer, getScrollableContainer };
|
|
15
|
+
export { ElementId, createElementId, getAppContainer, getHeaderElement, getRelativeContainer, getScrollableContainer };
|
|
9
16
|
|
|
10
17
|
//# sourceMappingURL=elements.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"elements.js","names":[],"sources":["../../../src/utils/elements.ts"],"sourcesContent":["export enum ElementId {\n AppExpandedContainer = 'widget-app-expanded-container',\n Header = 'widget-header',\n RelativeContainer = 'widget-relative-container',\n ScrollableContainer = 'widget-scrollable-container',\n}\n\nexport const createElementId = (\n ElementId: ElementId,\n elementId: string\n): string => (elementId ? `${ElementId}-${elementId}` : ElementId)\n\n// NOTE: The getter functions here are often used with code that can be effected by css changes in the\n// AppExpandedContainer, RelativeContainer and CssBaselineContainer components as defined in AppContainer.ts\n\nexport const getAppContainer = (elementId: string): HTMLElement | null =>\n document.getElementById(\n createElementId(ElementId.AppExpandedContainer, elementId)\n )\n\nexport const getRelativeContainer = (elementId: string): HTMLElement | null =>\n document.getElementById(\n createElementId(ElementId.RelativeContainer, elementId)\n )\n\nexport const getScrollableContainer = (elementId: string): HTMLElement | null =>\n document.getElementById(\n createElementId(ElementId.ScrollableContainer, elementId)\n )\n\nexport const getHeaderElement = (elementId: string): HTMLElement | null =>\n document.getElementById(createElementId(ElementId.Header, elementId))\n"],"mappings":";
|
|
1
|
+
{"version":3,"file":"elements.js","names":[],"sources":["../../../src/utils/elements.ts"],"sourcesContent":["export enum ElementId {\n AppExpandedContainer = 'widget-app-expanded-container',\n Header = 'widget-header',\n RelativeContainer = 'widget-relative-container',\n ScrollableContainer = 'widget-scrollable-container',\n}\n\nexport const createElementId = (\n ElementId: ElementId,\n elementId: string\n): string => (elementId ? `${ElementId}-${elementId}` : ElementId)\n\n// NOTE: The getter functions here are often used with code that can be effected by css changes in the\n// AppExpandedContainer, RelativeContainer and CssBaselineContainer components as defined in AppContainer.ts\n\nexport const getAppContainer = (elementId: string): HTMLElement | null =>\n document.getElementById(\n createElementId(ElementId.AppExpandedContainer, elementId)\n )\n\nexport const getRelativeContainer = (elementId: string): HTMLElement | null =>\n document.getElementById(\n createElementId(ElementId.RelativeContainer, elementId)\n )\n\nexport const getScrollableContainer = (elementId: string): HTMLElement | null =>\n document.getElementById(\n createElementId(ElementId.ScrollableContainer, elementId)\n )\n\nexport const getHeaderElement = (elementId: string): HTMLElement | null =>\n document.getElementById(createElementId(ElementId.Header, elementId))\n"],"mappings":";AAAA,IAAY,YAAL,yBAAA,WAAA;CACL,UAAA,0BAAA;CACA,UAAA,YAAA;CACA,UAAA,uBAAA;CACA,UAAA,yBAAA;;AACF,EAAA,CAAA,CAAA;AAEA,MAAa,mBACX,WACA,cACY,YAAY,GAAG,UAAU,GAAG,cAAc;AAKxD,MAAa,mBAAmB,cAC9B,SAAS,eACP,gBAAA,iCAAgD,SAAS,CAC3D;AAEF,MAAa,wBAAwB,cACnC,SAAS,eACP,gBAAA,6BAA6C,SAAS,CACxD;AAEF,MAAa,0BAA0B,cACrC,SAAS,eACP,gBAAA,+BAA+C,SAAS,CAC1D;AAEF,MAAa,oBAAoB,cAC/B,SAAS,eAAe,gBAAA,iBAAkC,SAAS,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enum.d.ts","names":[],"sources":["../../../src/utils/enum.ts"],"mappings":";cAAa,cAAe,2BAC1B,OAAO,GACP,MAAM"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { RouteExtended, Token } from "@lifi/sdk";
|
|
2
|
+
//#region src/utils/fees.d.ts
|
|
3
|
+
interface FeesBreakdown {
|
|
4
|
+
amount: bigint;
|
|
5
|
+
amountUSD: number;
|
|
6
|
+
token: Token;
|
|
7
|
+
}
|
|
8
|
+
declare const getAccumulatedFeeCostsBreakdown: (route: RouteExtended, included?: boolean) => {
|
|
9
|
+
gasCosts: FeesBreakdown[];
|
|
10
|
+
feeCosts: FeesBreakdown[];
|
|
11
|
+
gasCostUSD: number;
|
|
12
|
+
feeCostUSD: number;
|
|
13
|
+
combinedFeesUSD: number;
|
|
14
|
+
};
|
|
15
|
+
//#endregion
|
|
16
|
+
export { FeesBreakdown, getAccumulatedFeeCostsBreakdown };
|
|
17
|
+
//# sourceMappingURL=fees.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fees.d.ts","names":[],"sources":["../../../src/utils/fees.ts"],"mappings":";;UAGiB;EACf;EACA;EACA,OAAO;;cAGI,kCACX,OAAO,eACP;EAEA,UAAU;EACV,UAAU;EACV;EACA;EACA"}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
//#region src/utils/format.d.ts
|
|
2
2
|
declare const usdDecimals = 2;
|
|
3
3
|
/**
|
|
4
|
-
* Format token amount to at least 6 decimals.
|
|
5
|
-
* @param amount amount to format.
|
|
6
|
-
* @returns formatted amount.
|
|
7
|
-
*/
|
|
4
|
+
* Format token amount to at least 6 decimals.
|
|
5
|
+
* @param amount amount to format.
|
|
6
|
+
* @returns formatted amount.
|
|
7
|
+
*/
|
|
8
8
|
declare function formatTokenAmount(amount: bigint | undefined, decimals: number): string;
|
|
9
9
|
declare function formatSlippage(slippage?: string, defaultValue?: string, returnInitial?: boolean): string;
|
|
10
10
|
/**
|
|
11
|
-
* Formats a user input amount string, normalizing it and optionally limiting decimal places.
|
|
12
|
-
* @param amount - The amount string to format (e.g., '123.45', '1,23', '0..')
|
|
13
|
-
* @param decimals - Maximum number of decimal places to allow. If null, no limit is applied.
|
|
14
|
-
* @param returnInitial - If true, preserves the input format during typing (e.g., keeps trailing dots,
|
|
15
|
-
* preserves leading zeros, keeps negative signs). If false (default), cleans up the
|
|
16
|
-
* format on blur (removes leading/trailing zeros, removes negative signs).
|
|
17
|
-
* @returns The formatted amount string, or empty string for invalid input.
|
|
18
|
-
*/
|
|
11
|
+
* Formats a user input amount string, normalizing it and optionally limiting decimal places.
|
|
12
|
+
* @param amount - The amount string to format (e.g., '123.45', '1,23', '0..')
|
|
13
|
+
* @param decimals - Maximum number of decimal places to allow. If null, no limit is applied.
|
|
14
|
+
* @param returnInitial - If true, preserves the input format during typing (e.g., keeps trailing dots,
|
|
15
|
+
* preserves leading zeros, keeps negative signs). If false (default), cleans up the
|
|
16
|
+
* format on blur (removes leading/trailing zeros, removes negative signs).
|
|
17
|
+
* @returns The formatted amount string, or empty string for invalid input.
|
|
18
|
+
*/
|
|
19
19
|
declare function formatInputAmount(amount: string, decimals?: number | null, returnInitial?: boolean): string;
|
|
20
20
|
declare function formatTokenPrice(amount?: string | bigint, price?: string, decimals?: number): number;
|
|
21
21
|
/**
|
|
22
|
-
* Convert price value to token amount
|
|
23
|
-
*/
|
|
22
|
+
* Convert price value to token amount
|
|
23
|
+
*/
|
|
24
24
|
declare function priceToTokenAmount(priceValue: string, priceUSD?: string): string;
|
|
25
25
|
declare function formatDuration(seconds: number, locale: string, unitDisplay?: Intl.NumberFormatOptions["unitDisplay"]): string;
|
|
26
26
|
declare function wrapLongWords(text: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format.d.ts","names":[],"sources":["../../../src/utils/format.ts"],"mappings":";cAEa,
|
|
1
|
+
{"version":3,"file":"format.d.ts","names":[],"sources":["../../../src/utils/format.ts"],"mappings":";cAEa;;;;;;iBAOG,kBACd,4BACA;iBAWc,eACd,mBACA,uBACA;;;;;;;;;;iBAiCc,kBACd,gBACA,0BACA;iBAqDc,iBACd,0BACA,gBACA;;;;iBA+Bc,mBACd,oBACA;iBA2Bc,eACd,iBACA,gBACA,cAAa,KAAK;iBAaJ,cAAc"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Token } from "@lifi/sdk";
|
|
2
|
-
|
|
3
2
|
//#region src/utils/getPriceImpact.d.ts
|
|
4
3
|
interface GetPriceImpactProps {
|
|
5
4
|
fromToken: Token;
|
|
@@ -7,12 +6,7 @@ interface GetPriceImpactProps {
|
|
|
7
6
|
fromAmount?: bigint;
|
|
8
7
|
toAmount?: bigint;
|
|
9
8
|
}
|
|
10
|
-
declare const getPriceImpact: ({
|
|
11
|
-
fromToken,
|
|
12
|
-
toToken,
|
|
13
|
-
fromAmount,
|
|
14
|
-
toAmount
|
|
15
|
-
}: GetPriceImpactProps) => number;
|
|
9
|
+
declare const getPriceImpact: ({ fromToken, toToken, fromAmount, toAmount }: GetPriceImpactProps) => number;
|
|
16
10
|
//#endregion
|
|
17
11
|
export { getPriceImpact };
|
|
18
12
|
//# sourceMappingURL=getPriceImpact.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPriceImpact.d.ts","names":[],"sources":["../../../src/utils/getPriceImpact.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"getPriceImpact.d.ts","names":[],"sources":["../../../src/utils/getPriceImpact.ts"],"mappings":";;UAGU;EACR,WAAW;EACX,SAAS;EACT;EACA;;cAGW,mBACX,WACA,SACA,YACA,YACC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.d.ts","names":[],"sources":["../../../src/utils/input.ts"],"mappings":";cAAa,eACX,qBACA,qBACA,SAAS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigationRoutes.d.ts","names":[],"sources":["../../../src/utils/navigationRoutes.ts"],"mappings":";cAAa
|
|
1
|
+
{"version":3,"file":"navigationRoutes.d.ts","names":[],"sources":["../../../src/utils/navigationRoutes.ts"],"mappings":";cAAa;EACX;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;KAiDG,uCAAuC;KAEhC,8BACF,kBAAkB"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
//#region src/utils/percentFormatter.d.ts
|
|
2
2
|
/**
|
|
3
|
-
* We use <0.01% for both small positive and negative changes to keep it simple and clear, focusing on minimal impact rather than direction.
|
|
4
|
-
* Examples:
|
|
5
|
-
* +0.007% -> <0.01%
|
|
6
|
-
* -0.003% -> <0.01%
|
|
7
|
-
*/
|
|
3
|
+
* We use <0.01% for both small positive and negative changes to keep it simple and clear, focusing on minimal impact rather than direction.
|
|
4
|
+
* Examples:
|
|
5
|
+
* +0.007% -> <0.01%
|
|
6
|
+
* -0.003% -> <0.01%
|
|
7
|
+
*/
|
|
8
8
|
declare const percentFormatter: (lng: string | undefined, options: any) => ((value: any) => string);
|
|
9
9
|
//#endregion
|
|
10
10
|
export { percentFormatter };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"percentFormatter.d.ts","names":[],"sources":["../../../src/utils/percentFormatter.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"percentFormatter.d.ts","names":[],"sources":["../../../src/utils/percentFormatter.ts"],"mappings":";;;;;;;cAMa,mBACX,yBACA,mBACG"}
|
|
@@ -2,8 +2,8 @@ import { formatUnits } from "@lifi/sdk";
|
|
|
2
2
|
//#region src/utils/tokenList.ts
|
|
3
3
|
const sortByBalances = (a, b) => Number.parseFloat(formatUnits(b.amount ?? 0n, b.decimals)) * Number.parseFloat(b.priceUSD ?? "0") - Number.parseFloat(formatUnits(a.amount ?? 0n, a.decimals)) * Number.parseFloat(a.priceUSD ?? "0");
|
|
4
4
|
const sortByVolume = (a, b) => (b.volumeUSD24H ?? 0) - (a.volumeUSD24H ?? 0);
|
|
5
|
-
const
|
|
6
|
-
if (
|
|
5
|
+
const processTokenList = (withoutBalances, noCategories, configTokens, selectedChainId, tokens, tokensWithBalances, isPinnedToken) => {
|
|
6
|
+
if (withoutBalances) if (noCategories) {
|
|
7
7
|
const sortedTokens = [...tokens ?? []].sort(sortByVolume);
|
|
8
8
|
if (isPinnedToken) {
|
|
9
9
|
const pinned = [];
|
|
@@ -142,6 +142,6 @@ const isSupportedToken = (token) => {
|
|
|
142
142
|
return Boolean(token.name && token.symbol && token.priceUSD && token.chainId);
|
|
143
143
|
};
|
|
144
144
|
//#endregion
|
|
145
|
-
export { isSearchMatch, isSupportedToken,
|
|
145
|
+
export { isSearchMatch, isSupportedToken, processTokenList };
|
|
146
146
|
|
|
147
147
|
//# sourceMappingURL=tokenList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokenList.js","names":[],"sources":["../../../src/utils/tokenList.ts"],"sourcesContent":["import {\n formatUnits,\n type TokenExtended,\n type WalletTokenExtended,\n} from '@lifi/sdk'\nimport type { TokenAmount, TokenAmountExtended } from '../types/token.js'\nimport type { WidgetTokens } from '../types/widget.js'\n\nconst sortByBalances = (a: TokenAmount, b: TokenAmount) =>\n Number.parseFloat(formatUnits(b.amount ?? 0n, b.decimals)) *\n Number.parseFloat(b.priceUSD ?? '0') -\n Number.parseFloat(formatUnits(a.amount ?? 0n, a.decimals)) *\n Number.parseFloat(a.priceUSD ?? '0')\n\nconst sortByVolume = (a: TokenExtended, b: TokenExtended) =>\n (b.volumeUSD24H ?? 0) - (a.volumeUSD24H ?? 0)\n\nexport const processTokenBalances = (\n isBalanceLoading: boolean,\n noCategories: boolean,\n configTokens?: WidgetTokens,\n selectedChainId?: number,\n tokens?: TokenExtended[],\n tokensWithBalances?: TokenAmount[],\n isPinnedToken?: (chainId: number, tokenAddress: string) => boolean\n): {\n processedTokens: TokenAmount[]\n withCategories: boolean\n withPinnedTokens: boolean\n} => {\n if (isBalanceLoading) {\n if (noCategories) {\n const sortedTokens = [...(tokens ?? [])].sort(sortByVolume)\n // Separate pinned tokens\n if (isPinnedToken) {\n const pinned: TokenAmount[] = []\n const notPinned: TokenAmount[] = []\n for (const token of sortedTokens) {\n if (isPinnedToken(token.chainId, token.address)) {\n const pinnedToken = { ...token, pinned: true } as TokenAmount\n pinned.push(pinnedToken)\n } else {\n notPinned.push(token)\n }\n }\n return {\n processedTokens: [...pinned, ...notPinned],\n withCategories: false,\n withPinnedTokens: !!pinned.length,\n }\n }\n return {\n processedTokens: sortedTokens,\n withCategories: false,\n withPinnedTokens: false,\n }\n } else {\n return processedTypedTokens(\n tokens ?? [],\n [],\n selectedChainId,\n configTokens,\n isPinnedToken\n )\n }\n }\n\n const sortedTokensWithBalances = [...(tokensWithBalances ?? [])].sort(\n sortByBalances\n )\n\n const tokensWithBalancesSet = new Set(\n sortedTokensWithBalances.map(\n (token) => `${token.chainId}-${token.address.toLowerCase()}`\n )\n )\n const tokensWithoutBalances =\n tokens\n ?.filter((token) => {\n const tokenKey = `${token.chainId}-${token.address.toLowerCase()}`\n return !tokensWithBalancesSet.has(tokenKey)\n })\n .sort(sortByVolume) ?? []\n\n if (noCategories) {\n // Separate pinned tokens\n if (isPinnedToken) {\n const pinnedWithBalances: TokenAmount[] = []\n const notPinnedWithBalances: TokenAmount[] = []\n const pinnedWithoutBalances: TokenAmount[] = []\n const notPinnedWithoutBalances: TokenAmount[] = []\n\n for (const token of sortedTokensWithBalances) {\n if (isPinnedToken(token.chainId, token.address)) {\n const pinnedToken = { ...token, pinned: true } as TokenAmount\n pinnedWithBalances.push(pinnedToken)\n } else {\n notPinnedWithBalances.push(token)\n }\n }\n\n for (const token of tokensWithoutBalances) {\n if (isPinnedToken(token.chainId, token.address)) {\n const pinnedToken = { ...token, pinned: true } as TokenAmount\n pinnedWithoutBalances.push(pinnedToken)\n } else {\n notPinnedWithoutBalances.push(token)\n }\n }\n\n return {\n processedTokens: [\n ...pinnedWithBalances,\n ...pinnedWithoutBalances,\n ...notPinnedWithBalances,\n ...notPinnedWithoutBalances,\n ],\n withCategories: false,\n withPinnedTokens:\n !!pinnedWithBalances.length || !!pinnedWithoutBalances.length,\n }\n }\n return {\n processedTokens: [...sortedTokensWithBalances, ...tokensWithoutBalances],\n withCategories: false,\n withPinnedTokens: false,\n }\n } else {\n return processedTypedTokens(\n tokensWithoutBalances,\n sortedTokensWithBalances,\n selectedChainId,\n configTokens,\n isPinnedToken\n )\n }\n}\n\n// NB: only for non-all-networks\nconst processedTypedTokens = (\n tokens: TokenAmount[],\n tokensWithBalances: TokenAmount[],\n selectedChainId?: number,\n configTokens?: WidgetTokens,\n isPinnedToken?: (chainId: number, tokenAddress: string) => boolean\n) => {\n const filteredTokensMap = new Map(\n tokens.map((token) => [token.address, token])\n )\n\n const pinnedTokens: TokenAmount[] = []\n const featuredTokensFromConfig: TokenAmount[] = []\n const popularTokensFromConfig: TokenAmount[] = []\n\n ;(['popular', 'featured'] as const).forEach((tokenType) => {\n const typedTokens = configTokens?.[tokenType]?.filter(\n (token) => token.chainId === selectedChainId\n )\n\n typedTokens?.forEach((token) => {\n const tokenAmount = { ...token } as TokenAmount\n tokenAmount[tokenType] = true\n // Config tokens are explicitly set by integrator, mark as verified\n tokenAmount.verified = true\n\n const match = filteredTokensMap.get(token.address)\n if (match?.priceUSD) {\n tokenAmount.priceUSD = match.priceUSD\n }\n if (!token.logoURI && match?.logoURI) {\n tokenAmount.logoURI = match.logoURI\n }\n\n if (tokenType === 'popular') {\n popularTokensFromConfig.push(tokenAmount)\n } else {\n featuredTokensFromConfig.push(tokenAmount)\n }\n\n // Additionally add to pinned tokens if it is pinned\n const isPinned =\n isPinnedToken && selectedChainId\n ? isPinnedToken(selectedChainId, token.address)\n : false\n if (isPinned) {\n const pinnedToken = { ...tokenAmount, pinned: true } as TokenAmount\n pinnedTokens.push(pinnedToken)\n }\n })\n })\n\n // Filter out config-added tokens from main list\n const configTokenAddresses = new Set(\n [...popularTokensFromConfig, ...featuredTokensFromConfig].map((t) =>\n t.address.toLowerCase()\n )\n )\n\n const remainingTokens = tokens.filter(\n (token) => !configTokenAddresses.has(token.address.toLowerCase())\n )\n\n const otherTokens: TokenAmount[] = []\n\n // Separate pinned tokens and categorize remaining tokens\n for (const token of remainingTokens) {\n const isPinned =\n isPinnedToken && selectedChainId\n ? isPinnedToken(selectedChainId, token.address)\n : false\n\n if (isPinned) {\n const pinnedToken = { ...token, pinned: true } as TokenAmount\n pinnedTokens.push(pinnedToken)\n } else if (token.featured) {\n featuredTokensFromConfig.push(token)\n } else if (token.popular) {\n popularTokensFromConfig.push(token)\n } else {\n otherTokens.push(token)\n }\n }\n\n // Also check tokens with balances for pinned status\n const pinnedTokensWithBalances: TokenAmount[] = []\n const nonPinnedTokensWithBalances: TokenAmount[] = []\n\n if (isPinnedToken && selectedChainId) {\n for (const token of tokensWithBalances) {\n if (isPinnedToken(selectedChainId, token.address)) {\n const pinnedToken = { ...token, pinned: true } as TokenAmount\n pinnedTokensWithBalances.push(pinnedToken)\n } else {\n nonPinnedTokensWithBalances.push(token)\n }\n }\n } else {\n nonPinnedTokensWithBalances.push(...tokensWithBalances)\n }\n\n const sortedPinnedTokens = [\n ...pinnedTokens,\n ...pinnedTokensWithBalances,\n ].sort(sortByVolume)\n const sortedFeaturedTokens = [...featuredTokensFromConfig].sort(sortByVolume)\n const sortedPopularTokens = [...popularTokensFromConfig].sort(sortByVolume)\n const sortedOtherTokens = [...otherTokens].sort(sortByVolume)\n\n return {\n processedTokens: [\n ...sortedPinnedTokens,\n ...sortedFeaturedTokens,\n ...nonPinnedTokensWithBalances,\n ...sortedPopularTokens,\n ...sortedOtherTokens,\n ],\n withCategories:\n !!featuredTokensFromConfig.length || !!popularTokensFromConfig.length,\n withPinnedTokens: !!sortedPinnedTokens.length,\n }\n}\n\nexport const isSearchMatch = (\n token: TokenExtended | TokenAmountExtended,\n search?: string\n): boolean => {\n if (!search) {\n return true\n }\n\n const searchLowerCase = search.toLowerCase()\n return (\n token.name?.toLowerCase().includes(searchLowerCase) ||\n token.symbol\n ?.replaceAll('₮', 'T')\n .toLowerCase()\n .includes(searchLowerCase) ||\n token.address?.toLowerCase().includes(searchLowerCase)\n )\n}\n\nexport const isSupportedToken = (token: WalletTokenExtended): boolean => {\n return Boolean(token.name && token.symbol && token.priceUSD && token.chainId)\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tokenList.js","names":[],"sources":["../../../src/utils/tokenList.ts"],"sourcesContent":["import {\n formatUnits,\n type TokenExtended,\n type WalletTokenExtended,\n} from '@lifi/sdk'\nimport type { TokenAmount, TokenAmountExtended } from '../types/token.js'\nimport type { WidgetTokens } from '../types/widget.js'\n\nconst sortByBalances = (a: TokenAmount, b: TokenAmount) =>\n Number.parseFloat(formatUnits(b.amount ?? 0n, b.decimals)) *\n Number.parseFloat(b.priceUSD ?? '0') -\n Number.parseFloat(formatUnits(a.amount ?? 0n, a.decimals)) *\n Number.parseFloat(a.priceUSD ?? '0')\n\nconst sortByVolume = (a: TokenExtended, b: TokenExtended) =>\n (b.volumeUSD24H ?? 0) - (a.volumeUSD24H ?? 0)\n\nexport const processTokenList = (\n withoutBalances: boolean,\n noCategories: boolean,\n configTokens?: WidgetTokens,\n selectedChainId?: number,\n tokens?: TokenExtended[],\n tokensWithBalances?: TokenAmount[],\n isPinnedToken?: (chainId: number, tokenAddress: string) => boolean\n): {\n processedTokens: TokenAmount[]\n withCategories: boolean\n withPinnedTokens: boolean\n} => {\n if (withoutBalances) {\n if (noCategories) {\n const sortedTokens = [...(tokens ?? [])].sort(sortByVolume)\n // Separate pinned tokens\n if (isPinnedToken) {\n const pinned: TokenAmount[] = []\n const notPinned: TokenAmount[] = []\n for (const token of sortedTokens) {\n if (isPinnedToken(token.chainId, token.address)) {\n const pinnedToken = { ...token, pinned: true } as TokenAmount\n pinned.push(pinnedToken)\n } else {\n notPinned.push(token)\n }\n }\n return {\n processedTokens: [...pinned, ...notPinned],\n withCategories: false,\n withPinnedTokens: !!pinned.length,\n }\n }\n return {\n processedTokens: sortedTokens,\n withCategories: false,\n withPinnedTokens: false,\n }\n } else {\n return processedTypedTokens(\n tokens ?? [],\n [],\n selectedChainId,\n configTokens,\n isPinnedToken\n )\n }\n }\n\n const sortedTokensWithBalances = [...(tokensWithBalances ?? [])].sort(\n sortByBalances\n )\n\n const tokensWithBalancesSet = new Set(\n sortedTokensWithBalances.map(\n (token) => `${token.chainId}-${token.address.toLowerCase()}`\n )\n )\n const tokensWithoutBalances =\n tokens\n ?.filter((token) => {\n const tokenKey = `${token.chainId}-${token.address.toLowerCase()}`\n return !tokensWithBalancesSet.has(tokenKey)\n })\n .sort(sortByVolume) ?? []\n\n if (noCategories) {\n // Separate pinned tokens\n if (isPinnedToken) {\n const pinnedWithBalances: TokenAmount[] = []\n const notPinnedWithBalances: TokenAmount[] = []\n const pinnedWithoutBalances: TokenAmount[] = []\n const notPinnedWithoutBalances: TokenAmount[] = []\n\n for (const token of sortedTokensWithBalances) {\n if (isPinnedToken(token.chainId, token.address)) {\n const pinnedToken = { ...token, pinned: true } as TokenAmount\n pinnedWithBalances.push(pinnedToken)\n } else {\n notPinnedWithBalances.push(token)\n }\n }\n\n for (const token of tokensWithoutBalances) {\n if (isPinnedToken(token.chainId, token.address)) {\n const pinnedToken = { ...token, pinned: true } as TokenAmount\n pinnedWithoutBalances.push(pinnedToken)\n } else {\n notPinnedWithoutBalances.push(token)\n }\n }\n\n return {\n processedTokens: [\n ...pinnedWithBalances,\n ...pinnedWithoutBalances,\n ...notPinnedWithBalances,\n ...notPinnedWithoutBalances,\n ],\n withCategories: false,\n withPinnedTokens:\n !!pinnedWithBalances.length || !!pinnedWithoutBalances.length,\n }\n }\n return {\n processedTokens: [...sortedTokensWithBalances, ...tokensWithoutBalances],\n withCategories: false,\n withPinnedTokens: false,\n }\n } else {\n return processedTypedTokens(\n tokensWithoutBalances,\n sortedTokensWithBalances,\n selectedChainId,\n configTokens,\n isPinnedToken\n )\n }\n}\n\n// NB: only for non-all-networks\nconst processedTypedTokens = (\n tokens: TokenAmount[],\n tokensWithBalances: TokenAmount[],\n selectedChainId?: number,\n configTokens?: WidgetTokens,\n isPinnedToken?: (chainId: number, tokenAddress: string) => boolean\n) => {\n const filteredTokensMap = new Map(\n tokens.map((token) => [token.address, token])\n )\n\n const pinnedTokens: TokenAmount[] = []\n const featuredTokensFromConfig: TokenAmount[] = []\n const popularTokensFromConfig: TokenAmount[] = []\n\n ;(['popular', 'featured'] as const).forEach((tokenType) => {\n const typedTokens = configTokens?.[tokenType]?.filter(\n (token) => token.chainId === selectedChainId\n )\n\n typedTokens?.forEach((token) => {\n const tokenAmount = { ...token } as TokenAmount\n tokenAmount[tokenType] = true\n // Config tokens are explicitly set by integrator, mark as verified\n tokenAmount.verified = true\n\n const match = filteredTokensMap.get(token.address)\n if (match?.priceUSD) {\n tokenAmount.priceUSD = match.priceUSD\n }\n if (!token.logoURI && match?.logoURI) {\n tokenAmount.logoURI = match.logoURI\n }\n\n if (tokenType === 'popular') {\n popularTokensFromConfig.push(tokenAmount)\n } else {\n featuredTokensFromConfig.push(tokenAmount)\n }\n\n // Additionally add to pinned tokens if it is pinned\n const isPinned =\n isPinnedToken && selectedChainId\n ? isPinnedToken(selectedChainId, token.address)\n : false\n if (isPinned) {\n const pinnedToken = { ...tokenAmount, pinned: true } as TokenAmount\n pinnedTokens.push(pinnedToken)\n }\n })\n })\n\n // Filter out config-added tokens from main list\n const configTokenAddresses = new Set(\n [...popularTokensFromConfig, ...featuredTokensFromConfig].map((t) =>\n t.address.toLowerCase()\n )\n )\n\n const remainingTokens = tokens.filter(\n (token) => !configTokenAddresses.has(token.address.toLowerCase())\n )\n\n const otherTokens: TokenAmount[] = []\n\n // Separate pinned tokens and categorize remaining tokens\n for (const token of remainingTokens) {\n const isPinned =\n isPinnedToken && selectedChainId\n ? isPinnedToken(selectedChainId, token.address)\n : false\n\n if (isPinned) {\n const pinnedToken = { ...token, pinned: true } as TokenAmount\n pinnedTokens.push(pinnedToken)\n } else if (token.featured) {\n featuredTokensFromConfig.push(token)\n } else if (token.popular) {\n popularTokensFromConfig.push(token)\n } else {\n otherTokens.push(token)\n }\n }\n\n // Also check tokens with balances for pinned status\n const pinnedTokensWithBalances: TokenAmount[] = []\n const nonPinnedTokensWithBalances: TokenAmount[] = []\n\n if (isPinnedToken && selectedChainId) {\n for (const token of tokensWithBalances) {\n if (isPinnedToken(selectedChainId, token.address)) {\n const pinnedToken = { ...token, pinned: true } as TokenAmount\n pinnedTokensWithBalances.push(pinnedToken)\n } else {\n nonPinnedTokensWithBalances.push(token)\n }\n }\n } else {\n nonPinnedTokensWithBalances.push(...tokensWithBalances)\n }\n\n const sortedPinnedTokens = [\n ...pinnedTokens,\n ...pinnedTokensWithBalances,\n ].sort(sortByVolume)\n const sortedFeaturedTokens = [...featuredTokensFromConfig].sort(sortByVolume)\n const sortedPopularTokens = [...popularTokensFromConfig].sort(sortByVolume)\n const sortedOtherTokens = [...otherTokens].sort(sortByVolume)\n\n return {\n processedTokens: [\n ...sortedPinnedTokens,\n ...sortedFeaturedTokens,\n ...nonPinnedTokensWithBalances,\n ...sortedPopularTokens,\n ...sortedOtherTokens,\n ],\n withCategories:\n !!featuredTokensFromConfig.length || !!popularTokensFromConfig.length,\n withPinnedTokens: !!sortedPinnedTokens.length,\n }\n}\n\nexport const isSearchMatch = (\n token: TokenExtended | TokenAmountExtended,\n search?: string\n): boolean => {\n if (!search) {\n return true\n }\n\n const searchLowerCase = search.toLowerCase()\n return (\n token.name?.toLowerCase().includes(searchLowerCase) ||\n token.symbol\n ?.replaceAll('₮', 'T')\n .toLowerCase()\n .includes(searchLowerCase) ||\n token.address?.toLowerCase().includes(searchLowerCase)\n )\n}\n\nexport const isSupportedToken = (token: WalletTokenExtended): boolean => {\n return Boolean(token.name && token.symbol && token.priceUSD && token.chainId)\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet.d.ts","names":[],"sources":["../../../src/utils/wallet.ts"],"mappings":";cAAa,iBAAkB"}
|