@velora-dex/widget 0.8.1-dev.0 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/SearchInput/SearchInput.js.map +1 -1
- package/dist/components/ui/accordion.js.map +1 -1
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/card.js.map +1 -1
- package/dist/components/ui/drawer.js.map +1 -1
- package/dist/components/ui/dropdown-menu.js.map +1 -1
- package/dist/components/ui/input.js.map +1 -1
- package/dist/components/ui/progress.js.map +1 -1
- package/dist/components/ui/skeleton.js.map +1 -1
- package/dist/components/ui/sonner.js.map +1 -1
- package/dist/components/ui/switch.js.map +1 -1
- package/dist/components/ui/tooltip.js.map +1 -1
- package/dist/components/web3/AccountButton.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.d.ts +1 -0
- package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.d.ts.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.js +30 -16
- package/dist/components/web3/ConnectExternalProvider/metamaskProviderWrapper.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/utils.js.map +1 -1
- package/dist/components/web3/ConnectWallets/WalletConnectButtons.js.map +1 -1
- package/dist/components/web3/ConnectWallets/index.js +1 -1
- package/dist/components/web3/ConnectWallets/index.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/button.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/connectRunner.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/iframe.js.map +1 -1
- package/dist/components/web3/ConnectWallets/privy/provider.js.map +1 -1
- package/dist/components/web3/ConnectWallets/walletFlags.js.map +1 -1
- package/dist/components/web3/ConnectWallets/walletIcons.js +1 -1
- package/dist/components/web3/ConnectWallets/walletIcons.js.map +1 -1
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
- package/dist/components/web3/providers.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/Activities.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/ActivityItems.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
- package/dist/components/widget/AppHeader/ActivityButton.js.map +1 -1
- package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
- package/dist/components/widget/AppHeader/TradeModeSwitcher.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/TradeModeSwitcher.js +61 -53
- package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
- package/dist/components/widget/AppHeader/state/showMoreAtom.js.map +1 -1
- package/dist/components/widget/BridgeList/BridgeListItem.js.map +1 -1
- package/dist/components/widget/BridgeList/BridgeProtocolsList.js.map +1 -1
- package/dist/components/widget/BridgeList/BridgesList.js.map +1 -1
- package/dist/components/widget/BridgeList/hooks.js.map +1 -1
- package/dist/components/widget/BridgePreferences/BridgePreferences.js.map +1 -1
- package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -1
- package/dist/components/widget/Button/CancelButton/CancelButton.js.map +1 -1
- package/dist/components/widget/Button/CancelButton/CancelButtonWithDrawer.js.map +1 -1
- package/dist/components/widget/Button/DismissButton.js.map +1 -1
- package/dist/components/widget/Button/RefreshButton.d.ts +3 -0
- package/dist/components/widget/Button/RefreshButton.d.ts.map +1 -0
- package/dist/components/widget/Button/RefreshButton.js +28 -0
- package/dist/components/widget/Button/RefreshButton.js.map +1 -0
- package/dist/components/widget/Button/types.d.ts +7 -0
- package/dist/components/widget/Button/types.d.ts.map +1 -0
- package/dist/components/widget/CompareQuotes/CompareQuotes.d.ts.map +1 -1
- package/dist/components/widget/CompareQuotes/CompareQuotes.js +67 -73
- package/dist/components/widget/CompareQuotes/CompareQuotes.js.map +1 -1
- package/dist/components/widget/Details/DetailWithTooltip.js.map +1 -1
- package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
- package/dist/components/widget/Details/DetailWithValueListExpandable.js.map +1 -1
- package/dist/components/widget/Details/SwapDetailsExpandable.js.map +1 -1
- package/dist/components/widget/DexesList/DexItem.js.map +1 -1
- package/dist/components/widget/DexesList/DexesList.js.map +1 -1
- package/dist/components/widget/DexesList/getDexProps.js.map +1 -1
- package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
- package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressInput.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/index.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
- package/dist/components/widget/Drawer/Overlay.js.map +1 -1
- package/dist/components/widget/Drawer/index.js.map +1 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
- package/dist/components/widget/Dropdown/DropdownWithItems.d.ts.map +1 -1
- package/dist/components/widget/Dropdown/DropdownWithItems.js +3 -2
- package/dist/components/widget/Dropdown/DropdownWithItems.js.map +1 -1
- package/dist/components/widget/Dropdown/types.d.ts +1 -1
- package/dist/components/widget/Dropdown/types.d.ts.map +1 -1
- package/dist/components/widget/Duration/Duration.js.map +1 -1
- package/dist/components/widget/Duration/utils.js.map +1 -1
- package/dist/components/widget/EnabledExchanges/EnabledExchanges.js.map +1 -1
- package/dist/components/widget/EnabledExchanges/EnabledExchangesList.js.map +1 -1
- package/dist/components/widget/EnabledList/EnabledList.js.map +1 -1
- package/dist/components/widget/FetchingQuotes/FetchingQuotes.js.map +1 -1
- package/dist/components/widget/Icon/CheckIcon.js.map +1 -1
- package/dist/components/widget/Icon/ChevronIcon.js.map +1 -1
- package/dist/components/widget/Icon/DeltaIcon.js.map +1 -1
- package/dist/components/widget/Icon/EllipseIcon.js.map +1 -1
- package/dist/components/widget/Icon/InfoIcon.js.map +1 -1
- package/dist/components/widget/Icon/MarketIcon.js.map +1 -1
- package/dist/components/widget/Icon/SliderIcon.js.map +1 -1
- package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
- package/dist/components/widget/ImportToken/useImportTokenDrawer.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +5 -8
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/constants.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
- package/dist/components/widget/LimitPriceInput/index.js +6 -6
- package/dist/components/widget/LimitPriceInput/index.js.map +1 -1
- package/dist/components/widget/Line/Line.js.map +1 -1
- package/dist/components/widget/ListItem/ListItemWithSwitch.js.map +1 -1
- package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/CompactNetworkSwitcher.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherDropdown.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/NetworkSwitcherList.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/common/AllNetworksItem.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/common/NetworkItem.js.map +1 -1
- package/dist/components/widget/NetworkSwitcher/utils/items.js.map +1 -1
- package/dist/components/widget/NetworkWithIcon/NetworkIconWithChevron.js.map +1 -1
- package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js.map +1 -1
- package/dist/components/widget/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/utils.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js +5 -8
- package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/constants.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/utils.js.map +1 -1
- package/dist/components/widget/PayReceiveInfo/PayReceiveInfo.js.map +1 -1
- package/dist/components/widget/PoweredBy/PoweredBy.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/receiverAddressAtom.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcControls.js.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/FillOtcReviewAndConfirm.js.map +1 -1
- package/dist/components/widget/ReviewAndConfirm/FillOtcReviewAndConfirm/utils.js.map +1 -1
- package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
- package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
- package/dist/components/widget/Screen/ScreenContainer.js.map +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
- package/dist/components/widget/SettingsButton/SettingsButton.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
- package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
- package/dist/components/widget/SwapRate/SwapRateWithTooltip.js.map +1 -1
- package/dist/components/widget/SwapRate/utils.js.map +1 -1
- package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.d.ts +4 -1
- package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.d.ts.map +1 -1
- package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js +51 -28
- package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js.map +1 -1
- package/dist/components/widget/Tabs/Tabs.js.map +1 -1
- package/dist/components/widget/Toasts/CustomToast.js.map +1 -1
- package/dist/components/widget/TokenBadge/TokenBadge.js.map +1 -1
- package/dist/components/widget/TokenBadge/TokenLink.js.map +1 -1
- package/dist/components/widget/TokenInput/InputContainer.js.map +1 -1
- package/dist/components/widget/TokenInput/InputField.js.map +1 -1
- package/dist/components/widget/TokenInput/InputFooter.js.map +1 -1
- package/dist/components/widget/TokenInput/InputHeader.js.map +1 -1
- package/dist/components/widget/TokenInput/common/Balance.js.map +1 -1
- package/dist/components/widget/TokenInput/common/MaxButtons.js.map +1 -1
- package/dist/components/widget/TokenInput/index.js.map +1 -1
- package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
- package/dist/components/widget/TradeOverview/CancelButtonWithDrawer.js.map +1 -1
- package/dist/components/widget/TradeOverview/CancelOrder/ConfirmCancel.js.map +1 -1
- package/dist/components/widget/TradeOverview/CancelOrder/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/Step/Step.js.map +1 -1
- package/dist/components/widget/TradeOverview/Step/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompletedDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewFooter.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewHeader.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -1
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/VerticalDash.js.map +1 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/isNonFlowStep.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
- package/dist/components/widget/TradeParameters/BridgePreferenceParameters/BridgePreferenceParameters.js.map +1 -1
- package/dist/components/widget/TradeParameters/BridgePreferenceParameters/useDraftBridgePreferencesState.js.map +1 -1
- package/dist/components/widget/TradeParameters/DegenModeConfirmation.js.map +1 -1
- package/dist/components/widget/TradeParameters/DegenModeParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/DeltaParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/EIP1559Parameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/EnabledExchangesParameters/EnabledExchangesParameters.js.map +1 -1
- package/dist/components/widget/TradeParameters/EnabledExchangesParameters/useDraftEnabledExchangesState.js.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/CustomSlippageInput.js.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/EditSlippage.js.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/hooks/useCustomSlippageProps.js.map +1 -1
- package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
- package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/protocolNameAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/resetDraftsAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/useBridgePreferences.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/slippageParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/Controls.js.map +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/TransactionDetails.js.map +1 -1
- package/dist/components/widget/TransactionDetails/LimitOrderDetails/utils.js.map +1 -1
- package/dist/components/widget/TransactionDetails/TransactionListItem.js.map +1 -1
- package/dist/components/widget/TransactionDetails/utils.js.map +1 -1
- package/dist/components/widget/Twap/CustomDurationDrawer.js.map +1 -1
- package/dist/components/widget/Twap/OrderDuration.js.map +1 -1
- package/dist/components/widget/Twap/OrderSplit.js.map +1 -1
- package/dist/components/widget/Twap/RateProtection.js.map +1 -1
- package/dist/components/widget/Twap/TwapDetailWithTooltip.js.map +1 -1
- package/dist/components/widget/Warning/InsufficientBalanceMessage.js.map +1 -1
- package/dist/components/widget/Warning/Warning.js.map +1 -1
- package/dist/components/widget/Warning/WarningMessage.js.map +1 -1
- package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
- package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
- package/dist/components/widget/YouGet/YouGet.js.map +1 -1
- package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
- package/dist/core/LimitOrderButton.js.map +1 -1
- package/dist/core/LimitOrderDetails.js.map +1 -1
- package/dist/core/OtcOrderButton.js.map +1 -1
- package/dist/core/OtcOrderDetails.js.map +1 -1
- package/dist/core/Toaster.js.map +1 -1
- package/dist/core/TradeFlowScreenButton.js.map +1 -1
- package/dist/core/TwapDetails.js.map +1 -1
- package/dist/core/Updaters.js.map +1 -1
- package/dist/core/Warnings.js.map +1 -1
- package/dist/core/across/isCrosschainPossible.js.map +1 -1
- package/dist/core/across/utils.js.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/hooks/useMaxButtonProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenSwitcherProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
- package/dist/core/inputs/hooks/useWarningMessage.js.map +1 -1
- package/dist/core/inputs/hooks/utils.js.map +1 -1
- package/dist/core/inputs/state/common.js.map +1 -1
- package/dist/core/inputs/state/inputAmountAtom.js.map +1 -1
- package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.js +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
- package/dist/core/inputs/state/subscriptions.js.map +1 -1
- package/dist/core/limit/state/deadlineAtom.js.map +1 -1
- package/dist/core/limit/state/isCrosschainAtom.js.map +1 -1
- package/dist/core/limit/state/limitInputActionsAtom.js.map +1 -1
- package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
- package/dist/core/limit/state/receiverAddressAtom.js.map +1 -1
- package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/limit/state/utils.js.map +1 -1
- package/dist/core/limit/useLimitDetailsListProps.js.map +1 -1
- package/dist/core/limit/useLimitNotSupported.js.map +1 -1
- package/dist/core/limit/useLimitPriceDifference.js.map +1 -1
- package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
- package/dist/core/limit/useLimitRate.js.map +1 -1
- package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
- package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
- package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
- package/dist/core/logger.js.map +1 -1
- package/dist/core/otc/state/deadlineAtom.js.map +1 -1
- package/dist/core/otc/state/otcInputActionsAtom.js.map +1 -1
- package/dist/core/otc/state/otcInputAmountAtom.js.map +1 -1
- package/dist/core/otc/state/receiverAddressAtom.js.map +1 -1
- package/dist/core/otc/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/otc/useOtcDetailsListProps.js.map +1 -1
- package/dist/core/otc/useOtcNotSupported.js.map +1 -1
- package/dist/core/otc/useOtcPriceDifference.js.map +1 -1
- package/dist/core/otc/useOtcPriceInputProps.js.map +1 -1
- package/dist/core/otc/useOtcTokenFromInputProps.js.map +1 -1
- package/dist/core/otc/useOtcTokenSwitcherProps.js.map +1 -1
- package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
- package/dist/core/screen/hooks/useInitialValue.js.map +1 -1
- package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -1
- package/dist/core/screen/hooks/useResizeObserver.js.map +1 -1
- package/dist/core/screen/hooks/useRunOnMount.js.map +1 -1
- package/dist/core/screen/state/hooks/useScreen.js.map +1 -1
- package/dist/core/screen/state/hooks/useScreenValue.js.map +1 -1
- package/dist/core/screen/state/hooks/useSetScreen.js.map +1 -1
- package/dist/core/screen/state/screenAtom.js.map +1 -1
- package/dist/core/state/apiConfigAtom.js.map +1 -1
- package/dist/core/state/chainToAtom.js.map +1 -1
- package/dist/core/state/configActionsAtom.js.map +1 -1
- package/dist/core/state/configAtom.js +2 -2
- package/dist/core/state/configAtom.js.map +1 -1
- package/dist/core/state/configEffectAtom.js.map +1 -1
- package/dist/core/state/containerAtom.js.map +1 -1
- package/dist/core/state/enabledChainsAtom.js.map +1 -1
- package/dist/core/state/enabledTradeModesAtom.d.ts +7 -1
- package/dist/core/state/enabledTradeModesAtom.d.ts.map +1 -1
- package/dist/core/state/enabledTradeModesAtom.js +1 -1
- package/dist/core/state/enabledTradeModesAtom.js.map +1 -1
- package/dist/core/state/externalProviderAtom.js.map +1 -1
- package/dist/core/state/getSelectableDestChains.js.map +1 -1
- package/dist/core/state/isCrosschainAtom.js.map +1 -1
- package/dist/core/state/tradeModeAtom.js +1 -1
- package/dist/core/state/tradeModeAtom.js.map +1 -1
- package/dist/core/state/validatedPartnerConfigAtom.js.map +1 -1
- package/dist/core/state/validatedReferrerConfigAtom.js.map +1 -1
- package/dist/core/state/widgetEventsAtom.js.map +1 -1
- package/dist/core/subscriptions.js.map +1 -1
- package/dist/core/swapDetails/fees.js.map +1 -1
- package/dist/core/swapDetails/maxToPay.js.map +1 -1
- package/dist/core/swapDetails/orderRouting.js.map +1 -1
- package/dist/core/swapDetails/priceImpact.js.map +1 -1
- package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
- package/dist/core/swapDetails/useSwapDetailsListProps.js +37 -31
- package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
- package/dist/core/swapDetails/youGet.js.map +1 -1
- package/dist/core/twap/state/isCrosschainAtom.js.map +1 -1
- package/dist/core/twap/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -1
- package/dist/core/twap/state/twapParamsAtom.js.map +1 -1
- package/dist/core/twap/state/twapSideAtom.js.map +1 -1
- package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -1
- package/dist/core/twap/useTwapDetailsListProps.d.ts.map +1 -1
- package/dist/core/twap/useTwapDetailsListProps.js +36 -31
- package/dist/core/twap/useTwapDetailsListProps.js.map +1 -1
- package/dist/core/twap/useTwapTokenFromInputProps.js.map +1 -1
- package/dist/core/twap/useTwapTokenSwitcherProps.js.map +1 -1
- package/dist/core/twap/useTwapTokenToInputProps.js.map +1 -1
- package/dist/events/effects/formInput.js.map +1 -1
- package/dist/events/effects/price.js.map +1 -1
- package/dist/events/effects/swapMode.js.map +1 -1
- package/dist/events/getters/limit.js.map +1 -1
- package/dist/events/getters/otc.js.map +1 -1
- package/dist/events/getters/settings.js.map +1 -1
- package/dist/events/getters/swap.js.map +1 -1
- package/dist/events/getters/twap.js.map +1 -1
- package/dist/events/getters/widgetState.js.map +1 -1
- package/dist/events/hooks/useActivateEffects.js.map +1 -1
- package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
- package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
- package/dist/external/.pnpm/vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__6feb48fe37bd41e9af5c8e81d5a6f4e1/external/vaul/dist/index.js.map +1 -1
- package/dist/hooks/batch/useAwaitCalls.js.map +1 -1
- package/dist/hooks/batch/useBatchWithApproveTxs.js.map +1 -1
- package/dist/hooks/batch/useCanBatchTxs.js.map +1 -1
- package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
- package/dist/hooks/connectors/useIsConnectedSafe.js.map +1 -1
- package/dist/hooks/connectors/useIsGnosisSafeConnector.js.map +1 -1
- package/dist/hooks/connectors/useIsSafeThroughWalletConnect.js.map +1 -1
- package/dist/hooks/gas/useGasPrices.js.map +1 -1
- package/dist/hooks/gas/utils.js.map +1 -1
- package/dist/hooks/getCode/query.js.map +1 -1
- package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
- package/dist/hooks/getCode/useIsContractAtAddress.js.map +1 -1
- package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
- package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
- package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
- package/dist/hooks/otc/mutations/utils.js.map +1 -1
- package/dist/hooks/otc/queries/useLimitOrderRequiredBalance.js.map +1 -1
- package/dist/hooks/otc/queries/useLimitOrders.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderFlow.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useFillOtcOrderStep.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useOtcOrderFlow.js.map +1 -1
- package/dist/hooks/otc/tradeFlow/useOtcOrderStep.js.map +1 -1
- package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -1
- package/dist/hooks/permit/hooks/common/useSignPermit.js.map +1 -1
- package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js.map +1 -1
- package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2Allowance.js.map +1 -1
- package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -1
- package/dist/hooks/permit/utils/constants.js.map +1 -1
- package/dist/hooks/permit/utils/construct.js.map +1 -1
- package/dist/hooks/permit/utils/deadlines.js.map +1 -1
- package/dist/hooks/permit/utils/detect.js.map +1 -1
- package/dist/hooks/permit/utils/domainSeparator.js.map +1 -1
- package/dist/hooks/permit/utils/encodeArgs.js.map +1 -1
- package/dist/hooks/permit/utils/trySignPermit1.js.map +1 -1
- package/dist/hooks/permit/utils/utils.js.map +1 -1
- package/dist/hooks/sdk/useGetContracts.js.map +1 -1
- package/dist/hooks/sdk/useSpender.js.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useDeltaOrderToPost.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/effect.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/storage.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrderPreConditions.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/factory.js.map +1 -1
- package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
- package/dist/hooks/swap/prices/market/mutations/useSendMarketSwapTx.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/dexesList/useDexesList.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/errors.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts +4 -7
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +28 -24
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -1
- package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/errors.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermitEvents.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useBatchWrapAndApprove.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js.map +1 -1
- package/dist/hooks/tokens/allowance/useGenericTokenAllowance.js.map +1 -1
- package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
- package/dist/hooks/tokens/allowance/utils.js.map +1 -1
- package/dist/hooks/tokens/balances/queries.js.map +1 -1
- package/dist/hooks/tokens/balances/useAttachTokenBalanceMultichain.js.map +1 -1
- package/dist/hooks/tokens/balances/useInvalidateTokenData.js.map +1 -1
- package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
- package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
- package/dist/hooks/tokens/balances/useMultichainTokenBalances.js.map +1 -1
- package/dist/hooks/tokens/balances/useSelectedTokenBalances.js.map +1 -1
- package/dist/hooks/tokens/balances/useTokenBalance.js.map +1 -1
- package/dist/hooks/tokens/data/useCombineTokensWithFetched.js.map +1 -1
- package/dist/hooks/tokens/data/useFetchTokens.js.map +1 -1
- package/dist/hooks/tokens/data/useMultichainTokensData.js.map +1 -1
- package/dist/hooks/tokens/prices/queries.js.map +1 -1
- package/dist/hooks/tokens/prices/useMultichainTokenPrices.js.map +1 -1
- package/dist/hooks/tokens/prices/useTokenPrices.js.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
- package/dist/hooks/tokens/useNativeToken.js.map +1 -1
- package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -1
- package/dist/hooks/tokens/useTokensByAddress.js.map +1 -1
- package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
- package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
- package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
- package/dist/hooks/txs/mutations/useReplaceTx.js.map +1 -1
- package/dist/hooks/txs/mutations/useSendTx.js.map +1 -1
- package/dist/hooks/txs/queries/useAccountNonce.js.map +1 -1
- package/dist/hooks/txs/queries/useAwaitTx.js.map +1 -1
- package/dist/hooks/txs/queries/useTxFees.js.map +1 -1
- package/dist/hooks/txs/queries/useTxHistory.js.map +1 -1
- package/dist/hooks/txs/queries/useTxResponse.js.map +1 -1
- package/dist/hooks/txs/queries/useWalletCanReplaceTx.js.map +1 -1
- package/dist/hooks/txs/queries/utils.js.map +1 -1
- package/dist/hooks/useAvailableCrosses.js.map +1 -1
- package/dist/hooks/useBreakpoints.js.map +1 -1
- package/dist/hooks/useBridgeInfo.js.map +1 -1
- package/dist/hooks/useBridgeProtocols.js.map +1 -1
- package/dist/hooks/useCachedQueryError.js.map +1 -1
- package/dist/hooks/useChainMatches.js.map +1 -1
- package/dist/hooks/useClickOutside.js.map +1 -1
- package/dist/hooks/useCurrentChain.js.map +1 -1
- package/dist/hooks/useDebouncedInputState.js.map +1 -1
- package/dist/hooks/useEIP1559Enabled.js.map +1 -1
- package/dist/hooks/useGlobalDeltaEnabled.js.map +1 -1
- package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
- package/dist/hooks/useMinViemClient.js.map +1 -1
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/hooks/useSelectableDestChains.js.map +1 -1
- package/dist/hooks/useSlippage.js.map +1 -1
- package/dist/hooks/useSwitchChainWithGuard.js.map +1 -1
- package/dist/lib/constants/urls.js.map +1 -1
- package/dist/lib/ipfs.js.map +1 -1
- package/dist/lib/queryClient.js.map +1 -1
- package/dist/lib/tradeMode.d.ts +1 -0
- package/dist/lib/tradeMode.d.ts.map +1 -1
- package/dist/lib/tradeMode.js +4 -1
- package/dist/lib/tradeMode.js.map +1 -1
- package/dist/lib/utils/approval.js.map +1 -1
- package/dist/lib/utils/atomWithCompare.js.map +1 -1
- package/dist/lib/utils/copyToClipboard.js.map +1 -1
- package/dist/lib/utils/delta.js.map +1 -1
- package/dist/lib/utils/dexes.js.map +1 -1
- package/dist/lib/utils/explorer.js.map +1 -1
- package/dist/lib/utils/fee.js.map +1 -1
- package/dist/lib/utils/formatFiatPrice.js.map +1 -1
- package/dist/lib/utils/formatPercent.js.map +1 -1
- package/dist/lib/utils/formatTokenBalance.js.map +1 -1
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/utils/logger.js.map +1 -1
- package/dist/lib/utils/metabase.js.map +1 -1
- package/dist/lib/utils/mobile.js.map +1 -1
- package/dist/lib/utils/price.js.map +1 -1
- package/dist/lib/utils/priceImpact.js.map +1 -1
- package/dist/lib/utils/providerErrors.js.map +1 -1
- package/dist/lib/utils/rate.js.map +1 -1
- package/dist/lib/utils/removeZeroDecimals.js.map +1 -1
- package/dist/lib/utils/savedAmountUSD.js.map +1 -1
- package/dist/lib/utils/scaleFactor.js.map +1 -1
- package/dist/lib/utils/slippage.js.map +1 -1
- package/dist/lib/utils/time.js.map +1 -1
- package/dist/lib/utils/toDecimal.js.map +1 -1
- package/dist/lib/utils/toasts.js.map +1 -1
- package/dist/lib/utils/tradeFlow.js.map +1 -1
- package/dist/lib/utils/transactionHandlers.js.map +1 -1
- package/dist/lib/utils/tuple.js.map +1 -1
- package/dist/lib/utils/twap.js.map +1 -1
- package/dist/lib/utils/useDateNow.js.map +1 -1
- package/dist/lib/web3/wagmi/config.d.ts +0 -18
- package/dist/lib/web3/wagmi/config.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/config.js +19 -6
- package/dist/lib/web3/wagmi/config.js.map +1 -1
- package/dist/lib/web3/wagmi/external.js.map +1 -1
- package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
- package/dist/lib/web3/wagmi/switchChain.js.map +1 -1
- package/dist/lib/web3/wagmi/utils.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/tokens/blacklist.js.map +1 -1
- package/dist/tokens/constructor.js.map +1 -1
- package/dist/tokens/defaultTokens.js.map +1 -1
- package/dist/tokens/hooks.js.map +1 -1
- package/dist/tokens/lists/constants.js.map +1 -1
- package/dist/tokens/lists/download.js.map +1 -1
- package/dist/tokens/lists/state/effects.js.map +1 -1
- package/dist/tokens/lists/state/tokenListsActionsAtom.js.map +1 -1
- package/dist/tokens/lists/state/tokenListsStateAtom.js.map +1 -1
- package/dist/tokens/overrides.js.map +1 -1
- package/dist/tokens/queries.js.map +1 -1
- package/dist/tokens/stabeCoins/hooks.js.map +1 -1
- package/dist/tokens/stabeCoins/index.js.map +1 -1
- package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
- package/dist/tokens/state/allTokensByChainAtom.js.map +1 -1
- package/dist/tokens/state/constructTokens.js.map +1 -1
- package/dist/tokens/state/fromListsAtom.js.map +1 -1
- package/dist/tokens/utils/areTokensSame.js.map +1 -1
- package/dist/tokens/utils/brand.js.map +1 -1
- package/dist/tokens/utils/eth.js.map +1 -1
- package/dist/tokens/utils/filtering.js.map +1 -1
- package/dist/tokens/utils/sets.js.map +1 -1
- package/dist/tokens/utils/sorting.js.map +1 -1
- package/dist/tokens/utils/transferAmountsFromReceipt.js.map +1 -1
- package/dist/transactions/hash.js.map +1 -1
- package/dist/transactions/queries/ensureCallsStatus.js.map +1 -1
- package/dist/transactions/queries/ensureEstimateFeesPerGas.js.map +1 -1
- package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
- package/dist/transactions/queries/ensureTxResponse.js.map +1 -1
- package/dist/transactions/state/effects/finalize.js.map +1 -1
- package/dist/transactions/state/hooks/useActivateEffects.js.map +1 -1
- package/dist/transactions/state/hooks/useMarkTxAsDropped.js.map +1 -1
- package/dist/transactions/state/hooks/useTransactions.js.map +1 -1
- package/dist/transactions/state/transactionsActionAtom.js.map +1 -1
- package/dist/transactions/state/transactionsAtom.js.map +1 -1
- package/dist/transactions/status.js.map +1 -1
- package/dist/transactions/utils.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TradeFlowScreenButton.js","names":["Button","MinTradeOverviewProps","cn","BridgePrice","DeltaPrice","OptimalRate","useAccount","useSetScreen","useWidgetEvents","UserDefinedLimitPrice","UserDefinedOtcPrice","DeltaOrBridgePrice","BaseTradeFlowButtonProps","React","ComponentProps","orderProps","labelOverride","SwapTradeFlowButtonProps","price","priceMode","SwapTradeFlowScreenButton","t0","$","_c","buttonProps","onSwap","showTradeOverviewScreen","closeScreen","isConnected","disabled","onClick","event","name","params","swapMode","flowType","flowProps","marketPrice","onClose","deltaPrice","T0","t1","t2","t3","className","t4","t5","LimitOrderTradeFlowButtonProps","limitPrice","LimitTradeFlowScreenButton","onLimitOrder","OtcOrderTradeFlowButtonProps","otcPrice","OtcTradeFlowScreenButton","onOTCOrder","TwapTradeFlowButtonProps","twapPrice","TwapTradeFlowScreenButton","onTwapOrder"],"sources":["../../src/core/TradeFlowScreenButton.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\nimport { cn } from \"@/lib/utils\";\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport { useAccount } from \"wagmi\";\nimport { useSetScreen } from \"./screen/state/hooks/useSetScreen\";\nimport { useWidgetEvents } from \"./state/widgetEventsAtom\";\n\nimport type { UserDefinedLimitPrice } from \"@/hooks/swap/tradeFlow/useLimitOrderFlow\";\nimport type { UserDefinedOtcPrice } from \"@/hooks/otc/tradeFlow/useOtcOrderFlow\";\nimport type { DeltaOrBridgePrice } from \"@/hooks/swap/prices/types\";\n\ntype BaseTradeFlowButtonProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n labelOverride?: string;\n};\n\ntype SwapTradeFlowButtonProps = BaseTradeFlowButtonProps &\n (\n | { price?: OptimalRate; priceMode: \"market\" }\n | { price?: DeltaPrice | BridgePrice; priceMode: \"delta\" }\n );\nexport function SwapTradeFlowScreenButton({\n orderProps,\n price,\n priceMode,\n labelOverride,\n ...buttonProps\n}: SwapTradeFlowButtonProps) {\n const { onSwap } = useWidgetEvents();\n const { showTradeOverviewScreen, closeScreen } = useSetScreen();\n\n const { isConnected } = useAccount();\n\n const disabled =\n buttonProps.disabled || !isConnected || !orderProps || !price;\n\n const onClick =\n orderProps && price\n ? () => {\n if (priceMode === \"market\") {\n onSwap?.({\n event: {\n name: \"Swap:click\",\n params: {\n swapMode: priceMode,\n price,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"marketSwap\",\n flowProps: {\n orderProps,\n marketPrice: price,\n onClose: closeScreen,\n },\n });\n } else if (priceMode === \"delta\") {\n onSwap?.({\n event: {\n name: \"Swap:click\",\n params: {\n swapMode: priceMode,\n price,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"deltaOrder\",\n flowProps: {\n orderProps,\n deltaPrice: price,\n onClose: closeScreen,\n },\n });\n }\n }\n : buttonProps.onClick;\n\n return (\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={disabled}\n >\n {labelOverride || \"Swap\"}\n </Button>\n );\n}\n\ntype LimitOrderTradeFlowButtonProps = BaseTradeFlowButtonProps & {\n limitPrice?: UserDefinedLimitPrice;\n};\n\nexport function LimitTradeFlowScreenButton({\n orderProps,\n limitPrice,\n labelOverride,\n ...buttonProps\n}: LimitOrderTradeFlowButtonProps) {\n const { onLimitOrder } = useWidgetEvents();\n const { showTradeOverviewScreen, closeScreen } = useSetScreen();\n\n const { isConnected } = useAccount();\n\n const disabled =\n buttonProps.disabled || !isConnected || !orderProps || !limitPrice;\n\n const onClick =\n orderProps && limitPrice\n ? () => {\n onLimitOrder?.({\n event: {\n name: \"LimitOrder:click\",\n params: {\n price: limitPrice,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"limitOrder\",\n flowProps: {\n orderProps,\n limitPrice,\n onClose: closeScreen,\n },\n });\n }\n : buttonProps.onClick;\n\n return (\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={disabled}\n >\n {labelOverride || \"Review Order\"}\n </Button>\n );\n}\n\ntype OtcOrderTradeFlowButtonProps = BaseTradeFlowButtonProps & {\n otcPrice?: UserDefinedOtcPrice;\n};\n\nexport function OtcTradeFlowScreenButton({\n orderProps,\n otcPrice,\n labelOverride,\n ...buttonProps\n}: OtcOrderTradeFlowButtonProps) {\n const { onOTCOrder } = useWidgetEvents();\n const { showTradeOverviewScreen, closeScreen } = useSetScreen();\n\n const { isConnected } = useAccount();\n\n const disabled =\n buttonProps.disabled || !isConnected || !orderProps || !otcPrice;\n\n const onClick =\n orderProps && otcPrice\n ? () => {\n onOTCOrder?.({\n event: {\n name: \"OTCOrder:click\",\n params: {\n price: otcPrice,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"otcOrder\",\n flowProps: {\n orderProps,\n otcPrice,\n onClose: closeScreen,\n },\n });\n }\n : buttonProps.onClick;\n\n return (\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={disabled}\n >\n {labelOverride || \"Review Order\"}\n </Button>\n );\n}\n\ntype TwapTradeFlowButtonProps = BaseTradeFlowButtonProps & {\n twapPrice?: DeltaOrBridgePrice;\n};\n\nexport function TwapTradeFlowScreenButton({\n orderProps,\n twapPrice,\n labelOverride,\n ...buttonProps\n}: TwapTradeFlowButtonProps) {\n const { onTwapOrder } = useWidgetEvents();\n const { showTradeOverviewScreen, closeScreen } = useSetScreen();\n\n const { isConnected } = useAccount();\n\n const disabled =\n buttonProps.disabled || !isConnected || !orderProps || !twapPrice;\n\n const onClick =\n orderProps && twapPrice\n ? () => {\n onTwapOrder?.({\n event: {\n name: \"TwapOrder:click\",\n params: {\n price: twapPrice,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"twapOrder\",\n flowProps: {\n orderProps,\n twapPrice,\n onClose: closeScreen,\n },\n });\n }\n : buttonProps.onClick;\n\n return (\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={disabled}\n >\n {labelOverride || \"Confirm\"}\n </Button>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TradeFlowScreenButton.js","names":["Button","MinTradeOverviewProps","cn","BridgePrice","DeltaPrice","OptimalRate","useAccount","useSetScreen","useWidgetEvents","UserDefinedLimitPrice","UserDefinedOtcPrice","DeltaOrBridgePrice","BaseTradeFlowButtonProps","React","ComponentProps","orderProps","labelOverride","SwapTradeFlowButtonProps","price","priceMode","SwapTradeFlowScreenButton","t0","$","_c","buttonProps","onSwap","showTradeOverviewScreen","closeScreen","isConnected","disabled","onClick","event","name","params","swapMode","flowType","flowProps","marketPrice","onClose","deltaPrice","T0","t1","t2","t3","className","t4","t5","LimitOrderTradeFlowButtonProps","limitPrice","LimitTradeFlowScreenButton","onLimitOrder","OtcOrderTradeFlowButtonProps","otcPrice","OtcTradeFlowScreenButton","onOTCOrder","TwapTradeFlowButtonProps","twapPrice","TwapTradeFlowScreenButton","onTwapOrder"],"sources":["../../src/core/TradeFlowScreenButton.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\nimport { cn } from \"@/lib/utils\";\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport { useAccount } from \"wagmi\";\nimport { useSetScreen } from \"./screen/state/hooks/useSetScreen\";\nimport { useWidgetEvents } from \"./state/widgetEventsAtom\";\n\nimport type { UserDefinedLimitPrice } from \"@/hooks/swap/tradeFlow/useLimitOrderFlow\";\nimport type { UserDefinedOtcPrice } from \"@/hooks/otc/tradeFlow/useOtcOrderFlow\";\nimport type { DeltaOrBridgePrice } from \"@/hooks/swap/prices/types\";\n\ntype BaseTradeFlowButtonProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n labelOverride?: string;\n};\n\ntype SwapTradeFlowButtonProps = BaseTradeFlowButtonProps &\n (\n | { price?: OptimalRate; priceMode: \"market\" }\n | { price?: DeltaPrice | BridgePrice; priceMode: \"delta\" }\n );\nexport function SwapTradeFlowScreenButton({\n orderProps,\n price,\n priceMode,\n labelOverride,\n ...buttonProps\n}: SwapTradeFlowButtonProps) {\n const { onSwap } = useWidgetEvents();\n const { showTradeOverviewScreen, closeScreen } = useSetScreen();\n\n const { isConnected } = useAccount();\n\n const disabled =\n buttonProps.disabled || !isConnected || !orderProps || !price;\n\n const onClick =\n orderProps && price\n ? () => {\n if (priceMode === \"market\") {\n onSwap?.({\n event: {\n name: \"Swap:click\",\n params: {\n swapMode: priceMode,\n price,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"marketSwap\",\n flowProps: {\n orderProps,\n marketPrice: price,\n onClose: closeScreen,\n },\n });\n } else if (priceMode === \"delta\") {\n onSwap?.({\n event: {\n name: \"Swap:click\",\n params: {\n swapMode: priceMode,\n price,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"deltaOrder\",\n flowProps: {\n orderProps,\n deltaPrice: price,\n onClose: closeScreen,\n },\n });\n }\n }\n : buttonProps.onClick;\n\n return (\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={disabled}\n >\n {labelOverride || \"Swap\"}\n </Button>\n );\n}\n\ntype LimitOrderTradeFlowButtonProps = BaseTradeFlowButtonProps & {\n limitPrice?: UserDefinedLimitPrice;\n};\n\nexport function LimitTradeFlowScreenButton({\n orderProps,\n limitPrice,\n labelOverride,\n ...buttonProps\n}: LimitOrderTradeFlowButtonProps) {\n const { onLimitOrder } = useWidgetEvents();\n const { showTradeOverviewScreen, closeScreen } = useSetScreen();\n\n const { isConnected } = useAccount();\n\n const disabled =\n buttonProps.disabled || !isConnected || !orderProps || !limitPrice;\n\n const onClick =\n orderProps && limitPrice\n ? () => {\n onLimitOrder?.({\n event: {\n name: \"LimitOrder:click\",\n params: {\n price: limitPrice,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"limitOrder\",\n flowProps: {\n orderProps,\n limitPrice,\n onClose: closeScreen,\n },\n });\n }\n : buttonProps.onClick;\n\n return (\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={disabled}\n >\n {labelOverride || \"Review Order\"}\n </Button>\n );\n}\n\ntype OtcOrderTradeFlowButtonProps = BaseTradeFlowButtonProps & {\n otcPrice?: UserDefinedOtcPrice;\n};\n\nexport function OtcTradeFlowScreenButton({\n orderProps,\n otcPrice,\n labelOverride,\n ...buttonProps\n}: OtcOrderTradeFlowButtonProps) {\n const { onOTCOrder } = useWidgetEvents();\n const { showTradeOverviewScreen, closeScreen } = useSetScreen();\n\n const { isConnected } = useAccount();\n\n const disabled =\n buttonProps.disabled || !isConnected || !orderProps || !otcPrice;\n\n const onClick =\n orderProps && otcPrice\n ? () => {\n onOTCOrder?.({\n event: {\n name: \"OTCOrder:click\",\n params: {\n price: otcPrice,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"otcOrder\",\n flowProps: {\n orderProps,\n otcPrice,\n onClose: closeScreen,\n },\n });\n }\n : buttonProps.onClick;\n\n return (\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={disabled}\n >\n {labelOverride || \"Review Order\"}\n </Button>\n );\n}\n\ntype TwapTradeFlowButtonProps = BaseTradeFlowButtonProps & {\n twapPrice?: DeltaOrBridgePrice;\n};\n\nexport function TwapTradeFlowScreenButton({\n orderProps,\n twapPrice,\n labelOverride,\n ...buttonProps\n}: TwapTradeFlowButtonProps) {\n const { onTwapOrder } = useWidgetEvents();\n const { showTradeOverviewScreen, closeScreen } = useSetScreen();\n\n const { isConnected } = useAccount();\n\n const disabled =\n buttonProps.disabled || !isConnected || !orderProps || !twapPrice;\n\n const onClick =\n orderProps && twapPrice\n ? () => {\n onTwapOrder?.({\n event: {\n name: \"TwapOrder:click\",\n params: {\n price: twapPrice,\n },\n },\n });\n showTradeOverviewScreen({\n flowType: \"twapOrder\",\n flowProps: {\n orderProps,\n twapPrice,\n onClose: closeScreen,\n },\n });\n }\n : buttonProps.onClick;\n\n return (\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={disabled}\n >\n {labelOverride || \"Confirm\"}\n </Button>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TwapDetails.js","names":["DetailWithValueListExpandable","useTwapDetailsListProps","TwapDetails","$","_c","props","t0"],"sources":["../../src/core/TwapDetails.tsx"],"sourcesContent":["import { DetailWithValueListExpandable } from \"@/components/widget/Details/DetailWithValueListExpandable\";\nimport { useTwapDetailsListProps } from \"./twap/useTwapDetailsListProps\";\n\nexport const TwapDetails = () => {\n const props = useTwapDetailsListProps();\n if (!props) return null;\n return <DetailWithValueListExpandable {...props} />;\n};\n"],"mappings":";;;;;AAGA,IAAaE,UAAc;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACzBC,IAAcJ,GAAyB;
|
|
1
|
+
{"version":3,"file":"TwapDetails.js","names":["DetailWithValueListExpandable","useTwapDetailsListProps","TwapDetails","$","_c","props","t0"],"sources":["../../src/core/TwapDetails.tsx"],"sourcesContent":["import { DetailWithValueListExpandable } from \"@/components/widget/Details/DetailWithValueListExpandable\";\nimport { useTwapDetailsListProps } from \"./twap/useTwapDetailsListProps\";\n\nexport const TwapDetails = () => {\n const props = useTwapDetailsListProps();\n if (!props) return null;\n return <DetailWithValueListExpandable {...props} />;\n};\n"],"mappings":";;;;;AAGA,IAAaE,UAAc;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACzBC,IAAcJ,GAAyB;CACvC,IAAI,CAACI,GAAK,OAAS;CAAK,IAAAC;CAC2B,OAD3BH,EAAA,OAAAE,IAC2BC,IAAAH,EAAA,MAA5CG,IAAA,kBAAC,GAAD,EAA8B,GAAKD,GAAS,CAAA,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAG,IAA5CA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Updaters.js","names":["useTokenFromPermit1Nonce","useTokenFromPermit2TransferFromNonce","useTokenFromPermit2AllowanceQuery","useTokenFromPermitInfo","useGetContracts","useGetBridgeInfo","useFetchTokenLists","usePrefetchTokenBalances","useSafeInfo","useCanBatchTxs","useOnWalletConnected","useActivateEffects","useActivateEventEffects","useActivateTransactionEffects","useActivateTokenListEffects","useActivateFormInputEffects","useActivateConfigEffect","useOnPriceUpdates","useBridgeProtocolsQuery","useCacheMinViemClient","useIsAccountContract","useWatchWalletMetadata","useActivateUnpostedOrdersEffect","Updaters","$","_c","t0","Symbol","for","mode","t1"],"sources":["../../src/core/Updaters.tsx"],"sourcesContent":["import { useTokenFromPermit1Nonce } from \"@/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce\";\nimport { useTokenFromPermit2TransferFromNonce } from \"@/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce\";\nimport { useTokenFromPermit2AllowanceQuery } from \"@/hooks/permit/hooks/permit2/useTokenFromPermit2Allowance\";\nimport { useTokenFromPermitInfo } from \"@/hooks/permit/hooks/permit1/useTokenFromPermitInfo\";\nimport { useGetContracts } from \"@/hooks/sdk/useGetContracts\";\nimport { useGetBridgeInfo } from \"@/hooks/useBridgeInfo\";\nimport { useFetchTokenLists } from \"@/tokens/queries\";\nimport { usePrefetchTokenBalances } from \"@/hooks/tokens/useAllTokensWithFilter\";\nimport { useSafeInfo } from \"@/lib/web3/wagmi/isInsideSafeIframe\";\nimport { useCanBatchTxs } from \"@/hooks/batch/useCanBatchTxs\";\nimport { useOnWalletConnected } from \"@/events/hooks/useOnWalletConnect\";\nimport { useActivateEffects as useActivateEventEffects } from \"@/events/hooks/useActivateEffects\";\nimport { useActivateEffects as useActivateTransactionEffects } from \"@/transactions/state/hooks/useActivateEffects\";\nimport { useActivateEffects as useActivateTokenListEffects } from \"@/tokens/lists/state/effects\";\nimport { useActivateFormInputEffects } from \"./inputs/state/setTokenByAddressAtom\";\nimport { useActivateConfigEffect } from \"./state/configEffectAtom\";\nimport { useOnPriceUpdates } from \"@/events/hooks/useOnPriceUpdates\";\nimport { useBridgeProtocolsQuery } from \"@/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols\";\nimport { useCacheMinViemClient } from \"@/hooks/useMinViemClient\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useWatchWalletMetadata } from \"@/components/web3/ConnectWallets/walletIcons\";\nimport { useActivateUnpostedOrdersEffect } from \"@/hooks/swap/prices/delta/orders/unposted/effect\";\n\nexport const Updaters = () => {\n // fetch tokens from currently enabled lists\n useFetchTokenLists();\n // activate effects for token lists\n useActivateTokenListEffects();\n\n // all balances that would be fetched in TokenSelector for current chain\n usePrefetchTokenBalances();\n useGetBridgeInfo({ mode: \"swap\" }); // @TODO: prefetch instead\n useGetBridgeInfo({ mode: \"limit\" });\n useGetContracts(); // @TODO: prefetch instead\n useBridgeProtocolsQuery();\n\n // for each selected tokenFrom detect its supported Permit1\n useTokenFromPermitInfo();\n // for each selected tokenFrom keep track of Token.nonce if available on Token\n useTokenFromPermit1Nonce();\n // for each selected tokenFrom keep track of given allowance to Permit2 contract\n useTokenFromPermit2AllowanceQuery();\n // global Permit2 TransferFrom nonce, not token-specific but for chain=Token.network\n useTokenFromPermit2TransferFromNonce();\n\n // check if wallet is a contract on every network\n useIsAccountContract();\n // keep fresh wallet metadata for all connections\n useWatchWalletMetadata();\n\n // check ahead of opening ConnectWallets drawer to prevent Safe button appearing\n // if we are not in a non-Safe iframe\n useSafeInfo();\n\n // check if wallet can batch txs\n useCanBatchTxs();\n\n // events when wallet is connected\n useOnWalletConnected();\n\n // events when price state updates\n useOnPriceUpdates();\n\n // activate effects for state atoms\n useActivateEventEffects();\n\n // activate effects for transaction atoms\n useActivateTransactionEffects();\n\n // activate effects for form input atoms\n useActivateFormInputEffects();\n\n // activate widget config effects\n useActivateConfigEffect();\n\n // POST unposted orders effect\n useActivateUnpostedOrdersEffect();\n\n // keep one subscriber to useConnectorClient query at all times\n // to avoid async client creation on useMinViemClient mount\n // and first minClient being undefined for a short time\n useCacheMinViemClient();\n\n return null;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAuBA,IAAauB,UAAW;CAAA,IAAAC,IAAAC,EAAA,EAAA;
|
|
1
|
+
{"version":3,"file":"Updaters.js","names":["useTokenFromPermit1Nonce","useTokenFromPermit2TransferFromNonce","useTokenFromPermit2AllowanceQuery","useTokenFromPermitInfo","useGetContracts","useGetBridgeInfo","useFetchTokenLists","usePrefetchTokenBalances","useSafeInfo","useCanBatchTxs","useOnWalletConnected","useActivateEffects","useActivateEventEffects","useActivateTransactionEffects","useActivateTokenListEffects","useActivateFormInputEffects","useActivateConfigEffect","useOnPriceUpdates","useBridgeProtocolsQuery","useCacheMinViemClient","useIsAccountContract","useWatchWalletMetadata","useActivateUnpostedOrdersEffect","Updaters","$","_c","t0","Symbol","for","mode","t1"],"sources":["../../src/core/Updaters.tsx"],"sourcesContent":["import { useTokenFromPermit1Nonce } from \"@/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce\";\nimport { useTokenFromPermit2TransferFromNonce } from \"@/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce\";\nimport { useTokenFromPermit2AllowanceQuery } from \"@/hooks/permit/hooks/permit2/useTokenFromPermit2Allowance\";\nimport { useTokenFromPermitInfo } from \"@/hooks/permit/hooks/permit1/useTokenFromPermitInfo\";\nimport { useGetContracts } from \"@/hooks/sdk/useGetContracts\";\nimport { useGetBridgeInfo } from \"@/hooks/useBridgeInfo\";\nimport { useFetchTokenLists } from \"@/tokens/queries\";\nimport { usePrefetchTokenBalances } from \"@/hooks/tokens/useAllTokensWithFilter\";\nimport { useSafeInfo } from \"@/lib/web3/wagmi/isInsideSafeIframe\";\nimport { useCanBatchTxs } from \"@/hooks/batch/useCanBatchTxs\";\nimport { useOnWalletConnected } from \"@/events/hooks/useOnWalletConnect\";\nimport { useActivateEffects as useActivateEventEffects } from \"@/events/hooks/useActivateEffects\";\nimport { useActivateEffects as useActivateTransactionEffects } from \"@/transactions/state/hooks/useActivateEffects\";\nimport { useActivateEffects as useActivateTokenListEffects } from \"@/tokens/lists/state/effects\";\nimport { useActivateFormInputEffects } from \"./inputs/state/setTokenByAddressAtom\";\nimport { useActivateConfigEffect } from \"./state/configEffectAtom\";\nimport { useOnPriceUpdates } from \"@/events/hooks/useOnPriceUpdates\";\nimport { useBridgeProtocolsQuery } from \"@/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols\";\nimport { useCacheMinViemClient } from \"@/hooks/useMinViemClient\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useWatchWalletMetadata } from \"@/components/web3/ConnectWallets/walletIcons\";\nimport { useActivateUnpostedOrdersEffect } from \"@/hooks/swap/prices/delta/orders/unposted/effect\";\n\nexport const Updaters = () => {\n // fetch tokens from currently enabled lists\n useFetchTokenLists();\n // activate effects for token lists\n useActivateTokenListEffects();\n\n // all balances that would be fetched in TokenSelector for current chain\n usePrefetchTokenBalances();\n useGetBridgeInfo({ mode: \"swap\" }); // @TODO: prefetch instead\n useGetBridgeInfo({ mode: \"limit\" });\n useGetContracts(); // @TODO: prefetch instead\n useBridgeProtocolsQuery();\n\n // for each selected tokenFrom detect its supported Permit1\n useTokenFromPermitInfo();\n // for each selected tokenFrom keep track of Token.nonce if available on Token\n useTokenFromPermit1Nonce();\n // for each selected tokenFrom keep track of given allowance to Permit2 contract\n useTokenFromPermit2AllowanceQuery();\n // global Permit2 TransferFrom nonce, not token-specific but for chain=Token.network\n useTokenFromPermit2TransferFromNonce();\n\n // check if wallet is a contract on every network\n useIsAccountContract();\n // keep fresh wallet metadata for all connections\n useWatchWalletMetadata();\n\n // check ahead of opening ConnectWallets drawer to prevent Safe button appearing\n // if we are not in a non-Safe iframe\n useSafeInfo();\n\n // check if wallet can batch txs\n useCanBatchTxs();\n\n // events when wallet is connected\n useOnWalletConnected();\n\n // events when price state updates\n useOnPriceUpdates();\n\n // activate effects for state atoms\n useActivateEventEffects();\n\n // activate effects for transaction atoms\n useActivateTransactionEffects();\n\n // activate effects for form input atoms\n useActivateFormInputEffects();\n\n // activate widget config effects\n useActivateConfigEffect();\n\n // POST unposted orders effect\n useActivateUnpostedOrdersEffect();\n\n // keep one subscriber to useConnectorClient query at all times\n // to avoid async client creation on useMinViemClient mount\n // and first minClient being undefined for a short time\n useCacheMinViemClient();\n\n return null;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAuBA,IAAauB,UAAW;CAAA,IAAAC,IAAAC,EAAA,EAAA;CAOtBlB,AALAD,GAAoB,EAEpBQ,GAA6B,EAG7BP,GAA0B;CAAA,IAAAmB;CAC1BrB,AAD0BmB,EAAA,OAAAG,OAAAC,IAAA,4BAAA,IACTF,IAAA,EAAAG,MAAQ,QAAQ,EAAAL,EAAA,KAAAE,KAAAA,IAAAF,EAAA,IAAjCnB,EAAiBqB,EAAiB;CAAA,IAAAI;CAkDX,OAlDWN,EAAA,OAAAG,OAAAC,IAAA,4BAAA,IACjBE,IAAA,EAAAD,MAAQ,SAAS,EAAAL,EAAA,KAAAM,KAAAA,IAAAN,EAAA,IAAlCnB,EAAiByB,EAAkB,EACnC1B,GAAiB,EACjBc,GAAyB,EAGzBf,GAAwB,EAExBH,GAA0B,EAE1BE,GAAmC,EAEnCD,GAAsC,EAGtCmB,GAAsB,EAEtBC,GAAwB,EAIxBb,GAAa,EAGbC,GAAgB,EAGhBC,GAAsB,EAGtBO,GAAmB,EAGnBL,GAAyB,EAGzBC,GAA+B,EAG/BE,GAA6B,EAG7BC,GAAyB,EAGzBM,GAAiC,EAKjCH,GAAuB,EAEhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Warnings.js","names":["useCurrentChainConfig","Warning","WarningWithTitle","useSetOpenDrawer","useUnsupportedLimitChain","useUnsupportedOtcChain","useDegenMode","useWidgetConfig","useCurrentSwapPriceError","useCurrentTwapPriceError","useSwapTokenTo","useSetAtom","userTradeModeAtom","TradeMode","useWidgetTokens","selectLimitTokenFromAtom","selectLimitTokenToAtom","Token","TriangleAlert","DEGEN_MODE_MAX_IMPACT","useIsTokenSupportedInDeltaQuery","useTwapTokenTo","PriceImpactResult","useTwapSliceTooShort","TWAP_MIN_SLICE_INTERVAL_S","Duration","warningClasses","root","WidgetWarning","$","_c","chainConfig","chainName","name","limitNotSupported","otcNotSupported","t0","t1","DegenModeText","setOpenDrawer","swapWidgetWarningClasses","const","EnableDegenModeMessage","tokenFrom","tokenTo","priceImpactPercent","tradeMode","isTwap","isSwap","degenMode","enableDegenMode","setTradeMode","setLimitTokenFrom","setLimitTokenTo","address","network","token","chainId","data","isTokenFromSupported","t2","t3","t4","isTokenToSupported","belowThreshold","undefined","showEnableDegenModeMessage","canDoLimitOrder","t5","Symbol","for","t6","t7","EnableDegenModeWarning","title","DegenModeEnabledWarning","message","warningMessageByReason","highPriceImpact","unavailablePriceImpact","GenericPriceImpactWarning","priceImpact","isMaxImpactReachedError","isNoUsdPriceError","showSinglePriceImpactWarning","isHighImpact","isUnavailable","SwapWidgetWarning","isNoLiquidityError","isDeltaNoAvailableBridgeOptionsError","isDeltaNoAvailablePricesError","isDeltaUnsupportedTokenError","getPriceImpact","TwapPriceImpactWarning","isNoAvailableBridgeOptionsError","isNoAvailablePricesError","isUnsupportedTokenError","TwapSliceIntervalWarning","isSliceTooShort","TwapWarnings"],"sources":["../../src/core/Warnings.tsx"],"sourcesContent":["import { useCurrentChainConfig } from \"@/hooks/useCurrentChain\";\nimport { Warning, WarningWithTitle } from \"@/components/widget/Warning/Warning\";\nimport { useSetOpenDrawer } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport { useWidgetConfig } from \"./state/configAtom\";\nimport { useCurrentSwapPriceError } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useCurrentTwapPriceError } from \"@/hooks/swap/prices/useTwapPrices\";\nimport { useSwapTokenTo } from \"./inputs/state/selectedTokenAtom\";\nimport { useSetAtom } from \"./store\";\nimport { userTradeModeAtom, type TradeMode } from \"./state/tradeModeAtom\";\nimport { useWidgetTokens } from \"./inputs/state/common\";\nimport {\n selectLimitTokenFromAtom,\n selectLimitTokenToAtom,\n} from \"./limit/state/selectedTokenActionsAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { TriangleAlert } from \"lucide-react\";\nimport { DEGEN_MODE_MAX_IMPACT } from \"@/hooks/swap/prices/constants\";\nimport { useIsTokenSupportedInDeltaQuery } from \"@/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta\";\nimport { useTwapTokenTo } from \"./twap/state/twapTokenAtoms\";\nimport type { PriceImpactResult } from \"@/lib/utils/priceImpact\";\nimport { useTwapSliceTooShort } from \"./twap/state/twapParamsAtom\";\nimport { TWAP_MIN_SLICE_INTERVAL_S } from \"./twap/state/constants\";\nimport { Duration } from \"@/components/widget/Duration/Duration\";\n\nconst warningClasses = {\n root: \"mt-4\",\n};\n\nexport const WidgetWarning = () => {\n const chainConfig = useCurrentChainConfig();\n const chainName = chainConfig.name;\n\n const limitNotSupported = useUnsupportedLimitChain();\n const otcNotSupported = useUnsupportedOtcChain();\n\n if (limitNotSupported)\n return (\n <Warning\n message={`Limit Orders are not available yet on ${chainName}`}\n classes={warningClasses}\n />\n );\n\n if (otcNotSupported)\n return (\n <Warning\n message={`OTC Orders are not available yet on ${chainName}`}\n classes={warningClasses}\n />\n );\n\n return null;\n};\n\nconst DegenModeText = () => {\n const setOpenDrawer = useSetOpenDrawer();\n return (\n <span\n className=\"underline cursor-pointer\"\n onClick={() => {\n setOpenDrawer(\"trade-parameters-drawer\");\n }}\n >\n Degen Mode\n </span>\n );\n};\n\nconst swapWidgetWarningClasses = {\n root: \"mt-4 border-1 border-secondary-radical-red-1 rounded-xs bg-[rgba(255,43,82,0.05)] text-secondary-radical-red-1\",\n} as const;\n\nconst EnableDegenModeMessage = ({\n tokenFrom,\n tokenTo,\n priceImpactPercent,\n tradeMode,\n}: {\n tokenFrom: Token;\n tokenTo: Token;\n priceImpactPercent?: number;\n tradeMode: TradeMode;\n}) => {\n const isTwap = tradeMode === \"twap\";\n const isSwap = tradeMode === \"swap\";\n\n const degenMode = useDegenMode();\n const { enableDegenMode } = useWidgetConfig();\n\n const setTradeMode = useSetAtom(userTradeModeAtom);\n\n const setLimitTokenFrom = useSetAtom(selectLimitTokenFromAtom);\n const setLimitTokenTo = useSetAtom(selectLimitTokenToAtom);\n\n const { data: isTokenFromSupported } = useIsTokenSupportedInDeltaQuery({\n token: tokenFrom.address,\n chainId: tokenFrom.network,\n });\n const { data: isTokenToSupported } = useIsTokenSupportedInDeltaQuery({\n token: tokenTo?.address,\n chainId: tokenTo?.network || tokenFrom.network,\n });\n\n const belowThreshold =\n priceImpactPercent == undefined\n ? true\n : priceImpactPercent < DEGEN_MODE_MAX_IMPACT;\n const showEnableDegenModeMessage =\n enableDegenMode && !degenMode && belowThreshold;\n\n // doesn't make sense to switch the user to Limit if tokens aren't supported in Delta\n const canDoLimitOrder = isTokenFromSupported && isTokenToSupported;\n\n if (!canDoLimitOrder && isSwap) {\n if (!showEnableDegenModeMessage) return null;\n return (\n <div>\n Ape in anyway with <DegenModeText /> enabled (Not recommended).\n </div>\n );\n }\n\n return (\n <div>\n {isTwap ? (\n \"Consider increasing the Order Split for a safer price impact\"\n ) : (\n <>\n Use a{\" \"}\n <span\n className=\"underline cursor-pointer\"\n onClick={() => {\n setTradeMode(\"limit\");\n setLimitTokenFrom(tokenFrom);\n setLimitTokenTo(tokenTo);\n }}\n >\n Limit Order\n </span>{\" \"}\n for a better fill\n </>\n )}\n {showEnableDegenModeMessage ? (\n <>\n , or ape in anyway with <DegenModeText /> enabled (Not recommended).\n </>\n ) : (\n \".\"\n )}\n </div>\n );\n};\n\nconst EnableDegenModeWarning = ({\n title,\n priceImpactPercent,\n tradeMode,\n}: {\n title: string;\n priceImpactPercent?: number;\n tradeMode: TradeMode;\n}) => {\n const { tokenFrom, tokenTo } = useWidgetTokens(tradeMode);\n\n if (!tokenTo) {\n return null;\n }\n\n return (\n <WarningWithTitle\n title={title}\n iconReplacement={<TriangleAlert size={18} />}\n message={\n <EnableDegenModeMessage\n tokenFrom={tokenFrom}\n tokenTo={tokenTo}\n priceImpactPercent={priceImpactPercent}\n tradeMode={tradeMode}\n />\n }\n classes={swapWidgetWarningClasses}\n />\n );\n};\n\nconst DegenModeEnabledWarning = () => {\n return (\n <Warning\n message={\"You have turned on Degen Mode. Be cautious.\"}\n iconReplacement={<TriangleAlert size={18} />}\n classes={{\n ...swapWidgetWarningClasses,\n message: \"text-sm\",\n }}\n />\n );\n};\n\nconst warningMessageByReason = {\n highPriceImpact:\n // explicit threshold breach, more severe warning\n \"High price impact — expect heavy slippage.\",\n unavailablePriceImpact:\n // unable to calculate price impact, more generic warning\n \"Price impact couldn't be calculated.\",\n} as const;\n\nconst GenericPriceImpactWarning = ({\n tokenTo,\n priceImpact,\n isMaxImpactReachedError,\n isNoUsdPriceError,\n showSinglePriceImpactWarning,\n tradeMode,\n}: {\n tokenTo?: Token;\n priceImpact: PriceImpactResult;\n isMaxImpactReachedError: boolean;\n isNoUsdPriceError: boolean;\n showSinglePriceImpactWarning?: boolean;\n tradeMode: TradeMode;\n}) => {\n const degenMode = useDegenMode();\n\n if (!tokenTo) {\n return null;\n }\n\n if (showSinglePriceImpactWarning) {\n return (\n <Warning\n message={warningMessageByReason.unavailablePriceImpact}\n iconReplacement={<TriangleAlert size={18} />}\n classes={{\n ...swapWidgetWarningClasses,\n message: \"text-sm\",\n }}\n />\n );\n }\n\n if (priceImpact.isHighImpact || isMaxImpactReachedError) {\n return (\n <EnableDegenModeWarning\n title={warningMessageByReason.highPriceImpact}\n priceImpactPercent={priceImpact.priceImpact}\n tradeMode={tradeMode}\n />\n );\n }\n if (priceImpact.isUnavailable || isNoUsdPriceError) {\n return (\n <EnableDegenModeWarning\n title={warningMessageByReason.unavailablePriceImpact}\n priceImpactPercent={priceImpact.priceImpact}\n tradeMode={tradeMode}\n />\n );\n }\n\n if (degenMode) {\n return <DegenModeEnabledWarning />;\n }\n\n return null;\n};\n\nexport const SwapWidgetWarning = () => {\n const tokenTo = useSwapTokenTo();\n const {\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoLiquidityError,\n isDeltaNoAvailableBridgeOptionsError,\n isDeltaNoAvailablePricesError,\n isDeltaUnsupportedTokenError,\n getPriceImpact,\n } = useCurrentSwapPriceError();\n\n return (\n <GenericPriceImpactWarning\n tokenTo={tokenTo}\n priceImpact={getPriceImpact()}\n isMaxImpactReachedError={isMaxImpactReachedError}\n isNoUsdPriceError={isNoUsdPriceError}\n showSinglePriceImpactWarning={\n isNoLiquidityError ||\n isDeltaNoAvailableBridgeOptionsError ||\n isDeltaNoAvailablePricesError ||\n isDeltaUnsupportedTokenError\n }\n tradeMode=\"swap\"\n />\n );\n};\n\nconst TwapPriceImpactWarning = () => {\n const tokenTo = useTwapTokenTo();\n const {\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoAvailableBridgeOptionsError,\n isNoAvailablePricesError,\n isUnsupportedTokenError,\n getPriceImpact,\n } = useCurrentTwapPriceError();\n\n return (\n <GenericPriceImpactWarning\n tokenTo={tokenTo}\n priceImpact={getPriceImpact()}\n isMaxImpactReachedError={isMaxImpactReachedError}\n isNoUsdPriceError={isNoUsdPriceError}\n tradeMode=\"twap\"\n showSinglePriceImpactWarning={\n isUnsupportedTokenError ||\n isNoAvailablePricesError ||\n isNoAvailableBridgeOptionsError\n }\n />\n );\n};\n\nconst TwapSliceIntervalWarning = () => {\n const isSliceTooShort = useTwapSliceTooShort();\n\n if (!isSliceTooShort) {\n return null;\n }\n\n return (\n <Warning\n message={\n <>\n Each TWAP slice must be at least{\" \"}\n <Duration\n timeMs={TWAP_MIN_SLICE_INTERVAL_S * 1000}\n showSeconds\n classes={{\n root: \"inline-flex text-xs text-secondary-orange-peel-1 dark:text-secondary-orange-peel-1\",\n }}\n />{\" \"}\n apart\n </>\n }\n classes={{\n root: \"mt-4\",\n }}\n />\n );\n};\n\nexport const TwapWarnings = () => {\n return (\n <div className=\"flex flex-col\">\n <TwapSliceIntervalWarning />\n <TwapPriceImpactWarning />\n </div>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Warnings.js","names":["useCurrentChainConfig","Warning","WarningWithTitle","useSetOpenDrawer","useUnsupportedLimitChain","useUnsupportedOtcChain","useDegenMode","useWidgetConfig","useCurrentSwapPriceError","useCurrentTwapPriceError","useSwapTokenTo","useSetAtom","userTradeModeAtom","TradeMode","useWidgetTokens","selectLimitTokenFromAtom","selectLimitTokenToAtom","Token","TriangleAlert","DEGEN_MODE_MAX_IMPACT","useIsTokenSupportedInDeltaQuery","useTwapTokenTo","PriceImpactResult","useTwapSliceTooShort","TWAP_MIN_SLICE_INTERVAL_S","Duration","warningClasses","root","WidgetWarning","$","_c","chainConfig","chainName","name","limitNotSupported","otcNotSupported","t0","t1","DegenModeText","setOpenDrawer","swapWidgetWarningClasses","const","EnableDegenModeMessage","tokenFrom","tokenTo","priceImpactPercent","tradeMode","isTwap","isSwap","degenMode","enableDegenMode","setTradeMode","setLimitTokenFrom","setLimitTokenTo","address","network","token","chainId","data","isTokenFromSupported","t2","t3","t4","isTokenToSupported","belowThreshold","undefined","showEnableDegenModeMessage","canDoLimitOrder","t5","Symbol","for","t6","t7","EnableDegenModeWarning","title","DegenModeEnabledWarning","message","warningMessageByReason","highPriceImpact","unavailablePriceImpact","GenericPriceImpactWarning","priceImpact","isMaxImpactReachedError","isNoUsdPriceError","showSinglePriceImpactWarning","isHighImpact","isUnavailable","SwapWidgetWarning","isNoLiquidityError","isDeltaNoAvailableBridgeOptionsError","isDeltaNoAvailablePricesError","isDeltaUnsupportedTokenError","getPriceImpact","TwapPriceImpactWarning","isNoAvailableBridgeOptionsError","isNoAvailablePricesError","isUnsupportedTokenError","TwapSliceIntervalWarning","isSliceTooShort","TwapWarnings"],"sources":["../../src/core/Warnings.tsx"],"sourcesContent":["import { useCurrentChainConfig } from \"@/hooks/useCurrentChain\";\nimport { Warning, WarningWithTitle } from \"@/components/widget/Warning/Warning\";\nimport { useSetOpenDrawer } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport { useWidgetConfig } from \"./state/configAtom\";\nimport { useCurrentSwapPriceError } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useCurrentTwapPriceError } from \"@/hooks/swap/prices/useTwapPrices\";\nimport { useSwapTokenTo } from \"./inputs/state/selectedTokenAtom\";\nimport { useSetAtom } from \"./store\";\nimport { userTradeModeAtom, type TradeMode } from \"./state/tradeModeAtom\";\nimport { useWidgetTokens } from \"./inputs/state/common\";\nimport {\n selectLimitTokenFromAtom,\n selectLimitTokenToAtom,\n} from \"./limit/state/selectedTokenActionsAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { TriangleAlert } from \"lucide-react\";\nimport { DEGEN_MODE_MAX_IMPACT } from \"@/hooks/swap/prices/constants\";\nimport { useIsTokenSupportedInDeltaQuery } from \"@/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta\";\nimport { useTwapTokenTo } from \"./twap/state/twapTokenAtoms\";\nimport type { PriceImpactResult } from \"@/lib/utils/priceImpact\";\nimport { useTwapSliceTooShort } from \"./twap/state/twapParamsAtom\";\nimport { TWAP_MIN_SLICE_INTERVAL_S } from \"./twap/state/constants\";\nimport { Duration } from \"@/components/widget/Duration/Duration\";\n\nconst warningClasses = {\n root: \"mt-4\",\n};\n\nexport const WidgetWarning = () => {\n const chainConfig = useCurrentChainConfig();\n const chainName = chainConfig.name;\n\n const limitNotSupported = useUnsupportedLimitChain();\n const otcNotSupported = useUnsupportedOtcChain();\n\n if (limitNotSupported)\n return (\n <Warning\n message={`Limit Orders are not available yet on ${chainName}`}\n classes={warningClasses}\n />\n );\n\n if (otcNotSupported)\n return (\n <Warning\n message={`OTC Orders are not available yet on ${chainName}`}\n classes={warningClasses}\n />\n );\n\n return null;\n};\n\nconst DegenModeText = () => {\n const setOpenDrawer = useSetOpenDrawer();\n return (\n <span\n className=\"underline cursor-pointer\"\n onClick={() => {\n setOpenDrawer(\"trade-parameters-drawer\");\n }}\n >\n Degen Mode\n </span>\n );\n};\n\nconst swapWidgetWarningClasses = {\n root: \"mt-4 border-1 border-secondary-radical-red-1 rounded-xs bg-[rgba(255,43,82,0.05)] text-secondary-radical-red-1\",\n} as const;\n\nconst EnableDegenModeMessage = ({\n tokenFrom,\n tokenTo,\n priceImpactPercent,\n tradeMode,\n}: {\n tokenFrom: Token;\n tokenTo: Token;\n priceImpactPercent?: number;\n tradeMode: TradeMode;\n}) => {\n const isTwap = tradeMode === \"twap\";\n const isSwap = tradeMode === \"swap\";\n\n const degenMode = useDegenMode();\n const { enableDegenMode } = useWidgetConfig();\n\n const setTradeMode = useSetAtom(userTradeModeAtom);\n\n const setLimitTokenFrom = useSetAtom(selectLimitTokenFromAtom);\n const setLimitTokenTo = useSetAtom(selectLimitTokenToAtom);\n\n const { data: isTokenFromSupported } = useIsTokenSupportedInDeltaQuery({\n token: tokenFrom.address,\n chainId: tokenFrom.network,\n });\n const { data: isTokenToSupported } = useIsTokenSupportedInDeltaQuery({\n token: tokenTo?.address,\n chainId: tokenTo?.network || tokenFrom.network,\n });\n\n const belowThreshold =\n priceImpactPercent == undefined\n ? true\n : priceImpactPercent < DEGEN_MODE_MAX_IMPACT;\n const showEnableDegenModeMessage =\n enableDegenMode && !degenMode && belowThreshold;\n\n // doesn't make sense to switch the user to Limit if tokens aren't supported in Delta\n const canDoLimitOrder = isTokenFromSupported && isTokenToSupported;\n\n if (!canDoLimitOrder && isSwap) {\n if (!showEnableDegenModeMessage) return null;\n return (\n <div>\n Ape in anyway with <DegenModeText /> enabled (Not recommended).\n </div>\n );\n }\n\n return (\n <div>\n {isTwap ? (\n \"Consider increasing the Order Split for a safer price impact\"\n ) : (\n <>\n Use a{\" \"}\n <span\n className=\"underline cursor-pointer\"\n onClick={() => {\n setTradeMode(\"limit\");\n setLimitTokenFrom(tokenFrom);\n setLimitTokenTo(tokenTo);\n }}\n >\n Limit Order\n </span>{\" \"}\n for a better fill\n </>\n )}\n {showEnableDegenModeMessage ? (\n <>\n , or ape in anyway with <DegenModeText /> enabled (Not recommended).\n </>\n ) : (\n \".\"\n )}\n </div>\n );\n};\n\nconst EnableDegenModeWarning = ({\n title,\n priceImpactPercent,\n tradeMode,\n}: {\n title: string;\n priceImpactPercent?: number;\n tradeMode: TradeMode;\n}) => {\n const { tokenFrom, tokenTo } = useWidgetTokens(tradeMode);\n\n if (!tokenTo) {\n return null;\n }\n\n return (\n <WarningWithTitle\n title={title}\n iconReplacement={<TriangleAlert size={18} />}\n message={\n <EnableDegenModeMessage\n tokenFrom={tokenFrom}\n tokenTo={tokenTo}\n priceImpactPercent={priceImpactPercent}\n tradeMode={tradeMode}\n />\n }\n classes={swapWidgetWarningClasses}\n />\n );\n};\n\nconst DegenModeEnabledWarning = () => {\n return (\n <Warning\n message={\"You have turned on Degen Mode. Be cautious.\"}\n iconReplacement={<TriangleAlert size={18} />}\n classes={{\n ...swapWidgetWarningClasses,\n message: \"text-sm\",\n }}\n />\n );\n};\n\nconst warningMessageByReason = {\n highPriceImpact:\n // explicit threshold breach, more severe warning\n \"High price impact — expect heavy slippage.\",\n unavailablePriceImpact:\n // unable to calculate price impact, more generic warning\n \"Price impact couldn't be calculated.\",\n} as const;\n\nconst GenericPriceImpactWarning = ({\n tokenTo,\n priceImpact,\n isMaxImpactReachedError,\n isNoUsdPriceError,\n showSinglePriceImpactWarning,\n tradeMode,\n}: {\n tokenTo?: Token;\n priceImpact: PriceImpactResult;\n isMaxImpactReachedError: boolean;\n isNoUsdPriceError: boolean;\n showSinglePriceImpactWarning?: boolean;\n tradeMode: TradeMode;\n}) => {\n const degenMode = useDegenMode();\n\n if (!tokenTo) {\n return null;\n }\n\n if (showSinglePriceImpactWarning) {\n return (\n <Warning\n message={warningMessageByReason.unavailablePriceImpact}\n iconReplacement={<TriangleAlert size={18} />}\n classes={{\n ...swapWidgetWarningClasses,\n message: \"text-sm\",\n }}\n />\n );\n }\n\n if (priceImpact.isHighImpact || isMaxImpactReachedError) {\n return (\n <EnableDegenModeWarning\n title={warningMessageByReason.highPriceImpact}\n priceImpactPercent={priceImpact.priceImpact}\n tradeMode={tradeMode}\n />\n );\n }\n if (priceImpact.isUnavailable || isNoUsdPriceError) {\n return (\n <EnableDegenModeWarning\n title={warningMessageByReason.unavailablePriceImpact}\n priceImpactPercent={priceImpact.priceImpact}\n tradeMode={tradeMode}\n />\n );\n }\n\n if (degenMode) {\n return <DegenModeEnabledWarning />;\n }\n\n return null;\n};\n\nexport const SwapWidgetWarning = () => {\n const tokenTo = useSwapTokenTo();\n const {\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoLiquidityError,\n isDeltaNoAvailableBridgeOptionsError,\n isDeltaNoAvailablePricesError,\n isDeltaUnsupportedTokenError,\n getPriceImpact,\n } = useCurrentSwapPriceError();\n\n return (\n <GenericPriceImpactWarning\n tokenTo={tokenTo}\n priceImpact={getPriceImpact()}\n isMaxImpactReachedError={isMaxImpactReachedError}\n isNoUsdPriceError={isNoUsdPriceError}\n showSinglePriceImpactWarning={\n isNoLiquidityError ||\n isDeltaNoAvailableBridgeOptionsError ||\n isDeltaNoAvailablePricesError ||\n isDeltaUnsupportedTokenError\n }\n tradeMode=\"swap\"\n />\n );\n};\n\nconst TwapPriceImpactWarning = () => {\n const tokenTo = useTwapTokenTo();\n const {\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoAvailableBridgeOptionsError,\n isNoAvailablePricesError,\n isUnsupportedTokenError,\n getPriceImpact,\n } = useCurrentTwapPriceError();\n\n return (\n <GenericPriceImpactWarning\n tokenTo={tokenTo}\n priceImpact={getPriceImpact()}\n isMaxImpactReachedError={isMaxImpactReachedError}\n isNoUsdPriceError={isNoUsdPriceError}\n tradeMode=\"twap\"\n showSinglePriceImpactWarning={\n isUnsupportedTokenError ||\n isNoAvailablePricesError ||\n isNoAvailableBridgeOptionsError\n }\n />\n );\n};\n\nconst TwapSliceIntervalWarning = () => {\n const isSliceTooShort = useTwapSliceTooShort();\n\n if (!isSliceTooShort) {\n return null;\n }\n\n return (\n <Warning\n message={\n <>\n Each TWAP slice must be at least{\" \"}\n <Duration\n timeMs={TWAP_MIN_SLICE_INTERVAL_S * 1000}\n showSeconds\n classes={{\n root: \"inline-flex text-xs text-secondary-orange-peel-1 dark:text-secondary-orange-peel-1\",\n }}\n />{\" \"}\n apart\n </>\n }\n classes={{\n root: \"mt-4\",\n }}\n />\n );\n};\n\nexport const TwapWarnings = () => {\n return (\n <div className=\"flex flex-col\">\n <TwapSliceIntervalWarning />\n <TwapPriceImpactWarning />\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isCrosschainPossible.js","names":["deltaParamAtom","tradeModeAtom","isAcrossAvailable","widgetConfigAtom","enabledSrcChainsAtom","getSelectableDestChains","SupportedChainId","deltaEnabledOnAPI","Getter","BridgeInfoMode","isCrosschainPossible","get","chainIdFrom","chainIdTo","mode","tradeMode","deltaEnabledInSettings","enableDelta","enableCrossChain","enabledSrcChains","includes","selectableDestChains","fromChainId"],"sources":["../../../src/core/across/isCrosschainPossible.ts"],"sourcesContent":["import { deltaParamAtom } from \"@/components/widget/TradeParameters/state/deltaParamAtom\";\nimport { tradeModeAtom } from \"../state/tradeModeAtom\";\nimport { isAcrossAvailable } from \"./utils\";\nimport { widgetConfigAtom } from \"../state/configAtom\";\nimport { enabledSrcChainsAtom } from \"../state/enabledChainsAtom\";\nimport { getSelectableDestChains } from \"../state/getSelectableDestChains\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { deltaEnabledOnAPI } from \"@/lib/constants/delta\";\nimport type { Getter } from \"jotai\";\nimport type { BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\n\nexport function isCrosschainPossible({\n get,\n chainIdFrom,\n chainIdTo,\n mode,\n}: {\n get: Getter;\n chainIdFrom: SupportedChainId;\n chainIdTo: SupportedChainId;\n mode: BridgeInfoMode;\n}): boolean {\n if (!deltaEnabledOnAPI[chainIdFrom]) return false;\n\n if (!isAcrossAvailable({ chainIdFrom, chainIdTo, mode })) return false;\n\n const tradeMode = get(tradeModeAtom);\n // @TODO reenable TWAP crosschain when ready on the API\n if (tradeMode !== \"swap\" && tradeMode !== \"limit\" /*&& tradeMode !== \"twap\"*/)\n return false;\n\n const deltaEnabledInSettings = get(deltaParamAtom);\n if (!deltaEnabledInSettings) return false;\n\n const { enableDelta, enableCrossChain } = get(widgetConfigAtom);\n if (!enableDelta || !enableCrossChain) return false;\n\n const enabledSrcChains = get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(chainIdFrom)) return false;\n\n const selectableDestChains = getSelectableDestChains(get, {\n fromChainId: chainIdFrom,\n mode,\n });\n if (!selectableDestChains.includes(chainIdTo)) return false;\n\n return true;\n}\n"],"mappings":";;;;;;;;AAWA,SAAgBU,EAAqB,EACnCC,QACAC,gBACAC,cACAC,WAMU;
|
|
1
|
+
{"version":3,"file":"isCrosschainPossible.js","names":["deltaParamAtom","tradeModeAtom","isAcrossAvailable","widgetConfigAtom","enabledSrcChainsAtom","getSelectableDestChains","SupportedChainId","deltaEnabledOnAPI","Getter","BridgeInfoMode","isCrosschainPossible","get","chainIdFrom","chainIdTo","mode","tradeMode","deltaEnabledInSettings","enableDelta","enableCrossChain","enabledSrcChains","includes","selectableDestChains","fromChainId"],"sources":["../../../src/core/across/isCrosschainPossible.ts"],"sourcesContent":["import { deltaParamAtom } from \"@/components/widget/TradeParameters/state/deltaParamAtom\";\nimport { tradeModeAtom } from \"../state/tradeModeAtom\";\nimport { isAcrossAvailable } from \"./utils\";\nimport { widgetConfigAtom } from \"../state/configAtom\";\nimport { enabledSrcChainsAtom } from \"../state/enabledChainsAtom\";\nimport { getSelectableDestChains } from \"../state/getSelectableDestChains\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { deltaEnabledOnAPI } from \"@/lib/constants/delta\";\nimport type { Getter } from \"jotai\";\nimport type { BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\n\nexport function isCrosschainPossible({\n get,\n chainIdFrom,\n chainIdTo,\n mode,\n}: {\n get: Getter;\n chainIdFrom: SupportedChainId;\n chainIdTo: SupportedChainId;\n mode: BridgeInfoMode;\n}): boolean {\n if (!deltaEnabledOnAPI[chainIdFrom]) return false;\n\n if (!isAcrossAvailable({ chainIdFrom, chainIdTo, mode })) return false;\n\n const tradeMode = get(tradeModeAtom);\n // @TODO reenable TWAP crosschain when ready on the API\n if (tradeMode !== \"swap\" && tradeMode !== \"limit\" /*&& tradeMode !== \"twap\"*/)\n return false;\n\n const deltaEnabledInSettings = get(deltaParamAtom);\n if (!deltaEnabledInSettings) return false;\n\n const { enableDelta, enableCrossChain } = get(widgetConfigAtom);\n if (!enableDelta || !enableCrossChain) return false;\n\n const enabledSrcChains = get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(chainIdFrom)) return false;\n\n const selectableDestChains = getSelectableDestChains(get, {\n fromChainId: chainIdFrom,\n mode,\n });\n if (!selectableDestChains.includes(chainIdTo)) return false;\n\n return true;\n}\n"],"mappings":";;;;;;;;AAWA,SAAgBU,EAAqB,EACnCC,QACAC,gBACAC,cACAC,WAMU;CAGV,IAFI,CAACP,EAAkBK,MAEnB,CAACV,EAAkB;EAAEU;EAAaC;EAAWC;EAAM,CAAC,EAAE,OAAO;CAEjE,IAAMC,IAAYJ,EAAIV,EAAc;CAMpC,IAJIc,MAAc,UAAUA,MAAc,WAItC,CAD2BJ,EAAIX,EAC9BgB,EAAwB,OAAO;CAEpC,IAAM,EAAEC,gBAAaC,wBAAqBP,EAAIR,EAAiB;CAY/D,OAFA,EATI,CAACc,KAAe,CAACC,KAGjB,CADqBP,EAAIP,EACxBe,CAAiBC,SAASR,EAAY,IAMvC,CAJyBP,EAAwBM,GAAK;EACxDW,aAAaV;EACbE;EACD,CACIO,CAAqBD,SAASP,EAAU"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["Token","SupportedChainId","TokensFromLists","BridgeInfoMode","getBridgeInfoQueryData","isAcrossAvailable","chainIdFrom","chainIdTo","mode","cachedBridgeInfo","acrossTokens","length","findFirstTokenFromAcross","fromChainId","toChainId","listByChainId","Record","tokenMap","addressMap","tokenToAddress","find","address","toLowerCase","undefined","IsTokenFromAcrossInput","token","Pick","isTokenFromAcross","tokenAddresses","isIncluded"],"sources":["../../../src/core/across/utils.ts"],"sourcesContent":["import type { Token } from \"@/tokens/state/types\";\n\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { TokensFromLists } from \"@/tokens/state/fromListsAtom\";\nimport { type BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\nimport { getBridgeInfoQueryData } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData\";\n\nexport function isAcrossAvailable({\n chainIdFrom,\n chainIdTo,\n mode,\n}: {\n chainIdFrom: SupportedChainId;\n chainIdTo: SupportedChainId;\n mode: BridgeInfoMode;\n}): boolean {\n const cachedBridgeInfo = getBridgeInfoQueryData(mode);\n\n if (!cachedBridgeInfo) return false;\n\n const acrossTokens = cachedBridgeInfo[chainIdFrom]?.[chainIdTo];\n\n return !!acrossTokens?.length;\n}\n\nexport function findFirstTokenFromAcross({\n fromChainId,\n toChainId,\n listByChainId,\n mode,\n}: {\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n listByChainId: Record<number, TokensFromLists<Token>>;\n mode: BridgeInfoMode;\n}): Token | undefined {\n const cachedBridgeInfo = getBridgeInfoQueryData(mode);\n\n if (!cachedBridgeInfo) return;\n\n const tokenMap = listByChainId[toChainId]?.addressMap;\n\n const acrossTokens = cachedBridgeInfo[fromChainId]?.[toChainId];\n\n const tokenToAddress = acrossTokens?.find(\n (address) => tokenMap?.[address.toLowerCase()]\n );\n\n return tokenToAddress ? tokenMap?.[tokenToAddress.toLowerCase()] : undefined;\n}\n\ntype IsTokenFromAcrossInput = {\n token: Pick<Token, \"address\">;\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n mode: BridgeInfoMode;\n};\n\nexport function isTokenFromAcross({\n token,\n fromChainId,\n toChainId,\n mode,\n}: IsTokenFromAcrossInput): boolean | undefined {\n const cachedBridgeInfo = getBridgeInfoQueryData(mode);\n if (!cachedBridgeInfo) return;\n const tokenAddresses = cachedBridgeInfo[fromChainId]?.[toChainId];\n\n if (!tokenAddresses) return false;\n const isIncluded = tokenAddresses.find(\n (address) => address.toLowerCase() === token.address.toLowerCase()\n );\n\n return !!isIncluded;\n}\n"],"mappings":";;AAOA,SAAgBK,EAAkB,EAChCC,gBACAC,cACAC,WAKU;CACV,IAAMC,IAAmBL,EAAuBI,EAAK;
|
|
1
|
+
{"version":3,"file":"utils.js","names":["Token","SupportedChainId","TokensFromLists","BridgeInfoMode","getBridgeInfoQueryData","isAcrossAvailable","chainIdFrom","chainIdTo","mode","cachedBridgeInfo","acrossTokens","length","findFirstTokenFromAcross","fromChainId","toChainId","listByChainId","Record","tokenMap","addressMap","tokenToAddress","find","address","toLowerCase","undefined","IsTokenFromAcrossInput","token","Pick","isTokenFromAcross","tokenAddresses","isIncluded"],"sources":["../../../src/core/across/utils.ts"],"sourcesContent":["import type { Token } from \"@/tokens/state/types\";\n\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { TokensFromLists } from \"@/tokens/state/fromListsAtom\";\nimport { type BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\nimport { getBridgeInfoQueryData } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData\";\n\nexport function isAcrossAvailable({\n chainIdFrom,\n chainIdTo,\n mode,\n}: {\n chainIdFrom: SupportedChainId;\n chainIdTo: SupportedChainId;\n mode: BridgeInfoMode;\n}): boolean {\n const cachedBridgeInfo = getBridgeInfoQueryData(mode);\n\n if (!cachedBridgeInfo) return false;\n\n const acrossTokens = cachedBridgeInfo[chainIdFrom]?.[chainIdTo];\n\n return !!acrossTokens?.length;\n}\n\nexport function findFirstTokenFromAcross({\n fromChainId,\n toChainId,\n listByChainId,\n mode,\n}: {\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n listByChainId: Record<number, TokensFromLists<Token>>;\n mode: BridgeInfoMode;\n}): Token | undefined {\n const cachedBridgeInfo = getBridgeInfoQueryData(mode);\n\n if (!cachedBridgeInfo) return;\n\n const tokenMap = listByChainId[toChainId]?.addressMap;\n\n const acrossTokens = cachedBridgeInfo[fromChainId]?.[toChainId];\n\n const tokenToAddress = acrossTokens?.find(\n (address) => tokenMap?.[address.toLowerCase()]\n );\n\n return tokenToAddress ? tokenMap?.[tokenToAddress.toLowerCase()] : undefined;\n}\n\ntype IsTokenFromAcrossInput = {\n token: Pick<Token, \"address\">;\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n mode: BridgeInfoMode;\n};\n\nexport function isTokenFromAcross({\n token,\n fromChainId,\n toChainId,\n mode,\n}: IsTokenFromAcrossInput): boolean | undefined {\n const cachedBridgeInfo = getBridgeInfoQueryData(mode);\n if (!cachedBridgeInfo) return;\n const tokenAddresses = cachedBridgeInfo[fromChainId]?.[toChainId];\n\n if (!tokenAddresses) return false;\n const isIncluded = tokenAddresses.find(\n (address) => address.toLowerCase() === token.address.toLowerCase()\n );\n\n return !!isIncluded;\n}\n"],"mappings":";;AAOA,SAAgBK,EAAkB,EAChCC,gBACAC,cACAC,WAKU;CACV,IAAMC,IAAmBL,EAAuBI,EAAK;CAMrD,OAJKC,IAIE,CAAC,CAFaA,EAAiBH,KAAeC,IAE9BI,SAJO;;AAOhC,SAAgBC,EAAyB,EACvCC,gBACAC,cACAC,kBACAP,WAMoB;CACpB,IAAMC,IAAmBL,EAAuBI,EAAK;CAErD,IAAI,CAACC,GAAkB;CAEvB,IAAMQ,IAAWF,EAAcD,IAAYI,YAIrCC,KAFeV,EAAiBI,KAAeC,KAEhBM,MAClCC,MAAYJ,IAAWI,EAAQC,aAAa,EAC9C;CAED,OAAOH,IAAiBF,IAAWE,EAAeG,aAAa,IAAIC,KAAAA;;AAUrE,SAAgBI,EAAkB,EAChCF,UACAZ,gBACAC,cACAN,WAC8C;CAC9C,IAAMC,IAAmBL,EAAuBI,EAAK;CACrD,IAAI,CAACC,GAAkB;CACvB,IAAMmB,IAAiBnB,EAAiBI,KAAeC;CAOvD,OALKc,IAKE,CAAC,CAJWA,EAAeR,MAC/BC,MAAYA,EAAQC,aAAa,KAAKG,EAAMJ,QAAQC,aACvD,CAESO,GALmB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWidgetButtonExtraProps.js","names":["useSwapReceiverAddressValue","useIsAccountContract","useCurrentSwapPriceError","useCurrentTwapPriceError","useIsTokenFromInsufficientBalance","Token","areTokensSame","useIsCrossChain","useOtcReceiverAddressValue","useUnsupportedLimitChain","useUnsupportedOtcChain","TradeMode","useUnsupportedLimitTokens","useDeltaSwapPriceForLimit","useLimitReceiverAddressValue","useChainMatches","useDegenMode","useTwapSliceTooShort","errorMessageByApiErrorMessage","Record","ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT","GetButtonLabelOverrideBaseInput","priceMode","priceError","Error","wrongNetwork","isTokenFromInsufficientBalance","receiverRequiredButNotSet","getButtonLabelOverrideBase","message","getSwapButtonLabelOverride","isDangerSwap","baseParams","baseOverride","useWidgetButtonConditions","t0","$","_c","tokenFrom","tokenTo","tradeMode","walletChainMatchesAppChain","isConnected","t1","tokensAreSame","t2","UseExtraPropsInput","UseExtraPropsReturn","disabled","labelOverride","className","dangerSwapBtnClassName","useWidgetButtonExtraProps","cachedError","getPriceImpact","degenMode","priceImpact","isHighImpact","isUnavailable","isAccountContract","data","isContract","isCrosschain","receiver","t3","t4","undefined","t5","useLimitButtonExtraProps","unsupportedChain","unsupportedTokens","network","isCrosschainLimitOrder","Symbol","for","enabled","error","limitPriceError","limitReceiverAddress","connectedButNoReceiver","useOtcButtonExtraProps","otcReceiverAddress","useTwapButtonExtraProps","isSliceTooShort"],"sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"sourcesContent":["import { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useCurrentSwapPriceError } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useCurrentTwapPriceError } from \"@/hooks/swap/prices/useTwapPrices\";\n\nimport { useIsTokenFromInsufficientBalance } from \"@/hooks/tokens/balances/useIsInsufficientTokenBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useOtcReceiverAddressValue } from \"@/core/otc/state/receiverAddressAtom\";\nimport { useUnsupportedLimitChain } from \"@/core/limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"@/core/otc/useOtcNotSupported\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { useUnsupportedLimitTokens } from \"@/core/limit/useLimitTokenToInputProps\";\nimport { useDeltaSwapPriceForLimit } from \"@/core/limit/useLimitRate\";\nimport { useLimitReceiverAddressValue } from \"@/core/limit/state/receiverAddressAtom\";\nimport { useChainMatches } from \"@/hooks/useChainMatches\";\nimport { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport { useTwapSliceTooShort } from \"@/core/twap/state/twapParamsAtom\";\n\nconst errorMessageByApiErrorMessage: Record<string, string> = {\n ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT: \"Price Impact Too High\",\n \"No routes found with enough liquidity\": \"No Liquidity\",\n \"Bad USD price\": \"Price Error\",\n};\n\ntype GetButtonLabelOverrideBaseInput = {\n priceMode?: \"market\" | \"delta\";\n priceError?: Error | null;\n wrongNetwork: boolean;\n isTokenFromInsufficientBalance: boolean;\n receiverRequiredButNotSet?: boolean;\n};\n\nfunction getButtonLabelOverrideBase({\n priceMode,\n priceError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n}: GetButtonLabelOverrideBaseInput) {\n if (priceMode === \"market\" && priceError)\n return errorMessageByApiErrorMessage[priceError.message];\n\n if (wrongNetwork) return \"You are on the wrong network\";\n if (isTokenFromInsufficientBalance) return \"Insufficient funds\";\n if (receiverRequiredButNotSet) return \"Add a receiving address\";\n}\n\nfunction getSwapButtonLabelOverride({\n isDangerSwap,\n ...baseParams\n}: {\n isDangerSwap?: boolean;\n} & GetButtonLabelOverrideBaseInput): string | undefined {\n const baseOverride = getButtonLabelOverrideBase(baseParams);\n if (baseOverride) return baseOverride;\n if (isDangerSwap) return \"Swap Anyway\";\n}\n\nfunction useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode,\n}: UseExtraPropsInput) {\n const { walletChainMatchesAppChain, isConnected } = useChainMatches();\n\n const wrongNetwork = !walletChainMatchesAppChain;\n\n // protection against same tokens, because we cannot rely on setTokenAtom() to handle ALL possible cases\n const tokensAreSame =\n tokenFrom && tokenTo && areTokensSame(tokenFrom, tokenTo);\n\n const isTokenFromInsufficientBalance =\n useIsTokenFromInsufficientBalance(tradeMode);\n\n return {\n isConnected,\n wrongNetwork,\n tokensAreSame,\n isTokenFromInsufficientBalance,\n };\n}\n\ntype UseExtraPropsInput = {\n tokenFrom?: Token;\n tokenTo?: Token;\n tradeMode: TradeMode;\n};\ntype UseExtraPropsReturn = {\n disabled: boolean;\n labelOverride?: string;\n className?: string;\n isConnected: boolean;\n};\n\nconst dangerSwapBtnClassName = \"bg-secondary-radical-red-1\";\n\nexport function useWidgetButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"swap\",\n });\n\n const { priceMode, cachedError, getPriceImpact } = useCurrentSwapPriceError();\n const degenMode = useDegenMode();\n\n const priceImpact = getPriceImpact();\n\n const isDangerSwap = !!(\n priceImpact.isHighImpact || priceImpact.isUnavailable\n );\n\n const isAccountContract = useIsAccountContract().data?.isContract;\n const isCrosschain = useIsCrossChain();\n const receiver = useSwapReceiverAddressValue();\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const receiverRequiredButNotSet =\n !!isAccountContract && isCrosschain && !receiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n receiverRequiredButNotSet ||\n (!degenMode && isDangerSwap);\n\n const labelOverride = getSwapButtonLabelOverride({\n isDangerSwap,\n priceMode,\n priceError: cachedError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n });\n\n return {\n disabled,\n labelOverride,\n isConnected,\n className: isDangerSwap ? dangerSwapBtnClassName : undefined,\n };\n}\n\nexport function useLimitButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"limit\",\n });\n const unsupportedChain = useUnsupportedLimitChain();\n\n const { unsupportedTokens } = useUnsupportedLimitTokens();\n\n const isCrosschain =\n tokenFrom && tokenTo && tokenFrom.network !== tokenTo.network;\n\n const isCrosschainLimitOrder = isCrosschain;\n\n const { error: limitPriceError } = useDeltaSwapPriceForLimit({\n // DeltaPrice is required for crosschain Limit orders only\n tradeMode: \"limit\",\n enabled: false,\n });\n\n const priceError = isCrosschainLimitOrder ? limitPriceError : undefined;\n\n const limitReceiverAddress = useLimitReceiverAddressValue();\n const isAccountContract = useIsAccountContract().data?.isContract;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n const connectedButNoReceiver = !limitReceiverAddress;\n\n const receiverRequiredButNotSet =\n // require receiver address filled when wallet=Smart Contract and Order is crosschain\n !!isAccountContract && !!isCrosschain && connectedButNoReceiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n !!unsupportedTokens ||\n !!priceError ||\n receiverRequiredButNotSet;\n\n const labelOverride = getButtonLabelOverrideBase({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n priceError,\n priceMode: \"delta\",\n });\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n return {\n disabled,\n labelOverride,\n className,\n isConnected,\n };\n}\n\nexport function useOtcButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"otc\",\n });\n\n const otcReceiverAddress = useOtcReceiverAddressValue();\n const unsupportedChain = useUnsupportedOtcChain();\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const connectedButNoReceiver = isConnected && !otcReceiverAddress;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n connectedButNoReceiver;\n\n const labelOverride = getButtonLabelOverrideBase({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet: connectedButNoReceiver, // receiver always required for OTC\n });\n\n return {\n labelOverride,\n disabled,\n className,\n isConnected,\n };\n}\n\nexport function useTwapButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"twap\",\n });\n const isSliceTooShort = useTwapSliceTooShort();\n\n const { cachedError, getPriceImpact } = useCurrentTwapPriceError();\n const degenMode = useDegenMode();\n\n const priceImpact = getPriceImpact();\n\n const isDangerSwap = !!(\n priceImpact.isHighImpact || priceImpact.isUnavailable\n );\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n (!degenMode && isDangerSwap) ||\n isSliceTooShort;\n\n const labelOverride = getSwapButtonLabelOverride({\n isDangerSwap,\n priceMode: \"delta\",\n priceError: cachedError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n });\n\n return {\n disabled,\n labelOverride,\n isConnected,\n className: isDangerSwap ? dangerSwapBtnClassName : undefined,\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useWidgetButtonExtraProps.js","names":["useSwapReceiverAddressValue","useIsAccountContract","useCurrentSwapPriceError","useCurrentTwapPriceError","useIsTokenFromInsufficientBalance","Token","areTokensSame","useIsCrossChain","useOtcReceiverAddressValue","useUnsupportedLimitChain","useUnsupportedOtcChain","TradeMode","useUnsupportedLimitTokens","useDeltaSwapPriceForLimit","useLimitReceiverAddressValue","useChainMatches","useDegenMode","useTwapSliceTooShort","errorMessageByApiErrorMessage","Record","ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT","GetButtonLabelOverrideBaseInput","priceMode","priceError","Error","wrongNetwork","isTokenFromInsufficientBalance","receiverRequiredButNotSet","getButtonLabelOverrideBase","message","getSwapButtonLabelOverride","isDangerSwap","baseParams","baseOverride","useWidgetButtonConditions","t0","$","_c","tokenFrom","tokenTo","tradeMode","walletChainMatchesAppChain","isConnected","t1","tokensAreSame","t2","UseExtraPropsInput","UseExtraPropsReturn","disabled","labelOverride","className","dangerSwapBtnClassName","useWidgetButtonExtraProps","cachedError","getPriceImpact","degenMode","priceImpact","isHighImpact","isUnavailable","isAccountContract","data","isContract","isCrosschain","receiver","t3","t4","undefined","t5","useLimitButtonExtraProps","unsupportedChain","unsupportedTokens","network","isCrosschainLimitOrder","Symbol","for","enabled","error","limitPriceError","limitReceiverAddress","connectedButNoReceiver","useOtcButtonExtraProps","otcReceiverAddress","useTwapButtonExtraProps","isSliceTooShort"],"sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"sourcesContent":["import { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useCurrentSwapPriceError } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useCurrentTwapPriceError } from \"@/hooks/swap/prices/useTwapPrices\";\n\nimport { useIsTokenFromInsufficientBalance } from \"@/hooks/tokens/balances/useIsInsufficientTokenBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useOtcReceiverAddressValue } from \"@/core/otc/state/receiverAddressAtom\";\nimport { useUnsupportedLimitChain } from \"@/core/limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"@/core/otc/useOtcNotSupported\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { useUnsupportedLimitTokens } from \"@/core/limit/useLimitTokenToInputProps\";\nimport { useDeltaSwapPriceForLimit } from \"@/core/limit/useLimitRate\";\nimport { useLimitReceiverAddressValue } from \"@/core/limit/state/receiverAddressAtom\";\nimport { useChainMatches } from \"@/hooks/useChainMatches\";\nimport { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport { useTwapSliceTooShort } from \"@/core/twap/state/twapParamsAtom\";\n\nconst errorMessageByApiErrorMessage: Record<string, string> = {\n ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT: \"Price Impact Too High\",\n \"No routes found with enough liquidity\": \"No Liquidity\",\n \"Bad USD price\": \"Price Error\",\n};\n\ntype GetButtonLabelOverrideBaseInput = {\n priceMode?: \"market\" | \"delta\";\n priceError?: Error | null;\n wrongNetwork: boolean;\n isTokenFromInsufficientBalance: boolean;\n receiverRequiredButNotSet?: boolean;\n};\n\nfunction getButtonLabelOverrideBase({\n priceMode,\n priceError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n}: GetButtonLabelOverrideBaseInput) {\n if (priceMode === \"market\" && priceError)\n return errorMessageByApiErrorMessage[priceError.message];\n\n if (wrongNetwork) return \"You are on the wrong network\";\n if (isTokenFromInsufficientBalance) return \"Insufficient funds\";\n if (receiverRequiredButNotSet) return \"Add a receiving address\";\n}\n\nfunction getSwapButtonLabelOverride({\n isDangerSwap,\n ...baseParams\n}: {\n isDangerSwap?: boolean;\n} & GetButtonLabelOverrideBaseInput): string | undefined {\n const baseOverride = getButtonLabelOverrideBase(baseParams);\n if (baseOverride) return baseOverride;\n if (isDangerSwap) return \"Swap Anyway\";\n}\n\nfunction useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode,\n}: UseExtraPropsInput) {\n const { walletChainMatchesAppChain, isConnected } = useChainMatches();\n\n const wrongNetwork = !walletChainMatchesAppChain;\n\n // protection against same tokens, because we cannot rely on setTokenAtom() to handle ALL possible cases\n const tokensAreSame =\n tokenFrom && tokenTo && areTokensSame(tokenFrom, tokenTo);\n\n const isTokenFromInsufficientBalance =\n useIsTokenFromInsufficientBalance(tradeMode);\n\n return {\n isConnected,\n wrongNetwork,\n tokensAreSame,\n isTokenFromInsufficientBalance,\n };\n}\n\ntype UseExtraPropsInput = {\n tokenFrom?: Token;\n tokenTo?: Token;\n tradeMode: TradeMode;\n};\ntype UseExtraPropsReturn = {\n disabled: boolean;\n labelOverride?: string;\n className?: string;\n isConnected: boolean;\n};\n\nconst dangerSwapBtnClassName = \"bg-secondary-radical-red-1\";\n\nexport function useWidgetButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"swap\",\n });\n\n const { priceMode, cachedError, getPriceImpact } = useCurrentSwapPriceError();\n const degenMode = useDegenMode();\n\n const priceImpact = getPriceImpact();\n\n const isDangerSwap = !!(\n priceImpact.isHighImpact || priceImpact.isUnavailable\n );\n\n const isAccountContract = useIsAccountContract().data?.isContract;\n const isCrosschain = useIsCrossChain();\n const receiver = useSwapReceiverAddressValue();\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const receiverRequiredButNotSet =\n !!isAccountContract && isCrosschain && !receiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n receiverRequiredButNotSet ||\n (!degenMode && isDangerSwap);\n\n const labelOverride = getSwapButtonLabelOverride({\n isDangerSwap,\n priceMode,\n priceError: cachedError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n });\n\n return {\n disabled,\n labelOverride,\n isConnected,\n className: isDangerSwap ? dangerSwapBtnClassName : undefined,\n };\n}\n\nexport function useLimitButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"limit\",\n });\n const unsupportedChain = useUnsupportedLimitChain();\n\n const { unsupportedTokens } = useUnsupportedLimitTokens();\n\n const isCrosschain =\n tokenFrom && tokenTo && tokenFrom.network !== tokenTo.network;\n\n const isCrosschainLimitOrder = isCrosschain;\n\n const { error: limitPriceError } = useDeltaSwapPriceForLimit({\n // DeltaPrice is required for crosschain Limit orders only\n tradeMode: \"limit\",\n enabled: false,\n });\n\n const priceError = isCrosschainLimitOrder ? limitPriceError : undefined;\n\n const limitReceiverAddress = useLimitReceiverAddressValue();\n const isAccountContract = useIsAccountContract().data?.isContract;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n const connectedButNoReceiver = !limitReceiverAddress;\n\n const receiverRequiredButNotSet =\n // require receiver address filled when wallet=Smart Contract and Order is crosschain\n !!isAccountContract && !!isCrosschain && connectedButNoReceiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n !!unsupportedTokens ||\n !!priceError ||\n receiverRequiredButNotSet;\n\n const labelOverride = getButtonLabelOverrideBase({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n priceError,\n priceMode: \"delta\",\n });\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n return {\n disabled,\n labelOverride,\n className,\n isConnected,\n };\n}\n\nexport function useOtcButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"otc\",\n });\n\n const otcReceiverAddress = useOtcReceiverAddressValue();\n const unsupportedChain = useUnsupportedOtcChain();\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const connectedButNoReceiver = isConnected && !otcReceiverAddress;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n connectedButNoReceiver;\n\n const labelOverride = getButtonLabelOverrideBase({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet: connectedButNoReceiver, // receiver always required for OTC\n });\n\n return {\n labelOverride,\n disabled,\n className,\n isConnected,\n };\n}\n\nexport function useTwapButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"twap\",\n });\n const isSliceTooShort = useTwapSliceTooShort();\n\n const { cachedError, getPriceImpact } = useCurrentTwapPriceError();\n const degenMode = useDegenMode();\n\n const priceImpact = getPriceImpact();\n\n const isDangerSwap = !!(\n priceImpact.isHighImpact || priceImpact.isUnavailable\n );\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n (!degenMode && isDangerSwap) ||\n isSliceTooShort;\n\n const labelOverride = getSwapButtonLabelOverride({\n isDangerSwap,\n priceMode: \"delta\",\n priceError: cachedError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n });\n\n return {\n disabled,\n labelOverride,\n isConnected,\n className: isDangerSwap ? dangerSwapBtnClassName : undefined,\n };\n}\n"],"mappings":"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"}
|