@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":"validatedReferrerConfigAtom.js","names":["atom","referrerConfigAtom","ReferrerConfig","isAddress","validatedReferrerConfigAtom","get","referrerAddress","undefined"],"sources":["../../../src/core/state/validatedReferrerConfigAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { referrerConfigAtom } from \"./configAtom\";\nimport type { ReferrerConfig } from \"../types\";\nimport { isAddress } from \"viem\";\n\nexport const validatedReferrerConfigAtom = atom<ReferrerConfig>((get) => {\n const { referrerAddress } = get(referrerConfigAtom);\n\n return {\n referrerAddress:\n referrerAddress && isAddress(referrerAddress)\n ? referrerAddress\n : undefined,\n };\n});\n"],"mappings":";;;;AAKA,IAAaI,IAA8BJ,GAAsBK,MAAQ;CACvE,IAAM,EAAEC,uBAAoBD,EAAIJ,EAAmB;
|
|
1
|
+
{"version":3,"file":"validatedReferrerConfigAtom.js","names":["atom","referrerConfigAtom","ReferrerConfig","isAddress","validatedReferrerConfigAtom","get","referrerAddress","undefined"],"sources":["../../../src/core/state/validatedReferrerConfigAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { referrerConfigAtom } from \"./configAtom\";\nimport type { ReferrerConfig } from \"../types\";\nimport { isAddress } from \"viem\";\n\nexport const validatedReferrerConfigAtom = atom<ReferrerConfig>((get) => {\n const { referrerAddress } = get(referrerConfigAtom);\n\n return {\n referrerAddress:\n referrerAddress && isAddress(referrerAddress)\n ? referrerAddress\n : undefined,\n };\n});\n"],"mappings":";;;;AAKA,IAAaI,IAA8BJ,GAAsBK,MAAQ;CACvE,IAAM,EAAEC,uBAAoBD,EAAIJ,EAAmB;CAEnD,OAAO,EACLK,iBACEA,KAAmBH,EAAUG,EAAgB,GACzCA,IACAC,KAAAA,GACP;EACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"widgetEventsAtom.js","names":["atom","useAtomValue","useSetAtom","WidgetEventCallbacks","WidgetEventCallbacksMin","useLayoutEffect","getWidgetState","assert","TokenFormState","Callbacks","Required","widgetEventsAtom","get","set","callbacks","onSwap","payload","widgetState","swapFormState","formState","swap","isFullTokenFormState","Input","Parameters","NonNullable","payloadWithState","event","params","state","onTwapOrder","twapFormState","twap","onLimitOrder","limitOrderFormState","limit","onOTCOrder","otcOrderFormState","otc","onAllowToken","onWrapETH","onSettingsChange","onConnectWallet","_onConnectWalletClick","onConnectWalletClick","undefined","onCancelOrder","onCancelTx","onFillOTCOrder","onFormInputChange","_onPriceChange","onPriceChange","useWidgetEvents","useWidgetEventsSetter","$","_c","setWidgetEvents","t0","t1","t2","t3","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15","T","tokenTo","receiverAddress","destChainId","connectedAccount"],"sources":["../../../src/core/state/widgetEventsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport type {\n WidgetEventCallbacks,\n WidgetEventCallbacksMin,\n} from \"@/events/types\";\nimport { useLayoutEffect } from \"react\";\nimport { getWidgetState } from \"@/events/getters/widgetState\";\nimport { assert } from \"ts-essentials\";\nimport type { TokenFormState } from \"@/events/types/common\";\n\ntype Callbacks = Required<WidgetEventCallbacksMin>;\n\nexport const widgetEventsAtom = atom<\n WidgetEventCallbacksMin,\n [WidgetEventCallbacks],\n void\n>({}, (get, set, callbacks) => {\n const onSwap: Callbacks[\"onSwap\"] = (payload) => {\n if (!callbacks.onSwap) return;\n const widgetState = getWidgetState(get);\n\n const swapFormState = widgetState.formState.swap;\n assert(\n isFullTokenFormState(swapFormState),\n \"Swap form state is required to perform swap\"\n );\n\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onSwap\"]>>[0];\n\n // attaching extra parameters to the event payload\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...swapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onSwap(payloadWithState);\n };\n\n const onTwapOrder: Callbacks[\"onTwapOrder\"] = (payload) => {\n if (!callbacks.onTwapOrder) return;\n const widgetState = getWidgetState(get);\n\n const twapFormState = widgetState.formState.twap;\n assert(\n isFullTokenFormState(twapFormState),\n \"Twap form state is required to perform twap order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onTwapOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...twapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onTwapOrder(payloadWithState);\n };\n\n const onLimitOrder: Callbacks[\"onLimitOrder\"] = (payload) => {\n if (!callbacks.onLimitOrder) return;\n const widgetState = getWidgetState(get);\n const limitOrderFormState = widgetState.formState.limit;\n assert(\n isFullTokenFormState(limitOrderFormState),\n \"Limit order form state is required to create a limit order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onLimitOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...limitOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onLimitOrder(payloadWithState);\n };\n\n const onOTCOrder: Callbacks[\"onOTCOrder\"] = (payload) => {\n if (!callbacks.onOTCOrder) return;\n const widgetState = getWidgetState(get);\n const otcOrderFormState = widgetState.formState.otc;\n assert(\n isFullTokenFormState(otcOrderFormState),\n \"OTC order form state is required to create an OTC order\"\n );\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onOTCOrder\"]>>[0];\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...otcOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onOTCOrder(payloadWithState);\n };\n\n const onAllowToken: Callbacks[\"onAllowToken\"] = (payload) => {\n if (!callbacks.onAllowToken) return;\n const widgetState = getWidgetState(get);\n\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n\n callbacks.onAllowToken(payloadWithState);\n };\n\n const onWrapETH: Callbacks[\"onWrapETH\"] = (payload) => {\n if (!callbacks.onWrapETH) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onWrapETH(payloadWithState);\n };\n\n const onSettingsChange: Callbacks[\"onSettingsChange\"] = (payload) => {\n if (!callbacks.onSettingsChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onSettingsChange(payloadWithState);\n };\n\n const onConnectWallet: Callbacks[\"onConnectWallet\"] = (payload) => {\n if (!callbacks.onConnectWallet) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onConnectWallet(payloadWithState);\n };\n\n const _onConnectWalletClick = callbacks.onConnectWalletClick;\n const onConnectWalletClick: WidgetEventCallbacksMin[\"onConnectWalletClick\"] =\n _onConnectWalletClick\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onConnectWalletClick(payloadWithState);\n }\n : undefined;\n\n const onCancelOrder: Callbacks[\"onCancelOrder\"] = (payload) => {\n if (!callbacks.onCancelOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onCancelOrder(payloadWithState);\n };\n\n const onCancelTx: Callbacks[\"onCancelTx\"] = (payload) => {\n if (!callbacks.onCancelTx) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onCancelTx(payloadWithState);\n };\n\n const onFillOTCOrder: Callbacks[\"onFillOTCOrder\"] = (payload) => {\n if (!callbacks.onFillOTCOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFillOTCOrder(payloadWithState);\n };\n\n const onFormInputChange: Callbacks[\"onFormInputChange\"] = (payload) => {\n if (!callbacks.onFormInputChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFormInputChange(payloadWithState);\n };\n\n const _onPriceChange = callbacks.onPriceChange;\n const onPriceChange: WidgetEventCallbacksMin[\"onPriceChange\"] = _onPriceChange\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onPriceChange(payloadWithState);\n }\n : undefined;\n\n set(widgetEventsAtom, {\n onSwap,\n onTwapOrder,\n onLimitOrder,\n onOTCOrder,\n onAllowToken,\n onWrapETH,\n onSettingsChange,\n onConnectWallet,\n onConnectWalletClick,\n onCancelOrder,\n onCancelTx,\n onFillOTCOrder,\n onFormInputChange,\n onPriceChange,\n });\n});\n\nexport const useWidgetEvents = (): WidgetEventCallbacksMin => {\n return useAtomValue(widgetEventsAtom);\n};\n\nexport const useWidgetEventsSetter = (callbacks?: WidgetEventCallbacks) => {\n const setWidgetEvents = useSetAtom(widgetEventsAtom);\n\n useLayoutEffect(() => {\n setWidgetEvents({\n onConnectWallet: callbacks?.onConnectWallet,\n onConnectWalletClick: callbacks?.onConnectWalletClick,\n onAllowToken: callbacks?.onAllowToken,\n onSwap: callbacks?.onSwap,\n onTwapOrder: callbacks?.onTwapOrder,\n onOTCOrder: callbacks?.onOTCOrder,\n onLimitOrder: callbacks?.onLimitOrder,\n onWrapETH: callbacks?.onWrapETH,\n onSettingsChange: callbacks?.onSettingsChange,\n onCancelOrder: callbacks?.onCancelOrder,\n onCancelTx: callbacks?.onCancelTx,\n onFillOTCOrder: callbacks?.onFillOTCOrder,\n onFormInputChange: callbacks?.onFormInputChange,\n onPriceChange: callbacks?.onPriceChange,\n });\n }, [\n callbacks?.onConnectWallet,\n callbacks?.onConnectWalletClick,\n callbacks?.onAllowToken,\n callbacks?.onSwap,\n callbacks?.onTwapOrder,\n callbacks?.onOTCOrder,\n callbacks?.onLimitOrder,\n callbacks?.onWrapETH,\n callbacks?.onSettingsChange,\n callbacks?.onCancelOrder,\n callbacks?.onCancelTx,\n callbacks?.onFillOTCOrder,\n callbacks?.onFormInputChange,\n callbacks?.onPriceChange,\n setWidgetEvents,\n ]);\n};\n\nfunction isFullTokenFormState<T extends TokenFormState>(\n state: T\n): state is Required<T> {\n return !!(\n state.tokenTo &&\n state.receiverAddress &&\n state.destChainId &&\n state.connectedAccount\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"widgetEventsAtom.js","names":["atom","useAtomValue","useSetAtom","WidgetEventCallbacks","WidgetEventCallbacksMin","useLayoutEffect","getWidgetState","assert","TokenFormState","Callbacks","Required","widgetEventsAtom","get","set","callbacks","onSwap","payload","widgetState","swapFormState","formState","swap","isFullTokenFormState","Input","Parameters","NonNullable","payloadWithState","event","params","state","onTwapOrder","twapFormState","twap","onLimitOrder","limitOrderFormState","limit","onOTCOrder","otcOrderFormState","otc","onAllowToken","onWrapETH","onSettingsChange","onConnectWallet","_onConnectWalletClick","onConnectWalletClick","undefined","onCancelOrder","onCancelTx","onFillOTCOrder","onFormInputChange","_onPriceChange","onPriceChange","useWidgetEvents","useWidgetEventsSetter","$","_c","setWidgetEvents","t0","t1","t2","t3","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","t15","T","tokenTo","receiverAddress","destChainId","connectedAccount"],"sources":["../../../src/core/state/widgetEventsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport type {\n WidgetEventCallbacks,\n WidgetEventCallbacksMin,\n} from \"@/events/types\";\nimport { useLayoutEffect } from \"react\";\nimport { getWidgetState } from \"@/events/getters/widgetState\";\nimport { assert } from \"ts-essentials\";\nimport type { TokenFormState } from \"@/events/types/common\";\n\ntype Callbacks = Required<WidgetEventCallbacksMin>;\n\nexport const widgetEventsAtom = atom<\n WidgetEventCallbacksMin,\n [WidgetEventCallbacks],\n void\n>({}, (get, set, callbacks) => {\n const onSwap: Callbacks[\"onSwap\"] = (payload) => {\n if (!callbacks.onSwap) return;\n const widgetState = getWidgetState(get);\n\n const swapFormState = widgetState.formState.swap;\n assert(\n isFullTokenFormState(swapFormState),\n \"Swap form state is required to perform swap\"\n );\n\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onSwap\"]>>[0];\n\n // attaching extra parameters to the event payload\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...swapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onSwap(payloadWithState);\n };\n\n const onTwapOrder: Callbacks[\"onTwapOrder\"] = (payload) => {\n if (!callbacks.onTwapOrder) return;\n const widgetState = getWidgetState(get);\n\n const twapFormState = widgetState.formState.twap;\n assert(\n isFullTokenFormState(twapFormState),\n \"Twap form state is required to perform twap order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onTwapOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...twapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onTwapOrder(payloadWithState);\n };\n\n const onLimitOrder: Callbacks[\"onLimitOrder\"] = (payload) => {\n if (!callbacks.onLimitOrder) return;\n const widgetState = getWidgetState(get);\n const limitOrderFormState = widgetState.formState.limit;\n assert(\n isFullTokenFormState(limitOrderFormState),\n \"Limit order form state is required to create a limit order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onLimitOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...limitOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onLimitOrder(payloadWithState);\n };\n\n const onOTCOrder: Callbacks[\"onOTCOrder\"] = (payload) => {\n if (!callbacks.onOTCOrder) return;\n const widgetState = getWidgetState(get);\n const otcOrderFormState = widgetState.formState.otc;\n assert(\n isFullTokenFormState(otcOrderFormState),\n \"OTC order form state is required to create an OTC order\"\n );\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onOTCOrder\"]>>[0];\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...otcOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onOTCOrder(payloadWithState);\n };\n\n const onAllowToken: Callbacks[\"onAllowToken\"] = (payload) => {\n if (!callbacks.onAllowToken) return;\n const widgetState = getWidgetState(get);\n\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n\n callbacks.onAllowToken(payloadWithState);\n };\n\n const onWrapETH: Callbacks[\"onWrapETH\"] = (payload) => {\n if (!callbacks.onWrapETH) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onWrapETH(payloadWithState);\n };\n\n const onSettingsChange: Callbacks[\"onSettingsChange\"] = (payload) => {\n if (!callbacks.onSettingsChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onSettingsChange(payloadWithState);\n };\n\n const onConnectWallet: Callbacks[\"onConnectWallet\"] = (payload) => {\n if (!callbacks.onConnectWallet) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onConnectWallet(payloadWithState);\n };\n\n const _onConnectWalletClick = callbacks.onConnectWalletClick;\n const onConnectWalletClick: WidgetEventCallbacksMin[\"onConnectWalletClick\"] =\n _onConnectWalletClick\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onConnectWalletClick(payloadWithState);\n }\n : undefined;\n\n const onCancelOrder: Callbacks[\"onCancelOrder\"] = (payload) => {\n if (!callbacks.onCancelOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onCancelOrder(payloadWithState);\n };\n\n const onCancelTx: Callbacks[\"onCancelTx\"] = (payload) => {\n if (!callbacks.onCancelTx) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onCancelTx(payloadWithState);\n };\n\n const onFillOTCOrder: Callbacks[\"onFillOTCOrder\"] = (payload) => {\n if (!callbacks.onFillOTCOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFillOTCOrder(payloadWithState);\n };\n\n const onFormInputChange: Callbacks[\"onFormInputChange\"] = (payload) => {\n if (!callbacks.onFormInputChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFormInputChange(payloadWithState);\n };\n\n const _onPriceChange = callbacks.onPriceChange;\n const onPriceChange: WidgetEventCallbacksMin[\"onPriceChange\"] = _onPriceChange\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onPriceChange(payloadWithState);\n }\n : undefined;\n\n set(widgetEventsAtom, {\n onSwap,\n onTwapOrder,\n onLimitOrder,\n onOTCOrder,\n onAllowToken,\n onWrapETH,\n onSettingsChange,\n onConnectWallet,\n onConnectWalletClick,\n onCancelOrder,\n onCancelTx,\n onFillOTCOrder,\n onFormInputChange,\n onPriceChange,\n });\n});\n\nexport const useWidgetEvents = (): WidgetEventCallbacksMin => {\n return useAtomValue(widgetEventsAtom);\n};\n\nexport const useWidgetEventsSetter = (callbacks?: WidgetEventCallbacks) => {\n const setWidgetEvents = useSetAtom(widgetEventsAtom);\n\n useLayoutEffect(() => {\n setWidgetEvents({\n onConnectWallet: callbacks?.onConnectWallet,\n onConnectWalletClick: callbacks?.onConnectWalletClick,\n onAllowToken: callbacks?.onAllowToken,\n onSwap: callbacks?.onSwap,\n onTwapOrder: callbacks?.onTwapOrder,\n onOTCOrder: callbacks?.onOTCOrder,\n onLimitOrder: callbacks?.onLimitOrder,\n onWrapETH: callbacks?.onWrapETH,\n onSettingsChange: callbacks?.onSettingsChange,\n onCancelOrder: callbacks?.onCancelOrder,\n onCancelTx: callbacks?.onCancelTx,\n onFillOTCOrder: callbacks?.onFillOTCOrder,\n onFormInputChange: callbacks?.onFormInputChange,\n onPriceChange: callbacks?.onPriceChange,\n });\n }, [\n callbacks?.onConnectWallet,\n callbacks?.onConnectWalletClick,\n callbacks?.onAllowToken,\n callbacks?.onSwap,\n callbacks?.onTwapOrder,\n callbacks?.onOTCOrder,\n callbacks?.onLimitOrder,\n callbacks?.onWrapETH,\n callbacks?.onSettingsChange,\n callbacks?.onCancelOrder,\n callbacks?.onCancelTx,\n callbacks?.onFillOTCOrder,\n callbacks?.onFormInputChange,\n callbacks?.onPriceChange,\n setWidgetEvents,\n ]);\n};\n\nfunction isFullTokenFormState<T extends TokenFormState>(\n state: T\n): state is Required<T> {\n return !!(\n state.tokenTo &&\n state.receiverAddress &&\n state.destChainId &&\n state.connectedAccount\n );\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subscriptions.js","names":["subscribeToWalletChainIdChanges","subscribeToAccountChanges","subscribeToPriceOnSwapModeChange","runSubscriptions"],"sources":["../../src/core/subscriptions.ts"],"sourcesContent":["import { subscribeToWalletChainIdChanges } from \"./inputs/state/subscriptions\";\nimport { subscribeToAccountChanges } from \"@/components/widget/ReceiverAddress/state/subscriptions\";\nimport { subscribeToPriceOnSwapModeChange } from \"@/events/effects/swapMode\";\n\nexport function runSubscriptions() {\n subscribeToWalletChainIdChanges();\n subscribeToAccountChanges();\n subscribeToPriceOnSwapModeChange();\n}\n"],"mappings":";;;;AAIA,SAAgBG,IAAmB;
|
|
1
|
+
{"version":3,"file":"subscriptions.js","names":["subscribeToWalletChainIdChanges","subscribeToAccountChanges","subscribeToPriceOnSwapModeChange","runSubscriptions"],"sources":["../../src/core/subscriptions.ts"],"sourcesContent":["import { subscribeToWalletChainIdChanges } from \"./inputs/state/subscriptions\";\nimport { subscribeToAccountChanges } from \"@/components/widget/ReceiverAddress/state/subscriptions\";\nimport { subscribeToPriceOnSwapModeChange } from \"@/events/effects/swapMode\";\n\nexport function runSubscriptions() {\n subscribeToWalletChainIdChanges();\n subscribeToAccountChanges();\n subscribeToPriceOnSwapModeChange();\n}\n"],"mappings":";;;;AAIA,SAAgBG,IAAmB;CAGjCD,AAFAF,GAAiC,EACjCC,GAA2B,EAC3BC,GAAkC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fees.js","names":["DetailWithValue","SwapMode","formatFiatPrice","calculateFeeUSD","DeltaOrMarketPrice","isDeltaPrice","constructSwapFeesDetail","price","isLoading","partnerFee","destUSD","receivedDestUSD","partnerFeeUSD","formattedFee","toNumber","title","value","tooltip","toFixed","constructNetworkFeesDetail","swapMode","React","ReactNode","gasCostUSD","undefined","formattedPrice","Number"],"sources":["../../../src/core/swapDetails/fees.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { formatFiatPrice } from \"@/lib/utils/formatFiatPrice\";\nimport { calculateFeeUSD } from \"@/lib/utils/fee\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\n\nexport function constructSwapFeesDetail({\n price,\n isLoading,\n}: {\n price?: DeltaOrMarketPrice;\n isLoading: boolean;\n}): DetailWithValue | undefined {\n // quit early if there are no fees or destUSD in price,\n // because we cannot calculate the fee\n if (!price || price.partnerFee === 0) return;\n\n const destUSD = isDeltaPrice(price) ? price.receivedDestUSD : price.destUSD;\n if (!destUSD) return;\n\n const partnerFeeUSD = calculateFeeUSD(price.partnerFee, destUSD);\n const formattedFee = partnerFeeUSD\n ? formatFiatPrice(partnerFeeUSD.toNumber())\n : null;\n\n return {\n title: \"Swap Fees\",\n value: formattedFee === \"$0.00\" ? \"<$0.01\" : formattedFee,\n isLoading,\n tooltip: `Swap fees are set to ${price.partnerFee.toFixed(2)}% for this trade`,\n };\n}\n\nexport function constructNetworkFeesDetail({\n price,\n swapMode,\n isLoading,\n}: {\n price?: DeltaOrMarketPrice;\n swapMode: SwapMode;\n isLoading: boolean;\n}): DetailWithValue {\n let value: React.ReactNode = null;\n\n if (swapMode === \"delta\") {\n value = <div className=\"text-[#A5D712]\">Gasless</div>;\n } else if (price?.gasCostUSD !== undefined) {\n const formattedPrice = formatFiatPrice(Number(price.gasCostUSD));\n value = formattedPrice === \"$0.00\" ? \"<$0.01\" : formattedPrice;\n }\n\n return {\n title: \"Network Fees\",\n value,\n isLoading,\n tooltip:\n \"Those fees are paid to validators, Velora and its partners don't control this fee\",\n };\n}\n"],"mappings":";;;;;AAOA,SAAgBM,EAAwB,EACtCC,UACAC,gBAI8B;
|
|
1
|
+
{"version":3,"file":"fees.js","names":["DetailWithValue","SwapMode","formatFiatPrice","calculateFeeUSD","DeltaOrMarketPrice","isDeltaPrice","constructSwapFeesDetail","price","isLoading","partnerFee","destUSD","receivedDestUSD","partnerFeeUSD","formattedFee","toNumber","title","value","tooltip","toFixed","constructNetworkFeesDetail","swapMode","React","ReactNode","gasCostUSD","undefined","formattedPrice","Number"],"sources":["../../../src/core/swapDetails/fees.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { formatFiatPrice } from \"@/lib/utils/formatFiatPrice\";\nimport { calculateFeeUSD } from \"@/lib/utils/fee\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\n\nexport function constructSwapFeesDetail({\n price,\n isLoading,\n}: {\n price?: DeltaOrMarketPrice;\n isLoading: boolean;\n}): DetailWithValue | undefined {\n // quit early if there are no fees or destUSD in price,\n // because we cannot calculate the fee\n if (!price || price.partnerFee === 0) return;\n\n const destUSD = isDeltaPrice(price) ? price.receivedDestUSD : price.destUSD;\n if (!destUSD) return;\n\n const partnerFeeUSD = calculateFeeUSD(price.partnerFee, destUSD);\n const formattedFee = partnerFeeUSD\n ? formatFiatPrice(partnerFeeUSD.toNumber())\n : null;\n\n return {\n title: \"Swap Fees\",\n value: formattedFee === \"$0.00\" ? \"<$0.01\" : formattedFee,\n isLoading,\n tooltip: `Swap fees are set to ${price.partnerFee.toFixed(2)}% for this trade`,\n };\n}\n\nexport function constructNetworkFeesDetail({\n price,\n swapMode,\n isLoading,\n}: {\n price?: DeltaOrMarketPrice;\n swapMode: SwapMode;\n isLoading: boolean;\n}): DetailWithValue {\n let value: React.ReactNode = null;\n\n if (swapMode === \"delta\") {\n value = <div className=\"text-[#A5D712]\">Gasless</div>;\n } else if (price?.gasCostUSD !== undefined) {\n const formattedPrice = formatFiatPrice(Number(price.gasCostUSD));\n value = formattedPrice === \"$0.00\" ? \"<$0.01\" : formattedPrice;\n }\n\n return {\n title: \"Network Fees\",\n value,\n isLoading,\n tooltip:\n \"Those fees are paid to validators, Velora and its partners don't control this fee\",\n };\n}\n"],"mappings":";;;;;AAOA,SAAgBM,EAAwB,EACtCC,UACAC,gBAI8B;CAG9B,IAAI,CAACD,KAASA,EAAME,eAAe,GAAG;CAEtC,IAAMC,IAAUL,EAAaE,EAAM,GAAGA,EAAMI,kBAAkBJ,EAAMG;CACpE,IAAI,CAACA,GAAS;CAEd,IAAME,IAAgBT,EAAgBI,EAAME,YAAYC,EAAQ,EAC1DG,IAAeD,IACjBV,EAAgBU,EAAcE,UAAU,CAAC,GACzC;CAEJ,OAAO;EACLC,OAAO;EACPC,OAAOH,MAAiB,UAAU,WAAWA;EAC7CL;EACAS,SAAS,wBAAwBV,EAAME,WAAWS,QAAQ,EAAE,CAAA;EAC7D;;AAGH,SAAgBC,EAA2B,EACzCZ,UACAa,aACAZ,gBAKkB;CAClB,IAAIQ,IAAyB;CAE7B,IAAII,MAAa,SACfJ,IAAQ,kBAAC,OAAD;EAAK,WAAU;YAAiB;EAAa,CAAA;MAChD,IAAIT,GAAOgB,eAAeC,KAAAA,GAAW;EAC1C,IAAMC,IAAiBvB,EAAgBwB,OAAOnB,EAAMgB,WAAW,CAAC;EAChEP,IAAQS,MAAmB,UAAU,WAAWA;;CAGlD,OAAO;EACLV,OAAO;EACPC;EACAR;EACAS,SACE;EACH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maxToPay.js","names":["DetailWithValue","DeltaOrMarketPrice","amountAfterSlippage","toDecimalTrimmed","Token","formatUnits","tooltip","constructMaxToPayDetail","price","slippagePercent","isLoading","tokenFrom","swapSide","title","value","maxSrcAmount","srcAmount","toFixed","maxSrcAmountUnit","BigInt","decimals","formattedMaxSrcAmount","symbol"],"sources":["../../../src/core/swapDetails/maxToPay.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { amountAfterSlippage } from \"@/lib/utils/slippage\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport type { Token } from \"@/tokens/state/types\";\n\nimport { formatUnits } from \"viem\";\n\nconst tooltip =\n \"Maximum amount of token to pay to get the receiving amount while accounting for potential slippage.\";\n\nexport function constructMaxToPayDetail({\n price,\n slippagePercent,\n isLoading,\n tokenFrom,\n swapSide,\n}: {\n price?: DeltaOrMarketPrice;\n slippagePercent: number;\n isLoading: boolean;\n tokenFrom?: Token;\n swapSide: \"SELL\" | \"BUY\";\n}): DetailWithValue | undefined {\n // in case of SELL you pay exactly srcAmount\n if (swapSide === \"SELL\") return;\n\n const title = \"Maximum to Pay\";\n\n if (!price || !tokenFrom) {\n return {\n title,\n value: null,\n isLoading,\n tooltip,\n };\n }\n\n const maxSrcAmount = amountAfterSlippage(\n // amount after fee\n price.srcAmount,\n // +slippage=maxAmount to pay\n slippagePercent,\n \"BUY\"\n ).toFixed(0);\n const maxSrcAmountUnit = formatUnits(\n BigInt(maxSrcAmount),\n tokenFrom.decimals\n );\n const formattedMaxSrcAmount = toDecimalTrimmed(maxSrcAmountUnit);\n\n return {\n title,\n value: `${formattedMaxSrcAmount} ${tokenFrom.symbol}`,\n isLoading,\n tooltip,\n };\n}\n"],"mappings":";;;;AAQA,IAAMM,IACJ;AAEF,SAAgBC,EAAwB,EACtCC,UACAC,oBACAC,cACAC,cACAC,eAO8B;
|
|
1
|
+
{"version":3,"file":"maxToPay.js","names":["DetailWithValue","DeltaOrMarketPrice","amountAfterSlippage","toDecimalTrimmed","Token","formatUnits","tooltip","constructMaxToPayDetail","price","slippagePercent","isLoading","tokenFrom","swapSide","title","value","maxSrcAmount","srcAmount","toFixed","maxSrcAmountUnit","BigInt","decimals","formattedMaxSrcAmount","symbol"],"sources":["../../../src/core/swapDetails/maxToPay.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { amountAfterSlippage } from \"@/lib/utils/slippage\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport type { Token } from \"@/tokens/state/types\";\n\nimport { formatUnits } from \"viem\";\n\nconst tooltip =\n \"Maximum amount of token to pay to get the receiving amount while accounting for potential slippage.\";\n\nexport function constructMaxToPayDetail({\n price,\n slippagePercent,\n isLoading,\n tokenFrom,\n swapSide,\n}: {\n price?: DeltaOrMarketPrice;\n slippagePercent: number;\n isLoading: boolean;\n tokenFrom?: Token;\n swapSide: \"SELL\" | \"BUY\";\n}): DetailWithValue | undefined {\n // in case of SELL you pay exactly srcAmount\n if (swapSide === \"SELL\") return;\n\n const title = \"Maximum to Pay\";\n\n if (!price || !tokenFrom) {\n return {\n title,\n value: null,\n isLoading,\n tooltip,\n };\n }\n\n const maxSrcAmount = amountAfterSlippage(\n // amount after fee\n price.srcAmount,\n // +slippage=maxAmount to pay\n slippagePercent,\n \"BUY\"\n ).toFixed(0);\n const maxSrcAmountUnit = formatUnits(\n BigInt(maxSrcAmount),\n tokenFrom.decimals\n );\n const formattedMaxSrcAmount = toDecimalTrimmed(maxSrcAmountUnit);\n\n return {\n title,\n value: `${formattedMaxSrcAmount} ${tokenFrom.symbol}`,\n isLoading,\n tooltip,\n };\n}\n"],"mappings":";;;;AAQA,IAAMM,IACJ;AAEF,SAAgBC,EAAwB,EACtCC,UACAC,oBACAC,cACAC,cACAC,eAO8B;CAE9B,IAAIA,MAAa,QAAQ;CAEzB,IAAMC,IAAQ;CAEd,IAAI,CAACL,KAAS,CAACG,GACb,OAAO;EACLE;EACAC,OAAO;EACPJ;EACAJ;EACD;CAGH,IAAMS,IAAeb,EAEnBM,EAAMQ,WAENP,GACA,MACD,CAACQ,QAAQ,EAAE;CAOZ,OAAO;EACLJ;EACAC,OAAO,GAJqBX,EAJLE,EACvBc,OAAOJ,EAAa,EACpBJ,EAAUS,SAEmCF,CAInCG,CAAqB,GAAIV,EAAUW;EAC7CZ;EACAJ;EACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orderRouting.js","names":["DetailWithValue","DeltaIcon","SwapMode","isSimplePath","isMultiSwap","isMegaSwap","OptimalRate","JSX","tooltip","constructOrderRoutingDetail","swapMode","isLoading","bestRoutes","title","routing","Element","value","length","swapExchanges","swaps","swapExchange","exchange"],"sources":["../../../src/core/swapDetails/orderRouting.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport { DeltaIcon } from \"@/components/widget/Icon/DeltaIcon\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { isSimplePath, isMultiSwap, isMegaSwap } from \"@/lib/utils/dexes\";\nimport type { OptimalRate } from \"@velora-dex/sdk\";\nimport type { JSX } from \"react\";\n\nconst tooltip =\n \"Velora routes and splits your order across many exchanges to achieve the best available rate.\";\n\nexport function constructOrderRoutingDetail({\n swapMode,\n isLoading,\n bestRoutes,\n}: {\n swapMode: SwapMode;\n isLoading: boolean;\n bestRoutes?: OptimalRate[\"bestRoute\"];\n}): DetailWithValue {\n const title = \"Order Routing\";\n let routing: string | JSX.Element | null = null;\n\n if (swapMode === \"delta\") {\n return {\n title,\n value: (\n <div className=\"flex items-center gap-1\">\n <DeltaIcon /> Delta\n </div>\n ),\n isLoading: false, // Delta mode does not have routing\n tooltip,\n };\n }\n\n if (!bestRoutes || bestRoutes.length === 0) {\n return { title, value: null, isLoading, tooltip };\n }\n\n if (isSimplePath(bestRoutes)) {\n const [{ swapExchanges }] = bestRoutes[0].swaps;\n\n if (swapExchanges.length > 1) {\n routing = \"Multi. Exchanges\";\n } else {\n const swapExchange = swapExchanges[0];\n\n if (swapExchange) {\n routing = (\n <div className=\"max-w-[200px] whitespace-nowrap overflow-hidden text-ellipsis\">\n 100% {swapExchange.exchange}\n </div>\n );\n }\n }\n } else if (isMultiSwap(bestRoutes)) {\n routing = \"MultiSwap\";\n } else if (isMegaSwap(bestRoutes)) {\n routing = \"MegaSwap\";\n }\n\n return { title: \"Order Routing\", value: routing, isLoading, tooltip };\n}\n"],"mappings":";;;;AAOA,IAAMQ,IACJ;AAEF,SAAgBC,EAA4B,EAC1CC,aACAC,cACAC,iBAKkB;CAClB,IAAMC,IAAQ,iBACVC,IAAuC;
|
|
1
|
+
{"version":3,"file":"orderRouting.js","names":["DetailWithValue","DeltaIcon","SwapMode","isSimplePath","isMultiSwap","isMegaSwap","OptimalRate","JSX","tooltip","constructOrderRoutingDetail","swapMode","isLoading","bestRoutes","title","routing","Element","value","length","swapExchanges","swaps","swapExchange","exchange"],"sources":["../../../src/core/swapDetails/orderRouting.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport { DeltaIcon } from \"@/components/widget/Icon/DeltaIcon\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { isSimplePath, isMultiSwap, isMegaSwap } from \"@/lib/utils/dexes\";\nimport type { OptimalRate } from \"@velora-dex/sdk\";\nimport type { JSX } from \"react\";\n\nconst tooltip =\n \"Velora routes and splits your order across many exchanges to achieve the best available rate.\";\n\nexport function constructOrderRoutingDetail({\n swapMode,\n isLoading,\n bestRoutes,\n}: {\n swapMode: SwapMode;\n isLoading: boolean;\n bestRoutes?: OptimalRate[\"bestRoute\"];\n}): DetailWithValue {\n const title = \"Order Routing\";\n let routing: string | JSX.Element | null = null;\n\n if (swapMode === \"delta\") {\n return {\n title,\n value: (\n <div className=\"flex items-center gap-1\">\n <DeltaIcon /> Delta\n </div>\n ),\n isLoading: false, // Delta mode does not have routing\n tooltip,\n };\n }\n\n if (!bestRoutes || bestRoutes.length === 0) {\n return { title, value: null, isLoading, tooltip };\n }\n\n if (isSimplePath(bestRoutes)) {\n const [{ swapExchanges }] = bestRoutes[0].swaps;\n\n if (swapExchanges.length > 1) {\n routing = \"Multi. Exchanges\";\n } else {\n const swapExchange = swapExchanges[0];\n\n if (swapExchange) {\n routing = (\n <div className=\"max-w-[200px] whitespace-nowrap overflow-hidden text-ellipsis\">\n 100% {swapExchange.exchange}\n </div>\n );\n }\n }\n } else if (isMultiSwap(bestRoutes)) {\n routing = \"MultiSwap\";\n } else if (isMegaSwap(bestRoutes)) {\n routing = \"MegaSwap\";\n }\n\n return { title: \"Order Routing\", value: routing, isLoading, tooltip };\n}\n"],"mappings":";;;;AAOA,IAAMQ,IACJ;AAEF,SAAgBC,EAA4B,EAC1CC,aACAC,cACAC,iBAKkB;CAClB,IAAMC,IAAQ,iBACVC,IAAuC;CAE3C,IAAIJ,MAAa,SACf,OAAO;EACLG;EACAG,OACE,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,GAAD,EAAa,CAAA,EAAA,SAEhB;;EACDL,WAAW;EACXH;EACD;CAGH,IAAI,CAACI,KAAcA,EAAWK,WAAW,GACvC,OAAO;EAAEJ;EAAOG,OAAO;EAAML;EAAWH;EAAS;CAGnD,IAAIL,EAAaS,EAAW,EAAE;EAC5B,IAAM,CAAC,EAAEM,sBAAmBN,EAAW,GAAGO;EAE1C,IAAID,EAAcD,SAAS,GACzBH,IAAU;OACL;GACL,IAAMM,IAAeF,EAAc;GAEnC,AAAIE,MACFN,IACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CAA8E,SACtEM,EAAaC,SAEtB;;;QAGA,AAAIjB,EAAYQ,EAAW,GAChCE,IAAU,cACDT,EAAWO,EAAW,KAC/BE,IAAU;CAGZ,OAAO;EAAED,OAAO;EAAiBG,OAAOF;EAASH;EAAWH;EAAS"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"priceImpact.js","names":["cn","formatPriceImpactPercent","PriceImpactResult","TriangleAlert","PriceImpactDetail","tooltip","constructPriceImpactDetail","priceImpactResult","isLoading","title","priceImpact","isHighImpact","isMediumImpact","isUnavailable","priceImpactPercent","undefined","value","classes"],"sources":["../../../src/core/swapDetails/priceImpact.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport {\n formatPriceImpactPercent,\n type PriceImpactResult,\n} from \"@/lib/utils/priceImpact\";\nimport { TriangleAlert } from \"lucide-react\";\nimport type { PriceImpactDetail } from \"./types\";\n\nconst tooltip =\n \"The expected influence of the trade over the current market fiat price of the chosen pair of tokens.\";\n\nexport function constructPriceImpactDetail({\n priceImpactResult,\n isLoading,\n}: {\n priceImpactResult: PriceImpactResult;\n isLoading: boolean;\n}): PriceImpactDetail {\n const title = \"Price Impact\";\n\n const { priceImpact, isHighImpact, isMediumImpact, isUnavailable } =\n priceImpactResult;\n\n const priceImpactPercent =\n isUnavailable || priceImpact === undefined\n ? \"Not Available\"\n : formatPriceImpactPercent(priceImpact);\n\n return {\n title,\n value: isHighImpact ? (\n <div className=\"flex items-center gap-1\">\n <TriangleAlert size={14} /> {priceImpactPercent}\n </div>\n ) : (\n priceImpactPercent\n ),\n classes: {\n value: cn({\n \"text-secondary-orange-peel-1 dark:text-secondary-orange-peel-1\":\n isMediumImpact,\n \"text-secondary-radical-red-1 dark:text-secondary-radical-red-1\":\n isUnavailable || isHighImpact,\n }),\n },\n isLoading,\n tooltip,\n isHighImpact,\n isMediumImpact,\n isUnavailable,\n };\n}\n"],"mappings":";;;;;AAQA,IAAMK,IACJ;AAEF,SAAgBC,EAA2B,EACzCC,sBACAC,gBAIoB;CACpB,IAEM,EAAEE,gBAAaC,iBAAcC,mBAAgBC,qBACjDN,GAEIO,IACJD,KAAiBH,MAAgBK,KAAAA,IAC7B,kBACAd,EAAyBS,EAAY;
|
|
1
|
+
{"version":3,"file":"priceImpact.js","names":["cn","formatPriceImpactPercent","PriceImpactResult","TriangleAlert","PriceImpactDetail","tooltip","constructPriceImpactDetail","priceImpactResult","isLoading","title","priceImpact","isHighImpact","isMediumImpact","isUnavailable","priceImpactPercent","undefined","value","classes"],"sources":["../../../src/core/swapDetails/priceImpact.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport {\n formatPriceImpactPercent,\n type PriceImpactResult,\n} from \"@/lib/utils/priceImpact\";\nimport { TriangleAlert } from \"lucide-react\";\nimport type { PriceImpactDetail } from \"./types\";\n\nconst tooltip =\n \"The expected influence of the trade over the current market fiat price of the chosen pair of tokens.\";\n\nexport function constructPriceImpactDetail({\n priceImpactResult,\n isLoading,\n}: {\n priceImpactResult: PriceImpactResult;\n isLoading: boolean;\n}): PriceImpactDetail {\n const title = \"Price Impact\";\n\n const { priceImpact, isHighImpact, isMediumImpact, isUnavailable } =\n priceImpactResult;\n\n const priceImpactPercent =\n isUnavailable || priceImpact === undefined\n ? \"Not Available\"\n : formatPriceImpactPercent(priceImpact);\n\n return {\n title,\n value: isHighImpact ? (\n <div className=\"flex items-center gap-1\">\n <TriangleAlert size={14} /> {priceImpactPercent}\n </div>\n ) : (\n priceImpactPercent\n ),\n classes: {\n value: cn({\n \"text-secondary-orange-peel-1 dark:text-secondary-orange-peel-1\":\n isMediumImpact,\n \"text-secondary-radical-red-1 dark:text-secondary-radical-red-1\":\n isUnavailable || isHighImpact,\n }),\n },\n isLoading,\n tooltip,\n isHighImpact,\n isMediumImpact,\n isUnavailable,\n };\n}\n"],"mappings":";;;;;AAQA,IAAMK,IACJ;AAEF,SAAgBC,EAA2B,EACzCC,sBACAC,gBAIoB;CACpB,IAEM,EAAEE,gBAAaC,iBAAcC,mBAAgBC,qBACjDN,GAEIO,IACJD,KAAiBH,MAAgBK,KAAAA,IAC7B,kBACAd,EAAyBS,EAAY;CAE3C,OAAO;EACLD;EACAO,OAAOL,IACL,kBAAC,OAAD;GAAK,WAAU;aAAf;IACE,kBAAC,GAAD,EAAe,MAAM,IAAM,CAAA;;IAAEG;IACzB;OAENA;EAEFG,SAAS,EACPD,OAAOhB,EAAG;GACR,kEACEY;GACF,kEACEC,KAAiBF;GACpB,CAAA,EACF;EACDH;EACAH;EACAM;EACAC;EACAC;EACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSwapDetailsListProps.d.ts","sourceRoot":"","sources":["../../../src/core/swapDetails/useSwapDetailsListProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kCAAkC,EACnC,MAAM,mCAAmC,CAAC;AAoB3C,eAAO,MAAM,uBAAuB,QAC9B,
|
|
1
|
+
{"version":3,"file":"useSwapDetailsListProps.d.ts","sourceRoot":"","sources":["../../../src/core/swapDetails/useSwapDetailsListProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kCAAkC,EACnC,MAAM,mCAAmC,CAAC;AAoB3C,eAAO,MAAM,uBAAuB,QAC9B,kCA2FH,CAAC"}
|
|
@@ -15,16 +15,16 @@ import { c as h } from "react-compiler-runtime";
|
|
|
15
15
|
import { jsx as g } from "react/jsx-runtime";
|
|
16
16
|
//#region src/core/swapDetails/useSwapDetailsListProps.tsx
|
|
17
17
|
var _ = () => {
|
|
18
|
-
let _ = h(
|
|
18
|
+
let _ = h(30), { tokenFrom: v, tokenTo: y } = a("swap"), b = e(n), x = e(r), S;
|
|
19
19
|
_[0] === Symbol.for("react.memo_cache_sentinel") ? (S = { enabled: !1 }, _[0] = S) : S = _[0];
|
|
20
|
-
let { isLoading: C, price: w, priceMode: T, getPriceImpact: E } = s(S), { resolvedSlippage:
|
|
21
|
-
if (_[1] !== E || _[2] !== C || _[3] !== w || _[4] !== T || _[5] !==
|
|
20
|
+
let { isLoading: C, price: w, priceMode: T, getPriceImpact: E, refetch: D, isFetching: O } = s(S), { resolvedSlippage: k } = o("swap"), A = i(), j, M;
|
|
21
|
+
if (_[1] !== E || _[2] !== C || _[3] !== w || _[4] !== T || _[5] !== k || _[6] !== A || _[7] !== v || _[8] !== y) {
|
|
22
22
|
let e = c({
|
|
23
23
|
bestRoutes: w && "bestRoute" in w ? w.bestRoute : void 0,
|
|
24
24
|
swapMode: T,
|
|
25
25
|
isLoading: C
|
|
26
26
|
});
|
|
27
|
-
|
|
27
|
+
j = l({
|
|
28
28
|
priceImpactResult: E(),
|
|
29
29
|
isLoading: C
|
|
30
30
|
});
|
|
@@ -35,52 +35,58 @@ var _ = () => {
|
|
|
35
35
|
price: w,
|
|
36
36
|
swapMode: T,
|
|
37
37
|
isLoading: C
|
|
38
|
-
}), i =
|
|
38
|
+
}), i = A === "SELL" ? f({
|
|
39
39
|
price: w,
|
|
40
40
|
isLoading: C,
|
|
41
|
-
slippagePercent:
|
|
41
|
+
slippagePercent: k,
|
|
42
42
|
tokenTo: y,
|
|
43
|
-
swapSide:
|
|
43
|
+
swapSide: A
|
|
44
44
|
}) : p({
|
|
45
45
|
price: w,
|
|
46
46
|
isLoading: C,
|
|
47
|
-
slippagePercent:
|
|
47
|
+
slippagePercent: k,
|
|
48
48
|
tokenFrom: v,
|
|
49
|
-
swapSide:
|
|
49
|
+
swapSide: A
|
|
50
50
|
});
|
|
51
|
-
|
|
51
|
+
M = [
|
|
52
52
|
e,
|
|
53
|
-
|
|
53
|
+
j,
|
|
54
54
|
n,
|
|
55
55
|
i,
|
|
56
56
|
r
|
|
57
|
-
].filter(t), _[1] = E, _[2] = C, _[3] = w, _[4] = T, _[5] =
|
|
58
|
-
} else
|
|
59
|
-
let
|
|
60
|
-
_[11] !== x || _[12] !==
|
|
57
|
+
].filter(t), _[1] = E, _[2] = C, _[3] = w, _[4] = T, _[5] = k, _[6] = A, _[7] = v, _[8] = y, _[9] = j, _[10] = M;
|
|
58
|
+
} else j = _[9], M = _[10];
|
|
59
|
+
let N = M, P = A === "BUY", F;
|
|
60
|
+
_[11] !== x || _[12] !== P || _[13] !== C || _[14] !== b || _[15] !== v || _[16] !== y ? (F = {
|
|
61
61
|
srcToken: v,
|
|
62
62
|
destToken: y,
|
|
63
63
|
srcAmountWei: b,
|
|
64
64
|
destAmountWei: x,
|
|
65
65
|
isLoading: C,
|
|
66
|
-
reverse:
|
|
67
|
-
}, _[11] = x, _[12] =
|
|
68
|
-
let
|
|
69
|
-
_[18] !==
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
73
|
-
let
|
|
74
|
-
_[
|
|
66
|
+
reverse: P
|
|
67
|
+
}, _[11] = x, _[12] = P, _[13] = C, _[14] = b, _[15] = v, _[16] = y, _[17] = F) : F = _[17];
|
|
68
|
+
let I;
|
|
69
|
+
_[18] !== O || _[19] !== w || _[20] !== D ? (I = w ? {
|
|
70
|
+
onClick: () => D({ cancelRefetch: !1 }),
|
|
71
|
+
animate: O
|
|
72
|
+
} : void 0, _[18] = O, _[19] = w, _[20] = D, _[21] = I) : I = _[21];
|
|
73
|
+
let L;
|
|
74
|
+
_[22] !== j || _[23] !== F || _[24] !== I ? (L = /* @__PURE__ */ g(m, {
|
|
75
|
+
swapRateProps: F,
|
|
76
|
+
priceImpactDetail: j,
|
|
77
|
+
refreshButtonProps: I
|
|
78
|
+
}), _[22] = j, _[23] = F, _[24] = I, _[25] = L) : L = _[25];
|
|
79
|
+
let R;
|
|
80
|
+
_[26] === Symbol.for("react.memo_cache_sentinel") ? (R = {
|
|
75
81
|
root: "mt-4 items-center",
|
|
76
82
|
trigger: "items-center"
|
|
77
|
-
}, _[
|
|
78
|
-
let
|
|
79
|
-
return _[
|
|
80
|
-
trigger:
|
|
81
|
-
details:
|
|
82
|
-
classes:
|
|
83
|
-
}, _[
|
|
83
|
+
}, _[26] = R) : R = _[26];
|
|
84
|
+
let z;
|
|
85
|
+
return _[27] !== N || _[28] !== L ? (z = {
|
|
86
|
+
trigger: L,
|
|
87
|
+
details: N,
|
|
88
|
+
classes: R
|
|
89
|
+
}, _[27] = N, _[28] = L, _[29] = z) : z = _[29], z;
|
|
84
90
|
};
|
|
85
91
|
//#endregion
|
|
86
92
|
export { _ as useSwapDetailsListProps };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSwapDetailsListProps.js","names":["DetailWithValue","DetailWithValueListExpandableProps","useCurrentSwapPrice","useWidgetTokens","useAtomValue","payInputAmountWeiAtom","receiveInputAmountWeiAtom","constructOrderRoutingDetail","constructPriceImpactDetail","constructSwapFeesDetail","constructNetworkFeesDetail","useSwapSide","isTruthy","constructYouGetDetail","useSlippage","constructMaxToPayDetail","SwapRateWithPriceImpactRow","useSwapDetailsListProps","$","_c","tokenFrom","tokenTo","srcAmountWei","destAmountWei","t0","Symbol","for","enabled","isLoading","price","priceMode","getPriceImpact","resolvedSlippage","swapSide","priceImpactDetail","t1","orderRoutingDetail","bestRoutes","bestRoute","undefined","swapMode","priceImpactResult","swapFeesDetail","networkFeesDetail","minMaxDetail","slippagePercent","filter","details","isBuy","t2","srcToken","destToken","reverse","t3","t4","root","trigger","
|
|
1
|
+
{"version":3,"file":"useSwapDetailsListProps.js","names":["DetailWithValue","DetailWithValueListExpandableProps","useCurrentSwapPrice","useWidgetTokens","useAtomValue","payInputAmountWeiAtom","receiveInputAmountWeiAtom","constructOrderRoutingDetail","constructPriceImpactDetail","constructSwapFeesDetail","constructNetworkFeesDetail","useSwapSide","isTruthy","constructYouGetDetail","useSlippage","constructMaxToPayDetail","SwapRateWithPriceImpactRow","useSwapDetailsListProps","$","_c","tokenFrom","tokenTo","srcAmountWei","destAmountWei","t0","Symbol","for","enabled","isLoading","price","priceMode","getPriceImpact","refetch","isFetching","resolvedSlippage","swapSide","priceImpactDetail","t1","orderRoutingDetail","bestRoutes","bestRoute","undefined","swapMode","priceImpactResult","swapFeesDetail","networkFeesDetail","minMaxDetail","slippagePercent","filter","details","isBuy","t2","srcToken","destToken","reverse","t3","onClick","cancelRefetch","animate","t4","t5","root","trigger","t6","classes"],"sources":["../../../src/core/swapDetails/useSwapDetailsListProps.tsx"],"sourcesContent":["import type {\n DetailWithValue,\n DetailWithValueListExpandableProps,\n} from \"@/components/widget/Details/types\";\nimport { useCurrentSwapPrice } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport { useAtomValue } from \"@/core/store\";\nimport {\n payInputAmountWeiAtom,\n receiveInputAmountWeiAtom,\n} from \"../inputs/state/inputAmountAtom\";\n\nimport { constructOrderRoutingDetail } from \"./orderRouting\";\nimport { constructPriceImpactDetail } from \"./priceImpact\";\nimport { constructSwapFeesDetail, constructNetworkFeesDetail } from \"./fees\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { isTruthy } from \"@/lib/utils\";\nimport { constructYouGetDetail } from \"./youGet\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\n\nimport { constructMaxToPayDetail } from \"./maxToPay\";\nimport { SwapRateWithPriceImpactRow } from \"@/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow\";\n\nexport const useSwapDetailsListProps =\n (): DetailWithValueListExpandableProps => {\n const { tokenFrom, tokenTo } = useWidgetTokens(\"swap\");\n\n const srcAmountWei = useAtomValue(payInputAmountWeiAtom);\n const destAmountWei = useAtomValue(receiveInputAmountWeiAtom);\n\n const { isLoading, price, priceMode, getPriceImpact, refetch, isFetching } =\n useCurrentSwapPrice({ enabled: false });\n\n const { resolvedSlippage } = useSlippage(\"swap\");\n const swapSide = useSwapSide();\n\n const orderRoutingDetail = constructOrderRoutingDetail({\n bestRoutes: price && \"bestRoute\" in price ? price.bestRoute : undefined,\n swapMode: priceMode,\n isLoading,\n });\n\n const priceImpactDetail = constructPriceImpactDetail({\n priceImpactResult: getPriceImpact(),\n isLoading,\n });\n\n const swapFeesDetail = constructSwapFeesDetail({\n price,\n isLoading,\n });\n\n const networkFeesDetail = constructNetworkFeesDetail({\n price,\n swapMode: priceMode,\n isLoading,\n });\n\n const minMaxDetail =\n swapSide === \"SELL\"\n ? // minimum received when SELLing\n constructYouGetDetail({\n price,\n isLoading,\n slippagePercent: resolvedSlippage,\n tokenTo,\n swapSide,\n })\n : // maximum to pay when BUYing\n constructMaxToPayDetail({\n price,\n isLoading,\n slippagePercent: resolvedSlippage,\n tokenFrom,\n swapSide,\n });\n\n const details: DetailWithValue[] = [\n orderRoutingDetail,\n priceImpactDetail,\n swapFeesDetail,\n minMaxDetail,\n networkFeesDetail,\n ].filter(isTruthy);\n\n const isBuy = swapSide === \"BUY\";\n\n return {\n trigger: (\n <SwapRateWithPriceImpactRow\n swapRateProps={{\n srcToken: tokenFrom,\n destToken: tokenTo,\n srcAmountWei,\n destAmountWei,\n isLoading,\n reverse: isBuy,\n }}\n priceImpactDetail={priceImpactDetail}\n refreshButtonProps={\n price\n ? {\n onClick: () => refetch({ cancelRefetch: false }),\n animate: isFetching,\n }\n : undefined\n }\n />\n ),\n details,\n classes: {\n root: \"mt-4 items-center\",\n trigger: \"items-center\",\n },\n };\n };\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"youGet.js","names":["DetailWithValue","DeltaOrMarketPrice","getDestAmountAfterFeeAndSlippage","toDecimalTrimmed","Token","formatUnits","tooltip","constructYouGetDetail","price","slippagePercent","isLoading","tokenTo","swapSide","title","value","minDestAmount","minDestAmountUnit","BigInt","decimals","formattedMinDestAmountUnit","symbol"],"sources":["../../../src/core/swapDetails/youGet.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { getDestAmountAfterFeeAndSlippage } from \"@/lib/utils/price\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport type { Token } from \"@/tokens/state/types\";\n\nimport { formatUnits } from \"viem\";\n\nconst tooltip =\n \"The minimum amount of token to receive, otherwise the transaction will revert.\";\n\nexport function constructYouGetDetail({\n price,\n slippagePercent,\n isLoading,\n tokenTo,\n swapSide,\n}: {\n price?: DeltaOrMarketPrice;\n slippagePercent: number;\n isLoading: boolean;\n tokenTo?: Token;\n swapSide: \"SELL\" | \"BUY\";\n}): DetailWithValue | undefined {\n // in case of BUY youGet= exactly destAmount\n if (swapSide === \"BUY\") return;\n\n const title = \"You Get (at least)\";\n\n if (!price || !tokenTo) {\n return {\n title,\n value: null,\n isLoading,\n tooltip,\n };\n }\n\n const minDestAmount = getDestAmountAfterFeeAndSlippage({\n price,\n slippagePercent,\n });\n\n const minDestAmountUnit = formatUnits(\n BigInt(minDestAmount),\n tokenTo.decimals\n );\n\n const formattedMinDestAmountUnit = toDecimalTrimmed(minDestAmountUnit);\n\n return {\n title,\n value: `${formattedMinDestAmountUnit} ${tokenTo.symbol}`,\n isLoading,\n tooltip,\n };\n}\n"],"mappings":";;;;AAQA,IAAMM,IACJ;AAEF,SAAgBC,EAAsB,EACpCC,UACAC,oBACAC,cACAC,YACAC,eAO8B;
|
|
1
|
+
{"version":3,"file":"youGet.js","names":["DetailWithValue","DeltaOrMarketPrice","getDestAmountAfterFeeAndSlippage","toDecimalTrimmed","Token","formatUnits","tooltip","constructYouGetDetail","price","slippagePercent","isLoading","tokenTo","swapSide","title","value","minDestAmount","minDestAmountUnit","BigInt","decimals","formattedMinDestAmountUnit","symbol"],"sources":["../../../src/core/swapDetails/youGet.tsx"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { getDestAmountAfterFeeAndSlippage } from \"@/lib/utils/price\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport type { Token } from \"@/tokens/state/types\";\n\nimport { formatUnits } from \"viem\";\n\nconst tooltip =\n \"The minimum amount of token to receive, otherwise the transaction will revert.\";\n\nexport function constructYouGetDetail({\n price,\n slippagePercent,\n isLoading,\n tokenTo,\n swapSide,\n}: {\n price?: DeltaOrMarketPrice;\n slippagePercent: number;\n isLoading: boolean;\n tokenTo?: Token;\n swapSide: \"SELL\" | \"BUY\";\n}): DetailWithValue | undefined {\n // in case of BUY youGet= exactly destAmount\n if (swapSide === \"BUY\") return;\n\n const title = \"You Get (at least)\";\n\n if (!price || !tokenTo) {\n return {\n title,\n value: null,\n isLoading,\n tooltip,\n };\n }\n\n const minDestAmount = getDestAmountAfterFeeAndSlippage({\n price,\n slippagePercent,\n });\n\n const minDestAmountUnit = formatUnits(\n BigInt(minDestAmount),\n tokenTo.decimals\n );\n\n const formattedMinDestAmountUnit = toDecimalTrimmed(minDestAmountUnit);\n\n return {\n title,\n value: `${formattedMinDestAmountUnit} ${tokenTo.symbol}`,\n isLoading,\n tooltip,\n };\n}\n"],"mappings":";;;;AAQA,IAAMM,IACJ;AAEF,SAAgBC,EAAsB,EACpCC,UACAC,oBACAC,cACAC,YACAC,eAO8B;CAE9B,IAAIA,MAAa,OAAO;CAExB,IAAMC,IAAQ;CAEd,IAAI,CAACL,KAAS,CAACG,GACb,OAAO;EACLE;EACAC,OAAO;EACPJ;EACAJ;EACD;CAGH,IAAMS,IAAgBb,EAAiC;EACrDM;EACAC;EACD,CAAC;CASF,OAAO;EACLI;EACAC,OAAO,GAJ0BX,EALTE,EACxBY,OAAOF,EAAc,EACrBJ,EAAQO,SAG0CF,CAIxCG,CAA0B,GAAIR,EAAQS;EAChDV;EACAJ;EACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isCrosschainAtom.js","names":["atom","useAtomValue","twapTokenFromAtom","twapTokenToAtom","isTwapCrossChainAtom","get","tokenFrom","tokenTo","network","useIsTwapCrossChain"],"sources":["../../../../src/core/twap/state/isCrosschainAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport { twapTokenFromAtom, twapTokenToAtom } from \"./twapTokenAtoms\";\n\nexport const isTwapCrossChainAtom = atom((get) => {\n const tokenFrom = get(twapTokenFromAtom);\n const tokenTo = get(twapTokenToAtom);\n\n if (!tokenTo) return false;\n\n return tokenFrom.network !== tokenTo.network;\n});\n\nexport const useIsTwapCrossChain = () => {\n return useAtomValue(isTwapCrossChainAtom);\n};\n"],"mappings":";;;;AAIA,IAAaI,IAAuBJ,GAAMK,MAAQ;CAChD,IAAMC,IAAYD,EAAIH,EAAkB,EAClCK,IAAUF,EAAIF,EAAgB;
|
|
1
|
+
{"version":3,"file":"isCrosschainAtom.js","names":["atom","useAtomValue","twapTokenFromAtom","twapTokenToAtom","isTwapCrossChainAtom","get","tokenFrom","tokenTo","network","useIsTwapCrossChain"],"sources":["../../../../src/core/twap/state/isCrosschainAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport { twapTokenFromAtom, twapTokenToAtom } from \"./twapTokenAtoms\";\n\nexport const isTwapCrossChainAtom = atom((get) => {\n const tokenFrom = get(twapTokenFromAtom);\n const tokenTo = get(twapTokenToAtom);\n\n if (!tokenTo) return false;\n\n return tokenFrom.network !== tokenTo.network;\n});\n\nexport const useIsTwapCrossChain = () => {\n return useAtomValue(isTwapCrossChainAtom);\n};\n"],"mappings":";;;;AAIA,IAAaI,IAAuBJ,GAAMK,MAAQ;CAChD,IAAMC,IAAYD,EAAIH,EAAkB,EAClCK,IAAUF,EAAIF,EAAgB;CAIpC,OAFKI,IAEED,EAAUE,YAAYD,EAAQC,UAFhB;EAGrB,EAEWC,UACJR,EAAaG,EAAqB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectedTokenActionsAtom.js","names":["pickDefaultTokenPair","areTokensSame","atom","twapTokenFromAtom","twapTokenToAtom","Token","wagmiConfig","switchChain","isCrosschainPossible","findFirstTokenFromAcross","isTokenFromAcross","allTokensByChainAtom","getSelectableDestChains","enabledSrcChainsAtom","jotaiStore","SupportedChainId","switchTwapTokensAtom","get","set","tokenTo","enabledSrcChains","includes","network","tokenFrom","initChainFrom","selectTwapTokenToAtom","currentTokenFrom","chainId","selectTwapTokenFromAtom","newTokenFrom","initTokenFrom","state","crosschainPossible","chainIdFrom","chainIdTo","mode","isTokenToFromAcross","token","fromChainId","toChainId","maybeAcrossToken","listByChainId","defaultTokenFrom","defaultTokenTo","newTokenTo","selectableDestChains","initTokenTo","defaultToken","wasCrosschain","needResetTokenFrom","firstPossibleSrcChain","srcChain","syncTwapTokensAfterChainSwitch","undefined"],"sources":["../../../../src/core/twap/state/selectedTokenActionsAtom.ts"],"sourcesContent":["import { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { atom } from \"jotai\";\nimport { twapTokenFromAtom, twapTokenToAtom } from \"./twapTokenAtoms\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { isCrosschainPossible } from \"@/core/across/isCrosschainPossible\";\nimport {\n findFirstTokenFromAcross,\n isTokenFromAcross,\n} from \"@/core/across/utils\";\nimport { allTokensByChainAtom } from \"@/tokens/state/allTokensByChainAtom\";\nimport { getSelectableDestChains } from \"@/core/state/getSelectableDestChains\";\nimport { enabledSrcChainsAtom } from \"@/core/state/enabledChainsAtom\";\nimport { jotaiStore } from \"@/core/store\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nexport const switchTwapTokensAtom = atom(null, async (get, set) => {\n const tokenTo = get(twapTokenToAtom);\n\n if (!tokenTo) return;\n\n const enabledSrcChains = get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(tokenTo.network)) return;\n\n const tokenFrom = get(twapTokenFromAtom);\n const initChainFrom = tokenFrom.network;\n\n // set tokenFrom as is\n set(twapTokenFromAtom, tokenTo);\n // set tokenTo, including running all crosschain logic inside\n set(selectTwapTokenToAtom, tokenFrom);\n\n const currentTokenFrom = get(twapTokenFromAtom);\n\n // switch a token from a different chain?\n if (currentTokenFrom.network !== initChainFrom) {\n switchChain({\n chainId: currentTokenFrom.network,\n });\n }\n});\n\nexport const selectTwapTokenFromAtom = atom(\n null,\n async (get, set, newTokenFrom: Token) => {\n let tokenFrom = get(twapTokenFromAtom);\n let tokenTo = get(twapTokenToAtom);\n const initTokenFrom = tokenFrom;\n\n // set the tokenFrom\n set(twapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n\n // selecting a token from a different chain?\n if (tokenFrom.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenFrom.network,\n });\n }\n\n if (!tokenTo) return;\n\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: tokenFrom.network,\n chainIdTo: tokenTo.network,\n mode: \"twap\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n mode: \"twap\",\n });\n\n if (!isTokenToFromAcross) {\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n listByChainId: get(allTokensByChainAtom).listByChainId,\n mode: \"twap\",\n });\n\n set(twapTokenToAtom, maybeAcrossToken);\n }\n } else {\n if (tokenFrom.network !== tokenTo.network) {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenFrom.network,\n \"twap\"\n );\n\n tokenTo = areTokensSame(tokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n set(twapTokenToAtom, tokenTo);\n } else {\n if (areTokensSame(tokenFrom, tokenTo)) {\n tokenTo = initTokenFrom;\n set(twapTokenToAtom, tokenTo);\n }\n }\n }\n }\n);\n\nexport const selectTwapTokenToAtom = atom(\n null,\n async (get, set, newTokenTo: Token) => {\n let tokenFrom = get(twapTokenFromAtom);\n\n // @TODO reenable TWAP crosschain when ready on the API\n if (newTokenTo.network !== tokenFrom.network) {\n return;\n }\n\n const selectableDestChains = getSelectableDestChains(get, {\n fromChainId: tokenFrom.network,\n mode: \"twap\",\n });\n if (!selectableDestChains.includes(newTokenTo.network)) return;\n\n let tokenTo = get(twapTokenToAtom);\n const initTokenTo = tokenTo;\n\n set(twapTokenToAtom, newTokenTo);\n tokenTo = newTokenTo;\n\n if (areTokensSame(tokenTo, tokenFrom)) {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenTo.network,\n \"twap\"\n );\n\n const defaultToken = areTokensSame(tokenFrom, defaultTokenFrom)\n ? defaultTokenTo\n : defaultTokenFrom;\n\n const wasCrosschain =\n initTokenTo && tokenFrom.network !== initTokenTo.network;\n\n const newTokenFrom = wasCrosschain\n ? defaultToken\n : (initTokenTo ?? defaultToken);\n\n set(twapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n let needResetTokenFrom = false;\n\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: tokenFrom.network,\n chainIdTo: tokenTo.network,\n mode: \"twap\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n mode: \"twap\",\n });\n\n if (!isTokenToFromAcross) {\n needResetTokenFrom = true;\n }\n }\n\n if (tokenFrom.network !== tokenTo.network && !crosschainPossible) {\n needResetTokenFrom = true;\n }\n const enabledSrcChains = get(enabledSrcChainsAtom);\n\n if (needResetTokenFrom) {\n let firstPossibleSrcChain = tokenTo.network;\n if (!enabledSrcChains.includes(tokenTo.network)) {\n for (const srcChain of enabledSrcChains) {\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: srcChain,\n chainIdTo: tokenTo.network,\n mode: \"twap\",\n });\n if (crosschainPossible) {\n firstPossibleSrcChain = srcChain;\n break;\n }\n }\n }\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n firstPossibleSrcChain,\n \"twap\"\n );\n const newTokenFrom = areTokensSame(tokenTo, defaultTokenFrom)\n ? defaultTokenTo\n : defaultTokenFrom;\n\n set(twapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n // ended up changing tokenFrom network?\n if (tokenFrom.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenFrom.network,\n });\n }\n }\n);\n\nexport const syncTwapTokensAfterChainSwitch = (chainId: SupportedChainId) => {\n const enabledSrcChains = jotaiStore.get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(chainId)) return;\n\n let tokenFrom = jotaiStore.get(twapTokenFromAtom);\n\n // chains are the same? do nothing\n if (tokenFrom.network === chainId) return;\n\n // get default tokens for the new chain\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n chainId,\n \"twap\"\n );\n\n // update tokenFrom\n jotaiStore.set(twapTokenFromAtom, defaultTokenFrom);\n tokenFrom = defaultTokenFrom;\n\n let tokenTo = jotaiStore.get(twapTokenToAtom);\n\n // toChainId derives from tokenTo.network, if no tokenTo - do nothing\n if (!tokenTo) return;\n\n const crosschainPossible = isCrosschainPossible({\n get: jotaiStore.get,\n chainIdFrom: chainId,\n chainIdTo: tokenTo.network,\n mode: \"twap\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: chainId,\n toChainId: tokenTo.network,\n mode: \"twap\",\n });\n\n if (!isTokenToFromAcross) {\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: chainId,\n toChainId: tokenTo.network,\n listByChainId: jotaiStore.get(allTokensByChainAtom).listByChainId,\n mode: \"twap\",\n });\n\n tokenTo = maybeAcrossToken;\n jotaiStore.set(twapTokenToAtom, tokenTo);\n }\n } else {\n const selectableDestChains = getSelectableDestChains(jotaiStore.get, {\n fromChainId: tokenFrom.network,\n mode: \"twap\",\n });\n if (selectableDestChains.includes(chainId)) {\n tokenTo = defaultTokenTo;\n jotaiStore.set(twapTokenToAtom, tokenTo);\n } else {\n tokenTo = undefined;\n jotaiStore.set(twapTokenToAtom, tokenTo);\n }\n }\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"selectedTokenActionsAtom.js","names":["pickDefaultTokenPair","areTokensSame","atom","twapTokenFromAtom","twapTokenToAtom","Token","wagmiConfig","switchChain","isCrosschainPossible","findFirstTokenFromAcross","isTokenFromAcross","allTokensByChainAtom","getSelectableDestChains","enabledSrcChainsAtom","jotaiStore","SupportedChainId","switchTwapTokensAtom","get","set","tokenTo","enabledSrcChains","includes","network","tokenFrom","initChainFrom","selectTwapTokenToAtom","currentTokenFrom","chainId","selectTwapTokenFromAtom","newTokenFrom","initTokenFrom","state","crosschainPossible","chainIdFrom","chainIdTo","mode","isTokenToFromAcross","token","fromChainId","toChainId","maybeAcrossToken","listByChainId","defaultTokenFrom","defaultTokenTo","newTokenTo","selectableDestChains","initTokenTo","defaultToken","wasCrosschain","needResetTokenFrom","firstPossibleSrcChain","srcChain","syncTwapTokensAfterChainSwitch","undefined"],"sources":["../../../../src/core/twap/state/selectedTokenActionsAtom.ts"],"sourcesContent":["import { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { atom } from \"jotai\";\nimport { twapTokenFromAtom, twapTokenToAtom } from \"./twapTokenAtoms\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { isCrosschainPossible } from \"@/core/across/isCrosschainPossible\";\nimport {\n findFirstTokenFromAcross,\n isTokenFromAcross,\n} from \"@/core/across/utils\";\nimport { allTokensByChainAtom } from \"@/tokens/state/allTokensByChainAtom\";\nimport { getSelectableDestChains } from \"@/core/state/getSelectableDestChains\";\nimport { enabledSrcChainsAtom } from \"@/core/state/enabledChainsAtom\";\nimport { jotaiStore } from \"@/core/store\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nexport const switchTwapTokensAtom = atom(null, async (get, set) => {\n const tokenTo = get(twapTokenToAtom);\n\n if (!tokenTo) return;\n\n const enabledSrcChains = get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(tokenTo.network)) return;\n\n const tokenFrom = get(twapTokenFromAtom);\n const initChainFrom = tokenFrom.network;\n\n // set tokenFrom as is\n set(twapTokenFromAtom, tokenTo);\n // set tokenTo, including running all crosschain logic inside\n set(selectTwapTokenToAtom, tokenFrom);\n\n const currentTokenFrom = get(twapTokenFromAtom);\n\n // switch a token from a different chain?\n if (currentTokenFrom.network !== initChainFrom) {\n switchChain({\n chainId: currentTokenFrom.network,\n });\n }\n});\n\nexport const selectTwapTokenFromAtom = atom(\n null,\n async (get, set, newTokenFrom: Token) => {\n let tokenFrom = get(twapTokenFromAtom);\n let tokenTo = get(twapTokenToAtom);\n const initTokenFrom = tokenFrom;\n\n // set the tokenFrom\n set(twapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n\n // selecting a token from a different chain?\n if (tokenFrom.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenFrom.network,\n });\n }\n\n if (!tokenTo) return;\n\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: tokenFrom.network,\n chainIdTo: tokenTo.network,\n mode: \"twap\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n mode: \"twap\",\n });\n\n if (!isTokenToFromAcross) {\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n listByChainId: get(allTokensByChainAtom).listByChainId,\n mode: \"twap\",\n });\n\n set(twapTokenToAtom, maybeAcrossToken);\n }\n } else {\n if (tokenFrom.network !== tokenTo.network) {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenFrom.network,\n \"twap\"\n );\n\n tokenTo = areTokensSame(tokenFrom, defaultTokenTo)\n ? defaultTokenFrom\n : defaultTokenTo;\n set(twapTokenToAtom, tokenTo);\n } else {\n if (areTokensSame(tokenFrom, tokenTo)) {\n tokenTo = initTokenFrom;\n set(twapTokenToAtom, tokenTo);\n }\n }\n }\n }\n);\n\nexport const selectTwapTokenToAtom = atom(\n null,\n async (get, set, newTokenTo: Token) => {\n let tokenFrom = get(twapTokenFromAtom);\n\n // @TODO reenable TWAP crosschain when ready on the API\n if (newTokenTo.network !== tokenFrom.network) {\n return;\n }\n\n const selectableDestChains = getSelectableDestChains(get, {\n fromChainId: tokenFrom.network,\n mode: \"twap\",\n });\n if (!selectableDestChains.includes(newTokenTo.network)) return;\n\n let tokenTo = get(twapTokenToAtom);\n const initTokenTo = tokenTo;\n\n set(twapTokenToAtom, newTokenTo);\n tokenTo = newTokenTo;\n\n if (areTokensSame(tokenTo, tokenFrom)) {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n tokenTo.network,\n \"twap\"\n );\n\n const defaultToken = areTokensSame(tokenFrom, defaultTokenFrom)\n ? defaultTokenTo\n : defaultTokenFrom;\n\n const wasCrosschain =\n initTokenTo && tokenFrom.network !== initTokenTo.network;\n\n const newTokenFrom = wasCrosschain\n ? defaultToken\n : (initTokenTo ?? defaultToken);\n\n set(twapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n let needResetTokenFrom = false;\n\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: tokenFrom.network,\n chainIdTo: tokenTo.network,\n mode: \"twap\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: tokenFrom.network,\n toChainId: tokenTo.network,\n mode: \"twap\",\n });\n\n if (!isTokenToFromAcross) {\n needResetTokenFrom = true;\n }\n }\n\n if (tokenFrom.network !== tokenTo.network && !crosschainPossible) {\n needResetTokenFrom = true;\n }\n const enabledSrcChains = get(enabledSrcChainsAtom);\n\n if (needResetTokenFrom) {\n let firstPossibleSrcChain = tokenTo.network;\n if (!enabledSrcChains.includes(tokenTo.network)) {\n for (const srcChain of enabledSrcChains) {\n const crosschainPossible = isCrosschainPossible({\n get,\n chainIdFrom: srcChain,\n chainIdTo: tokenTo.network,\n mode: \"twap\",\n });\n if (crosschainPossible) {\n firstPossibleSrcChain = srcChain;\n break;\n }\n }\n }\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n firstPossibleSrcChain,\n \"twap\"\n );\n const newTokenFrom = areTokensSame(tokenTo, defaultTokenFrom)\n ? defaultTokenTo\n : defaultTokenFrom;\n\n set(twapTokenFromAtom, newTokenFrom);\n tokenFrom = newTokenFrom;\n }\n\n // ended up changing tokenFrom network?\n if (tokenFrom.network !== wagmiConfig.state.chainId) {\n switchChain({\n chainId: tokenFrom.network,\n });\n }\n }\n);\n\nexport const syncTwapTokensAfterChainSwitch = (chainId: SupportedChainId) => {\n const enabledSrcChains = jotaiStore.get(enabledSrcChainsAtom);\n if (!enabledSrcChains.includes(chainId)) return;\n\n let tokenFrom = jotaiStore.get(twapTokenFromAtom);\n\n // chains are the same? do nothing\n if (tokenFrom.network === chainId) return;\n\n // get default tokens for the new chain\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n chainId,\n \"twap\"\n );\n\n // update tokenFrom\n jotaiStore.set(twapTokenFromAtom, defaultTokenFrom);\n tokenFrom = defaultTokenFrom;\n\n let tokenTo = jotaiStore.get(twapTokenToAtom);\n\n // toChainId derives from tokenTo.network, if no tokenTo - do nothing\n if (!tokenTo) return;\n\n const crosschainPossible = isCrosschainPossible({\n get: jotaiStore.get,\n chainIdFrom: chainId,\n chainIdTo: tokenTo.network,\n mode: \"twap\",\n });\n\n if (crosschainPossible) {\n const isTokenToFromAcross = isTokenFromAcross({\n token: tokenTo,\n fromChainId: chainId,\n toChainId: tokenTo.network,\n mode: \"twap\",\n });\n\n if (!isTokenToFromAcross) {\n const maybeAcrossToken = findFirstTokenFromAcross({\n fromChainId: chainId,\n toChainId: tokenTo.network,\n listByChainId: jotaiStore.get(allTokensByChainAtom).listByChainId,\n mode: \"twap\",\n });\n\n tokenTo = maybeAcrossToken;\n jotaiStore.set(twapTokenToAtom, tokenTo);\n }\n } else {\n const selectableDestChains = getSelectableDestChains(jotaiStore.get, {\n fromChainId: tokenFrom.network,\n mode: \"twap\",\n });\n if (selectableDestChains.includes(chainId)) {\n tokenTo = defaultTokenTo;\n jotaiStore.set(twapTokenToAtom, tokenTo);\n } else {\n tokenTo = undefined;\n jotaiStore.set(twapTokenToAtom, tokenTo);\n }\n }\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"twapInputAmountAtom.js","names":[],"sources":["../../../../src/core/twap/state/twapInputAmountAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { parseUnits } from \"viem\";\nimport { twapTokenFromAtom, twapTokenToAtom } from \"./twapTokenAtoms\";\n\nexport const twapPayInputAmountAtom = atom(\"0\");\n\nexport const twapReceiveInputAmountAtom = atom(\"0\");\n\nexport const twapPayInputAmountWeiAtom = atom((get) => {\n const tokenFrom = get(twapTokenFromAtom);\n const payInputAmount = get(twapPayInputAmountAtom);\n return parseUnits(payInputAmount, tokenFrom.decimals).toString();\n});\n\nexport const twapReceiveInputAmountWeiAtom = atom((get) => {\n const tokenTo = get(twapTokenToAtom);\n if (tokenTo) {\n const receiveInputAmount = get(twapReceiveInputAmountAtom);\n return parseUnits(receiveInputAmount, tokenTo.decimals).toString();\n }\n});\n"],"mappings":";;;;AAIA,IAAa,IAAyB,EAAK,IAAI,EAElC,IAA6B,EAAK,IAAI,EAEtC,IAA4B,GAAM,MAAQ;CACrD,IAAM,IAAY,EAAI,EAAkB;
|
|
1
|
+
{"version":3,"file":"twapInputAmountAtom.js","names":[],"sources":["../../../../src/core/twap/state/twapInputAmountAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { parseUnits } from \"viem\";\nimport { twapTokenFromAtom, twapTokenToAtom } from \"./twapTokenAtoms\";\n\nexport const twapPayInputAmountAtom = atom(\"0\");\n\nexport const twapReceiveInputAmountAtom = atom(\"0\");\n\nexport const twapPayInputAmountWeiAtom = atom((get) => {\n const tokenFrom = get(twapTokenFromAtom);\n const payInputAmount = get(twapPayInputAmountAtom);\n return parseUnits(payInputAmount, tokenFrom.decimals).toString();\n});\n\nexport const twapReceiveInputAmountWeiAtom = atom((get) => {\n const tokenTo = get(twapTokenToAtom);\n if (tokenTo) {\n const receiveInputAmount = get(twapReceiveInputAmountAtom);\n return parseUnits(receiveInputAmount, tokenTo.decimals).toString();\n }\n});\n"],"mappings":";;;;AAIA,IAAa,IAAyB,EAAK,IAAI,EAElC,IAA6B,EAAK,IAAI,EAEtC,IAA4B,GAAM,MAAQ;CACrD,IAAM,IAAY,EAAI,EAAkB;CAExC,OAAO,EADgB,EAAI,EACT,EAAgB,EAAU,SAAS,CAAC,UAAU;EAChE,EAEW,IAAgC,GAAM,MAAQ;CACzD,IAAM,IAAU,EAAI,EAAgB;CACpC,IAAI,GAEF,OAAO,EADoB,EAAI,EACb,EAAoB,EAAQ,SAAS,CAAC,UAAU;EAEpE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"twapParamsAtom.js","names":["atom","useAtomValue","getNumberWithinRange","DEFAULT_TWAP_DURATION","DEFAULT_TWAP_SLIPPAGE","DEFAULT_TWAP_SPLIT","TWAP_SLIPPAGE_MAX","TWAP_SLIPPAGE_MIN","TWAP_SPLIT_MAX","TWAP_SPLIT_MIN","TWAP_CUSTOM_DURATION_MIN_MINUTES","TWAP_MIN_SLICE_INTERVAL_S","produceTwapDeadlines","twapDurationAtom","value","_","set","newDuration","clampedDuration","Math","max","useTwapDuration","userTwapSplitAtom","twapSplitAtom","get","useTwapSplit","userTwapSlippageAtom","twapSlippageAtom","useTwapSlippage","twapDeadlinesAtom","durationMin","numSlices","useTwapSliceTooShort","sliceIntervalSec"],"sources":["../../../../src/core/twap/state/twapParamsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport { getNumberWithinRange } from \"@/lib/utils\";\nimport {\n DEFAULT_TWAP_DURATION,\n DEFAULT_TWAP_SLIPPAGE,\n DEFAULT_TWAP_SPLIT,\n TWAP_SLIPPAGE_MAX,\n TWAP_SLIPPAGE_MIN,\n TWAP_SPLIT_MAX,\n TWAP_SPLIT_MIN,\n TWAP_CUSTOM_DURATION_MIN_MINUTES,\n TWAP_MIN_SLICE_INTERVAL_S,\n} from \"./constants\";\nimport { produceTwapDeadlines } from \"@/lib/utils/twap\";\n\nexport const twapDurationAtom = atom(\n DEFAULT_TWAP_DURATION.value,\n (_, set, newDuration: number) => {\n const clampedDuration = Math.max(\n newDuration,\n TWAP_CUSTOM_DURATION_MIN_MINUTES\n );\n set(twapDurationAtom, clampedDuration);\n }\n);\n\nexport const useTwapDuration = () => useAtomValue(twapDurationAtom);\n\n// atom to track the user input, which can be out of range\nexport const userTwapSplitAtom = atom(DEFAULT_TWAP_SPLIT);\n\n// derived atom to ensure the actual split used in the order is always within range\nexport const twapSplitAtom = atom((get) =>\n getNumberWithinRange(get(userTwapSplitAtom), TWAP_SPLIT_MIN, TWAP_SPLIT_MAX)\n);\n\nexport const useTwapSplit = () => useAtomValue(twapSplitAtom);\n\n// atom to track the user input, which can be out of range\nexport const userTwapSlippageAtom = atom(DEFAULT_TWAP_SLIPPAGE);\n\n// derived atom to ensure the actual slippage used in the order is always within range\nexport const twapSlippageAtom = atom((get) =>\n getNumberWithinRange(\n get(userTwapSlippageAtom),\n TWAP_SLIPPAGE_MIN,\n TWAP_SLIPPAGE_MAX\n )\n);\n\nexport const useTwapSlippage = () => useAtomValue(twapSlippageAtom);\n\n/**\n * Derived atom that caches TWAP deadlines (orderDeadline, orderInterval).\n * Recomputes only when twapDurationAtom or twapSplitAtom changes,\n * keeping orderDeadline stable across unrelated form changes (token, amount, side, etc.).\n */\nexport const twapDeadlinesAtom = atom((get) => {\n const durationMin = get(twapDurationAtom);\n const numSlices = get(twapSplitAtom);\n return produceTwapDeadlines({ durationMin, numSlices });\n});\n\nexport const useTwapSliceTooShort = () => {\n const durationMin = useTwapDuration();\n const numSlices = useTwapSplit();\n const sliceIntervalSec = (durationMin * 60) / numSlices;\n return sliceIntervalSec < TWAP_MIN_SLICE_INTERVAL_S;\n};\n"],"mappings":";;;;;;AAgBA,IAAaa,IAAmBb,EAC9BG,EAAsBW,QACrBC,GAAGC,GAAKC,MAAwB;
|
|
1
|
+
{"version":3,"file":"twapParamsAtom.js","names":["atom","useAtomValue","getNumberWithinRange","DEFAULT_TWAP_DURATION","DEFAULT_TWAP_SLIPPAGE","DEFAULT_TWAP_SPLIT","TWAP_SLIPPAGE_MAX","TWAP_SLIPPAGE_MIN","TWAP_SPLIT_MAX","TWAP_SPLIT_MIN","TWAP_CUSTOM_DURATION_MIN_MINUTES","TWAP_MIN_SLICE_INTERVAL_S","produceTwapDeadlines","twapDurationAtom","value","_","set","newDuration","clampedDuration","Math","max","useTwapDuration","userTwapSplitAtom","twapSplitAtom","get","useTwapSplit","userTwapSlippageAtom","twapSlippageAtom","useTwapSlippage","twapDeadlinesAtom","durationMin","numSlices","useTwapSliceTooShort","sliceIntervalSec"],"sources":["../../../../src/core/twap/state/twapParamsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport { getNumberWithinRange } from \"@/lib/utils\";\nimport {\n DEFAULT_TWAP_DURATION,\n DEFAULT_TWAP_SLIPPAGE,\n DEFAULT_TWAP_SPLIT,\n TWAP_SLIPPAGE_MAX,\n TWAP_SLIPPAGE_MIN,\n TWAP_SPLIT_MAX,\n TWAP_SPLIT_MIN,\n TWAP_CUSTOM_DURATION_MIN_MINUTES,\n TWAP_MIN_SLICE_INTERVAL_S,\n} from \"./constants\";\nimport { produceTwapDeadlines } from \"@/lib/utils/twap\";\n\nexport const twapDurationAtom = atom(\n DEFAULT_TWAP_DURATION.value,\n (_, set, newDuration: number) => {\n const clampedDuration = Math.max(\n newDuration,\n TWAP_CUSTOM_DURATION_MIN_MINUTES\n );\n set(twapDurationAtom, clampedDuration);\n }\n);\n\nexport const useTwapDuration = () => useAtomValue(twapDurationAtom);\n\n// atom to track the user input, which can be out of range\nexport const userTwapSplitAtom = atom(DEFAULT_TWAP_SPLIT);\n\n// derived atom to ensure the actual split used in the order is always within range\nexport const twapSplitAtom = atom((get) =>\n getNumberWithinRange(get(userTwapSplitAtom), TWAP_SPLIT_MIN, TWAP_SPLIT_MAX)\n);\n\nexport const useTwapSplit = () => useAtomValue(twapSplitAtom);\n\n// atom to track the user input, which can be out of range\nexport const userTwapSlippageAtom = atom(DEFAULT_TWAP_SLIPPAGE);\n\n// derived atom to ensure the actual slippage used in the order is always within range\nexport const twapSlippageAtom = atom((get) =>\n getNumberWithinRange(\n get(userTwapSlippageAtom),\n TWAP_SLIPPAGE_MIN,\n TWAP_SLIPPAGE_MAX\n )\n);\n\nexport const useTwapSlippage = () => useAtomValue(twapSlippageAtom);\n\n/**\n * Derived atom that caches TWAP deadlines (orderDeadline, orderInterval).\n * Recomputes only when twapDurationAtom or twapSplitAtom changes,\n * keeping orderDeadline stable across unrelated form changes (token, amount, side, etc.).\n */\nexport const twapDeadlinesAtom = atom((get) => {\n const durationMin = get(twapDurationAtom);\n const numSlices = get(twapSplitAtom);\n return produceTwapDeadlines({ durationMin, numSlices });\n});\n\nexport const useTwapSliceTooShort = () => {\n const durationMin = useTwapDuration();\n const numSlices = useTwapSplit();\n const sliceIntervalSec = (durationMin * 60) / numSlices;\n return sliceIntervalSec < TWAP_MIN_SLICE_INTERVAL_S;\n};\n"],"mappings":";;;;;;AAgBA,IAAaa,IAAmBb,EAC9BG,EAAsBW,QACrBC,GAAGC,GAAKC,MAAwB;CAK/BD,EAAIH,GAJoBM,KAAKC,IAC3BH,GAAAA,GAGoBC,CAAgB;EAEzC,EAEYG,UAAwBpB,EAAaY,EAAiB,EAGtDS,IAAoBtB,EAAAA,EAAwB,EAG5CuB,IAAgBvB,GAAMwB,MACjCtB,EAAqBsB,EAAIF,EAAkB,EAAA,GAAA,IAC7C,CAAC,EAEYG,UAAqBxB,EAAasB,EAAc,EAGhDG,IAAuB1B,EAAAA,EAA2B,EAGlD2B,IAAmB3B,GAAMwB,MACpCtB,EACEsB,EAAIE,EAAqB,EACzBnB,GAAAA,GAGJ,CAAC,EAEYqB,UAAwB3B,EAAa0B,EAAiB,EAOtDE,IAAoB7B,GAAMwB,MAG9BZ,EAAqB;CAAEkB,aAFVN,EAAIX,EAEMiB;CAAaC,WADzBP,EAAID,EACqBQ;CAAW,CAAC,CACvD,EAEWC,UAAuB;CAClC,IAAAF,IAAoBT,GAAiB,EACrCU,IAAkBN,GAAc;CACwB,OAA9BK,IAAc,KAAMC,IAAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"twapSideAtom.js","names":["twapTokenToAtom","currentTwapInputAtom","SwapSideUnion","atom","useAtomValue","isTwapCrossChainAtom","twapSideAtom","get","tokenTo","isCrosschain","currentTwapInput","useTwapSide"],"sources":["../../../../src/core/twap/state/twapSideAtom.ts"],"sourcesContent":["import { twapTokenToAtom } from \"./twapTokenAtoms\";\nimport { currentTwapInputAtom } from \"./currentTwapInputAtom\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\nimport { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport { isTwapCrossChainAtom } from \"./isCrosschainAtom\";\n\nexport const twapSideAtom = atom<SwapSideUnion>((get) => {\n const tokenTo = get(twapTokenToAtom);\n\n const isCrosschain = get(isTwapCrossChainAtom);\n\n if (isCrosschain) {\n // @TODO revert this change when Crosschain BUY is supported for TWAP\n return \"SELL\";\n }\n\n if (!tokenTo) {\n return \"SELL\";\n }\n\n const currentTwapInput = get(currentTwapInputAtom);\n\n return currentTwapInput === \"from\" ? \"SELL\" : \"BUY\";\n});\n\nexport const useTwapSide = () => {\n return useAtomValue(twapSideAtom);\n};\n"],"mappings":";;;;;;AAOA,IAAaM,IAAeH,GAAqBI,MAAQ;CACvD,IAAMC,IAAUD,EAAIP,EAAgB;
|
|
1
|
+
{"version":3,"file":"twapSideAtom.js","names":["twapTokenToAtom","currentTwapInputAtom","SwapSideUnion","atom","useAtomValue","isTwapCrossChainAtom","twapSideAtom","get","tokenTo","isCrosschain","currentTwapInput","useTwapSide"],"sources":["../../../../src/core/twap/state/twapSideAtom.ts"],"sourcesContent":["import { twapTokenToAtom } from \"./twapTokenAtoms\";\nimport { currentTwapInputAtom } from \"./currentTwapInputAtom\";\nimport type { SwapSideUnion } from \"@velora-dex/sdk\";\nimport { atom } from \"jotai\";\nimport { useAtomValue } from \"@/core/store\";\nimport { isTwapCrossChainAtom } from \"./isCrosschainAtom\";\n\nexport const twapSideAtom = atom<SwapSideUnion>((get) => {\n const tokenTo = get(twapTokenToAtom);\n\n const isCrosschain = get(isTwapCrossChainAtom);\n\n if (isCrosschain) {\n // @TODO revert this change when Crosschain BUY is supported for TWAP\n return \"SELL\";\n }\n\n if (!tokenTo) {\n return \"SELL\";\n }\n\n const currentTwapInput = get(currentTwapInputAtom);\n\n return currentTwapInput === \"from\" ? \"SELL\" : \"BUY\";\n});\n\nexport const useTwapSide = () => {\n return useAtomValue(twapSideAtom);\n};\n"],"mappings":";;;;;;AAOA,IAAaM,IAAeH,GAAqBI,MAAQ;CACvD,IAAMC,IAAUD,EAAIP,EAAgB;CAepC,OAbqBO,EAAIF,EAErBI,IAKA,CAACD,KAIoBD,EAAIN,EAEtBS,KAAqB,SALnB,SAKqC;EAC9C,EAEWC,UACJP,EAAaE,EAAa"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"minimumReceiveable.js","names":["DetailWithValue","DeltaOrBridgePrice","getDestAmountAfterFeeAndSlippage","toDecimalTrimmed","getTotalTwapAmount","Token","formatUnits","tooltip","constructMinReceivedForTwapDetail","price","slippagePercent","numSlices","isLoading","tokenTo","swapSide","title","value","minDestAmount","minDestAmountTotal","chunkWei","minDestAmountUnit","BigInt","decimals","formattedMinDestAmountUnit","symbol"],"sources":["../../../../src/core/twap/twapDetails/minimumReceiveable.ts"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { DeltaOrBridgePrice } from \"@/hooks/swap/prices/types\";\nimport { getDestAmountAfterFeeAndSlippage } from \"@/lib/utils/price\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { getTotalTwapAmount } from \"@/lib/utils/twap\";\nimport type { Token } from \"@/tokens/state/types\";\n\nimport { formatUnits } from \"viem\";\n\nconst tooltip = \"The minimum amount of token to receive after slippage.\";\n\nexport function constructMinReceivedForTwapDetail({\n price,\n slippagePercent,\n numSlices,\n isLoading,\n tokenTo,\n swapSide,\n}: {\n price?: DeltaOrBridgePrice;\n slippagePercent: number;\n numSlices: number;\n isLoading: boolean;\n tokenTo?: Token;\n swapSide?: \"SELL\" | \"BUY\";\n}): DetailWithValue | undefined {\n // in case of BUY minReceived= exactly destAmount*numSlices\n if (swapSide === \"BUY\") return;\n\n const title = \"Minimum Receivable\";\n\n if (!price || !tokenTo) {\n return {\n title,\n value: null,\n isLoading,\n tooltip,\n };\n }\n\n const minDestAmount = getDestAmountAfterFeeAndSlippage({\n price,\n slippagePercent,\n });\n\n // minDestAmount*numSlices\n const minDestAmountTotal = getTotalTwapAmount({\n chunkWei: minDestAmount,\n numSlices,\n });\n\n const minDestAmountUnit = formatUnits(\n BigInt(minDestAmountTotal),\n tokenTo.decimals\n );\n\n const formattedMinDestAmountUnit = toDecimalTrimmed(minDestAmountUnit);\n\n return {\n title,\n value: `${formattedMinDestAmountUnit} ${tokenTo.symbol}`,\n isLoading,\n tooltip,\n };\n}\n"],"mappings":";;;;;AASA,IAAMO,IAAU;AAEhB,SAAgBC,EAAkC,EAChDC,UACAC,oBACAC,cACAC,cACAC,YACAC,eAQ8B;
|
|
1
|
+
{"version":3,"file":"minimumReceiveable.js","names":["DetailWithValue","DeltaOrBridgePrice","getDestAmountAfterFeeAndSlippage","toDecimalTrimmed","getTotalTwapAmount","Token","formatUnits","tooltip","constructMinReceivedForTwapDetail","price","slippagePercent","numSlices","isLoading","tokenTo","swapSide","title","value","minDestAmount","minDestAmountTotal","chunkWei","minDestAmountUnit","BigInt","decimals","formattedMinDestAmountUnit","symbol"],"sources":["../../../../src/core/twap/twapDetails/minimumReceiveable.ts"],"sourcesContent":["import type { DetailWithValue } from \"@/components/widget/Details/types\";\nimport type { DeltaOrBridgePrice } from \"@/hooks/swap/prices/types\";\nimport { getDestAmountAfterFeeAndSlippage } from \"@/lib/utils/price\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { getTotalTwapAmount } from \"@/lib/utils/twap\";\nimport type { Token } from \"@/tokens/state/types\";\n\nimport { formatUnits } from \"viem\";\n\nconst tooltip = \"The minimum amount of token to receive after slippage.\";\n\nexport function constructMinReceivedForTwapDetail({\n price,\n slippagePercent,\n numSlices,\n isLoading,\n tokenTo,\n swapSide,\n}: {\n price?: DeltaOrBridgePrice;\n slippagePercent: number;\n numSlices: number;\n isLoading: boolean;\n tokenTo?: Token;\n swapSide?: \"SELL\" | \"BUY\";\n}): DetailWithValue | undefined {\n // in case of BUY minReceived= exactly destAmount*numSlices\n if (swapSide === \"BUY\") return;\n\n const title = \"Minimum Receivable\";\n\n if (!price || !tokenTo) {\n return {\n title,\n value: null,\n isLoading,\n tooltip,\n };\n }\n\n const minDestAmount = getDestAmountAfterFeeAndSlippage({\n price,\n slippagePercent,\n });\n\n // minDestAmount*numSlices\n const minDestAmountTotal = getTotalTwapAmount({\n chunkWei: minDestAmount,\n numSlices,\n });\n\n const minDestAmountUnit = formatUnits(\n BigInt(minDestAmountTotal),\n tokenTo.decimals\n );\n\n const formattedMinDestAmountUnit = toDecimalTrimmed(minDestAmountUnit);\n\n return {\n title,\n value: `${formattedMinDestAmountUnit} ${tokenTo.symbol}`,\n isLoading,\n tooltip,\n };\n}\n"],"mappings":";;;;;AASA,IAAMO,IAAU;AAEhB,SAAgBC,EAAkC,EAChDC,UACAC,oBACAC,cACAC,cACAC,YACAC,eAQ8B;CAE9B,IAAIA,MAAa,OAAO;CAExB,IAAMC,IAAQ;CAEd,IAAI,CAACN,KAAS,CAACI,GACb,OAAO;EACLE;EACAC,OAAO;EACPJ;EACAL;EACD;CASH,IAAMW,IAAqBd,EAAmB;EAC5Ce,UAPoBjB,EAAiC;GACrDO;GACAC;GACD,CAIWO;EACVN;EACD,CAAC;CASF,OAAO;EACLI;EACAC,OAAO,GAJ0Bb,EALTG,EACxBe,OAAOH,EAAmB,EAC1BL,EAAQS,SAG0CF,CAIxCG,CAA0B,GAAIV,EAAQW;EAChDZ;EACAL;EACD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTwapDetailsListProps.d.ts","sourceRoot":"","sources":["../../../src/core/twap/useTwapDetailsListProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kCAAkC,EACnC,MAAM,mCAAmC,CAAC;AAkB3C,eAAO,MAAM,uBAAuB,QAC9B,kCAAkC,GAAG,
|
|
1
|
+
{"version":3,"file":"useTwapDetailsListProps.d.ts","sourceRoot":"","sources":["../../../src/core/twap/useTwapDetailsListProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,kCAAkC,EACnC,MAAM,mCAAmC,CAAC;AAkB3C,eAAO,MAAM,uBAAuB,QAC9B,kCAAkC,GAAG,IAiGxC,CAAC"}
|
|
@@ -14,12 +14,12 @@ import { c as m } from "react-compiler-runtime";
|
|
|
14
14
|
import { jsx as h, jsxs as g } from "react/jsx-runtime";
|
|
15
15
|
//#region src/core/twap/useTwapDetailsListProps.tsx
|
|
16
16
|
var _ = () => {
|
|
17
|
-
let _ = m(
|
|
18
|
-
if (!y ||
|
|
19
|
-
let
|
|
20
|
-
if (_[0] !==
|
|
21
|
-
let e = i.find((e) => e.value ===
|
|
22
|
-
|
|
17
|
+
let _ = m(30), { tokenFrom: v, tokenTo: y } = s("twap"), { isLoading: b, side: x, price: S, numSlices: C, getPriceImpact: w, refetch: T, isFetching: E } = d(), D = e(n), O = e(r), k = e(a), A = e(o);
|
|
18
|
+
if (!y || O === void 0 || !D || D === "0") return null;
|
|
19
|
+
let j = x === "BUY", M, N;
|
|
20
|
+
if (_[0] !== k || _[1] !== w || _[2] !== b || _[3] !== C || _[4] !== S || _[5] !== x || _[6] !== A || _[7] !== y) {
|
|
21
|
+
let e = i.find((e) => e.value === k)?.label ?? /* @__PURE__ */ h(f, { timeMs: k * 60 * 1e3 });
|
|
22
|
+
M = l({
|
|
23
23
|
priceImpactResult: w(),
|
|
24
24
|
isLoading: b
|
|
25
25
|
});
|
|
@@ -28,52 +28,57 @@ var _ = () => {
|
|
|
28
28
|
isLoading: b,
|
|
29
29
|
numSlices: C,
|
|
30
30
|
tokenTo: y,
|
|
31
|
-
slippagePercent:
|
|
31
|
+
slippagePercent: A,
|
|
32
32
|
swapSide: x
|
|
33
33
|
}), r;
|
|
34
34
|
_[10] === Symbol.for("react.memo_cache_sentinel") ? (r = /* @__PURE__ */ g("div", {
|
|
35
35
|
className: "flex items-center gap-1",
|
|
36
36
|
children: [/* @__PURE__ */ h(c, {}), " Delta"]
|
|
37
|
-
}), _[10] = r) : r = _[10],
|
|
37
|
+
}), _[10] = r) : r = _[10], N = [
|
|
38
38
|
{
|
|
39
39
|
title: "Order Routing",
|
|
40
40
|
value: r
|
|
41
41
|
},
|
|
42
|
-
|
|
42
|
+
M,
|
|
43
43
|
{
|
|
44
44
|
title: "Slippage Tolerance",
|
|
45
|
-
value: `${
|
|
45
|
+
value: `${A}%`
|
|
46
46
|
},
|
|
47
47
|
{
|
|
48
48
|
title: "Order Duration",
|
|
49
49
|
value: e
|
|
50
50
|
},
|
|
51
51
|
n
|
|
52
|
-
].filter(t), _[0] =
|
|
53
|
-
} else
|
|
54
|
-
let
|
|
55
|
-
_[11] !==
|
|
52
|
+
].filter(t), _[0] = k, _[1] = w, _[2] = b, _[3] = C, _[4] = S, _[5] = x, _[6] = A, _[7] = y, _[8] = M, _[9] = N;
|
|
53
|
+
} else M = _[8], N = _[9];
|
|
54
|
+
let P = N, F;
|
|
55
|
+
_[11] !== O || _[12] !== j || _[13] !== b || _[14] !== D || _[15] !== v || _[16] !== y ? (F = {
|
|
56
56
|
srcToken: v,
|
|
57
57
|
destToken: y,
|
|
58
|
-
srcAmountWei:
|
|
59
|
-
destAmountWei:
|
|
58
|
+
srcAmountWei: D,
|
|
59
|
+
destAmountWei: O,
|
|
60
60
|
isLoading: b,
|
|
61
|
-
reverse:
|
|
62
|
-
|
|
63
|
-
}, _[11] = E, _[12] = k, _[13] = b, _[14] = T, _[15] = v, _[16] = y, _[17] = N) : N = _[17];
|
|
64
|
-
let P;
|
|
65
|
-
_[18] !== A || _[19] !== N ? (P = /* @__PURE__ */ h(u, {
|
|
66
|
-
swapRateProps: N,
|
|
67
|
-
priceImpactDetail: A
|
|
68
|
-
}), _[18] = A, _[19] = N, _[20] = P) : P = _[20];
|
|
69
|
-
let F;
|
|
70
|
-
_[21] === Symbol.for("react.memo_cache_sentinel") ? (F = { root: "mt-4" }, _[21] = F) : F = _[21];
|
|
61
|
+
reverse: j
|
|
62
|
+
}, _[11] = O, _[12] = j, _[13] = b, _[14] = D, _[15] = v, _[16] = y, _[17] = F) : F = _[17];
|
|
71
63
|
let I;
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
64
|
+
_[18] !== E || _[19] !== S || _[20] !== T ? (I = S ? {
|
|
65
|
+
onClick: () => T({ cancelRefetch: !1 }),
|
|
66
|
+
animate: E
|
|
67
|
+
} : void 0, _[18] = E, _[19] = S, _[20] = T, _[21] = I) : I = _[21];
|
|
68
|
+
let L;
|
|
69
|
+
_[22] !== M || _[23] !== F || _[24] !== I ? (L = /* @__PURE__ */ h(u, {
|
|
70
|
+
swapRateProps: F,
|
|
71
|
+
priceImpactDetail: M,
|
|
72
|
+
refreshButtonProps: I
|
|
73
|
+
}), _[22] = M, _[23] = F, _[24] = I, _[25] = L) : L = _[25];
|
|
74
|
+
let R;
|
|
75
|
+
_[26] === Symbol.for("react.memo_cache_sentinel") ? (R = { root: "mt-4" }, _[26] = R) : R = _[26];
|
|
76
|
+
let z;
|
|
77
|
+
return _[27] !== P || _[28] !== L ? (z = {
|
|
78
|
+
details: P,
|
|
79
|
+
trigger: L,
|
|
80
|
+
classes: R
|
|
81
|
+
}, _[27] = P, _[28] = L, _[29] = z) : z = _[29], z;
|
|
77
82
|
};
|
|
78
83
|
//#endregion
|
|
79
84
|
export { _ as useTwapDetailsListProps };
|