@wheelx/widget 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +531 -0
- package/dist/WheelxBridgeSwapWidget.d.ts +6 -0
- package/dist/WheelxBridgeSwapWidget.d.ts.map +1 -0
- package/dist/WheelxBridgeSwapWidget.js +13 -0
- package/dist/WheelxBridgeSwapWidget.js.map +1 -0
- package/dist/WheelxWidgetProvider.d.ts +3 -0
- package/dist/WheelxWidgetProvider.d.ts.map +1 -0
- package/dist/WheelxWidgetProvider.js +9 -0
- package/dist/WheelxWidgetProvider.js.map +1 -0
- package/dist/config.d.ts +120 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +120 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/SelectTokenModal/AllChainsIcon.d.ts +2 -0
- package/dist/internal/SelectTokenModal/AllChainsIcon.d.ts.map +1 -0
- package/dist/internal/SelectTokenModal/AllChainsIcon.js +11 -0
- package/dist/internal/SelectTokenModal/AllChainsIcon.js.map +1 -0
- package/dist/internal/SelectTokenModal/DesktopContent.d.ts +33 -0
- package/dist/internal/SelectTokenModal/DesktopContent.d.ts.map +1 -0
- package/dist/internal/SelectTokenModal/DesktopContent.js +99 -0
- package/dist/internal/SelectTokenModal/DesktopContent.js.map +1 -0
- package/dist/internal/SelectTokenModal/FavoriteButton.d.ts +7 -0
- package/dist/internal/SelectTokenModal/FavoriteButton.d.ts.map +1 -0
- package/dist/internal/SelectTokenModal/FavoriteButton.js +25 -0
- package/dist/internal/SelectTokenModal/FavoriteButton.js.map +1 -0
- package/dist/internal/SelectTokenModal/FavoritesContext.d.ts +22 -0
- package/dist/internal/SelectTokenModal/FavoritesContext.d.ts.map +1 -0
- package/dist/internal/SelectTokenModal/FavoritesContext.js +125 -0
- package/dist/internal/SelectTokenModal/FavoritesContext.js.map +1 -0
- package/dist/internal/SelectTokenModal/MobileContent.d.ts +35 -0
- package/dist/internal/SelectTokenModal/MobileContent.d.ts.map +1 -0
- package/dist/internal/SelectTokenModal/MobileContent.js +150 -0
- package/dist/internal/SelectTokenModal/MobileContent.js.map +1 -0
- package/dist/internal/SelectTokenModal/Network.d.ts +13 -0
- package/dist/internal/SelectTokenModal/Network.d.ts.map +1 -0
- package/dist/internal/SelectTokenModal/Network.js +112 -0
- package/dist/internal/SelectTokenModal/Network.js.map +1 -0
- package/dist/internal/SelectTokenModal/SearchHistoryContext.d.ts +30 -0
- package/dist/internal/SelectTokenModal/SearchHistoryContext.d.ts.map +1 -0
- package/dist/internal/SelectTokenModal/SearchHistoryContext.js +144 -0
- package/dist/internal/SelectTokenModal/SearchHistoryContext.js.map +1 -0
- package/dist/internal/SelectTokenModal/SearchInput.d.ts +8 -0
- package/dist/internal/SelectTokenModal/SearchInput.d.ts.map +1 -0
- package/dist/internal/SelectTokenModal/SearchInput.js +34 -0
- package/dist/internal/SelectTokenModal/SearchInput.js.map +1 -0
- package/dist/internal/SelectTokenModal/TokenAndAddress.d.ts +11 -0
- package/dist/internal/SelectTokenModal/TokenAndAddress.d.ts.map +1 -0
- package/dist/internal/SelectTokenModal/TokenAndAddress.js +138 -0
- package/dist/internal/SelectTokenModal/TokenAndAddress.js.map +1 -0
- package/dist/internal/SelectTokenModal/TokenFavoriteButton.d.ts +7 -0
- package/dist/internal/SelectTokenModal/TokenFavoriteButton.d.ts.map +1 -0
- package/dist/internal/SelectTokenModal/TokenFavoriteButton.js +27 -0
- package/dist/internal/SelectTokenModal/TokenFavoriteButton.js.map +1 -0
- package/dist/internal/SelectTokenModal/TokenFavoritesContext.d.ts +30 -0
- package/dist/internal/SelectTokenModal/TokenFavoritesContext.d.ts.map +1 -0
- package/dist/internal/SelectTokenModal/TokenFavoritesContext.js +144 -0
- package/dist/internal/SelectTokenModal/TokenFavoritesContext.js.map +1 -0
- package/dist/internal/SelectTokenModal/TokenList.d.ts +16 -0
- package/dist/internal/SelectTokenModal/TokenList.d.ts.map +1 -0
- package/dist/internal/SelectTokenModal/TokenList.js +258 -0
- package/dist/internal/SelectTokenModal/TokenList.js.map +1 -0
- package/dist/internal/SelectTokenModal/hooks/index.d.ts +4 -0
- package/dist/internal/SelectTokenModal/hooks/index.d.ts.map +1 -0
- package/dist/internal/SelectTokenModal/hooks/index.js +4 -0
- package/dist/internal/SelectTokenModal/hooks/index.js.map +1 -0
- package/dist/internal/SelectTokenModal/hooks/useChainsAndTokensForSelect.d.ts +22 -0
- package/dist/internal/SelectTokenModal/hooks/useChainsAndTokensForSelect.d.ts.map +1 -0
- package/dist/internal/SelectTokenModal/hooks/useChainsAndTokensForSelect.js +180 -0
- package/dist/internal/SelectTokenModal/hooks/useChainsAndTokensForSelect.js.map +1 -0
- package/dist/internal/SelectTokenModal/hooks/useSearchTokens.d.ts +12 -0
- package/dist/internal/SelectTokenModal/hooks/useSearchTokens.d.ts.map +1 -0
- package/dist/internal/SelectTokenModal/hooks/useSearchTokens.js +71 -0
- package/dist/internal/SelectTokenModal/hooks/useSearchTokens.js.map +1 -0
- package/dist/internal/SelectTokenModal/hooks/useUserHasSelectedFromNetwork.d.ts +7 -0
- package/dist/internal/SelectTokenModal/hooks/useUserHasSelectedFromNetwork.d.ts.map +1 -0
- package/dist/internal/SelectTokenModal/hooks/useUserHasSelectedFromNetwork.js +6 -0
- package/dist/internal/SelectTokenModal/hooks/useUserHasSelectedFromNetwork.js.map +1 -0
- package/dist/internal/SelectTokenModal/index.d.ts +10 -0
- package/dist/internal/SelectTokenModal/index.d.ts.map +1 -0
- package/dist/internal/SelectTokenModal/index.js +274 -0
- package/dist/internal/SelectTokenModal/index.js.map +1 -0
- package/dist/internal/SelectTokenModal/storageUtils.d.ts +55 -0
- package/dist/internal/SelectTokenModal/storageUtils.d.ts.map +1 -0
- package/dist/internal/SelectTokenModal/storageUtils.js +216 -0
- package/dist/internal/SelectTokenModal/storageUtils.js.map +1 -0
- package/dist/internal/SelectTokenModal/utils.d.ts +16 -0
- package/dist/internal/SelectTokenModal/utils.d.ts.map +1 -0
- package/dist/internal/SelectTokenModal/utils.js +399 -0
- package/dist/internal/SelectTokenModal/utils.js.map +1 -0
- package/dist/internal/SwapAndBridge/DifferentAddressDialog.d.ts +13 -0
- package/dist/internal/SwapAndBridge/DifferentAddressDialog.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/DifferentAddressDialog.js +127 -0
- package/dist/internal/SwapAndBridge/DifferentAddressDialog.js.map +1 -0
- package/dist/internal/SwapAndBridge/FormBody.d.ts +10 -0
- package/dist/internal/SwapAndBridge/FormBody.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/FormBody.js +471 -0
- package/dist/internal/SwapAndBridge/FormBody.js.map +1 -0
- package/dist/internal/SwapAndBridge/FormButton.d.ts +19 -0
- package/dist/internal/SwapAndBridge/FormButton.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/FormButton.js +373 -0
- package/dist/internal/SwapAndBridge/FormButton.js.map +1 -0
- package/dist/internal/SwapAndBridge/FormTop.d.ts +11 -0
- package/dist/internal/SwapAndBridge/FormTop.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/FormTop.js +35 -0
- package/dist/internal/SwapAndBridge/FormTop.js.map +1 -0
- package/dist/internal/SwapAndBridge/MainForm.d.ts +26 -0
- package/dist/internal/SwapAndBridge/MainForm.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/MainForm.js +445 -0
- package/dist/internal/SwapAndBridge/MainForm.js.map +1 -0
- package/dist/internal/SwapAndBridge/SlippageSettings.d.ts +3 -0
- package/dist/internal/SwapAndBridge/SlippageSettings.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/SlippageSettings.js +121 -0
- package/dist/internal/SwapAndBridge/SlippageSettings.js.map +1 -0
- package/dist/internal/SwapAndBridge/Timer.d.ts +8 -0
- package/dist/internal/SwapAndBridge/Timer.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/Timer.js +53 -0
- package/dist/internal/SwapAndBridge/Timer.js.map +1 -0
- package/dist/internal/SwapAndBridge/TipsContent.d.ts +18 -0
- package/dist/internal/SwapAndBridge/TipsContent.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/TipsContent.js +217 -0
- package/dist/internal/SwapAndBridge/TipsContent.js.map +1 -0
- package/dist/internal/SwapAndBridge/TokenInfoCom.d.ts +7 -0
- package/dist/internal/SwapAndBridge/TokenInfoCom.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/TokenInfoCom.js +28 -0
- package/dist/internal/SwapAndBridge/TokenInfoCom.js.map +1 -0
- package/dist/internal/SwapAndBridge/TokenSelectAndInput.d.ts +18 -0
- package/dist/internal/SwapAndBridge/TokenSelectAndInput.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/TokenSelectAndInput.js +257 -0
- package/dist/internal/SwapAndBridge/TokenSelectAndInput.js.map +1 -0
- package/dist/internal/SwapAndBridge/TxInfo.d.ts +25 -0
- package/dist/internal/SwapAndBridge/TxInfo.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/TxInfo.js +101 -0
- package/dist/internal/SwapAndBridge/TxInfo.js.map +1 -0
- package/dist/internal/SwapAndBridge/TxState.d.ts +8 -0
- package/dist/internal/SwapAndBridge/TxState.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/TxState.js +371 -0
- package/dist/internal/SwapAndBridge/TxState.js.map +1 -0
- package/dist/internal/SwapAndBridge/animations/Failure.d.ts +3 -0
- package/dist/internal/SwapAndBridge/animations/Failure.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/animations/Failure.js +12 -0
- package/dist/internal/SwapAndBridge/animations/Failure.js.map +1 -0
- package/dist/internal/SwapAndBridge/animations/Success.d.ts +3 -0
- package/dist/internal/SwapAndBridge/animations/Success.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/animations/Success.js +12 -0
- package/dist/internal/SwapAndBridge/animations/Success.js.map +1 -0
- package/dist/internal/SwapAndBridge/animations/Wheel.d.ts +3 -0
- package/dist/internal/SwapAndBridge/animations/Wheel.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/animations/Wheel.js +12 -0
- package/dist/internal/SwapAndBridge/animations/Wheel.js.map +1 -0
- package/dist/internal/SwapAndBridge/animations/index.d.ts +4 -0
- package/dist/internal/SwapAndBridge/animations/index.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/animations/index.js +4 -0
- package/dist/internal/SwapAndBridge/animations/index.js.map +1 -0
- package/dist/internal/SwapAndBridge/hooks/index.d.ts +5 -0
- package/dist/internal/SwapAndBridge/hooks/index.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/hooks/index.js +5 -0
- package/dist/internal/SwapAndBridge/hooks/index.js.map +1 -0
- package/dist/internal/SwapAndBridge/hooks/useGuardChain.d.ts +5 -0
- package/dist/internal/SwapAndBridge/hooks/useGuardChain.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/hooks/useGuardChain.js +48 -0
- package/dist/internal/SwapAndBridge/hooks/useGuardChain.js.map +1 -0
- package/dist/internal/SwapAndBridge/hooks/useRefreshLoading.d.ts +5 -0
- package/dist/internal/SwapAndBridge/hooks/useRefreshLoading.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/hooks/useRefreshLoading.js +41 -0
- package/dist/internal/SwapAndBridge/hooks/useRefreshLoading.js.map +1 -0
- package/dist/internal/SwapAndBridge/hooks/useRetryAbleTransactionReceipt.d.ts +818 -0
- package/dist/internal/SwapAndBridge/hooks/useRetryAbleTransactionReceipt.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/hooks/useRetryAbleTransactionReceipt.js +69 -0
- package/dist/internal/SwapAndBridge/hooks/useRetryAbleTransactionReceipt.js.map +1 -0
- package/dist/internal/SwapAndBridge/hooks/useSwapAndBridgeContextStore.d.ts +52 -0
- package/dist/internal/SwapAndBridge/hooks/useSwapAndBridgeContextStore.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/hooks/useSwapAndBridgeContextStore.js +454 -0
- package/dist/internal/SwapAndBridge/hooks/useSwapAndBridgeContextStore.js.map +1 -0
- package/dist/internal/SwapAndBridge/hooks/useTokenBalance.d.ts +13 -0
- package/dist/internal/SwapAndBridge/hooks/useTokenBalance.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/hooks/useTokenBalance.js +11 -0
- package/dist/internal/SwapAndBridge/hooks/useTokenBalance.js.map +1 -0
- package/dist/internal/SwapAndBridge/hooks/useTxStateContextStore.d.ts +18 -0
- package/dist/internal/SwapAndBridge/hooks/useTxStateContextStore.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/hooks/useTxStateContextStore.js +22 -0
- package/dist/internal/SwapAndBridge/hooks/useTxStateContextStore.js.map +1 -0
- package/dist/internal/SwapAndBridge/utils/consts.d.ts +4 -0
- package/dist/internal/SwapAndBridge/utils/consts.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/utils/consts.js +4 -0
- package/dist/internal/SwapAndBridge/utils/consts.js.map +1 -0
- package/dist/internal/SwapAndBridge/utils/debounce.d.ts +2 -0
- package/dist/internal/SwapAndBridge/utils/debounce.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/utils/debounce.js +14 -0
- package/dist/internal/SwapAndBridge/utils/debounce.js.map +1 -0
- package/dist/internal/SwapAndBridge/utils/defaultData.d.ts +9 -0
- package/dist/internal/SwapAndBridge/utils/defaultData.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/utils/defaultData.js +71 -0
- package/dist/internal/SwapAndBridge/utils/defaultData.js.map +1 -0
- package/dist/internal/SwapAndBridge/utils/getErc20Approval.d.ts +17 -0
- package/dist/internal/SwapAndBridge/utils/getErc20Approval.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/utils/getErc20Approval.js +57 -0
- package/dist/internal/SwapAndBridge/utils/getErc20Approval.js.map +1 -0
- package/dist/internal/SwapAndBridge/utils/index.d.ts +16 -0
- package/dist/internal/SwapAndBridge/utils/index.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/utils/index.js +140 -0
- package/dist/internal/SwapAndBridge/utils/index.js.map +1 -0
- package/dist/internal/SwapAndBridge/utils/retry.d.ts +2 -0
- package/dist/internal/SwapAndBridge/utils/retry.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/utils/retry.js +33 -0
- package/dist/internal/SwapAndBridge/utils/retry.js.map +1 -0
- package/dist/internal/SwapAndBridge/utils/slippage.d.ts +3 -0
- package/dist/internal/SwapAndBridge/utils/slippage.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/utils/slippage.js +14 -0
- package/dist/internal/SwapAndBridge/utils/slippage.js.map +1 -0
- package/dist/internal/SwapAndBridge/utils/twoApprove.d.ts +47 -0
- package/dist/internal/SwapAndBridge/utils/twoApprove.d.ts.map +1 -0
- package/dist/internal/SwapAndBridge/utils/twoApprove.js +131 -0
- package/dist/internal/SwapAndBridge/utils/twoApprove.js.map +1 -0
- package/dist/internal/WidgetDataBootstrap.d.ts +3 -0
- package/dist/internal/WidgetDataBootstrap.d.ts.map +1 -0
- package/dist/internal/WidgetDataBootstrap.js +42 -0
- package/dist/internal/WidgetDataBootstrap.js.map +1 -0
- package/dist/internal/api/consts.d.ts +2 -0
- package/dist/internal/api/consts.d.ts.map +1 -0
- package/dist/internal/api/consts.js +8 -0
- package/dist/internal/api/consts.js.map +1 -0
- package/dist/internal/api/index.d.ts +8 -0
- package/dist/internal/api/index.d.ts.map +1 -0
- package/dist/internal/api/index.js +8 -0
- package/dist/internal/api/index.js.map +1 -0
- package/dist/internal/api/normalizeAssetUrl.d.ts +2 -0
- package/dist/internal/api/normalizeAssetUrl.d.ts.map +1 -0
- package/dist/internal/api/normalizeAssetUrl.js +15 -0
- package/dist/internal/api/normalizeAssetUrl.js.map +1 -0
- package/dist/internal/api/useChainsAndTokens.d.ts +61 -0
- package/dist/internal/api/useChainsAndTokens.d.ts.map +1 -0
- package/dist/internal/api/useChainsAndTokens.js +117 -0
- package/dist/internal/api/useChainsAndTokens.js.map +1 -0
- package/dist/internal/api/useGetQuote.d.ts +50 -0
- package/dist/internal/api/useGetQuote.d.ts.map +1 -0
- package/dist/internal/api/useGetQuote.js +41 -0
- package/dist/internal/api/useGetQuote.js.map +1 -0
- package/dist/internal/api/useHyperliquid.d.ts +8 -0
- package/dist/internal/api/useHyperliquid.d.ts.map +1 -0
- package/dist/internal/api/useHyperliquid.js +40 -0
- package/dist/internal/api/useHyperliquid.js.map +1 -0
- package/dist/internal/api/useIntervalGetOrderDetail.d.ts +602 -0
- package/dist/internal/api/useIntervalGetOrderDetail.d.ts.map +1 -0
- package/dist/internal/api/useIntervalGetOrderDetail.js +70 -0
- package/dist/internal/api/useIntervalGetOrderDetail.js.map +1 -0
- package/dist/internal/api/useTokenBalance.d.ts +55 -0
- package/dist/internal/api/useTokenBalance.d.ts.map +1 -0
- package/dist/internal/api/useTokenBalance.js +29 -0
- package/dist/internal/api/useTokenBalance.js.map +1 -0
- package/dist/internal/api/useTokenInfo.d.ts +53 -0
- package/dist/internal/api/useTokenInfo.d.ts.map +1 -0
- package/dist/internal/api/useTokenInfo.js +38 -0
- package/dist/internal/api/useTokenInfo.js.map +1 -0
- package/dist/internal/api/useUsdPrice.d.ts +13 -0
- package/dist/internal/api/useUsdPrice.d.ts.map +1 -0
- package/dist/internal/api/useUsdPrice.js +18 -0
- package/dist/internal/api/useUsdPrice.js.map +1 -0
- package/dist/internal/assets/icons/ai.svg +7 -0
- package/dist/internal/assets/icons/all2.svg +6 -0
- package/dist/internal/assets/icons/arrow-down.svg +4 -0
- package/dist/internal/assets/icons/arrow-fill-right.svg +5 -0
- package/dist/internal/assets/icons/arrow-right.svg +6 -0
- package/dist/internal/assets/icons/back.svg +5 -0
- package/dist/internal/assets/icons/close.svg +9 -0
- package/dist/internal/assets/icons/date.svg +9 -0
- package/dist/internal/assets/icons/ding.svg +1 -0
- package/dist/internal/assets/icons/info.svg +7 -0
- package/dist/internal/assets/icons/liked.svg +6 -0
- package/dist/internal/assets/icons/link.svg +8 -0
- package/dist/internal/assets/icons/metamask.svg +36 -0
- package/dist/internal/assets/icons/money.svg +14 -0
- package/dist/internal/assets/icons/plus.svg +5 -0
- package/dist/internal/assets/icons/router.svg +10 -0
- package/dist/internal/assets/icons/search-history.svg +6 -0
- package/dist/internal/assets/icons/search.svg +6 -0
- package/dist/internal/assets/icons/settings.svg +7 -0
- package/dist/internal/assets/icons/stab.svg +6 -0
- package/dist/internal/assets/icons/stock.svg +12 -0
- package/dist/internal/assets/icons/switch.svg +6 -0
- package/dist/internal/assets/icons/time.svg +12 -0
- package/dist/internal/assets/icons/wallet.svg +8 -0
- package/dist/internal/assets/images/ai_bot.gif +0 -0
- package/dist/internal/assets/images/default-token-icon.png +0 -0
- package/dist/internal/assets/images/error.png +0 -0
- package/dist/internal/assets/images/gas.png +0 -0
- package/dist/internal/assets/images/jth.png +0 -0
- package/dist/internal/assets/images/loader.png +0 -0
- package/dist/internal/assets/images/nabox.svg +1 -0
- package/dist/internal/assets/images/networks/1.png +0 -0
- package/dist/internal/assets/images/networks/42161.png +0 -0
- package/dist/internal/assets/images/networks/56.png +0 -0
- package/dist/internal/assets/images/networks/8453.png +0 -0
- package/dist/internal/assets/images/no_data.png +0 -0
- package/dist/internal/assets/images/success-sprites.png +0 -0
- package/dist/internal/assets/images/switch.png +0 -0
- package/dist/internal/assets/images/tokens/eth.png +0 -0
- package/dist/internal/assets/images/verified.png +0 -0
- package/dist/internal/assets/images/wheel-sprites.png +0 -0
- package/dist/internal/commons/TokenAmountHeading.d.ts +11 -0
- package/dist/internal/commons/TokenAmountHeading.d.ts.map +1 -0
- package/dist/internal/commons/TokenAmountHeading.js +20 -0
- package/dist/internal/commons/TokenAmountHeading.js.map +1 -0
- package/dist/internal/commons/TokenAmountText.d.ts +11 -0
- package/dist/internal/commons/TokenAmountText.d.ts.map +1 -0
- package/dist/internal/commons/TokenAmountText.js +20 -0
- package/dist/internal/commons/TokenAmountText.js.map +1 -0
- package/dist/internal/commons/TokenIconWithNetworkLogo.d.ts +15 -0
- package/dist/internal/commons/TokenIconWithNetworkLogo.d.ts.map +1 -0
- package/dist/internal/commons/TokenIconWithNetworkLogo.js +28 -0
- package/dist/internal/commons/TokenIconWithNetworkLogo.js.map +1 -0
- package/dist/internal/commons/index.d.ts +4 -0
- package/dist/internal/commons/index.d.ts.map +1 -0
- package/dist/internal/commons/index.js +4 -0
- package/dist/internal/commons/index.js.map +1 -0
- package/dist/internal/commons/utils.d.ts +29 -0
- package/dist/internal/commons/utils.d.ts.map +1 -0
- package/dist/internal/commons/utils.js +100 -0
- package/dist/internal/commons/utils.js.map +1 -0
- package/dist/internal/consts/chainsCatalog.d.ts +8 -0
- package/dist/internal/consts/chainsCatalog.d.ts.map +1 -0
- package/dist/internal/consts/chainsCatalog.js +116 -0
- package/dist/internal/consts/chainsCatalog.js.map +1 -0
- package/dist/internal/consts/chainsInfo.d.ts +2 -0
- package/dist/internal/consts/chainsInfo.d.ts.map +1 -0
- package/dist/internal/consts/chainsInfo.js +3 -0
- package/dist/internal/consts/chainsInfo.js.map +1 -0
- package/dist/internal/consts/giwa.d.ts +46 -0
- package/dist/internal/consts/giwa.d.ts.map +1 -0
- package/dist/internal/consts/giwa.js +30 -0
- package/dist/internal/consts/giwa.js.map +1 -0
- package/dist/internal/consts/hyperevm.d.ts +46 -0
- package/dist/internal/consts/hyperevm.d.ts.map +1 -0
- package/dist/internal/consts/hyperevm.js +30 -0
- package/dist/internal/consts/hyperevm.js.map +1 -0
- package/dist/internal/consts/index.d.ts +2 -0
- package/dist/internal/consts/index.d.ts.map +1 -0
- package/dist/internal/consts/index.js +2 -0
- package/dist/internal/consts/index.js.map +1 -0
- package/dist/internal/consts/katana.d.ts +46 -0
- package/dist/internal/consts/katana.d.ts.map +1 -0
- package/dist/internal/consts/katana.js +30 -0
- package/dist/internal/consts/katana.js.map +1 -0
- package/dist/internal/consts/mainnet.d.ts +50 -0
- package/dist/internal/consts/mainnet.d.ts.map +1 -0
- package/dist/internal/consts/mainnet.js +39 -0
- package/dist/internal/consts/mainnet.js.map +1 -0
- package/dist/internal/consts/megaeth.d.ts +46 -0
- package/dist/internal/consts/megaeth.d.ts.map +1 -0
- package/dist/internal/consts/megaeth.js +30 -0
- package/dist/internal/consts/megaeth.js.map +1 -0
- package/dist/internal/consts/metis.d.ts +47 -0
- package/dist/internal/consts/metis.d.ts.map +1 -0
- package/dist/internal/consts/metis.js +43 -0
- package/dist/internal/consts/metis.js.map +1 -0
- package/dist/internal/consts/monad.d.ts +51 -0
- package/dist/internal/consts/monad.d.ts.map +1 -0
- package/dist/internal/consts/monad.js +36 -0
- package/dist/internal/consts/monad.js.map +1 -0
- package/dist/internal/consts/plasma.d.ts +46 -0
- package/dist/internal/consts/plasma.d.ts.map +1 -0
- package/dist/internal/consts/plasma.js +30 -0
- package/dist/internal/consts/plasma.js.map +1 -0
- package/dist/internal/consts/polygonZkEvm.d.ts +46 -0
- package/dist/internal/consts/polygonZkEvm.d.ts.map +1 -0
- package/dist/internal/consts/polygonZkEvm.js +25 -0
- package/dist/internal/consts/polygonZkEvm.js.map +1 -0
- package/dist/internal/consts/rari.d.ts +46 -0
- package/dist/internal/consts/rari.d.ts.map +1 -0
- package/dist/internal/consts/rari.js +30 -0
- package/dist/internal/consts/rari.js.map +1 -0
- package/dist/internal/consts/stable.d.ts +46 -0
- package/dist/internal/consts/stable.d.ts.map +1 -0
- package/dist/internal/consts/stable.js +30 -0
- package/dist/internal/consts/stable.js.map +1 -0
- package/dist/internal/consts/stabletestnet.d.ts +46 -0
- package/dist/internal/consts/stabletestnet.d.ts.map +1 -0
- package/dist/internal/consts/stabletestnet.js +30 -0
- package/dist/internal/consts/stabletestnet.js.map +1 -0
- package/dist/internal/consts/tempo.d.ts +41 -0
- package/dist/internal/consts/tempo.d.ts.map +1 -0
- package/dist/internal/consts/tempo.js +30 -0
- package/dist/internal/consts/tempo.js.map +1 -0
- package/dist/internal/providers/ClientProviders.d.ts +4 -0
- package/dist/internal/providers/ClientProviders.d.ts.map +1 -0
- package/dist/internal/providers/ClientProviders.js +25 -0
- package/dist/internal/providers/ClientProviders.js.map +1 -0
- package/dist/internal/providers/nabox.d.ts +6 -0
- package/dist/internal/providers/nabox.d.ts.map +1 -0
- package/dist/internal/providers/nabox.js +59 -0
- package/dist/internal/providers/nabox.js.map +1 -0
- package/dist/internal/providers/wagmi.d.ts +3 -0
- package/dist/internal/providers/wagmi.d.ts.map +1 -0
- package/dist/internal/providers/wagmi.js +89 -0
- package/dist/internal/providers/wagmi.js.map +1 -0
- package/dist/internal/stores/index.d.ts +3 -0
- package/dist/internal/stores/index.d.ts.map +1 -0
- package/dist/internal/stores/index.js +3 -0
- package/dist/internal/stores/index.js.map +1 -0
- package/dist/internal/stores/useChainsStore.d.ts +15 -0
- package/dist/internal/stores/useChainsStore.d.ts.map +1 -0
- package/dist/internal/stores/useChainsStore.js +12 -0
- package/dist/internal/stores/useChainsStore.js.map +1 -0
- package/dist/internal/stores/useDifferentAddressStore.d.ts +9 -0
- package/dist/internal/stores/useDifferentAddressStore.d.ts.map +1 -0
- package/dist/internal/stores/useDifferentAddressStore.js +8 -0
- package/dist/internal/stores/useDifferentAddressStore.js.map +1 -0
- package/dist/internal/ui/BoxWithBg.d.ts +4 -0
- package/dist/internal/ui/BoxWithBg.d.ts.map +1 -0
- package/dist/internal/ui/BoxWithBg.js +6 -0
- package/dist/internal/ui/BoxWithBg.js.map +1 -0
- package/dist/internal/ui/WidgetAnimationsGlobalStyle.d.ts +2 -0
- package/dist/internal/ui/WidgetAnimationsGlobalStyle.d.ts.map +1 -0
- package/dist/internal/ui/WidgetAnimationsGlobalStyle.js +312 -0
- package/dist/internal/ui/WidgetAnimationsGlobalStyle.js.map +1 -0
- package/dist/internal/ui/color-mode.d.ts +22 -0
- package/dist/internal/ui/color-mode.d.ts.map +1 -0
- package/dist/internal/ui/color-mode.js +44 -0
- package/dist/internal/ui/color-mode.js.map +1 -0
- package/dist/internal/ui/componentRecipes/button.d.ts +123 -0
- package/dist/internal/ui/componentRecipes/button.d.ts.map +1 -0
- package/dist/internal/ui/componentRecipes/button.js +101 -0
- package/dist/internal/ui/componentRecipes/button.js.map +1 -0
- package/dist/internal/ui/componentRecipes/heading.d.ts +53 -0
- package/dist/internal/ui/componentRecipes/heading.d.ts.map +1 -0
- package/dist/internal/ui/componentRecipes/heading.js +54 -0
- package/dist/internal/ui/componentRecipes/heading.js.map +1 -0
- package/dist/internal/ui/componentRecipes/index.d.ts +4 -0
- package/dist/internal/ui/componentRecipes/index.d.ts.map +1 -0
- package/dist/internal/ui/componentRecipes/index.js +4 -0
- package/dist/internal/ui/componentRecipes/index.js.map +1 -0
- package/dist/internal/ui/componentRecipes/text.d.ts +4 -0
- package/dist/internal/ui/componentRecipes/text.d.ts.map +1 -0
- package/dist/internal/ui/componentRecipes/text.js +59 -0
- package/dist/internal/ui/componentRecipes/text.js.map +1 -0
- package/dist/internal/ui/index.d.ts +2 -0
- package/dist/internal/ui/index.d.ts.map +1 -0
- package/dist/internal/ui/index.js +2 -0
- package/dist/internal/ui/index.js.map +1 -0
- package/dist/internal/ui/provider.d.ts +5 -0
- package/dist/internal/ui/provider.d.ts.map +1 -0
- package/dist/internal/ui/provider.js +9 -0
- package/dist/internal/ui/provider.js.map +1 -0
- package/dist/internal/ui/theme.d.ts +2 -0
- package/dist/internal/ui/theme.d.ts.map +1 -0
- package/dist/internal/ui/theme.js +53 -0
- package/dist/internal/ui/theme.js.map +1 -0
- package/dist/internal/ui/toaster.d.ts +8 -0
- package/dist/internal/ui/toaster.d.ts.map +1 -0
- package/dist/internal/ui/toaster.js +19 -0
- package/dist/internal/ui/toaster.js.map +1 -0
- package/dist/internal/ui/tooltip.d.ts +17 -0
- package/dist/internal/ui/tooltip.d.ts.map +1 -0
- package/dist/internal/ui/tooltip.js +17 -0
- package/dist/internal/ui/tooltip.js.map +1 -0
- package/dist/internal/utils/address.d.ts +2 -0
- package/dist/internal/utils/address.d.ts.map +1 -0
- package/dist/internal/utils/address.js +9 -0
- package/dist/internal/utils/address.js.map +1 -0
- package/dist/internal/utils/consts.d.ts +2 -0
- package/dist/internal/utils/consts.d.ts.map +1 -0
- package/dist/internal/utils/consts.js +2 -0
- package/dist/internal/utils/consts.js.map +1 -0
- package/dist/internal/utils/format.d.ts +12 -0
- package/dist/internal/utils/format.d.ts.map +1 -0
- package/dist/internal/utils/format.js +72 -0
- package/dist/internal/utils/format.js.map +1 -0
- package/dist/internal/utils/getAssetSrc.d.ts +6 -0
- package/dist/internal/utils/getAssetSrc.d.ts.map +1 -0
- package/dist/internal/utils/getAssetSrc.js +4 -0
- package/dist/internal/utils/getAssetSrc.js.map +1 -0
- package/dist/internal/utils/getTxLink.d.ts +4 -0
- package/dist/internal/utils/getTxLink.d.ts.map +1 -0
- package/dist/internal/utils/getTxLink.js +17 -0
- package/dist/internal/utils/getTxLink.js.map +1 -0
- package/dist/internal/utils/index.d.ts +16 -0
- package/dist/internal/utils/index.d.ts.map +1 -0
- package/dist/internal/utils/index.js +33 -0
- package/dist/internal/utils/index.js.map +1 -0
- package/dist/internal/utils/localstorage.d.ts +14 -0
- package/dist/internal/utils/localstorage.d.ts.map +1 -0
- package/dist/internal/utils/localstorage.js +54 -0
- package/dist/internal/utils/localstorage.js.map +1 -0
- package/dist/internal/utils/logger.d.ts +8 -0
- package/dist/internal/utils/logger.d.ts.map +1 -0
- package/dist/internal/utils/logger.js +34 -0
- package/dist/internal/utils/logger.js.map +1 -0
- package/dist/internal/utils/shortLinkRegex.d.ts +8 -0
- package/dist/internal/utils/shortLinkRegex.d.ts.map +1 -0
- package/dist/internal/utils/shortLinkRegex.js +18 -0
- package/dist/internal/utils/shortLinkRegex.js.map +1 -0
- package/package.json +81 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/internal/SelectTokenModal/index.tsx"],"names":[],"mappings":"AAGA,OAAO,EAEL,SAAS,EAGV,MAAM,QAAQ,CAAA;AAwBf,UAAU,qBAAqB;IAC7B,MAAM,EAAE,OAAO,CAAA;IACf,oBAAoB,EAAE,OAAO,CAAA;IAC7B,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,aAAa,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAA;CAC9C;uHAOE,qBAAqB;AA8exB,wBAAqC"}
|
|
@@ -0,0 +1,274 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Dialog, Portal, VStack, Icon } from '@chakra-ui/react';
|
|
3
|
+
import { memo, useCallback, useEffect, useMemo, useState } from 'react';
|
|
4
|
+
import { useChainsAndTokens, useTokenBalance } from '../api';
|
|
5
|
+
import { Heading } from '../ui';
|
|
6
|
+
import BackIcon from '../assets/icons/back.svg';
|
|
7
|
+
import { useChainsAndTokensForSelect, useUserHasSelectedFromNetwork, useSearchTokens } from './hooks';
|
|
8
|
+
import CloseIcon from '../assets/icons/close.svg';
|
|
9
|
+
import { MobileContent } from './MobileContent';
|
|
10
|
+
import { DesktopContent } from './DesktopContent';
|
|
11
|
+
import { useAccount } from 'wagmi';
|
|
12
|
+
import { useSwapAndBridgeContextStore } from '../SwapAndBridge/hooks';
|
|
13
|
+
import { useDifferentAddressStore } from '../stores/useDifferentAddressStore';
|
|
14
|
+
import { useFavoritesContext } from './FavoritesContext';
|
|
15
|
+
import { processChains } from './utils';
|
|
16
|
+
import { ArcTestnetChainId } from '../consts';
|
|
17
|
+
import { useWheelxWidgetConfig, useWheelxWidgetStyles } from '../../config';
|
|
18
|
+
const SelectTokenModal = ({ isOpen, isSelectingFromToken, onClose, onSelectToken }) => {
|
|
19
|
+
const { mode, getAllowedChainIds, getAllowedTokens, isTokenAllowed } = useWheelxWidgetConfig();
|
|
20
|
+
const widgetStyles = useWheelxWidgetStyles();
|
|
21
|
+
const { address } = useAccount();
|
|
22
|
+
const { fromTokenInfo, toTokenInfo, isShortLink, shortLink } = useSwapAndBridgeContextStore();
|
|
23
|
+
const fromChainId = fromTokenInfo?.chain_id;
|
|
24
|
+
const toChainId = toTokenInfo?.chain_id;
|
|
25
|
+
const toChainPlatformId = toTokenInfo?.platform_id || 0;
|
|
26
|
+
const { differentAddress } = useDifferentAddressStore();
|
|
27
|
+
const { data, isLoading: isLoadingChains } = useChainsAndTokens();
|
|
28
|
+
// const chains = data?.chains
|
|
29
|
+
const isArcTestnetShortLink = useMemo(() => {
|
|
30
|
+
return isShortLink && shortLink?.toLowerCase() === '/arctestnet';
|
|
31
|
+
}, [isShortLink, shortLink]);
|
|
32
|
+
const allowedChainIds = useMemo(() => isSelectingFromToken ? getAllowedChainIds('from') : getAllowedChainIds('to'), [getAllowedChainIds, isSelectingFromToken]);
|
|
33
|
+
const allowedTokens = useMemo(() => isSelectingFromToken ? getAllowedTokens('from') : getAllowedTokens('to'), [getAllowedTokens, isSelectingFromToken]);
|
|
34
|
+
const hideChainSelector = mode === 'swap';
|
|
35
|
+
const hasChainRestriction = !!allowedChainIds;
|
|
36
|
+
const { data: userBalances, isLoading: isLoadingUserBalances, refetch: refetchUserBalances } = useTokenBalance(address);
|
|
37
|
+
const { data: userDifferentAddressBalances } = useTokenBalance(differentAddress);
|
|
38
|
+
// when modal is open, refetch user balances
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
if (isOpen && address) {
|
|
41
|
+
refetchUserBalances();
|
|
42
|
+
}
|
|
43
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
44
|
+
}, [isOpen]);
|
|
45
|
+
const [isSelectAll, setIsSelectAll] = useState(false);
|
|
46
|
+
const [selectedChain, setSelectedChain] = useState(null);
|
|
47
|
+
const [selectedChainByPlatformId, setSelectedChainByPlatformId] = useState(null);
|
|
48
|
+
const { popularChains, orderedChains, searchChains, tokens, searchChainsValue, searchTokensValue, handleSearchChains, handleSearchTokens, resetSearch, allChains } = useChainsAndTokensForSelect({
|
|
49
|
+
data,
|
|
50
|
+
selectedChain,
|
|
51
|
+
userBalances: isSelectingFromToken === false && differentAddress
|
|
52
|
+
? userDifferentAddressBalances
|
|
53
|
+
: userBalances,
|
|
54
|
+
selectedChainByPlatformId
|
|
55
|
+
});
|
|
56
|
+
const { favorites } = useFavoritesContext();
|
|
57
|
+
const allApiTokens = useMemo(() => [
|
|
58
|
+
...(data?.tokens || []),
|
|
59
|
+
...(data?.deposit_platforms?.prediction?.tokens || [])
|
|
60
|
+
], [data]);
|
|
61
|
+
const availableAllowedTokenChainIds = useMemo(() => {
|
|
62
|
+
if (!allowedTokens?.length)
|
|
63
|
+
return null;
|
|
64
|
+
const chainIds = new Set();
|
|
65
|
+
allApiTokens.forEach((token) => {
|
|
66
|
+
if (isTokenAllowed(isSelectingFromToken ? 'from' : 'to', token.chain_id, token.address)) {
|
|
67
|
+
chainIds.add(token.chain_id);
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
return chainIds;
|
|
71
|
+
}, [allApiTokens, allowedTokens, isSelectingFromToken, isTokenAllowed]);
|
|
72
|
+
const { searchTokensInfo, isLoadingSearchTokenInfo } = useSearchTokens({
|
|
73
|
+
searchTokensValue,
|
|
74
|
+
selectedChain,
|
|
75
|
+
allTokens: tokens
|
|
76
|
+
});
|
|
77
|
+
const { userHasSelectedFromNetwork, setUserHasSelectedFromNetwork } = useUserHasSelectedFromNetwork();
|
|
78
|
+
const [disableArcTestnetLimit, setDisableArcTestnetLimit] = useState(false);
|
|
79
|
+
const [tempSelectAll, setTempSelectAll] = useState(false);
|
|
80
|
+
const [tempSelectedChain, setTempSelectedChain] = useState(null);
|
|
81
|
+
const [tempSelectedPlatformId, setTempSelectedPlatformId] = useState(null);
|
|
82
|
+
useEffect(() => {
|
|
83
|
+
if (isOpen) {
|
|
84
|
+
if (hideChainSelector) {
|
|
85
|
+
setIsSelectAll(false);
|
|
86
|
+
if (isSelectingFromToken) {
|
|
87
|
+
setSelectedChain(fromChainId);
|
|
88
|
+
setSelectedChainByPlatformId(null);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
setSelectedChain(toChainId);
|
|
92
|
+
setSelectedChainByPlatformId(toChainPlatformId || null);
|
|
93
|
+
}
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
if (hasChainRestriction) {
|
|
97
|
+
const currentChainId = isSelectingFromToken ? fromChainId : toChainId;
|
|
98
|
+
const nextChainId = currentChainId && allowedChainIds?.includes(currentChainId)
|
|
99
|
+
? currentChainId
|
|
100
|
+
: (allowedChainIds?.[0] ?? null);
|
|
101
|
+
setIsSelectAll(false);
|
|
102
|
+
setSelectedChain(nextChainId);
|
|
103
|
+
setSelectedChainByPlatformId(isSelectingFromToken ? null : toChainPlatformId);
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
if (isSelectingFromToken) {
|
|
107
|
+
setDisableArcTestnetLimit(toChainId !== ArcTestnetChainId);
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
setDisableArcTestnetLimit(fromChainId !== ArcTestnetChainId);
|
|
111
|
+
}
|
|
112
|
+
if (tempSelectAll) {
|
|
113
|
+
const shouldRestoreArcTestnet = isSelectingFromToken
|
|
114
|
+
? toChainId === ArcTestnetChainId
|
|
115
|
+
: fromChainId === ArcTestnetChainId;
|
|
116
|
+
if (shouldRestoreArcTestnet && tempSelectedChain !== null) {
|
|
117
|
+
setIsSelectAll(false);
|
|
118
|
+
setSelectedChain(tempSelectedChain);
|
|
119
|
+
if (tempSelectedPlatformId !== null) {
|
|
120
|
+
setSelectedChainByPlatformId(tempSelectedPlatformId);
|
|
121
|
+
}
|
|
122
|
+
setTempSelectAll(false);
|
|
123
|
+
setTempSelectedChain(null);
|
|
124
|
+
setTempSelectedPlatformId(null);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
if (isSelectingFromToken) {
|
|
128
|
+
if (isLoadingUserBalances)
|
|
129
|
+
return;
|
|
130
|
+
if (isArcTestnetShortLink) {
|
|
131
|
+
setIsSelectAll(false);
|
|
132
|
+
setSelectedChain(ArcTestnetChainId);
|
|
133
|
+
}
|
|
134
|
+
else if (userBalances &&
|
|
135
|
+
userBalances.length > 0 &&
|
|
136
|
+
!userHasSelectedFromNetwork &&
|
|
137
|
+
!tempSelectAll) {
|
|
138
|
+
setIsSelectAll(true);
|
|
139
|
+
setSelectedChain(null);
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
setIsSelectAll(false);
|
|
143
|
+
setSelectedChain(fromChainId);
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
setIsSelectAll(false);
|
|
148
|
+
setSelectedChain(toChainId);
|
|
149
|
+
setSelectedChainByPlatformId(toChainPlatformId);
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
153
|
+
}, [
|
|
154
|
+
isOpen,
|
|
155
|
+
fromChainId,
|
|
156
|
+
toChainId,
|
|
157
|
+
toChainPlatformId,
|
|
158
|
+
isSelectingFromToken,
|
|
159
|
+
isLoadingUserBalances,
|
|
160
|
+
hideChainSelector,
|
|
161
|
+
hasChainRestriction,
|
|
162
|
+
allowedChainIds
|
|
163
|
+
]);
|
|
164
|
+
const { favoriteChains, nonFavoriteChains } = useMemo(() => {
|
|
165
|
+
return processChains(favorites, orderedChains || []);
|
|
166
|
+
}, [favorites, orderedChains]);
|
|
167
|
+
function filterChainsByConfig(items) {
|
|
168
|
+
if (!items)
|
|
169
|
+
return items;
|
|
170
|
+
return items.filter((item) => {
|
|
171
|
+
const passChain = !allowedChainIds || allowedChainIds.includes(item.chain_id);
|
|
172
|
+
const passTokenChain = !availableAllowedTokenChainIds ||
|
|
173
|
+
availableAllowedTokenChainIds.has(item.chain_id);
|
|
174
|
+
return passChain && passTokenChain;
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
function filterTokensByConfig(items) {
|
|
178
|
+
if (!items)
|
|
179
|
+
return items;
|
|
180
|
+
return items.filter((item) => {
|
|
181
|
+
const passChain = !allowedChainIds || allowedChainIds.includes(item.chain_id);
|
|
182
|
+
const passToken = !allowedTokens?.length ||
|
|
183
|
+
isTokenAllowed(isSelectingFromToken ? 'from' : 'to', item.chain_id, item.address ?? null);
|
|
184
|
+
return passChain && passToken;
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
const normalChains = useMemo(() => {
|
|
188
|
+
return filterChainsByConfig(nonFavoriteChains)?.filter((item) => !item.hasOwnProperty('platform_id'));
|
|
189
|
+
}, [allowedChainIds, availableAllowedTokenChainIds, nonFavoriteChains]);
|
|
190
|
+
const predictionChains = useMemo(() => {
|
|
191
|
+
return filterChainsByConfig(nonFavoriteChains)?.filter((item) => item.hasOwnProperty('platform_id'));
|
|
192
|
+
}, [allowedChainIds, availableAllowedTokenChainIds, nonFavoriteChains]);
|
|
193
|
+
const filteredPopularChains = useMemo(() => filterChainsByConfig(popularChains), [allowedChainIds, availableAllowedTokenChainIds, popularChains]);
|
|
194
|
+
const filteredSearchChains = useMemo(() => filterChainsByConfig(searchChains), [allowedChainIds, availableAllowedTokenChainIds, searchChains]);
|
|
195
|
+
const filteredFavoriteChains = useMemo(() => filterChainsByConfig(favoriteChains), [allowedChainIds, availableAllowedTokenChainIds, favoriteChains]);
|
|
196
|
+
const filteredTokens = useMemo(() => filterTokensByConfig(tokens), [allowedChainIds, allowedTokens, isSelectingFromToken, isTokenAllowed, tokens]);
|
|
197
|
+
const filteredSearchTokensInfo = useMemo(() => filterTokensByConfig(searchTokensInfo), [
|
|
198
|
+
allowedChainIds,
|
|
199
|
+
allowedTokens,
|
|
200
|
+
isSelectingFromToken,
|
|
201
|
+
isTokenAllowed,
|
|
202
|
+
searchTokensInfo
|
|
203
|
+
]);
|
|
204
|
+
const filteredAllChains = useMemo(() => filterChainsByConfig(allChains), [allChains, allowedChainIds, availableAllowedTokenChainIds]);
|
|
205
|
+
const handleSelectChains = useCallback((chainId, platformId) => {
|
|
206
|
+
if (allowedChainIds && !allowedChainIds.includes(chainId))
|
|
207
|
+
return;
|
|
208
|
+
if (isSelectingFromToken) {
|
|
209
|
+
setUserHasSelectedFromNetwork(true);
|
|
210
|
+
}
|
|
211
|
+
setIsSelectAll(false);
|
|
212
|
+
setSelectedChain(chainId);
|
|
213
|
+
setSelectedChainByPlatformId(platformId || null);
|
|
214
|
+
}, [allowedChainIds, isSelectingFromToken, setUserHasSelectedFromNetwork]);
|
|
215
|
+
const handleSelectAll = useCallback(() => {
|
|
216
|
+
if (hideChainSelector || hasChainRestriction)
|
|
217
|
+
return;
|
|
218
|
+
setTempSelectedChain(selectedChain);
|
|
219
|
+
setTempSelectedPlatformId(selectedChainByPlatformId);
|
|
220
|
+
setTempSelectAll(true);
|
|
221
|
+
setUserHasSelectedFromNetwork(false);
|
|
222
|
+
setIsSelectAll(true);
|
|
223
|
+
setSelectedChain(null);
|
|
224
|
+
}, [
|
|
225
|
+
hasChainRestriction,
|
|
226
|
+
hideChainSelector,
|
|
227
|
+
setUserHasSelectedFromNetwork,
|
|
228
|
+
selectedChain,
|
|
229
|
+
selectedChainByPlatformId
|
|
230
|
+
]);
|
|
231
|
+
const handleClose = useCallback(() => {
|
|
232
|
+
onClose();
|
|
233
|
+
setTimeout(() => {
|
|
234
|
+
resetSearch();
|
|
235
|
+
setIsMobileChainsOpen(false);
|
|
236
|
+
}, 100);
|
|
237
|
+
}, [onClose, resetSearch]);
|
|
238
|
+
const _onSelectToken = useCallback((tokenInfo) => {
|
|
239
|
+
setTempSelectAll(false);
|
|
240
|
+
setTempSelectedChain(null);
|
|
241
|
+
setTempSelectedPlatformId(null);
|
|
242
|
+
onSelectToken(tokenInfo);
|
|
243
|
+
handleClose();
|
|
244
|
+
}, [handleClose, onSelectToken]);
|
|
245
|
+
// mobile search
|
|
246
|
+
const [isMobileChainsOpen, setIsMobileChainsOpen] = useState(false);
|
|
247
|
+
const selectedChainInfo = filteredAllChains?.find((chain) => {
|
|
248
|
+
if (selectedChainByPlatformId) {
|
|
249
|
+
return chain.platform_id === selectedChainByPlatformId;
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
return chain.chain_id === selectedChain;
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
// console.log('selectedChainInfo', selectedChainInfo)
|
|
256
|
+
return (_jsx(Dialog.Root, { open: isOpen, onOpenChange: handleClose, placement: 'center', trapFocus: false, scrollBehavior: "outside", children: _jsxs(Portal, { children: [_jsx(Dialog.Backdrop, {}), _jsx(Dialog.Positioner, { px: 4, children: _jsxs(Dialog.Content, { pos: 'relative', p: {
|
|
257
|
+
base: 2,
|
|
258
|
+
md: 4
|
|
259
|
+
}, maxW: {
|
|
260
|
+
base: '430px',
|
|
261
|
+
md: '700px'
|
|
262
|
+
}, borderRadius: '24px', boxShadow: '0px 12px 36px 0px #007B9D59', h: 'min(85vh, 756px)', bg: 'white', ...widgetStyles.tokenModalContent, children: [_jsxs(VStack, { gap: {
|
|
263
|
+
base: 6
|
|
264
|
+
}, w: '100%', h: '100%', alignItems: 'center', children: [_jsx(Dialog.Header, { justifyContent: 'center', p: 0, children: _jsxs(Heading, { variant: {
|
|
265
|
+
base: 'heading10',
|
|
266
|
+
md: 'heading8'
|
|
267
|
+
}, mt: 1.5, ...widgetStyles.tokenModalTitleText, children: ["Select ", isSelectingFromToken ? '"From"' : '"To"', ' ', hideChainSelector ? 'token' : 'chain and token'] }) }), _jsxs(Dialog.Body, { flex: 1, w: '100%', overflow: 'hidden', p: 0, children: [_jsx(DesktopContent, { isLoading: isLoadingUserBalances ||
|
|
268
|
+
isLoadingChains ||
|
|
269
|
+
isLoadingSearchTokenInfo, searchChainsValue: searchChainsValue, handleSearchChains: handleSearchChains, isSelectAll: isSelectAll, hideChainSelector: hideChainSelector, disableSelectAll: hasChainRestriction, selectedChain: selectedChain, selectedPlatform: selectedChainByPlatformId || 0, handleSelectAll: handleSelectAll, handleSelectChains: handleSelectChains, searchTokensValue: searchTokensValue, handleSearchTokens: handleSearchTokens, onSelectToken: _onSelectToken, popularChains: filteredPopularChains, orderedChains: normalChains, favChains: filteredFavoriteChains, orderedPredictionChains: predictionChains, tokens: filteredTokens, userBalances: userBalances, searchChains: filteredSearchChains, searchTokensInfo: filteredSearchTokensInfo, isSelectingFromToken: isSelectingFromToken, chainId: selectedChain, resetSearch: resetSearch, disableArcTestnetLimit: disableArcTestnetLimit, setDisableArcTestnetLimit: setDisableArcTestnetLimit }), _jsx(MobileContent, { isLoading: isLoadingUserBalances ||
|
|
270
|
+
isLoadingChains ||
|
|
271
|
+
isLoadingSearchTokenInfo, isSelectAll: isSelectAll, hideChainSelector: hideChainSelector, disableSelectAll: hasChainRestriction, isMobileChainsOpen: isMobileChainsOpen, searchTokensValue: searchTokensValue, searchChainsValue: searchChainsValue, handleSearchTokens: handleSearchTokens, handleSearchChains: handleSearchChains, handleSelectChains: handleSelectChains, handleSelectAll: handleSelectAll, setIsMobileChainsOpen: setIsMobileChainsOpen, onSelectToken: _onSelectToken, popularChains: filteredPopularChains, orderedChains: normalChains, favChains: filteredFavoriteChains, tokens: filteredTokens, selectedChainInfo: selectedChainInfo, userBalances: userBalances, searchTokensInfo: filteredSearchTokensInfo, chainId: selectedChain, selectedChain: selectedChain, selectedPlatform: selectedChainByPlatformId || 0, orderedPredictionChains: predictionChains, resetSearch: resetSearch, isSelectingFromToken: isSelectingFromToken, disableArcTestnetLimit: disableArcTestnetLimit, setDisableArcTestnetLimit: setDisableArcTestnetLimit })] })] }), _jsx(Dialog.CloseTrigger, { left: 4, top: 3.5, right: 'auto', color: '#81728C', cursor: 'pointer', hideBelow: 'md', children: _jsx(Icon, { boxSize: '40px', as: BackIcon }) }), _jsx(Dialog.CloseTrigger, { top: 3, right: 3, left: 'auto', cursor: 'pointer', hideFrom: 'md', children: _jsx(Icon, { boxSize: '24px', color: '#81728C', as: CloseIcon }) })] }) })] }) }));
|
|
272
|
+
};
|
|
273
|
+
export default memo(SelectTokenModal);
|
|
274
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/internal/SelectTokenModal/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check if the error is a storage quota exceeded error
|
|
3
|
+
*/
|
|
4
|
+
export declare function isQuotaExceededError(err: unknown): boolean;
|
|
5
|
+
/**
|
|
6
|
+
* Check if localStorage is available (compatible with private browsing mode)
|
|
7
|
+
*/
|
|
8
|
+
export declare function isLocalStorageSupported(): boolean;
|
|
9
|
+
/**
|
|
10
|
+
* Calculate the used space of localStorage (in character count)
|
|
11
|
+
*/
|
|
12
|
+
export declare function getLSUsedSpace(): number;
|
|
13
|
+
/**
|
|
14
|
+
* Get detailed information about storage usage
|
|
15
|
+
*/
|
|
16
|
+
export interface StorageUsageInfo {
|
|
17
|
+
used: number;
|
|
18
|
+
quota: number | null;
|
|
19
|
+
percentage: number;
|
|
20
|
+
usedFormatted: string;
|
|
21
|
+
quotaFormatted: string;
|
|
22
|
+
}
|
|
23
|
+
export declare function getStorageUsage(): StorageUsageInfo;
|
|
24
|
+
/**
|
|
25
|
+
* Check if there is enough storage space for new data
|
|
26
|
+
*/
|
|
27
|
+
export declare function checkStorageSpace(dataSize: number): {
|
|
28
|
+
isSufficient: boolean;
|
|
29
|
+
message?: string;
|
|
30
|
+
usage?: StorageUsageInfo;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Safely store data, will check if there is enough space
|
|
34
|
+
*/
|
|
35
|
+
export declare function safeSetItem(key: string, data: unknown): {
|
|
36
|
+
success: boolean;
|
|
37
|
+
message?: string;
|
|
38
|
+
error?: Error;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Safely retrieve data, includes error handling
|
|
42
|
+
*/
|
|
43
|
+
export declare function safeGetItem<T>(key: string): {
|
|
44
|
+
data: T | null;
|
|
45
|
+
success: boolean;
|
|
46
|
+
error?: Error;
|
|
47
|
+
};
|
|
48
|
+
/**
|
|
49
|
+
* Clear all stored data (dangerous operation, use with caution)
|
|
50
|
+
*/
|
|
51
|
+
export declare function clearAllStorage(): {
|
|
52
|
+
success: boolean;
|
|
53
|
+
message?: string;
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=storageUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storageUtils.d.ts","sourceRoot":"","sources":["../../../src/internal/SelectTokenModal/storageUtils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAQ1D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,OAAO,CAajD;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAavC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;CACvB;AAED,wBAAgB,eAAe,IAAI,gBAAgB,CAgDlD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG;IACnD,YAAY,EAAE,OAAO,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,gBAAgB,CAAA;CACzB,CA+CA;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,OAAO,GACZ;IACD,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAiCA;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG;IAC3C,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;IACd,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd,CAoBA;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAaxE"}
|
|
@@ -0,0 +1,216 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Check if the error is a storage quota exceeded error
|
|
3
|
+
*/
|
|
4
|
+
export function isQuotaExceededError(err) {
|
|
5
|
+
return (err instanceof DOMException &&
|
|
6
|
+
(err.code === 22 ||
|
|
7
|
+
err.code === 1014 ||
|
|
8
|
+
err.name === 'QuotaExceededError' ||
|
|
9
|
+
err.name === 'NS_ERROR_DOM_QUOTA_REACHED'));
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Check if localStorage is available (compatible with private browsing mode)
|
|
13
|
+
*/
|
|
14
|
+
export function isLocalStorageSupported() {
|
|
15
|
+
if (typeof window === 'undefined' || !window.localStorage) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
const TEST_KEY = '__storage_test__';
|
|
19
|
+
try {
|
|
20
|
+
localStorage.setItem(TEST_KEY, 'test');
|
|
21
|
+
localStorage.removeItem(TEST_KEY);
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
catch (e) {
|
|
25
|
+
return isQuotaExceededError(e); // Private mode also triggers errors
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Calculate the used space of localStorage (in character count)
|
|
30
|
+
*/
|
|
31
|
+
export function getLSUsedSpace() {
|
|
32
|
+
if (typeof window === 'undefined' || !isLocalStorageSupported()) {
|
|
33
|
+
return 0;
|
|
34
|
+
}
|
|
35
|
+
return Object.keys(localStorage).reduce((total, curKey) => {
|
|
36
|
+
if (!localStorage.hasOwnProperty(curKey)) {
|
|
37
|
+
return total;
|
|
38
|
+
}
|
|
39
|
+
// Sum of key and value character counts
|
|
40
|
+
total += curKey.length + localStorage[curKey].length;
|
|
41
|
+
return total;
|
|
42
|
+
}, 0);
|
|
43
|
+
}
|
|
44
|
+
export function getStorageUsage() {
|
|
45
|
+
if (typeof window === 'undefined') {
|
|
46
|
+
return {
|
|
47
|
+
used: 0,
|
|
48
|
+
quota: null,
|
|
49
|
+
percentage: 0,
|
|
50
|
+
usedFormatted: '0 B',
|
|
51
|
+
quotaFormatted: 'Unknown'
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
try {
|
|
55
|
+
// Method 1: Precisely calculate used space
|
|
56
|
+
const usedBytes = getLSUsedSpace();
|
|
57
|
+
// Assume standard limit of 5MB (5 * 1024 * 1024 bytes)
|
|
58
|
+
const defaultQuota = 5 * 1024 * 1024;
|
|
59
|
+
const percentage = Math.round((usedBytes / defaultQuota) * 100);
|
|
60
|
+
// Format bytes to human-readable format
|
|
61
|
+
const formatBytes = (bytes) => {
|
|
62
|
+
if (bytes === 0)
|
|
63
|
+
return '0 B';
|
|
64
|
+
if (bytes < 1024) {
|
|
65
|
+
return `${bytes} B`;
|
|
66
|
+
}
|
|
67
|
+
else if (bytes < 1024 * 1024) {
|
|
68
|
+
return `${(bytes / 1024).toFixed(2)} KB`;
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
return `${(bytes / (1024 * 1024)).toFixed(2)} MB`;
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
return {
|
|
75
|
+
used: usedBytes,
|
|
76
|
+
quota: defaultQuota,
|
|
77
|
+
percentage: Math.min(percentage, 100),
|
|
78
|
+
usedFormatted: formatBytes(usedBytes),
|
|
79
|
+
quotaFormatted: formatBytes(defaultQuota)
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
catch (error) {
|
|
83
|
+
console.error('Failed to get storage usage:', error);
|
|
84
|
+
return {
|
|
85
|
+
used: 0,
|
|
86
|
+
quota: null,
|
|
87
|
+
percentage: 0,
|
|
88
|
+
usedFormatted: '0 B',
|
|
89
|
+
quotaFormatted: 'Unknown'
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Check if there is enough storage space for new data
|
|
95
|
+
*/
|
|
96
|
+
export function checkStorageSpace(dataSize) {
|
|
97
|
+
if (typeof window === 'undefined') {
|
|
98
|
+
return {
|
|
99
|
+
isSufficient: false,
|
|
100
|
+
message: 'Non-browser environment'
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
// Check if localStorage is available
|
|
104
|
+
if (!isLocalStorageSupported()) {
|
|
105
|
+
return {
|
|
106
|
+
isSufficient: false,
|
|
107
|
+
message: 'Browser does not support local storage or is in private mode'
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
try {
|
|
111
|
+
const usage = getStorageUsage();
|
|
112
|
+
if (usage.quota !== null && usage.used + dataSize > usage.quota) {
|
|
113
|
+
return {
|
|
114
|
+
isSufficient: false,
|
|
115
|
+
message: `Local storage space insufficient. Used: ${usage.usedFormatted}, Limit: ${usage.quotaFormatted}`,
|
|
116
|
+
usage
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
// If usage exceeds 80%, give warning but don't block operation
|
|
120
|
+
if (usage.percentage > 80) {
|
|
121
|
+
return {
|
|
122
|
+
isSufficient: true,
|
|
123
|
+
message: `Storage usage is high: ${usage.percentage}%`,
|
|
124
|
+
usage
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
return {
|
|
128
|
+
isSufficient: true,
|
|
129
|
+
usage
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
console.error('Failed to check storage space:', error);
|
|
134
|
+
return {
|
|
135
|
+
isSufficient: false,
|
|
136
|
+
message: 'Error occurred while checking storage space'
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Safely store data, will check if there is enough space
|
|
142
|
+
*/
|
|
143
|
+
export function safeSetItem(key, data) {
|
|
144
|
+
try {
|
|
145
|
+
// Estimate data size
|
|
146
|
+
const dataStr = JSON.stringify(data);
|
|
147
|
+
const dataSize = new TextEncoder().encode(dataStr).length;
|
|
148
|
+
// Check storage space
|
|
149
|
+
const spaceCheck = checkStorageSpace(dataSize);
|
|
150
|
+
if (!spaceCheck.isSufficient) {
|
|
151
|
+
return {
|
|
152
|
+
success: false,
|
|
153
|
+
message: spaceCheck.message
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
// Attempt to store
|
|
157
|
+
localStorage.setItem(key, dataStr);
|
|
158
|
+
return { success: true };
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
if (isQuotaExceededError(error)) {
|
|
162
|
+
return {
|
|
163
|
+
success: false,
|
|
164
|
+
message: 'Local storage space is full, unable to save data. Please clear browser cache.',
|
|
165
|
+
error: error
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
return {
|
|
169
|
+
success: false,
|
|
170
|
+
message: 'Unknown error occurred while storing data',
|
|
171
|
+
error: error
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Safely retrieve data, includes error handling
|
|
177
|
+
*/
|
|
178
|
+
export function safeGetItem(key) {
|
|
179
|
+
try {
|
|
180
|
+
if (!isLocalStorageSupported()) {
|
|
181
|
+
throw new Error('localStorage not available');
|
|
182
|
+
}
|
|
183
|
+
const item = localStorage.getItem(key);
|
|
184
|
+
if (!item) {
|
|
185
|
+
return { data: null, success: true };
|
|
186
|
+
}
|
|
187
|
+
const data = JSON.parse(item);
|
|
188
|
+
return { data, success: true };
|
|
189
|
+
}
|
|
190
|
+
catch (error) {
|
|
191
|
+
return {
|
|
192
|
+
data: null,
|
|
193
|
+
success: false,
|
|
194
|
+
error: error
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Clear all stored data (dangerous operation, use with caution)
|
|
200
|
+
*/
|
|
201
|
+
export function clearAllStorage() {
|
|
202
|
+
try {
|
|
203
|
+
if (typeof window !== 'undefined' && window.localStorage) {
|
|
204
|
+
localStorage.clear();
|
|
205
|
+
return { success: true };
|
|
206
|
+
}
|
|
207
|
+
return { success: false, message: 'localStorage not available' };
|
|
208
|
+
}
|
|
209
|
+
catch (error) {
|
|
210
|
+
return {
|
|
211
|
+
success: false,
|
|
212
|
+
message: `Failed to clear storage: ${error instanceof Error ? error.message : 'Unknown error'}`
|
|
213
|
+
};
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
//# sourceMappingURL=storageUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storageUtils.js","sourceRoot":"","sources":["../../../src/internal/SelectTokenModal/storageUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ChainInfo, TokenInfo, TokenInfoWithBalance } from '../api';
|
|
2
|
+
import { FavoriteItem } from './FavoritesContext';
|
|
3
|
+
export declare function getOrderedTokens(tokens?: TokenInfoWithBalance[], selectedChain?: number | null): TokenInfoWithBalance[] | undefined;
|
|
4
|
+
export declare function getOrderedTokensAssets(tokens?: TokenInfoWithBalance[], selectedChain?: number | null, propertyName?: string): TokenInfoWithBalance[] | undefined;
|
|
5
|
+
export declare function getOrderedTokensChainNormal(tokens?: TokenInfoWithBalance[], selectedChain?: number | null, propertyName?: string): TokenInfoWithBalance[] | undefined;
|
|
6
|
+
export declare function getOrderedTokensChainSearch(tokens?: TokenInfoWithBalance[], selectedChain?: number | null): TokenInfoWithBalance[] | undefined;
|
|
7
|
+
export declare function processChains(favorites: FavoriteItem[], allNetworks: ChainInfo[]): {
|
|
8
|
+
favoriteChains: ChainInfo[];
|
|
9
|
+
nonFavoriteChains: ChainInfo[];
|
|
10
|
+
};
|
|
11
|
+
export declare function mergeAndDeduplicateChains(arr1: ChainInfo[], arr2: ChainInfo[]): ChainInfo[];
|
|
12
|
+
export declare function mergeAndDeduplicate(arr1: TokenInfo[], arr2: TokenInfo[]): any[];
|
|
13
|
+
export declare function filterTokenByType(items: TokenInfo[], searchString: string): TokenInfo[];
|
|
14
|
+
export declare function filterTokenUnType(items: TokenInfo[], searchString: string): TokenInfo[];
|
|
15
|
+
export declare function getOrderedTokensChainPrediction(tokens?: TokenInfoWithBalance[], selectedChain?: number | null): TokenInfoWithBalance[] | undefined;
|
|
16
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/internal/SelectTokenModal/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAA;AAEnE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,wBAAgB,gBAAgB,CAC9B,MAAM,CAAC,EAAE,oBAAoB,EAAE,EAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,sCA+D9B;AAED,wBAAgB,sBAAsB,CACpC,MAAM,CAAC,EAAE,oBAAoB,EAAE,EAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,EAC7B,YAAY,CAAC,EAAE,MAAM,sCAqEtB;AACD,wBAAgB,2BAA2B,CACzC,MAAM,CAAC,EAAE,oBAAoB,EAAE,EAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,EAC7B,YAAY,CAAC,EAAE,MAAM,sCAmEtB;AAED,wBAAgB,2BAA2B,CACzC,MAAM,CAAC,EAAE,oBAAoB,EAAE,EAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,sCAyD9B;AAED,wBAAgB,aAAa,CAC3B,SAAS,EAAE,YAAY,EAAE,EACzB,WAAW,EAAE,SAAS,EAAE;;;EAUzB;AAED,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,SAAS,EAAE,EACjB,IAAI,EAAE,SAAS,EAAE,GAChB,SAAS,EAAE,CASb;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAuBvE;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,SAAS,EAAE,EAClB,YAAY,EAAE,MAAM,GACnB,SAAS,EAAE,CAEb;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,SAAS,EAAE,EAClB,YAAY,EAAE,MAAM,GACnB,SAAS,EAAE,CAEb;AAED,wBAAgB,+BAA+B,CAC7C,MAAM,CAAC,EAAE,oBAAoB,EAAE,EAC/B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,sCAgE9B"}
|