@rango-dev/widget-embedded 0.0.0-experimental-936229e8-20251208
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/CHANGELOG.md +878 -0
- package/dist/QueueManager.d.ts +7 -0
- package/dist/QueueManager.d.ts.map +1 -0
- package/dist/components/AppRouter.d.ts +4 -0
- package/dist/components/AppRouter.d.ts.map +1 -0
- package/dist/components/AppRoutes.d.ts +3 -0
- package/dist/components/AppRoutes.d.ts.map +1 -0
- package/dist/components/BlockchainList/BlockchainList.d.ts +4 -0
- package/dist/components/BlockchainList/BlockchainList.d.ts.map +1 -0
- package/dist/components/BlockchainList/BlockchainList.helpers.d.ts +3 -0
- package/dist/components/BlockchainList/BlockchainList.helpers.d.ts.map +1 -0
- package/dist/components/BlockchainList/BlockchainList.styles.d.ts +480 -0
- package/dist/components/BlockchainList/BlockchainList.styles.d.ts.map +1 -0
- package/dist/components/BlockchainList/BlockchainList.types.d.ts +9 -0
- package/dist/components/BlockchainList/BlockchainList.types.d.ts.map +1 -0
- package/dist/components/BlockchainList/LoadingBlockchainList.d.ts +3 -0
- package/dist/components/BlockchainList/LoadingBlockchainList.d.ts.map +1 -0
- package/dist/components/BlockchainList/index.d.ts +2 -0
- package/dist/components/BlockchainList/index.d.ts.map +1 -0
- package/dist/components/BlockchainSelectorButton/BlockchainSelectorButton.d.ts +4 -0
- package/dist/components/BlockchainSelectorButton/BlockchainSelectorButton.d.ts.map +1 -0
- package/dist/components/BlockchainSelectorButton/BlockchainSelectorButton.styles.d.ts +483 -0
- package/dist/components/BlockchainSelectorButton/BlockchainSelectorButton.styles.d.ts.map +1 -0
- package/dist/components/BlockchainSelectorButton/BlockchainSelectorButton.types.d.ts +12 -0
- package/dist/components/BlockchainSelectorButton/BlockchainSelectorButton.types.d.ts.map +1 -0
- package/dist/components/BlockchainSelectorButton/index.d.ts +2 -0
- package/dist/components/BlockchainSelectorButton/index.d.ts.map +1 -0
- package/dist/components/BlockchainsSection/BlockchainsSection.d.ts +4 -0
- package/dist/components/BlockchainsSection/BlockchainsSection.d.ts.map +1 -0
- package/dist/components/BlockchainsSection/BlockchainsSection.styles.d.ts +161 -0
- package/dist/components/BlockchainsSection/BlockchainsSection.styles.d.ts.map +1 -0
- package/dist/components/BlockchainsSection/BlockchainsSection.types.d.ts +9 -0
- package/dist/components/BlockchainsSection/BlockchainsSection.types.d.ts.map +1 -0
- package/dist/components/BlockchainsSection/index.d.ts +2 -0
- package/dist/components/BlockchainsSection/index.d.ts.map +1 -0
- package/dist/components/ConfirmWalletsModal/ConfirmWallets.styles.d.ts +1763 -0
- package/dist/components/ConfirmWalletsModal/ConfirmWallets.styles.d.ts.map +1 -0
- package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.d.ts +4 -0
- package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.d.ts.map +1 -0
- package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.types.d.ts +9 -0
- package/dist/components/ConfirmWalletsModal/ConfirmWalletsModal.types.d.ts.map +1 -0
- package/dist/components/ConfirmWalletsModal/WalletList.d.ts +4 -0
- package/dist/components/ConfirmWalletsModal/WalletList.d.ts.map +1 -0
- package/dist/components/ConfirmWalletsModal/WalletList.styles.d.ts +481 -0
- package/dist/components/ConfirmWalletsModal/WalletList.styles.d.ts.map +1 -0
- package/dist/components/ConfirmWalletsModal/WalletList.type.d.ts +11 -0
- package/dist/components/ConfirmWalletsModal/WalletList.type.d.ts.map +1 -0
- package/dist/components/CustomCollapsible/CustomCollapsible.d.ts +5 -0
- package/dist/components/CustomCollapsible/CustomCollapsible.d.ts.map +1 -0
- package/dist/components/CustomCollapsible/CustomCollapsible.styles.d.ts +649 -0
- package/dist/components/CustomCollapsible/CustomCollapsible.styles.d.ts.map +1 -0
- package/dist/components/CustomCollapsible/CustomCollapsible.types.d.ts +10 -0
- package/dist/components/CustomCollapsible/CustomCollapsible.types.d.ts.map +1 -0
- package/dist/components/CustomDestination/CustomDestination.d.ts +4 -0
- package/dist/components/CustomDestination/CustomDestination.d.ts.map +1 -0
- package/dist/components/CustomDestination/CustomDestination.styles.d.ts +494 -0
- package/dist/components/CustomDestination/CustomDestination.styles.d.ts.map +1 -0
- package/dist/components/CustomDestination/CustomDestination.types.d.ts +7 -0
- package/dist/components/CustomDestination/CustomDestination.types.d.ts.map +1 -0
- package/dist/components/CustomTokenModal/CustomTokenModal.constants.d.ts +2 -0
- package/dist/components/CustomTokenModal/CustomTokenModal.constants.d.ts.map +1 -0
- package/dist/components/CustomTokenModal/CustomTokenModal.d.ts +4 -0
- package/dist/components/CustomTokenModal/CustomTokenModal.d.ts.map +1 -0
- package/dist/components/CustomTokenModal/CustomTokenModal.helpers.d.ts +3 -0
- package/dist/components/CustomTokenModal/CustomTokenModal.helpers.d.ts.map +1 -0
- package/dist/components/CustomTokenModal/CustomTokenModal.styles.d.ts +1085 -0
- package/dist/components/CustomTokenModal/CustomTokenModal.styles.d.ts.map +1 -0
- package/dist/components/CustomTokenModal/CustomTokenModal.types.d.ts +10 -0
- package/dist/components/CustomTokenModal/CustomTokenModal.types.d.ts.map +1 -0
- package/dist/components/CustomTokenModal/index.d.ts +2 -0
- package/dist/components/CustomTokenModal/index.d.ts.map +1 -0
- package/dist/components/FilterSelector/FilterSelector.d.ts +4 -0
- package/dist/components/FilterSelector/FilterSelector.d.ts.map +1 -0
- package/dist/components/FilterSelector/FilterSelector.style.d.ts +967 -0
- package/dist/components/FilterSelector/FilterSelector.style.d.ts.map +1 -0
- package/dist/components/FilterSelector/FilterSelector.type.d.ts +14 -0
- package/dist/components/FilterSelector/FilterSelector.type.d.ts.map +1 -0
- package/dist/components/FilterSelector/FilterSelectorContent.d.ts +4 -0
- package/dist/components/FilterSelector/FilterSelectorContent.d.ts.map +1 -0
- package/dist/components/FilterSelector/index.d.ts +2 -0
- package/dist/components/FilterSelector/index.d.ts.map +1 -0
- package/dist/components/HeaderButtons/BackButton.d.ts +5 -0
- package/dist/components/HeaderButtons/BackButton.d.ts.map +1 -0
- package/dist/components/HeaderButtons/CancelButton.d.ts +5 -0
- package/dist/components/HeaderButtons/CancelButton.d.ts.map +1 -0
- package/dist/components/HeaderButtons/HeaderButtons.d.ts +4 -0
- package/dist/components/HeaderButtons/HeaderButtons.d.ts.map +1 -0
- package/dist/components/HeaderButtons/HeaderButtons.styles.d.ts +1287 -0
- package/dist/components/HeaderButtons/HeaderButtons.styles.d.ts.map +1 -0
- package/dist/components/HeaderButtons/HeaderButtons.types.d.ts +13 -0
- package/dist/components/HeaderButtons/HeaderButtons.types.d.ts.map +1 -0
- package/dist/components/HeaderButtons/InProgressTransactionBadge.d.ts +4 -0
- package/dist/components/HeaderButtons/InProgressTransactionBadge.d.ts.map +1 -0
- package/dist/components/HeaderButtons/NotificationsBadge.d.ts +3 -0
- package/dist/components/HeaderButtons/NotificationsBadge.d.ts.map +1 -0
- package/dist/components/HeaderButtons/RefreshButton.d.ts +6 -0
- package/dist/components/HeaderButtons/RefreshButton.d.ts.map +1 -0
- package/dist/components/HeaderButtons/WalletButton.d.ts +5 -0
- package/dist/components/HeaderButtons/WalletButton.d.ts.map +1 -0
- package/dist/components/HeaderButtons/index.d.ts +5 -0
- package/dist/components/HeaderButtons/index.d.ts.map +1 -0
- package/dist/components/HistoryGroupedList/HistoryGroupedList.d.ts +4 -0
- package/dist/components/HistoryGroupedList/HistoryGroupedList.d.ts.map +1 -0
- package/dist/components/HistoryGroupedList/HistoryGroupedList.helpers.d.ts +2 -0
- package/dist/components/HistoryGroupedList/HistoryGroupedList.helpers.d.ts.map +1 -0
- package/dist/components/HistoryGroupedList/HistoryGroupedList.styles.d.ts +961 -0
- package/dist/components/HistoryGroupedList/HistoryGroupedList.styles.d.ts.map +1 -0
- package/dist/components/HistoryGroupedList/HistoryGroupedList.types.d.ts +13 -0
- package/dist/components/HistoryGroupedList/HistoryGroupedList.types.d.ts.map +1 -0
- package/dist/components/HistoryGroupedList/index.d.ts +2 -0
- package/dist/components/HistoryGroupedList/index.d.ts.map +1 -0
- package/dist/components/ImportCustomToken/ImportCustomToken.d.ts +4 -0
- package/dist/components/ImportCustomToken/ImportCustomToken.d.ts.map +1 -0
- package/dist/components/ImportCustomToken/ImportCustomToken.types.d.ts +15 -0
- package/dist/components/ImportCustomToken/ImportCustomToken.types.d.ts.map +1 -0
- package/dist/components/ImportCustomToken/index.d.ts +2 -0
- package/dist/components/ImportCustomToken/index.d.ts.map +1 -0
- package/dist/components/Layout/Layout.constants.d.ts +6 -0
- package/dist/components/Layout/Layout.constants.d.ts.map +1 -0
- package/dist/components/Layout/Layout.d.ts +6 -0
- package/dist/components/Layout/Layout.d.ts.map +1 -0
- package/dist/components/Layout/Layout.helpers.d.ts +2 -0
- package/dist/components/Layout/Layout.helpers.d.ts.map +1 -0
- package/dist/components/Layout/Layout.styles.d.ts +804 -0
- package/dist/components/Layout/Layout.styles.d.ts.map +1 -0
- package/dist/components/Layout/Layout.types.d.ts +19 -0
- package/dist/components/Layout/Layout.types.d.ts.map +1 -0
- package/dist/components/Layout/PageContainer.d.ts +165 -0
- package/dist/components/Layout/PageContainer.d.ts.map +1 -0
- package/dist/components/Layout/ScrollableArea.d.ts +163 -0
- package/dist/components/Layout/ScrollableArea.d.ts.map +1 -0
- package/dist/components/Layout/index.d.ts +4 -0
- package/dist/components/Layout/index.d.ts.map +1 -0
- package/dist/components/LoadingLiquiditySourceList/LoadingLiquiditySourceList.d.ts +3 -0
- package/dist/components/LoadingLiquiditySourceList/LoadingLiquiditySourceList.d.ts.map +1 -0
- package/dist/components/LoadingLiquiditySourceList/LoadingLiquiditySourceList.styles.d.ts +162 -0
- package/dist/components/LoadingLiquiditySourceList/LoadingLiquiditySourceList.styles.d.ts.map +1 -0
- package/dist/components/LoadingLiquiditySourceList/index.d.ts +2 -0
- package/dist/components/LoadingLiquiditySourceList/index.d.ts.map +1 -0
- package/dist/components/LoadingSwapDetails/LoadingSwapDetails.d.ts +3 -0
- package/dist/components/LoadingSwapDetails/LoadingSwapDetails.d.ts.map +1 -0
- package/dist/components/LoadingSwapDetails/LoadingSwapDetails.styles.d.ts +2081 -0
- package/dist/components/LoadingSwapDetails/LoadingSwapDetails.styles.d.ts.map +1 -0
- package/dist/components/LoadingSwapDetails/index.d.ts +2 -0
- package/dist/components/LoadingSwapDetails/index.d.ts.map +1 -0
- package/dist/components/NamespaceItem/NamespaceItem.d.ts +4 -0
- package/dist/components/NamespaceItem/NamespaceItem.d.ts.map +1 -0
- package/dist/components/NamespaceItem/NamespaceItem.helpers.d.ts +3 -0
- package/dist/components/NamespaceItem/NamespaceItem.helpers.d.ts.map +1 -0
- package/dist/components/NamespaceItem/NamespaceItem.styles.d.ts +1452 -0
- package/dist/components/NamespaceItem/NamespaceItem.styles.d.ts.map +1 -0
- package/dist/components/NamespaceItem/NamespaceItem.types.d.ts +13 -0
- package/dist/components/NamespaceItem/NamespaceItem.types.d.ts.map +1 -0
- package/dist/components/NamespaceItem/NamespaceUnsupportedItem.d.ts +4 -0
- package/dist/components/NamespaceItem/NamespaceUnsupportedItem.d.ts.map +1 -0
- package/dist/components/NamespaceItem/SupportedChainsList.d.ts +4 -0
- package/dist/components/NamespaceItem/SupportedChainsList.d.ts.map +1 -0
- package/dist/components/NamespaceItem/SupportedChainsList.styles.d.ts +323 -0
- package/dist/components/NamespaceItem/SupportedChainsList.styles.d.ts.map +1 -0
- package/dist/components/NamespaceItem/SupportedChainsList.types.d.ts +5 -0
- package/dist/components/NamespaceItem/SupportedChainsList.types.d.ts.map +1 -0
- package/dist/components/NamespaceItem/index.d.ts +2 -0
- package/dist/components/NamespaceItem/index.d.ts.map +1 -0
- package/dist/components/NoResult/NoResult.d.ts +4 -0
- package/dist/components/NoResult/NoResult.d.ts.map +1 -0
- package/dist/components/NoResult/NoResult.helpers.d.ts +12 -0
- package/dist/components/NoResult/NoResult.helpers.d.ts.map +1 -0
- package/dist/components/NoResult/NoResult.styles.d.ts +645 -0
- package/dist/components/NoResult/NoResult.styles.d.ts.map +1 -0
- package/dist/components/NoResult/NoResult.types.d.ts +22 -0
- package/dist/components/NoResult/NoResult.types.d.ts.map +1 -0
- package/dist/components/NoResult/index.d.ts +2 -0
- package/dist/components/NoResult/index.d.ts.map +1 -0
- package/dist/components/NotificationContent/NotificationContent.d.ts +3 -0
- package/dist/components/NotificationContent/NotificationContent.d.ts.map +1 -0
- package/dist/components/NotificationContent/index.d.ts +2 -0
- package/dist/components/NotificationContent/index.d.ts.map +1 -0
- package/dist/components/Quote/Quote.d.ts +4 -0
- package/dist/components/Quote/Quote.d.ts.map +1 -0
- package/dist/components/Quote/Quote.styles.d.ts +3667 -0
- package/dist/components/Quote/Quote.styles.d.ts.map +1 -0
- package/dist/components/Quote/Quote.types.d.ts +57 -0
- package/dist/components/Quote/Quote.types.d.ts.map +1 -0
- package/dist/components/Quote/QuoteCostDetails.d.ts +4 -0
- package/dist/components/Quote/QuoteCostDetails.d.ts.map +1 -0
- package/dist/components/Quote/QuoteCostDetails.styles.d.ts +801 -0
- package/dist/components/Quote/QuoteCostDetails.styles.d.ts.map +1 -0
- package/dist/components/Quote/QuoteSummary.d.ts +11 -0
- package/dist/components/Quote/QuoteSummary.d.ts.map +1 -0
- package/dist/components/Quote/QuoteSummary.styles.d.ts +321 -0
- package/dist/components/Quote/QuoteSummary.styles.d.ts.map +1 -0
- package/dist/components/Quote/QuoteTrigger.d.ts +4 -0
- package/dist/components/Quote/QuoteTrigger.d.ts.map +1 -0
- package/dist/components/Quote/index.d.ts +3 -0
- package/dist/components/Quote/index.d.ts.map +1 -0
- package/dist/components/QuoteSkeleton/QuoteSkeleton.d.ts +4 -0
- package/dist/components/QuoteSkeleton/QuoteSkeleton.d.ts.map +1 -0
- package/dist/components/QuoteSkeleton/QuoteSkeleton.styles.d.ts +646 -0
- package/dist/components/QuoteSkeleton/QuoteSkeleton.styles.d.ts.map +1 -0
- package/dist/components/QuoteSkeleton/QuoteSkeleton.types.d.ts +7 -0
- package/dist/components/QuoteSkeleton/QuoteSkeleton.types.d.ts.map +1 -0
- package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.d.ts +4 -0
- package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.d.ts.map +1 -0
- package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.styles.d.ts +1601 -0
- package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.styles.d.ts.map +1 -0
- package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.types.d.ts +6 -0
- package/dist/components/QuoteSkeleton/QuoteSummarySkeleton.types.d.ts.map +1 -0
- package/dist/components/QuoteSkeleton/StepSkeleton.d.ts +4 -0
- package/dist/components/QuoteSkeleton/StepSkeleton.d.ts.map +1 -0
- package/dist/components/QuoteSkeleton/StepSkeleton.styles.d.ts +803 -0
- package/dist/components/QuoteSkeleton/StepSkeleton.styles.d.ts.map +1 -0
- package/dist/components/QuoteSkeleton/StepSkeleton.types.d.ts +4 -0
- package/dist/components/QuoteSkeleton/StepSkeleton.types.d.ts.map +1 -0
- package/dist/components/QuoteSkeleton/index.d.ts +4 -0
- package/dist/components/QuoteSkeleton/index.d.ts.map +1 -0
- package/dist/components/QuoteWarningsAndErrors/HighValueLossWarningModal.d.ts +12 -0
- package/dist/components/QuoteWarningsAndErrors/HighValueLossWarningModal.d.ts.map +1 -0
- package/dist/components/QuoteWarningsAndErrors/QuoteErrorsModalItem.d.ts +4 -0
- package/dist/components/QuoteWarningsAndErrors/QuoteErrorsModalItem.d.ts.map +1 -0
- package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.d.ts +4 -0
- package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.d.ts.map +1 -0
- package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.d.ts +11 -0
- package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.d.ts.map +1 -0
- package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.d.ts +1403 -0
- package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.d.ts.map +1 -0
- package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.d.ts +26 -0
- package/dist/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.d.ts.map +1 -0
- package/dist/components/QuoteWarningsAndErrors/SlippageWariningModal.d.ts +12 -0
- package/dist/components/QuoteWarningsAndErrors/SlippageWariningModal.d.ts.map +1 -0
- package/dist/components/QuoteWarningsAndErrors/UnknownPriceWarningModal.d.ts +12 -0
- package/dist/components/QuoteWarningsAndErrors/UnknownPriceWarningModal.d.ts.map +1 -0
- package/dist/components/QuoteWarningsAndErrors/index.d.ts +2 -0
- package/dist/components/QuoteWarningsAndErrors/index.d.ts.map +1 -0
- package/dist/components/Quotes/Quotes.d.ts +4 -0
- package/dist/components/Quotes/Quotes.d.ts.map +1 -0
- package/dist/components/Quotes/Quotes.styles.d.ts +481 -0
- package/dist/components/Quotes/Quotes.styles.d.ts.map +1 -0
- package/dist/components/Quotes/Quotes.types.d.ts +11 -0
- package/dist/components/Quotes/Quotes.types.d.ts.map +1 -0
- package/dist/components/Quotes/SelectStrategy.d.ts +5 -0
- package/dist/components/Quotes/SelectStrategy.d.ts.map +1 -0
- package/dist/components/Quotes/index.d.ts +2 -0
- package/dist/components/Quotes/index.d.ts.map +1 -0
- package/dist/components/RefreshModal/RefreshModal.d.ts +4 -0
- package/dist/components/RefreshModal/RefreshModal.d.ts.map +1 -0
- package/dist/components/RefreshModal/RefreshModal.styles.d.ts +441 -0
- package/dist/components/RefreshModal/RefreshModal.styles.d.ts.map +1 -0
- package/dist/components/RefreshModal/RefreshModal.types.d.ts +5 -0
- package/dist/components/RefreshModal/RefreshModal.types.d.ts.map +1 -0
- package/dist/components/RefreshModal/index.d.ts +2 -0
- package/dist/components/RefreshModal/index.d.ts.map +1 -0
- package/dist/components/SameTokensWarning/SameTokensWarning.d.ts +3 -0
- package/dist/components/SameTokensWarning/SameTokensWarning.d.ts.map +1 -0
- package/dist/components/SameTokensWarning/SameTokensWarning.styles.d.ts +161 -0
- package/dist/components/SameTokensWarning/SameTokensWarning.styles.d.ts.map +1 -0
- package/dist/components/SameTokensWarning/index.d.ts +2 -0
- package/dist/components/SameTokensWarning/index.d.ts.map +1 -0
- package/dist/components/SearchInput/SearchInput.d.ts +4 -0
- package/dist/components/SearchInput/SearchInput.d.ts.map +1 -0
- package/dist/components/SearchInput/SearchInput.styles.d.ts +321 -0
- package/dist/components/SearchInput/SearchInput.styles.d.ts.map +1 -0
- package/dist/components/SearchInput/SearchInput.types.d.ts +14 -0
- package/dist/components/SearchInput/SearchInput.types.d.ts.map +1 -0
- package/dist/components/SearchInput/index.d.ts +2 -0
- package/dist/components/SearchInput/index.d.ts.map +1 -0
- package/dist/components/SettingsContainer/SettingsContainer.style.d.ts +483 -0
- package/dist/components/SettingsContainer/SettingsContainer.style.d.ts.map +1 -0
- package/dist/components/SettingsContainer/index.d.ts +2 -0
- package/dist/components/SettingsContainer/index.d.ts.map +1 -0
- package/dist/components/Slippage/Slippage.d.ts +3 -0
- package/dist/components/Slippage/Slippage.d.ts.map +1 -0
- package/dist/components/Slippage/Slippage.styles.d.ts +802 -0
- package/dist/components/Slippage/Slippage.styles.d.ts.map +1 -0
- package/dist/components/Slippage/SlippageTooltipContent.d.ts +3 -0
- package/dist/components/Slippage/SlippageTooltipContent.d.ts.map +1 -0
- package/dist/components/Slippage/index.d.ts +2 -0
- package/dist/components/Slippage/index.d.ts.map +1 -0
- package/dist/components/SlippageWarningsAndErrors/SlippageWarningsAndErrors.d.ts +4 -0
- package/dist/components/SlippageWarningsAndErrors/SlippageWarningsAndErrors.d.ts.map +1 -0
- package/dist/components/SlippageWarningsAndErrors/SlippageWarningsAndErrors.helpers.d.ts +8 -0
- package/dist/components/SlippageWarningsAndErrors/SlippageWarningsAndErrors.helpers.d.ts.map +1 -0
- package/dist/components/SlippageWarningsAndErrors/SlippageWarningsAndErrors.types.d.ts +4 -0
- package/dist/components/SlippageWarningsAndErrors/SlippageWarningsAndErrors.types.d.ts.map +1 -0
- package/dist/components/StatefulConnectModal/StatefulConnectModal.d.ts +14 -0
- package/dist/components/StatefulConnectModal/StatefulConnectModal.d.ts.map +1 -0
- package/dist/components/StatefulConnectModal/helpers.d.ts +13 -0
- package/dist/components/StatefulConnectModal/helpers.d.ts.map +1 -0
- package/dist/components/StatefulConnectModal/index.d.ts +3 -0
- package/dist/components/StatefulConnectModal/index.d.ts.map +1 -0
- package/dist/components/SwapDetails/RequestIdRow.d.ts +4 -0
- package/dist/components/SwapDetails/RequestIdRow.d.ts.map +1 -0
- package/dist/components/SwapDetails/SwapDateRow.d.ts +4 -0
- package/dist/components/SwapDetails/SwapDateRow.d.ts.map +1 -0
- package/dist/components/SwapDetails/SwapDetails.Placeholder.d.ts +4 -0
- package/dist/components/SwapDetails/SwapDetails.Placeholder.d.ts.map +1 -0
- package/dist/components/SwapDetails/SwapDetails.d.ts +4 -0
- package/dist/components/SwapDetails/SwapDetails.d.ts.map +1 -0
- package/dist/components/SwapDetails/SwapDetails.helpers.d.ts +8 -0
- package/dist/components/SwapDetails/SwapDetails.helpers.d.ts.map +1 -0
- package/dist/components/SwapDetails/SwapDetails.styles.d.ts +2565 -0
- package/dist/components/SwapDetails/SwapDetails.styles.d.ts.map +1 -0
- package/dist/components/SwapDetails/SwapDetails.types.d.ts +19 -0
- package/dist/components/SwapDetails/SwapDetails.types.d.ts.map +1 -0
- package/dist/components/SwapDetails/index.d.ts +2 -0
- package/dist/components/SwapDetails/index.d.ts.map +1 -0
- package/dist/components/SwapDetailsAlerts/SwapDetailsAlerts.Failed.d.ts +4 -0
- package/dist/components/SwapDetailsAlerts/SwapDetailsAlerts.Failed.d.ts.map +1 -0
- package/dist/components/SwapDetailsAlerts/SwapDetailsAlerts.Warning.d.ts +4 -0
- package/dist/components/SwapDetailsAlerts/SwapDetailsAlerts.Warning.d.ts.map +1 -0
- package/dist/components/SwapDetailsAlerts/SwapDetailsAlerts.d.ts +4 -0
- package/dist/components/SwapDetailsAlerts/SwapDetailsAlerts.d.ts.map +1 -0
- package/dist/components/SwapDetailsAlerts/SwapDetailsAlerts.styles.d.ts +485 -0
- package/dist/components/SwapDetailsAlerts/SwapDetailsAlerts.styles.d.ts.map +1 -0
- package/dist/components/SwapDetailsAlerts/SwapDetailsAlerts.types.d.ts +23 -0
- package/dist/components/SwapDetailsAlerts/SwapDetailsAlerts.types.d.ts.map +1 -0
- package/dist/components/SwapDetailsAlerts/index.d.ts +3 -0
- package/dist/components/SwapDetailsAlerts/index.d.ts.map +1 -0
- package/dist/components/SwapDetailsModal/SwapDetailsCompleteModal.d.ts +4 -0
- package/dist/components/SwapDetailsModal/SwapDetailsCompleteModal.d.ts.map +1 -0
- package/dist/components/SwapDetailsModal/SwapDetailsModal.Cancel.d.ts +4 -0
- package/dist/components/SwapDetailsModal/SwapDetailsModal.Cancel.d.ts.map +1 -0
- package/dist/components/SwapDetailsModal/SwapDetailsModal.ConnectWallet.d.ts +4 -0
- package/dist/components/SwapDetailsModal/SwapDetailsModal.ConnectWallet.d.ts.map +1 -0
- package/dist/components/SwapDetailsModal/SwapDetailsModal.Delete.d.ts +4 -0
- package/dist/components/SwapDetailsModal/SwapDetailsModal.Delete.d.ts.map +1 -0
- package/dist/components/SwapDetailsModal/SwapDetailsModal.InstallWallet.d.ts +4 -0
- package/dist/components/SwapDetailsModal/SwapDetailsModal.InstallWallet.d.ts.map +1 -0
- package/dist/components/SwapDetailsModal/SwapDetailsModal.NetworkState.d.ts +4 -0
- package/dist/components/SwapDetailsModal/SwapDetailsModal.NetworkState.d.ts.map +1 -0
- package/dist/components/SwapDetailsModal/SwapDetailsModal.WalletState.d.ts +4 -0
- package/dist/components/SwapDetailsModal/SwapDetailsModal.WalletState.d.ts.map +1 -0
- package/dist/components/SwapDetailsModal/SwapDetailsModal.d.ts +4 -0
- package/dist/components/SwapDetailsModal/SwapDetailsModal.d.ts.map +1 -0
- package/dist/components/SwapDetailsModal/SwapDetailsModal.styles.d.ts +641 -0
- package/dist/components/SwapDetailsModal/SwapDetailsModal.styles.d.ts.map +1 -0
- package/dist/components/SwapDetailsModal/SwapDetailsModal.types.d.ts +71 -0
- package/dist/components/SwapDetailsModal/SwapDetailsModal.types.d.ts.map +1 -0
- package/dist/components/SwapDetailsModal/index.d.ts +4 -0
- package/dist/components/SwapDetailsModal/index.d.ts.map +1 -0
- package/dist/components/SwapMetrics/SwapMetrics.constants.d.ts +5 -0
- package/dist/components/SwapMetrics/SwapMetrics.constants.d.ts.map +1 -0
- package/dist/components/SwapMetrics/SwapMetrics.d.ts +4 -0
- package/dist/components/SwapMetrics/SwapMetrics.d.ts.map +1 -0
- package/dist/components/SwapMetrics/SwapMetrics.helpers.d.ts +11 -0
- package/dist/components/SwapMetrics/SwapMetrics.helpers.d.ts.map +1 -0
- package/dist/components/SwapMetrics/SwapMetrics.styles.d.ts +483 -0
- package/dist/components/SwapMetrics/SwapMetrics.styles.d.ts.map +1 -0
- package/dist/components/SwapMetrics/SwapMetrics.types.d.ts +27 -0
- package/dist/components/SwapMetrics/SwapMetrics.types.d.ts.map +1 -0
- package/dist/components/SwapMetrics/index.d.ts +2 -0
- package/dist/components/SwapMetrics/index.d.ts.map +1 -0
- package/dist/components/SwitchFromAndTo/SwitchFromAndTo.d.ts +3 -0
- package/dist/components/SwitchFromAndTo/SwitchFromAndTo.d.ts.map +1 -0
- package/dist/components/SwitchFromAndTo/SwitchFromAndTo.styles.d.ts +322 -0
- package/dist/components/SwitchFromAndTo/SwitchFromAndTo.styles.d.ts.map +1 -0
- package/dist/components/SwitchFromAndTo/index.d.ts +2 -0
- package/dist/components/SwitchFromAndTo/index.d.ts.map +1 -0
- package/dist/components/TokenList/LoadingTokenList.d.ts +4 -0
- package/dist/components/TokenList/LoadingTokenList.d.ts.map +1 -0
- package/dist/components/TokenList/TokenList.d.ts +4 -0
- package/dist/components/TokenList/TokenList.d.ts.map +1 -0
- package/dist/components/TokenList/TokenList.helpers.d.ts +3 -0
- package/dist/components/TokenList/TokenList.helpers.d.ts.map +1 -0
- package/dist/components/TokenList/TokenList.styles.d.ts +3208 -0
- package/dist/components/TokenList/TokenList.styles.d.ts.map +1 -0
- package/dist/components/TokenList/TokenList.types.d.ts +43 -0
- package/dist/components/TokenList/TokenList.types.d.ts.map +1 -0
- package/dist/components/TokenList/index.d.ts +2 -0
- package/dist/components/TokenList/index.d.ts.map +1 -0
- package/dist/components/WalletStatefulConnect/ConnectStatus.d.ts +4 -0
- package/dist/components/WalletStatefulConnect/ConnectStatus.d.ts.map +1 -0
- package/dist/components/WalletStatefulConnect/ConnectStatus.styles.d.ts +481 -0
- package/dist/components/WalletStatefulConnect/ConnectStatus.styles.d.ts.map +1 -0
- package/dist/components/WalletStatefulConnect/ConnectStatus.types.d.ts +8 -0
- package/dist/components/WalletStatefulConnect/ConnectStatus.types.d.ts.map +1 -0
- package/dist/components/WalletStatefulConnect/DerivationPath.d.ts +4 -0
- package/dist/components/WalletStatefulConnect/DerivationPath.d.ts.map +1 -0
- package/dist/components/WalletStatefulConnect/DerivationPath.helpers.d.ts +5 -0
- package/dist/components/WalletStatefulConnect/DerivationPath.helpers.d.ts.map +1 -0
- package/dist/components/WalletStatefulConnect/DerivationPath.styles.d.ts +768 -0
- package/dist/components/WalletStatefulConnect/DerivationPath.styles.d.ts.map +1 -0
- package/dist/components/WalletStatefulConnect/DerivationPath.types.d.ts +6 -0
- package/dist/components/WalletStatefulConnect/DerivationPath.types.d.ts.map +1 -0
- package/dist/components/WalletStatefulConnect/Detached.d.ts +4 -0
- package/dist/components/WalletStatefulConnect/Detached.d.ts.map +1 -0
- package/dist/components/WalletStatefulConnect/Detached.styles.d.ts +161 -0
- package/dist/components/WalletStatefulConnect/Detached.styles.d.ts.map +1 -0
- package/dist/components/WalletStatefulConnect/Detached.types.d.ts +14 -0
- package/dist/components/WalletStatefulConnect/Detached.types.d.ts.map +1 -0
- package/dist/components/WalletStatefulConnect/ExperimentalChain.d.ts +9 -0
- package/dist/components/WalletStatefulConnect/ExperimentalChain.d.ts.map +1 -0
- package/dist/components/WalletStatefulConnect/ExperimentalChainStatus.d.ts +4 -0
- package/dist/components/WalletStatefulConnect/ExperimentalChainStatus.d.ts.map +1 -0
- package/dist/components/WalletStatefulConnect/ExperimentalChainStatus.helpers.d.ts +8 -0
- package/dist/components/WalletStatefulConnect/ExperimentalChainStatus.helpers.d.ts.map +1 -0
- package/dist/components/WalletStatefulConnect/ExperimentalChainStatus.types.d.ts +6 -0
- package/dist/components/WalletStatefulConnect/ExperimentalChainStatus.types.d.ts.map +1 -0
- package/dist/components/WalletStatefulConnect/NamespaceDetachedItem.d.ts +4 -0
- package/dist/components/WalletStatefulConnect/NamespaceDetachedItem.d.ts.map +1 -0
- package/dist/components/WalletStatefulConnect/NamespaceListItem.d.ts +4 -0
- package/dist/components/WalletStatefulConnect/NamespaceListItem.d.ts.map +1 -0
- package/dist/components/WalletStatefulConnect/Namespaces.d.ts +4 -0
- package/dist/components/WalletStatefulConnect/Namespaces.d.ts.map +1 -0
- package/dist/components/WalletStatefulConnect/Namespaces.styles.d.ts +601 -0
- package/dist/components/WalletStatefulConnect/Namespaces.styles.d.ts.map +1 -0
- package/dist/components/WalletStatefulConnect/Namespaces.types.d.ts +33 -0
- package/dist/components/WalletStatefulConnect/Namespaces.types.d.ts.map +1 -0
- package/dist/components/WalletStatefulConnect/index.d.ts +6 -0
- package/dist/components/WalletStatefulConnect/index.d.ts.map +1 -0
- package/dist/components/common/ActivateTabAlert/ActivateTabAlert.d.ts +4 -0
- package/dist/components/common/ActivateTabAlert/ActivateTabAlert.d.ts.map +1 -0
- package/dist/components/common/ActivateTabAlert/ActivateTabAlert.types.d.ts +4 -0
- package/dist/components/common/ActivateTabAlert/ActivateTabAlert.types.d.ts.map +1 -0
- package/dist/components/common/ActivateTabAlert/index.d.ts +2 -0
- package/dist/components/common/ActivateTabAlert/index.d.ts.map +1 -0
- package/dist/components/common/ActivateTabModal/ActivateTabModal.d.ts +4 -0
- package/dist/components/common/ActivateTabModal/ActivateTabModal.d.ts.map +1 -0
- package/dist/components/common/ActivateTabModal/ActivateTabModal.types.d.ts +6 -0
- package/dist/components/common/ActivateTabModal/ActivateTabModal.types.d.ts.map +1 -0
- package/dist/components/common/ActivateTabModal/index.d.ts +2 -0
- package/dist/components/common/ActivateTabModal/index.d.ts.map +1 -0
- package/dist/components/common/WatermarkedModal/WatermarkedModal.d.ts +5 -0
- package/dist/components/common/WatermarkedModal/WatermarkedModal.d.ts.map +1 -0
- package/dist/components/common/WatermarkedModal/index.d.ts +2 -0
- package/dist/components/common/WatermarkedModal/index.d.ts.map +1 -0
- package/dist/constants/configs.d.ts +3 -0
- package/dist/constants/configs.d.ts.map +1 -0
- package/dist/constants/customTokens.d.ts +3 -0
- package/dist/constants/customTokens.d.ts.map +1 -0
- package/dist/constants/errors.d.ts +33 -0
- package/dist/constants/errors.d.ts.map +1 -0
- package/dist/constants/fonts.d.ts +7 -0
- package/dist/constants/fonts.d.ts.map +1 -0
- package/dist/constants/index.d.ts +12 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/languages.d.ts +10 -0
- package/dist/constants/languages.d.ts.map +1 -0
- package/dist/constants/messages.d.ts +7 -0
- package/dist/constants/messages.d.ts.map +1 -0
- package/dist/constants/navigationRoutes.d.ts +19 -0
- package/dist/constants/navigationRoutes.d.ts.map +1 -0
- package/dist/constants/numbers.d.ts +3 -0
- package/dist/constants/numbers.d.ts.map +1 -0
- package/dist/constants/profileBanner.d.ts +3 -0
- package/dist/constants/profileBanner.d.ts.map +1 -0
- package/dist/constants/quote.d.ts +25 -0
- package/dist/constants/quote.d.ts.map +1 -0
- package/dist/constants/routing.d.ts +13 -0
- package/dist/constants/routing.d.ts.map +1 -0
- package/dist/constants/searchFor.d.ts +7 -0
- package/dist/constants/searchFor.d.ts.map +1 -0
- package/dist/constants/searchParams.d.ts +12 -0
- package/dist/constants/searchParams.d.ts.map +1 -0
- package/dist/constants/settings.d.ts +6 -0
- package/dist/constants/settings.d.ts.map +1 -0
- package/dist/constants/swapSettings.d.ts +6 -0
- package/dist/constants/swapSettings.d.ts.map +1 -0
- package/dist/constants/wallets.d.ts +4 -0
- package/dist/constants/wallets.d.ts.map +1 -0
- package/dist/containers/App/App.d.ts +3 -0
- package/dist/containers/App/App.d.ts.map +1 -0
- package/dist/containers/App/App.styles.d.ts +161 -0
- package/dist/containers/App/App.styles.d.ts.map +1 -0
- package/dist/containers/App/index.d.ts +2 -0
- package/dist/containers/App/index.d.ts.map +1 -0
- package/dist/containers/ExpandedQuotes/ExpandedQuotes.d.ts +5 -0
- package/dist/containers/ExpandedQuotes/ExpandedQuotes.d.ts.map +1 -0
- package/dist/containers/ExpandedQuotes/ExpandedQuotes.styles.d.ts +323 -0
- package/dist/containers/ExpandedQuotes/ExpandedQuotes.styles.d.ts.map +1 -0
- package/dist/containers/ExpandedQuotes/ExpandedQuotes.types.d.ts +9 -0
- package/dist/containers/ExpandedQuotes/ExpandedQuotes.types.d.ts.map +1 -0
- package/dist/containers/ExpandedQuotes/index.d.ts +2 -0
- package/dist/containers/ExpandedQuotes/index.d.ts.map +1 -0
- package/dist/containers/Inputs/Inputs.d.ts +4 -0
- package/dist/containers/Inputs/Inputs.d.ts.map +1 -0
- package/dist/containers/Inputs/Inputs.styles.d.ts +321 -0
- package/dist/containers/Inputs/Inputs.styles.d.ts.map +1 -0
- package/dist/containers/Inputs/Inputs.types.d.ts +8 -0
- package/dist/containers/Inputs/Inputs.types.d.ts.map +1 -0
- package/dist/containers/Inputs/index.d.ts +2 -0
- package/dist/containers/Inputs/index.d.ts.map +1 -0
- package/dist/containers/QuoteInfo/QuoteInfo.d.ts +4 -0
- package/dist/containers/QuoteInfo/QuoteInfo.d.ts.map +1 -0
- package/dist/containers/QuoteInfo/QuoteInfo.styles.d.ts +483 -0
- package/dist/containers/QuoteInfo/QuoteInfo.styles.d.ts.map +1 -0
- package/dist/containers/QuoteInfo/QuoteInfo.types.d.ts +20 -0
- package/dist/containers/QuoteInfo/QuoteInfo.types.d.ts.map +1 -0
- package/dist/containers/QuoteInfo/index.d.ts +2 -0
- package/dist/containers/QuoteInfo/index.d.ts.map +1 -0
- package/dist/containers/Refuel/Refuel.d.ts +5 -0
- package/dist/containers/Refuel/Refuel.d.ts.map +1 -0
- package/dist/containers/Refuel/Refuel.types.d.ts +5 -0
- package/dist/containers/Refuel/Refuel.types.d.ts.map +1 -0
- package/dist/containers/Refuel/index.d.ts +2 -0
- package/dist/containers/Refuel/index.d.ts.map +1 -0
- package/dist/containers/Settings/Lists.d.ts +3 -0
- package/dist/containers/Settings/Lists.d.ts.map +1 -0
- package/dist/containers/Wallets/Wallets.d.ts +6 -0
- package/dist/containers/Wallets/Wallets.d.ts.map +1 -0
- package/dist/containers/Wallets/Wallets.helpers.d.ts +4 -0
- package/dist/containers/Wallets/Wallets.helpers.d.ts.map +1 -0
- package/dist/containers/Wallets/Wallets.types.d.ts +28 -0
- package/dist/containers/Wallets/Wallets.types.d.ts.map +1 -0
- package/dist/containers/Wallets/index.d.ts +2 -0
- package/dist/containers/Wallets/index.d.ts.map +1 -0
- package/dist/containers/Wallets/useUpdates.d.ts +12 -0
- package/dist/containers/Wallets/useUpdates.d.ts.map +1 -0
- package/dist/containers/Widget/Widget.d.ts +5 -0
- package/dist/containers/Widget/Widget.d.ts.map +1 -0
- package/dist/containers/Widget/Widget.types.d.ts +5 -0
- package/dist/containers/Widget/Widget.types.d.ts.map +1 -0
- package/dist/containers/Widget/index.d.ts +3 -0
- package/dist/containers/Widget/index.d.ts.map +1 -0
- package/dist/containers/WidgetInfo/WidgetInfo.d.ts +6 -0
- package/dist/containers/WidgetInfo/WidgetInfo.d.ts.map +1 -0
- package/dist/containers/WidgetInfo/WidgetInfo.helpers.d.ts +22 -0
- package/dist/containers/WidgetInfo/WidgetInfo.helpers.d.ts.map +1 -0
- package/dist/containers/WidgetInfo/WidgetInfo.types.d.ts +34 -0
- package/dist/containers/WidgetInfo/WidgetInfo.types.d.ts.map +1 -0
- package/dist/containers/WidgetInfo/index.d.ts +2 -0
- package/dist/containers/WidgetInfo/index.d.ts.map +1 -0
- package/dist/containers/WidgetProvider/WidgetProvider.d.ts +5 -0
- package/dist/containers/WidgetProvider/WidgetProvider.d.ts.map +1 -0
- package/dist/containers/WidgetProvider/WidgetProvider.types.d.ts +7 -0
- package/dist/containers/WidgetProvider/WidgetProvider.types.d.ts.map +1 -0
- package/dist/containers/WidgetProvider/index.d.ts +2 -0
- package/dist/containers/WidgetProvider/index.d.ts.map +1 -0
- package/dist/globalStyles.d.ts +2 -0
- package/dist/globalStyles.d.ts.map +1 -0
- package/dist/hooks/useBootstrap/index.d.ts +2 -0
- package/dist/hooks/useBootstrap/index.d.ts.map +1 -0
- package/dist/hooks/useBootstrap/useBootstrap.d.ts +2 -0
- package/dist/hooks/useBootstrap/useBootstrap.d.ts.map +1 -0
- package/dist/hooks/useConfirmSwap/index.d.ts +2 -0
- package/dist/hooks/useConfirmSwap/index.d.ts.map +1 -0
- package/dist/hooks/useConfirmSwap/useConfirmSwap.d.ts +3 -0
- package/dist/hooks/useConfirmSwap/useConfirmSwap.d.ts.map +1 -0
- package/dist/hooks/useConfirmSwap/useConfirmSwap.helpers.d.ts +23 -0
- package/dist/hooks/useConfirmSwap/useConfirmSwap.helpers.d.ts.map +1 -0
- package/dist/hooks/useConfirmSwap/useConfirmSwap.types.d.ts +17 -0
- package/dist/hooks/useConfirmSwap/useConfirmSwap.types.d.ts.map +1 -0
- package/dist/hooks/useFetch.d.ts +12 -0
- package/dist/hooks/useFetch.d.ts.map +1 -0
- package/dist/hooks/useFetchAllQuotes.d.ts +4 -0
- package/dist/hooks/useFetchAllQuotes.d.ts.map +1 -0
- package/dist/hooks/useFetchApiConfig.d.ts +7 -0
- package/dist/hooks/useFetchApiConfig.d.ts.map +1 -0
- package/dist/hooks/useFetchConfirmQuote.d.ts +4 -0
- package/dist/hooks/useFetchConfirmQuote.d.ts.map +1 -0
- package/dist/hooks/useFetchCustomToken.d.ts +20 -0
- package/dist/hooks/useFetchCustomToken.d.ts.map +1 -0
- package/dist/hooks/useFontLoader.d.ts +5 -0
- package/dist/hooks/useFontLoader.d.ts.map +1 -0
- package/dist/hooks/useForceAutoConnect.d.ts +2 -0
- package/dist/hooks/useForceAutoConnect.d.ts.map +1 -0
- package/dist/hooks/useIframe/index.d.ts +2 -0
- package/dist/hooks/useIframe/index.d.ts.map +1 -0
- package/dist/hooks/useIframe/useIframe.d.ts +9 -0
- package/dist/hooks/useIframe/useIframe.d.ts.map +1 -0
- package/dist/hooks/useIframe/useIframe.helpers.d.ts +2 -0
- package/dist/hooks/useIframe/useIframe.helpers.d.ts.map +1 -0
- package/dist/hooks/useIframe/useIframe.types.d.ts +10 -0
- package/dist/hooks/useIframe/useIframe.types.d.ts.map +1 -0
- package/dist/hooks/useLanguage.d.ts +12 -0
- package/dist/hooks/useLanguage.d.ts.map +1 -0
- package/dist/hooks/useNavigateBack.d.ts +2 -0
- package/dist/hooks/useNavigateBack.d.ts.map +1 -0
- package/dist/hooks/usePrepareBlockchainList/index.d.ts +2 -0
- package/dist/hooks/usePrepareBlockchainList/index.d.ts.map +1 -0
- package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.constants.d.ts +2 -0
- package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.constants.d.ts.map +1 -0
- package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.d.ts +10 -0
- package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.d.ts.map +1 -0
- package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.d.ts +8 -0
- package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.d.ts.map +1 -0
- package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.d.ts +4 -0
- package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.d.ts.map +1 -0
- package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.test.d.ts +2 -0
- package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.test.d.ts.map +1 -0
- package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.d.ts +15 -0
- package/dist/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.d.ts.map +1 -0
- package/dist/hooks/usePrevious.d.ts +2 -0
- package/dist/hooks/usePrevious.d.ts.map +1 -0
- package/dist/hooks/useScreenDetect.d.ts +9 -0
- package/dist/hooks/useScreenDetect.d.ts.map +1 -0
- package/dist/hooks/useSearchCustomTokens/index.d.ts +2 -0
- package/dist/hooks/useSearchCustomTokens/index.d.ts.map +1 -0
- package/dist/hooks/useSearchCustomTokens/types.d.ts +9 -0
- package/dist/hooks/useSearchCustomTokens/types.d.ts.map +1 -0
- package/dist/hooks/useSearchCustomTokens/useSearchCustomTokens.constants.d.ts +2 -0
- package/dist/hooks/useSearchCustomTokens/useSearchCustomTokens.constants.d.ts.map +1 -0
- package/dist/hooks/useSearchCustomTokens/useSearchCustomTokens.d.ts +3 -0
- package/dist/hooks/useSearchCustomTokens/useSearchCustomTokens.d.ts.map +1 -0
- package/dist/hooks/useStatefulConnect/index.d.ts +6 -0
- package/dist/hooks/useStatefulConnect/index.d.ts.map +1 -0
- package/dist/hooks/useStatefulConnect/useStatefulConnect.d.ts +27 -0
- package/dist/hooks/useStatefulConnect/useStatefulConnect.d.ts.map +1 -0
- package/dist/hooks/useStatefulConnect/useStatefulConnect.helpers.d.ts +8 -0
- package/dist/hooks/useStatefulConnect/useStatefulConnect.helpers.d.ts.map +1 -0
- package/dist/hooks/useStatefulConnect/useStatefulConnect.state.d.ts +14 -0
- package/dist/hooks/useStatefulConnect/useStatefulConnect.state.d.ts.map +1 -0
- package/dist/hooks/useStatefulConnect/useStatefulConnect.types.d.ts +57 -0
- package/dist/hooks/useStatefulConnect/useStatefulConnect.types.d.ts.map +1 -0
- package/dist/hooks/useSubscribeToWidgetEvents/index.d.ts +2 -0
- package/dist/hooks/useSubscribeToWidgetEvents/index.d.ts.map +1 -0
- package/dist/hooks/useSubscribeToWidgetEvents/useSubscribeToWidgetEvents.d.ts +2 -0
- package/dist/hooks/useSubscribeToWidgetEvents/useSubscribeToWidgetEvents.d.ts.map +1 -0
- package/dist/hooks/useSwapInput.d.ts +14 -0
- package/dist/hooks/useSwapInput.d.ts.map +1 -0
- package/dist/hooks/useSwapMode.d.ts +11 -0
- package/dist/hooks/useSwapMode.d.ts.map +1 -0
- package/dist/hooks/useSyncNotifications/index.d.ts +2 -0
- package/dist/hooks/useSyncNotifications/index.d.ts.map +1 -0
- package/dist/hooks/useSyncNotifications/useSyncNotifications.d.ts +2 -0
- package/dist/hooks/useSyncNotifications/useSyncNotifications.d.ts.map +1 -0
- package/dist/hooks/useSyncStoresWithConfig.d.ts +2 -0
- package/dist/hooks/useSyncStoresWithConfig.d.ts.map +1 -0
- package/dist/hooks/useSyncUrlAndStore/index.d.ts +2 -0
- package/dist/hooks/useSyncUrlAndStore/index.d.ts.map +1 -0
- package/dist/hooks/useSyncUrlAndStore/useSyncUrlAndStore.d.ts +2 -0
- package/dist/hooks/useSyncUrlAndStore/useSyncUrlAndStore.d.ts.map +1 -0
- package/dist/hooks/useSyncUrlAndStore/useSyncUrlAndStore.helpers.d.ts +4 -0
- package/dist/hooks/useSyncUrlAndStore/useSyncUrlAndStore.helpers.d.ts.map +1 -0
- package/dist/hooks/useTheme.d.ts +6 -0
- package/dist/hooks/useTheme.d.ts.map +1 -0
- package/dist/hooks/useUpdateQuoteInputs/index.d.ts +2 -0
- package/dist/hooks/useUpdateQuoteInputs/index.d.ts.map +1 -0
- package/dist/hooks/useUpdateQuoteInputs/useUpdateQuoteInputs.d.ts +3 -0
- package/dist/hooks/useUpdateQuoteInputs/useUpdateQuoteInputs.d.ts.map +1 -0
- package/dist/hooks/useWalletList.d.ts +18 -0
- package/dist/hooks/useWalletList.d.ts.map +1 -0
- package/dist/hooks/useWalletProviders/index.d.ts +2 -0
- package/dist/hooks/useWalletProviders/index.d.ts.map +1 -0
- package/dist/hooks/useWalletProviders/useWalletProviders.d.ts +6 -0
- package/dist/hooks/useWalletProviders/useWalletProviders.d.ts.map +1 -0
- package/dist/hooks/useWalletProviders/useWalletProviders.helpers.d.ts +4 -0
- package/dist/hooks/useWalletProviders/useWalletProviders.helpers.d.ts.map +1 -0
- package/dist/hooks/useWidgetEvents/index.d.ts +2 -0
- package/dist/hooks/useWidgetEvents/index.d.ts.map +1 -0
- package/dist/hooks/useWidgetEvents/useWidgetEvents.d.ts +3 -0
- package/dist/hooks/useWidgetEvents/useWidgetEvents.d.ts.map +1 -0
- package/dist/index.d.ts +55 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +7 -0
- package/dist/libs/tabManager/index.d.ts +3 -0
- package/dist/libs/tabManager/index.d.ts.map +1 -0
- package/dist/libs/tabManager/tabManager.constants.d.ts +4 -0
- package/dist/libs/tabManager/tabManager.constants.d.ts.map +1 -0
- package/dist/libs/tabManager/tabManager.d.ts +64 -0
- package/dist/libs/tabManager/tabManager.d.ts.map +1 -0
- package/dist/libs/tabManager/tabManager.types.d.ts +30 -0
- package/dist/libs/tabManager/tabManager.types.d.ts.map +1 -0
- package/dist/pages/AddCustomTokenPage.d.ts +3 -0
- package/dist/pages/AddCustomTokenPage.d.ts.map +1 -0
- package/dist/pages/ConfirmSwapPage.d.ts +3 -0
- package/dist/pages/ConfirmSwapPage.d.ts.map +1 -0
- package/dist/pages/CustomTokensPage.d.ts +3 -0
- package/dist/pages/CustomTokensPage.d.ts.map +1 -0
- package/dist/pages/HistoryPage.d.ts +3 -0
- package/dist/pages/HistoryPage.d.ts.map +1 -0
- package/dist/pages/Home.d.ts +4 -0
- package/dist/pages/Home.d.ts.map +1 -0
- package/dist/pages/LanguagePage.d.ts +3 -0
- package/dist/pages/LanguagePage.d.ts.map +1 -0
- package/dist/pages/LiquiditySourcePage.d.ts +7 -0
- package/dist/pages/LiquiditySourcePage.d.ts.map +1 -0
- package/dist/pages/Routes.d.ts +3 -0
- package/dist/pages/Routes.d.ts.map +1 -0
- package/dist/pages/SelectBlockchainPage.d.ts +8 -0
- package/dist/pages/SelectBlockchainPage.d.ts.map +1 -0
- package/dist/pages/SelectSwapItemPage/SelectSwapItemPage.constants.d.ts +3 -0
- package/dist/pages/SelectSwapItemPage/SelectSwapItemPage.constants.d.ts.map +1 -0
- package/dist/pages/SelectSwapItemPage/SelectSwapItemPage.helpers.d.ts +4 -0
- package/dist/pages/SelectSwapItemPage/SelectSwapItemPage.helpers.d.ts.map +1 -0
- package/dist/pages/SelectSwapItemPage/SelectSwapItemsPage.d.ts +7 -0
- package/dist/pages/SelectSwapItemPage/SelectSwapItemsPage.d.ts.map +1 -0
- package/dist/pages/SelectSwapItemPage/index.d.ts +2 -0
- package/dist/pages/SelectSwapItemPage/index.d.ts.map +1 -0
- package/dist/pages/SettingsPage.d.ts +3 -0
- package/dist/pages/SettingsPage.d.ts.map +1 -0
- package/dist/pages/SwapDetailsPage.d.ts +3 -0
- package/dist/pages/SwapDetailsPage.d.ts.map +1 -0
- package/dist/pages/WalletsPage.d.ts +3 -0
- package/dist/pages/WalletsPage.d.ts.map +1 -0
- package/dist/services/cacheService.d.ts +21 -0
- package/dist/services/cacheService.d.ts.map +1 -0
- package/dist/services/eventEmitter.d.ts +4 -0
- package/dist/services/eventEmitter.d.ts.map +1 -0
- package/dist/services/httpService.d.ts +3 -0
- package/dist/services/httpService.d.ts.map +1 -0
- package/dist/store/AppStore.d.ts +51 -0
- package/dist/store/AppStore.d.ts.map +1 -0
- package/dist/store/app.d.ts +47 -0
- package/dist/store/app.d.ts.map +1 -0
- package/dist/store/middlewares/keepLastUpdated.d.ts +8 -0
- package/dist/store/middlewares/keepLastUpdated.d.ts.map +1 -0
- package/dist/store/notification.d.ts +59 -0
- package/dist/store/notification.d.ts.map +1 -0
- package/dist/store/quote.d.ts +238 -0
- package/dist/store/quote.d.ts.map +1 -0
- package/dist/store/selectors.d.ts +12 -0
- package/dist/store/selectors.d.ts.map +1 -0
- package/dist/store/slices/config.d.ts +32 -0
- package/dist/store/slices/config.d.ts.map +1 -0
- package/dist/store/slices/data.d.ts +36 -0
- package/dist/store/slices/data.d.ts.map +1 -0
- package/dist/store/slices/data.test.d.ts +2 -0
- package/dist/store/slices/data.test.d.ts.map +1 -0
- package/dist/store/slices/settings.d.ts +49 -0
- package/dist/store/slices/settings.d.ts.map +1 -0
- package/dist/store/slices/types.d.ts +6 -0
- package/dist/store/slices/types.d.ts.map +1 -0
- package/dist/store/slices/wallets.d.ts +95 -0
- package/dist/store/slices/wallets.d.ts.map +1 -0
- package/dist/store/ui.d.ts +37 -0
- package/dist/store/ui.d.ts.map +1 -0
- package/dist/store/utils/data.d.ts +23 -0
- package/dist/store/utils/data.d.ts.map +1 -0
- package/dist/store/utils/data.test.d.ts +2 -0
- package/dist/store/utils/data.test.d.ts.map +1 -0
- package/dist/store/utils/index.d.ts +2 -0
- package/dist/store/utils/index.d.ts.map +1 -0
- package/dist/store/utils/wallets.d.ts +37 -0
- package/dist/store/utils/wallets.d.ts.map +1 -0
- package/dist/test-utils/fixtures.d.ts +31 -0
- package/dist/test-utils/fixtures.d.ts.map +1 -0
- package/dist/types/config.d.ts +261 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/event.d.ts +74 -0
- package/dist/types/event.d.ts.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/notification.d.ts +21 -0
- package/dist/types/notification.d.ts.map +1 -0
- package/dist/types/quote.d.ts +100 -0
- package/dist/types/quote.d.ts.map +1 -0
- package/dist/types/swap.d.ts +14 -0
- package/dist/types/swap.d.ts.map +1 -0
- package/dist/types/wallets.d.ts +25 -0
- package/dist/types/wallets.d.ts.map +1 -0
- package/dist/utils/colors.d.ts +10 -0
- package/dist/utils/colors.d.ts.map +1 -0
- package/dist/utils/common.d.ts +22 -0
- package/dist/utils/common.d.ts.map +1 -0
- package/dist/utils/configs.d.ts +23 -0
- package/dist/utils/configs.d.ts.map +1 -0
- package/dist/utils/date.d.ts +3 -0
- package/dist/utils/date.d.ts.map +1 -0
- package/dist/utils/events.d.ts +8 -0
- package/dist/utils/events.d.ts.map +1 -0
- package/dist/utils/hash.d.ts +2 -0
- package/dist/utils/hash.d.ts.map +1 -0
- package/dist/utils/meta.d.ts +11 -0
- package/dist/utils/meta.d.ts.map +1 -0
- package/dist/utils/numbers.d.ts +13 -0
- package/dist/utils/numbers.d.ts.map +1 -0
- package/dist/utils/providers.d.ts +25 -0
- package/dist/utils/providers.d.ts.map +1 -0
- package/dist/utils/queue.d.ts +4 -0
- package/dist/utils/queue.d.ts.map +1 -0
- package/dist/utils/quote.d.ts +32 -0
- package/dist/utils/quote.d.ts.map +1 -0
- package/dist/utils/sanitizers.d.ts +27 -0
- package/dist/utils/sanitizers.d.ts.map +1 -0
- package/dist/utils/sanitizers.test.d.ts +2 -0
- package/dist/utils/sanitizers.test.d.ts.map +1 -0
- package/dist/utils/settings.d.ts +20 -0
- package/dist/utils/settings.d.ts.map +1 -0
- package/dist/utils/swap.d.ts +89 -0
- package/dist/utils/swap.d.ts.map +1 -0
- package/dist/utils/time.d.ts +4 -0
- package/dist/utils/time.d.ts.map +1 -0
- package/dist/utils/ui.d.ts +19 -0
- package/dist/utils/ui.d.ts.map +1 -0
- package/dist/utils/validation.d.ts +26 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.test.d.ts +2 -0
- package/dist/utils/validation.test.d.ts.map +1 -0
- package/dist/utils/wallets.d.ts +36 -0
- package/dist/utils/wallets.d.ts.map +1 -0
- package/dist/widget-embedded.build.json +1 -0
- package/package.json +57 -0
- package/readme.md +4 -0
- package/src/QueueManager.tsx +120 -0
- package/src/components/AppRouter.tsx +11 -0
- package/src/components/AppRoutes.tsx +137 -0
- package/src/components/BlockchainList/BlockchainList.helpers.ts +18 -0
- package/src/components/BlockchainList/BlockchainList.styles.ts +22 -0
- package/src/components/BlockchainList/BlockchainList.tsx +86 -0
- package/src/components/BlockchainList/BlockchainList.types.ts +9 -0
- package/src/components/BlockchainList/LoadingBlockchainList.tsx +20 -0
- package/src/components/BlockchainList/index.ts +1 -0
- package/src/components/BlockchainSelectorButton/BlockchainSelectorButton.styles.ts +49 -0
- package/src/components/BlockchainSelectorButton/BlockchainSelectorButton.tsx +48 -0
- package/src/components/BlockchainSelectorButton/BlockchainSelectorButton.types.ts +11 -0
- package/src/components/BlockchainSelectorButton/index.ts +1 -0
- package/src/components/BlockchainsSection/BlockchainsSection.styles.ts +7 -0
- package/src/components/BlockchainsSection/BlockchainsSection.tsx +134 -0
- package/src/components/BlockchainsSection/BlockchainsSection.types.ts +9 -0
- package/src/components/BlockchainsSection/index.ts +1 -0
- package/src/components/ConfirmWalletsModal/ConfirmWallets.styles.ts +57 -0
- package/src/components/ConfirmWalletsModal/ConfirmWalletsModal.tsx +485 -0
- package/src/components/ConfirmWalletsModal/ConfirmWalletsModal.types.ts +9 -0
- package/src/components/ConfirmWalletsModal/WalletList.styles.ts +34 -0
- package/src/components/ConfirmWalletsModal/WalletList.tsx +283 -0
- package/src/components/ConfirmWalletsModal/WalletList.type.ts +11 -0
- package/src/components/CustomCollapsible/CustomCollapsible.styles.ts +76 -0
- package/src/components/CustomCollapsible/CustomCollapsible.tsx +46 -0
- package/src/components/CustomCollapsible/CustomCollapsible.types.ts +10 -0
- package/src/components/CustomDestination/CustomDestination.styles.ts +47 -0
- package/src/components/CustomDestination/CustomDestination.tsx +157 -0
- package/src/components/CustomDestination/CustomDestination.types.ts +7 -0
- package/src/components/CustomTokenModal/CustomTokenModal.constants.ts +2 -0
- package/src/components/CustomTokenModal/CustomTokenModal.helpers.ts +19 -0
- package/src/components/CustomTokenModal/CustomTokenModal.styles.ts +74 -0
- package/src/components/CustomTokenModal/CustomTokenModal.tsx +131 -0
- package/src/components/CustomTokenModal/CustomTokenModal.types.ts +10 -0
- package/src/components/CustomTokenModal/index.ts +1 -0
- package/src/components/FilterSelector/FilterSelector.style.ts +95 -0
- package/src/components/FilterSelector/FilterSelector.tsx +43 -0
- package/src/components/FilterSelector/FilterSelector.type.ts +15 -0
- package/src/components/FilterSelector/FilterSelectorContent.tsx +65 -0
- package/src/components/FilterSelector/index.ts +1 -0
- package/src/components/HeaderButtons/BackButton.tsx +20 -0
- package/src/components/HeaderButtons/CancelButton.tsx +25 -0
- package/src/components/HeaderButtons/HeaderButtons.styles.ts +96 -0
- package/src/components/HeaderButtons/HeaderButtons.tsx +106 -0
- package/src/components/HeaderButtons/HeaderButtons.types.ts +12 -0
- package/src/components/HeaderButtons/InProgressTransactionBadge.tsx +26 -0
- package/src/components/HeaderButtons/NotificationsBadge.tsx +32 -0
- package/src/components/HeaderButtons/RefreshButton.tsx +83 -0
- package/src/components/HeaderButtons/WalletButton.tsx +49 -0
- package/src/components/HeaderButtons/index.ts +4 -0
- package/src/components/HistoryGroupedList/HistoryGroupedList.helpers.ts +19 -0
- package/src/components/HistoryGroupedList/HistoryGroupedList.styles.ts +44 -0
- package/src/components/HistoryGroupedList/HistoryGroupedList.tsx +174 -0
- package/src/components/HistoryGroupedList/HistoryGroupedList.types.ts +14 -0
- package/src/components/HistoryGroupedList/index.ts +1 -0
- package/src/components/ImportCustomToken/ImportCustomToken.tsx +121 -0
- package/src/components/ImportCustomToken/ImportCustomToken.types.ts +18 -0
- package/src/components/ImportCustomToken/index.ts +1 -0
- package/src/components/Layout/Layout.constants.ts +5 -0
- package/src/components/Layout/Layout.helpers.ts +16 -0
- package/src/components/Layout/Layout.styles.ts +79 -0
- package/src/components/Layout/Layout.tsx +226 -0
- package/src/components/Layout/Layout.types.ts +21 -0
- package/src/components/Layout/PageContainer.tsx +24 -0
- package/src/components/Layout/ScrollableArea.tsx +11 -0
- package/src/components/Layout/index.ts +3 -0
- package/src/components/LoadingLiquiditySourceList/LoadingLiquiditySourceList.styles.ts +5 -0
- package/src/components/LoadingLiquiditySourceList/LoadingLiquiditySourceList.tsx +23 -0
- package/src/components/LoadingLiquiditySourceList/index.ts +1 -0
- package/src/components/LoadingSwapDetails/LoadingSwapDetails.styles.ts +76 -0
- package/src/components/LoadingSwapDetails/LoadingSwapDetails.tsx +47 -0
- package/src/components/LoadingSwapDetails/index.ts +1 -0
- package/src/components/NamespaceItem/NamespaceItem.helpers.ts +9 -0
- package/src/components/NamespaceItem/NamespaceItem.styles.ts +93 -0
- package/src/components/NamespaceItem/NamespaceItem.tsx +117 -0
- package/src/components/NamespaceItem/NamespaceItem.types.ts +14 -0
- package/src/components/NamespaceItem/NamespaceUnsupportedItem.tsx +42 -0
- package/src/components/NamespaceItem/SupportedChainsList.styles.ts +25 -0
- package/src/components/NamespaceItem/SupportedChainsList.tsx +58 -0
- package/src/components/NamespaceItem/SupportedChainsList.types.ts +5 -0
- package/src/components/NamespaceItem/index.ts +1 -0
- package/src/components/NoResult/NoResult.helpers.ts +69 -0
- package/src/components/NoResult/NoResult.styles.ts +33 -0
- package/src/components/NoResult/NoResult.tsx +93 -0
- package/src/components/NoResult/NoResult.types.ts +24 -0
- package/src/components/NoResult/index.ts +1 -0
- package/src/components/NotificationContent/NotificationContent.tsx +37 -0
- package/src/components/NotificationContent/index.ts +1 -0
- package/src/components/Quote/Quote.styles.ts +401 -0
- package/src/components/Quote/Quote.tsx +554 -0
- package/src/components/Quote/Quote.types.ts +55 -0
- package/src/components/Quote/QuoteCostDetails.styles.ts +49 -0
- package/src/components/Quote/QuoteCostDetails.tsx +235 -0
- package/src/components/Quote/QuoteSummary.styles.ts +16 -0
- package/src/components/Quote/QuoteSummary.tsx +64 -0
- package/src/components/Quote/QuoteTrigger.tsx +216 -0
- package/src/components/Quote/index.ts +2 -0
- package/src/components/QuoteSkeleton/QuoteSkeleton.styles.ts +50 -0
- package/src/components/QuoteSkeleton/QuoteSkeleton.tsx +30 -0
- package/src/components/QuoteSkeleton/QuoteSkeleton.types.ts +7 -0
- package/src/components/QuoteSkeleton/QuoteSummarySkeleton.styles.ts +55 -0
- package/src/components/QuoteSkeleton/QuoteSummarySkeleton.tsx +96 -0
- package/src/components/QuoteSkeleton/QuoteSummarySkeleton.types.ts +6 -0
- package/src/components/QuoteSkeleton/StepSkeleton.styles.ts +40 -0
- package/src/components/QuoteSkeleton/StepSkeleton.tsx +44 -0
- package/src/components/QuoteSkeleton/StepSkeleton.types.ts +1 -0
- package/src/components/QuoteSkeleton/index.ts +3 -0
- package/src/components/QuoteWarningsAndErrors/HighValueLossWarningModal.tsx +105 -0
- package/src/components/QuoteWarningsAndErrors/QuoteErrorsModalItem.tsx +40 -0
- package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.helpers.ts +119 -0
- package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.styles.ts +57 -0
- package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.tsx +142 -0
- package/src/components/QuoteWarningsAndErrors/QuoteWarningsAndErrors.types.ts +28 -0
- package/src/components/QuoteWarningsAndErrors/SlippageWariningModal.tsx +83 -0
- package/src/components/QuoteWarningsAndErrors/UnknownPriceWarningModal.tsx +45 -0
- package/src/components/QuoteWarningsAndErrors/index.ts +1 -0
- package/src/components/Quotes/Quotes.styles.ts +18 -0
- package/src/components/Quotes/Quotes.tsx +154 -0
- package/src/components/Quotes/Quotes.types.ts +11 -0
- package/src/components/Quotes/SelectStrategy.tsx +51 -0
- package/src/components/Quotes/index.ts +1 -0
- package/src/components/RefreshModal/RefreshModal.styles.ts +9 -0
- package/src/components/RefreshModal/RefreshModal.tsx +41 -0
- package/src/components/RefreshModal/RefreshModal.types.ts +4 -0
- package/src/components/RefreshModal/index.ts +1 -0
- package/src/components/SameTokensWarning/SameTokensWarning.styles.ts +7 -0
- package/src/components/SameTokensWarning/SameTokensWarning.tsx +31 -0
- package/src/components/SameTokensWarning/index.ts +1 -0
- package/src/components/SearchInput/SearchInput.styles.ts +21 -0
- package/src/components/SearchInput/SearchInput.tsx +62 -0
- package/src/components/SearchInput/SearchInput.types.ts +14 -0
- package/src/components/SearchInput/index.ts +1 -0
- package/src/components/SettingsContainer/SettingsContainer.style.ts +30 -0
- package/src/components/SettingsContainer/index.ts +5 -0
- package/src/components/Slippage/Slippage.styles.ts +35 -0
- package/src/components/Slippage/Slippage.tsx +134 -0
- package/src/components/Slippage/SlippageTooltipContent.tsx +23 -0
- package/src/components/Slippage/index.ts +1 -0
- package/src/components/SlippageWarningsAndErrors/SlippageWarningsAndErrors.helpers.ts +33 -0
- package/src/components/SlippageWarningsAndErrors/SlippageWarningsAndErrors.tsx +48 -0
- package/src/components/SlippageWarningsAndErrors/SlippageWarningsAndErrors.types.ts +3 -0
- package/src/components/StatefulConnectModal/StatefulConnectModal.tsx +215 -0
- package/src/components/StatefulConnectModal/helpers.ts +29 -0
- package/src/components/StatefulConnectModal/index.ts +2 -0
- package/src/components/SwapDetails/RequestIdRow.tsx +73 -0
- package/src/components/SwapDetails/SwapDateRow.tsx +21 -0
- package/src/components/SwapDetails/SwapDetails.Placeholder.tsx +71 -0
- package/src/components/SwapDetails/SwapDetails.helpers.tsx +138 -0
- package/src/components/SwapDetails/SwapDetails.styles.ts +115 -0
- package/src/components/SwapDetails/SwapDetails.tsx +554 -0
- package/src/components/SwapDetails/SwapDetails.types.ts +19 -0
- package/src/components/SwapDetails/index.ts +1 -0
- package/src/components/SwapDetailsAlerts/SwapDetailsAlerts.Failed.tsx +46 -0
- package/src/components/SwapDetailsAlerts/SwapDetailsAlerts.Warning.tsx +67 -0
- package/src/components/SwapDetailsAlerts/SwapDetailsAlerts.styles.ts +31 -0
- package/src/components/SwapDetailsAlerts/SwapDetailsAlerts.tsx +90 -0
- package/src/components/SwapDetailsAlerts/SwapDetailsAlerts.types.ts +31 -0
- package/src/components/SwapDetailsAlerts/index.ts +2 -0
- package/src/components/SwapDetailsModal/SwapDetailsCompleteModal.tsx +140 -0
- package/src/components/SwapDetailsModal/SwapDetailsModal.Cancel.tsx +36 -0
- package/src/components/SwapDetailsModal/SwapDetailsModal.ConnectWallet.tsx +177 -0
- package/src/components/SwapDetailsModal/SwapDetailsModal.Delete.tsx +38 -0
- package/src/components/SwapDetailsModal/SwapDetailsModal.InstallWallet.tsx +52 -0
- package/src/components/SwapDetailsModal/SwapDetailsModal.NetworkState.tsx +31 -0
- package/src/components/SwapDetailsModal/SwapDetailsModal.WalletState.tsx +49 -0
- package/src/components/SwapDetailsModal/SwapDetailsModal.styles.ts +29 -0
- package/src/components/SwapDetailsModal/SwapDetailsModal.tsx +61 -0
- package/src/components/SwapDetailsModal/SwapDetailsModal.types.ts +84 -0
- package/src/components/SwapDetailsModal/index.ts +3 -0
- package/src/components/SwapMetrics/SwapMetrics.constants.ts +4 -0
- package/src/components/SwapMetrics/SwapMetrics.helpers.ts +80 -0
- package/src/components/SwapMetrics/SwapMetrics.styles.ts +32 -0
- package/src/components/SwapMetrics/SwapMetrics.tsx +134 -0
- package/src/components/SwapMetrics/SwapMetrics.types.ts +26 -0
- package/src/components/SwapMetrics/index.ts +1 -0
- package/src/components/SwitchFromAndTo/SwitchFromAndTo.styles.ts +48 -0
- package/src/components/SwitchFromAndTo/SwitchFromAndTo.tsx +33 -0
- package/src/components/SwitchFromAndTo/index.ts +1 -0
- package/src/components/TokenList/LoadingTokenList.tsx +34 -0
- package/src/components/TokenList/TokenList.helpers.ts +11 -0
- package/src/components/TokenList/TokenList.styles.ts +211 -0
- package/src/components/TokenList/TokenList.tsx +390 -0
- package/src/components/TokenList/TokenList.types.ts +51 -0
- package/src/components/TokenList/index.ts +1 -0
- package/src/components/WalletStatefulConnect/ConnectStatus.styles.ts +38 -0
- package/src/components/WalletStatefulConnect/ConnectStatus.tsx +66 -0
- package/src/components/WalletStatefulConnect/ConnectStatus.types.ts +11 -0
- package/src/components/WalletStatefulConnect/DerivationPath.helpers.ts +24 -0
- package/src/components/WalletStatefulConnect/DerivationPath.styles.ts +21 -0
- package/src/components/WalletStatefulConnect/DerivationPath.tsx +147 -0
- package/src/components/WalletStatefulConnect/DerivationPath.types.ts +6 -0
- package/src/components/WalletStatefulConnect/Detached.styles.ts +6 -0
- package/src/components/WalletStatefulConnect/Detached.tsx +193 -0
- package/src/components/WalletStatefulConnect/Detached.types.ts +13 -0
- package/src/components/WalletStatefulConnect/ExperimentalChain.tsx +39 -0
- package/src/components/WalletStatefulConnect/ExperimentalChainStatus.helpers.ts +53 -0
- package/src/components/WalletStatefulConnect/ExperimentalChainStatus.tsx +36 -0
- package/src/components/WalletStatefulConnect/ExperimentalChainStatus.types.ts +5 -0
- package/src/components/WalletStatefulConnect/NamespaceDetachedItem.tsx +100 -0
- package/src/components/WalletStatefulConnect/NamespaceListItem.tsx +24 -0
- package/src/components/WalletStatefulConnect/Namespaces.styles.ts +11 -0
- package/src/components/WalletStatefulConnect/Namespaces.tsx +194 -0
- package/src/components/WalletStatefulConnect/Namespaces.types.tsx +39 -0
- package/src/components/WalletStatefulConnect/index.ts +5 -0
- package/src/components/common/ActivateTabAlert/ActivateTabAlert.tsx +25 -0
- package/src/components/common/ActivateTabAlert/ActivateTabAlert.types.ts +3 -0
- package/src/components/common/ActivateTabAlert/index.ts +1 -0
- package/src/components/common/ActivateTabModal/ActivateTabModal.tsx +39 -0
- package/src/components/common/ActivateTabModal/ActivateTabModal.types.ts +5 -0
- package/src/components/common/ActivateTabModal/index.ts +1 -0
- package/src/components/common/WatermarkedModal/WatermarkedModal.tsx +18 -0
- package/src/components/common/WatermarkedModal/index.ts +1 -0
- package/src/constants/configs.ts +2 -0
- package/src/constants/customTokens.ts +9 -0
- package/src/constants/errors.ts +62 -0
- package/src/constants/fonts.ts +85 -0
- package/src/constants/index.ts +11 -0
- package/src/constants/languages.ts +100 -0
- package/src/constants/messages.ts +10 -0
- package/src/constants/navigationRoutes.ts +18 -0
- package/src/constants/numbers.ts +3 -0
- package/src/constants/profileBanner.ts +3 -0
- package/src/constants/quote.ts +60 -0
- package/src/constants/routing.ts +17 -0
- package/src/constants/searchFor.ts +6 -0
- package/src/constants/searchParams.ts +18 -0
- package/src/constants/settings.ts +5 -0
- package/src/constants/swapSettings.ts +13 -0
- package/src/constants/wallets.ts +5 -0
- package/src/containers/App/App.styles.ts +16 -0
- package/src/containers/App/App.tsx +25 -0
- package/src/containers/App/index.ts +1 -0
- package/src/containers/ExpandedQuotes/ExpandedQuotes.styles.ts +44 -0
- package/src/containers/ExpandedQuotes/ExpandedQuotes.tsx +78 -0
- package/src/containers/ExpandedQuotes/ExpandedQuotes.types.ts +9 -0
- package/src/containers/ExpandedQuotes/index.ts +1 -0
- package/src/containers/Inputs/Inputs.styles.ts +12 -0
- package/src/containers/Inputs/Inputs.tsx +185 -0
- package/src/containers/Inputs/Inputs.types.ts +8 -0
- package/src/containers/Inputs/index.ts +1 -0
- package/src/containers/QuoteInfo/QuoteInfo.styles.ts +26 -0
- package/src/containers/QuoteInfo/QuoteInfo.tsx +78 -0
- package/src/containers/QuoteInfo/QuoteInfo.types.ts +20 -0
- package/src/containers/QuoteInfo/index.ts +1 -0
- package/src/containers/Refuel/Refuel.tsx +25 -0
- package/src/containers/Refuel/Refuel.types.ts +5 -0
- package/src/containers/Refuel/index.ts +1 -0
- package/src/containers/Settings/Lists.tsx +315 -0
- package/src/containers/Wallets/Wallets.helpers.ts +26 -0
- package/src/containers/Wallets/Wallets.tsx +121 -0
- package/src/containers/Wallets/Wallets.types.ts +39 -0
- package/src/containers/Wallets/index.ts +1 -0
- package/src/containers/Wallets/useUpdates.ts +248 -0
- package/src/containers/Widget/Widget.tsx +25 -0
- package/src/containers/Widget/Widget.types.ts +5 -0
- package/src/containers/Widget/index.ts +2 -0
- package/src/containers/WidgetInfo/WidgetInfo.helpers.ts +73 -0
- package/src/containers/WidgetInfo/WidgetInfo.tsx +107 -0
- package/src/containers/WidgetInfo/WidgetInfo.types.ts +34 -0
- package/src/containers/WidgetInfo/index.ts +1 -0
- package/src/containers/WidgetProvider/WidgetProvider.tsx +53 -0
- package/src/containers/WidgetProvider/WidgetProvider.types.ts +7 -0
- package/src/containers/WidgetProvider/index.ts +1 -0
- package/src/globalStyles.ts +7 -0
- package/src/hooks/useBootstrap/index.ts +1 -0
- package/src/hooks/useBootstrap/useBootstrap.ts +102 -0
- package/src/hooks/useConfirmSwap/index.ts +1 -0
- package/src/hooks/useConfirmSwap/useConfirmSwap.helpers.ts +155 -0
- package/src/hooks/useConfirmSwap/useConfirmSwap.ts +157 -0
- package/src/hooks/useConfirmSwap/useConfirmSwap.types.ts +19 -0
- package/src/hooks/useFetch.ts +59 -0
- package/src/hooks/useFetchAllQuotes.ts +21 -0
- package/src/hooks/useFetchApiConfig.ts +37 -0
- package/src/hooks/useFetchConfirmQuote.ts +21 -0
- package/src/hooks/useFetchCustomToken.ts +141 -0
- package/src/hooks/useFontLoader.ts +40 -0
- package/src/hooks/useForceAutoConnect.ts +27 -0
- package/src/hooks/useIframe/index.ts +1 -0
- package/src/hooks/useIframe/useIframe.helpers.ts +3 -0
- package/src/hooks/useIframe/useIframe.ts +55 -0
- package/src/hooks/useIframe/useIframe.types.ts +13 -0
- package/src/hooks/useLanguage.ts +28 -0
- package/src/hooks/useNavigateBack.ts +6 -0
- package/src/hooks/usePrepareBlockchainList/index.ts +1 -0
- package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.constants.ts +1 -0
- package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.helpers.ts +138 -0
- package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.mock.ts +3292 -0
- package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.test.ts +348 -0
- package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.ts +47 -0
- package/src/hooks/usePrepareBlockchainList/usePrepareBlockchainList.types.ts +17 -0
- package/src/hooks/usePrevious.ts +13 -0
- package/src/hooks/useScreenDetect.ts +55 -0
- package/src/hooks/useSearchCustomTokens/index.ts +1 -0
- package/src/hooks/useSearchCustomTokens/types.ts +9 -0
- package/src/hooks/useSearchCustomTokens/useSearchCustomTokens.constants.ts +1 -0
- package/src/hooks/useSearchCustomTokens/useSearchCustomTokens.ts +81 -0
- package/src/hooks/useStatefulConnect/index.ts +10 -0
- package/src/hooks/useStatefulConnect/useStatefulConnect.helpers.ts +13 -0
- package/src/hooks/useStatefulConnect/useStatefulConnect.state.ts +60 -0
- package/src/hooks/useStatefulConnect/useStatefulConnect.ts +390 -0
- package/src/hooks/useStatefulConnect/useStatefulConnect.types.ts +72 -0
- package/src/hooks/useSubscribeToWidgetEvents/index.ts +1 -0
- package/src/hooks/useSubscribeToWidgetEvents/useSubscribeToWidgetEvents.ts +134 -0
- package/src/hooks/useSwapInput.ts +289 -0
- package/src/hooks/useSwapMode.ts +20 -0
- package/src/hooks/useSyncNotifications/index.ts +1 -0
- package/src/hooks/useSyncNotifications/useSyncNotifications.ts +25 -0
- package/src/hooks/useSyncStoresWithConfig.ts +138 -0
- package/src/hooks/useSyncUrlAndStore/index.ts +1 -0
- package/src/hooks/useSyncUrlAndStore/useSyncUrlAndStore.helpers.ts +23 -0
- package/src/hooks/useSyncUrlAndStore/useSyncUrlAndStore.ts +185 -0
- package/src/hooks/useTheme.ts +104 -0
- package/src/hooks/useUpdateQuoteInputs/index.ts +1 -0
- package/src/hooks/useUpdateQuoteInputs/useUpdateQuoteInputs.ts +50 -0
- package/src/hooks/useWalletList.ts +144 -0
- package/src/hooks/useWalletProviders/index.ts +1 -0
- package/src/hooks/useWalletProviders/useWalletProviders.helpers.ts +19 -0
- package/src/hooks/useWalletProviders/useWalletProviders.ts +30 -0
- package/src/hooks/useWidgetEvents/index.ts +1 -0
- package/src/hooks/useWidgetEvents/useWidgetEvents.ts +9 -0
- package/src/index.ts +192 -0
- package/src/libs/tabManager/index.ts +2 -0
- package/src/libs/tabManager/tabManager.constants.ts +3 -0
- package/src/libs/tabManager/tabManager.ts +225 -0
- package/src/libs/tabManager/tabManager.types.ts +29 -0
- package/src/pages/AddCustomTokenPage.tsx +153 -0
- package/src/pages/ConfirmSwapPage.tsx +324 -0
- package/src/pages/CustomTokensPage.tsx +191 -0
- package/src/pages/HistoryPage.tsx +311 -0
- package/src/pages/Home.tsx +313 -0
- package/src/pages/LanguagePage.tsx +69 -0
- package/src/pages/LiquiditySourcePage.tsx +177 -0
- package/src/pages/Routes.tsx +71 -0
- package/src/pages/SelectBlockchainPage.tsx +114 -0
- package/src/pages/SelectSwapItemPage/SelectSwapItemPage.constants.ts +2 -0
- package/src/pages/SelectSwapItemPage/SelectSwapItemPage.helpers.ts +51 -0
- package/src/pages/SelectSwapItemPage/SelectSwapItemsPage.tsx +160 -0
- package/src/pages/SelectSwapItemPage/index.ts +1 -0
- package/src/pages/SettingsPage.tsx +67 -0
- package/src/pages/SwapDetailsPage.tsx +78 -0
- package/src/pages/WalletsPage.tsx +110 -0
- package/src/services/cacheService.ts +35 -0
- package/src/services/eventEmitter.ts +11 -0
- package/src/services/httpService.ts +13 -0
- package/src/store/AppStore.tsx +46 -0
- package/src/store/app.ts +66 -0
- package/src/store/middlewares/keepLastUpdated.ts +26 -0
- package/src/store/notification.ts +138 -0
- package/src/store/quote.ts +407 -0
- package/src/store/selectors.ts +21 -0
- package/src/store/slices/config.ts +235 -0
- package/src/store/slices/data.test.ts +456 -0
- package/src/store/slices/data.ts +394 -0
- package/src/store/slices/settings.ts +229 -0
- package/src/store/slices/types.ts +9 -0
- package/src/store/slices/wallets.ts +843 -0
- package/src/store/ui.ts +65 -0
- package/src/store/utils/data.test.ts +188 -0
- package/src/store/utils/data.ts +150 -0
- package/src/store/utils/index.ts +1 -0
- package/src/store/utils/wallets.ts +245 -0
- package/src/test-utils/fixtures.ts +265 -0
- package/src/types/config.ts +284 -0
- package/src/types/event.ts +105 -0
- package/src/types/index.ts +5 -0
- package/src/types/notification.ts +26 -0
- package/src/types/quote.ts +133 -0
- package/src/types/swap.ts +19 -0
- package/src/types/wallets.ts +29 -0
- package/src/utils/colors.ts +180 -0
- package/src/utils/common.ts +297 -0
- package/src/utils/configs.ts +95 -0
- package/src/utils/date.ts +81 -0
- package/src/utils/events.ts +27 -0
- package/src/utils/hash.ts +27 -0
- package/src/utils/meta.ts +72 -0
- package/src/utils/numbers.ts +138 -0
- package/src/utils/providers.ts +121 -0
- package/src/utils/queue.ts +24 -0
- package/src/utils/quote.ts +404 -0
- package/src/utils/sanitizers.test.ts +122 -0
- package/src/utils/sanitizers.ts +41 -0
- package/src/utils/settings.ts +124 -0
- package/src/utils/swap.ts +826 -0
- package/src/utils/time.ts +33 -0
- package/src/utils/ui.ts +89 -0
- package/src/utils/validation.test.ts +121 -0
- package/src/utils/validation.ts +45 -0
- package/src/utils/wallets.ts +551 -0
package/dist/index.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
var xC=Object.defineProperty;var i=(t,e)=>xC(t,"name",{value:e,configurable:!0});import{EventSeverity as Eee,RouteEventType as Iee,StepEventType as Aee,StepExecutionBlockedEventStatus as Nee,StepExecutionEventStatus as Bee}from"@rango-dev/queue-manager-rango-preset";import{legacyReadAccountAddress as Mee}from"@rango-dev/wallets-core/legacy";import{useWallets as Xi,Events as Pee}from"@rango-dev/wallets-react";import{Networks as Dee,WalletTypes as $ee}from"@rango-dev/wallets-shared";import{PendingSwapNetworkStatus as Oee}from"rango-types";import{Divider as Gk}from"@rango-dev/ui";import po,{useEffect as Vk,useRef as Kk,useState as kd}from"react";import{WalletState as bC}from"@rango-dev/ui";import{useWallets as EC}from"@rango-dev/wallets-react";import{useReducer as IC}from"react";function Op(t){return!!t.derivationPath}i(Op,"isStateOnDerivationPathStep");function Up(t){return!!t.namespace}i(Up,"isStateOnNamespace");var Zr={status:"init",namespace:null,derivationPath:null,selectedNamespaces:null};function zp(t,e){switch(e.type){case"needsNamespace":return{...t,status:"namespace",namespace:e.payload,derivationPath:null};case"needsDerivationPath":return{...t,status:"derivationPath",derivationPath:e.payload};case"detached":return{...t,status:"detached",namespace:{targetWallet:e.payload.targetWallet},selectedNamespaces:e.payload.selectedNamespaces};case"reset":return Zr;case"resetDerivation":return t.namespace?{...t,derivationPath:null,status:"namespace"}:Zr;default:throw new Error("Action hasn't been defined.")}}i(zp,"reducer");function Ro(){let{state:t,disconnect:e,connect:o}=EC(),[n,r]=IC(zp,Zr),a=i(async(d,f,h)=>{r({type:"reset"});try{let g=f?.map(m=>({...m,network:void 0}));return await o(d.type,g),{status:"connected"}}catch(g){let m=g?.message?`Error: ${g.message}`:"An unknown error happened during connecting wallet.";if(h?.disconnectOnError)try{await u(d)}catch{console.warn("An error happened during disconnecting wallet after error on connecting.")}throw new Error(m,{cause:g})}},"runConnect"),s=i(async(d,f)=>{let h=d.state===bC.DISCONNECTED,g=f?.forceConnectToNamespaces;if(h){let m=!!d.isHub,y=m?d.properties?.find(C=>C.name==="namespaces")?.value:d.needsNamespace,S=m?d.properties?.find(C=>C.name==="derivationPath")?.value:d.needsDerivationPath;if(g){let C=g.find(k=>!y?.data?.map(v=>v.value).includes(k));if(C)throw new Error(`One of the forced namespaces is not available in the wallet. Forced namespace: ${C}`);if(g.length>1&&S)throw new Error("Derivation path is not supported when multiple namespaces are selected.");return g.length===1&&g[0]&&S?(r({type:"needsDerivationPath",payload:{providerType:d.type,providerImage:d.image,namespace:g[0]}}),{status:"derivation-path"}):await a(d,g.map(k=>({namespace:k})),{...f,disconnectOnError:!0})}if(!y?.data?.length)return await a(d,void 0,f);if(y?.data.length&&y.data.length>1)return r({type:"needsNamespace",payload:{targetWallet:d,defaultSelectedChains:f?.defaultSelectedChains}}),{status:"namespace"};if(y?.data.length===1&&y.data[0]){if(S){let C=y.data[0];return r({type:"needsDerivationPath",payload:{providerType:d.type,providerImage:d.image,namespace:C.value}}),{status:"derivation-path"}}return await a(d,y?.data?.map(C=>({namespace:C.value})),f)}}if(d.isHub&&!f?.forceConnectToNamespaces){let m=d.properties?.find(y=>y.name==="namespaces")?.value;if(m?.data.length&&m.data.length>1)return r({type:"detached",payload:{targetWallet:d,selectedNamespaces:null}}),{status:"Detached"}}return f?.disconnectIfConnected?(await u(d),{status:"disconnected"}):{status:"disconnected-unhandled"}},"handleConnect"),c=i(async(d,f)=>{let h=!!d.isHub,g=h?d.properties?.find(k=>k.name==="namespaces")?.value:d.needsNamespace,m=h?d.properties?.find(k=>k.name==="derivationPath")?.value:d.needsDerivationPath,y=g?.selection==="single",S=f[0];if(!S)throw new Error("To confirm a namespace, you should select at least one namespace.");if(y&&m)return r({type:"needsDerivationPath",payload:{providerType:d.type,providerImage:d.image,namespace:S}}),{status:"derivation-path"};if(!Up(n))throw new Error("Something went wrong on handling namespace. Please retry.");let C=f.map(k=>({namespace:k}));return r({type:"detached",payload:{targetWallet:d,selectedNamespaces:C??null}}),{status:"Detached"}},"handleNamespace"),l=i(async(d,f,h)=>{if(!f)throw new Error("Derivation path is empty. Please make sure you've filled the field correctly.");if(!Op(n))throw new Error("It seems you are filling derivation path without setting namespace before doing that. Please retry to connect.");let m=[{namespace:n.derivationPath.namespace,derivationPath:f}],S=!!d.isHub?d.properties?.find(v=>v.name==="namespaces")?.value:d.needsNamespace,C=!!S?.data&&S.data.length>1,k=!!h?.forceConnectToNamespaces;return C&&!k?(r({type:"detached",payload:{targetWallet:d,selectedNamespaces:m??null,derivationPath:f}}),{status:"Detached"}):await a(d,m)},"handleDerivationPath"),p=i(()=>n,"getState"),u=i(async d=>{let f=t(d.type);return f.connected||f.connecting?(await e(d.type),Ao(p)?(r({type:"needsNamespace",payload:{targetWallet:d}}),{status:"namespace"}):{status:"disconnected"}):{status:"noop"}},"handleDisconnect");return{handleConnect:s,handleDisconnect:u,handleNamespace:c,handleDerivationPath:l,getState:p,resetState:d=>{r(d==="derivation"?{type:"resetDerivation"}:{type:"reset"})}}}i(Ro,"useStatefulConnect");import{WalletState as Es}from"@rango-dev/ui";import{useWallets as FT}from"@rango-dev/wallets-react";import{detectMobileScreens as OT,KEPLR_COMPATIBLE_WALLETS as UT,WalletTypes as Zn}from"@rango-dev/wallets-shared";import{useCallback as zT,useEffect as HT}from"react";import LT,{createContext as PT,useContext as _T,useEffect as DT,useRef as $T}from"react";import{create as WT}from"zustand";import{persist as MT}from"zustand/middleware";import{allProviders as AC}from"@rango-dev/provider-all";var ns=class{static{i(this,"CacheService")}#e=new Map;get(e){return this.#e.get(e)}set(e,o){this.#e.set(e,o)}remove(e){this.#e.delete(e)}clear(){this.#e.clear()}},en=new ns;import{defineVersions as Qp,pickVersion as qp,Provider as rs}from"@rango-dev/wallets-core";function Gp({allProviders:t,configWallets:e}){if(e){let o=[];return e.forEach(n=>{if(typeof n=="string"){let r=t.find(a=>{let s=is(a);return s instanceof rs?s.id===n:s.config.type===n});r?o.push(r):console.warn(`Couldn't find ${n} provider. Please make sure you are passing the correct name.`)}else n instanceof rs?o.push(Qp().version("1.0.0",n).build()):o.push(Qp().version("0.0.0",n).build())}),o}return t}i(Gp,"matchAndGenerateProviders");function is(t){try{return qp(t,"1.0.0")[1]}catch{return qp(t,"0.0.0")[1]}}i(is,"pickProviderVersionWithFallbackToLegacy");function Vp(t){return t.map(o=>is(o)).map(o=>o instanceof rs?o.id:o.config.type)}i(Vp,"configWalletsToWalletName");function Jr(t,e){return e.find(o=>o.name===t)?.displayName}i(Jr,"getBlockchainDisplayNameFor");function ht(t,e){return e.find(o=>o.name===t)?.shortName}i(ht,"getBlockchainShortNameFor");function Kp(t,e){return e.find(o=>o.name===t)?.logo}i(Kp,"getBlockchainImage");function Hn(t,e){return e.find(o=>o.id===t)?.title}i(Hn,"getSwapperDisplayName");function No(t,e){return e.find(o=>o.name===t)??null}i(No,"findBlockchain");function as(t,e){if(!e||!t)return!1;for(let o of e.feeAssets)if(t?.blockchain===o?.blockchain&&t?.symbol===o?.symbol&&t?.address===o?.address)return!0;return!1}i(as,"isTokenNative");function yt(t){return`${t.blockchain.toLowerCase()}-${t.symbol.toLowerCase()}-${(t.address??"").toLowerCase()}`}i(yt,"createTokenHash");function tn(t,e){return t.addressPatterns.filter(r=>new RegExp(r).test(e)).length>0}i(tn,"isValidTokenAddress");function Qn(t){let{config:e,meta:o}=t,n={},r=e.tokens,a=i(c=>{c.forEach(l=>{typeof l!="string"&&(l=yt(l));let p=o.tokensMapByTokenHash.get(l);p&&(n[l]=p)})},"addTokens");if(Array.isArray(r))return r.length>0?(a(r),Object.values(n)):Array.from(o.tokensMapByTokenHash.values());if(!r)return Array.from(o.tokensMapByTokenHash.values());let s;if(e.blockchains?.length)s=e.blockchains;else{s=Object.keys(r);let c=new Set(s);Object.keys(o.tokensMapByBlockchainName).forEach(l=>{let p=o.tokensMapByBlockchainName[l];!c.has(l)&&p&&a(p)})}return s.forEach(c=>{let l=r[c];if(!l&&o.tokensMapByBlockchainName?.[c]){a(o.tokensMapByBlockchainName[c]);return}l&&(l.isExcluded&&o.tokensMapByBlockchainName[c]?(a(o.tokensMapByBlockchainName[c]),l.tokens.forEach(p=>{let u=yt(p);delete n[u]})):a(l.tokens))}),Object.values(n)}i(Qn,"matchTokensFromConfigWithMeta");function Rr(t){let{config:e}=t,o=e.from?.blockchains||[],n=e.to?.blockchains||[];if(!o.length||!n.length)return[];let r=[...o,...n],a=new Set(r);return Array.from(a)}i(Rr,"getSupportedBlockchainsFromConfig");function Xp(t){return{walletConnectProjectId:t?.walletConnectProjectId,trezorManifest:t?.trezorManifest,tonConnect:t?.tonConnect,walletConnectListedDesktopWalletLink:t.__UNSTABLE_OR_INTERNAL__?.walletConnectListedDesktopWalletLink}}i(Xp,"makeProvidersOptionsFromConfig");var on={apiKey:"",title:void 0,multiWallets:!0,excludeLiquiditySources:!0,customDestination:!0,variant:"default",trezorManifest:{appUrl:"https://widget.rango.exchange/",email:"hi+trezorwidget@rango.exchange"},tonConnect:{manifestUrl:"https://raw.githubusercontent.com/rango-exchange/rango-types/main/assets/manifests/tonconnect-manifest.json"}},NC={clientUrl:void 0},BC={liquiditySources:void 0};function jp(t){let e=Xp(t),o={walletconnect2:{WC_PROJECT_ID:e?.walletConnectProjectId||"",DISABLE_MODAL_AND_OPEN_LINK:e?.walletConnectListedDesktopWalletLink},selectedProviders:t.wallets,trezor:e?.trezorManifest?{manifest:e.trezorManifest}:void 0,tonConnect:e?.tonConnect?.manifestUrl?{manifestUrl:e?.tonConnect.manifestUrl}:void 0};return AC(o).map(a=>a())}i(jp,"generateProviders");var Yp=i((t,e,o)=>{let n=jp({...on,...t});return{config:{...on,...t},iframe:NC,campaignMode:BC,allProviders:n,getLiquiditySources:()=>{let{config:r,campaignMode:a}=o();return a.liquiditySources?.length?a.liquiditySources:r.liquiditySources??[]},getDisabledLiquiditySources:()=>{let{disabledLiquiditySources:r,campaignMode:a}=o();return a.liquiditySources?.length?[]:r},excludeLiquiditySources:()=>{let{config:r,campaignMode:a}=o();return a.liquiditySources?.length?!1:!!r.excludeLiquiditySources},isInCampaignMode:()=>{let{campaignMode:r}=o();return!!r.liquiditySources?.length},updateConfig:r=>{let a=o().config,{_tokensMapByTokenHash:s,_tokensMapByBlockchainName:c}=o(),l=Qn({type:"source",config:{blockchains:r.from?.blockchains,tokens:r.from?.tokens},meta:{tokensMapByBlockchainName:c,tokensMapByTokenHash:s}}),p=Qn({type:"destination",config:{blockchains:r.to?.blockchains,tokens:r.to?.tokens},meta:{tokensMapByBlockchainName:c,tokensMapByTokenHash:s}});en.set("supportedSourceTokens",l),en.set("supportedDestinationTokens",p),e({config:{...a,...r}})},updateCampaignMode:(r,a)=>{let s=o().campaignMode;e({campaignMode:{...s,[r]:a}})},updateIframe:(r,a)=>{let s=o().iframe;e({iframe:{...s,[r]:a}})},buildAndSetProviders:()=>{let{config:r}=o(),a=jp(r);e({allProviders:a})},getAvailableProviders:()=>{let{allProviders:r,config:a}=o(),s=Xp(a);return Gp({allProviders:r,configWallets:a.wallets,options:s})}}},"createConfigSlice");import{TransactionType as Zp}from"rango-types";var Jp=[Zp.EVM,Zp.SOLANA],ei="https://raw.githubusercontent.com/rango-exchange/assets/refs/heads/main/common/unknown-image.png";import{RangoClient as VC}from"rango-sdk";import{UI_ID as WC}from"@rango-dev/ui";var ti="c6381a79-2817-4602-83bf-6a641a409e32",Rp="https://api.rango.exchange",eu="https://explorer.rango.exchange",Re={SWAP_BOX_ID:"rango-swap-box",EXPANDED_BOX_ID:"rango-expanded-box",...WC};import{BlockchainCategories as FC,WalletState as lt}from"@rango-dev/ui";import{legacyReadAccountAddress as OC}from"@rango-dev/wallets-core/legacy";import{detectInstallLink as UC,getCosmosExperimentalChainInfo as zC,isEvmAddress as HC,KEPLR_COMPATIBLE_WALLETS as LW,Networks as wu}from"@rango-dev/wallets-shared";import rn from"bignumber.js";import{isCosmosBlockchain as QC}from"rango-types";import MC from"bignumber.js";var pe=new MC(0);import{WalletTypes as LC}from"@rango-dev/wallets-shared";var Bo="~",tu=[LC.LEAP];import{BlockchainCategories as ls,WalletState as $C}from"@rango-dev/ui";import{TransactionType as oi}from"rango-sdk";var ou="Roboto",ss=[{name:"Roboto",value:"Roboto",url:""},{name:"Times New Roman",value:"Times New Roman",url:"https://fonts.cdnfonts.com/css/times-new-roman"},{name:"Arial",value:"Arial",url:""},{name:"Open Sans",value:"Open Sans",url:"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap"},{name:"Noto Sans",value:"Noto Sans",url:"https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap"},{name:"Montserrat",value:"Montserrat",url:"https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap"},{name:"Poppins",value:"Poppins",url:"https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap"},{name:"Roboto Condensed",value:"Roboto Condensed",url:"https://fonts.googleapis.com/css2?family=Roboto+Condensed:ital,wght@0,100..900;1,100..900&display=swap"},{name:"Roboto Mono",value:"Roboto Mono",url:"https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,100..700;1,100..700&display=swap"},{name:"Oswald",value:"Oswald",url:"https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap"},{name:"Raleway",value:"Raleway",url:"https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&display=swap"},{name:"Sedan",value:"Sedan",url:"https://fonts.googleapis.com/css2?family=Sedan:ital@0;1&display=swap"},{name:"Inter",value:"Inter",url:"https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap"},{name:"Rubik",value:"Rubik",url:"https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300..900;1,300..900&display=swap"},{name:"Lora",value:"Lora",url:"https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&display=swap"},{name:"Barlow Condensed",value:"Barlow Condensed",url:"https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap"}];function nn(t){return Array.from(new Set(t))}i(nn,"removeDuplicateFrom");function ni(t,e){let o;return n;function n(...r){o&&clearTimeout(o),o=setTimeout(()=>{o=null,t(...r)},e)}}i(ni,"debounce");function st(t,e){return t.toLowerCase().indexOf(e.toLowerCase())>-1}i(st,"containsText");function iu(t,e){return t.toLowerCase()===e.toLowerCase()}i(iu,"exactText");function au(t,e){return t.toLowerCase().startsWith(e.toLowerCase())}i(au,"startWithText");var B=i(()=>document.getElementById(Re.SWAP_BOX_ID),"getContainer"),Wo=i(()=>document.getElementById(Re.EXPANDED_BOX_ID),"getExpanded");function su(t,e,o){let n=!!e&&iu(e,t),r=!!o&&iu(o,t);return n!==r?n?-1:1:0}i(su,"compareExactMatchText");function cs(t,e,o){let n=!!e&&st(e,t),r=!!o&&st(o,t);return n!==r?n?-1:1:n&&r&&e?.length!==o?.length?e?.length-o?.length:0}i(cs,"compareContainsText");function ps(t,e,o){let n=!!e&&au(e,t),r=!!o&&au(o,t);return n!==r?n?-1:1:n&&r&&e?.length!==o?.length?e?.length-o?.length:0}i(ps,"compareStartWithText");function lu(t,e,o){if(!o)return 0;let n=su(o,t.symbol,e.symbol);if(n)return n;if(o.length>=3){let r=su(o,t.name,e.name);if(r)return r}if(o.length>=2){let r=ps(o,t.symbol,e.symbol);if(r)return r}if(o.length>=3){let r=cs(o,t.symbol,e.symbol);if(r)return r}if(o.length>=3){let r=ps(o,t.name,e.name);if(r)return r}if(o.length>=3){let r=cs(o,t.name,e.name);if(r!==0)return r}if(o.length>=4){let r=ps(o,t.address,e.address);if(r)return r}if(o.length>=4){let r=cs(o,t.address,e.address);if(r!==0)return r}return 0}i(lu,"compareWithSearchFor");var ri=i((t,e)=>{switch(e){case ls.ALL:return!0;case ls.UTXO:return t===oi.TRANSFER;case ls.OTHER:return t!==oi.TRANSFER&&t!==oi.COSMOS&&t!==oi.EVM;default:return t===e}},"isBlockchainTypeInCategory"),cu=i(t=>ss.find(o=>o.value===t)?.url,"getFontUrlByName");function pu(t,e){let o=!!t.find(n=>n.state===$C.CONNECTED);return e===!1&&o}i(pu,"isSingleWalletActive");function uu(){let t,e;return(o,n)=>((!e||!t||t!==n)&&(t=n,e=o()),e)}i(uu,"memoizedResult");function du(t,e){let o=new Set;return e.forEach(n=>{o.add(n.blockchain)}),t.filter(n=>o.has(n.name))}i(du,"filterBlockchainsWithAtLeastOneToken");import{BigNumber as Tu}from"bignumber.js";function mu(t){return t.replace(/^0+(?=\d)/g,"")}i(mu,"removeLeadingZeros");function fu(t){return t.replace(/^\.(\d+)/,"0.$1")}i(fu,"ensureLeadingZeroForDecimal");function gu(t){return t.replace(/\B(?=(\d{3})+(?!\d))/g,",")}i(gu,"formatThousandsWithCommas");function hu(t){return t.replace(/\s+/g,"-")}i(hu,"replaceSpacesWithDash");function yu(t){return t.replace(/(\.\d*?[1-9])0+$/,"$1").replace(/\.0+$/,"")}i(yu,"stripTrailingZeros");function ii(t){return/^0+(?:\.0+)?$/.test(t)}i(ii,"isZeroValue");function Su(t,e=2){let o=`^(?:0|[1-9]\\d*)(?:\\.\\d{1,${e}})?$`;return new RegExp(o).test(t)}i(Su,"isValidCurrencyFormat");function Cu(t){return/\d+$/.test(t)}i(Cu,"isColorKeyOverridden");var qn=i(t=>{let e=Math.floor(t%60/15)*15,o=parseInt((t/60).toString());return o>=60?`${Math.floor(o/5)*5}:00`:`${o.toString().padStart(2,"0")}:${e.toString().padStart(2,"0")}`},"roundedSecondsToString"),P=i((t,e=null,o=null)=>{if(t==null||t==="")return"";let n=new Tu(t),r=1,a=1e3;for(let s=0;s<60;s++)if(new Tu(n.toFixed(s,r)).eq(n)){a=s;break}if(n.gte(1e4))return n.toFormat(0,r);if(n.gte(1e3)||n.gte(100))return n.toFormat(Math.min(a,Math.min(o||100,Math.max(e||0,1))),r);if(n.gte(1))return n.toFormat(Math.min(a,Math.min(o||100,Math.max(e||0,2))),r);if(n.gte(.01))return n.toFormat(Math.min(a,Math.min(o||100,Math.max(e||0,4))),r);for(let s=e||4;s<17;s++)if(n.gte(Math.pow(10,-s)))return n.toFormat(Math.min(a,Math.min(o||100,Math.max(e||0,s))),r);return n.isEqualTo(0)?"0":n.toFormat(Math.min(a,Math.min(o||100,Math.max(e||0,8))),r)},"numberToString");var ai=i(t=>t?.reduce((e,o)=>e+(o.estimatedTimeInSeconds??0),0)||0,"totalArrivalTime");var Pt=i((t,e)=>t.toLowerCase().indexOf(e.toLowerCase())>-1,"containsText"),Gn=i(t=>!!t&&parseFloat(t)>0,"isPositiveNumber");function ku(t){return ii(t)?"0":yu(t)}i(ku,"sanitizeInputAmount");function Vn(t,e){return GC(t,e)?lt.PARTIALLY_CONNECTED:e.connected?lt.CONNECTED:e.connecting?lt.CONNECTING:e.installed?lt.DISCONNECTED:lt.NOT_INSTALLED}i(Vn,"getWalletConnectionStatus");function vu(t,e,o,n){return o.filter(r=>!tu.includes(r)).filter(r=>{let{supportedChains:a,isContractWallet:s}=e(r),{installed:c,network:l}=t(r);return s&&(!c||!!n&&l!==n)?!1:n?!!a.find(u=>u.name===n):!0}).map(r=>{let{name:a,img:s,installLink:c,showOnMobile:l,needsNamespace:p,supportedChains:u,needsDerivationPath:d,properties:f,isHub:h}=e(r),g=nn(u.map(y=>y.type)),m=Vn(e(r),t(r));return{title:a,image:s,link:UC(c),state:m,type:r,showOnMobile:l,needsNamespace:p,blockchainTypes:g,needsDerivationPath:d,properties:f,isHub:h}})}i(vu,"mapWalletTypesToWalletInfo");function Kn(t){if(!t)return null;let e=[];return e=t.map(o=>o.name),e}i(Kn,"walletAndSupportedChainsNames");function ds(t,e,o,n,r){let a=[];function s(l,p,u){if(!!!a.find(f=>f.chain===l)){let f={address:p,chain:l,walletType:t,isContractWallet:u??!1};a.push(f)}}i(s,"addAccount");let c=n||[];return e.forEach(l=>{let{address:p,network:u}=OC(l),d=c.length>0,f=c.includes(u),h=u===wu.Unknown;if(d&&!f&&!h)return;let m=u===wu.Unknown&&HC(p);if(h&&!m)return;o.includes(u)||m?r?s(u,p.toLowerCase(),r):c.filter(C=>o.includes(C)).forEach(C=>{s(C,p.toLowerCase())}):s(u,p)}),a}i(ds,"prepareAccountsForWalletStore");function Mo(t){let{filter:e,quote:o}=t,n=new Set;return o?.swaps.forEach((r,a)=>{let s=r.from.blockchain,c=r.to.blockchain;if(n.add(s),r.internalSwaps){let{internalSwaps:l}=r;l.forEach((p,u)=>{let d=p.from.blockchain,f=p.to.blockchain,h=a===o.swaps.length-1,g=u===l.length-1;(!h&&!g||h&&c!==d||e==="all")&&n.add(d),e==="all"&&n.add(f)})}e==="all"&&n.add(c)}),Array.from(n)}i(Mo,"getQuoteChains");function jn(t,e){return t.address===e.address&&t.chain===e.chain&&t.walletType===e.walletType}i(jn,"isAccountAndWalletMatched");var xu=i(t=>{let e=Object.values(t).reduce((o,n)=>{let r=n.usdValue?us(n.usdValue,n.decimals):pe.toFixed();return o.plus(r)},new rn(pe));return qC(e.toString())},"calculateWalletUsdValue");function qC(t){let e=t.toString().split(".");return e[0]&&(e[0]=gu(e[0])),e.join(".")}i(qC,"numberWithThousandSeparator");var ci=i((t,e)=>{let o=zC(Object.entries(t).map(([,n])=>n).filter(QC));return o&&!!o[e]?.experimental},"isExperimentalChain");function us(t,e){return new rn(t).shiftedBy(-e).toFixed()}i(us,"representAmountInNumber");function pi(t){if(!t)return null;let e=us(t.amount,t.decimals),o=t.usdValue?us(t.usdValue,t.decimals):null,n=P(e,8,8),r=o?P(o,4,4):null;return t?{...t,amount:n,usdValue:r}:null}i(pi,"formatBalance");function bu(t,e){if(t?.usdValue||e?.usdValue){let o=t&&t.usdValue?new rn(t.usdValue).shiftedBy(-t.decimals):pe,n=e&&e.usdValue?new rn(e.usdValue).shiftedBy(-e.decimals):pe;return o.isEqualTo(n)?0:o.isGreaterThan(n)?-1:1}if(t?.amount||e?.amount){let o=t&&t.amount?new rn(t.amount).shiftedBy(-t.decimals):pe,n=e&&e.amount?new rn(e.amount).shiftedBy(-e.decimals):pe;return o.isEqualTo(n)?0:o.isGreaterThan(n)?-1:1}return 0}i(bu,"compareTokenBalance");function qt(t,e){return t?.blockchain===e?.blockchain&&t?.symbol.toLowerCase()===e?.symbol.toLowerCase()&&t?.address?.toLowerCase()===e?.address?.toLowerCase()}i(qt,"areTokensEqual");function Eu(t){return t.sort((e,o)=>+(o.state===lt.CONNECTED)-+(e.state===lt.CONNECTED)||+(o.state===lt.PARTIALLY_CONNECTED)-+(e.state===lt.PARTIALLY_CONNECTED)||+(o.state===lt.DISCONNECTED||o.state===lt.CONNECTING)-+(e.state===lt.DISCONNECTED||e.state===lt.CONNECTING))}i(Eu,"sortWalletsBasedOnConnectionState");function lo(t,e=8,o=3){if(t.length<2*e+o)return t;let n=t.slice(0,e),r=t.slice(-e);return`${n}${".".repeat(o)}${r}`}i(lo,"getConciseAddress");function Iu({chain:t,connectedWallets:e,walletType:o}){return e.find(n=>n.walletType===o&&n.chain===t)?.address}i(Iu,"getAddress");var Au=i((t,e)=>!!t.find(o=>o.chain===e&&o.loading),"isFetchingBalance");function Nu(t){return t.map(e=>e.state).join("-")}i(Nu,"hashWalletsState");function Bu(t,e){let o=new Set;return t.forEach(r=>{r.blockchainTypes.forEach(a=>{o.add(a)})}),e.filter(r=>o.has(r.type))}i(Bu,"filterBlockchainsByWalletTypes");function Wu(t,e){return e===FC.ALL?t:t.filter(o=>{for(let n of o.blockchainTypes)if(ri(n,e))return!0;return!1})}i(Wu,"filterWalletsByCategory");function GC(t,e){if(!t.isHub||!t.needsNamespace||!e.connected)return!1;let n=t.needsNamespace.data.filter(r=>!r.unsupported);return t.needsNamespace.selection==="multiple"&&n.some(r=>!e.namespaces?.get(r.value)?.connected)}i(GC,"checkIsWalletPartiallyConnected");var ms={API_KEY:ti};function Gt(t){return ms[t]||""}i(Gt,"getConfig");function Mu(t){let e;return typeof structuredClone=="function"?e=structuredClone(t):e=JSON.parse(JSON.stringify(t)),ms=e,ms}i(Mu,"initConfig");var Lu=20,Pu=25,fs="theme-widget",gs=i((t,e)=>{let o=!1;if(e&&t){if(Array.isArray(e))o=!e.some(n=>qt(n,t));else if(!Array.isArray(e)){let n=e[t.blockchain];if(n){o=!!n.tokens.some(a=>qt(a,t));let r=n.isExcluded;return!r&&!o||r&&o}}}return o},"isTokenExcludedInConfig"),hs=i((t,e)=>t&&e&&!e.includes(t.name),"isBlockchainExcludedInConfig"),_u=i((t,e,o)=>o==="expanded"&&(t||e)||o==="full-expanded"&&e,"isVariantExpandable");var ui,ct=i(()=>ui||(ui=new VC(Gt("API_KEY"),Gt("BASE_URL")),ui),"httpService");import{i18n as $u}from"@lingui/core";var di=[.5,1,3],mi=1,an=5,Xn=30,fi=0;var Ye=(a=>(a[a.NO_RESULT=0]="NO_RESULT",a[a.REQUEST_FAILED=1]="REQUEST_FAILED",a[a.REQUEST_CANCELED=2]="REQUEST_CANCELED",a[a.BRIDGE_LIMIT=3]="BRIDGE_LIMIT",a[a.INSUFFICIENT_SLIPPAGE=4]="INSUFFICIENT_SLIPPAGE",a))(Ye||{});import{WidgetEvents as Du}from"@rango-dev/queue-manager-rango-preset";var ys=(o=>(o.QUOTE_INPUT_UPDATE="quoteInputUpdate",o.QUOTE_OUTPUT_UPDATE="quoteOutputUpdate",o))(ys||{}),Ss=(o=>(o.CONNECT="connect",o.DISCONNECT="disconnect",o))(Ss||{}),Cs=(e=>(e.CLICK_CONNECT_WALLET="clickConnectWallet",e))(Cs||{}),sn=(a=>(a[a.RouteEvent=Du.RouteEvent]="RouteEvent",a[a.StepEvent=Du.StepEvent]="StepEvent",a.QuoteEvent="quoteEvent",a.WalletEvent="walletEvent",a.UiEvent="uiEvent",a))(sn||{});function gi(t,e){let o=t.map(a=>a.swapperGroup),n=[];return nn(t.map(a=>a.swapperGroup)).map(a=>{let s=t.find(c=>c.swapperGroup===a);if(s){let c=!0;o&&(c=o.some(l=>l===s.swapperGroup)),c&&s.types.map(l=>{n.push({id:s.swapperGroup,groupTitle:s.swapperGroup,logo:s.logo,type:l,selected:!e.includes(s.swapperGroup)})})}}),n}i(gi,"getUniqueSwappersGroups");function Fu(t,e){return t.swapperGroup<e.swapperGroup?-1:t.swapperGroup>e.swapperGroup?1:0}i(Fu,"sortLiquiditySourcesByGroupTitle");function et(t,e){return e?.[t]==="hidden"}i(et,"isFeatureHidden");function ln(t,e){return e?.[t]==="enabled"}i(ln,"isRoutingEnabled");var Ou=i((t,e,o)=>et("customTokens",o)?t:t.concat(e),"addCustomTokensToSupportedTokens");function cn(t){return t==fi?{type:"error",message:$u.t("Slippage must be greater than or equal to 0.01")}:t>an&&t<=Xn?{type:"warning",message:$u.t("Your transaction is at risk of being frontrun due to high slippage tolerance."),quoteValidation:{type:3,slippage:t.toString()}}:null}i(cn,"getSlippageValidation");var Uu=i((t,e)=>({_blockchainsMapByName:new Map,_tokensMapByTokenHash:new Map,_tokensMapByBlockchainName:{},_popularTokens:[],_swappers:[],fetchStatus:"loading",blockchains:o=>{let n=e()._blockchainsMapByName,r=Array.from(n?.values()||[]);if(!o||!o?.type)return r;let a=e().config;if(o.type==="custom-token"){let l=Rr({config:a}),p=r;return l.length>0&&(p=p.filter(u=>l.includes(u.name))),p.filter(u=>Jp.includes(u.type))}let s=(o.type==="source"?a.from?.blockchains:a.to?.blockchains)??[];return r.filter(l=>!(s.length>0&&!s.includes(l.name)))},tokens:o=>{let{_tokensMapByTokenHash:n,_tokensMapByBlockchainName:r,config:a,_customTokens:s}=e(),c=Array.from(n.values()),l=e()._blockchainsMapByName;if(!o||!o.type)return c;let p=o.type==="source"?"from":"to",u=o.type==="source"?"supportedSourceTokens":"supportedDestinationTokens",d=en.get(u);d?.length||(d=Qn({type:o.type,config:{blockchains:a[p]?.blockchains,tokens:a[p]?.tokens},meta:{tokensMapByTokenHash:n,tokensMapByBlockchainName:r}}),en.set(u,d)),d=Ou(d,s,a.features);let f=e().blockchains({type:o.type});return d.filter(g=>o.blockchain&&g.blockchain!==o.blockchain||!f.some(m=>m.name===g.blockchain)?!1:o.searchFor?!!(st(g.symbol,o.searchFor)||st(g.address||"",o.searchFor)||st(g.name||"",o.searchFor)):!0).sort((g,m)=>{let y=e().isTokenPinned(g,o.type),S=e().isTokenPinned(m,o.type);if(y!==S)return y?-1:1;if(o.getBalanceFor){let I=o.getBalanceFor(g),A=o.getBalanceFor(m),b=bu(I,A);if(b!==0)return b}let C=l.get(g.blockchain),k=l.get(m.blockchain),v=as(g,C),w=as(m,k);if(v!==w)return v?-1:1;if(g.isPopular!==m.isPopular)return g.isPopular?-1:1;if(o.searchFor){let I=lu(g,m,o.searchFor);if(I)return I}return g.isSecondaryCoin!==m.isSecondaryCoin?g.isSecondaryCoin?1:-1:C&&k?C.sort-k.sort:0})},findToken:o=>{let n=e()._tokensMapByTokenHash,r=e().customTokens(),a=yt(o),s=n.get(a);return s||(s=r.find(c=>yt(c)===a)),s},findNativeToken:o=>{let n=o.feeAssets[0];return e().findToken({blockchain:o.name,address:n.address,symbol:n.symbol})},isTokenPinned:(o,n)=>!!(n==="source"?e().config.from?.pinnedTokens:e().config.to?.pinnedTokens)?.some(s=>qt(s,o)),swappers:()=>{let{config:o,campaignMode:n}=e(),r=n.liquiditySources?.length?n.liquiditySources:null,a=r??o.liquiditySources,s=r?!1:o.excludeLiquiditySources;return e()._swappers.filter(p=>{let u=a?.includes(p.swapperGroup);return s||!a||a.length===0?!u:u}).sort(Fu)},fetch:async()=>{try{let{routing:o}=e().config,n=ln("enableCentralizedSwappers",o),r=await ct().getAllMetadata({enableCentralizedSwappers:n});t({fetchStatus:"success"});let a=new Map,s=new Map,c={},l=r.popularTokens,p=r.swappers.filter(d=>d.enabled);r.blockchains.sort((d,f)=>d.sort-f.sort).forEach(d=>{d.enabled&&a.set(d.name,d)}),r.tokens.forEach(d=>{let f=yt(d);c[d.blockchain]||(c[d.blockchain]=[]),s.set(f,d),c[d.blockchain]?.push(f)}),t({_blockchainsMapByName:a,_tokensMapByTokenHash:s,_tokensMapByBlockchainName:c,_popularTokens:l,_swappers:p})}catch(o){throw t({fetchStatus:"failed"}),o}}}),"createDataSlice");import{Bengali as KC,Catalonia as jC,Chinese as zu,Denmark as XC,English as YC,Finland as ZC,French as JC,German as RC,Greece as eT,Hungary as tT,India as oT,Indonesian as nT,Italian as rT,Japanese as iT,Korea as aT,Lithuania as sT,Malay as lT,Netherlands as cT,Pakistan as pT,Philippines as uT,Poland as dT,Portuguese as mT,Russian as fT,SaudiArabia as gT,Serbia as hT,Slovakia as yT,SouthAfrica as ST,Spanish as CT,Swahili as TT,Swedish as kT,Thai as wT,Turkish as vT,Ukrainian as xT,Vietnamese as bT}from"@rango-dev/ui";var Hu=[{title:"Afrikaans",label:"Afrikaans",local:"af",SVGFlag:ST},{title:"Arabic",label:"\u0639\u0631\u0628\u064A",local:"ar",SVGFlag:gT},{title:"Bengali",label:"\u09AC\u09BE\u0982\u09B2\u09BE",local:"bn",SVGFlag:KC},{title:"Catalan",label:"Catal\xE0",local:"ca",SVGFlag:jC},{title:"Chinese (Simplified)",label:"\u7B80\u4F53\u4E2D\u6587",local:"zh-CN",SVGFlag:zu},{title:"Chinese (Traditional)",label:"\u4E2D\u6587\uFF08\u7E41\u9AD4)",local:"zh-TW",SVGFlag:zu},{title:"Danish",label:"Dansk",local:"da",SVGFlag:XC},{title:"Dutch",label:"Nederlands",local:"nl",SVGFlag:cT},{title:"English",label:"English",local:"en",SVGFlag:YC},{title:"Filipino",label:"Filipino",local:"fil",SVGFlag:uT},{title:"Finnish",label:"Suomalainen",local:"fi",SVGFlag:ZC},{title:"French",label:"Fran\xE7ais",local:"fr",SVGFlag:JC},{title:"German",label:"Deutsch",local:"de",SVGFlag:RC},{title:"Greek",label:"\u03B5\u03BB\u03BB\u03B7\u03BD\u03B9\u03BA\u03AC",local:"el",SVGFlag:eT},{title:"Hindi",label:"\u0939\u093F\u0902\u0926\u0940",local:"hi",SVGFlag:oT},{title:"Hungarian",label:"Magyar",local:"hu",SVGFlag:tT},{title:"Indonesian",label:"Indonesia",local:"id",SVGFlag:nT},{title:"Italian",label:"Italiana",local:"it",SVGFlag:rT},{title:"Japanese",label:"\u65E5\u672C\u8A9E",local:"ja",SVGFlag:iT},{title:"Korean",label:"\uD55C\uAD6D\uC778",local:"ko",SVGFlag:aT},{title:"Lithuanian",label:"Lietuvi\u0173",local:"lt",SVGFlag:sT},{title:"Malay",label:"Melayu",local:"ms",SVGFlag:lT},{title:"Polish",label:"Polski",local:"pl",SVGFlag:dT},{title:"Portuguese",label:"Portugu\xEAs",local:"pt",SVGFlag:mT},{title:"Russian",label:"\u0420\u0443\u0441\u0441\u043A\u0438\u0439",local:"ru",SVGFlag:fT},{title:"Serbian",label:"C\u0440\u043F\u0441\u043A\u0438",local:"sr",SVGFlag:hT},{title:"Slovak",label:"Slovensk\xFD",local:"sk",SVGFlag:yT},{title:"Spanish",label:"Espa\xF1ol",local:"es",SVGFlag:CT},{title:"Swahili",label:"Kiswahili",local:"sw",SVGFlag:TT},{title:"Swedish",label:"Svenska",local:"sv",SVGFlag:kT},{title:"Thai",label:"\u0E41\u0E1A\u0E1A\u0E44\u0E17\u0E22",local:"th",SVGFlag:wT},{title:"Turkish",label:"T\xFCrk\xE7e",local:"tr",SVGFlag:vT},{title:"Ukrainian",label:"Y\u043A\u0440\u0430\u0457\u043D\u0456",local:"uk",SVGFlag:xT},{title:"Urdu",label:"\u0627\u0631\u062F\u0648",local:"ur",SVGFlag:pT},{title:"Vietnamese",label:"Ti\u1EBFng Vi\u1EC7t",local:"vi",SVGFlag:bT}],pn="en";var Qu=i((t,e)=>({disabledLiquiditySources:[],theme:"auto",language:null,preferredBlockchains:[],slippage:mi,customSlippage:null,infiniteApprove:!1,affiliateRef:null,affiliatePercent:null,affiliateWallets:null,_customTokens:[],quoteTokensRate:"default",changeQuoteTokensRate:()=>t(o=>({quoteTokensRate:o.quoteTokensRate==="default"?"reversed":"default"})),addPreferredBlockchain:o=>{let n=e().preferredBlockchains;if(n.find((s,c)=>{let l=s===o,p=c<=9;return l&&p}))return;let a=n.filter(s=>!(s===o));t(()=>({preferredBlockchains:[o,...a]}))},setSlippage:o=>t(()=>({slippage:o})),setCustomSlippage:o=>t(()=>({customSlippage:o})),setAffiliateRef:o=>t(()=>({affiliateRef:o})),setAffiliatePercent:o=>t(()=>({affiliatePercent:o})),setAffiliateWallets:o=>t(()=>({affiliateWallets:o})),toggleAllLiquiditySources:(o,n)=>t(r=>{if(n)return{disabledLiquiditySources:[]};let a=nn(o.map(s=>s.swapperGroup));return a.length===r.disabledLiquiditySources.length?{disabledLiquiditySources:[]}:{disabledLiquiditySources:a}}),toggleInfiniteApprove:()=>t(o=>({infiniteApprove:!o.infiniteApprove})),toggleLiquiditySource:o=>t(n=>n.disabledLiquiditySources.includes(o)?{disabledLiquiditySources:n.disabledLiquiditySources.filter(r=>r!=o)}:{disabledLiquiditySources:n.disabledLiquiditySources.concat(o)}),setTheme:o=>t(()=>({theme:o})),setLanguage:o=>t(()=>({language:o})),updateSettings:o=>{let{features:n,theme:r}=o,a=et("theme",n),s=et("language",n),c=et("liquiditySource",n),l=r?.singleTheme,p=o?.__UNSTABLE_OR_INTERNAL__?.autoUpdateSettings;t({...a&&{theme:o.theme?.mode||"auto"},...l&&{theme:o.theme?.mode||"light"},...s&&{language:o.language||pn},...c&&{disabledLiquiditySources:o.liquiditySources||[]},...p&&{language:o.language||pn}})},setCustomToken:o=>{e().fetchCustomTokensBalances({tokens:[o],connectedWallets:e().connectedWallets}),t(n=>({_customTokens:[o,...n._customTokens]}))},deleteCustomToken:o=>t(n=>({_customTokens:n._customTokens.filter(r=>r.address!==o.address)})),customTokens:()=>{let o=e().config,n=e()._customTokens,r=Rr({config:o});return r.length?n.filter(a=>r.includes(a.blockchain)):n}}),"createSettingsSlice");import bs from"bignumber.js";import ET from"mitt";var we=ET(),IT={on:we.on,off:we.off};var qu=i(t=>(e,o,n)=>t(i((...a)=>{let[s,...c]=a;e(l=>({...typeof s=="function"?s(l):s,lastUpdatedAt:+new Date}),...c)},"modifedSet"),o,n),"keepLastUpdated");import Gu from"bignumber.js";function Vt(t){return`${t.blockchain}${Bo}${t.address}${Bo}${t.symbol}`}i(Vt,"createAssetKey");function Vu(t,e){return`${Vt(e)}${Bo}${t}`}i(Vu,"createBalanceKey");function Yn(t){let[e,o,n]=t.split(Bo);return!e||!o||!n?null:{address:o==="null"?null:o,blockchain:e,symbol:n}}i(Yn,"extractAssetFromBalanceKey");function ks(t,e,o){return e.balances?.forEach(n=>{let r=n.price??t.findToken(n.asset)?.usdPrice;t._aggregatedBalances[Vt(n.asset)]?.forEach(s=>{o[s]&&(o[s]={...o[s],usdValue:r?new Gu(r??pe).multipliedBy(o[s].amount).toString():""})})}),o}i(ks,"computeNextBalancesWithNewPrices");function ws(t,e){let o={};return t.balances?.forEach(n=>{let r=Vu(t.address,n.asset),a=n.amount.amount,s=n.amount.decimals,c=n.price??e().findToken(n.asset)?.usdPrice,l=c?new Gu(c??pe).multipliedBy(a).toString():"",p={amount:a,decimals:s,usdValue:l};o[r]=p}),o}i(ws,"createBalanceStateForNewAccount");function vs(t,e){for(let o in e){let n=Yn(o);if(n){let r=Vt(n);t[r]||(t[r]=[]),t[r].includes(o)||(t[r]=[...t[r],o])}}return t}i(vs,"updateAggregatedBalanceStateForNewAccount");function AT(t,e){let o=Yn(e);if(!o)return t;let n=Vt(o);return t[n]&&(t[n]=t[n].filter(r=>r!==e)),t}i(AT,"removeBalanceFromAggregatedBalance");function xs(t,e,o){let n=t.connectedWallets.filter(l=>l.walletType===e);t.connectedWallets.forEach(l=>{l.walletType!==e&&(n=n.filter(p=>!(p.chain===l.chain&&p.address===l.address)))}),o?.chains&&o.chains.length>0&&(n=n.filter(l=>o.chains?.includes(l.chain))),o?.namespaces&&o.namespaces.length>0&&(n=n.filter(l=>l.namespace?o.namespaces?.includes(l.namespace):!1));let r={},a=t._aggregatedBalances,s=t._balances;return Object.keys(s).forEach(l=>{let p=Yn(l);if(!p)return;!!n.find(d=>Vu(d.address,{address:p.address,blockchain:d.chain,symbol:p.symbol})===l)?a=AT(a,l):s[l]&&(r[l]=s[l])}),{_balances:r,_aggregatedBalances:a}}i(xs,"computeNextStateAfterWalletBalanceRemoval");function NT(t,e){return e.find(o=>t.address===o.address&&t.chain===o.blockChain)}i(NT,"matchWalletDetailsWithConnectedWallet");var BT=uu(),Ku=qu((t,e)=>({_balances:{},_aggregatedBalances:{},connectedWallets:[],fetchingWallets:!1,lastUpdatedAt:+new Date,setConnectedWalletAsRefetching:o=>{t(n=>({fetchingWallets:!0,connectedWallets:n.connectedWallets.map(r=>o.find(a=>jn(a,r))?{...r,loading:!0,error:!1}:r)}))},setConnectedWalletRetrievedData:(o,n)=>{t(r=>({fetchingWallets:!1,connectedWallets:r.connectedWallets.map(a=>o.find(s=>jn(s,a))?{...a,loading:!1,error:!1,explorerUrl:NT(a,n)?.explorerUrl||a.explorerUrl}:a)}))},setConnectedWalletHasError:o=>{t(n=>({fetchingWallets:!1,connectedWallets:n.connectedWallets.map(r=>o.find(a=>jn(a,r))?{...r,loading:!1,error:!0}:r)}))},addConnectedWallet:(o,n,r)=>{let a=e().connectedWallets,s=o.filter(c=>!a.some(l=>jn(c,l)));if(s.length>0){let c=s.map(l=>{let p=!a.some(u=>u.chain===l.chain&&u.selected&&u.walletType!==l.walletType);return{address:l.address,chain:l.chain,isContractWallet:l.isContractWallet,explorerUrl:null,walletType:l.walletType,selected:p,namespace:n,derivationPath:r,loading:!1,error:!1}});t(l=>({connectedWallets:[...l.connectedWallets.filter(u=>!c.some(d=>d.walletType===u.walletType&&d.chain===u.chain)),...c]}))}},fetchCustomTokensBalances:async o=>{let{tokens:n,connectedWallets:r}=o,a=n.reduce((l,p)=>((l[p.blockchain]||=[]).push(p),l),{}),s=new Set,c=r.reduce((l,p)=>{let u=`${p.address}-${p.chain}`;return s.has(u)||(s.add(u),a[p.chain]&&(l[p.address]||(l[p.address]=[]),l[p.address]?.push(...a[p.chain]||[]))),l},{});Object.entries(c).forEach(async([l,p])=>{try{let{balances:u}=await ct().getMultipleTokenBalance({assets:p.map(({symbol:d,address:f,blockchain:h})=>({symbol:d,address:f,blockchain:h})),walletAddress:l});if(u){let d=e()._balances,f=e()._aggregatedBalances;u.forEach(h=>{if(parseFloat(h.amount.amount)===0)return;let g={blockChain:h.asset.blockchain,balances:[h],address:l},m={_aggregatedBalances:e()._aggregatedBalances,findToken:e().findToken};ks(m,g,d);let y=ws(g,e);f=vs(f,y),d={...d,...y}}),t(h=>({_balances:{...h._balances,...d},_aggregatedBalances:f}))}}catch(u){console.error(u)}})},setWalletsAsSelected:o=>{let n=e().connectedWallets.map(r=>{let a=!!o.find(c=>c.chain===r.chain&&c.walletType!==r.walletType&&r.selected),s=!!o.find(c=>c.chain===r.chain&&c.walletType===r.walletType&&!r.selected);return a?{...r,selected:!1}:s?{...r,selected:!0}:r});t({connectedWallets:n})},newWalletConnected:async(o,n,r)=>{let a=o[0];a&&(we.emit("walletEvent",{type:"connect",payload:{walletType:a.walletType,accounts:o}}),e().addConnectedWallet(o,n,r),e().fetchBalances(o))},removeBalancesForWallet:(o,n)=>{let r={_balances:e()._balances,_aggregatedBalances:e()._aggregatedBalances,connectedWallets:e().connectedWallets},{_balances:a,_aggregatedBalances:s}=xs(r,o,n);t({_balances:a,_aggregatedBalances:s})},disconnectNamespaces:(o,n)=>{if(e().connectedWallets.find(a=>a.walletType===o)){e().removeBalancesForWallet(o,{namespaces:n}),e()._changeSelectedWalletIfNeededOnRemove(o,{namespaces:n});let a=e().connectedWallets.filter(s=>s.namespace?!(s.walletType===o&&n.includes(s.namespace)):!0);t({connectedWallets:a})}},disconnectWallet:o=>{let n=e().connectedWallets.find(r=>r.walletType===o);if(we.emit("walletEvent",{type:"disconnect",payload:{walletType:o}}),n){e().removeBalancesForWallet(o),e()._changeSelectedWalletIfNeededOnRemove(o);let r=e().connectedWallets.filter(a=>a.walletType!==o);t({connectedWallets:r})}},_changeSelectedWalletIfNeededOnRemove:(o,n)=>{let r=e().connectedWallets;n?.namespaces&&n.namespaces.length>0&&(r=r.filter(s=>!!s.namespace&&n.namespaces?.includes(s.namespace)));let a=r.filter(s=>s.selected&&s.walletType===o).map(s=>s.chain);if(a.length>0){let s=e().connectedWallets.map(c=>a.includes(c.chain)?(a=a.filter(l=>l!==c.chain),{...c,selected:!0}):c);t({connectedWallets:s})}},clearConnectedWallet:()=>t({connectedWallets:[]}),fetchBalances:async(o,n)=>{let{shouldFetchCustomTokens:r=!0,selectedCustomTokens:a}=n||{};await e().fetchMainTokensBalances(o),r&&e().fetchCustomTokensBalances({tokens:a??e().customTokens(),connectedWallets:o})},fetchMainTokensBalances:async(o,n)=>{if(o.length===0||!o[0])return;let r=o[0].walletType;e().setConnectedWalletAsRefetching(o);let a=o.map(l=>({address:l.address,blockchain:l.chain})),s;try{s=await ct().getWalletsDetails(a)}catch(l){e().setConnectedWalletHasError(o),console.error(`Request for fetching balances failed. cause: ${l}`);return}let c=s.wallets;if(c){let l=e()._balances,p=e()._aggregatedBalances;c.forEach(d=>{if(d.failed)return;let f={_balances:l,_aggregatedBalances:p,connectedWallets:e().connectedWallets,findToken:e().findToken};ks(f,d,l);let{_balances:h,_aggregatedBalances:g}=xs(f,r,{chains:[d.blockChain]});if(p=g,l=h,!e().connectedWallets.find(y=>y.walletType===r&&y.address===d.address&&y.chain===d.blockChain))return;let m=ws(d,e);p=vs(p,m),l={...l,...m}}),t(d=>({_balances:{...d._balances,...l},_aggregatedBalances:p})),e().setConnectedWalletRetrievedData(o,c);let{retryOnFailedBalances:u=!0}=n||{};if(u){let d=c.filter(f=>f.failed).map(f=>({chain:f.blockChain,walletType:r,address:f.address}));d.length>0&&await e().fetchMainTokensBalances(d,{retryOnFailedBalances:!1})}}else e().setConnectedWalletHasError(o),console.error("We couldn't fetch your account balances. Seem there is no information on blockchain for them yet.")},getBalances:()=>e()._balances,getBalanceFor:o=>{let n=e().getBalances(),r=Vt(o),a=e()._aggregatedBalances[r]||[];if(a.length===0||!a[0])return null;let s=a[0];if(a.length===1&&n[s])return n[s];let c=n[a[0]];if(!c)return null;let l=c;return a.forEach(p=>{let u=n[p];if(!u)return;let d=new bs(u.amount),f=new bs(l.amount);d.isGreaterThan(f)&&(l=u)}),l},getBalancesForWalletAddress:o=>{let n=e().getBalances();return Object.keys(n).reduce((s,c)=>{let l=n[c],[,,,p]=c.split(Bo);return l&&p===o&&(s[c]=l),s},{})},getConnectedWalletsDetails:()=>BT(()=>e().connectedWallets.map(n=>{let r=e().getBalancesForWalletAddress(n.address),a=Object.keys(r);return{...n,balances:a.reduce((s,c)=>{let l=r[c],p=Yn(c);if(p&&p.blockchain===n.chain&&l){let u=e().findToken(p),d=l?.amount?new bs(l.amount).shiftedBy(-l.decimals):pe;s.push({chain:n.chain,symbol:p.symbol,ticker:p.symbol,address:p.address,rawAmount:l.amount,decimal:l.decimals,amount:d.toString(),isSupported:!!u,logo:u?.image||null,usdPrice:u?.usdPrice||null})}return s},[])}}),e().lastUpdatedAt)}));function ju(t){return WT()(MT((...e)=>({...Ku(...e),...Uu(...e),...Qu(...e),...Yp(t,...e)}),{name:"user-settings",skipHydration:!0,partialize:e=>({_customTokens:e._customTokens,theme:e.theme,language:e.language,affiliatePercent:e.affiliatePercent,affiliateRef:e.affiliateRef,affiliateWallets:e.affiliateWallets,slippage:e.slippage,customSlippage:e.customSlippage,infiniteApprove:e.infiniteApprove,preferredBlockchains:e.preferredBlockchains,disabledLiquiditySources:e.disabledLiquiditySources,quoteTokensRate:e.quoteTokensRate}),version:1,migrate:(e,o)=>{let n=e;return o===0&&(n._customTokens=n._customTokens.map(r=>({...r,warning:!0}))),n}}))}i(ju,"createAppStore");var Xu=PT(null);function T(){let t=_T(Xu);if(DT(()=>{t&&!t.persist.hasHydrated()&&t.persist.rehydrate()},[]),!t)throw new Error("Missing AppStoreContext.Provider in the tree");return t()}i(T,"useAppStore");function Yu(t){let e=$T();return e.current||(e.current=ju(t.config)),LT.createElement(Xu.Provider,{value:e.current},t.children)}i(Yu,"AppStoreProvider");function vt(t){let{chain:e}=t||{},{connectedWallets:o,getAvailableProviders:n}=T(),{state:r,getWalletInfo:a}=FT(),s=T().blockchains(),{handleDisconnect:c}=Ro(),l=Vp(n()),p=vu(r,a,l,e);p=OT()?p.filter(m=>m.showOnMobile!==!1&&r(m.type).installed):p;let u=Eu(p),d=i(m=>!o.find(y=>y.walletType===m&&y.chain===e),"isExperimentalChainNotAdded"),f=zT(()=>{let m=p?.filter(y=>y.state===Es.CONNECTING)||[];for(let y of m)c(y)},[Nu(p)]);HT(()=>()=>{f()},[]);let h=i(m=>{let y=m.find(C=>C.type===Zn.DEFAULT);return!y||y.state===Es.NOT_INSTALLED?!1:m.filter(C=>C.state!=Es.NOT_INSTALLED&&![Zn.DEFAULT,Zn.WALLET_CONNECT_2,Zn.LEDGER].includes(C.type)&&a(C.type).supportedChains.filter(k=>k.type=="EVM").length>0).length==0},"shouldShowDefaultInjectedWallet"),g=i((m,y,S)=>ci(S,y)&&d(m)&&!UT.includes(m)||m==Zn.DEFAULT&&!h(p),"shouldExcludeWallet");return{list:u.filter(m=>!g(m.type,e??"",s)),terminateConnectingWallets:f}}i(vt,"useWalletList");import{Modal as VT}from"@rango-dev/ui";import KT from"react";import{create as GT}from"zustand";var Zu="rango-widget";var Jn=class{constructor(e){this.state="not-initiated";this.events={};this.init=()=>{this.initEvents(),this.tryClaim()};this.forceClaim=()=>{if(!this.isClaimed()){let e={name:"force-claim",candidateId:this.tabId};this.channel.postMessage(e),setTimeout(()=>{this.isClaimed()||this.claim()},300)}};this.isClaimed=()=>this.state==="claimed";this.destroy=()=>{this.channel.removeEventListener("message",this.handleMessageEvent),document.removeEventListener("visibilitychange",this.handleVisibilityChange),document.removeEventListener("resume",this.handleResume)};this.handleMessageEvent=e=>{let o=e.data.name;switch(o){case"ping":this.claimedByCurrentTab(e.data.pingAt);break;case"pong":this.alreadyClaimedByAnotherTab();break;case"force-claim":this.forceRelease(e.data.candidateId);break;case"force-release":this.tabId===e.data.candidateId&&this.claim();break;default:throw new Error(`${o} is not supported.`)}};this.handleVisibilityChange=async()=>{document.visibilityState==="visible"&&await this.tryClaim()};this.handleResume=async()=>{this.isClaimed()&&(await this.tryClaim(),this.isClaimed()||this.events.onRelease?.())};this.channel=new BroadcastChannel(Zu),this.tabId=Math.trunc(Math.random()*1e5),this.events=e}static{i(this,"TabManager")}initEvents(){this.channel.addEventListener("message",this.handleMessageEvent),document.addEventListener("visibilitychange",this.handleVisibilityChange),document.addEventListener("resume",this.handleResume)}claimedByCurrentTab(e){let o=this.lastTryClaim&&this.lastTryClaim<e;if(this.isClaimed()||o){let n={name:"pong"};this.channel.postMessage(n);return}}alreadyClaimedByAnotherTab(){this.resetLastCheck()}async tryClaim(){return this.setLastCheck(),new Promise(e=>{setTimeout(()=>{this.check(),e()},300)})}check(){this.state==="not-initiated"&&this.events.onInit?.(),this.lastTryClaim?(this.claim(),this.resetLastCheck()):this.state="not-claimed"}claim(){this.state="claimed",this.events.onClaim?.()}setLastCheck(){this.lastTryClaim=Date.now();let e={name:"ping",pingAt:this.lastTryClaim};this.channel.postMessage(e)}resetLastCheck(){this.lastTryClaim=void 0}forceRelease(e){if(this.isClaimed()){this.state="not-claimed",this.events.onRelease?.();let o={name:"force-release",candidateId:e};this.channel.postMessage(o)}}};var qT=i(t=>{let e=t;e.use={};for(let o of Object.keys(e.getState()))e.use[o]=()=>e(n=>n[o]);return e},"createSelectors"),co=qT;var oe=co(GT()((t,e)=>({isActiveTab:!1,tabManagerInitiated:!1,showActivateTabModal:!1,watermark:"NONE",showProfileBanner:!1,fetchingApiConfig:!1,showCompactTokenSelector:!1,activateCurrentTab:(o,n)=>{let{showActivateTabModal:r}=e();!r&&n?t({showActivateTabModal:!0}):(r||!n)&&o()},setShowActivateTabModal:o=>{t({showActivateTabModal:o})},setWatermark:o=>{t({watermark:o})},setShowProfileBanner:o=>{t({showProfileBanner:o})},setShowCompactTokenSelector:o=>{t({showCompactTokenSelector:o})}}))),Po=new Jn({onInit:()=>oe.setState({tabManagerInitiated:!0}),onClaim:()=>oe.setState({isActiveTab:!0,showActivateTabModal:!1}),onRelease:()=>oe.setState({isActiveTab:!1})});function ee(t){let{watermark:e}=oe();return KT.createElement(VT,{hasWatermark:e==="FULL",...t},t.children)}i(ee,"WatermarkedModal");import{i18n as mn}from"@lingui/core";import{Alert as sk,Button as lk,Divider as fn,Image as ck,MessageBox as pk,RadioRoot as uk,WalletImageContainer as dk}from"@rango-dev/ui";import ae,{useEffect as mk,useMemo as fk,useState as gk}from"react";import{i18n as ZT}from"@lingui/core";import{Typography as id}from"@rango-dev/ui";import un from"react";function hi(t,e){return t.find(o=>o.name===e)?.logo}i(hi,"getBlockchainLogo");import{darkTheme as jT,Image as XT,styled as Kt,Typography as YT}from"@rango-dev/ui";var yi=Kt("li",{backgroundColor:"$neutral200",padding:"$16",borderRadius:"$sm",variants:{clickable:{true:{cursor:"pointer"}},hasError:{true:{background:"$error100",[`.${jT} &`]:{backgroundColor:"$error700"}}},unsupported:{true:{cursor:"not-allowed",paddingTop:"$8",paddingBottom:"$8"}}}}),Si=Kt("div",{display:"flex",gap:"$8",alignItems:"center"}),Ru=Kt("div",{flex:"1",display:"flex",flexDirection:"column",justifyContent:"space-between",height:"$40",variants:{showSupportedChains:{true:{justifyContent:"space-between"},false:{justifyContent:"center"}}}}),ed=Kt("div",{flex:"1",display:"flex",alignItems:"center",gap:"$4",opacity:"0.5"}),td=Kt("div",{display:"flex",gap:"$6",alignItems:"center"}),od=Kt("div",{paddingLeft:"48px"}),nd=Kt("div",{display:"flex",gap:"$2",cursor:"pointer",alignItems:"center",width:"fit-content"}),rd=Kt(YT,{maxWidth:"100px"}),Ci=Kt(XT,{variants:{disabled:{true:{opacity:"0.5"}}}});function Ti(t){let{namespace:e}=t,o=T().blockchains();return un.createElement(yi,{unsupported:!0},un.createElement(Si,null,un.createElement(Ci,{src:hi(o,e.id),size:40,disabled:!0}),un.createElement(ed,null,un.createElement(id,{variant:"label",size:"large"},e.label),un.createElement(id,{variant:"body",size:"xsmall"},ZT.t("(Currently not supported)")))))}i(Ti,"NamespaceUnsupportedItem");import{Checkbox as rk,Radio as ik}from"@rango-dev/ui";import Bs from"react";import{i18n as Ns}from"@lingui/core";import{ChevronDownIcon as RT,ChevronUpIcon as ek,Divider as tk,Typography as Rn}from"@rango-dev/ui";import Ne,{useEffect as ok,useState as nk}from"react";import{Image as sd,Tooltip as ld,Typography as JT}from"@rango-dev/ui";import _t from"react";import{styled as ad}from"@rango-dev/ui";var Is=ad("div",{display:"flex",alignItems:"center",padding:0,margin:0}),ki=ad("div",{marginLeft:"-5px",listStyleType:"none",backgroundColor:"$background",borderRadius:"$lg",minWidth:"15px",height:"15px",variants:{firstItem:{true:{marginLeft:0}}},display:"flex",alignItems:"center",justifyContent:"center"});var As=3;function cd(t){let{chains:e}=t;return _t.createElement(Is,{id:"widget-supported-chains-container"},e.slice(0,As).map((o,n)=>_t.createElement(ld,{key:o.name,container:B(),side:"bottom",align:"start",content:o.name,sideOffset:4},_t.createElement(ki,{firstItem:n===0},_t.createElement(sd,{src:o.logo,size:15})))),e.length>As&&_t.createElement(ld,{container:B(),side:"bottom",align:"start",sideOffset:4,content:_t.createElement(Is,null,e.map((o,n)=>_t.createElement(ki,{key:o.name,firstItem:n===0},_t.createElement(sd,{src:o.logo,size:15}))))},_t.createElement(ki,null,_t.createElement(JT,{variant:"body",size:"xsmall"},"+",e.length-As))))}i(cd,"SupportedChainsList");function _o(t){let{namespace:e,error:o,suffix:n,connected:r,address:a,onClick:s}=t,[c,l]=nk(!1),p=T().blockchains();ok(()=>l(!1),[o]);let u=e.getSupportedChains(p),d=!o&&!r&&u.length>1;return Ne.createElement(yi,{hasError:!!o,clickable:!!s,onClick:s},Ne.createElement(Si,null,Ne.createElement(Ci,{src:hi(p,e.id),size:40}),Ne.createElement(Ru,{showSupportedChains:d||r||!!o},Ne.createElement(td,null,Ne.createElement(Rn,{variant:"label",size:"large"},e.label),r&&Ne.createElement(Rn,{variant:"body",size:"small",color:"success500"},Ns.t("Connected")),!!o&&Ne.createElement(Rn,{variant:"body",size:"small",color:"error500"},Ns.t("Connection failed"))),d&&Ne.createElement(cd,{chains:u}),r&&Ne.createElement(rd,{variant:"body",size:"small",color:"neutral700"},a),o&&Ne.createElement(nd,{onClick:()=>l(f=>!f)},Ne.createElement(Rn,{variant:"body",size:"small",color:"neutral700",style:{textDecoration:"underline",userSelect:"none",textDecorationSkipInk:"none"}},Ns.t("See why")),c?Ne.createElement(ek,{size:12,color:"gray"}):Ne.createElement(RT,{size:12,color:"gray"}))),n),!!o&&c&&Ne.createElement(Ne.Fragment,null,Ne.createElement(tk,{size:4}),Ne.createElement(od,null,Ne.createElement(Rn,{variant:"body",size:"small",color:"neutral700"},o))))}i(_o,"NamespaceItem");function pd(t){let{onClick:e,type:o,namespace:n}=t;return Bs.createElement(_o,{namespace:n,onClick:e,suffix:o==="radio"?Bs.createElement(ik,{value:n.value}):Bs.createElement(rk,{checked:t.value})})}i(pd,"NamespaceListItem");import{Button as ak,styled as ud}from"@rango-dev/ui";var wi=ud("ul",{padding:0,paddingBottom:"$20",margin:0}),dn=ud(ak,{minHeight:"$40"});function er(t){let{targetWallet:e}=t.value,o=e.properties?.find(m=>m.name==="namespaces"),n=e.isHub,r=e.isHub?o?.value.selection==="single":e.needsNamespace?.selection==="single",a=n?o?.value:e.needsNamespace,s=e.image,c=T().blockchains(),[l,p]=gk([]),u=fk(()=>a?.data.filter(m=>!m.unsupported),[e?.type]),d=i(m=>{p(r?[m]:y=>y.includes(m)?y.filter(S=>S!==m):y.concat(m))},"onSelect"),f=u?.length===l.length,h=i(()=>{if(r)throw new Error("onSelectAll should not be called on single selection mode.");f?p([]):u&&p(u.map(m=>m.value))},"onSelectAll"),g=i(m=>r?ae.createElement(uk,{value:l?.[0]},m):ae.createElement(ae.Fragment,null,m),"wrapRadioRoot");return mk(()=>{if(!r&&u)if(t.value.defaultSelectedChains?.length){let m=u.filter(y=>y.getSupportedChains(c).some(S=>t.value.defaultSelectedChains?.includes(S.name)));p(m.map(y=>y.value))}else p(u.map(m=>m.value))},[]),ae.createElement(ae.Fragment,null,ae.createElement(pk,{type:"info",title:mn.t("Connect {wallet}",{wallet:e.title}),description:mn.t("This wallet supports multiple chains. Choose which chains you\u2019d like to connect."),icon:ae.createElement(dk,null,ae.createElement(ck,{src:s,size:45}))}),r?ae.createElement(ae.Fragment,null,ae.createElement(fn,{size:20,className:"_initial_namespace_list_header_alert_top_divider"}),ae.createElement(sk,{id:"widget-wallet-stateful-connect-alert",variant:"alarm",type:"info",title:mn.t("This wallet can only connect to one chain at a time. ")}),ae.createElement(fn,{size:30,className:"_initial_namespace_list_header_alert_bottom_divider"})):ae.createElement(ae.Fragment,null,ae.createElement(fn,{size:30,className:"_initial_namespace_list_header_button_top_divider"}),ae.createElement(lk,{style:{marginLeft:"auto"},id:"widget-name-space-select-all-btn",size:"xsmall",variant:"ghost",type:"primary",onClick:h},f?mn.t("Deselect all"):mn.t("Select all")),ae.createElement(fn,{size:10,className:"_initial_namespace_list_header_button_bottom_divider"})),ae.createElement(wi,null,g(ae.createElement(ae.Fragment,null,a?.data.map((m,y,S)=>ae.createElement(ae.Fragment,{key:m.id},m.unsupported?ae.createElement(Ti,{namespace:m}):ae.createElement(pd,{value:l.includes(m.value),namespace:m,type:r?"radio":"checkbox",onClick:()=>d(m.value)}),y!==S.length-1&&ae.createElement(fn,{size:10})))))),ae.createElement(fn,{size:20}),ae.createElement(dn,{id:"widget-name-space-confirm-btn",type:"primary",disabled:!l.length,onClick:()=>t.onConfirm(l)},mn.t("Connect")))}i(er,"Namespaces");import{i18n as tr}from"@lingui/core";import{Alert as wk,Button as vk,Divider as gn,Image as xk,MessageBox as bk,WalletImageContainer as Ek}from"@rango-dev/ui";import{useWallets as Ik}from"@rango-dev/wallets-react";import de from"react";import{styled as hk}from"@rango-dev/ui";var dd=hk("div",{display:"flex",justifyContent:"end"});import{i18n as Ws}from"@lingui/core";import{Button as yk,Spinner as Sk}from"@rango-dev/ui";import Ms,{useLayoutEffect as Ck,useRef as Tk,useState as kk}from"react";function md(t){let{namespace:e,initialConnect:o,disabled:n,state:r,handleConnect:a,handleDisconnect:s}=t,[c,l]=kk(null),p=Tk(!1);Ck(()=>{o&&!p.current&&u()},[]);let u=i(async g=>{try{p.current=!0,await a(g)}catch(m){l(m)}finally{p.current=!1}},"handleConnectNamespace"),d=i(async()=>{l(null),r.connected?await s():u({shouldAskForDerivationPath:!0})},"handleButtonClick"),f=i(()=>{let g=r.accounts?.[0]?.split(":"),m=g?.[g.length-1];return!r.connected||!m?null:lo(m)},"getConnectedAddress"),h=i(()=>r.connected?Ws.t("Disconnect"):c?Ws.t("Try again"):Ws.t("Connect"),"getButtonText");return Ms.createElement(_o,{namespace:e,connected:r.connected,error:c?.message,address:f(),suffix:r.connecting?Ms.createElement(Sk,{color:"info"}):Ms.createElement(yk,{id:"widget-name-space-connect-btn",variant:"ghost",type:r.connected?"error":"primary",size:"xsmall",onClick:async()=>d(),disabled:n},h())})}i(md,"NamespaceDetachedItem");function or(t){let{value:e,selectedNamespaces:o,onConfirm:n,confirmText:r=tr.t("Done"),onDisconnectWallet:a,navigateToDerivationPath:s}=t,{targetWallet:c}=e,{connect:l,disconnect:p,state:u}=Ik(),d=c.type,f=u(d),h=c.properties?.find(v=>v.name==="namespaces"),g=c.properties?.find(v=>v.name==="derivationPath"),m=h?.value.selection==="single",y=i(async(v,w)=>{m&&await p(d),g&&w?.shouldAskForDerivationPath?s(v):await l(d,[{namespace:v,network:"",derivationPath:w?.derivationPath??void 0}])},"handleConnectNamespace"),S=i(async v=>{await p(d,[v])},"handleDisconnectNamespace"),C=i(()=>m?de.createElement(de.Fragment,null,de.createElement(gn,{size:20,className:"_detached_namespace_list_header_alert_top_divider"}),de.createElement(wk,{id:"widget-wallet-stateful-connect-alert",variant:"alarm",type:"info",title:tr.t("This wallet can only connect to one chain at a time.")}),de.createElement(gn,{size:30,className:"_detached_namespace_list_header_alert_bottom_divider"})):de.createElement(de.Fragment,null,de.createElement(gn,{size:30,className:"_detached_namespace_list_header_button_top_divider"}),de.createElement(dd,null,de.createElement(vk,{id:"widget-detached-disconnect-wallet-btn",variant:"ghost",type:"error",size:"xsmall",disabled:f.connecting||!f.connected,onClick:a},tr.t("Disconnect wallet"))),de.createElement(gn,{size:16,className:"_detached_namespace_list_header_button_bottom_divider"})),"renderNamespaceListHeader"),k=i(v=>{if(v.unsupported)return de.createElement(Ti,{namespace:v});let w=o?.find(b=>b.namespace===v.value),I=f.namespaces?.get(v.value);if(!I)throw new Error(`State for ${v.value} was not found!`);let A=m&&f.connecting;return de.createElement(md,{namespace:v,initialConnect:!!w,disabled:A,state:I,handleConnect:async b=>y(v.value,{derivationPath:w?.derivationPath,shouldAskForDerivationPath:b?.shouldAskForDerivationPath}),handleDisconnect:async()=>S(v.value)})},"renderNamespaceItem");return de.createElement(de.Fragment,null,de.createElement(bk,{type:"info",title:tr.t("Connect {wallet}",{wallet:c.type}),description:tr.t("This wallet supports multiple chains. Choose which chains you\u2019d like to connect or disconnect."),icon:de.createElement(Ek,null,de.createElement(xk,{src:c.image,size:45}))}),C(),de.createElement(wi,{id:"widget-detached-namespace-list"},c.needsNamespace?.data.map((v,w,I)=>de.createElement(de.Fragment,{key:v.id},k(v),w!==I.length-1&&de.createElement(gn,{size:10})))),de.createElement(gn,{size:20}),de.createElement(dn,{id:"widget-name-space-confirm-btn",type:"primary",onClick:n},r))}i(or,"Detached");import{i18n as hn}from"@lingui/core";import{Divider as Wk,Image as Mk,MessageBox as Lk,Select as Pk,TextField as _k}from"@rango-dev/ui";import xt,{useEffect as Dk,useState as gd}from"react";import{namespaces as Ak}from"@rango-dev/wallets-shared";var vi={id:"custom",label:"Custom",generateDerivationPath:t=>t};function Ls(t){let e=t?Ak[t]?.derivationPaths:null;return e?[...e,vi]:[]}i(Ls,"getDerivationPaths");import{Button as Nk,styled as Ps,Typography as Bk}from"@rango-dev/ui";var fd=Ps("div",{paddingTop:"$30",paddingBottom:"$30",zIndex:10}),_s=Ps(Bk,{paddingLeft:"$10"}),Ds={height:"$40",backgroundColor:"$neutral200",borderRadius:"$sm"},i_=Ps(Nk,{minHeight:"$40"});var hd="0";function nr(t){let{onConfirm:e}=t,{namespace:o,providerImage:n,providerType:r}=t.value,[a,s]=gd(null),[c,l]=gd(hd),p=a===vi.id,u=Ls(o),d=i(({value:h})=>{let g=u?.find(m=>m.id===h);g&&(a===vi.id&&Number.isNaN(Number(c))&&l(hd),s(g.id))},"handleDerivationPathItemClick"),f=i(()=>{let h=u.find(g=>g.id===a);if(h)e(h.generateDerivationPath(c));else throw new Error("selectedDerivationPath can not be undefined")},"handleConfirm");return Dk(()=>{s(Ls(o)[0]?.id||null)},[o]),xt.createElement(xt.Fragment,null,xt.createElement(Lk,{type:"info",title:hn.t("Select Derivation Path"),description:hn.t({id:"In order to connect to {type}, you must first select a Derivation Path",values:{type:r}}),icon:xt.createElement(Mk,{src:n,size:45})}),xt.createElement(fd,{className:"_derivation_path_inputs_container"},xt.createElement(_s,{variant:"body",size:"xsmall",color:"$neutral600",className:"_derivation_path_input_label"},hn.t("Choose Derivation Path Template")),xt.createElement(Pk,{id:"widget-derivation-path-template-select",value:a||"",options:u.map(h=>({value:h.id,label:h.label})),variant:"filled",handleItemClick:d,styles:{trigger:Ds}}),xt.createElement(Wk,{size:20}),xt.createElement(_s,{variant:"body",size:"xsmall",color:"$neutral600",className:"_derivation_path_input_label"},p?hn.t("Enter Path"):hn.t("Enter Index")),xt.createElement(_k,{id:"widget-derivation-path-template-input",type:p?"text":"number",variant:"contained",value:c,onChange:h=>l(h.target.value),style:Ds})),xt.createElement(dn,{id:"widget-derivation-path-confirm-btn",type:"primary",onClick:f,disabled:!u||!a||!c},hn.t("Confirm")))}i(nr,"DerivationPath");import{i18n as yn}from"@lingui/core";import{Image as Ok,MessageBox as Fs,WalletImageContainer as Uk,WalletState as zk}from"@rango-dev/ui";import{useWallets as Hk}from"@rango-dev/wallets-react";import Do from"react";import{keyframes as $k,styled as $s}from"@rango-dev/ui";var h_=$s("div",{borderRadius:"$lg",width:"$45",height:"$45",backgroundColor:"$success300",display:"flex",justifyContent:"center",alignItems:"center"}),yd=$s("div",{position:"relative"}),Fk=$k({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),Sd=$s("div",{position:"absolute",border:"2px solid rgba(0, 0, 0, 0.1)",borderTop:"2px solid $info500",borderRadius:"$lg",width:"$45",height:"$45",animation:`${Fk} 1s linear infinite`,top:0,bottom:0,right:0,left:0});function Os(t){let{wallet:e,error:o}=t,{type:n,image:r}=e,{state:a,getWalletInfo:s}=Hk();return Vn(s(n),a(n))===zk.CONNECTED?Do.createElement(Fs,{type:"success",title:yn.t("Wallet Connected"),description:yn.t("Your wallet is connected, you can use it to swap.")}):o?Do.createElement(Fs,{type:"error",title:yn.t("Failed to Connect"),description:o||yn.t("Your wallet is not connected. Please try again.")}):Do.createElement(Fs,{type:"loading",title:yn.t("Connecting to your wallet"),description:yn.t("Click connect in your wallet popup."),icon:Do.createElement(yd,null,Do.createElement(Uk,null,Do.createElement(Ok,{src:r,size:45})),Do.createElement(Sd,null))})}i(Os,"ConnectStatus");import{i18n as Us}from"@lingui/core";import{Button as Qk,Divider as Cd,MessageBox as qk}from"@rango-dev/ui";import xi from"react";function zs(t){let{displayName:e,onConfirm:o,id:n}=t;return xi.createElement(qk,{id:n,title:Us.t({id:"Add {blockchainDisplayName} Chain",values:{blockchainDisplayName:e}}),type:"warning",description:Us.t({id:"Would you like to add the {blockchainDisplayName} experimental chain to your wallet?",values:{blockchainDisplayName:e}})},xi.createElement(Cd,{size:18}),xi.createElement(Cd,{size:32}),xi.createElement(Qk,{id:"widget-experimental-chain-confirm-btn",onClick:o,variant:"outlined",type:"primary",fullWidth:!0,size:"large"},Us.t("Confirm")))}i(zs,"ExperimentalChain");function Td(t,e){return t().status==="init"&&!!e}i(Td,"isOnStatus");function rr(t){return t().status==="namespace"}i(rr,"isOnNamespace");function ir(t){return t().status==="derivationPath"}i(ir,"isOnDerivationPath");function Ao(t){return t().status==="detached"}i(Ao,"isOnDetached");var jk=3e3,Xk=300;function ar(t){let e=Kk(),[o,n]=kd(!1),[r,a]=kd(),s=i(w=>{a(w.message)},"catchErrorOnHandle"),{terminateConnectingWallets:c}=vt(),{handleConnect:l,handleDerivationPath:p,handleNamespace:u,getState:d,resetState:f,handleDisconnect:h}=Ro(),g=i(w=>{u(t.wallet,w).then(k).catch(s)},"handleConfirmNamespaces"),m=i(()=>{S()},"handleDetachedConfirm"),y=i(w=>{if(!w)throw new Error("Derivation path is empty. Please make sure you've filled the field correctly.");p(t.wallet,w).then(k).catch(s)},"handleDerivationPathConfirm"),S=i(()=>{n(!1)},"handleClosingModal"),C=i(()=>{a(void 0),f(),n(!1),e.current&&clearTimeout(e.current)},"resetModalState"),k=i((w,I)=>{let A=w.status==="connected",b=["disconnected","disconnected-unhandled"].includes(w.status);A?(t.onConnect?.(),I||(e.current=setTimeout(S,jk))):b&&S()},"afterConnected"),v=i(w=>{t.wallet?.needsDerivationPath&&u(t.wallet,[w])},"handleNavigateToDerivationPath");return Vk(()=>{if(t.wallet){C();let w=!1,I=!0;i(()=>{setTimeout(()=>{I=!1,w||n(!0)},Xk)},"beforeConnecting")(),l(t.wallet,{disconnectIfConnected:!0,defaultSelectedChains:t.options?.defaultSelectedChains}).then(b=>{["namespace","Detached","derivation-path"].includes(b.status)||(w=!0),k(b,I)}).catch(s)}},[t.wallet]),po.createElement(ee,{id:t.id,open:o,onClose:S,onExit:()=>{C(),c(),t.onClose&&t.onClose()},container:B()},Td(d,t.wallet)&&po.createElement(po.Fragment,null,po.createElement(Os,{wallet:{type:t.wallet.type,image:t.wallet.image},error:r}),po.createElement(Gk,{direction:"vertical",size:32})),rr(d)&&po.createElement(er,{onConfirm:g,value:d().namespace}),ir(d)&&po.createElement(nr,{onConfirm:y,value:d().derivationPath}),Ao(d)&&po.createElement(or,{onConfirm:m,onDisconnectWallet:()=>void h(d().namespace.targetWallet),value:d().namespace,selectedNamespaces:d().selectedNamespaces,navigateToDerivationPath:v}))}i(ar,"StatefulConnectModal");import Ra from"react";import Yk,{Fragment as Zk}from"react";import{MemoryRouter as Jk,useInRouterContext as Rk}from"react-router";function bi({children:t}){let o=Rk()?Zk:Jk;return Yk.createElement(o,null,t)}i(bi,"AppRouter");import{I18nManager as R0}from"@rango-dev/ui";import Pp from"react";import ze from"react";import{useRoutes as W0}from"react-router-dom";var $={home:"/",fromSwap:"from-swap",toSwap:"to-swap",blockchains:"blockchains",settings:"settings",customTokens:"custom-tokens",addCustomTokens:"add-custom-tokens",liquiditySources:"liquidity-sources",bridges:"bridges",exchanges:"exchanges",languages:"languages",swaps:"swaps",wallets:"wallets",confirmSwap:"confirm-swap",swapDetails:":requestId",routes:"routes"};import{useEffect as Cn,useRef as Mi}from"react";import ot from"bignumber.js";import{create as em}from"zustand";import{subscribeWithSelector as tm}from"zustand/middleware";import{createContext as ew,useContext as tw}from"react";var wd=ew({swapMode:"swap",isMultiMode:!1});function tt(){let{swapMode:t,isMultiMode:e}=tw(wd);return{swapMode:t,isMultiMode:e}}i(tt,"useSwapMode");import{i18n as Ct}from"@lingui/core";import{getRelatedWalletOrNull as rw,RouteEventType as LD}from"@rango-dev/queue-manager-rango-preset";import Qe from"bignumber.js";import{PendingSwapNetworkStatus as lr}from"rango-types";import{i18n as He}from"@lingui/core";var ne=i(()=>({genericServerError:He.t("Failed Network, Please retry your swap."),liquiditySourcesError:{title:He.t("Please reset your liquidity sources."),description:He.t("You have limited the liquidity sources and this might result in Rango finding no routes. Please consider resetting your liquidity sources.")},noResultError:{title:He.t("No Routes Found."),description:He.t("Reasons why Rango couldn't find a route: low liquidity on token, very low input amount or no routes available for the selected input/output token combination.")},bridgeLimitErrors:{increaseAmount:He.t("Bridge Limit Error: Please increase your amount."),decreaseAmount:He.t("Bridge Limit Error: Please decrease your amount.")},highValueLossError:{impactTitle:He.t("High Price Impact"),title:He.t("Price impact is too high!"),description:He.t("The price impact is significantly higher than the allowed amount."),confirmMessage:He.t("Confirm high price impact")},quoteUpdatedWithHighValueLoss:{title:He.t("Route updated and price impact is too high, try again later!")},unknownPriceError:{impactTitle:He.t("USD Price Unknown"),title:He.t("USD Price Unknown, Cannot calculate Price Impact."),description:He.t("USD Price Unknown, Cannot calculate Price Impact. The price impact may be higher than usual. Are you sure to continue the Swap?"),confirmMessage:He.t("Confirm USD Price Unknown")}}),"errorMessages");function vd(t){return t.type===0?t.diagnosisMessage??ne().noResultError.title:t.type===1?t.diagnosisMessage??ne().genericServerError:""}i(vd,"getQuoteErrorMessage");import{i18n as Ei}from"@lingui/core";var $o=i(()=>({connectWallet:Ei.t("Connect Wallet"),swap:Ei.t("Swap"),swapAnyway:Ei.t("Swap anyway"),ethWarning:Ei.t("The route goes through Ethereum. Continue?")}),"swapButtonTitles");function Hs(t,e){return{"Network Fee":e("Network Fee"),"Swapper Fee":e("Protocol Fee"),"Affiliate Fee":e("Affiliate Fee"),"Outbound network fee":e("Outbound Fee"),"Rango Fee":e("Rango Fee")}[t]}i(Hs,"getFeeLabel");var Qs=["RECOMMENDED","CENTRALIZED","LOWEST_FEE","FASTEST","HIGH_IMPACT"],xd=100,bd=30,Ed=15,Id=60;var Ad=[{threshold:-10,minInput:400},{threshold:-5,minInput:1e3}],Nd=[{threshold:-1,minInput:1e3},{threshold:-2,minInput:500}];import{getLastSuccessfulStep as nw}from"@rango-dev/queue-manager-rango-preset";import CD from"bignumber.js";function Wd(t,e){if(e===null)return null;let o=e?.find(n=>n.blockchain===t.chain)?.wallets.find(n=>n.address?.toLowerCase()===t.address.toLowerCase());return o?o.requiredAssets:null}i(Wd,"getRequiredBalanceOfWallet");function Xt(t){let e;return t<=-3&&t>-10?e="low":t<=-10&&(e="high"),e}i(Xt,"getPriceImpactLevel");function Ii(t,e,o){let n=t.steps[0],r=t.steps[t.steps.length-1],a=nw(t.steps);if(!r||!n)return{fromBlockchain:null,fromToken:void 0,toBlockchain:null,toToken:void 0,inputAmount:""};let s={blockchain:r.toBlockchain,symbol:r.toSymbol,address:r.toSymbolAddress},c=No(a?a.toBlockchain:n.fromBlockchain,e),l=No(r.toBlockchain,e),p=o(a?{blockchain:c?.name??"",symbol:a.toSymbol,address:a.toSymbolAddress}:{blockchain:c?.name??"",symbol:n.fromSymbol,address:n.fromSymbolAddress}),u=o(s),d=a?a.outputAmount??"":t.inputAmount;return{fromBlockchain:c,fromToken:p,toBlockchain:l,toToken:u,inputAmount:d}}i(Ii,"createRetryQuote");function Sn(t){let{previousQuote:e,currentQuote:o,findToken:n,userSlippage:r}=t,a=sr(o),s=St(o);if(o&&a&&s){let p=jt(a.toString(),s.toString());if(!!p&&Dd(a,p)){let d=Ni(o?.swaps,n),f=Xt(p);return{type:0,inputUsdValue:a,outputUsdValue:s,priceImpact:p,totalFee:d,warningLevel:f}}}if(e&&Od(e,o))return{type:4,usdValueChange:P(St(o)?.minus(St(e)??0).toString()??"0",null,2),percentageChange:P(jt(St(e)??"1",St(o)??"1"),null,2)};if(o&&(!a||!s))return{type:1};let c=Bi(o.swaps),l=r>an;if(Fd(t.userSlippage.toString(),c)){if(l&&parseFloat(c??"0")<r)return{type:3,slippage:r.toString()}}else return{type:2,recommendedSlippages:$d(o,r),minRequiredSlippage:c};return null}i(Sn,"generateQuoteWarnings");function Md(t){return![4].includes(t.type)}i(Md,"isQuoteWarningConfirmationRequired");function jt(t,e){let o=typeof e=="string"?parseFloat(e)<=0:!e?.gt(0),n=!t||!e||o?null:qs(t.toString(),e.toString());return n&&n<0?n:null}i(jt,"getPriceImpact");var Ld=i(t=>{let e=new Set,o=[];return t.forEach(n=>{e.has(n.from.chain.displayName)||(e.add(n.from.chain.displayName),o.push(n.from.chain)),e.has(n.to.chain.displayName)||(e.add(n.to.chain.displayName),o.push(n.to.chain))}),o},"getUniqueBlockchains"),Ai=i((t,e)=>e.sort((o,n)=>{let r=i(p=>p.scores?.find(u=>u.preferenceType===t)?.score??0,"getScore"),a=r(o),s=r(n);if(a!==s)return s-a;let c=o.requestId.toLowerCase(),l=n.requestId.toLowerCase();return c.localeCompare(l)}),"sortQuotesBy"),Pd=i((t,e,o)=>{let n=e[0];if(!e.length||!n)return null;if(!t)return{requestAmount:o,validationStatus:null,...n};let r=new Set(t.swaps.map(s=>s.swapperId)),a=e.find(s=>{let c=new Set(s.swaps.map(l=>l.swapperId));return Array.from(r).every(l=>c.has(l))});return{requestAmount:o,validationStatus:null,...a||n}},"getDefaultQuote"),_d=i(t=>{let e=i((o,n)=>{let r=Qs.indexOf(o.value),a=Qs.indexOf(n.value);return r!==-1&&a!==-1?r-a:r!==-1?-1:a!==-1?1:0},"customSort");return t.sort(e)},"sortTags");function Dd(t,e){if(!t)return!1;let o=parseInt(e.toFixed(2)||"0");return Ad.some(({threshold:n,minInput:r})=>o<=n&&t.gte(new Qe(r)))}i(Dd,"hasHighValueLoss");function Ud(t){return(t||[]).filter(e=>{let o=e.fromAmountMinValue?new Qe(e.fromAmountMinValue):null,n=e.fromAmountMaxValue?new Qe(e.fromAmountMaxValue):null;return e.fromAmountRestrictionType==="EXCLUSIVE"?o?.gte(e.fromAmount)||n?.lte(e.fromAmount):o?.gt(e.fromAmount)||n?.lt(e.fromAmount)}).length>0}i(Ud,"hasLimitError");function zd(t){let e=(t||[]).filter(c=>{let l=c.fromAmountMinValue?new Qe(c.fromAmountMinValue):null,p=c.fromAmountMaxValue?new Qe(c.fromAmountMaxValue):null;return c.fromAmountRestrictionType==="EXCLUSIVE"?l?.gte(c.fromAmount)||p?.lte(c.fromAmount):l?.gt(c.fromAmount)||p?.lt(c.fromAmount)})[0];if(!e)return{swap:void 0,fromAmountRangeError:"",recommendation:""};let o=e.fromAmountMinValue?new Qe(e.fromAmountMinValue):null,n=e.fromAmountMaxValue?new Qe(e.fromAmountMaxValue):null,r=e.fromAmountRestrictionType==="EXCLUSIVE",a="",s="";return!r&&o&&o.gt(e.fromAmount)?(a=Ct.t({id:"Required: >= {min} {symbol}",values:{min:P(o,6,6),symbol:e.from.symbol}}),s=ne().bridgeLimitErrors.increaseAmount):r&&o&&o.gte(e.fromAmount)&&(a=Ct.t({id:"Required: > {min} {symbol}",values:{min:P(o,6,6),symbol:e.from.symbol}}),s=ne().bridgeLimitErrors.increaseAmount),!r&&n&&n.lt(e.fromAmount)?(a=Ct.t({id:"Required: <= {max} {symbol}",values:{max:P(n,6,6),symbol:e.from.symbol}}),s=ne().bridgeLimitErrors.decreaseAmount):r&&n&&n.lte(e.fromAmount)&&(a=Ct.t({id:"Required: < {max} {symbol}",values:{max:P(n,6,6),symbol:e.from.symbol}}),s=ne().bridgeLimitErrors.decreaseAmount),{swap:e,fromAmountRangeError:a,recommendation:s}}i(zd,"getLimitErrorMessage");function Hd(t){let{fetchMetaStatus:e,anyWalletConnected:o,fetchingQuote:n,inputAmount:r,quote:a,warning:s,error:c,needsToWarnEthOnPath:l}=t;return e!=="success"?{title:$o().connectWallet,action:"connect-wallet",disabled:!0}:o?n||!a||c||!r||r==="0"?{title:$o().swap,action:"confirm-swap",disabled:!0}:s?{title:$o().swapAnyway,action:"confirm-warning",disabled:!1}:l?{title:$o().ethWarning,action:"confirm-warning",disabled:!1}:{title:$o().swap,action:"confirm-swap",disabled:!1}:{title:$o().connectWallet,action:"connect-wallet",disabled:!1}}i(Hd,"getSwapButtonState");function Gs(t,e,o){let n=parseFloat(e||"0");return!(t&&(!o||o.lte(pe))&&e&&e!=="0"&&n!==0)}i(Gs,"canComputePriceImpact");function Vs(t,e){let o=pe;for(let n=0;n<t.fee.length;n++){let r=t.fee[n];if(!r||r.expenseType==="DECREASE_FROM_OUTPUT")continue;let a=e(r.asset)?.usdPrice||null;o=o.plus(new Qe(r.amount).multipliedBy(a||0))}return o}i(Vs,"getUsdFeeOfStep");function Ni(t,e){return t.reduce((o,n)=>o.plus(Vs(n,e)),pe)}i(Ni,"getTotalFeeInUsd");function Ks(t){let e=pe,o=new Qe(t.price||0);return e=e.plus(new Qe(t.amount).multipliedBy(o)),e}i(Ks,"getUsdFee");function Qd(t){return t.reduce((e,o)=>e.plus(Ks(o)),pe)}i(Qd,"getTotalFeesInUsd");function qd(t){return t.reduce((e,o)=>{for(let n of o.fee){let r=n.name,a=n.expenseType!=="DECREASE_FROM_OUTPUT"?e.payable:e.nonePayable;a[r]=[...a[r]||[],n]}return e},{payable:{},nonePayable:{}})}i(qd,"getFeesGroup");function Gd(t){let e=new Map;return t.forEach((o,n)=>{o.recommendedSlippage?.error&&e.set(n,o.recommendedSlippage.slippage)}),e.size>0?Object.fromEntries(e):null}i(Gd,"checkSlippageErrors");function $d(t,e){let o=new Map;return t?.swaps.forEach((n,r)=>{n.recommendedSlippage?.slippage&&parseFloat(n.recommendedSlippage.slippage)>e&&o.set(r,n.recommendedSlippage.slippage)}),o.size>0?Object.fromEntries(o):null}i($d,"checkSlippageWarnings");function Bi(t){return t.map(o=>o.recommendedSlippage)?.map(o=>o?.slippage||"0")?.filter(o=>parseFloat(o)>0)?.sort((o,n)=>parseFloat(n)-parseFloat(o))?.find(()=>!0)||null}i(Bi,"getMinRequiredSlippage");function Fd(t,e){return e?parseFloat(t)>=parseFloat(e):!0}i(Fd,"hasProperSlippage");function Vd(t){let{fromToken:e,toToken:o,inputAmount:n,wallets:r,selectedWallets:a,disabledLiquiditySources:s,liquiditySources:c,excludeLiquiditySources:l,slippage:p,affiliateRef:u,affiliatePercent:d,affiliateWallets:f,destination:h,contractCall:g}=t,m=a?.reduce((C,k)=>(C[k.chain]=k.address,C),{}),y=[];return r?.forEach(C=>{y.push({blockchain:C.chain,addresses:[C.address]})}),{amount:n.toString(),affiliateRef:u??void 0,affiliatePercent:d??void 0,affiliateWallets:f??void 0,from:{address:e.address,blockchain:e.blockchain,symbol:e.symbol},to:{address:o.address,blockchain:o.blockchain,symbol:o.symbol},connectedWallets:y,selectedWallets:m??{},slippage:p.toString(),contractCall:g,...h&&{destination:h},...l&&{swapperGroups:s.concat(c??[]),swappersGroupsExclude:!0},...!l&&{swapperGroups:c?.filter(C=>!s.includes(C)),swappersGroupsExclude:!1}}}i(Vd,"createQuoteRequestBody");function Kd(t){return t.reduce((o,n)=>(o[n.chain]={address:n.address,walletType:n.walletType,derivationPath:n.derivationPath},o),{})}i(Kd,"getWalletsForNewSwap");function sr(t){let e=t.requestAmount,o=t.swaps[0]?.from.usdPrice;if(!(!e||!o))return new Qe(e).multipliedBy(o)}i(sr,"getUsdInputFrom");function St(t){let e=t?.outputAmount||null,o=t.swaps[t.swaps.length-1]?.to.usdPrice;if(!(!e||!o))return new Qe(e).multipliedBy(o)}i(St,"getUsdOutputFrom");function qs(t,e){return new Qe(e).div(new Qe(t)).minus(1).multipliedBy(xd).toNumber()}i(qs,"getPercentageChange");function Od(t,e){let o=sr(t),n=St(t),r=St(e);if(!o||!n||!r)return!1;let a=qs(n.toString(),r.toString());return Nd.some(({threshold:s,minInput:c})=>a<=s&&o.isGreaterThanOrEqualTo(c))}i(Od,"isOutputAmountChangedExcessively");function jd(t,e,o){let n=t.validationStatus,r=Mo({filter:"required",quote:t});return e.sort((s,c)=>r.indexOf(s.chain)-r.indexOf(c.chain)).flatMap(s=>Wd(s,n)||[]).filter(s=>!s.ok).map(s=>{let c=s.asset.symbol,l=P(new Qe(s.currentAmount.amount).shiftedBy(-s.currentAmount.decimals),8,8),p=P(new Qe(s.requiredAmount.amount).shiftedBy(-s.requiredAmount.decimals),8,8),u="";return s.reason==="FEE"&&(u=Ct.t(" for network fee")),s.reason==="INPUT_ASSET"&&(u=Ct.t(" for swap")),s.reason==="FEE_AND_INPUT_ASSET"&&(u=Ct.t(" for input and network fee")),Ct.t({id:"Needs \u2248 {requiredAmount} {symbol}{reason}, but you have {currentAmount} {symbol} in your {blockchain} wallet.",values:{requiredAmount:p,symbol:c,reason:u,currentAmount:l,blockchain:ht(s.asset.blockchain,o)}})})}i(jd,"generateBalanceWarnings");function cr(t){return!!t&&t.networkStatus!==null&&t.networkStatus!==lr.NetworkChanged}i(cr,"isNetworkStatusInWarningState");function Xd(t,e,o){let n="bellow button or",r=t.extraMessage,a=t.extraMessageDetail;if(t.networkStatusExtraMessageDetail?.includes(n)&&(t.networkStatusExtraMessageDetail=t.networkStatusExtraMessageDetail.replace(n,"")),cr(e)){r=t.networkStatusExtraMessage||"",a=t.networkStatusExtraMessageDetail||"";let p=(e?rw(t,e):null)?.walletType,u=p?o?.(p)?.name:null;switch(e?.networkStatus){case lr.WaitingForConnectingWallet:r=u?Ct.t("Connect {wallet}",{wallet:u}):r;break;case lr.WaitingForQueue:r=r||Ct.t("Waiting for other running tasks to be finished");break;case lr.WaitingForNetworkChange:r=r||Ct.t("Waiting for changing wallet network");break;case lr.NetworkChangeFailed:r=r||Ct.t("The network switch could not be completed. Please try again, or switch the network manually in your wallet.");break;default:r=r||"";break}}a=a||"",r=r||"";let c=r?.indexOf("code")!==-1&&r?.indexOf("reason")!==-1;return{shortMessage:r,detailedMessage:{content:a,long:c}}}i(Xd,"getSwapMessages");function Yd(t){let e=null;if(t.status==="failed"){let o=t.steps.slice().reverse().filter(n=>n.status==="success")[0];o&&(e={blockchain:o.toBlockchain,symbol:o.toSymbol,outputAmount:o.outputAmount,address:o.toSymbolAddress})}return e}i(Yd,"getLastConvertedTokenInFailedSwap");function Zd(t){return t.status==="failed"}i(Zd,"shouldRetrySwap");function Jd(t,e,o,n,r,a){if(!n||t)return!0;let s=Mo({filter:"all",quote:n}),c=Mo({filter:"required",quote:n}),l=s.every(d=>r.some(f=>f.chain===d)),p=c.every(d=>r.some(f=>f.chain===d)),u=o&&a?tn(a,o):!1;return!e&&!l||e&&!o||e&&!!o&&(!u||!p)}i(Jd,"isConfirmSwapDisabled");function Rd(t,e){return t.blockchain===e.blockchain&&t.symbol===e.symbol&&t.address===e.address}i(Rd,"isTokensIdentical");var Wi=i((t,e)=>t?.usdPrice?new ot(e||pe).multipliedBy(t?.usdPrice||0):null,"getUsdValue"),om=i(t=>({fromBlockchain:null,fromToken:null,inputAmount:"",outputAmount:null,inputUsdValue:new ot(0),outputUsdValue:new ot(0),toBlockchain:null,toToken:null,refetchQuote:!0,sortStrategy:"SMART",selectedQuote:null,quotes:null,error:null,warning:null,quoteWalletsConfirmed:!1,selectedWallets:[],customDestination:null,quoteWarningsConfirmed:!1,updateQuotePartialState:(e,o)=>t(n=>({...n,[e]:o})),setSelectedQuote:e=>t(o=>{let n=null,r=pe,a=o.inputUsdValue;return Gn(o.inputAmount)?(e&&(n=e?.outputAmount?new ot(e?.outputAmount):null,a=sr(e)??pe,r=St(e)??pe),{selectedQuote:e,...!!e&&{outputAmount:n,outputUsdValue:r,inputUsdValue:a}}):{}}),resetAlerts:()=>t(()=>({error:null,warning:null})),resetQuote:()=>t(()=>({selectedQuote:null,outputAmount:null,outputUsdValue:new ot(0),quotes:null,refetchQuote:!0,error:null,warning:null})),setFromBlockchain:e=>{t(o=>o.fromBlockchain?.name===e?.name?{}:{fromBlockchain:e,inputUsdValue:new ot(0),...o.fromToken&&{selectedQuote:null,fromToken:null,outputAmount:null,outputUsdValue:new ot(0)}})},setFromToken:e=>t(o=>({fromToken:e.token,...e.token&&{fromBlockchain:e.meta.blockchains.find(n=>n.name===e.token.blockchain)??null},...!!o.inputAmount&&{inputUsdValue:Wi(e.token,o.inputAmount)}})),setToBlockchain:e=>{t(o=>o.toBlockchain?.name===e?.name?{}:{toBlockchain:e,...o.toToken&&{selectedQuote:null,toToken:null,outputAmount:null,outputUsdValue:new ot(0)}})},setToToken:e=>t(()=>({toToken:e.token,...e.token&&{toBlockchain:e.meta.blockchains.find(o=>o.name===e.token.blockchain)??null}})),sanitizeInputAmount:e=>{let o=ku(e);t(()=>({inputAmount:o}))},setInputAmount:e=>{let o=e;ii(e)||(o=mu(o),o=fu(o)),t(n=>({inputAmount:o,...!o&&{outputAmount:null,outputUsdValue:new ot(0),selectedQuote:null},...!!n.fromToken&&{inputUsdValue:Wi(n.fromToken,o)}}))},retry:e=>{let{fromBlockchain:o,fromToken:n,toBlockchain:r,toToken:a,inputAmount:s}=e;t({fromBlockchain:o,fromToken:n,inputAmount:s,outputAmount:null,inputUsdValue:Wi(n??null,s),outputUsdValue:new ot(0),toBlockchain:r,toToken:a,selectedQuote:null})},switchFromAndTo:()=>t(e=>({fromBlockchain:e.toBlockchain,fromToken:e.toToken,toBlockchain:e.fromBlockchain,toToken:e.fromToken,inputAmount:e.outputAmount?.toString()||"",inputUsdValue:e.toToken?Wi(e.toToken,e.outputAmount?.toString()||""):new ot(0)})),resetFromBlockchain:()=>t(()=>({fromToken:null,fromBlockchain:null,outputUsdValue:new ot(0),inputUsdValue:new ot(0),inputAmount:"",outputAmount:null,selectedQuote:null})),resetToBlockchain:()=>t(()=>({toToken:null,toBlockchain:null,outputAmount:null,outputUsdValue:new ot(0),selectedQuote:null})),setQuoteWalletConfirmed:e=>t({quoteWalletsConfirmed:e}),setSelectedWallets:e=>t({selectedWallets:e}),setCustomDestination:e=>t({customDestination:e}),resetQuoteWallets:()=>t({quoteWalletsConfirmed:!1,selectedWallets:[],customDestination:null}),setQuoteWarningsConfirmed:e=>t({quoteWarningsConfirmed:e})}),"initializer"),nm=em()(tm(om)),rm=em()(tm(om)),iw=co(nm),aw=co(rm);function z(){let{swapMode:t}=tt();return co(t==="refuel"?rm:nm)}i(z,"useQuoteStore");var im=i((t,e)=>{(t.fromBlockchain!==e.fromBlockchain||t.fromToken!==e.fromToken||t.toBlockchain!==e.toBlockchain||t.toToken!==e.toToken||t.inputAmount!==e.inputAmount)&&we.emit("quoteEvent",{type:"quoteInputUpdate",payload:{fromBlockchain:t.fromBlockchain?.name,toBlockchain:t.toBlockchain?.name,fromToken:t.fromToken?{symbol:t.fromToken.symbol,name:t.fromToken.name,address:t.fromToken.address}:void 0,toToken:t.toToken?{symbol:t.toToken.symbol,name:t.toToken.name,address:t.toToken.address}:void 0,requestAmount:t.inputAmount}}),t.selectedQuote?.requestId!==e.selectedQuote?.requestId&&we.emit("quoteEvent",{type:"quoteOutputUpdate",payload:t.selectedQuote?{requestAmount:t.selectedQuote.requestAmount,swaps:t.selectedQuote.swaps,outputAmount:t.selectedQuote.outputAmount,resultType:t.selectedQuote.resultType,tags:t.selectedQuote.tags}:null})},"subscribeCallback"),am=iw.subscribe(im),sm=aw.subscribe(im);function lm(){let{setInputAmount:t,setToToken:e,setToBlockchain:o,setFromBlockchain:n,resetQuote:r,setFromToken:a,fromToken:s,toToken:c,fromBlockchain:l,toBlockchain:p}=z()(),u=T().config,d=T().fetchStatus,f=T().blockchains(),{findToken:h}=T(),{setAffiliateRef:g,setAffiliatePercent:m,setAffiliateWallets:y}=T(),S=u?.from?.tokens,C=u?.from?.blockchains,k=u?.to?.tokens,v=u?.to?.blockchains,w=Mi(void 0),I=Mi(void 0),A=Mi(void 0),b=Mi(void 0);Cn(()=>{typeof u.amount<"u"&&t(u.amount.toString())},[u?.amount]),Cn(()=>{if(d==="success"){r();let E=f.find(M=>M.name===u?.from?.blockchain),x=u?.from?.token,N=x&&h(x);(E||!E&&A.current)&&n(E??null),N?a({token:N,meta:{blockchains:f}}):!N&&w.current&&a({token:null}),A.current=u?.from?.blockchain,w.current=u?.from?.token}},[u?.from?.token?.symbol,u?.from?.token?.address,u?.from?.token?.blockchain,u?.from?.blockchain,d]),Cn(()=>{gs(s,S)&&a({token:null}),hs(l,C)&&n(null)},[S,C]),Cn(()=>{gs(c,k)&&a({token:null}),hs(p,v)&&o(null)},[k,v]),Cn(()=>{if(d==="success"){r();let E=f.find(M=>M.name===u?.to?.blockchain),x=u?.to?.token,N=x&&h(x);(E||!E&&b.current)&&o(E??null),N?e({token:N,meta:{blockchains:f}}):!N&&I.current&&e({token:null}),b.current=u?.to?.blockchain,I.current=u?.to?.token}},[u?.to?.token?.symbol,u?.to?.token?.address,u?.to?.token?.blockchain,u?.to?.blockchain,d]),Cn(()=>{g(u?.affiliate?.ref??null),m(u?.affiliate?.percent??null),y(u?.affiliate?.wallets??null)},[u?.affiliate?.ref,u?.affiliate?.percent,u?.affiliate?.wallets])}i(lm,"useSyncStoresWithConfig");import{useEffect as Ys,useRef as sw}from"react";import{useInRouterContext as lw,useLocation as cw,useSearchParams as pw}from"react-router-dom";function js(t,e){let o=t.split("--");return o[0]?{blockchain:e.name,address:o?.[1]||null,symbol:o[0]}:null}i(js,"convertTokenSearchParamToAsset");function Xs(t){if(t)return`${t.symbol}${t.address?`--${t.address}`:""}`}i(Xs,"tokenToSearchParam");function Js(){let t=cw(),[e,o]=pw(),{fromBlockchain:n,toBlockchain:r,fromToken:a,toToken:s,inputAmount:c,setFromBlockchain:l,setToBlockchain:p,setFromToken:u,setToToken:d,setInputAmount:f}=z()(),h=T().fetchStatus,g=T().blockchains(),m=lw(),{updateIframe:y,updateCampaignMode:S}=T(),C=T().isInCampaignMode(),k=sw(),{findToken:v}=T(),w=i(()=>{let A={};for(let[W,Z]of e.entries())W.startsWith("utm_")&&(A[W]=Z);let b=e.get("fromAmount"),E=e.get("fromBlockchain"),x=e.get("fromToken"),N=e.get("toBlockchain"),M=e.get("toToken"),F=e.get("autoConnect"),H=e.get("clientUrl"),X=e.get("liquiditySources"),J=e.get("blockchain");return{fromAmount:b,fromBlockchain:E,fromToken:x,toBlockchain:N,toToken:M,autoConnect:F,clientUrl:H,liquiditySources:X,utmQueryParams:A,blockchain:J}},"getUrlSearchParams"),I=i(A=>{for(let b in A)A[b]||delete A[b];o(A,{replace:!0})},"updateUrlSearchParams");Ys(()=>{let{autoConnect:A,clientUrl:b,utmQueryParams:E,blockchain:x}=w();m&&h==="success"&&I({fromBlockchain:n?.name,fromToken:Xs(a),toBlockchain:r?.name,toToken:Xs(s),fromAmount:c,autoConnect:A??void 0,clientUrl:b??void 0,blockchain:x??void 0,liquiditySources:C?k.current:void 0,...E})},[t.pathname,c,n,a,r,s,C,h]),Ys(()=>{if(!m)return;let A=w();if(!k.current&&A.liquiditySources&&(k.current=A.liquiditySources),A.fromAmount&&f(A.fromAmount),h==="success"){let b=g.find(H=>H.name===A.fromBlockchain),E=A.fromToken&&b&&js(A.fromToken,b),x=E?v(E):void 0,N=g.find(H=>H.name===A.toBlockchain),M=A.toToken&&N&&js(A.toToken,N),F=M?v(M):void 0;b&&(l(b),x&&u({token:x,meta:{blockchains:g}})),N&&(p(N),F&&d({token:F,meta:{blockchains:g}}))}},[h]),Ys(()=>{let{clientUrl:A,liquiditySources:b}=w();y("clientUrl",A||void 0),S("liquiditySources",b?.split(",")??void 0)},[])}i(Js,"useSyncUrlAndStore");import{i18n as wn}from"@lingui/core";import{Alert as Wv,Button as Mv,darkTheme as Lv,Divider as Al,DoneIcon as Pv,styled as _v,TextField as Dv,Typography as $v}from"@rango-dev/ui";import Ge,{useState as Fv}from"react";import{useNavigate as Ov,useSearchParams as Uv}from"react-router-dom";import{ChevronRightIcon as uw,Divider as mm,Image as dw,Typography as fm}from"@rango-dev/ui";import bt from"react";import{darkTheme as cm,styled as Rs}from"@rango-dev/ui";var pm=Rs("div",{display:"flex",justifyContent:"space-between",width:"100%",height:"$40",padding:"$4 $10",borderRadius:"$sm",cursor:"pointer",alignItems:"center",backgroundColor:"$neutral300",[`.${cm} &`]:{backgroundColor:"$neutral400"},"&:hover":{backgroundColor:"$secondary100",[`.${cm} &`]:{backgroundColor:"$neutral500"}},variants:{disabled:{true:{cursor:"default","&:hover":{borderColor:"$neutral300","& svg":{color:"$neutral700"}}}}}}),um=Rs("div",{display:"flex",flexDirection:"column",width:"100%",".title_typography":{textTransform:"capitalize"}}),dm=Rs("div",{display:"flex"});function el(t){let{onClick:e,value:o,title:n,hasLogo:r,placeholder:a,disabled:s}=t;return bt.createElement(um,null,bt.createElement(fm,{size:"large",variant:"label"},n),bt.createElement(mm,{size:10}),bt.createElement(pm,{onClick:s?void 0:e,disabled:s,id:"widget-blockchain-selector-container"},bt.createElement(dm,null,r&&bt.createElement(bt.Fragment,null,bt.createElement(dw,{src:o?.logo,size:16,useAsPlaceholder:!o?.logo,type:"circular"}),bt.createElement(mm,{size:4,direction:"horizontal"})),bt.createElement(fm,{className:"title_typography",size:"medium",variant:"label"},o?.name||a)),bt.createElement(uw,{size:12,color:"black"})))}i(el,"BlockchainSelectorButton");import{i18n as rl}from"@lingui/core";import{Button as Tw,Divider as Tm,MessageBox as kw}from"@rango-dev/ui";import uo,{useEffect as km,useState as il}from"react";import{i18n as Li}from"@lingui/core";import{Divider as Fo,ExternalLinkIcon as gw,Image as hw,InfoIcon as yw,Tooltip as Sw,Typography as ur}from"@rango-dev/ui";import me from"react";var gm="https://blog.rango.exchange/understanding-the-risks-of-using-custom-token-contract-addresses-96022308eca4";function hm(t,e){if(e.type==="COSMOS")return"";let o=e.info?.addressUrl;return!o||!t?"":o.replace("{wallet}",t)}i(hm,"generateExplorerLink");import{Button as mw,darkTheme as Tn,styled as pr,Typography as fw}from"@rango-dev/ui";var tl=pr("a",{textDecoration:"none",color:"$colors$neutral700",[`.${Tn} &`]:{color:"$colors$neutral900"},"& svg":{marginLeft:"$4",color:"$colors$neutral700",[`.${Tn} &`]:{color:"$colors$neutral900"}},variants:{hasHover:{true:{"&:hover":{color:"$colors$secondary550",[`.${Tn} &`]:{color:"$colors$secondary500"},"& svg":{color:"$colors$secondary550",[`.${Tn} &`]:{color:"$colors$secondary500"}}}},false:{}}}}),ym=pr("div",{display:"flex",justifyContent:"center",flexDirection:"column",alignItems:"center",textAlign:"center","& ._blockchain-name, & ._coin-source":{color:"$colors$neutral600",[`.${Tn} &`]:{color:"$colors$neutral800"}},"& ._coin-source-name, & ._custom-token-description":{color:"$colors$neutral700",[`.${Tn} &`]:{color:"$colors$neutral900"}}}),ol=pr(mw,{minHeight:"$40"}),Sm=pr(fw,{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"96px"}),Cm=pr("div",{display:"flex",justifyContent:"center",alignItems:"center"});var Cw=9;function nl(t){let{open:e,onClose:o,token:n,onExit:r,onSubmitClick:a,blockchain:s}=t,c=hm(n.address,s),l=i(()=>window.open(gm,"_blank"),"onClickLearnMore");return me.createElement(ee,{open:e,id:"widget-custom-token-watermarked-modal",dismissible:!0,onClose:o,onExit:r,container:B()},me.createElement(ym,null,me.createElement(hw,{src:n.image===""?ei:n.image,size:45,type:"circular"}),me.createElement(Fo,{size:4}),me.createElement(Cm,null,me.createElement(Sm,{variant:"title",size:"medium"},n.symbol),n.symbol.length>Cw&&me.createElement(Sw,{content:n.symbol,container:B()},me.createElement(yw,{size:12,color:"gray"}))),me.createElement(ur,{variant:"body",size:"small",className:"_blockchain-name"},s.displayName),me.createElement(Fo,{size:4}),me.createElement(ur,{variant:"body",size:"medium"},c?me.createElement(tl,{hasHover:!0,href:c,target:"_blank",rel:"nofollow noreferrer"},n.address,me.createElement(gw,{size:12,color:"gray"})):me.createElement(tl,null,n.address)),me.createElement(Fo,{size:4}),n.coinSource&&me.createElement(ur,{className:"_coin-source",variant:"body",size:"xsmall"},Li.t("via")," ",me.createElement(ur,{className:"_coin-source-name",variant:"body",size:"xsmall"},n.coinSource)),me.createElement(Fo,{size:"32"}),me.createElement(ur,{size:"medium",variant:"body",className:"_custom-token-description"},Li.t("This token is not part of our verified token list. please verify its source and make sure to understand all associated risks before proceeding."))),me.createElement(Fo,{size:40}),me.createElement(Fo,{size:10}),me.createElement(ol,{id:"widget-custom-token-modal-import-btn",variant:"contained",size:"large",type:"primary",fullWidth:!0,onClick:a},Li.t("Import Anyway")),me.createElement(Fo,{size:10}),me.createElement(ol,{id:"widget-custom-token-modal-learn-more-btn",variant:"outlined",size:"large",type:"primary",fullWidth:!0,onClick:l},Li.t("Learn More")))}i(nl,"CustomTokenModal");function dr(t){let{token:e,blockchain:o,error:n,address:r,fetchCustomToken:a,onCloseErrorModal:s,onImport:c,onExitErrorModal:l,onExitImportModal:p}=t,{setCustomToken:u}=T(),[d,f]=il(!1),[h,g]=il(!1),[m,y]=il(!1),S=i(()=>{o&&a?.({blockchain:o.name,tokenAddress:r})},"getCustomToken"),C=i(()=>{n?.type!=="network-error"&&s?.(),f(!1)},"closeErrorModal"),k=i(()=>{y(!0),C()},"handleErrorModalButtonClick"),v=i(()=>{m&&n?.type==="network-error"&&(y(!1),S()),l()},"handleExit"),w=i(()=>{e&&(u(e),c())},"handleSubmit");return km(()=>{n&&f(!0)},[n]),km(()=>{o&&e&&g(!0)},[o,e]),uo.createElement(uo.Fragment,null,uo.createElement(ee,{open:d,dismissible:!0,id:"widget-add-custom-token-modal",onClose:C,onExit:v,container:B()},uo.createElement(kw,{title:n?.title??"",type:"error",description:n?.message||rl.t("Failed Network, Please retry.")},uo.createElement(Tm,{size:40}),uo.createElement(Tm,{size:10}),uo.createElement(Tw,{id:`widget-add-custom-token-${n?.type==="network-error"?"retry":"add-another"}-btn`,variant:"contained",size:"large",type:"primary",fullWidth:!0,onClick:k},n?.type==="network-error"?rl.t("Retry"):rl.t("Add another custom token")))),o&&e&&uo.createElement(nl,{blockchain:o,token:e,onSubmitClick:w,onClose:()=>g(!1),open:h,onExit:p}))}i(dr,"ImportCustomToken");import{useManager as bv}from"@rango-dev/queue-manager-react";import{BottomLogo as Ev,Divider as tf,Header as Iv}from"@rango-dev/ui";import We,{useEffect as Qi,useLayoutEffect as Av,useRef as of,useState as nf}from"react";import{useRef as ww}from"react";function Pi(){return window.self!==window.top}i(Pi,"isAppLoadedIntoIframe");function al(){let t=ww(null),{iframe:e}=T(),o=Pi()&&e.clientUrl,n=i(s=>{o&&window.top?.postMessage(s,e.clientUrl)},"send");return{send:n,connectHeightObserver:i(s=>{t.current=new ResizeObserver(c=>{for(let l of c)n({type:"widget_height",data:{height:l.contentRect.height}})}),t.current.observe(s)},"connectHeightObserver"),disconnectHeightObserver:i(()=>{t.current&&(t.current.disconnect(),t.current=null)},"disconnectHeightObserver")}}i(al,"useIframe");import{useNavigate as vw}from"react-router-dom";function qe(){let t=vw();return()=>t(-1)}i(qe,"useNavigateBack");import{createTheme as ml,darkTheme as Dw,lightTheme as $w}from"@rango-dev/ui";import{useEffect as Fw,useState as Ow}from"react";import{theme as Pw,darkColors as _w}from"@rango-dev/ui";import ul from"react";var _i=16,Di=255,wm=.11;function xw(t){return t.startsWith("#")&&(t=t.slice(1)),t.length===3?`#${t.split("").reduce(function(n,r){return n+r+r},"")}`:`#${t}`}i(xw,"expandShortHexColor");function bw(t,e){return t.padStart(e,"0")}i(bw,"pad");function sl(t){let e=Math.min(Math.max(Math.round(t),0),Di);return bw(e.toString(_i),2)}i(sl,"intToHex");function Ew(t){return`#${sl(t.red)}${sl(t.green)}${sl(t.blue)}`}i(Ew,"rgbToHex");function Iw(t){let e=parseInt(t.slice(1,3),_i),o=parseInt(t.slice(3,5),_i),n=parseInt(t.slice(5,7),_i);return{red:e,green:o,blue:n}}i(Iw,"hexToRGB");function Aw(t,e){let o=1-wm*e;return{red:t.red*o,green:t.green*o,blue:t.blue*o}}i(Aw,"generateShade");function Nw(t,e){let o=wm*e;return{red:t.red+(Di-t.red)*o,green:t.green+(Di-t.green)*o,blue:t.blue+(Di-t.blue)*o}}i(Nw,"generateTint");function Bw(t){return vm(t,Aw)}i(Bw,"calculateShades");function Ww(t){return vm(t,Nw)}i(Ww,"calculateTints");function vm(t,e){let o=Iw(t),n=[];for(let r=1;r<9;r++)n.push(Ew(e(o,r)));return n}i(vm,"calculateColors");function ll(t,e,o){let a=Ww(t).reverse().concat(t),s=Bw(t),c=a.concat(s),l={},p=c.length;for(let u=0;u<p;u++){let d=100+(o?p-1-u:u)*50,f=c[u];f&&(l[`${e}${d}`]=f)}return l}i(ll,"createTintsAndShades");function cl(t,e,o){let n={...t};for(let r in e){let a=e[r],s=r==="neutral"&&!!o?.reverseNeutralRange;if(!["background","foreground"].includes(r)&&!Cu(r)){let l=xw(a);Object.assign(n,ll(l,r,s))}}return{...n,...e}}i(cl,"expandToGenerateThemeColors");var xm=i(t=>String.fromCharCode(t+(t>25?39:97)),"toAlphabeticChar"),Mw=i(t=>{let e="",o;for(o=Math.abs(t);o>52;o=o/52|0)e=xm(o%52)+e;return xm(o%52)+e},"toAlphabeticName"),Lw=i((t,e)=>{let o=e.length;for(;o;)t=t*33^e.charCodeAt(--o);return t},"toPhash"),pl=i(t=>Mw(Lw(5381,JSON.stringify(t))>>>0),"toHash");function dl(t){let e=Pw.colors,o={...e,..._w},n,r;if(t?.light){let s={colors:cl(e,t.light)};n={id:`${fs}-light-${pl(s)}`,tokens:s}}if(t?.dark){let s={colors:cl(o,t.dark,{reverseNeutralRange:!0})};r={id:`${fs}-dark-${pl(s)}`,tokens:s}}return{light:n,dark:r}}i(dl,"customizedThemeTokens");function bm(t,e){if(t.length<=1)return t.map(({element:n,key:r})=>ul.cloneElement(n,{key:r}));let o=[];return t.forEach((n,r)=>{let{element:a,key:s}=n;if(o.push(ul.cloneElement(a,{key:s})),r<t.length-1){let c=`divider-${r}`;o.push(ul.cloneElement(e,{key:c}))}}),o}i(bm,"joinList");function Em(){return window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches}i(Em,"doesWindowPreferDarkColorScheme");function mo(t){let{colors:e,fontFamily:o=ou,borderRadius:n=Lu,secondaryBorderRadius:r=Pu}=t,[a,s]=Ow(Em()?"dark":"light"),{theme:c}=T(),{dark:l,light:p}=dl(e),u=ml({shadows:t.shadows||{},radii:{primary:`${n}px`,secondary:`${r}px`},fonts:{widget:o}}),d=[u.className,$w.className],f=[u.className,Dw.className];if(p){let g=ml(p.id,p.tokens);d.push(g.className)}if(l){let g=ml(l.id,l.tokens);f.push(g.className)}return Fw(()=>{let g=i(m=>{m.matches?s("dark"):s("light")},"switchThemeListener");return Em()&&s("dark"),window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",g),()=>{window.matchMedia("(prefers-color-scheme: dark)").removeEventListener("change",g)}},[]),{activeTheme:i(()=>{let g=d.join(" "),m=f.join(" ");return c==="auto"?a==="dark"?m:g:c==="dark"?m:g},"getActiveTheme"),mode:c==="auto"?a:c}}i(mo,"useTheme");var Tt=i(t=>{let e=[];return t?.getAll().forEach((o,n)=>{let r=o.list.getStorage();r?.swapDetails&&e.push({id:n,swap:r?.swapDetails})}),e.sort((o,n)=>Number(n.swap.creationTime)-Number(o.swap.creationTime))},"getPendingSwaps");import{i18n as Im}from"@lingui/core";import{Alert as Uw,Button as zw}from"@rango-dev/ui";import Am from"react";function fl(t){return Am.createElement(Uw,{action:Am.createElement(zw,{id:"widget-active-tab-btn",onClick:t.onActivateTab,variant:"contained",size:"xxsmall",type:"warning"},Im.t("Activate this tab")),type:"warning",variant:"alarm",title:Im.t("Another tab is open and handles transactions.")})}i(fl,"ActivateTabAlert");import{i18n as gl}from"@lingui/core";import{Button as Hw,Divider as Qw,MessageBox as qw}from"@rango-dev/ui";import $i from"react";function hl(t){let{open:e,onClose:o,onConfirm:n}=t;return $i.createElement(ee,{open:e,dismissible:!0,onClose:o,id:"widget-active-tab-modal",container:B()},$i.createElement(qw,{title:gl.t("Activate current tab"),type:"warning",description:gl.t("Currently, some transactions are running and being handled by other browser tab. If you activate this tab, all transactions that are already in the transaction sign step will expire.")},$i.createElement(Qw,{size:20}),$i.createElement(Hw,{id:"widget-modal-confirm-activate-tab-btn",variant:"contained",size:"large",type:"primary",fullWidth:!0,onClick:n},gl.t("Confirm"))))}i(hl,"ActivateTabModal");import{ChevronLeftIcon as Kw}from"@rango-dev/ui";import Dm from"react";import{css as Gw,darkTheme as Nm,IconButton as Vw,styled as Oo}from"@rango-dev/ui";var Dt=Oo(Vw,{width:"$24",position:"relative",padding:"0",overflow:"unset","&:hover":{backgroundColor:"$secondary100",[`.${Nm} &`]:{backgroundColor:"$neutral"}}}),Bm=Oo("div",{position:"absolute",background:"$secondary500",[`.${Nm} &`]:{$$color:"$colors$secondary250"},width:"$6",height:"$6",borderRadius:"$lg",right:"$4",border:"1px solid $surface100"}),fo=Oo("div",{display:"flex",justifyContent:"flex-end",minWidth:"$40",button:{padding:0}}),Wm=Oo("div",{position:"absolute",width:"14px",height:"14px",display:"flex",justifyContent:"center",alignItems:"center",borderRadius:"7px",top:"$0",right:"$0",variants:{isSever:{true:{backgroundColor:"$error500"},false:{backgroundColor:"$secondary500"}}}}),Mm=Oo("div",{padding:"$2",variants:{isRefetched:{true:{transform:"rotate(360deg)",transition:"transform 1s ease-in-out"}}}}),Lm=Oo("div",{position:"absolute",right:"$4",top:"$4",backgroundColor:"$background",borderRadius:"100%"}),Pm=Gw({display:"flex",flexDirection:"row",justifyContent:"center",alignItems:"center"}),_m=Oo("div",{borderRadius:"100%",border:"1.5px transparent solid","&:not(:first-child)":{marginLeft:"-$6"},img:{borderRadius:"100%"}});function yl(t){return Dm.createElement(Dt,{id:"widget-header-back-icon-btn",variant:"ghost",size:"small",onClick:t.onClick},Dm.createElement(Kw,{color:"black",size:16}))}i(yl,"BackButton");import{i18n as jw}from"@lingui/core";import{Button as Xw,Typography as Yw}from"@rango-dev/ui";import Sl from"react";function Cl(t){return Sl.createElement(fo,null,Sl.createElement(Xw,{id:"widget-header-cancel-btn",variant:"ghost",onClick:t.onClick,size:"xsmall"},Sl.createElement(Yw,{variant:"label",size:"medium",color:"error500"},jw.t("Cancel"))))}i(Cl,"CancelButton");import{i18n as Zw}from"@lingui/core";import{Image as Jw,Tooltip as Rw,WalletIcon as ev,WalletState as $m}from"@rango-dev/ui";import Uo from"react";function Tl(t){let{list:e}=vt(),o=e.filter(r=>r.state===$m.CONNECTED||r.state===$m.PARTIALLY_CONNECTED),n=o.length?Uo.createElement("div",{className:Pm()},o.map(r=>Uo.createElement(_m,{key:r.title},Uo.createElement(Jw,{src:r.image,size:14})))):Zw.t("Connect Wallet");return Uo.createElement(Rw,{container:t.container,side:"bottom",content:n},Uo.createElement(Dt,{id:"widget-header-wallet-icon-btn",variant:"ghost",size:"small",onClick:t.onClick},t.isConnected&&Uo.createElement(Bm,null),Uo.createElement(ev,{size:18,color:"black"})))}i(Tl,"WalletButton");import{i18n as Oi}from"@lingui/core";import{NotificationsIcon as hv,Popover as yv,SettingsIcon as Sv,Tooltip as Ui,TransactionIcon as Cv}from"@rango-dev/ui";import Pe from"react";import{Notifications as rv}from"@rango-dev/ui";import iv from"react";import{useNavigate as av}from"react-router-dom";import{create as tv}from"zustand";import{persist as ov,subscribeWithSelector as nv}from"zustand/middleware";var Be=co(tv()(ov(nv((t,e)=>({isSynced:!1,notifications:[],setNotification:(o,n)=>{let r=n.steps[0],a=n.steps[n.steps.length-1];if(!r||!a)return;let s={event:o,creationTime:Date.now(),requestId:n.requestId,route:{creationTime:parseInt(n.creationTime),from:{blockchain:r.fromBlockchain,address:r.fromSymbolAddress,symbol:r.fromSymbol},to:{blockchain:a.toBlockchain,address:a.toSymbolAddress,symbol:a.toSymbol}}},c=e().notifications.filter(l=>l.requestId!==n.requestId);t(()=>({notifications:[...c,s]}))},removeNotification:o=>{t(n=>({notifications:n.notifications.filter(r=>r.requestId!==o)}))},getNotifications:()=>{let{isSynced:o,notifications:n}=e();return o?n.sort((r,a)=>r.route.creationTime&&!a.route.creationTime?-1:!r.route.creationTime&&a.route.creationTime?1:!r.route.creationTime&&!a.route.creationTime?a.creationTime-r.creationTime:a.route.creationTime-r.route.creationTime):[]},syncNotifications:o=>{let{isSynced:n,notifications:r}=e();if(!n){let a=[];r.forEach(s=>{o.some(l=>l.swap.requestId===s.requestId)&&a.push(s)}),t({isSynced:!0,notifications:a})}},clearNotifications:()=>t({notifications:[]})})),{name:"notification",skipHydration:!0,partialize:({isSynced:t,...e})=>e,version:1,migrate:(t,e)=>{if(e===0){let o=t.notifications;t.notifications=o.filter(n=>!n.read).map(({read:n,...r})=>r)}return t}})));function kl(){let t=av(),{getNotifications:e,clearNotifications:o}=Be(),n=e(),r=T().blockchains(),{findToken:a}=T();return iv.createElement(rv,{id:"widget-notifications-container",list:n,getBlockchainImage:c=>Kp(c,r),getTokenImage:c=>a(c)?.image,onClickItem:i(c=>{t(`${$.swaps}/${c}`)},"onClickItem"),onClearAll:o})}i(kl,"NotificationContent");import{useManager as sv}from"@rango-dev/queue-manager-react";import{InProgressIcon as lv}from"@rango-dev/ui";import Fm from"react";var cv=i(()=>{let{manager:t}=sv();return Tt(t).map(({swap:o})=>o).find(o=>o.status==="running")?Fm.createElement(Lm,{id:"widget-header-history-badge-container"},Fm.createElement(lv,{color:"info",size:6})):null},"InProgressTransactionBadge"),Om=cv;import{EventSeverity as pv}from"@rango-dev/queue-manager-rango-preset";import{Typography as uv}from"@rango-dev/ui";import Um from"react";function zm(){let{getNotifications:t}=Be(),e=t(),o=e.length,n=!!e.find(r=>r.event.messageSeverity===pv.WARNING);return o?Um.createElement(Wm,{isSever:n},Um.createElement(uv,{variant:"body",size:"xsmall",color:"$background",id:"widget-header-notifications-badge-container"},o)):null}i(zm,"NotificationsBadge");import{RefreshProgressButton as dv}from"@rango-dev/ui";import wl,{useEffect as mv,useState as Hm}from"react";var fv=1e3,Qm=60,gv=100;function Fi({onClick:t}){let[e,o]=Hm(0),[n,r]=Hm(!1),a=i(l=>{document.hidden&&l&&s(l)},"handleVisibilityChange");mv(()=>{let l;return t?l=window.setInterval(()=>{o(p=>p+1),e===Qm&&c()},fv):s(l),document.addEventListener("visibilitychange",()=>a(l)),()=>{document.removeEventListener("visibilitychange",()=>a(l)),l&&clearInterval(l)}},[e,t]);let s=i(l=>{l&&clearInterval(l),o(0)},"clearTimeout"),c=i(()=>{t?.(),o(0),r(!0)},"handleRefreshClick");return wl.createElement(Dt,{id:"widget-header-refresh-icon-btn",variant:"ghost",size:"small",style:{paddingTop:0,paddingBottom:0},onClick:c,disabled:!t},wl.createElement(Mm,{onTransitionEnd:()=>r(!1),isRefetched:n},wl.createElement(dv,{size:22,color:t?"black":"gray",progress:e/Qm*gv})))}i(Fi,"RefreshButton");function zo(t){let{onClickRefresh:e,onClickHistory:o,onClickSettings:n,hidden:r=[],container:a}=t,{config:{features:s}}=T(),c=et("notification",s)||r.includes("notifications");return Pe.createElement(Pe.Fragment,null,!r.includes("refresh")&&Pe.createElement(Ui,{container:a||B(),side:"top",content:Oi.t("Refresh")},Pe.createElement(Fi,{onClick:e})),!c&&Pe.createElement(yv,{align:"end",alignOffset:-88,sideOffset:15,collisionPadding:{right:20,left:20},container:B(),content:Pe.createElement(kl,null)},Pe.createElement("div",null,Pe.createElement(Ui,{container:B(),side:"top",content:Oi.t("Notifications")},Pe.createElement(Dt,{id:"widget-header-notification-icon-btn",size:"small",variant:"ghost"},Pe.createElement(hv,{size:18,color:"black"}),Pe.createElement(zm,null))))),!r.includes("settings")&&Pe.createElement(Ui,{container:B(),side:"top",content:Oi.t("Settings")},Pe.createElement(Dt,{id:"widget-header-setting-icon-btn",size:"small",variant:"ghost",onClick:n},Pe.createElement(Sv,{size:18,color:"black"}))),!r.includes("history")&&Pe.createElement(Ui,{container:B(),side:"top",content:Oi.t("History")},Pe.createElement(Dt,{id:"widget-header-history-icon-btn",size:"small",variant:"ghost",onClick:o},Pe.createElement(Cv,{size:18,color:"black"}),Pe.createElement(Om,null))))}i(zo,"HeaderButtons");import{i18n as vl}from"@lingui/core";import{Divider as Gm,MessageBox as wv,RefreshIcon as vv}from"@rango-dev/ui";import kn from"react";import{Button as Tv,styled as kv}from"@rango-dev/ui";var qm=kv(Tv,{"& span":{display:"flex",justifyContent:"center",alignItems:"center"}});function xl(t){let{open:e,onClose:o}=t;return kn.createElement(ee,{open:e,dismissible:!0,onClose:o,id:"widget-refresh-modal",container:B()},kn.createElement(wv,{title:vl.t("Something went wrong"),type:"error",description:vl.t("Something went wrong. Please refresh the app.")},kn.createElement(Gm,{size:30}),kn.createElement(qm,{variant:"outlined",id:"widget-refresh-modal-refresh-btn",size:"large",type:"primary",fullWidth:!0,onClick:()=>location.reload()},kn.createElement(vv,{size:20,color:"primary"}),kn.createElement(Gm,{size:4,direction:"horizontal"}),vl.t("Refresh"))))}i(xl,"RefreshModal");var Vm="700px",Km="425px",jm="550px",Xm="640px",Ym="800px";function bl(t){let e=t.target;if(e){let o=e.scrollTop,n=B();o>1?n.classList.add("rng-scrolled"):n.classList.remove("rng-scrolled")}}i(bl,"onScrollContentAttachStatusToContainer");import{css as xv,styled as zi}from"@rango-dev/ui";var Hi=xv({borderRadius:"$primary",display:"flex",flexDirection:"column",overflow:"hidden",boxShadow:"$mainContainer"}),Zm=zi("div",{position:"relative",width:"100vw",minWidth:"300px",maxWidth:"390px",backgroundColor:"$background",maxHeight:Vm,variants:{height:{auto:{height:"auto"},fixed:{height:"100%",minHeight:Km,[`@media screen and (min-height: ${Ym})`]:{minHeight:jm}}},showBanner:{true:{overflow:"visible"}}}}),Jm=zi("div",{position:"relative",overflow:"hidden",flexGrow:1,display:"flex",flexDirection:"column",padding:0,overflowY:"auto"}),Rm=zi("div",{padding:"0 $20 $10","& .footer__alert":{paddingTop:"$10"},"& .footer__logo":{opacity:0,transition:"opacity 1s ease-in-out","&.logo__show":{opacity:1},"&.logo__hidden":{visibility:"hidden"}}}),ef=zi("div",{width:"100%",position:"absolute",bottom:"-$10",transform:"translateY(100%)",overflow:"hidden"});function ie(t){let{connectHeightObserver:e,disconnectHeightObserver:o}=al(),{children:n,header:r,footer:a,height:s="fixed"}=t,{fetchStatus:c,connectedWallets:l,config:{__UNSTABLE_OR_INTERNAL__:p}}=T(),[u,d]=nf(!1),{config:{features:f,theme:h}}=T(),{watermark:g}=oe(),m=g==="FULL",{activeTheme:y}=mo(h||{}),[S,C]=nf(!1),k=et("connectWalletButton",f),{isActiveTab:v,tabManagerInitiated:w,showActivateTabModal:I,setShowActivateTabModal:A,activateCurrentTab:b,setShowCompactTokenSelector:E}=oe(),x=qe(),{manager:N}=bv(),F=Tt(N).map(({swap:Y})=>Y).some(Y=>Y.status==="running"),H=i(()=>b(Po.forceClaim,F),"onActivateTab"),X=i(()=>{r.onWallet?.()},"onConnectWallet"),J=typeof r.hasBackButton>"u"||r.hasBackButton,W=of(null),Z=of(null);return Qi(()=>{let Y=(p?.swapBoxBanner?.routes?.length??0)===0,ce=!!p?.swapBoxBanner?.routes?.some(fe=>location.pathname.endsWith(fe));C(!!p?.swapBoxBanner&&(Y||ce))},[p?.swapBoxBanner?.routes?.toString(),location.pathname]),Qi(()=>(Pi()&&Z.current&&e(Z.current),()=>{o()}),[]),Qi(()=>(W.current?.addEventListener("scroll",bl),()=>{W.current?.removeEventListener("scroll",bl)}),[]),Qi(()=>{d(c==="failed")},[c]),Av(()=>{if(!Z.current)return;let Y=new ResizeObserver(ce=>{for(let fe of ce)fe.contentRect&&E(fe.contentRect.height<parseInt(Xm))});return Y.observe(Z.current),()=>Y.disconnect()},[]),We.createElement(Zm,{height:s,id:Re.SWAP_BOX_ID,className:`${y()} ${Hi()}`,ref:Z,showBanner:S},We.createElement(Iv,{prefix:J?We.createElement(yl,{onClick:()=>{x(),r.onBack?.()}}):null,title:r.title,suffix:We.createElement(We.Fragment,null,r.suffix,r.onWallet&&!k&&We.createElement(Tl,{container:B(),onClick:X,isConnected:!!l?.length}),r.onCancel&&We.createElement(Cl,{onClick:r.onCancel}))}),We.createElement(Jm,{ref:W},n),We.createElement(hl,{open:I,onClose:()=>A(!1),onConfirm:H}),We.createElement(Rm,null,We.createElement("div",{className:"footer__content"},w&&!v&&We.createElement("div",{className:"footer__alert"},We.createElement(fl,{onActivateTab:H}),We.createElement(tf,{size:10})),a),We.createElement(tf,{size:12}),We.createElement("div",{className:`footer__logo ${m?"logo__show":"logo__hidden"}`},We.createElement(Ev,null))),S&&We.createElement(ef,null,p?.swapBoxBanner?.element),We.createElement(xl,{open:u,onClose:()=>d(!1)}))}i(ie,"Layout");import{styled as Nv}from"@rango-dev/ui";var rf="$20 $20 $10 $20",El=Nv("div",{padding:rf,overflowY:"auto",flexGrow:1});import{styled as Bv}from"@rango-dev/ui";var le=Bv("div",{display:"flex",flexDirection:"column",padding:"20px 20px 10px",flexGrow:1,variants:{view:{true:{flexGrow:1,overflow:"hidden"}},compact:{true:{padding:0}}}});import{i18n as go}from"@lingui/core";import{useState as Il}from"react";function af(){let[t,e]=Il(!1),[o,n]=Il(null),[r,a]=Il(null),{findToken:s}=T(),c=T().customTokens(),l=i(()=>{a(null),e(!1),n(null)},"resetState");function p(d,f){switch(d){case"duplicated":return{type:d,title:go.t("Duplicate Token"),message:go.t("The address you entered is duplicate, please enter a new address.")};case"token-exist":return{type:d,title:go.t("Token Already Exists"),message:go.t("There's no need to add this token again because it already exists and is supported by us.")};case"not-found":return{type:d,title:go.t("Token Not Found"),message:go.t({id:"Sorry, no token was found on {blockchain} chain with the provided address. please make sure you have entered the right token address.",values:{blockchain:f}})};case"network-error":return{type:d,title:go.t("Network error"),message:go.t("An error occurred while retrieving token data.")}}}return i(p,"produceErrorMessage"),{fetchCustomToken:i(async({blockchain:d,tokenAddress:f})=>{e(!0);try{if(c.some(S=>S.address?.toLowerCase()===f.toLowerCase())){let S=p("duplicated");n(S);return}let g=await ct().getCustomToken({blockchain:d,address:f});if(!g||!g.token||g.error){let S=p("not-found",d);n(S);return}let m=g.token;if(s({blockchain:m.blockchain,address:m.address,symbol:m.symbol})){let S=p("token-exist");n(S);return}return a({...m,warning:!0})}catch(h){if(h.code==="ERR_BAD_REQUEST"){let g=p("not-found",d);n(g);return}n(p("network-error"));return}finally{e(!1)}},"fetchCustomToken"),token:r,loading:t,error:o,resetState:l}}i(af,"useFetchCustomToken");var zv=_v("div",{display:"flex",justifyContent:"space-between",flexDirection:"column",flex:1,"& ._text-field":{padding:"$4 $12",backgroundColor:"$neutral300","& input":{padding:"0"},[`.${Lv} &`]:{backgroundColor:"$neutral400"},borderRadius:"$sm",height:"$40"}});function sf(){let t=Ov(),[e]=Uv(),o=qe(),n=T().blockchains(),r=e.get("blockchain")||"",a=No(r,n),[s,c]=Fv(""),{fetchCustomToken:l,token:p,loading:u,error:d,resetState:f}=af(),h=!!a&&tn(a,s),g=!a||!s||!h,m=i(()=>{a&&l({blockchain:r,tokenAddress:s})},"getCustomToken");return Ge.createElement(ie,{header:{title:wn.t("Add Custom Token")}},Ge.createElement(le,null,Ge.createElement(zv,null,Ge.createElement("div",null,Ge.createElement(el,{onClick:()=>t($.blockchains,{replace:!0}),hasLogo:!!a?.logo,value:a?{name:a.displayName,logo:a.logo}:void 0,title:wn.t("Select chain"),placeholder:wn.t("Select chain")}),Ge.createElement(Al,{size:"24"}),Ge.createElement($v,{size:"large",variant:"label"},wn.t("Enter Address")),Ge.createElement(Al,{size:10}),Ge.createElement(Dv,{fullWidth:!0,id:"widget-add-custom-token-token-address-input",disabled:!a,variant:"contained",placeholder:wn.t("Enter token address"),size:"large",value:s,suffix:!!s&&h&&Ge.createElement(Pv,{color:"success",size:12}),onChange:y=>c(y.target.value)}),!h&&!!s&&Ge.createElement(Ge.Fragment,null,Ge.createElement(Al,{size:4}),Ge.createElement(Wv,{id:"widget-add-custom-token-invalid-address-alert",type:"error",variant:"alarm",title:"Invalid Address"}))),Ge.createElement(Mv,{id:"widget-add-custom-token-import-btn",disabled:g,type:"primary",variant:"contained",loading:u,size:"large",onClick:m},wn.t("Import"))),Ge.createElement(dr,{token:p,blockchain:a??void 0,address:s,error:d??void 0,fetchCustomToken:l,onCloseErrorModal:()=>{d?.type!=="network-error"&&c("")},onImport:o,onExitErrorModal:f,onExitImportModal:f})))}i(sf,"AddCustomTokenPage");import{i18n as cc}from"@lingui/core";import{useManager as Bb}from"@rango-dev/queue-manager-react";import{Alert as Wb,Button as Mb,css as uc,Divider as pc,IconButton as Rg,styled as Lb,Typography as Pb,WalletIcon as _b}from"@rango-dev/ui";import $e,{useEffect as ya,useLayoutEffect as Db,useRef as $b,useState as xr}from"react";import{useNavigate as Fb}from"react-router-dom";import{i18n as Ho}from"@lingui/core";import{Alert as mx,BalanceErrors as fx,Button as Lf,ChevronLeftIcon as gx,Divider as Dl,MessageBox as hx,Typography as $l}from"@rango-dev/ui";import re,{useCallback as yx,useEffect as Pf,useMemo as Sx,useState as En}from"react";import{useNavigate as Cx}from"react-router-dom";import{i18n as Ml}from"@lingui/core";import{Alert as Vv,ChevronDownIcon as Kv,CloseIcon as jv,Divider as ff,IconButton as gf,PasteIcon as Xv,Typography as Yv,WalletIcon as Zv}from"@rango-dev/ui";import _e,{useEffect as Jv,useRef as Rv}from"react";import Ki,{useRef as qv}from"react";import*as vn from"@radix-ui/react-collapsible";import{keyframes as lf,styled as qi}from"@rango-dev/ui";var Nl=300,Hv=lf({from:{height:0},to:{height:"var(--radix-collapsible-content-height)"}}),Qv=lf({from:{height:"var(--radix-collapsible-content-height)"},to:{height:0}}),cf=qi(vn.Root,{borderRadius:"$sm",overflow:"hidden",variants:{selected:{true:{outlineWidth:1,outlineColor:"$secondary500",outlineStyle:"solid"}}}}),Bl=qi(vn.Trigger,{padding:"$0",border:"none",outline:"none",width:"100%",backgroundColor:"transparent",fontFamily:"inherit",cursor:"pointer"}),Gi=qi(vn.Content,{overflow:"hidden",variants:{open:{true:{animation:`${Hv} ${Nl}ms ease-out`},false:{animation:`${Qv} ${Nl}ms ease-out`}}}}),Vi=qi("div",{transition:`all ${Nl}ms ease`,display:"flex",alignItems:"center",variants:{orientation:{down:{transform:"rotate(0)"},up:{transform:"rotate(180deg)"}}}});function ji(t){let{open:e,hasSelected:o,onOpenChange:n,children:r,onClickTrigger:a,trigger:s,triggerAnchor:c}=t,l=qv(null);return Ki.createElement(cf,{ref:l,className:"collapsible_root",selected:o&&e,open:e,onOpenChange:n},c==="top"&&Ki.createElement(Bl,{className:"collapsible_trigger",onClick:a},s),Ki.createElement(Gi,{className:"collapsible_content",open:e},r),c==="bottom"&&Ki.createElement(Bl,{className:"collapsible_trigger",onClick:a},s))}i(ji,"CustomCollapsible");import{darkTheme as pf,styled as Wl,TextField as Gv}from"@rango-dev/ui";var uf=Wl("div",{padding:"$10 $0","& .button__content":{display:"flex",alignItems:"center"},"& .alarms":{paddingTop:"$5"},"& .collapsible_content":{backgroundColor:"$neutral100"},"& .collapsible_root":{backgroundColor:"$neutral100"},"& input":{padding:"$15"}}),df=Wl(Gv,{backgroundColor:"$neutral100"}),mf=Wl("div",{width:"100%",borderRadius:"$sm",display:"flex",padding:"$15",justifyContent:"space-between",alignItems:"center",$$color:"$colors$neutral100",[`.${pf} &`]:{$$color:"$colors$neutral300"},backgroundColor:"$$color",borderBottomRightRadius:"0",borderBottomLeftRadius:"0","&:focus-visible":{$$background:"$colors$secondary100",[`.${pf} &`]:{$$background:"$colors$info700"},backgroundColor:"$$background",outline:0}});function hf(t){let{blockchain:e,handleOpenChange:o,open:n}=t,{customDestination:r,setCustomDestination:a}=z()(),{config:s}=T(),c=T().blockchains(),l=Jr(e.name,c),p=Rv(null),u=s?.defaultCustomDestinations?.[e.name],d=navigator?.userAgent.includes("Firefox"),h=n&&!!r&&e&&!tn(e,r),g=i(()=>{a("")},"handleClear"),m=i(async S=>{if(S.preventDefault(),navigator.clipboard!==void 0){let C=await navigator.clipboard.readText();a(C),p?.current?.focus()}},"handlePaste"),y=i(()=>r?_e.createElement(gf,{id:"widget-custom-destination-close-icon-btn",onClick:g,variant:"ghost"},_e.createElement(jv,{size:12,color:"gray"})):d?null:_e.createElement(gf,{id:"widget-custom-destination-paste-icon-btn",onClick:m,variant:"ghost"},_e.createElement(Xv,{size:16})),"renderSuffix");return Jv(()=>{!!u&&r===null&&(a(u),o(!0))},[u]),_e.createElement(uf,null,_e.createElement(ji,{onOpenChange:o,hasSelected:!0,open:n,triggerAnchor:"top",trigger:_e.createElement(mf,{id:"widget-custom-destination-collapsible-btn"},_e.createElement("div",{className:"button__content"},_e.createElement(Zv,{size:18,color:"info"}),_e.createElement(ff,{size:4,direction:"horizontal"}),_e.createElement(Yv,{variant:"label",size:"medium",color:n?"$neutral600":void 0},Ml.t("Send to a different address"))),_e.createElement(Vi,{orientation:n?"up":"down"},_e.createElement(Kv,{size:10,color:"secondary"}))),onClickTrigger:()=>o(!n)},_e.createElement(df,{id:"widget-custom-destination-blockchain-address-input",ref:p,style:{padding:0,paddingRight:r?"8px":"5px"},autoFocus:!r,placeholder:Ml.t("Enter {blockchainName} address",{blockchainName:l}),value:r||"",suffix:y(),onChange:S=>{let C=S.target.value;a(C)}})),h&&_e.createElement(_e.Fragment,null,_e.createElement(ff,{size:4}),_e.createElement(Vv,{variant:"alarm",type:"error",title:Ml.t({values:{destination:r},id:"Address {destination} doesn't match the blockchain address pattern."})})))}i(hf,"CustomDestination");import{css as ex,IconButton as tx,SelectableWalletButton as ox,styled as ho}from"@rango-dev/ui";var yf=ho("div",{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"center"}),Sf=ho("div",{display:"flex",justifyContent:"space-evenly",alignItems:"center",columnGap:"$5",rowGap:"$10",flexWrap:"wrap",paddingTop:"$5",height:"100%"}),Cf=ho(ox,{justifyContent:"center"}),Tf=ho("div",{padding:"$20 $20 $15 $20",display:"flex",justifyContent:"center",alignItems:"center",backgroundColor:"$neutral200",position:"relative",width:"100%"}),kf=ho(tx,{position:"absolute",left:"$20"}),wf=ho("div",{paddingTop:"$20"}),vf=ex({display:"flex",justifyContent:"space-evenly",alignItems:"center",gap:"$10",flexWrap:"wrap",paddingTop:"$5",height:"100%"}),xf=ho("div",{display:"flex"}),bf=ho("div",{overflow:"visible",width:"100%"});import{i18n as Pl}from"@lingui/core";import{warn as sx}from"@rango-dev/logging-core";import{Divider as lx,makeInfo as cx,SelectableWallet as px,Typography as Wf,WalletState as bn}from"@rango-dev/ui";import nt,{useEffect as Mf,useState as fr}from"react";import{Image as ix,MessageBox as ax}from"@rango-dev/ui";import mr from"react";import{keyframes as nx,styled as Ll}from"@rango-dev/ui";var Ef=Ll("div",{position:"relative"}),rx=nx({"0%":{transform:"rotate(0deg)"},"100%":{transform:"rotate(360deg)"}}),If=Ll("div",{position:"absolute",border:"2px solid rgba(0, 0, 0, 0.1)",borderTop:"2px solid $info500",borderRadius:"$lg",width:"$45",height:"$45",animation:`${rx} 1s linear infinite`,top:0,bottom:0,right:0,left:0}),Af=Ll("div",{"& img":{borderRadius:"50%"}});import{i18n as xn}from"@lingui/core";function Nf(t,e){switch(t){case"in-progress":return{type:"loading",title:xn.t({id:"Add {blockchainDisplayName} Chain",values:{blockchainDisplayName:e}}),description:xn.t({id:"Please approve the experimental chain pop-up in your wallet.",values:{blockchainDisplayName:e}})};case"completed":return{type:"success",title:xn.t({id:"{blockchainDisplayName} Chain Added",values:{blockchainDisplayName:e}}),description:xn.t({id:"The {blockchainDisplayName} chain has been successfully added to your wallet.",values:{blockchainDisplayName:e}})};case"rejected":return{type:"error",title:xn.t("Request Rejected"),description:xn.t({id:"You've rejected adding {blockchainDisplayName} chain to your wallet.",values:{blockchainDisplayName:e}})};default:throw new Error(`Showing information about an experimentation chain status needs to be defined first. status: ${t}`)}}i(Nf,"generateMessageByStatus");function Bf(t){let{status:e,displayName:o,image:n}=t,r=Nf(e,o),a=e=="in-progress";return mr.createElement(ax,{type:r.type,title:r.title,description:r.description,icon:a?mr.createElement(Ef,null,mr.createElement(Af,null,mr.createElement(ix,{src:n,size:45})),mr.createElement(If,null)):void 0})}i(Bf,"ExperimentalChainStatus");var ux=7,dx=3e3;function _l(t){let{chain:e,quoteChains:o,isSelected:n,selectWallet:r,limit:a,onShowMore:s}=t,c=oe.use.isActiveTab(),{blockchains:l,connectedWallets:p}=T(),[u,d]=fr(),[f,h]=fr(null),[g,m]=fr(!1),[y,S]=fr(null),{suggestAndConnect:C}=Xi(),{list:k}=vt({chain:e}),[v,w]=fr(k),I=k.length,A=a&&I-a>0,b=i(async x=>{m(!1),S("in-progress");try{await C(x.walletType,x.chain),S("completed")}catch{S("rejected")}},"addExperimentalChain");Mf(()=>{w(x=>{let N=k.findIndex(M=>n(M.type,e));return A&&N>1?[k[N]].concat(k.filter((M,F)=>F!==N)):x.map(M=>k.find(F=>F.type===M.type)??M)})},[JSON.stringify(k)]);let E=document.getElementById(Re.SWAP_BOX_ID);return Mf(()=>{let x=null;return(y==="completed"||y==="rejected")&&(x=setTimeout(()=>S(null),dx)),()=>{x&&clearTimeout(x)}},[y]),nt.createElement(nt.Fragment,null,v.slice(0,a).map(x=>{let N=Iu({connectedWallets:p,walletType:x.type,chain:e}),M=x.state===bn.CONNECTED||x.state===bn.PARTIALLY_CONNECTED,F=N?lo(N,ux):"",H=M&&!!x.needsNamespace&&!F,X=ci(l(),e),J=!p.find(ue=>ue.walletType===x.type&&ue.chain===e),W=X&&J&&x.state===bn.CONNECTED,Z=i(async()=>{x.state===bn.DISCONNECTED||H?d(x):W?(h({walletType:x.type,chain:e,address:N??""}),m(!0)):r({walletType:x.type,chain:e,address:N??""})},"onSelectableWalletClick"),Y=cx(x.state),ce=i(()=>W?Pl.t({id:"Add {chain} chain",values:{chain:e}}):H?Pl.t("Chain not connected"):F||Y.description,"getWalletDescription"),fe=i(()=>x.state===bn.CONNECTED||x.state===bn.PARTIALLY_CONNECTED?H?"neutral600":"neutral700":Y.color,"getWalletDescriptionColor"),at=f?.chain?Jr(f.chain,l()):void 0;return nt.createElement(nt.Fragment,{key:`${x.title}_${at}`},!!f&&nt.createElement(ee,{id:"widget-wallets-list-watermarked-modal",open:!!f&&g,container:E,onClose:()=>{h(null)}},nt.createElement(zs,{id:"widget-wallets-list-experimental-chain-container",displayName:at,onConfirm:()=>{b(f)}})),y&&nt.createElement(ee,{id:"widget-wallets-list-experimental-chain-watermarked-modal",open:!!y,onClose:S.bind(null,null),container:E},nt.createElement(Bf,{status:y,displayName:at,image:x.image}),nt.createElement(lx,{direction:"vertical",size:32})),nt.createElement(px,{key:x.type,id:"widget-wallets-list-selectable-wallet-btn",description:ce(),descriptionColor:fe(),onClick:Z,selected:n(x.type,e),disabled:!c,...x}))}),nt.createElement(ar,{id:"widget-wallets-list-stateful-connect-modal",wallet:u,options:{defaultSelectedChains:o||[e]},onClose:()=>{d(void 0)},onConnect:()=>{t.onConnect&&(u?.type?t.onConnect(u.type):sx(new Error("The selected wallet hasn't been detected after the connection process finished. It usually shouldn't happen.")))}}),A&&nt.createElement(Cf,{selected:!1,onClick:s,id:"widget-wallets-list-show-more-wallets-btn"},nt.createElement(Wf,{variant:"label",size:"medium"},Pl.t("Show more wallets"),nt.createElement(Wf,{variant:"label",size:"medium",color:"$primary"},"\xA0+",I-(a??0)))))}i(_l,"WalletList");var Tx=2;function _f(t){let{open:e,onClose:o,onCancel:n,onCheckBalance:r,loading:a}=t,s=Cx(),c=T().blockchains(),{selectedQuote:l,setSelectedWallets:p,quoteWalletsConfirmed:u,setQuoteWalletConfirmed:d,customDestination:f,setCustomDestination:h}=z()(),{config:g,connectedWallets:m,setWalletsAsSelected:y}=T(),[S,C]=En(""),[k,v]=En([]),[w,I]=En(""),[A,b]=En(!!f),E=Sx(()=>Mo({filter:"all",quote:l}),[l]),x=Mo({filter:"required",quote:l}),N=c.find(D=>D.name===l?.swaps[l?.swaps.length-1]?.to.blockchain),M=i(D=>x.includes(D),"isWalletRequiredFor"),F=yx(()=>m.filter(D=>D.selected&&E.includes(D.chain)),[m,E]),[H,X]=En(F()),[J,W]=En([]),Z=i((D,U)=>W(G=>G.concat({blockchain:D,walletType:U})),"addNextSelectedWallets"),Y=k.length>0,ce=i((D,U)=>!!H.find(G=>G.walletType===D&&G.chain===U&&G.selected&&(M(U)||!M(U)&&!f)),"isSelected"),fe=i((D,U,G)=>{let se=!1;return D.map(Q=>{if(Q.chain===U){let j=Q.selected;return!se&&G?(se=!0,j=!0):G||(j=!1),{...Q,selected:j}}return Q})},"updateSelectableWallets"),at=i(D=>{b(D),D?M(N?.name??"")||X(U=>fe(U,N?.name||"",!1)):(h(""),X(U=>fe(U,N?.name||"",!0)))},"handleCustomDestinationCollapsibleOpenChange"),ue=i(D=>{if(S&&C(""),ce(D.walletType,D.chain))return;let G=m.find(se=>se.walletType===D.walletType&&se.chain===D.chain);G&&(n(),D.chain===N?.name&&A&&!M(N.name)&&(b(!1),h(null)),X(se=>se.filter(Q=>Q.chain!==D.chain).concat({...G,selected:!0})))},"onChange"),wt=i(()=>{let D=H.filter(U=>U.selected);y(D),p(D),d(!0),o()},"onConfirmBalance"),gt=i(async()=>{v([]),I("");let D=await r?.({selectedWallets:H.filter(G=>G.selected),customDestination:f}),U=D.warnings;U?.balance?.messages&&v(U.balance.messages),D.error&&I(vd(D.error)),!D.error&&!U?.balance?.messages.length?wt():v(U?.balance?.messages??[])},"onConfirmWallets");Pf(()=>{X(D=>{let U=[];return D.forEach(G=>{!m.some(Q=>Q.chain===G.chain&&Q.walletType===G.walletType&&Q.address===G.address)||U.push(G)}),U=U.concat(m.filter(G=>!!!U.find(Q=>Q.chain===G.chain)&&G.selected&&E.includes(G.chain))),U})},[m,E]),Pf(()=>{let D=[];J.length>0&&(J.forEach(U=>{let G=m.find(se=>se.chain===U.blockchain&&se.walletType===U.walletType);G?ue(G):D.push(U)}),W(D))},[m,J]);let Wt=document.getElementById(Re.SWAP_BOX_ID);return re.createElement(ee,{id:"widget-confirm-wallets-modal",open:e,onClose:()=>{u||s("../",{replace:!0}),o()},dismissible:!S,container:Wt,...!S&&{styles:{container:{height:"100%"}},footer:re.createElement(xf,null,re.createElement(Lf,{id:"widget-confirm-wallet-modal-confirm-btn",loading:a,disabled:Jd(a,A,f,l,H,N),onClick:gt,variant:"contained",type:"primary",fullWidth:!0,size:"large"},Ho.t("Confirm")))},...S&&{styles:{container:{height:"100%",padding:"$0"}},header:re.createElement(Tf,null,re.createElement(kf,{id:"widget-confirm-wallet-modal-navigate-back-icon-btn",variant:"ghost",onClick:C.bind(null,"")},re.createElement(gx,{size:16})),re.createElement($l,{variant:"headline",size:"small"},Ho.t({id:"Your {blockchainName} wallets",values:{blockchainName:ht(S,c)}})))},anchor:"center"},re.createElement(ee,{id:'"widget-confirm-wallets-insufficient-account-balance-modal',open:Y,onClose:v.bind(null,[]),container:Wt},re.createElement(hx,{title:Ho.t("Insufficient account balance"),type:"error",description:re.createElement(fx,{messages:k??[]})},re.createElement(Lf,{id:"widget-confirm-wallet-modal-proceed-anyway-btn",variant:"outlined",size:"large",type:"primary",fullWidth:!0,onClick:wt},Ho.t("Proceed anyway")))),S&&re.createElement(wf,null,re.createElement("div",{className:vf()},re.createElement(_l,{chain:S,quoteChains:E,isSelected:ce,selectWallet:ue,onShowMore:()=>C(S),onConnect:D=>{Z(S,D)}}))),!S&&re.createElement(re.Fragment,null,w&&re.createElement(re.Fragment,null,re.createElement(mx,{id:"widget-confirm-wallet-modal-error-alert",variant:"alarm",type:"error",title:Ho.t(w)}),re.createElement(Dl,{size:12})),re.createElement(bf,null,E.map((D,U)=>{let G=c.find(K=>K.name===D),se=`wallet-${U}`,Q=U===E.length-1,j=Q&&N&&g?.customDestination!==!1;return re.createElement("div",{key:se},re.createElement(yf,null,re.createElement($l,{variant:"title",size:"xmedium"},Ho.t({id:"Your {blockchainName} wallets",values:{blockchainName:G?.shortName}})),re.createElement($l,{variant:"label",color:"$neutral700",size:"medium"},Ho.t({id:"You need to connect a {blockchainName} wallet.",values:{blockchainName:G?.shortName}}))),re.createElement(Dl,{size:24}),re.createElement(Sf,null,re.createElement(_l,{chain:D,quoteChains:E,isSelected:ce,selectWallet:ue,limit:Tx,onShowMore:()=>C(G?.name??""),onConnect:K=>{Z(D,K)}})),!Q&&re.createElement(Dl,{size:32}),j&&re.createElement(hf,{blockchain:N,open:A,handleOpenChange:at}))}))))}i(_f,"ConfirmWalletsModal");import{i18n as Vx}from"@lingui/core";import{Alert as Kx,Button as jx,Divider as tg,InfoIcon as Xx}from"@rango-dev/ui";import Oe from"react";import{Alert as vx,Button as xx,Divider as Ul,NoRouteIcon as bx,RefreshIcon as Ex,Typography as Hf}from"@rango-dev/ui";import pt from"react";import{i18n as Df}from"@lingui/core";var kx=24,wx=60;function $f(t,e,o,n){return t?.type===1?{alert:{type:"warning",text:ne().genericServerError,action:{onClick:n,title:Df.t("Retry")}},description:""}:e.length?{alert:{type:"warning",text:ne().liquiditySourcesError.title,action:{onClick:()=>o(!0),title:Df.t("Reset")}},description:ne().liquiditySourcesError.description}:t?.type===0&&t.diagnosisMessage?{alert:{type:"error",text:t.diagnosisMessage,action:null},description:""}:{alert:null,description:ne().noResultError.description}}i($f,"makeInfo");var Fl=(o=>(o[o.small=kx]="small",o[o.large=wx]="large",o))(Fl||{}),Ol=(o=>(o.small="small",o.large="medium",o))(Ol||{});import{styled as Yi}from"@rango-dev/ui";var Ff=Yi("div",{display:"flex",flexDirection:"column",alignItems:"center"}),Of=Yi("div",{variants:{size:{small:{},large:{maxWidth:"316px"}}}}),Uf=Yi("div",{variants:{size:{small:{width:"100%"},large:{}}}}),zf=Yi("div",{padding:"$6 $0"});function gr(t){let{fetch:e,error:o,size:n="small",skipAlerts:r}=t,a=T().getDisabledLiquiditySources(),s=T().toggleAllLiquiditySources,c=T().swappers(),l=$f(o,a,()=>s(c,!0),e);return r&&(l.alert=null),pt.createElement(Ff,{id:"widget-no-result-container"},pt.createElement(bx,{size:Fl[n],color:"gray"}),pt.createElement(Ul,{size:4}),pt.createElement(Hf,{variant:"title",size:Ol[n]},ne().noResultError.title),n==="large"&&pt.createElement(Ul,{size:4}),!!l.description&&pt.createElement(Of,{size:n},pt.createElement(Hf,{variant:"body",size:"small",align:"center",color:"neutral700"},l.description)),pt.createElement(Ul,{size:n==="large"?"24":"4"}),!!l.alert&&pt.createElement(Uf,{size:n},pt.createElement(vx,{id:"widget-no-result-alert",type:l.alert.type,title:l.alert.text,titleAlign:"left",action:l.alert.action&&pt.createElement(xx,{size:"xsmall",id:"widget-no-result-alert-btn",type:l.alert.type,prefix:pt.createElement(zf,null,pt.createElement(Ex,{size:8})),onClick:l.alert.action.onClick},l.alert.action.title),variant:"alarm"})))}i(gr,"NoResult");import{i18n as hr}from"@lingui/core";import{Button as Px,Divider as _x,MessageBox as Dx,Typography as $x,WarningIcon as Fx}from"@rango-dev/ui";import Yt from"react";import{InfoIcon as Bx,Tooltip as Wx,Typography as Mx}from"@rango-dev/ui";import In from"react";import{Button as Ix,darkTheme as Ax,styled as Qo,Typography as Nx}from"@rango-dev/ui";var Qf=Qo("div",{width:"100%"}),zl=Qo("div",{display:"flex",flexDirection:"column",alignItems:"flex-start",gap:"$5",width:"100%"}),qf=Qo("div",{display:"flex",padding:"$5 0",justifyContent:"space-between",alignItems:"center",width:"100%","._title":{$$color:"$colors$neutral600",[`.${Ax} &`]:{$$color:"$colors$neutral700"},color:"$$color"}}),Gf=Qo("div",{display:"flex",justifyContent:"center",alignItems:"center",gap:"$2"}),Vf=Qo(Nx,{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"250px"}),Kf=Qo("div",{padding:"$2",alignSelf:"flex-start",cursor:"pointer"}),jf=Qo(Ix,{"& ._text":{gap:"$5",display:"flex",alignItems:"center",justifyContent:"center"}});var Lx=35;function Xf(t){let{title:e,value:o,valueColor:n}=t,r=B();return In.createElement(qf,null,In.createElement(Mx,{size:"medium",variant:"label",className:"_title"},e),In.createElement(Gf,null,In.createElement(Vf,{size:"large",variant:"label",color:n||"foreground"},`${n?"%":"$"}${o}`),o.length>Lx&&In.createElement(Wx,{content:o,container:r},In.createElement(Bx,{size:12,color:"gray"}))))}i(Xf,"QuoteErrorsModalItem");function Yf(t){let{open:e,onClose:o,onConfirm:n,warning:r,confirmationDisabled:a}=t,s=r.warningLevel==="high"?"error":"warning",c=[{title:hr.t("Swapping"),value:P(r.inputUsdValue)},{title:hr.t("Gas cost"),value:P(r.totalFee,2,2)},{title:hr.t("Receiving"),value:P(r.outputUsdValue)},{title:hr.t("Price impact"),value:P(r.priceImpact,2,2),valueColor:`${s}500`}];return Yt.createElement(ee,{id:"widget-high-value-loss-warning-modal",footer:Yt.createElement(Px,{id:"widget-high-value-loss-warning-modal-confirm-btn",type:"primary",size:"large",prefix:Yt.createElement(Fx,null),fullWidth:!0,disabled:a,onClick:n},ne().highValueLossError.confirmMessage),open:e,onClose:o,container:B()},Yt.createElement(Dx,{type:s,title:ne().highValueLossError.impactTitle,description:ne().highValueLossError.description}),Yt.createElement(zl,null,Yt.createElement(_x,{size:"4"}),Yt.createElement($x,{size:"small",variant:"title"},hr.t("Details")),Yt.createElement(zl,null,c.map((l,p)=>Yt.createElement(Xf,{key:p,...l})))))}i(Yf,"HighValueLossWarningModal");import{i18n as An}from"@lingui/core";function Zf(t,e){let o={alertType:"warning",title:"",action:null,actionButtonTitle:null};if(e)return o.alertType="error",e.type===3&&(o.title=e.recommendation),e.type===4&&(o.title=An.t({id:"You need to increase slippage to at least {minRequiredSlippage} for this route.",values:{minRequiredSlippage:e.minRequiredSlippage}}),o.action="change-slippage",o.actionButtonTitle=An.t("Increase")),o;if(t){switch(t.type){case 0:{Xt(t.priceImpact)==="high"&&(o.alertType="error"),o.action="show-info",o.title=ne().highValueLossError.title;break}case 4:{o.title=An.t({id:"Output amount changed by {percentageChange}% (${usdValueChange}).",values:{percentageChange:t.percentageChange,usdValueChange:t.usdValueChange}});break}case 1:{o.title=ne().unknownPriceError.title;break}case 2:{o.title=An.t({id:"We recommend you to increase slippage to at least {minRequiredSlippage} for this route.",values:{minRequiredSlippage:t.minRequiredSlippage}}),o.action="change-slippage",o.actionButtonTitle=An.t("Increase");break}case 3:{o.title=An.t("Caution, your slippage is high."),o.action="change-settings";break}default:break}return o}return null}i(Zf,"makeAlerts");function Jf(t,e){return e?.type===4?Number(e.minRequiredSlippage):t?.type===2?Number(t.minRequiredSlippage):null}i(Jf,"getRequiredSlippage");import{i18n as Nn}from"@lingui/core";import{Button as Ox,Divider as Hl,MessageBox as Ux,WarningIcon as zx}from"@rango-dev/ui";import Co from"react";import{useNavigate as Hx}from"react-router-dom";function Rf(t){let{open:e,onClose:o,onConfirm:n,warning:r,confirmationDisabled:a}=t,s=Hx();return Co.createElement(ee,{id:"widget-slippage-warning-modal",anchor:"bottom",open:e,container:B(),onClose:o},Co.createElement(Ux,{type:"warning",title:r.type===3?Nn.t("High slippage"):Nn.t("Low slippage"),description:r.type===3?Nn.t("Caution, your slippage is high. Your trade may be front run."):Nn.t({id:"We recommend you to increase slippage to at least {minRequiredSlippage} for this route.",values:{minRequiredSlippage:r.minRequiredSlippage}})},Co.createElement(Hl,{size:18}),Co.createElement(Hl,{size:32}),Co.createElement(jf,{id:"widget-slippage-warning-modal-confirm-anyway-btn",size:"large",type:"primary",variant:"contained",fullWidth:!0,disabled:a,onClick:n},Co.createElement(zx,{color:"white",size:16}),Nn.t("Swap anyway")),Co.createElement(Hl,{size:10}),Co.createElement(Ox,{id:"widget-slippage-warning-modal-change-slippage-btn",size:"large",type:"primary",variant:"outlined",fullWidth:!0,disabled:a,onClick:()=>s("../"+$.settings)},Nn.t("Change Slippage"))))}i(Rf,"SlippageWarningModal");import{Button as Qx,MessageBox as qx,WarningIcon as Gx}from"@rango-dev/ui";import Zi from"react";function eg(t){let{open:e,onClose:o,onConfirm:n,confirmationDisabled:r}=t;return Zi.createElement(ee,{id:"widget-unknown-price-warning-modal",footer:Zi.createElement(Qx,{id:"widget-unknown-price-warning-modal-confirm-btn",type:"primary",size:"large",prefix:Zi.createElement(Gx,null),fullWidth:!0,disabled:r,onClick:n},ne().unknownPriceError.confirmMessage),open:e,onClose:o,container:B()},Zi.createElement(qx,{type:"warning",title:ne().unknownPriceError.impactTitle,description:ne().unknownPriceError.description}))}i(eg,"UnknownPriceWarningModal");function yr(t){let{warning:e,error:o,couldChangeSettings:n,showWarningModal:r,confirmationDisabled:a,skipAlerts:s,refetchQuote:c,onOpenWarningModal:l,onCloseWarningModal:p,onConfirmWarningModal:u,onChangeSettings:d,onChangeSlippage:f}=t,h={confirmationDisabled:a,open:r,onClose:p,onConfirm:u},g=o?.type===0||o?.type===1,m=Zf(e,o?.type===3||o?.type===4?o:null);m&&!n&&(m.action=null);let y=!!m&&!s,S=i(C=>{if(C==="change-slippage"){let k=o?.type===3||o?.type===4?o:null,v=Jf(e,k);f?.(v)}else C==="change-settings"&&d()},"onclickActionButton");return Oe.createElement(Oe.Fragment,null,g&&Oe.createElement(Oe.Fragment,null,Oe.createElement(tg,{size:10}),Oe.createElement(gr,{skipAlerts:s,error:o,fetch:c})),y&&Oe.createElement(Qf,null,Oe.createElement(tg,{size:10}),Oe.createElement(Kx,{id:"widget-quote-warning-and-errors-alert",title:m.title,type:m.alertType,variant:"alarm",...m.action==="show-info"&&{action:Oe.createElement(Kf,{onClick:l},Oe.createElement(Xx,{size:12,color:"gray"}))},...(m.action==="change-settings"||m.action==="change-slippage")&&{action:Oe.createElement(jx,{id:"widget-quote-warning-error-change-settings-btn",size:"xxsmall",type:m.alertType,onClick:()=>S(m.action)},m.actionButtonTitle||Vx.t("Change"))}})),e&&Oe.createElement(Oe.Fragment,null,e.type===0&&Oe.createElement(Yf,{...h,warning:e}),(e.type===3||e.type===2)&&Oe.createElement(Rf,{...h,warning:e}),e.type===1&&Oe.createElement(eg,{...h,warning:e})))}i(yr,"QuoteWarningsAndErrors");import vb from"bignumber.js";import ma from"react";import{i18n as qo}from"@lingui/core";import{Alert as db,Divider as Wn,FullExpandedQuote as mb,InfoIcon as Rl,NumericTooltip as ec,QuoteTag as fb,StepDetails as gb,TokenAmount as hb,Typography as Mn,useIsTruncated as tc}from"@rango-dev/ui";import oc from"bignumber.js";import O,{useRef as pa,useState as yb}from"react";import{styled as Ql}from"@rango-dev/ui";var ql=Ql("div",{width:"100%","& .position-top__skeleton":{paddingTop:"$10"}}),og=Ql("div",{paddingBottom:"$15","& .from-amount-text":{wordBreak:"break-word"},variants:{dense:{true:{paddingBottom:0}}}}),ng=Ql("div",{width:"100%",display:"flex"});import*as Ji from"@radix-ui/react-collapsible";import{Button as Yx,css as Ri,darkTheme as De,Image as rg,styled as Ve,Typography as Gl}from"@rango-dev/ui";var Zx=300,ig=Ve(Ji.Root,{display:"flex",flexDirection:"column",alignItems:"start",overflowX:"auto",overflowY:"hidden",width:"100%",borderRadius:"$xm",variants:{selected:{true:{},false:{$$color:"$colors$neutral400",[`.${De} &`]:{$$color:"$colors$neutral200"},backgroundColor:"$$color"}},listItem:{true:{$$color:"$colors$neutral400",[`.${De} &`]:{$$color:"$colors$neutral200"},backgroundColor:"$$color"},false:{}}},compoundVariants:[{listItem:!1,selected:!0,css:{$$color:"$colors$secondary200",[`.${De} &`]:{$$color:"$colors$secondary800"},backgroundColor:"$$color"}}]}),ag=Ri({padding:"$10 $15"}),sg=Ve(Yx,{backgroundColor:"transparent",border:"1px solid $secondary550",[`.${De} &`]:{border:"1px solid $secondary"},transition:"background-color 0.3s ease","&:hover":{backgroundColor:"$secondary550",[`.${De} &`]:{backgroundColor:"$secondary"},".allRoutesLabel":{$$color:"$colors$background",[`.${De} &`]:{$$color:"$colors$foreground"},color:"$$color",transition:"color 0.3s ease"}}}),lg=Ve("div",{borderRadius:"$xm",display:"flex",flexDirection:"column",alignItems:"start",justifyContent:"space-between",color:"$foreground",boxSizing:"border-box",position:"relative",variants:{selected:{true:{},false:{$$color:"$colors$neutral200",[`.${De} &`]:{$$color:"$colors$neutral500"},backgroundColor:"$$color"}},basic:{true:{borderTopRightRadius:"0",borderTopLeftRadius:"0"}},listItem:{true:{$$color:"$colors$neutral200",[`.${De} &`]:{$$color:"$colors$neutral500"},backgroundColor:"$$color","&:hover":{"& .quote_container":{"& button":{backgroundColor:"$neutral500",[`.${De} &`]:{backgroundColor:"$neutral200"}},backgroundColor:"$neutral500",[`.${De} &`]:{backgroundColor:"$neutral200"}},backgroundColor:"$neutral300",[`.${De} &`]:{backgroundColor:"$neutral400"}},cursor:"pointer"},false:{}}},compoundVariants:[{listItem:!0,selected:!0,css:{outline:"1px solid $secondary"}},{listItem:!1,selected:!0,css:{$$color:"$colors$secondary100",[`.${De} &`]:{$$color:"$colors$secondary550"},backgroundColor:"$$color","&:hover":{backgroundColor:"$$color"}}},{listItem:!0,selected:!1,css:{cursor:"pointer","&:hover":{backgroundColor:"$neutral300",[`.${De} &`]:{backgroundColor:"$neutral400"}}}}]}),cg=Ri({width:"100%",padding:"$15 $15 $10 $15"}),pg=Ri({display:"flex",flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingBottom:"$10",position:"relative"}),Bn=Ri({display:"flex",flexDirection:"row",justifyContent:"center",alignItems:"center",".blockchainImage":{marginLeft:"-$8"}}),ug=Ve(Ji.Trigger,{display:"flex",width:"100%",justifyContent:"space-between",alignItems:"center",height:"$36",padding:"$10 $15",boxSizing:"border-box",cursor:"pointer",border:"none",outline:"none",backgroundColor:"transparent",variants:{error:{true:{[`& ${rg}`]:{border:"1px $warning500 solid",borderRadius:"100%"}},false:{[`& ${rg}`]:{border:"1px transparent solid",borderRadius:"100%"}}},selected:{true:{},false:{$$color:"$colors$neutral400",[`.${De} &`]:{$$color:"$colors$neutral200"},backgroundColor:"$$color"}},listItem:{true:{$$color:"$colors$neutral400",[`.${De} &`]:{$$color:"$colors$neutral200"},backgroundColor:"$$color"},false:{}}},compoundVariants:[{listItem:!1,selected:!0,css:{$$color:"$colors$secondary200",[`.${De} &`]:{$$color:"$colors$secondary800"},backgroundColor:"$$color"}}],".blockchains_section":{display:"none"},"@xs":{".blockchains_section":{display:"block"}}}),dg=Ve("div",{width:"18px",height:"18px",borderRadius:"100%",display:"flex",justifyContent:"center",alignItems:"center",border:"1.5px transparent solid",img:{borderRadius:"100%"},variants:{state:{error:{borderColor:"$error500"},warning:{borderColor:"$warning500"}}}}),mg=Ve(Gi,{width:"100%",background:"inherit"}),Vl=Ve("div",{display:"flex",justifyContent:"center",alignItems:"center",padding:"$2",transition:`all ${Zx}ms ease`,variants:{orientation:{down:{transform:"rotate(0)"},up:{transform:"rotate(180deg)"}}}}),xQ=Ve("div",{height:"$12",marginLeft:"$10",marginRight:"$10",borderLeft:"1px solid $foreground"}),fg=Ve("div",{display:"flex",justifyContent:"center",margin:"0 $15",borderTop:"1px solid",$$color:"$colors$neutral300",[`.${De} &`]:{$$color:"$colors$neutral400"},borderColor:"$$color"}),gg=Ve("div",{display:"flex",flexDirection:"row",alignItems:"center",gap:"$2",flex:"1 1 auto",minWidth:0}),Kl=Ve(Gl,{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"$30"}),jl=Ve(Gl,{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",minWidth:0,flex:"0 1 auto"}),Xl=Ve("div",{width:"18px",height:"18px",borderRadius:"100%",backgroundColor:"$background",cursor:"default",display:"flex",justifyContent:"center",alignItems:"center",border:"1.5px transparent solid",variants:{state:{error:{borderColor:"$error500"},warning:{borderColor:"$warning500"}}}}),hg=Ve("div",{display:"flex"}),ea=Ve("div",{width:"100%",borderTopWidth:"1px",borderTopStyle:"solid",borderTopColor:"$neutral",margin:"$5 0",[`.${De} &`]:{borderTopColor:"$neutral800"}}),yg=Ve(Gl,{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:"0 1 auto",minWidth:0,flexShrink:3});import{i18n as $t}from"@lingui/core";import{ChevronDownIcon as Rx,CloseIcon as eb,Divider as na,IconButton as tb,NumericTooltip as ob,QuoteCost as nb,Typography as Et}from"@rango-dev/ui";import R,{useState as kg}from"react";import{css as Jx,styled as ta}from"@rango-dev/ui";var oa=ta("div",{display:"flex",justifyContent:"space-between",alignItems:"center",padding:"$5 0","&.total_payable_fee":{padding:"$12 0"}}),Yl=ta("div",{width:"100%",borderTop:"1px solid $neutral300",margin:"$10 0"}),Sg=ta("div",{padding:"$20 0",display:"flex",flexDirection:"column","& .collapsible_trigger":{display:"flex",alignItems:"center"}}),Cg=ta("div",{padding:"$20 $20 $10",position:"relative","._icon-button":{position:"absolute",zIndex:10,top:"$16",right:"$16"}}),Tg=Jx({display:"flex",flexDirection:"row",alignItems:"center",padding:"$5","&:hover":{"& ._typography, & svg":{color:"$secondary"}}});var rb=i(t=>t.fee.isZero()?null:R.createElement(oa,null,R.createElement(Et,{variant:"label",size:"medium",color:"neutral600"},t.label),R.createElement(Et,{variant:"label",size:"medium"},"$",P(t.fee,4,4))),"NonPayableFee");function Zl(t){let[e,o]=kg(!1),[n,r]=kg(!1),{steps:a,quote:s,fee:c,time:l,feeWarning:p,timeWarning:u,showModalFee:d,fullExpandedMode:f=!1}=t,h=s?.swaps??[],g=f?Wo():B(),m=qd(h),y=P(c,2,2);return R.createElement(R.Fragment,null,R.createElement(nb,{onClickFee:d?S=>{S.stopPropagation(),o(!e)}:void 0,fee:y,feeWarning:p,timeWarning:u,time:l,steps:a,tooltipGas:d?$t.t("View more info"):void 0,tooltipContainer:g}),R.createElement(ee,{id:"widget-quote-cost-explanation-modal",container:g,open:e,anchor:f?"center":"bottom",styles:{container:{maxWidth:f?"484px":"unset"}},header:R.createElement(Cg,{style:{textAlign:f?"left":"center"}},R.createElement(Et,{variant:"title",size:"medium"},$t.t("Gas & Fee Explanation")),R.createElement(tb,{id:"widget-quote-cost-details-modal-close-icon-btn",onClick:()=>o(!1),variant:"ghost"},R.createElement(eb,{color:"gray",size:14}))),onClose:()=>{o(!1)}},R.createElement(Sg,null,R.createElement(Et,{variant:"title",size:"small"},$t.t("Details")),R.createElement(na,{size:10}),Object.entries(m.payable).flatMap(([S,C])=>C.map((k,v)=>{let w=`payable-fee-${v}`,I=Ks(k);return R.createElement(oa,{key:w},R.createElement(Et,{variant:"label",size:"medium",color:"neutral600"},Hs(S,$t.t)),R.createElement(ob,{content:k.amount,container:g},R.createElement(Et,{variant:"label",size:"medium"},P(k.amount,2,2),k.asset.symbol," ($",P(I,4,4),")")))})),R.createElement(oa,{className:"total_payable_fee"},R.createElement(Et,{variant:"label",size:"medium"},$t.t("Total Payable Fee")),R.createElement(Et,{variant:"label",size:"medium"},"$",P(c,4,4))),R.createElement(Yl,null),!!Object.keys(m.nonePayable).length&&R.createElement(ji,{triggerAnchor:"bottom",onClickTrigger:()=>r(S=>!S),trigger:R.createElement("div",{className:Tg()},R.createElement(Et,{size:"small",variant:"body",color:"neutral700"},n?$t.t("Hide non-payable fees"):$t.t("Show non-payable fees")),R.createElement(na,{size:4,direction:"horizontal"}),R.createElement(Vi,{orientation:n?"up":"down"},R.createElement(Rx,{size:12,color:"gray"}))),open:n},R.createElement(Et,{size:"small",variant:"title"},$t.t("Description")),R.createElement(na,{size:4}),R.createElement(Et,{size:"small",variant:"body",color:"neutral700"},$t.t(`The following fees are considered in the transaction output and
|
|
2
|
+
you won\u2019t need to pay extra gas for them.`)),R.createElement(na,{size:10}),Object.entries(m.nonePayable).map(([S,C],k)=>{let v=Qd(C),w=Hs(S,$t.t),I=`non-payable-fee-${k}`;return R.createElement(rb,{key:I,fee:v,label:w})}),R.createElement(Yl,null)))))}i(Zl,"QuoteCostDetails");import{i18n as xg}from"@lingui/core";import{TokenAmount as bg}from"@rango-dev/ui";import ra from"react";import{css as ib,styled as ab}from"@rango-dev/ui";var wg=ab("div",{position:"relative",display:"flex",flexDirection:"column",width:"100%"}),vg=ib({height:"14px",marginLeft:"14px",position:"absolute",borderLeft:"1px solid $foreground",top:"42%"});function Sr(t){let{from:e,to:o,percentageChange:n,warningLevel:r}=t;return ra.createElement(wg,null,ra.createElement(bg,{direction:"horizontal",label:xg.t("Swap input"),id:"widget-quote-summary-swap-input",type:"input",tooltipContainer:B(),price:{value:e.price.value,usdValue:e.price.usdValue,realValue:e.price.realValue,realUsdValue:e.price.realUsdValue},token:{displayName:e.token.displayName,image:e.token.image},chain:{image:e.chain.image}}),ra.createElement("div",{className:vg()}),ra.createElement(bg,{id:"widget-quote-summary-estimated-input",direction:"horizontal",tooltipContainer:B(),label:xg.t("Estimated output"),type:"output",price:{value:o.price.value,usdValue:o.price.usdValue,realValue:o.price.realValue,realUsdValue:o.price.realUsdValue},token:{displayName:o.token.displayName,image:o.token.image},chain:{image:o.chain.image},percentageChange:n,warningLevel:r}))}i(Sr,"QuoteSummary");import{i18n as Bg}from"@lingui/core";import{ChevronDownIcon as cb,ChevronRightIcon as pb,Divider as Jl,Image as ub,Tooltip as ca,Typography as aa}from"@rango-dev/ui";import q from"react";import{useLayoutEffect as sb,useState as Cr}from"react";var Eg=480,Ig=768,Ag=1024,Ng=1200,lb=i(()=>{let[t,e]=Cr(!1),[o,n]=Cr(!1),[r,a]=Cr(!1),[s,c]=Cr(!1),[l,p]=Cr(!1),u=i(()=>{e(window.innerWidth<=Eg),n(window.innerWidth>Eg&&window.innerWidth<=Ig),a(window.innerWidth>Ig&&window.innerWidth<=Ag),c(window.innerWidth>Ag&&window.innerWidth<=Ng),p(window.innerWidth>Ng)},"handleResize");return sb(()=>(u(),window.addEventListener("resize",u),()=>window.removeEventListener("resize",u)),[]),{isMobile:t,isTablet:o,isNotebook:r,isLargeScreen:s,isExtraLargeScreen:l}},"useScreenDetect"),ia=lb;var sa=4,la=6,Tr=i(t=>{let{content:e,src:o,className:n,open:r,state:a,container:s}=t,c=s||B();return q.createElement(ca,{container:c,side:"bottom",sideOffset:4,open:r,content:e},q.createElement(dg,{className:n,state:a},q.createElement(ub,{src:o,size:16})))},"ImageComponent");function Wg(t){let{quoteRef:e,selected:o,setExpanded:n,steps:r,expanded:a,type:s,container:c}=t,l=c||B(),p=r.length,u=Ld(r),{isTablet:d,isMobile:f}=ia();return q.createElement(ug,{className:"widget-quote-trigger-btn",listItem:s==="list-item",ref:h=>e.current=h,selected:o,onClick:h=>{h.stopPropagation(),n(g=>!g)}},q.createElement("div",{className:Bn()},q.createElement(aa,{variant:"body",size:"xsmall"},Bg.t("Via:")),q.createElement(Jl,{direction:"horizontal",size:4}),r.map((h,g)=>{let m=`item-${g}`,y=q.createElement(Vl,null,q.createElement(pb,{size:12,color:"black"}));return f||d?q.createElement(q.Fragment,{key:m},q.createElement(Tr,{content:h.swapper.displayName,src:h.swapper.image??"",state:h.state,container:c}),g!==p-1&&q.createElement(q.Fragment,null,y)):q.createElement(q.Fragment,{key:m},p<=sa||p>sa&&g<sa-1?q.createElement(q.Fragment,null,q.createElement(Tr,{content:h.swapper.displayName,src:h.swapper.image??"",state:h.state,container:c}),g!==p-1&&q.createElement(q.Fragment,null,y)):g===sa-1&&q.createElement(ca,{container:l,side:"bottom",align:"end",sideOffset:4,content:q.createElement("div",{className:Bn()},y,r.map((S,C)=>{let k=`image-${C}`;return C>=g&&q.createElement(q.Fragment,{key:k},q.createElement(Tr,{content:S.swapper.displayName,src:S.swapper.image??"",state:S.state,open:!1}),C!==p-1&&q.createElement(q.Fragment,null,y))}))},q.createElement(Xl,{state:r.find((S,C)=>C>=g&&(S.state==="error"||S.state==="warning"))?.state},q.createElement(aa,{size:"xsmall",variant:"body"},"+",p-g))))})),q.createElement("div",{className:Bn()},q.createElement("div",{className:"blockchains_section"},q.createElement("div",{className:Bn()},q.createElement(aa,{variant:"body",size:"xsmall"},Bg.t("Chains:")),q.createElement(Jl,{direction:"horizontal",size:4}),u.map((h,g)=>q.createElement(q.Fragment,{key:h.displayName},u.length<=la||u.length>la&&g<la-1?q.createElement(ca,{container:l,side:"bottom",content:h.displayName,sideOffset:4},q.createElement(Tr,{content:"",src:h.image??"",open:!1,className:g!==0?"blockchainImage":""})):g===la-1&&q.createElement(ca,{container:l,side:"bottom",align:"end",sideOffset:4,content:q.createElement("div",{className:Bn()},u.map((m,y)=>y>=g&&q.createElement(Tr,{key:m.displayName,content:"",src:m.image??"",open:!1,className:y>g?"blockchainImage":"",container:c})))},q.createElement(Xl,{className:"blockchainImage"},q.createElement(aa,{size:"xsmall",variant:"body"},"+",u.length-g))))),q.createElement(Jl,{direction:"horizontal",size:32}))),q.createElement(Vl,{orientation:a?"up":"down"},q.createElement(cb,{size:12,color:"black"}))))}i(Wg,"QuoteTrigger");function nc(t){let{quote:e,input:o,output:n,error:r,warning:a,type:s,selected:c=!1,tagHidden:l=!0,showModalFee:p=!0,onClickAllRoutes:u,fullExpandedMode:d=!1,container:f}=t,h=T().blockchains(),{findToken:g}=T(),m=T().swappers(),{customSlippage:y,slippage:S}=T(),C=y||S,[k,v]=yb(t.expanded),w=pa(null),I=P(n.value,6,6),A=n.usdValue?P(n.usdValue,4,4):"",b=jt(o.usdValue,n.usdValue??null),E=P(b,2,2),x=Xt(b??0),N=i((Q,j)=>Q.map((K,Ie)=>{let Ae,Ke=r?.type===3&&r.swap.swapperId===K.swapperId,Mt=r?.type===4&&!!r.recommendedSlippages?.[Ie],so=a?.type===2&&!!a.recommendedSlippages?.[Ie],Io=Ke||Mt,Un=so;Io?Ae="error":Un&&(Ae="warning");let Yr=Io?qo.t("Slippage Error"):qo.t("Slippage Warning");return Ke&&(Yr=qo.t("Bridge Limit Error")),{swapper:{displayName:Hn(K.swapperId,m)??"",image:K.swapperLogo},from:{token:{displayName:K.from.symbol,image:K.from.logo},chain:{displayName:ht(K.from.blockchain,h)??"",image:K.from.blockchainLogo},price:{value:Ie===0&&!j?P(o.value,6,6):P(K.fromAmount,6,6),usdValue:P((K.from.usdPrice??0)*parseFloat(K.fromAmount),4,4),realValue:Ie===0?o.value:K.fromAmount,realUsdValue:new oc(K.from.usdPrice??0).multipliedBy(K.fromAmount).toString()}},to:{token:{displayName:K.to.symbol,image:K.to.logo},chain:{displayName:ht(K.to.blockchain,h)||"",image:K.to.blockchainLogo},price:{value:P(K.toAmount,6,6),usdValue:P((K.to.usdPrice??0)*parseFloat(K.toAmount),4,4),realValue:K.toAmount,realUsdValue:new oc(K.to.usdPrice??0).multipliedBy(K.toAmount).toString()}},state:Ae,alerts:Io||Un?O.createElement(og,{dense:d},O.createElement(db,{variant:"alarm",type:Io?"error":"warning",title:Yr,id:"widget-quote-footer-step-alarm-alert",footer:O.createElement(ng,null,Ke&&O.createElement("div",null,O.createElement(Mn,{size:"xsmall",variant:"body",color:"neutral900"},r.fromAmountRangeError),O.createElement(Wn,{direction:"vertical",size:2}),O.createElement(Mn,{size:"xsmall",variant:"body",className:"from-amount-text",color:"neutral900"},qo.t({id:"Yours: {amount} {symbol}",values:{amount:P(K.fromAmount,6,6),symbol:K?.from.symbol}}))),(Mt||so)&&!Ke&&O.createElement("div",null,O.createElement(Mn,{size:"xsmall",variant:"body",color:"neutral900"},qo.t({id:"Minimum suggested slippage: {minRequiredSlippage}",values:{...r?.type===4&&{minRequiredSlippage:r.recommendedSlippages?.[Ie]},...a?.type===2&&{minRequiredSlippage:a.recommendedSlippages?.[Ie]}}})),O.createElement(Wn,{direction:"vertical",size:2}),O.createElement(Mn,{size:"xsmall",variant:"body",color:"neutral900"},qo.t({id:"Yours: {userSlippage}",values:{userSlippage:C}}))))})):void 0,time:qn(K.estimatedTimeInSeconds),fee:P(Vs(K,g),2,2),internalSwaps:K.internalSwaps?N(K.internalSwaps):void 0}}),"getQuoteSteps"),M=N(e?.swaps??[]),F=M.length,H=f||B(),X=_d(t.quote.tags||[]),J=!!u,W=ai(e?.swaps),Z=qn(W),Y=Ni(e?.swaps??[],g),ce=P(Y,2,2),fe=Y.gte(new oc(bd)),at=W/Id>=Ed,ue=pa(null),wt=tc(o.value,ue),gt=pa(null),Wt=tc(n.value,gt),D=pa(null),U=tc(A,D),G=M[F-1],se=M[0];return!se||!G?null:d?O.createElement(mb,{selected:c,fee:ce,time:Z,tooltipContainer:Wo(),steps:M,tags:X,id:"widget-quote-full-expanded-quote-container",quoteCost:O.createElement(Zl,{quote:e,fullExpandedMode:!0,time:Z,fee:Y,feeWarning:fe,timeWarning:at,showModalFee:p,steps:F}),percentageChange:E,warningLevel:x,outputPrice:{value:I,usdValue:A,realValue:n.value,realUsdValue:n.usdValue}}):O.createElement(lg,{id:"widget-quote-summary-container",selected:c,listItem:s==="list-item",basic:s==="basic"},O.createElement("div",{className:cg()},!l&&X.length?O.createElement(O.Fragment,null,O.createElement(hg,null,X.map((Q,j)=>{let K=`${Q.value}_${j}`;return O.createElement(O.Fragment,{key:K},O.createElement(fb,{label:Q.label,value:Q.value}),O.createElement(Wn,{size:4,direction:"horizontal"}))})),O.createElement(ea,null),!J&&O.createElement(Wn,{size:4})):null,O.createElement("div",{id:"portal-root",className:pg()},O.createElement(Zl,{quote:e,time:Z,fee:Y,feeWarning:fe,timeWarning:at,showModalFee:p,steps:F}),J&&O.createElement(sg,{onClick:Q=>{Q.stopPropagation(),u()},id:"widget-quote-all-routes-btn",size:"xxsmall",type:"secondary",variant:"default",css:{paddingLeft:"$10",paddingRight:"$10",paddingTop:"$5",paddingBottom:"$5"}},O.createElement(Mn,{color:"secondary",variant:"body",size:"xsmall",className:"allRoutesLabel"},qo.t("See All Routes")))),s==="basic"&&O.createElement(gg,null,O.createElement(jl,{ref:ue,size:"small",variant:"body"},o.value),wt&&O.createElement(ec,{content:o.value,container:H,open:o.value?void 0:!1},O.createElement(Rl,{size:12,color:"gray"})),O.createElement(Kl,{size:"small",variant:"body"},M[0]?.from.token.displayName),O.createElement(Mn,{size:"small",variant:"body"},"="),O.createElement(jl,{ref:gt,size:"small",variant:"body"},n.value),Wt&&O.createElement(ec,{content:n.value,container:H,open:n.value?void 0:!1},O.createElement(Rl,{size:12,color:"gray"})),O.createElement(Kl,{size:"small",variant:"body"},G?.to.token.displayName),O.createElement(Wn,{size:2,direction:"horizontal"}),O.createElement(yg,{ref:D,color:"$neutral600",size:"xsmall",variant:"body"},`($${A})`),U&&O.createElement(ec,{content:n.usdValue,container:H},O.createElement(Rl,{size:12,color:"gray"}))),s==="list-item"&&O.createElement(hb,{id:"widget-quote-token-amount-container",tooltipContainer:H,type:"output",direction:"vertical",price:{value:I,usdValue:A,realValue:n.value,realUsdValue:n.usdValue},token:{displayName:G.to.token.displayName,image:G.to.token.image},chain:{image:G.to.chain.image},percentageChange:E,warningLevel:x}),s==="swap-preview"&&O.createElement(O.Fragment,null,O.createElement(Sr,{from:se.from,to:G.to,percentageChange:E,warningLevel:x}),O.createElement(Wn,{size:4}))),O.createElement(ig,{selected:c,listItem:s==="list-item",open:k,className:"quote_container",onOpenChange:v},O.createElement(Wg,{type:s,quoteRef:w,selected:c,setExpanded:v,container:H,expanded:k,steps:M}),O.createElement(mg,{open:k},O.createElement(fg,null),O.createElement("div",{className:ag()},M.map((Q,j)=>{let K=`item-${j}`;return O.createElement(gb,{type:"quote-details",className:"widget-quote-step-details-container",key:K,tooltipContainer:H,step:Q,hasSeparator:j!==M.length-1,state:Q.state})})))))}i(nc,"Quote");import{Divider as kb,Skeleton as wb}from"@rango-dev/ui";import eo from"react";import{darkTheme as Sb,styled as ua}from"@rango-dev/ui";var Mg=ua("div",{$$color:"$colors$neutral100",[`.${Sb} &`]:{$$color:"$colors$neutral300"},backgroundColor:"$$color",borderBottomLeftRadius:"$xm",borderBottomRightRadius:"$xm",padding:"$15",variants:{rounded:{true:{borderRadius:"$xm"}},expanded:{true:{paddingBottom:"3px"},false:{paddingBottom:"$12"}}}}),Lg=ua("div",{paddingTop:"$2"}),Pg=ua("div",{paddingLeft:"$8"}),_g=ua("div",{borderLeft:"1px dashed $foreground",minHeight:" 0",margin:"0px 11.5px",alignSelf:"stretch",variants:{hideSeparator:{true:{minHeight:"unset",height:"0"}}}});import{ChainToken as Gg,Divider as It,Skeleton as ut}from"@rango-dev/ui";import V from"react";import{css as Cb,styled as Rt}from"@rango-dev/ui";var rc=Rt("div",{display:"flex"}),Dg=Rt("div",{padding:"$10 $0 $20"}),$g=Rt("div",{padding:"14px $0 $20 $0",display:"flex",flexDirection:"column"}),Fg=Rt("div",{display:"flex",justifyContent:"start",alignItems:"center"}),Og=Rt("div",{display:"flex",justifyContent:"space-between",alignItems:"end"}),Ug=Rt("div",{height:"$24",marginLeft:"13px",borderLeft:"1px solid $neutral700"}),zg=Rt("div",{width:"65%",display:"flex",justifyContent:"start"}),Hg=Rt("div",{display:"flex",flexDirection:"column",alignItems:"start",flexGrow:1,maxWidth:"148px"}),Qg=Rt("div",{padding:"$15 $0 $15 $0"}),qg=Cb({display:"flex",justifyContent:"space-between",alignItems:"center"});function kr(t){let{type:e,tagHidden:o=!0}=t,n=V.createElement(Og,null,V.createElement(zg,null,V.createElement(Gg,{loading:!0,size:"medium"}),V.createElement(It,{size:8,direction:"horizontal"}),V.createElement(Hg,null,V.createElement(ut,{height:10,width:60,variant:"rounded"}),V.createElement(It,{size:4}),V.createElement(ut,{height:15,variant:"rounded"}))),V.createElement(ut,{height:12,width:64,variant:"rounded"})),r=e==="basic"&&!o;return V.createElement("div",null,!o&&V.createElement(V.Fragment,null,V.createElement(rc,null,V.createElement(ut,{width:65,height:20,variant:"rounded"}),V.createElement(It,{size:4,direction:"horizontal"}),V.createElement(ut,{width:65,height:20,variant:"rounded"}),V.createElement(It,{size:4,direction:"horizontal"}),V.createElement(ut,{width:65,height:20,variant:"rounded"})),V.createElement(ea,null),!r&&V.createElement(It,{size:4})),V.createElement("div",{className:qg()},V.createElement(rc,null,V.createElement(ut,{width:60,height:10,variant:"rounded"}),V.createElement(It,{size:4,direction:"horizontal"}),V.createElement(ut,{width:60,height:10,variant:"rounded"}),V.createElement(It,{size:4,direction:"horizontal"}),V.createElement(ut,{width:60,height:10,variant:"rounded"})),r&&V.createElement(ut,{width:85,height:24,variant:"rounded"})),e==="basic"&&V.createElement(Dg,null,V.createElement(ut,{height:15,width:148,variant:"rounded"})),e==="list-item"&&V.createElement($g,null,V.createElement(Fg,null,V.createElement(Gg,{loading:!0,size:"medium"}),V.createElement(It,{direction:"horizontal",size:4}),V.createElement(ut,{height:15,width:150,variant:"rounded"})),V.createElement(It,{size:10}),V.createElement(ut,{height:10,width:184,variant:"rounded"})),e==="swap-preview"&&V.createElement(V.Fragment,null,V.createElement(It,{size:4}),V.createElement(Qg,null,n,V.createElement(Ug,null),n),V.createElement(It,{size:12})))}i(kr,"QuoteSummarySkeleton");import{ChainToken as Yg,Divider as ac,NextIcon as Tb,Skeleton as da}from"@rango-dev/ui";import Me from"react";import{styled as wr}from"@rango-dev/ui";var Vg=wr("div",{display:"flex",alignItems:"start"}),Kg=wr("div",{flexGrow:1,paddingTop:"$5",paddingBottom:"$10",display:"flex",alignItems:"center",variants:{extraSpace:{true:{paddingBottom:"$40"}}}}),ic=wr("div",{display:"flex",alignItems:"center",flexGrow:1}),jg=wr("div",{margin:"$0 $2",padding:"$4",display:"flex",justifyContent:"center",alignItems:"center"}),Xg=wr("div",{display:"flex",alignItems:"center"});function Ft(t){let{separator:e=!0}=t;return Me.createElement(Me.Fragment,null,Me.createElement(Xg,null,Me.createElement(da,{height:22,width:22,variant:"circular"}),Me.createElement(ac,{direction:"horizontal",size:8}),Me.createElement(da,{height:15,width:148,variant:"rounded"})),Me.createElement(Vg,null,Me.createElement(_g,{hideSeparator:!e}),Me.createElement(Kg,{extraSpace:e},Me.createElement(ic,null,Me.createElement(Yg,{size:"small",loading:!0}),Me.createElement(ac,{direction:"horizontal",size:8}),Me.createElement(da,{height:12,variant:"rounded"})),Me.createElement(jg,null,Me.createElement(Tb,{color:"gray",size:16})),Me.createElement(ic,null,Me.createElement(Yg,{size:"small",loading:!0}),Me.createElement(ac,{direction:"horizontal",size:8}),Me.createElement(da,{height:12,variant:"rounded"})))))}i(Ft,"StepSkeleton");function vr(t){let{type:e,expanded:o,tagHidden:n=!1}=t;return eo.createElement(Mg,{expanded:o,rounded:e!=="basic"},eo.createElement(kr,{type:e,tagHidden:n}),eo.createElement(Lg,null,eo.createElement(wb,{height:15,variant:"rounded"})),o&&eo.createElement(Pg,null,eo.createElement(kb,{size:24}),eo.createElement(Ft,null),eo.createElement(Ft,null),eo.createElement(Ft,{separator:!1})))}i(vr,"QuoteSkeleton");function Go(t){let{quote:e,type:o,loading:n,error:r,warning:a,expanded:s=!1,tagHidden:c,onClick:l,showModalFee:p,selected:u,id:d,onClickAllRoutes:f,fullExpandedMode:h=!1,container:g}=t,{inputAmount:m,inputUsdValue:y}=z()(),S=e?.outputAmount?new vb(e?.outputAmount):null,C=e?St(e):null,v=!(r&&(r.type===0||r.type===1))&&e&&!n;return n?ma.createElement(ql,null,ma.createElement(vr,{tagHidden:c,type:o,expanded:s})):v?ma.createElement(ql,{onClick:()=>l?.(e),id:d},ma.createElement(nc,{quote:e,error:r,container:g,showModalFee:p,warning:a,tagHidden:c,selected:u,type:o,expanded:s,onClickAllRoutes:f,fullExpandedMode:h,input:{value:m,usdValue:y?.toString()??""},output:{value:S?.toString()??"",usdValue:C?.toString()??""}})):null}i(Go,"QuoteInfo");import{warn as Ib}from"@rango-dev/logging-core";import{calculatePendingSwap as Ab}from"@rango-dev/queue-manager-rango-preset";import{useEffect as Nb}from"react";import{useRef as xb,useState as bb}from"react";var Eb=2e3;function fa({request:t}){let[e,o]=bb(!1),n=xb(null),r=i(()=>n.current?.abort(),"cancelFetch"),a=i(async c=>(await new Promise(l=>setTimeout(l,Eb)),await s(c,!1)),"retryFetch"),s=i(async(c,l=!1)=>{r(),n.current=new AbortController,o(!0);try{let p=await t(c,{signal:n.current.signal});return n.current=null,p}catch(p){if(l)return await a(c);throw p}finally{o(!1)}},"fetch");return{fetch:s,loading:e,cancelFetch:r}}i(fa,"useFetch");function Zg(){let{fetch:t,loading:e,cancelFetch:o}=fa({request:async(n,r)=>await ct().confirmRoute(n,r)});return{fetch:t,loading:e,cancelFetch:o}}i(Zg,"useFetchConfirmQuote");function ga(t){if(!t.swaps)throw new Error(ne().noResultError.title,{cause:{type:0,diagnosisMessage:t.diagnosisMessages?.[0]}});let e=sc(t.swaps);if(e)throw new Error(e.message,{cause:e.options})}i(ga,"throwErrorIfResponseIsNotValid");function sc(t){if(Ud(t)){let{swap:n,fromAmountRangeError:r,recommendation:a}=zd(t);return n?{message:"bridge limit error",options:{type:3,swap:n,recommendation:a,fromAmountRangeError:r}}:null}let o=Gd(t);if(o){let n=Bi(t);return{message:"",options:{type:4,recommendedSlippages:o,minRequiredSlippage:n}}}return null}i(sc,"getQuoteError");function Jg(t){let{currentQuote:e,previousQuote:o,meta:n,selectedWallets:r,userSlippage:a,findToken:s}=t,c={quote:null,balance:null},l=Sn({previousQuote:o,currentQuote:e,findToken:s,userSlippage:a});l&&(c.quote=l);let p=jd(e,r,n.blockchains);return p.length===0||(c.balance={messages:p}),c}i(Jg,"generateWarnings");function ha(t){return t?.code==="ERR_CANCELED"?{type:2}:t.cause?t.cause:t?.code==="ERR_BAD_REQUEST"?{type:0,diagnosisMessage:t.response.data.error}:{type:1,diagnosisMessage:t.message}}i(ha,"handleQuoteErrors");function lc(){let{fromToken:t,toToken:e,inputAmount:o,inputUsdValue:n,setSelectedQuote:r,selectedQuote:a,customDestination:s,resetAlerts:c}=z()(),{slippage:l,customSlippage:p}=T(),u=T().getDisabledLiquiditySources(),d=T().blockchains(),f=T().tokens(),{findToken:h}=T(),{swapMode:g}=tt(),m=p||l,{fetch:y,cancelFetch:S,loading:C}=Zg();return Nb(()=>S,[]),{loading:C,fetch:i(async v=>{let w=v.selectedWallets,I=v?.customDestination??s;if(!t||!e||!o)return{quote:null,swap:null,error:null,warnings:null};let A=w.reduce((E,x)=>(E[x.chain]=x.address,E),{}),b={requestId:a?.requestId||"",selectedWallets:A,destination:I||void 0};try{return await y(b,!0).then(E=>{let{result:x}=E;if(!x)throw new Error(E.error??"Error fetching updated quote");ga({diagnosisMessages:x.diagnosisMessages,requestId:x.requestId,swaps:x.result?.swaps});let N={outputAmount:x.result?.outputAmount,requestId:x.requestId,resultType:x.result?.resultType,swaps:x.result?.swaps||[],validationStatus:x.validationStatus,requestAmount:x.requestAmount};r(N);let M={slippage:m.toString(),disabledSwappersGroups:u},F=Jg({previousQuote:a??void 0,currentQuote:N,meta:{blockchains:d},selectedWallets:w,userSlippage:m,inputUsdValue:n,findToken:h});c();let H=!!F.balance,X=Ab({inputAmount:o.toString(),bestRoute:x,wallets:Kd(w),settings:M,validateBalanceOrFee:!H,meta:{blockchains:d,tokens:f},swapMode:g});return{quote:N,swap:X,error:null,warnings:F}})}catch(E){let x=ha(E);return x.type!==2&&Ib(new Error("confirm swap error"),{tags:{...x,type:Ye[x.type],initialQuote:a,requestBody:b}}),{swap:null,error:x,warnings:null}}},"fetch"),cancelFetch:S}}i(lc,"useConfirmSwap");var Ob=Lb("div",{width:"100%",display:"flex",justifyContent:"space-between",[`& ${Rg}`]:{width:"$48",height:"$48"}}),Ub=uc({flexGrow:1,paddingRight:"$10"}),zb=uc({width:"$24",height:"$24",display:"flex",justifyContent:"center",alignItems:"center"}),Hb=uc({display:"flex",justifyContent:"space-between",alignItems:"center"});function eh(){let{selectedQuote:t,setInputAmount:e,selectedWallets:o,quoteWalletsConfirmed:n,customDestination:r,quoteWarningsConfirmed:a}=z()(),s=Fb(),[c,l]=xr(""),p=!n,[u,d]=xr(!1),[f,h]=xr(!1),{isActiveTab:g}=oe(),m=T().getDisabledLiquiditySources(),y=$b(m),{manager:S}=Bb(),{fetch:C,loading:k,cancelFetch:v}=lc(),[w,I]=xr({swap:null,error:null,warnings:null}),[A,b]=xr(!1),E=i(async({selectedWallets:W,customDestination:Z})=>{let Y=await C?.({selectedWallets:W,customDestination:Z});return I(Y),Y},"onConfirmSwap"),x=i(async()=>{if(w.swap&&n)try{await S?.create("swap",{swapDetails:w.swap},{id:w.swap.requestId});let W=`../${$.swaps}/${w.swap.requestId}`;s(W,{replace:!0}),setTimeout(()=>{e("")},0)}catch(W){l("Error: "+W?.message)}},"addNewSwap"),N=i(async()=>{h(!0),await x(),h(!1)},"onConfirm"),M=i(async()=>{w.warnings?.quote&&Md(w.warnings.quote)&&!a?b(!0):await N()},"onStartConfirmSwap"),F=i(async()=>{I({error:null,swap:null,warnings:null}),C({selectedWallets:o,customDestination:r}).then(W=>{I(W)}).catch(W=>console.error(W))},"onRefresh");ya(()=>{!!y.current.length&&!m.length&&F(),y.current=m},[m.length]),ya(()=>{p&&v()},[p]),ya(()=>{p&&d(p)},[p]),ya(()=>{p||C({selectedWallets:o,customDestination:r}).then(W=>I(W)).catch(W=>console.error(W))},[]),Db(()=>{t?.requestId||s(`../${location.search}`)},[t?.requestId]);let H=w.warnings?.quote??null,X=w.error,J=[];if(c&&J.push($e.createElement(Wb,{id:"widget-confirm-swap-db-error-alert",type:"error",variant:"alarm",title:c})),H||X){let W=`../${$.settings}`;J.push($e.createElement(yr,{warning:H,error:X,couldChangeSettings:!1,refetchQuote:F,skipAlerts:X?.type===4||H?.type===2,showWarningModal:A,confirmationDisabled:!g,onOpenWarningModal:()=>b(!0),onCloseWarningModal:()=>b(!1),onConfirmWarningModal:async()=>{b(!1),await x()},onChangeSettings:()=>s(W)}))}return $e.createElement(ie,{header:{title:cc.t("Confirm Swap"),onWallet:()=>{let W=`../${$.wallets}`;s(W)}},footer:$e.createElement(Ob,null,$e.createElement("div",{className:Ub()},$e.createElement(Mb,{id:"widget-confirm-swap-start-btn",variant:"contained",type:"primary",size:"large",fullWidth:!0,loading:k||f,disabled:!!w.error||!g,onClick:M},cc.t("Start Swap"))),$e.createElement(Rg,{id:"widget-confirm-swap-wallet-icon-btn",variant:"contained",type:"primary",size:"large",loading:k||f,disabled:!g,onClick:d.bind(null,!0)},$e.createElement(_b,{size:24})))},u&&$e.createElement(_f,{open:u,onClose:()=>d(!1),onCancel:v,loading:k,onCheckBalance:E}),$e.createElement(le,null,$e.createElement("div",{className:Hb()},$e.createElement(Pb,{variant:"title",size:"small"},cc.t("You get")),$e.createElement("div",{className:zb()},$e.createElement(Fi,{onClick:!k&&!u&&!A?F:void 0}))),$e.createElement(pc,{size:"12"}),bm(J.map((W,Z)=>({element:W,key:`alert-${Z}`})),$e.createElement(pc,{size:10})),J.length>0?$e.createElement(pc,{size:10}):null,$e.createElement(Go,{quote:t,type:"swap-preview",id:"widget-confirm-swap-quote-container",expanded:!0,tagHidden:!0,error:w.error,loading:k,warning:w.warnings?.quote??null})))}i(eh,"ConfirmSwapPage");import{i18n as oo}from"@lingui/core";import{Button as vc,CustomTokensZeroStateDarkIcon as lE,CustomTokensZeroStateIcon as cE,DeleteIcon as pE,Divider as Nr,IconButton as uE,MessageBox as dE,NotFound as mE,styled as bc}from"@rango-dev/ui";import ye,{useState as xc}from"react";import{useNavigate as fE}from"react-router-dom";import{CloseIcon as Qb,IconButton as qb,SearchIcon as Gb,TextField as Vb}from"@rango-dev/ui";import Ln from"react";import{styled as th}from"@rango-dev/ui";var oh=th("div",{width:"$24",height:"$24",display:"flex",alignItems:"center",justifyContent:"center"}),nh=th("div",{width:"100%","& ._text-field":{paddingLeft:"$10","& input":{paddingLeft:"$2",paddingTop:"$12",paddingBottom:"$12"}}});function At(t){let{variant:e,fullWidth:o,color:n,size:r,onChange:a,value:s,style:c,setValue:l,suffix:p,id:u,...d}=t,f=s.length?Ln.createElement(qb,{id:`${u}\u06F0icon-btn`,variant:"ghost",onClick:()=>l?.(""),size:"small"},Ln.createElement(Qb,{color:"gray",size:10})):null;return p&&(f=p),Ln.createElement(nh,null,Ln.createElement(Vb,{prefix:Ln.createElement(oh,null,Ln.createElement(Gb,{color:"black"})),id:u,suffix:f,fullWidth:o,color:n,variant:e,style:{borderRadius:25,alignItems:"center",...c},size:r,value:s,onChange:a,...d}))}i(At,"SearchInput");import{i18n as wc}from"@lingui/core";import{Button as Yb,CustomTokenWarning as Zb,darkTheme as gh,Divider as to,ExternalLinkIcon as Jb,Image as Rb,ListItem as eE,NotFound as tE,PinIcon as oE,Skeleton as Vo,Typography as Ir,VirtualizedList as nE}from"@rango-dev/ui";import L,{useState as rE}from"react";import{useTranslation as iE}from"react-i18next";import{Divider as mh,ListItem as Xb,Skeleton as Er}from"@rango-dev/ui";import Nt from"react";import{css as Pn,darkTheme as dc,ImageContainer as Kb,ListItemButton as jb,styled as rt,Typography as rh}from"@rango-dev/ui";var mc=Pn({position:"absolute",transform:"none",transition:"transform 225ms cubic-bezier(0, 0, 0.2, 1) 0ms",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:100,overflow:"hidden"}),fc=Pn({position:"relative",height:12,width:"30%",maxWidth:"150px"}),gc=Pn({position:"absolute",transform:"none",transition:"transform 225ms cubic-bezier(0, 0, 0.2, 1) 0ms",bottom:"-8px"}),hc=Pn({transform:"translateY(12px)",visibility:"hidden",display:"flex","& a":{display:"flex",justifyContent:"center",alignItems:"center",fontSize:"$12",lineHeight:"$16",$$color:"$colors$neutral600",[`.${dc} &`]:{$$color:"$colors$neutral700"},color:"$$color",textDecoration:"none"}}),yc=Pn({}),Sc=Pn(),ih=rt("div",{display:"flex",flexDirection:"column",flexGrow:1,overflow:"hidden",justifyContent:"center"}),Cc=rt("div",{display:"flex",alignItems:"center","._typography":{textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:100,overflow:"hidden"}}),Sa=rt("ul",{flexGrow:1,height:"100%",padding:0,margin:0,display:"flex",flexDirection:"column",listStyle:"none","& li":{alignItems:"none","&:hover":{[`& .${fc}`]:{[`& .${hc}`]:{position:"absolute",transform:"none",transition:"transform 225ms cubic-bezier(0, 0, 0.2, 1) 0ms",visibility:"visible"},[`& .${yc}`]:{bottom:"-15px"},[`& .${mc}`]:{position:"absolute",transform:"translateY(-12px)",visibility:"hidden"},[`& .${gc}`]:{position:"absolute",transform:"translateY(-12px)",bottom:"-10px"}}}}}),ah=rt(jb,{variants:{customToken:{true:{"&:hover":{cursor:"unset"}}}}}),Tc=rt("div",{paddingLeft:"$5",paddingRight:"$5",borderRadius:"$md",display:"flex",alignItems:"center"}),kc=rt(rh,{}),sh=rt("div",{textAlign:"right",width:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",[`& .${Sc}`]:{$$color:"$colors$neutral600",[`.${dc} &`]:{$$color:"$colors$neutral700"},color:"$$color"}}),br=rt("div",{display:"flex",alignItems:"end",flexDirection:"column"}),wV=rt("div",{display:"flex",alignItems:"center"}),lh=rt("div",{position:"relative",[`& ${Kb}`]:{borderRadius:"$xm",overflow:"hidden"}}),ch=rt("div",{position:"absolute",backgroundColor:"$neutral100",padding:"$4",borderRadius:"50%",bottom:-6,right:-6}),ph=rt(rh,{width:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}),uh=rt("a",{"& svg:hover":{color:"$colors$info"}}),dh=rt("div",{paddingRight:"$5","& .widget-token-list-item-btn":{width:"100%",overflow:"hidden",height:"60px"},"& .widget-token-list-item-import-btn":{height:"$20",padding:"0 $10","& ._text":{display:"flex",justifyContent:"center",alignItems:"center"},"& ._typography":{[`.${dc} &`]:{color:"$foreground"}}}});function fh(t){return Nt.createElement(Sa,null,Array.from(Array(t.size),e=>Nt.createElement(Xb,{key:e,hasDivider:!0,start:Nt.createElement(Er,{variant:"circular",width:35,height:35}),end:Nt.createElement(br,null,Nt.createElement(Er,{variant:"text",size:"large",width:70}),Nt.createElement(mh,{size:4}),Nt.createElement(Er,{variant:"text",size:"medium",width:50})),title:Nt.createElement("div",null,Nt.createElement(Er,{variant:"text",size:"large",width:90}),Nt.createElement(mh,{size:4}),Nt.createElement(Er,{variant:"text",size:"medium",width:90}))})))}i(fh,"LoadingTokenList");var aE=20,sE=i(t=>{let{address:e,name:o,url:n,token:r,customCssForTag:a,customCssForTagTitle:s}=t,c=e.length;return L.createElement("div",{className:fc()},o?L.createElement("div",{className:mc()},o):L.createElement(Cc,{className:gc()},L.createElement(Ir,{variant:"title",size:"xmedium"},r.symbol),L.createElement(to,{direction:"horizontal",size:4}),L.createElement(Tc,{css:a},L.createElement(kc,{variant:"body",size:"xsmall",css:s},r.blockchain))),!!e&&L.createElement("div",{className:`${hc()} ${!o&&yc()}`},c>10?`${e.slice(0,5)}...${e.slice(c-6,c)}`:e," ",L.createElement(to,{size:4,direction:"horizontal"}),L.createElement(uh,{href:n,target:"_blank",rel:"nofollow noreferrer",onClick:l=>l.stopPropagation()},L.createElement(Jb,{size:12}))))},"renderDesc");function Ar(t){let{list:e,searchedFor:o="",onChange:n,selectedBlockchain:r,showTitle:a=!0,action:s,type:c,showWarning:l=!0}=t,p=T().fetchStatus,u=T().blockchains(),{getBalanceFor:d,fetchingWallets:f}=T(),{isTokenPinned:h}=T(),{setFromToken:g,setToToken:m}=z()(),{t:y}=iE(),S=qe(),[C,k]=rE(null),v=i(()=>{c==="source"?g({token:C,meta:{blockchains:u}}):m({token:C,meta:{blockchains:u}})},"updateToken"),w=i(()=>{v(),S()},"handleImportToken"),I=i(E=>{if(E.customToken){let{customToken:N,...M}=E;return L.createElement(Yb,{variant:"contained",type:"primary",size:"small",className:"widget-token-list-item-import-btn",onClick:i(H=>{H.stopPropagation(),k({...M,warning:!0})},"handleClick")},L.createElement(Ir,{variant:"body",size:"xsmall",color:"background"},y("import")))}let x=pi(d(E));return s?s(E):f?L.createElement(br,null,L.createElement(Vo,{variant:"text",size:"large",width:70}),L.createElement(to,{size:4}),L.createElement(Vo,{variant:"text",size:"medium",width:50})):x&&L.createElement(sh,null,L.createElement(ph,{variant:"title",size:"small"},x.amount),L.createElement("div",null),x.usdValue&&L.createElement(Ir,{variant:"body",className:Sc(),size:"xsmall"},`$${x.usdValue}`))},"endRenderer"),A=i(()=>L.createElement(nE,{style:{flexGrow:1,minHeight:0},itemContent:E=>{let x=e[E];if(x==="skeleton")return L.createElement(eE,{hasDivider:!0,start:L.createElement(Vo,{variant:"circular",width:35,height:35}),end:L.createElement(br,null,L.createElement(Vo,{variant:"text",size:"large",width:70}),L.createElement(to,{size:4}),L.createElement(Vo,{variant:"text",size:"medium",width:50})),title:L.createElement("div",null,L.createElement(Vo,{variant:"text",size:"large",width:90}),L.createElement(to,{size:4}),L.createElement(Vo,{variant:"text",size:"medium",width:90}))});let N=u.find(W=>W.name===x?.blockchain);if(!N||!x)return null;let M=x.address,F=ll(N.color,"main"),H={$$color:F.main150,[`.${gh} &`]:{$$color:F.main750},backgroundColor:"$$color"},X={$$color:F.main750,[`.${gh} &`]:{$$color:F.main150},color:"$$color"},J=i(()=>{typeof x!="string"&&!x.customToken&&n?.(x)},"handleClick");return L.createElement(dh,null,L.createElement(ah,{"tab-index":E,key:`${x.symbol}${M}`,id:`${x.symbol}${M}`,className:"widget-token-list-item-btn",hasDivider:!0,customToken:x?.customToken,onClick:J,start:L.createElement(lh,null,L.createElement(Rb,{src:x.image===""?ei:x.image,size:30}),t.type!=="custom-token"&&x&&h(x,t.type)&&L.createElement(ch,null,L.createElement(oE,{size:12,color:"gray"}))),title:N.type==="COSMOS"||x.name||!x.name&&!M?L.createElement(Cc,null,L.createElement(Ir,{variant:"title",size:"xmedium"},x.symbol),L.createElement(to,{direction:"horizontal",size:4}),L.createElement(Tc,{css:H},L.createElement(kc,{variant:"body",size:"xsmall",css:X},x.blockchain)),l&&x.warning&&L.createElement(L.Fragment,null,L.createElement(to,{direction:"horizontal",size:4}),L.createElement(Zb,{container:B()}))):void 0,description:typeof x!="string"&&N.info&&M&&N.type!=="COSMOS"?sE({address:M,token:x,customCssForTag:H,customCssForTagTitle:X,name:x.name,url:N.info.addressUrl.split("{wallet}").join(M)}):x.name||void 0,end:I(x)}))},totalCount:e.length,key:`${r}-${o}`}),"renderList"),b=C?No(C?.blockchain,u):null;return L.createElement(L.Fragment,null,a&&L.createElement(L.Fragment,null,L.createElement(Ir,{variant:"label",size:"large"},wc.t("Select Token")),L.createElement(to,{size:4})),L.createElement(ih,null,L.createElement(to,{size:4}),p==="loading"&&L.createElement(fh,{size:aE}),p==="success"&&(e.length?L.createElement(L.Fragment,null,L.createElement(dr,{token:C,address:C?.address??"",blockchain:b??void 0,onImport:w,onExitErrorModal:()=>k(null),onExitImportModal:()=>k(null)}),L.createElement(Sa,{as:"ul"},A())):!!o&&L.createElement(tE,{title:wc.t("No results found"),description:wc.t("Try using different keywords")}))))}i(Ar,"TokenList");var gE=bc("div",{display:"flex",justifyContent:"space-between",flexDirection:"column",flex:1}),hE=bc("div",{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",flex:"0.75"}),yE=bc(uE,{"&:hover":{"& svg":{color:"$secondary550"}}});function hh(){let[t,e]=xc(""),{deleteCustomToken:o}=T(),n=T().customTokens(),{fromToken:r,toToken:a,setFromToken:s,setToToken:c}=z()(),{mode:l}=mo({}),p=fE(),[u,d]=xc(!1),[f,h]=xc(),g=i(C=>{let k=C.target.value;e(k)},"handleSearch"),m=l==="dark",y=n.filter(C=>st(C.symbol,t)||st(C.address||"",t)||st(C.name||"",t)),S=i(()=>{if(f){let C=a?yt(a):null,k=r?yt(r):null,v=yt(f);C===v?c({token:null}):k===v&&s({token:null}),o(f)}d(!1)},"handleDeleteCustomToken");return ye.createElement(ie,{header:{title:oo.t("Custom Tokens")}},ye.createElement(le,null,ye.createElement(gE,null,n.length?ye.createElement(ye.Fragment,null,ye.createElement(At,{id:"widget-custom-tokens-search-token-input",value:t,setValue:e,fullWidth:!0,color:"light",variant:"contained",placeholder:oo.t("Search Token"),onChange:g}),ye.createElement(Nr,{size:16}),ye.createElement(Ar,{list:y,type:"custom-token",searchedFor:t,showTitle:!1,showWarning:!1,action:C=>ye.createElement(yE,{id:"widget-custom-token-delete-icon-btn",variant:"ghost",onClick:()=>{d(!0),h(C)}},ye.createElement(pE,{size:12,color:"gray"}))})):ye.createElement(hE,null,ye.createElement(mE,{icon:m?ye.createElement(lE,{size:200}):ye.createElement(cE,{size:200}),title:oo.t("No custom tokens"),description:oo.t("press the button to add your custom token")})),ye.createElement(Nr,{size:20}),ye.createElement(vc,{id:"widget-custom-token-add-btn",type:"primary",variant:"contained",size:"large",onClick:()=>p($.addCustomTokens)},oo.t("Add Custom Token"))),ye.createElement(ee,{open:u,id:"widget-custom-tokens-delete-modal",dismissible:!0,onClose:()=>d(!1),container:B()},ye.createElement(dE,{title:oo.t("Delete Custom Token"),type:"error",description:oo.t("Are you sure you want to Delete this Token?")},ye.createElement(Nr,{size:40}),ye.createElement(Nr,{size:10}),ye.createElement(vc,{fullWidth:!0,id:"widget-custom-token-delete-modal-yes-btn",variant:"contained",type:"primary",size:"large",onClick:S},oo.t("Yes, Delete it")),ye.createElement(Nr,{size:12}),ye.createElement(vc,{id:"widget-custom-token-delete-modal-no-btn",fullWidth:!0,variant:"outlined",type:"primary",size:"large",onClick:()=>d(!1)},oo.t("No, Continue"))))))}i(hh,"CustomTokensPage");import{i18n as Fe}from"@lingui/core";import{useManager as $E}from"@rango-dev/queue-manager-react";import{Button as Mc,darkTheme as FE,Divider as To,MessageBox as OE,NotFound as UE,styled as Lc,Tabs as zE,Typography as ka}from"@rango-dev/ui";import{TransactionStatus as Mr}from"rango-types";import te,{useMemo as _h,useState as Lr}from"react";import{useNavigate as HE}from"react-router-dom";import{FilterIcon as xE,Popover as bE}from"@rango-dev/ui";import Ko from"react";import{css as SE,darkTheme as Ca,IconButton as CE,styled as Br}from"@rango-dev/ui";var Ec=Br("div",{position:"relative","&::before":{position:"absolute",right:"1px",top:"-1px",width:"$8",height:"$8",borderRadius:"100%",backgroundColor:"$neutral300",[`.${Ca} &`]:{backgroundColor:"$neutral400"},padding:"$2"},variants:{isSelect:{true:{"&::before":{content:""}}}}}),yh=Br(CE,{width:"$36",height:"$36",position:"relative",padding:"0",overflow:"unset",backgroundColor:"$neutral300",[`.${Ca} &`]:{backgroundColor:"$neutral400"},"&:hover":{backgroundColor:"$secondary100",[`.${Ca} &`]:{backgroundColor:"$neutral"},[`& ${Ec}::before`]:{backgroundColor:"$secondary100",[`.${Ca} &`]:{backgroundColor:"$neutral"}}},variants:{isSelect:{true:{border:"1px solid $secondary"}}}}),Sh=Br("div",{position:"absolute",width:"$6",height:"$6",display:"flex",justifyContent:"center",alignItems:"center",borderRadius:"3px",top:"$0",right:"1px",backgroundColor:"$secondary500"}),Ch=Br("div",{padding:"$15",borderRadius:"$sm",width:"248px",backgroundColor:"$background",zIndex:10}),Th=SE({display:"flex",justifyContent:"space-between",alignItems:"center"}),kh=Br("ul",{margin:0,listStyle:"none",height:"100%",padding:0,".item-start-container":{paddingRight:"0 !important"}});import{i18n as wh}from"@lingui/core";import{Button as TE,Divider as vh,ListItemButton as kE,Radio as wE,RadioRoot as vE,Typography as xh}from"@rango-dev/ui";import dt from"react";function bh(t){let{filterBy:e,onClickItem:o}=t;return dt.createElement(Ch,null,dt.createElement("div",{className:Th()},dt.createElement(xh,{size:"small",variant:"body"},wh.t("Status")),dt.createElement(TE,{id:"widget-filter-selector-reset-btn",variant:"ghost",size:"xxsmall",onClick:()=>o("")},wh.t("Reset"))),dt.createElement(vh,{size:10}),dt.createElement(vE,{value:e},dt.createElement(kh,null,t.list.map((n,r)=>dt.createElement(kE,{key:n.id,className:"widget-filter-selector-list-item-btn",style:{height:"40px",width:"100%"},selected:!1,hasDivider:t.list.length-1!=r,id:n.id,title:dt.createElement(dt.Fragment,null,dt.createElement(vh,{direction:"horizontal",size:4}),dt.createElement(xh,{size:"medium",variant:"body"},n.title)),start:dt.createElement(wE,{value:n.id}),onClick:o})))))}i(bh,"FilterSelectorContent");function Ic(t){let{onClickItem:e,onOpenChange:o,filterBy:n,list:r,open:a}=t;return Ko.createElement("div",null,Ko.createElement(bE,{open:a,align:"end",onOpenChange:o,container:B(),content:Ko.createElement(bh,{list:r,filterBy:n,onClickItem:s=>{e(s),o(!1)}})},Ko.createElement(yh,{id:"widget-filter-selector-filter-icon-btn",variant:"default",isSelect:!!n,onClick:()=>o(!t.open)},Ko.createElement(Ec,{isSelect:!!n},Ko.createElement(xE,{size:16,color:"black"}),!!n&&Ko.createElement(Sh,null)))))}i(Ic,"FilterSelector");import{i18n as AE}from"@lingui/core";import{getCurrentStep as NE}from"@rango-dev/queue-manager-rango-preset";import{Divider as Bh,GroupedVirtualizedList as BE,Skeleton as WE,SwapListItem as Wh,Typography as ME}from"@rango-dev/ui";import Ze,{useCallback as Mh,useEffect as LE,useRef as PE,useState as _E}from"react";function Eh(t,e){let o=[],n=0;do{let r=t[n];r&&(o.push(Math.min(r,e)),e-=r),n++}while(e>0&&n<=t.length);return o}i(Eh,"calculateGroupsSoFar");import{css as EE,darkTheme as IE,styled as Wr}from"@rango-dev/ui";var Ac=EE(),Ih=Wr("div",{display:"flex",justifyContent:"center",alignItems:"center",padding:"$5"}),Nc=Wr("div",{width:"100%",display:"flex",flexDirection:"column",backgroundColor:"$background",padding:"$10 $5 0 $5",[`& .${Ac}`]:{$$color:"$colors$neutral600",[`.${IE} &`]:{$$color:"$colors$neutral700"},color:"$$color"}}),Bc=Wr("div",{display:"flex",justifyContent:"flex-start",padding:"$2"}),Ah=Wr("div",{gap:"$10",display:"flex",flexDirection:"column"}),Nh=Wr("div",{height:"100%",display:"flex",justifyContent:"center",alignItems:"center"});var DE=10;function Wc(t){let{list:e,onSwapClick:o,groupBy:n,isLoading:r}=t,[a,s]=_E([]),c=PE(0),{swaps:l,groupCounts:p,groups:u}=n(e),d=Mh(Eh,[]),f=Mh(()=>{let h=e.length-c.current;h&&(c.current+=Math.min(h,DE),s(d(p,c.current)))},[e.length]);if(LE(()=>{r||f()},[r,f]),r){let h=[1,2];return Ze.createElement(Ze.Fragment,null,[h,h].map((m,y)=>Ze.createElement(Nc,{key:y},Ze.createElement(Bc,null,Ze.createElement(WE,{variant:"text",width:60,size:"small"}),Ze.createElement(Bh,{size:16})),Ze.createElement(Bh,{size:4}),Ze.createElement(Ah,null,m.map((C,k)=>Ze.createElement(Wh,{isLoading:!0,key:k}))))))}return Ze.createElement(BE,{style:{flexGrow:1,minHeight:0},endReached:()=>{c.current<e.length&&f()},groupCounts:a,groupContent:h=>Ze.createElement(Nc,null,Ze.createElement(Bc,null,Ze.createElement(ME,{variant:"label",size:"medium",className:Ac()},u[h]))),itemContent:(h,g)=>{let m=l[h];if(!m)return null;let y=NE(m),S=m.steps[0],C=m.steps[m.steps.length-1];return!S||!C?null:Ze.createElement(Ih,{key:m.requestId},Ze.createElement(Wh,{className:"widget-history-group-list-swap-item-btn",requestId:m.requestId,creationTime:m.creationTime,status:m.status,onClick:o,currentStep:y,tooltipContainer:B(),onlyShowTime:u[g]===AE.t("Today"),swapTokenData:{from:{token:{image:S.fromLogo,displayName:S.fromSymbol},blockchain:{image:S.fromBlockchainLogo||""},amount:P(m.inputAmount,6,6),realAmount:m.inputAmount},to:{token:{image:C.toLogo,displayName:C.toSymbol},blockchain:{image:C.toBlockchainLogo||""},amount:P(C.outputAmount||C.expectedOutputAmountHumanReadable||"",6,6),realAmount:C.outputAmount||C.expectedOutputAmountHumanReadable||""}}}))}})}i(Wc,"HistoryGroupedList");import{i18n as Ta}from"@lingui/core";import Lh from"dayjs";var Ph=i(t=>{let e=new Map([["today",{title:Ta.t("Today"),swaps:[]}],["week",{title:Ta.t("This week"),swaps:[]}],["month",{title:Ta.t("This month"),swaps:[]}],["year",{title:Ta.t("This year"),swaps:[]}]]);function o(l,p){e.has(l)||e.set(l,{title:l,swaps:[]}),e.get(l)?.swaps.push(p)}i(o,"addYearsToOutput");let n=Lh();t.forEach(l=>{let p=Number(l.creationTime),u=Lh(p);if(n.isSame(u,"day"))e.get("today")?.swaps.push(l);else if(n.isSame(u,"week"))e.get("week")?.swaps.push(l);else if(n.isSame(u,"month"))e.get("month")?.swaps.push(l);else if(n.isSame(u,"year"))e.get("year")?.swaps.push(l);else{let d=new Date(p).getFullYear().toString();o(d,l)}});let r=Array.from(e.values()).filter(l=>l.swaps.length>0),a=r.flatMap(l=>l.swaps),s=r.map(l=>l.swaps.length),c=r.map(l=>l.title);return{swaps:a,groupCounts:s,groups:c}},"groupSwapsByDate");var QE=Lc("div",{overflowY:"visible",width:"100%",display:"flex",flexDirection:"column",gap:15,height:"100%",minHeight:0,flexGrow:1}),qE=Lc("div",{display:"flex",justifyContent:"center",alignItems:"center"}),GE=Lc("div",{"._typography":{color:"$neutral700",[`.${FE}&`]:{color:"$neutral900"}}}),VE=i((t,e)=>t?.length?t.filter(o=>Pt(o.fromBlockchain,e)||Pt(o.toBlockchain,e)||Pt(o.toSymbol,e)||Pt(o.fromSymbol,e)).length:!1,"isStepContainsText");function Dh(){let t=HE(),{manager:e,state:o}=$E(),n=Tt(e).map(({swap:b})=>b),[r,a]=Lr(""),[s,c]=Lr(!1),l=!o.loadedFromPersistor,[p,u]=Lr(""),[d,f]=Lr(!1),[h,g]=Lr("all"),m=i(b=>{let E=b.target.value;a(E)},"handleSearch"),{isMultiMode:y}=tt(),S=[{id:Mr.SUCCESS,title:Fe.t("Complete")},{id:Mr.RUNNING,title:Fe.t("Running")},{id:Mr.FAILED,title:Fe.t("Failed")}],C=[{id:"all",title:Fe.t("All")},{id:"swap",title:Fe.t("Swap")},{id:"refuel",title:Fe.t("Refuel")}],k=_h(()=>!r&&!p&&h==="all"?n:n.filter(b=>{let{inputAmount:E,status:x,steps:N,requestId:M,mode:F}=b;return(!r||Pt(E,r)||Pt(x,r)||VE(N,r)||Pt(M,r))&&(!p||p===x)&&(h==="all"?!0:h==="swap"?!F||F==="swap":h==="refuel"?F==="refuel":!1)}),[n,r,p,h]),v=!k?.length&&!l,w=i(()=>f(!1),"onCloseModal"),I=i(async()=>{try{await e?.clearQueue(),f(!1)}catch(b){console.log(b)}},"onClear"),A=_h(()=>!n.some(b=>b.status===Mr.SUCCESS||b.status===Mr.FAILED),[n]);return te.createElement(ie,{header:{title:Fe.t("History"),suffix:te.createElement(fo,null,te.createElement(Mc,{id:"widget-history-clear-btn",disabled:A,variant:"ghost",size:"xsmall",onClick:()=>f(!0)},te.createElement(ka,{size:"medium",variant:"label",color:"error"},Fe.t("Clear"))))}},te.createElement(le,null,te.createElement(qE,null,te.createElement(At,{setValue:a,fullWidth:!0,variant:"contained",placeholder:Fe.t("Search Transaction"),id:"widget-history-search-transaction-input",autoFocus:!0,onChange:m,style:{height:36},value:r}),te.createElement(To,{size:10,direction:"horizontal"}),te.createElement(Ic,{filterBy:p,open:s,onOpenChange:b=>c(b),onClickItem:b=>u(b),list:S})),te.createElement(To,{size:"16"}),y&&!l&&te.createElement(te.Fragment,null,te.createElement(zE,{items:C,onChange:b=>g(b.id),value:h,type:"secondary"}),te.createElement(To,{size:"12"})),te.createElement(QE,null,v&&te.createElement(Nh,null,te.createElement(To,{size:32}),te.createElement(UE,{title:r?Fe.t("No results found"):Fe.t("No transactions"),titleColor:r?void 0:"$info",hasIcon:!!r,description:r?Fe.t("Try using different keywords"):Fe.t("Your transaction history is stored locally and will appear here after you start a swap")})),!v&&te.createElement(Wc,{list:k,onSwapClick:t,groupBy:Ph,isLoading:l}))),te.createElement(ee,{open:d,onClose:w,id:"widget-history-clear-modal",container:B()},te.createElement(To,{size:20}),te.createElement(OE,{type:"warning",title:Fe.t("Clear Transaction History"),description:te.createElement(GE,null,te.createElement(ka,{variant:"body",size:"medium"},Fe.t("Proceeding will remove all successful and failed transactions from the widget. Do you want to continue?")),te.createElement(To,{size:"24"}),te.createElement(ka,{variant:"body",size:"small"},Fe.t("Note: This does not erase your transaction history on the chain; it only removes them here.")))}),te.createElement(To,{size:30}),te.createElement(Mc,{id:"widget-history-clear-modal-yes-btn",variant:"contained",type:"primary",size:"large",onClick:I},Fe.t("Yes, Clear the history")),te.createElement(To,{size:10}),te.createElement(Mc,{id:"widget-history-clear-modal-no-btn",variant:"outlined",type:"primary",size:"large",onClick:w},te.createElement(ka,{variant:"title",size:"medium",color:"primary"},Fe.t("No, Cancel")))))}i(Dh,"HistoryPage");import{i18n as dy}from"@lingui/core";import{Button as AI,Divider as Kc,styled as NI,WarningIcon as BI}from"@rango-dev/ui";import WI from"bignumber.js";import Ce,{useEffect as my,useState as fy}from"react";import{useNavigate as MI}from"react-router-dom";import{i18n as Fh}from"@lingui/core";import{Alert as jE,Divider as Pc,NoRouteIcon as XE,Typography as YE}from"@rango-dev/ui";import jo from"react";import{styled as KE}from"@rango-dev/ui";var $h=KE("div",{display:"flex",flexDirection:"column",alignItems:"center"});function _c(){let{fromToken:t,toToken:e}=z()();return!!t&&!!e&&qt(t,e)?jo.createElement($h,null,jo.createElement(Pc,{size:10}),jo.createElement(XE,{size:24,color:"gray"}),jo.createElement(Pc,{size:4}),jo.createElement(YE,{variant:"title",size:"small"},Fh.t("No Routes Found")),jo.createElement(Pc,{size:4}),jo.createElement(jE,{title:Fh.t("You cannot use the same token for From and To."),type:"warning",variant:"alarm"})):null}i(_c,"SameTokensWarning");import{Alert as ZE,Button as JE}from"@rango-dev/ui";import Uh from"react";import{i18n as wa}from"@lingui/core";function Oh(t){let e=null;return t===fi?(e={alertType:"error",action:"reset-slippage",actionButtonTitle:wa.t("Reset"),title:wa.t("Slippage cannot be set lower than 0.01%.")},e):t>an?(e={alertType:"warning",action:"change-settings",actionButtonTitle:wa.t("Change"),title:wa.t("Caution, your slippage is high!")},e):null}i(Oh,"makeAlerts");function zh(t){let{slippage:e,customSlippage:o,setSlippage:n,setCustomSlippage:r}=T(),{onChangeSettings:a}=t,c=Oh(o!==null?o:e),l=i(p=>{p==="reset-slippage"?(n(mi),r(null)):p==="change-settings"&&a()},"onClickActionButton");return c?Uh.createElement(ZE,{title:c.title,type:c.alertType,variant:"alarm",action:Uh.createElement(JE,{id:"widget-slippage-warning-error-change-settings-or-reset-slippage-btn",size:"xxsmall",type:c.alertType,onClick:()=>l(c.action)},c.actionButtonTitle)}):null}i(zh,"SlippageWarningsAndErrors");import{i18n as nI}from"@lingui/core";import{IconButton as rI,ReverseIcon as iI,Skeleton as aI,Tooltip as sI,Typography as Pr}from"@rango-dev/ui";import mt from"react";import va from"bignumber.js";function Qh(t){let{error:e,isDarkTheme:o,warning:n}=t,{quoteError:r,slippageError:a}=e,{quoteWarning:s,slippageWarning:c}=n,l=!!a||r?.type===4,p=!!c||s?.type===2;return l?"$error500":p?"$warning500":o?"$neutral600":"$neutral700"}i(Qh,"getSlippageColor");function qh(t){let{toTokenUsdPrice:e,fromTokenUsdPrice:o}=t;if(!e||!o)return{rawValue:"0",displayValue:"0"};let n=new va(e),r=new va(o),a=n.dividedBy(r),s;return a.isLessThan(1)?s=a.toFixed(14).replace(/\.?0+$/,""):a.toFixed(0).length>10?s=a.toFixed(0).slice(0,10):s=a.toFixed(2),{displayValue:s,rawValue:a.toFixed()}}i(qh,"getUsdExchangeRate");function Gh(t,e){let o=new va(t).multipliedBy(e);return o.isLessThan(.001)?"$0":`$${o.decimalPlaces(2,va.ROUND_DOWN).toFormat(2)}`}i(Gh,"formatTokenValueInUsd");import{darkTheme as tI,styled as $c,Typography as oI}from"@rango-dev/ui";var Vh=$c("div",{display:"flex",padding:"$4",justifyContent:"space-between",alignItems:"center"}),Kh=$c("div",{display:"flex",alignItems:"center",gap:"$2","& .rate-text":{color:"$neutral700",[`.${tI} &`]:{color:"$neutral700"}},"& ._icon-button":{transform:"rotate(90deg)",width:"$16",height:"$16"}}),Fc=$c(oI,{maxWidth:"$32",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"});function Oc(t){let{slippage:e,customSlippage:o,quoteTokensRate:n,changeQuoteTokensRate:r}=T(),{quoteError:a,quoteWarning:s,fromToken:c,toToken:l,quote:p,loading:u}=t,d=o!==null?o:e,{mode:f}=mo({}),h=cn(d),g=f==="dark",m=n==="default",y={quoteError:a,slippageError:h?.type==="error"?h.message:null},S={quoteWarning:s,slippageWarning:h?.type==="warning"?h.message:null},C=p?.swaps[0]?.from||c,k=p?.swaps[p?.swaps.length-1]?.to||l,v=m?C:k,w=m?k:C,I=Number(m?p?.outputAmount:p?.requestAmount),A=Number(m?p?.requestAmount:p?.outputAmount),b=I||v.usdPrice,E=A||w.usdPrice,{rawValue:x,displayValue:N}=qh({toTokenUsdPrice:E,fromTokenUsdPrice:b});return mt.createElement(Vh,null,mt.createElement(Pr,{variant:y||S?"label":"body",size:y||S?"medium":"small",color:Qh({error:y,warning:S,isDarkTheme:g})},nI.t("Slippage:")," ",d,"%"),u?mt.createElement(aI,{height:16,width:104,variant:"rounded"}):b&&E&&mt.createElement(Kh,null,mt.createElement(Pr,{className:"rate-text",variant:"body",size:"small"},"1"),mt.createElement(Fc,{className:"rate-text",variant:"body",size:"small"},w.symbol),mt.createElement(rI,{id:"widget-home-page-change-rate-button",onClick:r},mt.createElement(iI,{size:14,color:"secondary"})),mt.createElement(sI,{container:B(),side:"top",sideOffset:4,content:mt.createElement(Pr,{className:"rate-text",variant:"body",size:"small"},x)},mt.createElement(Pr,{className:"rate-text",variant:"body",size:"small"},N)),mt.createElement(Fc,{className:"rate-text",variant:"body",size:"small"},v.symbol),v.usdPrice&&mt.createElement(Pr,{color:"neutral600",variant:"body",size:"small"},"~",Gh(Number(x),v.usdPrice))))}i(Oc,"SwapMetrics");import{i18n as mI}from"@lingui/core";import{Header as fI}from"@rango-dev/ui";import ko,{useEffect as gI,useState as hI}from"react";import{i18n as cI}from"@lingui/core";import{Divider as zc,FullExpandedQuote as pI,Typography as uI}from"@rango-dev/ui";import ve from"react";import{styled as Uc}from"@rango-dev/ui";var jh=Uc("div",{display:"flex",justifyContent:"center",flexDirection:"column",height:"100%"}),Xh=Uc("div",{display:"flex",justifyContent:"space-between",alignItems:"center"}),Yh=Uc("div",{width:"146px"});import{i18n as _r}from"@lingui/core";import{Select as lI}from"@rango-dev/ui";import Zh from"react";function xa(t){let{updateQuotePartialState:e,sortStrategy:o}=z()(),n=[{value:"SMART",label:_r.t("Smart Routing")},{value:"FEE",label:_r.t("Lowest Fee")},{value:"SPEED",label:_r.t("Fastest Transfer")},{value:"NET_OUTPUT",label:_r.t("Maximum Return")},{value:"PRICE",label:_r.t("Maximum Output")}];return Zh.createElement(Yh,null,Zh.createElement(lI,{id:"widget-quotes-strategy-select",container:t.container,options:n,value:o,handleItemClick:r=>{e("sortStrategy",r.value)},variant:"filled"}))}i(xa,"SelectStrategy");var Jh=3;function Dr(t){let{loading:e,onClickOnQuote:o,fetch:n,showModalFee:r,hasSort:a=!0,fullExpandedMode:s=!1,container:c}=t,{selectedQuote:l,quotes:p,updateQuotePartialState:u,fromToken:d,toToken:f,sortStrategy:h,error:g}=z()(),{slippage:m,customSlippage:y}=T(),{findToken:S}=T(),C=c||B(),k=!!p&&p.results.length,v=y??m,w=i(b=>{if(!d||!f||!p)return null;let E={requestAmount:p.requestAmount,validationStatus:null,...b};return Sn({currentQuote:E,userSlippage:v,findToken:S})},"getQuoteWarning"),I=g?.type===0||g?.type===1,A=p?.results?Ai(h,p?.results):[];return ve.createElement(ve.Fragment,null,a&&ve.createElement(ve.Fragment,null,ve.createElement(Xh,null,ve.createElement(uI,{size:"xmedium",variant:"title"},cI.t("Sort by")),ve.createElement(xa,{container:C})),ve.createElement(zc,{size:"10"})),e&&Array.from({length:Jh},(b,E)=>ve.createElement(ve.Fragment,{key:E},s?ve.createElement(pI,{loading:!0}):ve.createElement(vr,{tagHidden:!1,type:"list-item",expanded:!1}),E!==Jh-1&&ve.createElement(zc,{size:16}))),!e&&ve.createElement(ve.Fragment,null,k?A.map((b,E)=>{let x=w(b),N=sc(b.swaps),M=A.length-1===E;return ve.createElement(ve.Fragment,{key:b.requestId},ve.createElement(Go,{id:"widget-quotes-quote-info-container",showModalFee:r,container:C,selected:l?.requestId===b.requestId,tagHidden:!1,quote:{...b,requestAmount:p.requestAmount,validationStatus:null},loading:e,error:N?.options||null,warning:x,fullExpandedMode:s,onClick:F=>{N||u("warning",x),u("error",N?.options||null),o(F)},type:"list-item"}),!M&&ve.createElement(zc,{size:16}))}):I&&ve.createElement(jh,null,ve.createElement(gr,{size:s?"large":"small",error:g,fetch:n}))))}i(Dr,"Quotes");import{darkTheme as dI,styled as Rh}from"@rango-dev/ui";var ey=Rh("div",{transition:"width 0.2s, opacity 0.2s, margin-left 0.2s",height:"700px",width:"390px",position:"relative",opacity:1,marginLeft:"$16",backgroundColor:"$neutral100",[`.${dI} &`]:{backgroundColor:"$neutral300"},variants:{expandMode:{default:{width:"390px"},full:{width:"719px"}}},"&.is-hidden":{width:0,height:0,opacity:0,marginLeft:0}}),ty=Rh("div",{position:"relative",overflow:"hidden",padding:"$20",flexGrow:1,display:"flex",flexDirection:"column",overflowY:"auto",borderRadius:"$primary",backgroundColor:"$background"});var yI=100;function Hc(t){let{fetch:e,loading:o,onClickOnQuote:n,onClickRefresh:r,isVisible:a}=t,[s,c]=hI(!1),l=s?"":"is-hidden",{config:p}=T(),u=p?.variant==="full-expanded",d=Wo();return gI(()=>{let f=null;return a?f=setTimeout(()=>{c(!0)},yI):(c(!1),f&&clearTimeout(f)),()=>{f&&clearTimeout(f)}},[a]),ko.createElement(ey,{expandMode:p?.variant==="full-expanded"?"full":"default",className:`${l} ${Hi()} widget-expanded-quotes-container`,id:Re.EXPANDED_BOX_ID},ko.createElement(fI,{title:mI.t("Routes"),suffix:ko.createElement(ko.Fragment,null,ko.createElement(xa,{container:d}),ko.createElement(zo,{container:d,onClickRefresh:r,hidden:["history","notifications","settings"]}))}),ko.createElement(ty,null,ko.createElement(Dr,{showModalFee:!0,fetch:e,hasSort:!1,loading:o,container:Wo(),onClickOnQuote:n,fullExpandedMode:u})))}i(Hc,"ExpandedQuotes");import{i18n as ly}from"@lingui/core";import{SwapInput as cy}from"@rango-dev/ui";import kI from"bignumber.js";import $r from"react";import{ReverseIcon as TI}from"@rango-dev/ui";import qc from"react";import{keyframes as SI,styled as oy}from"@rango-dev/ui";var Qc=450,CI=SI({"0%":{transform:"rotateX(0deg) rotateY(0deg) rotateZ(0deg)"},"33%":{transform:"rotateX(0deg) rotateZ(78deg) rotateY(66deg)"},"66%":{transform:"rotateX(0deg) rotateZ(163deg) rotateY(66deg)"},"100%":{transform:"rotateX(0deg) rotateZ(180deg) rotateY(0deg)"}}),ny=oy("div",{position:"absolute",bottom:"-12px",left:"50%",transform:"translate(-50%, 10%)",cursor:"pointer"}),ry=oy("div",{borderRadius:"$md",border:"3px solid $background",background:"$neutral100",width:"$24",height:"$24",display:"flex",justifyContent:"center",alignItems:"center",color:"$foreground","&.rotate":{"& svg":{animation:`${CI} ${Qc}ms ease-in-out forwards`}},"&:hover":{color:"$secondary500",transform:"translateY(1px) scale(1.04)",boxShadow:"1px 1px 1px 1px rgba(0, 0, 0, 0.05)"}});function Gc(){let t=z().use.switchFromAndTo();return qc.createElement(ny,null,qc.createElement(ry,{id:"widget-switch-from-and-to-btn",onClick:e=>{let o=e.currentTarget;o.classList.add("rotate"),setTimeout(()=>{o.classList.remove("rotate")},Qc),t()}},qc.createElement(TI,{size:12})))}i(Gc,"SwitchFromAndToButton");import{styled as iy}from"@rango-dev/ui";var ay=iy("div",{display:"flex",flexDirection:"column",gap:"$5",alignSelf:"stretch"}),sy=iy("div",{position:"relative"});function Vc(t){let{fetchingQuote:e,fetchMetaStatus:o,onClickToken:n,isExpandable:r}=t,{fromToken:a,fromBlockchain:s,toToken:c,toBlockchain:l,setInputAmount:p,sanitizeInputAmount:u,inputAmount:d,inputUsdValue:f,outputAmount:h,outputUsdValue:g,selectedQuote:m}=z()(),{swapMode:y}=tt(),{connectedWallets:S,getBalanceFor:C}=T(),k=a?C(a):null,v=pi(k)?.amount??"0",w=k?new kI(k.amount).shiftedBy(-k.decimals):pe,I=!!s&&Au(S,s.name),A=!Gs(m,d,f),b=!Gs(m,d,g),E=!f||!g||!g.gt(0)?null:jt(f.toString(),g.toString());return $r.createElement(ay,null,$r.createElement(sy,null,$r.createElement(cy,{label:ly.t("From"),id:"widget-swap-from",mode:"From",onInputChange:p,onInputBlur:u,balance:v,chain:{displayName:s?.displayName||"",image:s?.logo},token:{displayName:a?.symbol||"",image:a?.image,securityWarning:!!a?.warning},onClickToken:()=>n("from"),price:{value:d,usdValue:A?void 0:P(f,4,4),realUsdValue:A?void 0:f?.toString(),error:A?ne().unknownPriceError.impactTitle:void 0},disabled:o==="failed",loading:o==="loading",loadingBalance:I,tooltipContainer:B(),onSelectMaxBalance:()=>{let x=P(w,k?.decimals),N=k?.amount?x.split(",").join(""):"";p(N)},anyWalletConnected:S.length>0}),y==="swap"&&$r.createElement(Gc,null)),$r.createElement(cy,{selectionType:y==="swap"?"token":"chain",sharpBottomStyle:!r&&(!!m||e),label:ly.t("To"),mode:"To",id:"widget-swap-to-input",fetchingQuote:e,chain:{displayName:l?.displayName||"",image:l?.logo},token:{displayName:c?.symbol||"",image:c?.image,securityWarning:!!c?.warning},percentageChange:P(jt(f,g),2,2),warningLevel:Xt(E??0),price:{value:P(h,6,6),usdValue:b?void 0:P(g,4,4),realValue:h?.toString(),realUsdValue:b?void 0:g?.toString(),error:b?ne().unknownPriceError.impactTitle:void 0},onClickToken:()=>n("to"),disabled:o==="failed",loading:o==="loading",tooltipContainer:B()}))}i(Vc,"Inputs");import{warn as wI}from"@rango-dev/logging-core";import{useCallback as vI,useEffect as xI,useRef as bI,useState as EI}from"react";function py(){let{fetch:t,loading:e,cancelFetch:o}=fa({request:async(n,r)=>await ct().getAllRoutes(n,r)});return{fetch:t,loading:e,cancelFetch:o}}i(py,"useFetchAllQuotes");var II=600;function ba({refetchQuote:t}){let{fetch:e,cancelFetch:o}=py(),{excludeLiquiditySources:n,routing:r}=T().config,{connectedWallets:a}=T(),c=a.some(ue=>ue.isContractWallet),{fromToken:l,toToken:p,inputAmount:u,inputUsdValue:d,selectedQuote:f,sortStrategy:h,resetQuote:g,error:m,warning:y,setSelectedQuote:S,updateQuotePartialState:C}=z()(),{slippage:k,customSlippage:v,affiliatePercent:w,affiliateRef:I,affiliateWallets:A,fetchStatus:b}=T(),E=T().getLiquiditySources(),x=T().getDisabledLiquiditySources(),N=T().excludeLiquiditySources(),{findToken:M}=T(),{swapMode:F}=tt(),[H,X]=EI(!0),J=bI(u),W=v??k,Y=!l||!p||qt(l,p)||!Gn(u),ce=i(ue=>{X(ue)},"resetState"),fe=i(ue=>{let{fromToken:wt,toToken:gt,inputAmount:Wt,liquiditySources:D,excludeLiquiditySources:U,disabledLiquiditySources:G,slippage:se,affiliateRef:Q,affiliatePercent:j,affiliateWallets:K}=ue;if(H||ce(!0),!Y&&wt&>){g();let Ie=Vd({fromToken:wt,toToken:gt,inputAmount:Wt,liquiditySources:D,excludeLiquiditySources:U,disabledLiquiditySources:G,wallets:a,slippage:se,affiliateRef:Q,affiliatePercent:j,affiliateWallets:K,contractCall:c});ln("experimental",r)&&(Ie.experimental=!0),ln("avoidNativeFee",r)&&(Ie.avoidNativeFee=!0),ln("enableCentralizedSwappers",r)&&(Ie.enableCentralizedSwappers=!0),r?.maxLength&&(Ie.maxLength=r.maxLength),F==="refuel"&&(Ie.maxLength=1),e(Ie).then(Ae=>{let Ke=Ai(h,Ae.results),Mt=Pd(f,Ke,Ae.requestAmount);X(!1),C("quotes",Ae),S(Mt),ga({diagnosisMessages:Ae.diagnosisMessages,requestId:Mt?.requestId||"",swaps:Mt?.swaps});let so=Mt&&Sn({currentQuote:Mt,userSlippage:W,findToken:M});C("warning",so)}).catch(Ae=>{let Ke=ha(Ae);(Ke.type===0||Ke.type===1)&&g(),Ke.type!==2&&(C("error",Ke),X(!1),wI(new Error("quote error"),{tags:{...Ke,type:Ye[Ke.type],requestBody:Ie}}))})}},"fetch"),at=vI(ni(ue=>{fe(ue)},II),[Y]);return xI(()=>{if(!t){X(!1);return}if(b!=="success")return;if(Y){X(!1),(f||m||y)&&g();return}if(!Gn(u)&&d?.eq(0)){ce(!1),o();return}g(),ce(!0);let ue=fe;return J.current&&J.current!=u&&(ue=at),J.current=u,ue({inputAmount:u,fromToken:l,toToken:p,liquiditySources:E,excludeLiquiditySources:N,disabledLiquiditySources:x,slippage:W,affiliateRef:I,affiliatePercent:w,affiliateWallets:A,contractCall:c}),o},[b,u,l?.symbol,l?.address,l?.blockchain,p?.symbol,p?.address,p?.blockchain,Y,E?.length,n,x.length,W,I,w,c,JSON.stringify(A)]),{fetch:()=>fe({inputAmount:u,fromToken:l,toToken:p,liquiditySources:E,excludeLiquiditySources:N,disabledLiquiditySources:x,slippage:W,affiliateRef:I,affiliatePercent:w,affiliateWallets:A,contractCall:c}),loading:H}}i(ba,"useSwapInput");function uy(t,e){let o=!1,n={preventDefault(){o=!0},...t.payload===void 0&&{payload:t.payload}};we.emit("uiEvent",{type:t.type,payload:n}),o||e()}i(uy,"emitPreventableEvent");var LI=NI("div",{display:"flex",alignItems:"flex-start",maxHeight:700,"& .footer__alert":{paddingTop:"0 !important"}}),PI=300;function gy(){let t=MI(),{fromToken:e,toToken:o,inputAmount:n,selectedQuote:r,refetchQuote:a,error:s,warning:c,quotes:l,setSelectedQuote:p,resetQuoteWallets:u,setQuoteWarningsConfirmed:d,updateQuotePartialState:f}=z()(),[h,g]=fy(!1),{isLargeScreen:m,isExtraLargeScreen:y}=ia(),{fetch:S,loading:C}=ba({refetchQuote:a}),{config:k,fetchStatus:v,connectedWallets:w,customSlippage:I,slippage:A,setSlippage:b,setCustomSlippage:E}=T(),{isActiveTab:x}=oe(),[N,M]=fy(!1),F=I!==null?I:A,{swapMode:H}=tt(),X=cn(F),W=Hd({fetchMetaStatus:v,fetchingQuote:C,inputAmount:n,quote:r,anyWalletConnected:w.length>0,error:s,warning:c,needsToWarnEthOnPath:!1}),Z=_u(m,y,k?.variant),Y=!!n&&!!e&&!!o&&new WI(n).gt(0)&&!Rd(e,o),ce=Y&&v==="success"&&C,fe=X?.quoteValidation||c,wt=(!Z||Z&&l?.results.length)&&(fe||s),gt=!!e&&!!o,Wt=gt&&!!X,D=(r||s)&&!N?S:void 0,U=i(j=>{Z&&h?(g(!1),setTimeout(()=>{t(j)},PI)):t(j)},"onHandleNavigation"),G=i(j=>{r?.requestId!==j.requestId&&(M(!1),p(j))},"onClickOnQuote"),se=i(j=>{if(j){if(di.includes(j)){b(j),E(null);return}E(j)}},"onChangeSlippage"),Q=i(j=>{U(j==="from"?$.fromSwap:H==="swap"?$.toSwap:$.toSwap+"/"+$.blockchains)},"handleInputTokenClick");return my(()=>{u(),f("refetchQuote",!0)},[]),my(()=>{g(Y)},[Y]),Ce.createElement(LI,null,Ce.createElement(ie,{height:"auto",footer:Ce.createElement(AI,{id:`widget-swap-${W.action}-btn`,type:"primary",size:"large",disabled:W.disabled||!x,prefix:W.action==="confirm-warning"&&Ce.createElement(BI,null),fullWidth:!0,onClick:()=>{W.action==="connect-wallet"?uy({type:"clickConnectWallet"},()=>U($.wallets)):W.action==="confirm-warning"?M(!0):U($.confirmSwap)}},W.title),header:{onWallet:()=>{U($.wallets)},hasBackButton:!1,title:k.title||(H==="swap"?dy.t("Swap"):dy.t("Refuel")),suffix:Ce.createElement(zo,{hidden:Z?["refresh"]:void 0,onClickRefresh:D,onClickHistory:()=>U($.swaps),onClickSettings:()=>{U($.settings)}})}},Ce.createElement(le,null,Ce.createElement(Vc,{fetchingQuote:ce,fetchMetaStatus:v,isExpandable:Z,onClickToken:Q}),Ce.createElement(Kc,{size:"2"}),Z?null:Ce.createElement(Go,{quote:r,loading:ce,error:s,id:"widget-home-expandable-quote-container",tagHidden:!1,warning:fe,type:"basic",onClickAllRoutes:l&&l.results.length>1?()=>{f("refetchQuote",!1),U($.routes)}:void 0}),gt&&Ce.createElement(Ce.Fragment,null,Ce.createElement(Kc,{size:8}),Ce.createElement(Oc,{quoteError:s,quoteWarning:fe,fromToken:e,toToken:o,quote:r,loading:ce})),wt?Ce.createElement(Ce.Fragment,null,Ce.createElement(yr,{warning:fe,error:s,skipAlerts:!!X,couldChangeSettings:!0,refetchQuote:S,showWarningModal:N,confirmationDisabled:!x,onOpenWarningModal:()=>M(!0),onCloseWarningModal:()=>M(!1),onChangeSlippage:se,onConfirmWarningModal:()=>{M(!1),d(!0),U($.confirmSwap)},onChangeSettings:()=>U($.settings)})):null,Wt&&Ce.createElement(Ce.Fragment,null,Ce.createElement(Kc,{size:"10"}),Ce.createElement(zh,{onChangeSettings:()=>U($.settings)})),Ce.createElement(_c,null))),Z?Ce.createElement(Hc,{loading:ce,onClickOnQuote:G,fetch:S,onClickRefresh:D,isVisible:h}):null)}i(gy,"Home");import{i18n as hy}from"@lingui/core";import{Alert as _I,Divider as DI,List as $I,ListItemButton as FI,Radio as OI,RadioRoot as UI,Typography as zI}from"@rango-dev/ui";import Ot from"react";function wo(){let{setLanguage:t,language:e,config:o}=T(),n=Hu,r=o?.language||pn;return{activeLanguage:e||r,languages:n,defaultLanguage:r,changeLanguage:a=>t(a||pn),resetLanguage:()=>t(null)}}i(wo,"useLanguage");function yy(){let{activeLanguage:t,changeLanguage:e,languages:o}=wo(),n=qe(),r=o.map(a=>{let{local:s,label:c,SVGFlag:l}=a;return{id:`widget-setting-languages-${s}-item-btn`,value:s,title:Ot.createElement(zI,{variant:"title",size:"xmedium"},c),onClick:()=>{e(a.local),n()},end:Ot.createElement(OI,{value:s}),start:Ot.createElement(l,null)}});return Ot.createElement(ie,{header:{title:hy.t("Language")}},Ot.createElement(le,null,Ot.createElement(_I,{type:"warning",id:"widget-language-machine-translation-alarm-alert",variant:"alarm",title:"Warning: We are using machine translation, so the translations may be inaccurate."}),Ot.createElement(DI,{size:"8"}),Ot.createElement(UI,{value:t},Ot.createElement($I,{type:Ot.createElement(FI,{title:hy.t("language"),className:"widget-language-list-item-btn",id:"_",onClick:()=>console.log()}),items:r}))))}i(yy,"LanguagePage");import{i18n as no}from"@lingui/core";import{Button as VI,Checkbox as KI,Image as jI,ListItemButton as XI,NotFound as YI,Typography as ZI}from"@rango-dev/ui";import Je,{useState as JI}from"react";import{Checkbox as qI,Skeleton as Cy}from"@rango-dev/ui";import Or from"react";import{styled as jc}from"@rango-dev/ui";var Fr=jc("ul",{padding:"$15 $5 0",margin:0,listStyle:"none",height:"100%",overflowY:"auto",variants:{disabled:{true:{pointerEvents:"none"}}}}),Xc=jc("div",{width:80,display:"flex",justifyContent:"flex-end"}),Yc=jc("div",{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%"});import{ListItem as HI,styled as QI}from"@rango-dev/ui";var Sy=QI(HI,{height:61});var GI=30;function Zc(){return Or.createElement(Fr,null,Array.from(Array(GI),(t,e)=>Or.createElement(Sy,{hasDivider:!0,key:e,start:Or.createElement(Cy,{variant:"circular",width:35,height:35}),title:Or.createElement(Cy,{variant:"text",size:"large",width:90}),end:Or.createElement(qI,{checked:!1})})))}i(Zc,"LoadingLiquiditySourceList");function Jc({sourceType:t}){let e=T().fetchStatus,o=T().swappers(),n=T().getDisabledLiquiditySources(),[r,a]=JI(""),s=T().toggleLiquiditySource,c=T().isInCampaignMode(),l=gi(o,n),p={Exchanges:no.t("Exchanges"),Bridges:no.t("Bridges")},u=[];t==="Exchanges"&&u.push("DEX"),t==="Bridges"&&u.push("BRIDGE","AGGREGATOR","OFF_CHAIN");let d=l.filter(S=>u.includes(S.type)),f=d.length===d.filter(S=>S.selected).length,h=i(()=>{d.forEach(S=>{f?s(S.groupTitle):S.selected||s(S.groupTitle)})},"toggleAllSources"),g=d.map(S=>{let{selected:C,groupTitle:k,logo:v,id:w,...I}=S;return{id:`widget-setting-liquidity-source-${hu(w.toLowerCase())}-item-btn`,start:Je.createElement(jI,{src:v,size:22,type:"circular"}),onClick:()=>{c||s(k)},end:Je.createElement(KI,{checked:C,disabled:c}),title:Je.createElement(ZI,{variant:"title",size:"xmedium"},no.t(k)),selected:C,groupTitle:k,logo:v,...I}}),m=i(S=>{let C=S.target.value;a(C)},"handleSearch"),y=g;return r&&(y=g.filter(S=>Pt(S.groupTitle,r))),Je.createElement(ie,{header:{title:no.t(t),suffix:Je.createElement(Xc,null,Je.createElement(VI,{id:`widget-liquidity-source-${f?"deselect-all":"select-all"}-btn`,variant:"ghost",size:"xsmall",onClick:h},f?no.t("Deselect all"):no.t("Select all")))}},Je.createElement(le,{view:!0},Je.createElement(At,{value:r,setValue:a,id:"widget-liquidity-source-search-input",fullWidth:!0,color:"light",variant:"contained",placeholder:no.t("Search {sourceType}",{sourceType:p[t]}),onChange:m}),e==="loading"&&Je.createElement(Zc,null),!y.length&&r?Je.createElement(Yc,null,Je.createElement(YI,{title:no.t("No results found"),description:no.t("Try using different keywords")})):e==="success"&&Je.createElement(Fr,{disabled:c,className:"widget-liquidity-source-list"},y.map(S=>{let{groupTitle:C,...k}=S;return Je.createElement(Je.Fragment,{key:S.id},Je.createElement(XI,{style:{height:"61px"},...k,selected:!1,className:"widget-liquidity-source-list-item-btn",hasDivider:!0}))}))))}i(Jc,"LiquiditySourcePage");import{i18n as RI}from"@lingui/core";import Ea from"react";import{useNavigate as eA}from"react-router-dom";function Ty(){let t=eA(),e=qe(),{selectedQuote:o,refetchQuote:n,setSelectedQuote:r,updateQuotePartialState:a,error:s}=z()(),{fetch:c,loading:l}=ba({refetchQuote:n}),p=i(f=>{r(f),a("refetchQuote",!1),e()},"onClickOnQuote"),u=`../${$.settings}`,d=`../${$.wallets}`;return Ea.createElement(ie,{header:{onWallet:()=>{t(d),a("refetchQuote",!0)},onBack:()=>{a("refetchQuote",!1)},title:RI.t("Routes"),suffix:Ea.createElement(zo,{onClickRefresh:o||s?c:void 0,hidden:["notifications","history"],onClickSettings:()=>{t(u),a("refetchQuote",!0)}})}},Ea.createElement(le,null,Ea.createElement(Dr,{fetch:c,loading:l,onClickOnQuote:p})))}i(Ty,"RoutesPage");import{i18n as Iy}from"@lingui/core";import{Divider as Ay,getCategoriesCount as pA,SelectableCategoryList as uA}from"@rango-dev/ui";import ro,{useMemo as dA,useState as Ny}from"react";import{useNavigate as mA}from"react-router-dom";import{i18n as Rc}from"@lingui/core";import{Divider as rA,Image as iA,ListItemButton as aA,NotFound as sA,Typography as Ey}from"@rango-dev/ui";import ft,{useEffect as lA,useState as cA}from"react";var ky=i((t,e,o)=>t.filter(n=>ri(n.type,o)).filter(n=>st(n.name,e)||st(n.displayName,e)),"filterBlockchains");import{ImageContainer as tA,styled as wy}from"@rango-dev/ui";var vy=wy("div",{display:"flex",flexDirection:"column",overflow:"hidden",height:"100%",justifyContent:"center"}),Ia=wy(El,{padding:0,margin:0,listStyle:"none",[`& ${tA}`]:{borderRadius:"$xm",overflow:"hidden"}});import{ListItem as oA,Skeleton as xy}from"@rango-dev/ui";import Aa from"react";var nA=20;function by(){return Aa.createElement(Ia,{id:"widget-blockchain-loading-list",as:"ul"},Array.from(Array(nA),t=>Aa.createElement(oA,{key:t,hasDivider:!0,start:Aa.createElement(xy,{variant:"circular",width:35,height:35}),title:Aa.createElement(xy,{variant:"text",size:"large",width:90})})))}i(by,"LoadingBlockchainList");function ep(t){let{list:e,searchedFor:o,onChange:n,blockchainCategory:r,showTitle:a=!0}=t,[s,c]=cA(e),{fetchStatus:l}=T();lA(()=>{c([...ky(e,o,r)])},[e,o,r]);let p=i(()=>!s.length&&o?ft.createElement(sA,{title:Rc.t("No results found"),description:Rc.t("Try using different keywords")}):ft.createElement(Ia,{as:"ul",key:`${r}-${o}`,id:"widget-blockchain-list"},s.map(u=>ft.createElement(aA,{key:`${u.name}-${u.chainId}`,className:"widget-blockchain-list-item-btn",hasDivider:!0,onClick:()=>n(u),start:ft.createElement(iA,{src:u.logo,size:30}),title:ft.createElement(Ey,{variant:"title",size:"medium"},u.displayName),id:u.name}))),"renderList");return ft.createElement(ft.Fragment,null,a&&ft.createElement(ft.Fragment,null,ft.createElement(Ey,{variant:"label",size:"large"},Rc.t("Select Chain")),ft.createElement(rA,{size:4})),ft.createElement(vy,null,l==="loading"&&ft.createElement(by,null),l==="success"&&p()))}i(ep,"BlockchainList");function Na(t){let{type:e}=t,o=qe(),[n,r]=Ny(""),[a,s]=Ny("ALL"),c=z().use.setToBlockchain(),l=z().use.setFromBlockchain(),p=z().use.setToToken(),{fetchStatus:u,findNativeToken:d}=T(),f=mA(),{swapMode:h}=tt(),g=T().blockchains({type:e}),m=T().tokens(),y=dA(()=>du(g,m),[g.length,m.length]),S=pA(y),C=!t.hideCategory&&S!==1,k=i(v=>{if(e==="custom-token")f(`..?blockchain=${v.name}`,{replace:!0});else{if(e==="source")l(v);else if(h==="swap")c(v);else{let w=d(v);w&&p({token:w,meta:{blockchains:g}})}o()}},"handleBlockchainChange");return ro.createElement(ie,{header:{title:Iy.t("Select Chain")}},ro.createElement(le,{view:!0},C&&ro.createElement(ro.Fragment,null,ro.createElement(uA,{setCategory:s,category:a,blockchains:y,isLoading:u==="loading"}),ro.createElement(Ay,{size:24})),ro.createElement(At,{value:n,autoFocus:!0,placeholder:Iy.t("Search Chain"),id:"widget-select-blockchain-search-input",color:"light",variant:"contained",size:"large",setValue:()=>r(""),onChange:v=>r(v.target.value)}),ro.createElement(Ay,{size:16}),ro.createElement(ep,{list:y,showTitle:e!=="custom-token",searchedFor:n,blockchainCategory:a,onChange:k})))}i(Na,"SelectBlockchainPage");import{i18n as Ma}from"@lingui/core";import{Divider as Dy,Spinner as AA}from"@rango-dev/ui";import vo,{useEffect as NA,useState as BA}from"react";import{useNavigate as WA}from"react-router-dom";import{i18n as np}from"@lingui/core";import{BlockchainsChip as Ba,Divider as Ly,Image as Py,Skeleton as CA,Tooltip as TA,Typography as rp}from"@rango-dev/ui";import xe from"react";import{useEffect as hA}from"react";var By=["ETH","COSMOS","OSMOSIS"];function tp(t,e,o){let n=JSON.parse(JSON.stringify(t)),r=[];if(n.sort(fA),o?.limit&&t.length>o.limit){let a=o.limit,s=e;if(e.length<=o.limit){let c=o.limit-e.length;for(let l=0;l<=c;l++){let p=n[l];s=s.filter(u=>p?.name!==u)}}n.sort(gA(s)),r=n.splice(a)}return{list:n,more:r}}i(tp,"prepare");function fA(t,e){let o=By,n=o.findIndex(c=>c===t.name),r=o.findIndex(c=>c===e.name),a=n>-1,s=r>-1;return a&&s?n>r?1:-1:a?-1:s?1:0}i(fA,"sortByMostUsedBlockchains");function gA(t){return i(function(o,n){let r=t.findIndex(l=>l===o.name),a=t.findIndex(l=>l===n.name),s=r>-1,c=a>-1;return s&&c?r>a?1:-1:t.includes(o.name)?-1:t.includes(n.name)?1:0},"sortByPreferred")}i(gA,"generateSortByPreferredBlockchainsFor");function Wy(t,e){return!!e.list.find(o=>o.name===t)}i(Wy,"isInVisibleList");function op(t,e){let{preferredBlockchains:o,addPreferredBlockchain:n}=T();hA(()=>{if(e?.selected){let a=tp(t,o,e);Wy(e.selected,a)||n(e?.selected)}},[e?.selected]);let r=tp(t,o,e);return{list:r.list,more:r.more,history:[]}}i(op,"usePrepareBlockchainList");import{styled as yA}from"@rango-dev/ui";var My=yA("div",{display:"grid",gap:"$10",gridTemplateColumns:"repeat(6, minmax(0, 1fr))"});var kA=6,wA=12;function ip(t){let{blockchains:e,type:o,blockchain:n,onChange:r,onMoreClick:a}=t,{showCompactTokenSelector:s}=oe(),c=op(e,{limit:s?4:10,selected:n?.name}),{fetchStatus:l}=T(),p=z().use.resetToBlockchain(),u=z().use.resetFromBlockchain(),d=c.more.length>0,f=c.more[0],h=c.more.length===1&&f,g=!h&&d;return xe.createElement(xe.Fragment,null,!s&&xe.createElement(xe.Fragment,null,xe.createElement(Ly,{size:12}),xe.createElement(rp,{variant:"label",size:"large"},np.t("Select Chain"))),xe.createElement(Ly,{size:12}),xe.createElement(My,{id:"widget-blockchains-section-container"},l==="loading"&&Array.from(Array(s?kA:wA),(m,y)=>xe.createElement(CA,{key:y,variant:"rounded",height:50})),l==="success"&&xe.createElement(xe.Fragment,null,xe.createElement(Ba,{className:"widget-blockchains-section-all-btn",selected:!n,onClick:()=>{o==="from"?u():p()}},xe.createElement(rp,{variant:"body",size:"xsmall",color:"secondary500"},np.t("All"))),c.list.map(m=>xe.createElement(TA,{key:m.name,content:m.shortName,side:"bottom",sideOffset:2,container:B()},xe.createElement(Ba,{className:"widget-blockchains-section-item-btn",key:m.name,selected:!!n&&n.name===m.name,onClick:()=>r(m)},xe.createElement(Py,{src:m.logo,size:30})))),h?xe.createElement(Ba,{className:"widget-blockchains-section-only-item-btn",key:f.name,selected:!!n&&n.name===f.name,onClick:()=>r(f)},xe.createElement(Py,{src:f.logo,size:30})):null,g?xe.createElement(Ba,{onClick:a,key:"more-blockchains",className:"widget-blockchains-section-more-items-btn"},xe.createElement(rp,{variant:"body",size:"xsmall",color:"secondary500"},np._("More +{count}",{count:c.more.length}))):null)))}i(ip,"BlockchainsSection");import{useCallback as xA,useRef as bA,useState as ap}from"react";function sp(){let t=T().blockchains(),e=bA(null),{customTokens:o}=T(),[n,r]=ap(!1),[a,s]=ap([]),[c,l]=ap(null),p=i(async(f,h)=>{l(null),r(!0),s([]);try{let g=await ct().searchCustomTokens({query:f,blockchain:h},{signal:e.current?.signal}),m=new Set(o().map(C=>Vt(C))),y=new Set(t.map(C=>C.name)),S=g.tokens.filter(C=>y.has(C.blockchain)&&!m.has(Vt(C)));s(S),r(!1)}catch(g){l(g instanceof Error?g.message:"something went wrong"),s([]),g?.name!=="CanceledError"&&r(!1)}},"fetch"),u=xA(ni((f,h)=>{e.current?.signal.aborted||p(f,h)},600),[t.length]);return{fetch:(f,h)=>{e.current=new AbortController,s([]),r(!0),u(f,h)},cancel:i(()=>{e.current?.abort()},"cancel"),loading:n,tokens:a,error:c}}i(sp,"useSearchCustomTokens");function Wa(t,e,o){return o&&t.length===1&&t[0]?.address===e?!1:t.length<20&&e.trim().length>=3}i(Wa,"shouldSearchForCustomTokens");function _y(t,e,o,n,r){let a=[...t];return Wa(t,o,r)&&(a=n?[...a,"skeleton","skeleton","skeleton"]:[...a,...e.map(s=>({...s,customToken:!0,warning:!0}))]),a}i(_y,"prepareTokensList");function La(t){let{type:e}=t,o=WA(),n=qe(),{fromBlockchain:r,toBlockchain:a,setFromToken:s,setToToken:c,setFromBlockchain:l,setToBlockchain:p}=z()(),{getBalanceFor:u}=T(),{fetch:d,loading:f,tokens:h,cancel:g}=sp(),[m,y]=BA(""),S=e==="source"?r:a,C=S?.name??"",k=T().blockchains({type:e}),v=T().tokens({type:e,blockchain:C,searchFor:m,getBalanceFor:u}),w=_y(v,h,m,f,S?.name),I=i(E=>{e==="source"?l(E):p(E)},"updateBlockchain"),A=i(E=>{e==="source"?s({token:E,meta:{blockchains:k}}):c({token:E,meta:{blockchains:k}})},"updateToken"),b={source:Ma.t("Source"),destination:Ma.t("Destination")};return NA(()=>(Wa(v,m,S?.name)&&d(m,S?.name??void 0),()=>{g()}),[v.length,m,S?.name]),vo.createElement(ie,{header:{title:Ma.t("Swap {type}",{type:b[e]})}},vo.createElement(le,null,vo.createElement(ip,{blockchains:k,type:e=="source"?"from":"to",blockchain:e==="source"?r:a,onMoreClick:()=>o($.blockchains),onChange:E=>{I(E)}}),vo.createElement(Dy,{size:24}),vo.createElement(At,{value:m,id:"widget-select-swap-item-search-input",autoFocus:!0,placeholder:Ma.t("Search Token"),color:"light",variant:"contained",size:"large",setValue:()=>y(""),onChange:E=>y(E.target.value),suffix:Wa(v,m,S?.name)&&f?vo.createElement(AA,{size:12,color:"secondary"}):void 0}),vo.createElement(Dy,{size:16}),vo.createElement(Ar,{list:w,selectedBlockchain:C,searchedFor:m,type:e,onChange:E=>{A(E);let x=k.find(N=>E.blockchain===N.name);x&&I(x),n()}})))}i(La,"SelectSwapItemsPage");import{i18n as up}from"@lingui/core";import{Alert as rN,Button as iN,styled as aN}from"@rango-dev/ui";import Xo from"react";import{useInRouterContext as sN,useSearchParams as lN}from"react-router-dom";import{i18n as Hy}from"@lingui/core";import{Alert as _A,Divider as cp,InfoIcon as DA,SlippageIcon as $A,TextField as FA,Tooltip as OA,Typography as Qy}from"@rango-dev/ui";import Ue from"react";import{Chip as MA,styled as Ur,TextField as LA}from"@rango-dev/ui";var $y=Ur("div",{paddingTop:"$5",padding:"$10 $5"}),Fy=Ur("div",{display:"flex",flexWrap:"wrap",gap:"$10",[`& ${LA}`]:{flex:"1 1 0",maxWidth:"127px",minWidth:"85px",paddingLeft:"$2"}}),Oy=Ur("div",{display:"flex",justifyContent:"start",alignItems:"center",paddingBottom:"$10"}),Pa=Ur("div",{maxWidth:"280px",padding:"$10"}),Uy=Ur(MA,{width:"61px",flexShrink:0});import{i18n as lp}from"@lingui/core";import{Typography as PA}from"@rango-dev/ui";import zr from"react";function zy(){return zr.createElement(Pa,null,zr.createElement(PA,{variant:"label",size:"medium",color:"neutral700"},lp.t("Your transaction will be reverted if the price changes unfavorably by more than this percentage."),zr.createElement("br",null),zr.createElement("br",null),zr.createElement("b",null,lp.t("Warning")),":\xA0",lp.t("This setting is applied to each step (e.g. 1Inch, Thorchain, etc.), meaning only that specific step will be reverted, not the entire route.")))}i(zy,"SlippageTooltipContent");function pp(){let{slippage:t,setSlippage:e,customSlippage:o,setCustomSlippage:n}=T(),r=o!==null?cn(o):null,a=i(l=>{let p=l.target.value,u=parseFloat(p);if(isNaN(u))return n(null);let d=u;u>Xn&&(d=Xn),n(d)},"onSlippageValueChange"),s=i(l=>{o!==null&&n(null),e(l)},"onClickSlippageChip"),c=i(l=>{let p=l.target,u=p.value;Su(u)||(p.value=u.slice(0,-1))},"onInput");return Ue.createElement($y,null,Ue.createElement(Oy,null,Ue.createElement($A,{size:16,color:"gray"}),Ue.createElement(cp,{direction:"horizontal",size:4}),Ue.createElement(Qy,{variant:"title",size:"xmedium"},Hy.t("Slippage tolerance per swap")),Ue.createElement(cp,{direction:"horizontal",size:4}),Ue.createElement(OA,{container:B(),side:"top",sideOffset:4,content:Ue.createElement(zy,null)},Ue.createElement(DA,{color:"gray"}))),Ue.createElement(Fy,null,di.map((l,p)=>{let u=`slippage-${p}`;return Ue.createElement(Uy,{id:`widget-slippage-chip-${l.toString()}%-btn`,key:u,onClick:()=>s(l),selected:o===null&&l===t,label:`${l.toString()}%`})}),Ue.createElement(FA,{type:"number",min:"0.01",max:"30",step:"0.01",status:r?.type||(o?"success":"default"),id:"widget-slippage-chip-text-input",onInput:c,fullWidth:!0,variant:"contained",value:o===null?"":o,color:"dark",onChange:a,suffix:o&&Ue.createElement(Qy,{variant:"body",size:"small"},"%"),placeholder:Hy.t("Custom")})),r&&Ue.createElement(Ue.Fragment,null,Ue.createElement(cp,{size:10}),Ue.createElement(_A,{id:"widget-slippage-alert",variant:"alarm",type:r.type,title:r.message})))}i(pp,"Slippage");import{i18n as kt}from"@lingui/core";import{AutoThemeIcon as qy,BridgesIcon as UA,ChevronRightIcon as _a,DarkModeIcon as Gy,Divider as Hr,ExchangeIcon as zA,InfinityIcon as HA,InfoIcon as QA,LanguageIcon as qA,LightModeIcon as Vy,List as GA,ListItem as VA,ListItemButton as KA,Skeleton as jA,styled as XA,Switch as YA,Tabs as ZA,TargetIcon as JA,Tooltip as RA,Typography as it}from"@rango-dev/ui";import _ from"react";import{useNavigate as eN}from"react-router-dom";var tN=XA("div",{width:"202px",height:"$40"}),oN=[{id:"light",icon:_.createElement(Vy,{color:"black",size:24}),tooltip:_.createElement(it,{size:"xsmall",variant:"body"},kt.t("Light"))},{id:"dark",icon:_.createElement(Gy,{color:"black",size:24}),tooltip:_.createElement(it,{size:"xsmall",variant:"body"},kt.t("Dark"))},{id:"auto",icon:_.createElement(qy,{color:"black",size:24}),tooltip:_.createElement(it,{size:"xsmall",variant:"body"},kt.t("Auto"))}],nN=i(t=>{let e={color:"gray",size:16};switch(t){case"auto":return _.createElement(qy,{...e});case"dark":return _.createElement(Gy,{...e});default:return _.createElement(Vy,{...e})}},"getThemeIcon");function Ky(){let t=eN(),{theme:e}=T().config,{setTheme:o,theme:n}=T(),{activeLanguage:r,languages:a}=wo(),s=a.find(W=>W.local===r)?.label,c=T().fetchStatus,l=T().swappers(),p=T().getDisabledLiquiditySources(),{config:{features:u}}=T(),d=T().customTokens(),f=et("theme",u),h=et("liquiditySource",u),g=et("language",u),m=et("customTokens",u),y=T().infiniteApprove,S=T().toggleInfiniteApprove,C=gi(l,p),k=C.filter(W=>["BRIDGE","AGGREGATOR","OFF_CHAIN"].includes(W.type)),v=k.length,w=k.filter(W=>W.selected).length,I=C.filter(W=>W.type==="DEX"),A=I.length,b=I.filter(W=>W.selected).length,E=i((W,Z)=>{switch(c){case"loading":return _.createElement(jA,{variant:"text",size:"medium",width:50});case"failed":return _.createElement(it,{variant:"body",size:"medium",color:"$error500"},kt.t("Loading failed"));default:return _.createElement(it,{variant:"body",size:"medium"},`${W} / ${Z}`)}},"handleSwapperEndItem"),x={id:"widget-setting-bridge-item-btn",title:_.createElement(it,{variant:"title",size:"xmedium"},kt.t("Bridges")),end:_.createElement(_.Fragment,null,E(w,v),_.createElement(Hr,{direction:"horizontal",size:8}),_.createElement(_a,{color:"black"})),onClick:()=>t($.bridges),start:_.createElement(UA,{color:"gray",size:16})},N={id:"widget-setting-exchange-item-btn",title:_.createElement(it,{variant:"title",size:"xmedium"},kt.t("Exchanges")),end:_.createElement(_.Fragment,null,E(b,A),_.createElement(Hr,{direction:"horizontal",size:8}),_.createElement(_a,{color:"black"})),start:_.createElement(zA,{color:"gray",size:16}),onClick:()=>t($.exchanges)},M={id:"widget-setting-custom-tokens-item-btn",title:_.createElement(it,{variant:"title",size:"xmedium"},kt.t("Custom Tokens")),end:_.createElement(_.Fragment,null,_.createElement(it,{variant:"body",size:"medium"},`${d.length}`),_.createElement(Hr,{direction:"horizontal",size:8}),_.createElement(_a,{color:"black"})),start:_.createElement(JA,{color:"gray",size:16}),onClick:()=>t($.customTokens)},F={id:"widget-setting-language-item-btn",title:_.createElement(it,{variant:"title",size:"xmedium"},kt.t("Language")),start:_.createElement(qA,{color:"gray",size:16}),end:_.createElement(_.Fragment,null,_.createElement(it,{variant:"body",size:"medium"},s),_.createElement(Hr,{direction:"horizontal",size:8}),_.createElement(_a,{color:"black"})),onClick:()=>t($.languages)},H={id:"widget-setting-infinite-approval-item-btn",title:_.createElement(_.Fragment,null,_.createElement(it,{variant:"title",size:"xmedium"},kt.t("Infinite approval")),_.createElement(Hr,{direction:"horizontal",size:4}),_.createElement(RA,{side:"top",sideOffset:4,container:B(),content:_.createElement(Pa,null,_.createElement(it,{variant:"label",size:"medium",color:"neutral700"},_.createElement("b",null,kt.t("Warning")),":\xA0",kt.t("Enabling the 'Infinite approval' mode grants unrestricted access to underlying smart contracts, allowing them to utilize the approved token amount without limitations.")))},_.createElement(QA,{color:"gray"}))),start:_.createElement(HA,{color:"gray",size:16}),end:_.createElement(YA,{checked:y}),onClick:S},X={id:"widget-setting-theme-item-btn",type:_.createElement(VA,null),title:_.createElement(it,{variant:"title",size:"xmedium"},kt.t("Theme")),end:_.createElement(tN,null,_.createElement(ZA,{container:B(),items:oN,value:n,className:"widget-setting-theme-item-tabs-container",onChange:W=>o(W.id),type:"primary",borderRadius:"small"})),start:nN(n)},J=h?[]:[x,N];return m||J.push(M),g||J.push(F),J.push(H),!e?.singleTheme&&!f&&J.push(X),_.createElement(GA,{type:_.createElement(KA,{className:"widget-settings-list-item-btn",hasDivider:!0,id:"_",onClick:()=>console.log()}),items:J})}i(Ky,"SettingsLists");var cN=aN("div",{paddingLeft:"$8"});function jy(){let{isInCampaignMode:t,updateCampaignMode:e}=T(),o=t(),[,n]=lN(),r=sN(),a=i(()=>{r&&o&&(n(s=>(s.delete("liquiditySources"),s),{replace:!0}),e("liquiditySources",void 0))},"onClick");return Xo.createElement(ie,{header:{title:up.t("Settings")}},Xo.createElement(le,null,o&&Xo.createElement(rN,{type:"info",variant:"alarm",id:"widget-settings-campaign-mode-alert",title:up.t("Currently, you're in campaign mode with restrictions on liquidity sources. Would you like to switch out of this mode and make use of all available liquidity sources?"),action:Xo.createElement(cN,null,Xo.createElement(iN,{id:"widget-setting-exit-campaign-mode-btn",type:"secondary",size:"small",onClick:a},up.t("Reset")))}),Xo.createElement(pp,null),Xo.createElement(Ky,null)))}i(jy,"SettingsPage");import{i18n as C0}from"@lingui/core";import{cancelSwap as T0}from"@rango-dev/queue-manager-rango-preset";import{useManager as k0}from"@rango-dev/queue-manager-react";import{Alert as w0}from"@rango-dev/ui";import Ap from"react";import{useParams as v0}from"react-router-dom";import{i18n as zt}from"@lingui/core";import{getCurrentNamespaceOfOrNull as i0,getCurrentStep as a0,getRelatedWalletOrNull as s0}from"@rango-dev/queue-manager-rango-preset";import{Button as HS,Divider as l0,QuoteCost as c0,StepDetails as p0,Typography as wp}from"@rango-dev/ui";import{useWallets as u0}from"@rango-dev/wallets-react";import QS from"bignumber.js";import{PendingSwapNetworkStatus as $n}from"rango-types";import ke,{useEffect as vp,useRef as xp,useState as qa}from"react";import{useNavigate as d0}from"react-router-dom";import{i18n as xo}from"@lingui/core";var pN=[xo.t("Sunday"),xo.t("Monday"),xo.t("Tuesday"),xo.t("Wednesday"),xo.t("Thursday"),xo.t("Friday"),xo.t("Saturday")];function Xy(t){let e=new Date(t),o=e.getDate(),n=e.toLocaleString("default",{month:"long"}),r=e.getFullYear();return`${e.getDay()===new Date().getDay()?xo.t("Today"):`${pN[e.getDay()]} ${o} ${n} ${r}`}, ${new Date(t).toLocaleTimeString()}`}i(Xy,"timeSince");function Yy(t){return t.finishTime?Xy(parseInt(t.finishTime)):Xy(parseInt(t.creationTime))}i(Yy,"getSwapDate");import Qr from"react";import{i18n as Da}from"@lingui/core";import{Button as Zy,Divider as dp,MessageBox as uN}from"@rango-dev/ui";import bo from"react";var Jy=i(({onCancel:t,onClose:e})=>bo.createElement(bo.Fragment,null,bo.createElement(dp,{size:20}),bo.createElement(uN,{type:"error",title:Da.t("Cancel Swap"),description:Da.t("Are you sure you want to cancel this swap?")}),bo.createElement(dp,{size:32}),bo.createElement(Zy,{variant:"contained",id:"widget-swap-details-modal-cancel-swap-yes-btn",type:"primary",size:"large",onClick:t},Da.t("Yes, Cancel it")),bo.createElement(dp,{size:12}),bo.createElement(Zy,{id:"widget-swap-details-modal-cancel-swap-no-btn",variant:"outlined",type:"primary",size:"large",onClick:e},Da.t("No, Continue"))),"CancelContent");import{i18n as $a}from"@lingui/core";import{Button as Ry,Divider as mp,MessageBox as dN,Typography as mN}from"@rango-dev/ui";import io from"react";var eS=i(({onDelete:t,onClose:e})=>io.createElement(io.Fragment,null,io.createElement(mp,{size:20}),io.createElement(dN,{type:"error",title:$a.t("Delete Transaction"),description:$a.t("Are you sure you want to delete this swap?")}),io.createElement(mp,{size:32}),io.createElement(Ry,{id:"widget-swap-details-modal-delete-swap-yes-btn",variant:"contained",type:"primary",size:"large",onClick:t},$a.t("Yes, Delete it")),io.createElement(mp,{size:12}),io.createElement(Ry,{id:"widget-swap-details-modal-delete-swap-no-btn",variant:"outlined",type:"primary",size:"large",onClick:e},io.createElement(mN,{variant:"title",size:"medium",color:"primary"},$a.t("No, Cancel")))),"DeleteContent");import{i18n as fN}from"@lingui/core";import{Button as gN,Divider as hN,MessageBox as yN}from"@rango-dev/ui";import Yo from"react";var tS=i(t=>{let{switchNetworkModalState:e,handleSwitchNetwork:o}=t;return Yo.createElement(Yo.Fragment,null,Yo.createElement(yN,{type:e.type,title:e.title,description:e.description}),e.type==="error"&&Yo.createElement(Yo.Fragment,null,Yo.createElement(hN,{size:"30"}),Yo.createElement(gN,{id:"widget-switch-network-try-again",type:"primary",size:"large",onClick:o},fN.t("Try Again"))))},"NetworkStateContent");import{getCurrentNamespaceOfOrNull as _N,getCurrentStep as DN,getRelatedWalletOrNull as $N}from"@rango-dev/queue-manager-rango-preset";import{WalletState as FN}from"@rango-dev/ui";import{useWallets as ON}from"@rango-dev/wallets-react";import lS from"react";import{i18n as _n}from"@lingui/core";import{Alert as rS,Button as TN,Checkbox as kN,Divider as Ua,Image as wN,MessageBox as vN,Spinner as xN,WarningIcon as bN}from"@rango-dev/ui";import{useWallets as EN}from"@rango-dev/wallets-react";import Se,{useState as IN}from"react";import{css as SN,darkTheme as CN,styled as fp}from"@rango-dev/ui";var oS=SN({wordWrap:"break-word",display:"block"}),nS=fp("img",{width:"100%"}),Fa=fp("div",{position:"relative"}),Oa=fp("span",{position:"absolute",top:0,right:0,borderRadius:"50%",width:"14px",height:"14px",display:"flex",padding:"$2",backgroundColor:"$warning300",[`.${CN} &`]:{$$color:"$warning600"}});var iS=i(t=>{let{wallet:e,namespace:o,onClose:n}=t,[r,a]=IN(null),{list:s}=vt(),c=oe.use.isActiveTab(),{state:l,connect:p}=EN(),u=s.find(w=>w.type===e.walletType),d=u?.needsNamespace?.data.find(w=>w.value===o?.namespace);if(!u)return null;let f=l(e.walletType),h=u.isHub&&o?.namespace?f.namespaces?.get(o.namespace):null,g=f.connecting||h?.connecting,m=u.isHub?h?.connected:f.connected,y=i(()=>m?_n.t("Done"):r?_n.t("Try again"):_n.t("Connect"),"getButtonTitle"),S=i(()=>g?Se.createElement(xN,{color:"info"}):r||m?null:Se.createElement(kN,{checked:!0,disabled:!0}),"getNamespaceSuffix"),C=i(async()=>{try{a(null),await p(u.type,o?.namespace?[{namespace:o?.namespace,network:void 0,derivationPath:e.derivationPath}]:void 0)}catch(w){a(w)}},"handleConnect"),k=i(async()=>{if(m){n();return}C()},"handleClickButton"),v=i(()=>{if(!m)return null;let w=u?.isHub?h?.accounts?.[0]?.split(":"):f?.accounts?.[0]?.split(":"),I=w?.[w?.length-1];return I?lo(I):null},"getAddress");return Se.createElement(Se.Fragment,null,Se.createElement(vN,{type:"warning",title:_n.t("Connect {wallet}",{wallet:u.title}),description:_n.t("The connection of your wallet or some networks has been disconnected. Connect to continue the swap"),icon:Se.createElement(Fa,null,Se.createElement(wN,{src:u.image,size:45}),Se.createElement(Oa,null,Se.createElement(bN,{color:"warning",size:10})))}),m&&!d&&Se.createElement(Se.Fragment,null,Se.createElement(Ua,{size:10}),Se.createElement(rS,{type:"success",variant:"alarm",title:_n.t("Wallet connected successfully.")})),r&&!d&&Se.createElement(Se.Fragment,null,Se.createElement(Ua,{size:10}),Se.createElement(rS,{type:"error",title:r?.message,variant:"alarm"})),d&&Se.createElement(Se.Fragment,null,Se.createElement(Ua,{size:30}),Se.createElement(_o,{namespace:d,suffix:S(),error:r?.message,connected:m,address:v()})),Se.createElement(Ua,{size:"40"}),Se.createElement(TN,{loading:g,type:"primary",id:"widget-connect-wallet-btn",onClick:k,disabled:!c},y()))},"ConnectWalletContent");import{i18n as aS}from"@lingui/core";import{Button as AN,Divider as NN,Image as BN,MessageBox as WN,WarningIcon as MN}from"@rango-dev/ui";import{useWallets as LN}from"@rango-dev/wallets-react";import{detectInstallLink as PN}from"@rango-dev/wallets-shared";import ao from"react";var sS=i(t=>{let{walletType:e}=t,{getWalletInfo:o}=LN(),n=e?o(e):null;if(!n)return null;let r=i(()=>window.open(PN(n.installLink),"_blank"),"handleButtonClick");return ao.createElement(ao.Fragment,null,ao.createElement(WN,{type:"warning",title:aS.t("Install {wallet}",{wallet:n.name}),description:"Your wallet is not installed. Please install it to continue the swap. ",icon:ao.createElement(Fa,null,ao.createElement(BN,{src:n.img,size:45}),ao.createElement(Oa,null,ao.createElement(MN,{color:"warning",size:10})))}),ao.createElement(NN,{size:"40"}),ao.createElement(AN,{type:"primary",id:"widget-install-wallet-btn",onClick:r},aS.t("Install")))},"InstallWalletContent");var cS=i(t=>{let{swap:e,onClose:o}=t,{state:n,getWalletInfo:r}=ON(),a=DN(e),s=a?$N(e,a):null,c=s?.walletType,l=c?Vn(r(c),n(c)):null,p=a?_N(e,a):null;return c?l===FN.NOT_INSTALLED?lS.createElement(sS,{walletType:c}):lS.createElement(iS,{wallet:s,namespace:p,onClose:o}):null},"WalletStateContent");function gp(t){let{isOpen:e,state:o,switchNetworkModalState:n,onClose:r,onDelete:a,onCancel:s,swap:c,message:l,handleSwitchNetwork:p}=t;return Qr.createElement(ee,{open:e,onClose:r,container:B()},o==="connectWallet"&&Qr.createElement(cS,{swap:c,message:l,onClose:r}),o==="switchNetwork"&&n&&Qr.createElement(tS,{message:l,switchNetworkModalState:n,handleSwitchNetwork:p}),o==="delete"&&Qr.createElement(eS,{onClose:r,onDelete:()=>{r(),a()}}),o==="cancel"&&Qr.createElement(Jy,{onClose:r,onCancel:()=>{r(),s()}}))}i(gp,"SwapDetailsModal");import{i18n as qr}from"@lingui/core";import{Button as hp,Divider as Gr,MessageBox as dS,TokenAmount as UN,Typography as mS}from"@rango-dev/ui";import Te from"react";import{Link as zN,useNavigate as HN}from"react-router-dom";var pS="https://raw.githubusercontent.com/rango-exchange/assets/main/banners/widget/profile.jpg",uS="/profile";function yp(t){let{open:e,onClose:o,status:n,priceValue:r,usdValue:a,realUsdValue:s,realValue:c,token:l,chain:p,percentageChange:u,description:d,diagnosisUrl:f}=t,h=HN(),{showProfileBanner:g}=oe();return Te.createElement(ee,{open:e,onClose:o,id:"widget-swap-details-complete-modal",container:document.getElementById(Re.SWAP_BOX_ID)||document.body},n==="success"?Te.createElement(dS,{type:"success",title:qr.t("Swap Successful")},Te.createElement(UN,{direction:"vertical",tooltipContainer:B(),id:"widget-swap-details-complete-modal-success-token-amount-container",type:"output",centerAlign:!0,price:{value:r,usdValue:a,realUsdValue:s,realValue:c},token:l,chain:p,percentageChange:u}),Te.createElement(Gr,{size:12}),Te.createElement(mS,{className:oS(),variant:"body",size:"medium",color:"neutral700",align:"center"},d)):Te.createElement(dS,{type:"error",title:qr.t("Transaction Failed"),description:d}),Te.createElement(Gr,{size:30}),n==="success"&&Te.createElement(Te.Fragment,null,g&&Te.createElement(Te.Fragment,null,Te.createElement(zN,{to:uS},Te.createElement(nS,{src:pS,alt:"Profile Banner"})),Te.createElement(Gr,{size:30})),Te.createElement(hp,{id:"widget-swap-details-modal-done-btn",variant:"contained",type:"primary",size:"large",onClick:()=>{h("../../")}},qr.t("Done"))),Te.createElement(Gr,{size:12}),f&&Te.createElement(Te.Fragment,null,Te.createElement(hp,{variant:"contained",id:"widget-swap-detail-modal-diagnosis-btn",type:"primary",size:"large",onClick:()=>window.open(f,"_blank")},qr.t("Diagnosis")),Te.createElement(Gr,{size:12})),Te.createElement(hp,{id:"widget-swap-details-modal-see-details-btn",variant:"outlined",type:"primary",size:"large",onClick:o},Te.createElement(mS,{variant:"title",size:"medium",color:"primary"},qr.t("See Details"))))}i(yp,"SwapDetailsCompleteModal");import{i18n as Qa}from"@lingui/core";import{CopyIcon as e0,DoneIcon as t0,IconButton as o0,RangoExplorerIcon as n0,Tooltip as DS,Typography as $S,useCopyToClipboard as r0}from"@rango-dev/ui";import Bt from"react";import RN from"react";import{i18n as XN}from"@lingui/core";import{Alert as MS,IconButton as YN,LinkIcon as ZN}from"@rango-dev/ui";import Eo,{Fragment as JN}from"react";import{Alert as qN,ChevronDownIcon as GN,IconButton as VN}from"@rango-dev/ui";import Dn,{useState as KN}from"react";import{css as Vr,darkTheme as fS,styled as Ut,Typography as QN}from"@rango-dev/ui";var gS=Ut(le,{overflowY:"auto","& ._icon-button":{"&:hover":{"& svg":{color:"$secondary550",[`.${fS} &`]:{color:"$secondary500"}}}}}),hS=Ut("div",{display:"flex",flexDirection:"column",flexGrow:1,overflow:"hidden"}),yS=Ut("div",{position:"sticky",top:0,zIndex:10,backgroundColor:"$background"}),SS=Ut("div",{padding:"$0 $20 $20 $20"}),EY=Ut("div",{display:"flex",flexDirection:"column",gap:"$10"}),CS=Ut("div",{height:"450px",display:"flex",alignItems:"center",justifyContent:"center"}),IY=Ut("div",{display:"flex",justifyContent:"center",width:"100%",paddingTop:"33%",flex:1}),Zo=Vr({display:"flex",width:"100%",justifyContent:"space-between",alignItems:"center",padding:"$10 $20",borderBottom:"1px solid",$$color:"$colors$neutral300",[`.${fS} &`]:{$$color:"$colors$neutral400"},borderColor:"$$color",color:"$neutral500"}),TS=Vr({padding:"$5 0"}),za=Vr({display:"flex",justifyContent:"center",alignItems:"center",height:"$24"}),kS=Vr({display:"flex",width:"100%",padding:"$15 $20 $20",flexDirection:"column",alignItems:"start"}),wS=Vr({width:"100%",padding:"0 $20 $10"}),vS=Ut("a",{fontSize:"$16",fontWeight:"$400",color:"$neutral700",display:"flex",alignItems:"center",justifyContent:"center"}),xS=Ut("div",{display:"flex",flexDirection:"column",gap:"$5"}),Ha=Ut(QN,{wordBreak:"break-word"});import{styled as Sp}from"@rango-dev/ui";var bS=Sp("div",{display:"flex",flexDirection:"column",gap:"$10"}),ES=Sp("div",{transition:"transform 0.3s ease-in-out",variants:{rotated:{true:{transform:"rotate(180deg)"}}}}),IS=Sp("div",{transition:"max-height 0.3s ease-in-out",maxHeight:"0px",overflow:"hidden",variants:{open:{true:{maxHeight:"200px"}}}});function AS(t){let{message:e}=t,[o,n]=KN(!1);return Dn.createElement(qN,{id:"widget-failed-swap-details-alert",type:"error",title:e.shortMessage,containerStyles:{"& .footer":{paddingTop:"$0"}},action:e.detailedMessage.content&&Dn.createElement(VN,{id:"widget-swap-details-failed-btn",onClick:()=>n(r=>!r),variant:"ghost",size:"xsmall"},Dn.createElement(ES,{rotated:o},Dn.createElement(GN,{size:12,color:"gray"}))),footer:Dn.createElement(IS,{open:o},Dn.createElement(Ha,{variant:"body",size:"xsmall",color:"neutral700"},e.detailedMessage.content))})}i(AS,"FailedAlert");import{i18n as NS}from"@lingui/core";import{Alert as Cp,Button as BS}from"@rango-dev/ui";import{PendingSwapNetworkStatus as jN}from"rango-types";import Kr from"react";function WS(t){let{switchNetworkIsAvailable:e,handleSwitchNetworkClick:o,setNetworkModal:n,message:r,showNetworkModal:a}=t;return e?Kr.createElement(Cp,{type:"warning",id:"widget-swap-details-change-network-alert",title:r.shortMessage,action:Kr.createElement(BS,{id:"widget-swap-details-warning-alert-change-network-btn",size:"xxsmall",type:"warning",onClick:()=>{n("switchNetwork"),o()}},NS.t("Change"))}):a===jN.WaitingForConnectingWallet?Kr.createElement(Cp,{type:"warning",title:r.shortMessage,id:"widget-swap-details-warning-alert-connect-wallet-alert",action:Kr.createElement(BS,{id:"widget-swap-details-warning-alert-connect-wallet-btn",size:"xxsmall",type:"warning",onClick:()=>{n("connectWallet")}},NS.t("Connect"))}):Kr.createElement(Cp,{id:"widget-swap-details-short-alert",type:"warning",title:r.shortMessage})}i(WS,"WarningAlert");function Tp(t){let{switchNetworkIsAvailable:e,handleSwitchNetworkClick:o,showNetworkModal:n,setNetworkModal:r,message:a,step:s,hasAlreadyProceededToSign:c}=t,l=cr(s),p=s.status==="waitingForApproval"&&!l,u=s.status==="running"&&!l,d=u&&!c||p&&!s.explorerUrl?.length;return Eo.createElement(bS,null,s.explorerUrl?.map((f,h,g)=>{let m=h+f.url,y=h===g.length-1,S=(y&&u||p)&&!d,C=y&&s.status==="failed";return Eo.createElement(JN,{key:m},Eo.createElement(MS,{id:"widget-swap-details-tx-alert",type:y&&(S&&"loading"||C&&"error")||"success",title:f.description?`${f.description} Tx`:XN.t("View transaction"),action:f.url&&Eo.createElement(YN,{id:"widget-swap-details-tx-link-icon-btn",variant:"ghost",size:"xsmall",onClick:()=>window.open(f.url,"_blank")},Eo.createElement(ZN,{size:12}))}))}),d&&Eo.createElement(MS,{id:"widget-swap-details-loading-alert",type:"loading",title:a.shortMessage}),s.status!=="failed"&&l&&Eo.createElement(WS,{switchNetworkIsAvailable:e,handleSwitchNetworkClick:o,showNetworkModal:n,setNetworkModal:r,message:a}),s.status==="failed"&&Eo.createElement(AS,{message:a}))}i(Tp,"SwapDetailsAlerts");var LS=2e3;var PS=i(({swap:t,blockchains:e,swappers:o,...n})=>{let r=t.hasAlreadyProceededToSign!==!1;return t.steps.map((a,s)=>{let c=s===0?t.inputAmount:t.steps[s-1]?.outputAmount||t.steps[s-1]?.expectedOutputAmountHumanReadable;return{from:{token:{displayName:a.fromSymbol,image:a.fromLogo??""},chain:{displayName:ht(a.fromBlockchain,e)??"",image:a.fromBlockchainLogo??""},price:{value:P(c,6,6),realValue:c??""}},to:{token:{displayName:a.toSymbol,image:a.toLogo},chain:{displayName:ht(a.toBlockchain,e)??"",image:a.toBlockchainLogo??""},price:{value:P(a.outputAmount||a.expectedOutputAmountHumanReadable,6,6),realValue:a.outputAmount||a.expectedOutputAmountHumanReadable||""}},swapper:{displayName:Hn(a.swapperId,o)??"",image:a.swapperLogo??"",type:a.swapperType},internalSwaps:a.internalSwaps?a.internalSwaps.map(l=>({from:{chain:{displayName:ht(l.fromBlockchain,e)??"",image:l.fromBlockchainLogo??""}},to:{chain:{displayName:ht(l.toBlockchain,e)??"",image:l.toBlockchainLogo??""}},swapper:{displayName:Hn(l.swapperId,o)??"",image:l.swapperLogo??"",type:l.swapperType}})):[],alerts:RN.createElement(Tp,{step:a,hasAlreadyProceededToSign:r,...n})}})},"getSteps");function _S(t){if(cr(t)&&t.status!=="failed"&&t.status!=="success")return"warning";switch(t.status){case"created":return"default";case"approved":case"waitingForApproval":case"running":return"in-progress";case"failed":return"error";case"success":return"completed"}}i(_S,"getStepState");function FS(t){let{requestId:e}=t,[o,n]=r0(LS);return Bt.createElement(yS,{className:Zo()},Bt.createElement($S,{variant:"label",size:"large",color:"neutral700"},Qa.t("Request ID")),Bt.createElement("div",{className:za()},Bt.createElement($S,{variant:"label",size:"small",color:"neutral700"},e),Bt.createElement(DS,{container:B(),content:o?Qa.t("Copied To Clipboard"):Qa.t("Copy Request ID"),open:o||void 0,side:"bottom",alignOffset:-16,align:"end"},Bt.createElement(o0,{id:"widget-swap-details-done-copy-icon-btn",variant:"ghost",onClick:n.bind(null,e||"")},o?Bt.createElement(t0,{size:16,color:"secondary"}):Bt.createElement(e0,{size:16,color:"gray"}))),Bt.createElement(vS,{target:"_blank",href:`${eu}/swap/${e}`},Bt.createElement(DS,{container:B(),content:Qa.t("View on Rango Explorer"),side:"bottom"},Bt.createElement(n0,{size:20})))))}i(FS,"RequestIdRow");import{i18n as OS}from"@lingui/core";import{Typography as US}from"@rango-dev/ui";import kp from"react";function zS(t){let{date:e,isFinished:o}=t;return kp.createElement("div",{className:Zo()},kp.createElement(US,{variant:"label",size:"large",color:"neutral700"},o?OS.t("Finished at"):OS.t("Created at")),kp.createElement(US,{variant:"label",size:"small",color:"neutral700"},e))}i(zS,"SwapDateRow");var m0=3e3;function bp(t){let{swap:e,requestId:o,onDelete:n,onCancel:r}=t,{canSwitchNetworkTo:a,connect:s,getWalletInfo:c}=u0(),l=T().blockchains(),p=T().swappers(),{findToken:u}=T(),d=z().use.retry(),f=d0(),h=xp(null),[g,m]=qa(!1),[y,S]=qa(null),[C,k]=qa(null),[v,w]=qa(null),I=xp(y),A=xp(C),b=Be.use.getNotifications(),E=Be.use.removeNotification(),x=b(),N=a0(e),M=N?.networkStatus,F=i(Le=>{m(!0),S(Le)},"handleChangeModalState"),H=i(()=>{m(!1)},"handleCloseModal"),X=i(()=>{k({type:"loading",title:zt.t("Change Network"),description:`We\u2019re switching the connected network to ${Y?.network}. Please check your wallet.`})},"handleShowSwitchNetworkLoading"),J=i(()=>{k({type:"success",title:zt.t("Network Changed"),description:"The network has been successfully changed."})},"handleShowSwitchNetworkSucceeded"),W=i(Le=>{k({type:"error",title:zt.t("Network Switch Failed"),description:Le?.message||se.detailedMessage.content})},"handleShowSwitchNetworkFailed"),Z=Yd(e),Y=N?i0(e,N):null,ce=N?s0(e,N):null,fe=Yy(e),at=Zd(e),ue=i(Le=>!!c(Le)?.mobileWallet,"checkIsMobileWallet"),wt=!!M&&[$n.WaitingForNetworkChange,$n.NetworkChangeFailed].includes(M),gt=!!ce?.walletType&&ue(ce.walletType),Wt=!!ce&&!!Y&&a(ce.walletType,Y.network,Y),D=!!Y&&wt&&(gt||Wt),U=i(()=>{D&&(X(),s(ce.walletType,[{namespace:Y.namespace,network:Y.network}]).then(()=>{J()}).catch(Le=>{W(Le)}))},"handleSwitchNetwork"),G=i(()=>{F("switchNetwork"),U()},"handleSwitchNetworkClick"),se=Xd(e,N,c),Q=PS({swap:e,switchNetworkIsAvailable:D,handleSwitchNetworkClick:G,showNetworkModal:M,setNetworkModal:F,message:se,blockchains:l,swappers:p}),j=Q.length,[K,Ie]=[e.steps[0],e.steps[j-1]],Ae=Ie?.outputAmount||Ie?.expectedOutputAmountHumanReadable,Ke=e.steps.reduce((Le,Lt)=>Le+parseFloat(Lt.feeInUsd||""),0),Mt=e.steps.find(Le=>Le.diagnosisUrl)?.diagnosisUrl,so=P(parseFloat(Ae||"0")*(Ie?.toUsdPrice||0),4,4),Io=P(parseFloat(e.inputAmount)*(K?.fromUsdPrice||0),4,4),Un=Ae?new QS(Ae).multipliedBy(Ie.toUsdPrice||0).toString():"",Yr=new QS(e.inputAmount).multipliedBy(K?.fromUsdPrice||0).toString(),ts=jt(Io,so),os=se.detailedMessage.content||se.shortMessage,wC=e.status==="success"?zt.t({id:"You have received {amount} {token} in {conciseAddress} wallet on {chain} chain.",values:{amount:P(Ae,6,6),token:Q[j-1]?.to.token.displayName,conciseAddress:lo(e.wallets[Q[j-1]?.to.chain.displayName||""]?.address||""),chain:Q[j-1]?.to.chain.displayName}}):ke.createElement(xS,null,ke.createElement(wp,{variant:"body",size:"medium",color:"neutral700",align:"center"},os?"":zt.t("Transaction was not sent."),Z?`${zt.t({id:"{amount} {symbol} on {blockchain} remains in your wallet.",values:{amount:Z.outputAmount,symbol:Z.symbol,blockchain:Z.blockchain}})}`:""),os&&ke.createElement(Ha,{align:"center",variant:"body",size:"medium",color:"neutral700"},ke.createElement("b",null,"Reason:")," ",os));return vp(()=>{x.find(Lt=>Lt.requestId===e.requestId)&&(e.status==="success"||e.status==="failed"?(w(e.status),E(e.requestId),H()):v&&w(null))},[e.status,e.requestId]),vp(()=>{if(D){if(F("switchNetwork"),M===$n.WaitingForNetworkChange){X();return}if(M===$n.NetworkChangeFailed){W();return}return}if(M===$n.WaitingForConnectingWallet){F("connectWallet");return}if(M===$n.NetworkChanged){F("switchNetwork"),J();return}y&&["connectWallet","switchNetwork"].includes(y)&&H()},[M]),vp(()=>{if(I.current=y,A.current=C,y==="switchNetwork"&&C?.type==="success"){let Le=setTimeout(()=>{I.current==="switchNetwork"&&A.current?.type==="success"&&H()},m0);return()=>clearTimeout(Le)}},[y,C]),ke.createElement(ie,{header:{title:zt.t("Swap Details"),onCancel:e.status==="running"?()=>F("cancel"):void 0,suffix:e.status!=="running"&&ke.createElement(fo,null,ke.createElement(HS,{id:"widget-swap-details-delete-btn",variant:"ghost",type:"error",size:"xsmall",onClick:()=>F("delete")},ke.createElement(wp,{size:"medium",variant:"label",color:"error"},zt.t("Delete"))))},footer:at&&!v&&ke.createElement(HS,{fullWidth:!0,id:"widget-swap-details-try-again-btn",variant:"contained",type:"primary",size:"large",onClick:()=>{let Le=Ii(e,l,u);d(Le),setTimeout(()=>{f("../../")},0)}},zt.t("Try again"))},ke.createElement(gS,{compact:!0,ref:h},ke.createElement(FS,{requestId:o}),ke.createElement(zS,{date:fe,isFinished:!!e.finishTime}),ke.createElement("div",{className:kS()},ke.createElement(c0,{fee:P(String(Ke),2,2),time:qn(ai(e.steps)),steps:j}),ke.createElement(Sr,{from:{price:{value:P(e.inputAmount,6,6),usdValue:Io,realUsdValue:Yr,realValue:e.inputAmount},token:{displayName:Q[0]?.from.token.displayName||"",image:Q[0]?.from.token.image},chain:{image:Q[0]?.from.chain.image,displayName:Q[0]?.from.chain.displayName||""}},to:{price:{value:P(Ae,6,6),usdValue:so,realUsdValue:Un,realValue:Ae||""},token:{displayName:Q[j-1]?.to.token.displayName||"",image:Q[j-1]?.to.token.image},chain:{image:Q[j-1]?.to.chain.image,displayName:Q[j-1]?.to.chain.displayName||""}},percentageChange:P(ts,2,2),warningLevel:Xt(ts??0)})),ke.createElement("div",{className:wS()},ke.createElement(wp,{variant:"title",size:"small"},zt.t("Swaps steps"))),ke.createElement(l0,{size:8}),ke.createElement(SS,null,Q.map((Le,Lt)=>{let Fp=Lt,zn=e.steps[Lt]&&_S(e.steps[Lt]),vC=zn==="error"||zn==="in-progress"||zn==="warning"||zn==="completed"&&Lt===Q.length-1;return ke.createElement(p0,{className:"widget-swap-details-step-item-container",key:Fp,step:Le,type:"swap-progress",ref:h,state:zn,hasSeparator:Lt!==0,tabIndex:Fp,isFocused:vC,tooltipContainer:B()})}))),ke.createElement(gp,{isOpen:g,state:y,switchNetworkModalState:C,onClose:H,onCancel:r,onDelete:n,message:se.detailedMessage.content,swap:e,handleSwitchNetwork:G}),ke.createElement(yp,{open:!!v,diagnosisUrl:Mt,onClose:()=>w(null),status:e.status==="success"?"success":"failed",priceValue:P(Ae,6,6),usdValue:so,realUsdValue:Un,realValue:Ae||"",percentageChange:P(ts,2,2),token:{displayName:Q[j-1]?.to.token.displayName||"",image:Q[j-1]?.to.token.image},chain:{image:Q[j-1]?.to.chain.image},description:wC}))}i(bp,"SwapDetails");import{i18n as Va}from"@lingui/core";import{Divider as VS,NotFound as S0,Skeleton as Xr,Typography as Ka}from"@rango-dev/ui";import Ee from"react";import{i18n as f0}from"@lingui/core";import{Divider as g0,Skeleton as h0,Typography as y0}from"@rango-dev/ui";import be from"react";import{css as Ht,styled as Ep}from"@rango-dev/ui";var qS=Ep("div",{width:"100%",height:"100%",padding:"$10 $20"}),jr=Ep("div",{backgroundColor:"$neutral100",borderRadius:"$xm",padding:"$10 $15"}),Ga=Ep("div",{width:"0px",height:"$20",borderLeft:"1px dashed $neutral700",marginLeft:"25px"}),e9=Ht({display:"flex",justifyContent:"space-between",alignItems:"center"}),t9=Ht({paddingTop:"$15",display:"flex"}),o9=Ht({padding:"$15 $0"}),n9=Ht({width:"0px",height:"$16",borderLeft:"1px solid $neutral400",marginLeft:"13px"}),r9=Ht({paddingBottom:"$10"}),i9=Ht({display:"flex",justifyContent:"start",alignItems:"center"}),a9=Ht({paddingTop:"$5",display:"flex",alignItems:"center"}),s9=Ht({display:"flex",alignItems:"center"}),l9=Ht({padding:"$4 $6",display:"flex",justifyContent:"center",alignItems:"center"}),GS=Ht({display:"flex",paddingTop:"$10",paddingBottom:"$5"});function Ip(){return be.createElement(qS,null,be.createElement(kr,{type:"swap-preview"}),be.createElement("div",{className:"swaps-steps"},be.createElement(y0,{variant:"title",size:"small"},f0.t("Swaps steps"))),be.createElement(be.Fragment,null,be.createElement(jr,null,be.createElement(Ft,{separator:!1}),be.createElement("div",{className:GS()},be.createElement(g0,{direction:"horizontal",size:20}),be.createElement(h0,{height:22,variant:"rectangular"}))),be.createElement(Ga,null),be.createElement(jr,null,be.createElement(Ft,{separator:!1})),be.createElement(Ga,null),be.createElement(jr,null,be.createElement(Ft,{separator:!1})),be.createElement(Ga,null),be.createElement(jr,null,be.createElement(Ft,{separator:!1}))))}i(Ip,"LoadingSwapDetails");function KS(t){let{requestId:e,showSkeleton:o}=t;return Ee.createElement(ie,{header:{title:Va.t("Swap Details"),suffix:Ee.createElement(fo,null)}},o&&Ee.createElement(hS,null,Ee.createElement("div",{className:Zo()},Ee.createElement(Ka,{variant:"label",size:"large",color:"neutral700"},`${Va.t("Request ID")}`),Ee.createElement("div",{className:za()},Ee.createElement(Ka,{variant:"label",size:"small",color:"neutral700"},Ee.createElement(Xr,{width:60,height:10,variant:"rounded"})),Ee.createElement(VS,{direction:"horizontal",size:4}),Ee.createElement(Xr,{width:16,height:16,variant:"rectangular"}),Ee.createElement(VS,{direction:"horizontal",size:4}),Ee.createElement(Xr,{width:16,height:16,variant:"rectangular"}))),Ee.createElement("div",{className:Zo()},Ee.createElement(Ka,{className:TS(),variant:"label",size:"large",color:"neutral700"},Ee.createElement(Xr,{width:60,height:10,variant:"rounded"})),Ee.createElement(Ka,{variant:"label",size:"small",color:"neutral700"},Ee.createElement(Xr,{width:60,height:10,variant:"rounded"}))),Ee.createElement(Ip,null)),!o&&Ee.createElement(CS,null,Ee.createElement(S0,{title:Va.t("Not found"),description:Va.t({id:"Swap with request ID = {requestId} not found.",values:{requestId:e}})})))}i(KS,"SwapDetailsPlaceholder");function jS(){let{manager:t,state:e}=k0(),o=!e.loadedFromPersistor,n=Tt(t),{requestId:r}=v0(),a=qe(),{fetchStatus:s}=T();if(!r)return Ap.createElement(w0,{containerStyles:{margin:"20px"},type:"error",title:C0.t("The request ID is necessary to display the swap details.")});let c=o||s==="loading",l=r?n.find(({swap:f})=>f.requestId===r):void 0,p=i(()=>{if(l?.id){let f=t?.get(l.id);f&&T0(f)}},"onCancel"),u=i(async()=>{if(l?.id)try{t?.deleteQueue(l.id),a()}catch(f){console.log(f)}},"onDelete"),d=l?.swap;return!d||c?Ap.createElement(KS,{requestId:r,showSkeleton:c}):Ap.createElement(bp,{swap:d,requestId:r,onCancel:p,onDelete:u})}i(jS,"SwapDetailsPage");import{i18n as XS}from"@lingui/core";import{Divider as x0,getCategoriesCount as b0,SelectableCategoryList as E0,styled as ZS,Typography as I0,Wallet as A0}from"@rango-dev/ui";import Qt,{useState as YS}from"react";var N0=ZS("div",{display:"flex",justifyContent:"center",alignItems:"center",columnGap:"$5",rowGap:"$10",flexWrap:"wrap",paddingTop:"$5"}),B0=ZS(le,{textAlign:"center"});function JS(){let{fetchStatus:t}=T(),[e,o]=YS("ALL"),n=T().blockchains(),{config:r}=T(),[a,s]=YS(),c=oe.use.isActiveTab(),{list:l}=vt(),p=Bu(l,n),d=b0(p)!==1,f=Wu(l,e),h=i(g=>{pu(l,r.multiWallets)||s(g)},"handleWalletItemClick");return Qt.createElement(ie,{header:{title:XS.t("Connect Wallets")}},Qt.createElement(B0,null,d&&Qt.createElement(Qt.Fragment,null,Qt.createElement(E0,{setCategory:o,category:e,blockchains:p,isLoading:t==="loading"}),Qt.createElement(x0,{size:24})),Qt.createElement(I0,{variant:"title",size:"xmedium",align:"center"},XS.t("Choose a wallet to connect.")),Qt.createElement(N0,null,f.map((g,m)=>{let y=`wallet-${m}-${g.type}`;return Qt.createElement(A0,{key:y,...g,state:g.state,container:B(),onClick:()=>h(g),isLoading:t==="loading",disabled:!c})}),Qt.createElement(ar,{id:"widget-state-full-connect-modal",wallet:a,onClose:()=>{s(void 0)}}))))}i(JS,"WalletsPage");function RS(){return lm(),Js(),W0([{path:$.home,element:ze.createElement(gy,null)},{path:$.routes,element:ze.createElement(Ty,null)},{path:$.fromSwap,children:[{index:!0,element:ze.createElement(La,{type:"source"})},{path:$.blockchains,element:ze.createElement(Na,{type:"source"})}]},{path:$.toSwap,children:[{index:!0,element:ze.createElement(La,{type:"destination"})},{path:$.blockchains,element:ze.createElement(Na,{type:"destination"})}]},{path:$.settings,children:[{index:!0,element:ze.createElement(jy,null)},{path:$.languages,element:ze.createElement(yy,null)},{path:$.exchanges,element:ze.createElement(Jc,{sourceType:"Exchanges"})},{path:$.bridges,element:ze.createElement(Jc,{sourceType:"Bridges"})},{path:$.customTokens,children:[{index:!0,element:ze.createElement(hh,null)},{path:$.addCustomTokens,children:[{index:!0,element:ze.createElement(sf,null)},{path:$.blockchains,element:ze.createElement(Na,{hideCategory:!0,type:"custom-token"})}]}]}]},{path:$.swaps,children:[{index:!0,element:ze.createElement(Dh,null)},{path:$.swapDetails,element:ze.createElement(jS,null)}]},{path:$.wallets,element:ze.createElement(JS,null)},{path:$.confirmSwap,element:ze.createElement(eh,null)}])}i(RS,"AppRoutes");import{useQueueManager as X0}from"@rango-dev/queue-manager-rango-preset";import{isEvmBlockchain as Y0}from"rango-sdk";import{useContext as Z0,useEffect as Mp,useState as uC}from"react";import{Provider as $0}from"@rango-dev/wallets-react";import ja,{createContext as F0,useEffect as rC,useMemo as O0,useRef as iC}from"react";import{useEffect as L0}from"react";import{Provider as M0}from"@rango-dev/wallets-core";function eC(t){return t.map(e=>typeof e=="string"?e:e instanceof M0?e.id:e.config.type).join("-")}i(eC,"hashProviders");function Np(t,e){let{clearConnectedWallet:o,getAvailableProviders:n,buildAndSetProviders:r}=T(),a=n();return L0(()=>{o(),r()},[eC(t??[]),e?.walletConnectProjectId,e?.walletConnectListedDesktopWalletLink]),{providers:a}}i(Np,"useWalletProviders");import{legacyFormatAddressWithNetwork as P0,legacyReadAccountAddress as tC}from"@rango-dev/wallets-core/legacy";import{Events as Fn}from"@rango-dev/wallets-react";import{isEvmBlockchain as _0}from"rango-sdk";function oC(t){let{newWalletConnected:e,disconnectWallet:o,disconnectNamespaces:n,connectedWallets:r,removeBalancesForWallet:a,blockchains:s}=T(),{onConnectWalletHandler:c,onDisconnectWalletHandler:l}=t,p=s().filter(_0).map(m=>m.name),u=i((m,y)=>{let[S,,C,k,v]=m,w={walletType:S,network:k.network??void 0,accounts:C};c.current?c.current(w):console.warn("onConnectWallet handler hasn't been set. Are you sure?");let I=ds(S,C,p,y.supportedChainNames,v.isContractWallet);I.length&&e(I,v.namespace,k.derivationPath)},"onAccountsEvent"),d=i((m,y,S,C,k)=>{if(y===Fn.ACCOUNTS){let v=Kn(k.supportedBlockchains);S&&u([m,y,S,C,k],{supportedChainNames:v})}y===Fn.PROVIDER_DISCONNECTED&&(o(m),l.current?l.current(m):console.warn("onDisconnectWallet handler hasn't been set. Are you sure?")),y===Fn.NAMESPACE_DISCONNECTED&&n(m,S)},"handleUpdatesForHub"),f=i((m,y,S,C,k)=>{if(y===Fn.ACCOUNTS){let v=Kn(k.supportedBlockchains),w=[],I=[];if(S?.forEach(b=>{let{network:E}=tC(b);p.includes(E)?w.push(b):I.push(b)}),r.filter(b=>b.walletType===m).map(b=>P0(b.address,b.chain)).length>0){if(w.length>0){let b=ds(m,w,p,v,k.isContractWallet);a(m,{chains:b.map(E=>E.chain)})}I.length>0&&a(m,{chains:I.map(b=>{let{network:E}=tC(b);return E})})}S?u([m,y,S,C,k],{supportedChainNames:v}):(o(m),l.current?l.current(m):console.warn("onDisconnectWallet handler hasn't been set. Are you sure?"))}},"handleUpdatesForLegacy"),h=i((m,y,S,C,k)=>{if(y===Fn.CONNECTED&&S){let v={walletType:m,network:C.network??void 0,accounts:C.accounts??void 0};c.current?c.current(v):console.warn("onConnectWallet handler hasn't been set. Are you sure?")}if(y===Fn.NETWORK&&S){let v={walletType:m,network:S,accounts:C.accounts??void 0};c.current?c.current(v):console.warn("onConnectWallet handler hasn't been set. Are you sure?")}},"handleUpdatesForBoth");return{handler:i((m,y,S,C,k)=>{k.isHub?d(m,y,S,C,k):f(m,y,S,C,k),h(m,y,S,C,k)},"handler")}}i(oC,"useUpdates");import{LegacyEvents as D0}from"@rango-dev/wallets-core/legacy";function nC(t,e){let[o,n,r,a,s]=e;n!==D0.PROVIDER_DISCONNECTED&&t(o,n,r,a,s)}i(nC,"propagateEvents");var Xa=F0({onConnectWallet:()=>{},onDisconnectWallet:()=>{}});function U0(t){let{updateConfig:e,updateSettings:o,fetch:n,fetchStatus:r}=T(),a=T().blockchains(),s=T().config,c={walletConnectProjectId:s?.walletConnectProjectId,trezorManifest:s?.trezorManifest,tonConnect:s.tonConnect,walletConnectListedDesktopWalletLink:t.config.__UNSTABLE_OR_INTERNAL__?.walletConnectListedDesktopWalletLink},{providers:l}=Np(s.wallets,c),p=iC(),u=iC(),{handler:d}=oC({onConnectWalletHandler:p,onDisconnectWalletHandler:u});rC(()=>{n().catch(console.log)},[]),rC(()=>{t.config&&(e(t.config),o(t.config),window.__rango={config:s,dappConfig:t.config})},[t.config,r]);let f=oe.use.isActiveTab(),h=O0(()=>({onConnectWallet:g=>{p.current=g},onDisconnectWallet:g=>{u.current=g}}),[]);return ja.createElement(Xa.Provider,{value:h},ja.createElement($0,{allBlockChains:a,providers:l,onUpdateState:(g,m,y,S,C)=>{let k=[g,m,y,S,C];d(...k),t.onUpdateState&&nC(t.onUpdateState,k)},autoConnect:!!f,configs:{wallets:s.wallets}},t.children))}i(U0,"Main");function Ya(t){let{config:e,...o}=t;return ja.createElement(Yu,{config:e},ja.createElement(U0,{...o,config:e}))}i(Ya,"WidgetWallets");import{globalCss as z0}from"@rango-dev/ui";var aC=i(()=>z0({"@import":"url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap')"})(),"globalFont");import{useWallets as H0}from"@rango-dev/wallets-react";import{useEffect as Q0,useRef as q0}from"react";function sC(){let{connect:t,state:e}=H0(),o=q0({}),{fetchStatus:n}=T(),r=new URLSearchParams(location.search).get("autoConnect")||"",a=e(r);Q0(()=>{n==="success"&&r&&a.installed&&!a.connecting&&!a.connected&&!o.current[r]&&(o.current[r]=!0,t(r))},[a,n])}i(sC,"useForceAutoConnect");import{isApprovalTX as G0,RouteEventType as lC,StepEventType as cC,StepExecutionEventStatus as V0,WidgetEvents as Za}from"@rango-dev/queue-manager-rango-preset";import{useEffect as pC}from"react";function Bp(){let t=Be.use.setNotification(),{connectedWallets:e,fetchBalances:o,customTokens:n}=T();pC(()=>{let r=i(a=>{let{event:s,step:c,route:l}=a;if(s.type===cC.TX_EXECUTION&&s.status===V0.TX_SENT&&!G0(c)||s.type===cC.SUCCEEDED){let u=[],d=l.wallets[c?.fromBlockchain];if(d){let f=e.find(h=>h.address?.toLocaleLowerCase()===d.address?.toLocaleLowerCase()&&h.walletType===d.walletType&&h.chain===c?.fromBlockchain);f&&u.push(f)}if(c?.fromBlockchain!==c?.toBlockchain){let f=l.wallets[c?.toBlockchain];if(f){let h=e.find(g=>g.address?.toLocaleLowerCase()===f.address?.toLocaleLowerCase()&&g.walletType===f.walletType&&g.chain===c?.toBlockchain);h&&u.push(h)}}if(u.length>0){let f=n(),g=[{blockchain:c.fromBlockchain,address:c.fromSymbolAddress,symbol:c.fromSymbol},{blockchain:c.toBlockchain,address:c.toSymbolAddress,symbol:c.toSymbol}].filter(m=>f.some(y=>y.blockchain===m.blockchain&&y.address?.toLocaleLowerCase()===m.address?.toLocaleLowerCase()&&y.symbol?.toLocaleLowerCase()===m.symbol?.toLocaleLowerCase()));o(u,{selectedCustomTokens:g,shouldFetchCustomTokens:g.length>0})}}t(s,l)},"handleStepEvent");return we.on(Za.StepEvent,r),()=>we.off(Za.StepEvent,r)},[we,e]),pC(()=>{let r=i(a=>{let{event:s,route:c}=a;(s.type===lC.FAILED||s.type===lC.SUCCEEDED)&&t(s,c)},"handleRouteEvent");return we.on(Za.RouteEvent,r),()=>we.off(Za.RouteEvent,r)},[we])}i(Bp,"useSubscribeToWidgetEvents");import{useManager as K0}from"@rango-dev/queue-manager-react";import{useEffect as j0}from"react";function Wp(){let{isSynced:t,syncNotifications:e}=Be(),{manager:o,state:n}=K0();j0(()=>{Be.persist.hasHydrated()&&n.loadedFromPersistor&&!t&&e(Tt(o))},[Be.persist.hasHydrated(),n.loadedFromPersistor,t])}i(Wp,"useSyncNotifications");function Lp(){sC(),aC(),Bp(),Wp();let t=T().blockchains(),{canSwitchNetworkTo:e}=Xi(),[o,n]=uC(null),[r,a]=uC(),s=Z0(Xa),c=t.filter(Y0);Mp(()=>()=>am(),[]),Mp(()=>()=>sm(),[]),X0({lastConnectedWallet:o,clearDisconnectedWallet:()=>{a(void 0)},disconnectedWallet:r,evmChains:c,canSwitchNetworkTo:e}),Mp(()=>(Po.init(),Be.persist.hasHydrated()||Be.persist.rehydrate(),s.onConnectWallet(l=>{n(p=>{if(!p||p.walletType!==l.walletType)return l;let u={...p};return l.network&&(u.network=l.network),l.accounts&&(u.accounts=l.accounts),u})}),s.onDisconnectWallet(l=>{a(l),n(p=>l===p?.walletType?null:p)}),Po.destroy),[])}i(Lp,"useBootstrap");import{styled as J0}from"@rango-dev/ui";var dC=J0("div",{fontFamily:"$widget",boxSizing:"border-box",textAlign:"left",height:"100%","& *, *::before, *::after":{boxSizing:"inherit"},"& *:focus-visible":{outlineColor:"$info500",transition:"none"},"& ul, ol, li":{listStyleType:"none"}});function Jo(){Lp();let{config:t}=T(),{activeTheme:e}=mo(t?.theme||{}),{activeLanguage:o}=wo();return Pp.createElement(R0,{language:o},Pp.createElement(dC,{id:"swap-container",className:e()},Pp.createElement(RS,null)))}i(Jo,"Main");import{setSolanaSignerConfig as CB}from"@rango-dev/signer-solana";import Dp,{useEffect as $p,useMemo as TB}from"react";function mC(){let{setWatermark:t,setShowProfileBanner:e}=oe();return{fetchApiConfig:i(async()=>{let n=await fetch(`${Gt("BASE_URL")}/meta/dapp/config?apiKey=${Gt("API_KEY")}`);if(!n.ok)throw new Error(`Request failed with status: ${n.status} `);let r=await n.json();t(r.config.watermark),e(r.config.banners.profile)},"fetchApiConfig")}}i(mC,"useFetchApiConfig");import{useState as eB}from"react";var tB=i(()=>{let[t,e]=eB(null),o=i(a=>{let s=document.createElement("link");return s.href=a,s.rel="stylesheet",document.head.appendChild(s),s},"loadFont"),n=i(()=>{t&&(document.head.removeChild(t),e(null))},"unloadFont");return{handleLoadCustomFont:i(a=>{n();let s=cu(a);if(s){let c=o(s);e(c)}},"handleLoadCustomFont")}},"useFontLoader"),fC=tB;import{checkWaitingForNetworkChange as oB,makeQueueDefinition as nB}from"@rango-dev/queue-manager-rango-preset";import{Provider as rB}from"@rango-dev/queue-manager-react";import{useWallets as iB}from"@rango-dev/wallets-react";import{convertEvmBlockchainMetaToEvmChainInfo as aB}from"@rango-dev/wallets-shared";import{isEvmBlockchain as sB}from"rango-types";import lB,{useMemo as cB}from"react";function pB(t){let{providers:e,getSigners:o,state:n,connect:r,canSwitchNetworkTo:a,getWalletInfo:s,hubProvider:c}=iB(),l=cB(()=>nB({API_KEY:t.apiKey||Gt("API_KEY"),BASE_URL:Gt("BASE_URL"),emitter:{emit:we.emit}}),[t.apiKey]),{blockchains:p,connectedWallets:u}=T(),d=p(),f={blockchains:u.map(w=>({accounts:[w],name:w.chain}))},h=i(async(w,I)=>a(w,I.network,I)?await r(w,[I]):void 0,"switchNetwork"),g=i(w=>!!s(w).mobileWallet,"isMobileWallet"),m=d.filter(w=>w.enabled).reduce((w,I)=>(w[I.name]=I,w),{}),y=d.filter(sB),S=i(w=>{let{supportedChains:I}=s(w);return Kn(I)},"getSupportedChainNames"),C=e(),k={meta:{blockchains:m,evmBasedChains:y,evmNetworkChainInfo:aB(y),getSupportedChainNames:S},getSigners:o,wallets:f,providers:C,switchNetwork:h,canSwitchNetworkTo:a,state:n,isMobileWallet:g,hubProvider:c},v=oe.use.isActiveTab();return lB.createElement(rB,{queuesDefs:[l],context:k,onPersistedDataLoaded:w=>{oB(w)},isPaused:!v},t.children)}i(pB,"QueueManager");var gC=pB;import{useManager as gB}from"@rango-dev/queue-manager-react";import hB,{createContext as yB,useContext as SB}from"react";function hC(){let{findToken:t}=T(),e=T().blockchains(),o=T().tokens(),{setFromBlockchain:n,setFromToken:r,setToBlockchain:a,setToToken:s,setInputAmount:c}=z()();return i(p=>{let{fromBlockchain:u,fromToken:d,toBlockchain:f,toToken:h,requestAmount:g}=p,m={blockchains:e,tokens:o};if(u!==void 0){let y=e.find(S=>S.name===u)??null;n(y)}if(d!==void 0){let y=d?t(d)??null:null;r({meta:m,token:y})}if(f!==void 0){let y=e.find(S=>S.name===f)??null;a(y)}if(h!==void 0){let y=h?t(h)??null:null;s({meta:m,token:y})}g!==void 0&&c(g)},"updateQuoteInputs")}i(hC,"useUpdateQuoteInputs");import{cancelSwap as uB,getCurrentNamespaceOfOrNull as dB,getCurrentStep as mB,getRelatedWalletOrNull as fB}from"@rango-dev/queue-manager-rango-preset";var Ja=class{static{i(this,"WidgetHistory")}constructor(e,o){this.manager=e,this.actions=o}getAllSwaps(){return Tt(this.manager)}getCurrentStep(e){return this.getCurrentStepInfo(e).step}getCurrentStepWallet(e){return this.getCurrentStepInfo(e).wallet}getCurrentStepNetwork(e){return this.getCurrentStepInfo(e).network}retry(e,o){let n=Ii(e,o.blockchains,this.actions.findToken);return this.actions.retrySwap(n)}cancel(e){let o=this.manager?.get(e);o&&uB(o)}getCurrentStepInfo(e){let o=mB(e);return{step:o,wallet:o?fB(e,o):null,network:o?dB(e,o)?.network:null}}};var yC=yB(void 0);function _p(t){let{manager:e}=gB(),o=oe.use.isActiveTab(),n=z().use.retry(),{findToken:r,getBalances:a,getConnectedWalletsDetails:s,fetchBalances:c}=T(),l=new Ja(e,{retrySwap:n,findToken:r}),{fetchingWallets:p}=T(),u=xu(a()),d=T().blockchains(),f=T().tokens(),h=T().swappers(),g=T().fetchStatus,m=wo().resetLanguage,y=Be().getNotifications(),S=Be().clearNotifications,C=hC(),{fromBlockchain:k,toBlockchain:v,fromToken:w,toToken:I,inputAmount:A}=z()(),b={isActiveTab:o,setCurrentTabAsActive:Po.forceClaim,history:l,wallets:{isLoading:p,details:s(),totalBalance:u,refetch:async E=>c(E)},meta:{blockchains:d,tokens:f,swappers:h,loadingStatus:g,findToken:r},resetLanguage:m,notifications:{list:y,clearAll:S},quote:{quoteInputs:{fromBlockchain:k?.name??null,fromToken:w?{symbol:w.symbol,blockchain:w.blockchain,address:w.address}:null,toBlockchain:v?.name??null,toToken:I?{symbol:I.symbol,blockchain:I.blockchain,address:I.address}:null,requestAmount:A},updateQuoteInputs:C}};return hB.createElement(yC.Provider,{value:b},t.children)}i(_p,"WidgetInfo");function SC(){let t=SB(yC);if(!t)throw new Error("useWidget can only be used within the WidgetProvider component");return t}i(SC,"useWidget");function On(t){let{onUpdateState:e,config:o}=t,n=t.config?.theme?.fontFamily,{fetchApiConfig:r}=mC(),{handleLoadCustomFont:a}=fC();return $p(()=>{r().catch(console.log)},[]),$p(()=>{n&&a(n)},[n]),TB(()=>{Mu({API_KEY:o?.apiKey||ti,BASE_URL:o?.apiUrl||Rp})},[o.apiKey,o.apiUrl]),$p(()=>{t.config?.signers?.customSolanaRPC&&CB("customRPC",t.config.signers.customSolanaRPC)},[t.config?.signers?.customSolanaRPC]),Dp.createElement(Ya,{config:o,onUpdateState:e},Dp.createElement(gC,{apiKey:o.apiKey},Dp.createElement(_p,null,t.children)))}i(On,"WidgetProvider");function CC(t){let e=t.config?.externalWallets;return Ra.createElement(bi,null,e?Ra.createElement(Jo,null):Ra.createElement(On,{config:t.config??on},Ra.createElement(Jo,null)))}i(CC,"Refuel");import es from"react";function TC(t){let e=t.config?.externalWallets;return es.createElement(bi,null,e?es.createElement(Jo,null):es.createElement(On,{config:t.config??on},es.createElement(Jo,null)))}i(TC,"Widget");function kC(){let{on:t,off:e}=we;return{on:t,off:e}}i(kC,"useWidgetEvents");var nte={DerivationPath:nr,Namespaces:er,Detached:or,isOnDerivationPath:ir,isOnNamespace:rr,isOnDetached:Ao};export{Eee as EventSeverity,sn as MainEvents,Dee as Networks,Oee as PendingSwapNetworkStatus,ys as QuoteEventTypes,CC as Refuel,Iee as RouteEventType,ss as SUPPORTED_FONTS,nte as StatefulConnect,Aee as StepEventType,Nee as StepExecutionBlockedEventStatus,Bee as StepExecutionEventStatus,wd as SwapModeContext,Re as UI_ID,Cs as UiEventTypes,Ss as WalletEventTypes,Pee as WalletEvents,$ee as WalletTypes,TC as Widget,sn as WidgetEvents,On as WidgetProvider,Ya as WidgetWallets,dl as customizedThemeTokens,is as pickProviderVersionWithFallbackToLegacy,Mee as readAccountAddress,Ro as useStatefulConnect,vt as useWalletList,Xi as useWallets,SC as useWidget,kC as useWidgetEvents,IT as widgetEventEmitter};
|
|
3
|
+
//# sourceMappingURL=index.js.map
|