@velora-dex/widget 0.8.1 → 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.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.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.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.js.map +1 -1
- 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/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.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.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/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.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.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.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.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.d.ts +8 -11
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.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.d.ts +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.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.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.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/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":"utils.js","names":["AllChainsTokenMap","prepTokenKey","TransactionListItem","TransactionListItemSwapWithExtra","formatUnits","Token","TransactionItemSwap","combineSwapTransactionItems","TransactionItemSwapWithId","SupportedChainId","constructTransactionItemSwap","transaction","allChainsTokenMap","srcAmount","destAmount","srcTokenAddress","destTokenAddress","transactionSpecificData","srcToken","destToken","srcAmountUnit","destAmountUnit","srcTokenKey","address","network","chainId","foundSrcToken","BigInt","decimals","destTokenKey","foundDestToken","extra","itemType","isTransactionItemSwapWithExtra","order","constructSwapTransactionsData","localSwapTxs","swapTxsHistory","selectedNetwork","allTxs","activeTxs","completedTxs","tx","txItem","receipt","source","push"],"sources":["../../../../src/components/widget/TransactionDetails/utils.ts"],"sourcesContent":["import type { AllChainsTokenMap } from \"@/hooks/tokens/types\";\nimport { prepTokenKey } from \"@/hooks/tokens/useTokensByAddress\";\nimport type {\n TransactionListItem,\n TransactionListItemSwapWithExtra,\n} from \"./types\";\nimport { formatUnits } from \"viem\";\nimport type { Token } from \"@/tokens/state/types\";\nimport type { TransactionItemSwap } from \"@/transactions/types\";\nimport {\n combineSwapTransactionItems,\n type TransactionItemSwapWithId,\n} from \"@/transactions/utils\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nfunction constructTransactionItemSwap(\n transaction: TransactionItemSwapWithId,\n allChainsTokenMap: AllChainsTokenMap\n): TransactionListItem {\n const { srcAmount, destAmount, srcTokenAddress, destTokenAddress } =\n transaction.transactionSpecificData;\n\n let srcToken: Token | undefined;\n let destToken: Token | undefined;\n\n let srcAmountUnit: string | undefined;\n let destAmountUnit: string | undefined;\n\n const srcTokenKey = prepTokenKey({\n address: srcTokenAddress,\n network: transaction.chainId,\n });\n\n const foundSrcToken = allChainsTokenMap[srcTokenKey];\n if (foundSrcToken) {\n srcToken = foundSrcToken;\n srcAmountUnit = formatUnits(BigInt(srcAmount), foundSrcToken.decimals);\n }\n\n const destTokenKey = prepTokenKey({\n address: destTokenAddress,\n network: transaction.chainId,\n });\n\n const foundDestToken = allChainsTokenMap[destTokenKey];\n if (foundDestToken) {\n destToken = foundDestToken;\n destAmountUnit = formatUnits(BigInt(destAmount), foundDestToken.decimals);\n }\n\n const extra = { srcToken, destToken, srcAmountUnit, destAmountUnit };\n\n return { ...transaction, extra, itemType: \"transaction\" };\n}\n\nexport function isTransactionItemSwapWithExtra(\n order: TransactionListItem\n): order is TransactionListItemSwapWithExtra {\n const { srcToken, destToken, srcAmountUnit, destAmountUnit } = order.extra;\n return !!(srcToken && destToken && srcAmountUnit && destAmountUnit);\n}\n\nexport function constructSwapTransactionsData({\n localSwapTxs,\n swapTxsHistory,\n allChainsTokenMap,\n selectedNetwork,\n}: {\n localSwapTxs: TransactionItemSwap[];\n swapTxsHistory: TransactionItemSwap[];\n allChainsTokenMap: AllChainsTokenMap;\n selectedNetwork: SupportedChainId | \"all\";\n}) {\n const allTxs: TransactionListItem[] = [];\n const activeTxs: TransactionListItem[] = [];\n const completedTxs: TransactionListItem[] = [];\n\n // loop through all swap transactions: local (pending) + history (completed)\n // note: history txs override local txs with the same hash\n for (const tx of combineSwapTransactionItems(localSwapTxs, swapTxsHistory)) {\n if (selectedNetwork !== \"all\" && tx.chainId !== selectedNetwork) continue;\n\n const txItem = constructTransactionItemSwap(tx, allChainsTokenMap);\n\n // - transactions from metabase are always completed\n // - transactions from localStorage are completed only if receipt is present\n if (tx.receipt || tx.transactionSpecificData.source === \"metabase\")\n completedTxs.push(txItem);\n // active transactions could be only local (pending) transactions\n if (!tx.receipt && tx.transactionSpecificData.source === \"local\")\n activeTxs.push(txItem);\n\n allTxs.push(txItem);\n }\n\n return { allTxs, activeTxs, completedTxs };\n}\n"],"mappings":";;;;AAeA,SAASU,EACPC,GACAC,GACqB;CACrB,IAAM,EAAEC,cAAWC,eAAYC,oBAAiBC,wBAC9CL,EAAYM,yBAEVC,GACAC,GAEAC,GACAC,GAOEK,IAAgBd,EALFX,EAAa;EAC/BsB,SAASR;EACTS,SAASb,EAAYc;EACtB,
|
|
1
|
+
{"version":3,"file":"utils.js","names":["AllChainsTokenMap","prepTokenKey","TransactionListItem","TransactionListItemSwapWithExtra","formatUnits","Token","TransactionItemSwap","combineSwapTransactionItems","TransactionItemSwapWithId","SupportedChainId","constructTransactionItemSwap","transaction","allChainsTokenMap","srcAmount","destAmount","srcTokenAddress","destTokenAddress","transactionSpecificData","srcToken","destToken","srcAmountUnit","destAmountUnit","srcTokenKey","address","network","chainId","foundSrcToken","BigInt","decimals","destTokenKey","foundDestToken","extra","itemType","isTransactionItemSwapWithExtra","order","constructSwapTransactionsData","localSwapTxs","swapTxsHistory","selectedNetwork","allTxs","activeTxs","completedTxs","tx","txItem","receipt","source","push"],"sources":["../../../../src/components/widget/TransactionDetails/utils.ts"],"sourcesContent":["import type { AllChainsTokenMap } from \"@/hooks/tokens/types\";\nimport { prepTokenKey } from \"@/hooks/tokens/useTokensByAddress\";\nimport type {\n TransactionListItem,\n TransactionListItemSwapWithExtra,\n} from \"./types\";\nimport { formatUnits } from \"viem\";\nimport type { Token } from \"@/tokens/state/types\";\nimport type { TransactionItemSwap } from \"@/transactions/types\";\nimport {\n combineSwapTransactionItems,\n type TransactionItemSwapWithId,\n} from \"@/transactions/utils\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\n\nfunction constructTransactionItemSwap(\n transaction: TransactionItemSwapWithId,\n allChainsTokenMap: AllChainsTokenMap\n): TransactionListItem {\n const { srcAmount, destAmount, srcTokenAddress, destTokenAddress } =\n transaction.transactionSpecificData;\n\n let srcToken: Token | undefined;\n let destToken: Token | undefined;\n\n let srcAmountUnit: string | undefined;\n let destAmountUnit: string | undefined;\n\n const srcTokenKey = prepTokenKey({\n address: srcTokenAddress,\n network: transaction.chainId,\n });\n\n const foundSrcToken = allChainsTokenMap[srcTokenKey];\n if (foundSrcToken) {\n srcToken = foundSrcToken;\n srcAmountUnit = formatUnits(BigInt(srcAmount), foundSrcToken.decimals);\n }\n\n const destTokenKey = prepTokenKey({\n address: destTokenAddress,\n network: transaction.chainId,\n });\n\n const foundDestToken = allChainsTokenMap[destTokenKey];\n if (foundDestToken) {\n destToken = foundDestToken;\n destAmountUnit = formatUnits(BigInt(destAmount), foundDestToken.decimals);\n }\n\n const extra = { srcToken, destToken, srcAmountUnit, destAmountUnit };\n\n return { ...transaction, extra, itemType: \"transaction\" };\n}\n\nexport function isTransactionItemSwapWithExtra(\n order: TransactionListItem\n): order is TransactionListItemSwapWithExtra {\n const { srcToken, destToken, srcAmountUnit, destAmountUnit } = order.extra;\n return !!(srcToken && destToken && srcAmountUnit && destAmountUnit);\n}\n\nexport function constructSwapTransactionsData({\n localSwapTxs,\n swapTxsHistory,\n allChainsTokenMap,\n selectedNetwork,\n}: {\n localSwapTxs: TransactionItemSwap[];\n swapTxsHistory: TransactionItemSwap[];\n allChainsTokenMap: AllChainsTokenMap;\n selectedNetwork: SupportedChainId | \"all\";\n}) {\n const allTxs: TransactionListItem[] = [];\n const activeTxs: TransactionListItem[] = [];\n const completedTxs: TransactionListItem[] = [];\n\n // loop through all swap transactions: local (pending) + history (completed)\n // note: history txs override local txs with the same hash\n for (const tx of combineSwapTransactionItems(localSwapTxs, swapTxsHistory)) {\n if (selectedNetwork !== \"all\" && tx.chainId !== selectedNetwork) continue;\n\n const txItem = constructTransactionItemSwap(tx, allChainsTokenMap);\n\n // - transactions from metabase are always completed\n // - transactions from localStorage are completed only if receipt is present\n if (tx.receipt || tx.transactionSpecificData.source === \"metabase\")\n completedTxs.push(txItem);\n // active transactions could be only local (pending) transactions\n if (!tx.receipt && tx.transactionSpecificData.source === \"local\")\n activeTxs.push(txItem);\n\n allTxs.push(txItem);\n }\n\n return { allTxs, activeTxs, completedTxs };\n}\n"],"mappings":";;;;AAeA,SAASU,EACPC,GACAC,GACqB;CACrB,IAAM,EAAEC,cAAWC,eAAYC,oBAAiBC,wBAC9CL,EAAYM,yBAEVC,GACAC,GAEAC,GACAC,GAOEK,IAAgBd,EALFX,EAAa;EAC/BsB,SAASR;EACTS,SAASb,EAAYc;EACtB,CAEuCH;CACxC,AAAII,MACFR,IAAWQ,GACXN,IAAgBhB,EAAYuB,OAAOd,EAAU,EAAEa,EAAcE,SAAS;CAQxE,IAAME,IAAiBlB,EALFX,EAAa;EAChCsB,SAASP;EACTQ,SAASb,EAAYc;EACtB,CAEwCI;CACzC,AAAIC,MACFX,IAAYW,GACZT,IAAiBjB,EAAYuB,OAAOb,EAAW,EAAEgB,EAAeF,SAAS;CAG3E,IAAMG,IAAQ;EAAEb;EAAUC;EAAWC;EAAeC;EAAgB;CAEpE,OAAO;EAAE,GAAGV;EAAaoB;EAAOC,UAAU;EAAe;;AAG3D,SAAgBC,EACdC,GAC2C;CAC3C,IAAM,EAAEhB,aAAUC,cAAWC,kBAAeC,sBAAmBa,EAAMH;CACrE,OAAO,CAAC,EAAEb,KAAYC,KAAaC,KAAiBC;;AAGtD,SAAgBc,EAA8B,EAC5CC,iBACAC,mBACAzB,sBACA0B,sBAMC;CACD,IAAMC,IAAgC,EAAE,EAClCC,IAAmC,EAAE,EACrCC,IAAsC,EAAE;CAI9C,KAAK,IAAMC,KAAMnC,EAA4B6B,GAAcC,EAAe,EAAE;EAC1E,IAAIC,MAAoB,SAASI,EAAGjB,YAAYa,GAAiB;EAEjE,IAAMK,IAASjC,EAA6BgC,GAAI9B,EAAkB;EAUlE2B,CANIG,EAAGE,WAAWF,EAAGzB,wBAAwB4B,WAAW,eACtDJ,EAAaK,KAAKH,EAAO,EAEvB,CAACD,EAAGE,WAAWF,EAAGzB,wBAAwB4B,WAAW,WACvDL,EAAUM,KAAKH,EAAO,EAExBJ,EAAOO,KAAKH,EAAO;;CAGrB,OAAO;EAAEJ;EAAQC;EAAWC;EAAc"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomDurationDrawer.js","names":["useSetAtom","twapDurationAtom","TWAP_CUSTOM_DURATION_MIN_MINUTES","TWAP_CUSTOM_DURATION_MAX_DAYS","TWAP_CUSTOM_DURATION_MAX_HOURS","TWAP_CUSTOM_DURATION_MAX_MINUTES","NumberInput","Button","ControlledDrawer","DrawerControls","ReactComponent","TwoDotsSVG","Tooltip","TooltipContent","TooltipTrigger","DrawerState","Duration","minutesToMilliseconds","customDurationToMinutes","days","hours","minutes","CustomDurationDrawer","t0","$","_c","orderDurationState","drawerControls","setDuration","setDays","setHours","setMinutes","totalMinutes","isBelowMinimum","isSaveDisabled","showTooltip","open","isDaysError","isHoursError","isMinutesError","t1","onClose","handleSave","t2","Symbol","for","dots","t3","content","t4","t5","t6","t7","root","t8","t9","t10","t11","t12","t13","t14","t15","DurationField","label","value","max","onChange","isError","v"],"sources":["../../../../src/components/widget/Twap/CustomDurationDrawer.tsx"],"sourcesContent":["import { useSetAtom } from \"@/core/store\";\nimport { twapDurationAtom } from \"@/core/twap/state/twapParamsAtom\";\nimport {\n TWAP_CUSTOM_DURATION_MIN_MINUTES,\n TWAP_CUSTOM_DURATION_MAX_DAYS,\n TWAP_CUSTOM_DURATION_MAX_HOURS,\n TWAP_CUSTOM_DURATION_MAX_MINUTES,\n} from \"@/core/twap/state/constants\";\nimport { NumberInput } from \"@/components/widget/NumberInput/NumberInput\";\nimport { Button } from \"@/components/ui/button\";\nimport { ControlledDrawer } from \"@/components/widget/Drawer\";\nimport { type DrawerControls } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { ReactComponent as TwoDotsSVG } from \"@/assets/two-dots.svg\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\nimport type { DrawerState } from \"./OrderDuration\";\nimport { Duration } from \"../Duration/Duration\";\nimport { minutesToMilliseconds } from \"@/lib/utils/time\";\n\nfunction customDurationToMinutes(days: number, hours: number, minutes: number) {\n return days * 24 * 60 + hours * 60 + minutes;\n}\n\nexport function CustomDurationDrawer({\n orderDurationState,\n drawerControls,\n}: {\n orderDurationState: DrawerState;\n drawerControls: DrawerControls;\n}) {\n const setDuration = useSetAtom(twapDurationAtom);\n const { days, hours, minutes, setDays, setHours, setMinutes } =\n orderDurationState;\n\n const totalMinutes = customDurationToMinutes(days, hours, minutes);\n const isBelowMinimum = totalMinutes < TWAP_CUSTOM_DURATION_MIN_MINUTES;\n const isSaveDisabled = totalMinutes === 0 || isBelowMinimum;\n const showTooltip = isBelowMinimum && drawerControls.open;\n\n const isDaysError = days < 0 || days > TWAP_CUSTOM_DURATION_MAX_DAYS;\n const isHoursError =\n isBelowMinimum || hours < 0 || hours > TWAP_CUSTOM_DURATION_MAX_HOURS;\n const isMinutesError =\n minutes < 0 || minutes > TWAP_CUSTOM_DURATION_MAX_MINUTES;\n\n const handleSave = () => {\n if (isSaveDisabled) return;\n setDuration(totalMinutes);\n drawerControls.onClose();\n };\n\n const dots = (\n <div className=\"flex items-center h-10\">\n <TwoDotsSVG />\n </div>\n );\n\n return (\n <ControlledDrawer\n {...drawerControls}\n title=\"Custom Order Duration\"\n showCloseButton\n classes={{\n content: \"dark:bg-contrast-2\",\n }}\n >\n <div className=\"flex flex-col gap-14 px-6 pt-2 pb-8\">\n <div>\n <div className=\"text-center text-xs pb-8 px-4 text-contrast-5 dark:text-contrast-6\">\n Set how long this TWAP order should execute. The total size will be\n split and filled progressively over this duration.\n </div>\n <div className=\"grid grid-cols-[1fr_auto_1fr_auto_1fr] items-end gap-2\">\n <DurationField\n label=\"Days\"\n value={days}\n max={TWAP_CUSTOM_DURATION_MAX_DAYS}\n onChange={setDays}\n isError={isDaysError}\n />\n {dots}\n <Tooltip open={showTooltip}>\n <TooltipTrigger asChild>\n <div>\n <DurationField\n label=\"Hours\"\n value={hours}\n max={TWAP_CUSTOM_DURATION_MAX_HOURS}\n onChange={setHours}\n isError={isHoursError}\n />\n </div>\n </TooltipTrigger>\n <TooltipContent side=\"bottom\">\n Minimum TWAP duration is{\" \"}\n <Duration\n timeMs={minutesToMilliseconds(\n TWAP_CUSTOM_DURATION_MIN_MINUTES\n )}\n classes={{ root: \"inline-flex dark:text-contrast-3\" }}\n showSeconds\n />\n </TooltipContent>\n </Tooltip>\n {dots}\n <DurationField\n label=\"Minutes\"\n value={minutes}\n max={TWAP_CUSTOM_DURATION_MAX_MINUTES}\n onChange={setMinutes}\n isError={isMinutesError}\n />\n </div>\n </div>\n <div className=\"flex flex-col gap-4\">\n <Button\n onClick={handleSave}\n disabled={isSaveDisabled}\n radius=\"sm\"\n className=\"h-10\"\n >\n Save\n </Button>\n <Button\n variant=\"secondary\"\n onClick={drawerControls.onClose}\n radius=\"sm\"\n className=\"h-10\"\n >\n Dismiss\n </Button>\n </div>\n </div>\n </ControlledDrawer>\n );\n}\n\nfunction DurationField({\n label,\n value,\n max,\n onChange,\n isError,\n}: {\n label: string;\n value: number;\n max: number;\n onChange: (value: number) => void;\n isError?: boolean;\n}) {\n return (\n <div className=\"flex flex-col gap-1 flex-1\">\n <span className=\"text-xs text-contrast-5 dark:text-contrast-6 uppercase\">\n {label}\n </span>\n <NumberInput\n allowLeadingZeros={false}\n allowNegative={false}\n decimalScale={0}\n placeholder=\"0\"\n value={value}\n min={0}\n max={max}\n stepper={1}\n onValueChange={(v) => onChange(v ?? 0)}\n classes={{\n root: \"h-10\",\n }}\n isError={isError}\n />\n </div>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CustomDurationDrawer.js","names":["useSetAtom","twapDurationAtom","TWAP_CUSTOM_DURATION_MIN_MINUTES","TWAP_CUSTOM_DURATION_MAX_DAYS","TWAP_CUSTOM_DURATION_MAX_HOURS","TWAP_CUSTOM_DURATION_MAX_MINUTES","NumberInput","Button","ControlledDrawer","DrawerControls","ReactComponent","TwoDotsSVG","Tooltip","TooltipContent","TooltipTrigger","DrawerState","Duration","minutesToMilliseconds","customDurationToMinutes","days","hours","minutes","CustomDurationDrawer","t0","$","_c","orderDurationState","drawerControls","setDuration","setDays","setHours","setMinutes","totalMinutes","isBelowMinimum","isSaveDisabled","showTooltip","open","isDaysError","isHoursError","isMinutesError","t1","onClose","handleSave","t2","Symbol","for","dots","t3","content","t4","t5","t6","t7","root","t8","t9","t10","t11","t12","t13","t14","t15","DurationField","label","value","max","onChange","isError","v"],"sources":["../../../../src/components/widget/Twap/CustomDurationDrawer.tsx"],"sourcesContent":["import { useSetAtom } from \"@/core/store\";\nimport { twapDurationAtom } from \"@/core/twap/state/twapParamsAtom\";\nimport {\n TWAP_CUSTOM_DURATION_MIN_MINUTES,\n TWAP_CUSTOM_DURATION_MAX_DAYS,\n TWAP_CUSTOM_DURATION_MAX_HOURS,\n TWAP_CUSTOM_DURATION_MAX_MINUTES,\n} from \"@/core/twap/state/constants\";\nimport { NumberInput } from \"@/components/widget/NumberInput/NumberInput\";\nimport { Button } from \"@/components/ui/button\";\nimport { ControlledDrawer } from \"@/components/widget/Drawer\";\nimport { type DrawerControls } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { ReactComponent as TwoDotsSVG } from \"@/assets/two-dots.svg\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\nimport type { DrawerState } from \"./OrderDuration\";\nimport { Duration } from \"../Duration/Duration\";\nimport { minutesToMilliseconds } from \"@/lib/utils/time\";\n\nfunction customDurationToMinutes(days: number, hours: number, minutes: number) {\n return days * 24 * 60 + hours * 60 + minutes;\n}\n\nexport function CustomDurationDrawer({\n orderDurationState,\n drawerControls,\n}: {\n orderDurationState: DrawerState;\n drawerControls: DrawerControls;\n}) {\n const setDuration = useSetAtom(twapDurationAtom);\n const { days, hours, minutes, setDays, setHours, setMinutes } =\n orderDurationState;\n\n const totalMinutes = customDurationToMinutes(days, hours, minutes);\n const isBelowMinimum = totalMinutes < TWAP_CUSTOM_DURATION_MIN_MINUTES;\n const isSaveDisabled = totalMinutes === 0 || isBelowMinimum;\n const showTooltip = isBelowMinimum && drawerControls.open;\n\n const isDaysError = days < 0 || days > TWAP_CUSTOM_DURATION_MAX_DAYS;\n const isHoursError =\n isBelowMinimum || hours < 0 || hours > TWAP_CUSTOM_DURATION_MAX_HOURS;\n const isMinutesError =\n minutes < 0 || minutes > TWAP_CUSTOM_DURATION_MAX_MINUTES;\n\n const handleSave = () => {\n if (isSaveDisabled) return;\n setDuration(totalMinutes);\n drawerControls.onClose();\n };\n\n const dots = (\n <div className=\"flex items-center h-10\">\n <TwoDotsSVG />\n </div>\n );\n\n return (\n <ControlledDrawer\n {...drawerControls}\n title=\"Custom Order Duration\"\n showCloseButton\n classes={{\n content: \"dark:bg-contrast-2\",\n }}\n >\n <div className=\"flex flex-col gap-14 px-6 pt-2 pb-8\">\n <div>\n <div className=\"text-center text-xs pb-8 px-4 text-contrast-5 dark:text-contrast-6\">\n Set how long this TWAP order should execute. The total size will be\n split and filled progressively over this duration.\n </div>\n <div className=\"grid grid-cols-[1fr_auto_1fr_auto_1fr] items-end gap-2\">\n <DurationField\n label=\"Days\"\n value={days}\n max={TWAP_CUSTOM_DURATION_MAX_DAYS}\n onChange={setDays}\n isError={isDaysError}\n />\n {dots}\n <Tooltip open={showTooltip}>\n <TooltipTrigger asChild>\n <div>\n <DurationField\n label=\"Hours\"\n value={hours}\n max={TWAP_CUSTOM_DURATION_MAX_HOURS}\n onChange={setHours}\n isError={isHoursError}\n />\n </div>\n </TooltipTrigger>\n <TooltipContent side=\"bottom\">\n Minimum TWAP duration is{\" \"}\n <Duration\n timeMs={minutesToMilliseconds(\n TWAP_CUSTOM_DURATION_MIN_MINUTES\n )}\n classes={{ root: \"inline-flex dark:text-contrast-3\" }}\n showSeconds\n />\n </TooltipContent>\n </Tooltip>\n {dots}\n <DurationField\n label=\"Minutes\"\n value={minutes}\n max={TWAP_CUSTOM_DURATION_MAX_MINUTES}\n onChange={setMinutes}\n isError={isMinutesError}\n />\n </div>\n </div>\n <div className=\"flex flex-col gap-4\">\n <Button\n onClick={handleSave}\n disabled={isSaveDisabled}\n radius=\"sm\"\n className=\"h-10\"\n >\n Save\n </Button>\n <Button\n variant=\"secondary\"\n onClick={drawerControls.onClose}\n radius=\"sm\"\n className=\"h-10\"\n >\n Dismiss\n </Button>\n </div>\n </div>\n </ControlledDrawer>\n );\n}\n\nfunction DurationField({\n label,\n value,\n max,\n onChange,\n isError,\n}: {\n label: string;\n value: number;\n max: number;\n onChange: (value: number) => void;\n isError?: boolean;\n}) {\n return (\n <div className=\"flex flex-col gap-1 flex-1\">\n <span className=\"text-xs text-contrast-5 dark:text-contrast-6 uppercase\">\n {label}\n </span>\n <NumberInput\n allowLeadingZeros={false}\n allowNegative={false}\n decimalScale={0}\n placeholder=\"0\"\n value={value}\n min={0}\n max={max}\n stepper={1}\n onValueChange={(v) => onChange(v ?? 0)}\n classes={{\n root: \"h-10\",\n }}\n isError={isError}\n />\n </div>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderDuration.js","names":["useAtomValue","useSetAtom","twapDurationAtom","Button","cn","TWAP_CUSTOM_DURATION_MIN_MINUTES","TWAP_DURATION_OPTIONS","TwapDetailWithTooltip","CustomDurationDrawer","useDrawerControls","Duration","useState","DrawerState","days","setDays","React","Dispatch","SetStateAction","hours","setHours","minutes","setMinutes","reset","useOrderDurationState","initialDuration","$","_c","initDays","Math","floor","initHours","initMinutes","t0","t1","TwapOrderDuration","duration","setDuration","some","o","value","isPreset","orderDurationState","drawerId","onOpen","drawerControls","t2","customLabel","t3","Symbol","for","root","t4","map","option","label","t5","t6","t7","t8","t9","buttonSelectedClassName","DurationButton","selected","onClick"],"sources":["../../../../src/components/widget/Twap/OrderDuration.tsx"],"sourcesContent":["import { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { twapDurationAtom } from \"@/core/twap/state/twapParamsAtom\";\nimport { Button } from \"@/components/ui/button\";\nimport { cn } from \"@/lib/utils\";\nimport {\n TWAP_CUSTOM_DURATION_MIN_MINUTES,\n TWAP_DURATION_OPTIONS,\n} from \"@/core/twap/state/constants\";\nimport { TwapDetailWithTooltip } from \"./TwapDetailWithTooltip\";\nimport { CustomDurationDrawer } from \"./CustomDurationDrawer\";\nimport { useDrawerControls } from \"../Drawer/state/useDrawerControls\";\nimport { Duration } from \"../Duration/Duration\";\nimport { useState } from \"react\";\n\nexport type DrawerState = {\n days: number;\n setDays: React.Dispatch<React.SetStateAction<number>>;\n hours: number;\n setHours: React.Dispatch<React.SetStateAction<number>>;\n minutes: number;\n setMinutes: React.Dispatch<React.SetStateAction<number>>;\n reset: () => void;\n};\n\nfunction useOrderDurationState(initialDuration: number): DrawerState {\n const initDays = Math.floor(initialDuration / (60 * 24));\n const initHours = Math.floor((initialDuration % (60 * 24)) / 60);\n const initMinutes = initialDuration % 60;\n\n const [days, setDays] = useState(initDays);\n const [hours, setHours] = useState(initHours);\n const [minutes, setMinutes] = useState(initMinutes);\n\n const reset = () => {\n setDays(initDays);\n setHours(initHours);\n setMinutes(initMinutes);\n };\n\n return {\n days,\n setDays,\n hours,\n setHours,\n minutes,\n setMinutes,\n reset,\n };\n}\nexport const TwapOrderDuration = () => {\n const duration = useAtomValue(twapDurationAtom);\n const setDuration = useSetAtom(twapDurationAtom);\n\n const isPreset = TWAP_DURATION_OPTIONS.some((o) => o.value === duration);\n const initialDuration = isPreset\n ? TWAP_CUSTOM_DURATION_MIN_MINUTES\n : duration;\n\n const orderDurationState = useOrderDurationState(initialDuration);\n const drawerControls = useDrawerControls({\n drawerId: \"custom-duration-drawer\",\n onOpen: orderDurationState.reset,\n });\n\n const customLabel = isPreset ? (\n \"Custom\"\n ) : (\n <Duration timeMs={duration * 60 * 1000} />\n );\n\n return (\n <div className=\"flex items-center justify-between\">\n <TwapDetailWithTooltip\n detail=\"Order Duration\"\n tooltip=\"The total time over which your TWAP order will be executed\"\n classes={{\n root: \"text-nowrap\",\n }}\n />\n <div className=\"flex gap-2 flex-wrap justify-end\">\n {TWAP_DURATION_OPTIONS.map((option) => (\n <DurationButton\n key={option.value}\n label={option.label}\n selected={duration === option.value}\n onClick={() => setDuration(option.value)}\n />\n ))}\n <DurationButton\n label={customLabel}\n selected={!isPreset}\n onClick={drawerControls.onOpen}\n />\n </div>\n <CustomDurationDrawer\n orderDurationState={orderDurationState}\n drawerControls={drawerControls}\n />\n </div>\n );\n};\n\nconst buttonSelectedClassName =\n \"text-contrast-9 bg-primary-azul-1 border-primary-azul-1 hover:bg-primary-azul-1 hover:text-contrast-9 dark:bg-primary-azul-1 dark:border-primary-azul-1 dark:hover:bg-primary-azul-1 dark:text-contrast-9\";\n\nfunction DurationButton({\n label,\n selected,\n onClick,\n}: {\n label: React.ReactNode;\n selected: boolean;\n onClick: () => void;\n}) {\n return (\n <Button\n onClick={onClick}\n variant=\"outline\"\n className={cn(\n \"h-6 px-2 shadow-none text-xs text-contrast-5 dark:text-contrast-6\",\n {\n [buttonSelectedClassName]: selected,\n }\n )}\n >\n {label}\n </Button>\n );\n}\n"],"mappings":";;;;;;;;;;;;;AAwBA,SAAAuB,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACEC,IAAiBC,KAAIC,MAAOL,IAAmB,KAAS,EACxDM,IAAkBF,KAAIC,MAAQL,IAAmB,OAAY,GAAG,EAChEO,IAAoBP,IAAkB,IAEtC,CAAAX,GAAAC,KAAwBH,EAASgB,EAAS,EAC1C,CAAAT,GAAAC,KAA0BR,EAASmB,EAAU,EAC7C,CAAAV,GAAAC,KAA8BV,EAASoB,EAAY,EAACC;
|
|
1
|
+
{"version":3,"file":"OrderDuration.js","names":["useAtomValue","useSetAtom","twapDurationAtom","Button","cn","TWAP_CUSTOM_DURATION_MIN_MINUTES","TWAP_DURATION_OPTIONS","TwapDetailWithTooltip","CustomDurationDrawer","useDrawerControls","Duration","useState","DrawerState","days","setDays","React","Dispatch","SetStateAction","hours","setHours","minutes","setMinutes","reset","useOrderDurationState","initialDuration","$","_c","initDays","Math","floor","initHours","initMinutes","t0","t1","TwapOrderDuration","duration","setDuration","some","o","value","isPreset","orderDurationState","drawerId","onOpen","drawerControls","t2","customLabel","t3","Symbol","for","root","t4","map","option","label","t5","t6","t7","t8","t9","buttonSelectedClassName","DurationButton","selected","onClick"],"sources":["../../../../src/components/widget/Twap/OrderDuration.tsx"],"sourcesContent":["import { useAtomValue, useSetAtom } from \"@/core/store\";\nimport { twapDurationAtom } from \"@/core/twap/state/twapParamsAtom\";\nimport { Button } from \"@/components/ui/button\";\nimport { cn } from \"@/lib/utils\";\nimport {\n TWAP_CUSTOM_DURATION_MIN_MINUTES,\n TWAP_DURATION_OPTIONS,\n} from \"@/core/twap/state/constants\";\nimport { TwapDetailWithTooltip } from \"./TwapDetailWithTooltip\";\nimport { CustomDurationDrawer } from \"./CustomDurationDrawer\";\nimport { useDrawerControls } from \"../Drawer/state/useDrawerControls\";\nimport { Duration } from \"../Duration/Duration\";\nimport { useState } from \"react\";\n\nexport type DrawerState = {\n days: number;\n setDays: React.Dispatch<React.SetStateAction<number>>;\n hours: number;\n setHours: React.Dispatch<React.SetStateAction<number>>;\n minutes: number;\n setMinutes: React.Dispatch<React.SetStateAction<number>>;\n reset: () => void;\n};\n\nfunction useOrderDurationState(initialDuration: number): DrawerState {\n const initDays = Math.floor(initialDuration / (60 * 24));\n const initHours = Math.floor((initialDuration % (60 * 24)) / 60);\n const initMinutes = initialDuration % 60;\n\n const [days, setDays] = useState(initDays);\n const [hours, setHours] = useState(initHours);\n const [minutes, setMinutes] = useState(initMinutes);\n\n const reset = () => {\n setDays(initDays);\n setHours(initHours);\n setMinutes(initMinutes);\n };\n\n return {\n days,\n setDays,\n hours,\n setHours,\n minutes,\n setMinutes,\n reset,\n };\n}\nexport const TwapOrderDuration = () => {\n const duration = useAtomValue(twapDurationAtom);\n const setDuration = useSetAtom(twapDurationAtom);\n\n const isPreset = TWAP_DURATION_OPTIONS.some((o) => o.value === duration);\n const initialDuration = isPreset\n ? TWAP_CUSTOM_DURATION_MIN_MINUTES\n : duration;\n\n const orderDurationState = useOrderDurationState(initialDuration);\n const drawerControls = useDrawerControls({\n drawerId: \"custom-duration-drawer\",\n onOpen: orderDurationState.reset,\n });\n\n const customLabel = isPreset ? (\n \"Custom\"\n ) : (\n <Duration timeMs={duration * 60 * 1000} />\n );\n\n return (\n <div className=\"flex items-center justify-between\">\n <TwapDetailWithTooltip\n detail=\"Order Duration\"\n tooltip=\"The total time over which your TWAP order will be executed\"\n classes={{\n root: \"text-nowrap\",\n }}\n />\n <div className=\"flex gap-2 flex-wrap justify-end\">\n {TWAP_DURATION_OPTIONS.map((option) => (\n <DurationButton\n key={option.value}\n label={option.label}\n selected={duration === option.value}\n onClick={() => setDuration(option.value)}\n />\n ))}\n <DurationButton\n label={customLabel}\n selected={!isPreset}\n onClick={drawerControls.onOpen}\n />\n </div>\n <CustomDurationDrawer\n orderDurationState={orderDurationState}\n drawerControls={drawerControls}\n />\n </div>\n );\n};\n\nconst buttonSelectedClassName =\n \"text-contrast-9 bg-primary-azul-1 border-primary-azul-1 hover:bg-primary-azul-1 hover:text-contrast-9 dark:bg-primary-azul-1 dark:border-primary-azul-1 dark:hover:bg-primary-azul-1 dark:text-contrast-9\";\n\nfunction DurationButton({\n label,\n selected,\n onClick,\n}: {\n label: React.ReactNode;\n selected: boolean;\n onClick: () => void;\n}) {\n return (\n <Button\n onClick={onClick}\n variant=\"outline\"\n className={cn(\n \"h-6 px-2 shadow-none text-xs text-contrast-5 dark:text-contrast-6\",\n {\n [buttonSelectedClassName]: selected,\n }\n )}\n >\n {label}\n </Button>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderSplit.js","names":["useAtom","userTwapSplitAtom","TWAP_SPLIT_MIN","TWAP_SPLIT_MAX","TWAP_SPLIT_STEP","NumberInput","TwapDetailWithTooltip","TwapOrderSplit","$","_c","userSplit","setUserSplit","t0","Symbol","for","t1","floatValue","undefined","t2","root","t3"],"sources":["../../../../src/components/widget/Twap/OrderSplit.tsx"],"sourcesContent":["import { useAtom } from \"@/core/store\";\nimport { userTwapSplitAtom } from \"@/core/twap/state/twapParamsAtom\";\nimport {\n TWAP_SPLIT_MIN,\n TWAP_SPLIT_MAX,\n TWAP_SPLIT_STEP,\n} from \"@/core/twap/state/constants\";\nimport { NumberInput } from \"../NumberInput/NumberInput\";\nimport { TwapDetailWithTooltip } from \"./TwapDetailWithTooltip\";\n\nexport const TwapOrderSplit = () => {\n const [userSplit, setUserSplit] = useAtom(userTwapSplitAtom);\n\n return (\n <div className=\"flex items-center justify-between\">\n <TwapDetailWithTooltip\n detail=\"Order Split\"\n tooltip=\"Number of sub-orders your TWAP order will be split into\"\n />\n <NumberInput\n allowLeadingZeros={false}\n allowNegative={false}\n decimalScale={0}\n placeholder=\"2\"\n value={userSplit}\n min={TWAP_SPLIT_MIN}\n max={TWAP_SPLIT_MAX}\n stepper={TWAP_SPLIT_STEP}\n onValueChange={(floatValue) => {\n if (floatValue === undefined) return;\n setUserSplit(floatValue);\n }}\n classes={{\n root: \"max-w-18 h-8\",\n }}\n />\n </div>\n );\n};\n"],"mappings":";;;;;;;AAUA,IAAaO,UAAiB;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAC5B,CAAAC,GAAAC,KAAkCX,EAAQC,EAAkB,EAACW;
|
|
1
|
+
{"version":3,"file":"OrderSplit.js","names":["useAtom","userTwapSplitAtom","TWAP_SPLIT_MIN","TWAP_SPLIT_MAX","TWAP_SPLIT_STEP","NumberInput","TwapDetailWithTooltip","TwapOrderSplit","$","_c","userSplit","setUserSplit","t0","Symbol","for","t1","floatValue","undefined","t2","root","t3"],"sources":["../../../../src/components/widget/Twap/OrderSplit.tsx"],"sourcesContent":["import { useAtom } from \"@/core/store\";\nimport { userTwapSplitAtom } from \"@/core/twap/state/twapParamsAtom\";\nimport {\n TWAP_SPLIT_MIN,\n TWAP_SPLIT_MAX,\n TWAP_SPLIT_STEP,\n} from \"@/core/twap/state/constants\";\nimport { NumberInput } from \"../NumberInput/NumberInput\";\nimport { TwapDetailWithTooltip } from \"./TwapDetailWithTooltip\";\n\nexport const TwapOrderSplit = () => {\n const [userSplit, setUserSplit] = useAtom(userTwapSplitAtom);\n\n return (\n <div className=\"flex items-center justify-between\">\n <TwapDetailWithTooltip\n detail=\"Order Split\"\n tooltip=\"Number of sub-orders your TWAP order will be split into\"\n />\n <NumberInput\n allowLeadingZeros={false}\n allowNegative={false}\n decimalScale={0}\n placeholder=\"2\"\n value={userSplit}\n min={TWAP_SPLIT_MIN}\n max={TWAP_SPLIT_MAX}\n stepper={TWAP_SPLIT_STEP}\n onValueChange={(floatValue) => {\n if (floatValue === undefined) return;\n setUserSplit(floatValue);\n }}\n classes={{\n root: \"max-w-18 h-8\",\n }}\n />\n </div>\n );\n};\n"],"mappings":";;;;;;;AAUA,IAAaO,UAAiB;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAC5B,CAAAC,GAAAC,KAAkCX,EAAQC,EAAkB,EAACW;CAAA,AAAAJ,EAAA,OAAAK,OAAAC,IAAA,4BAAA,IAIzDF,IAAA,kBAAC,GAAD;EACS,QAAA;EACC,SAAA;EACR,CAAA,EAAAJ,EAAA,KAAAI,KAAAA,IAAAJ,EAAA;CAAA,IAAAO;CAAA,AAAAP,EAAA,OAAAG,IAaCI,IAAAP,EAAA,MAHcO,KAAAC,MAAA;EACTA,MAAeC,KAAAA,KACnBN,EAAaK,EAAW;IACzBR,EAAA,KAAAG,GAAAH,EAAA,KAAAO;CAAA,IAAAG;CAAA,AAAAV,EAAA,OAAAK,OAAAC,IAAA,4BAAA,IACQI,IAAA,EAAAC,MACD,gBACP,EAAAX,EAAA,KAAAU,KAAAA,IAAAV,EAAA;CAAA,IAAAY;CAEC,OAFDZ,EAAA,OAAAO,KAAAP,EAAA,OAAAE,KApBLU,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACER,GAIA,kBAAC,GAAD;GACqB,mBAAA;GACJ,eAAA;GACD,cAAA;GACF,aAAA;GACLF,OAAAA;GACFR,KAAAA;GACAC,KAAAA;GACIC,SAAAA;GACM,eAAAW;GAIN,SAAAG;GAIb,CAAA,CAAM;KAAAV,EAAA,KAAAO,GAAAP,EAAA,KAAAE,GAAAF,EAAA,KAAAY,KAAAA,IAAAZ,EAAA,IAtBNY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RateProtection.js","names":["useAtom","userTwapSlippageAtom","TWAP_SLIPPAGE_MIN","TWAP_SLIPPAGE_MAX","TWAP_SLIPPAGE_STEP","NumberInput","TwapDetailWithTooltip","TwapRateProtection","$","_c","userSlippage","setUserSlippage","t0","Symbol","for","t1","floatValue","undefined","t2","root","t3"],"sources":["../../../../src/components/widget/Twap/RateProtection.tsx"],"sourcesContent":["import { useAtom } from \"@/core/store\";\nimport { userTwapSlippageAtom } from \"@/core/twap/state/twapParamsAtom\";\nimport {\n TWAP_SLIPPAGE_MIN,\n TWAP_SLIPPAGE_MAX,\n TWAP_SLIPPAGE_STEP,\n} from \"@/core/twap/state/constants\";\nimport { NumberInput } from \"../NumberInput/NumberInput\";\nimport { TwapDetailWithTooltip } from \"./TwapDetailWithTooltip\";\n\nexport const TwapRateProtection = () => {\n const [userSlippage, setUserSlippage] = useAtom(userTwapSlippageAtom);\n\n return (\n <div className=\"flex items-center justify-between\">\n <TwapDetailWithTooltip\n detail=\"Rate Protection\"\n tooltip=\"Maximum allowed slippage per sub-order execution\"\n />\n <NumberInput\n allowLeadingZeros={false}\n allowNegative={false}\n decimalScale={2}\n placeholder=\"2%\"\n suffix=\"%\"\n min={TWAP_SLIPPAGE_MIN}\n max={TWAP_SLIPPAGE_MAX}\n stepper={TWAP_SLIPPAGE_STEP}\n value={userSlippage}\n onValueChange={(floatValue) => {\n if (floatValue === undefined) return;\n setUserSlippage(floatValue);\n }}\n classes={{\n root: \"max-w-20 h-8\",\n }}\n />\n </div>\n );\n};\n"],"mappings":";;;;;;;;AAUA,IAAaO,UAAqB;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAChC,CAAAC,GAAAC,KAAwCX,EAAQC,EAAqB,EAACW;
|
|
1
|
+
{"version":3,"file":"RateProtection.js","names":["useAtom","userTwapSlippageAtom","TWAP_SLIPPAGE_MIN","TWAP_SLIPPAGE_MAX","TWAP_SLIPPAGE_STEP","NumberInput","TwapDetailWithTooltip","TwapRateProtection","$","_c","userSlippage","setUserSlippage","t0","Symbol","for","t1","floatValue","undefined","t2","root","t3"],"sources":["../../../../src/components/widget/Twap/RateProtection.tsx"],"sourcesContent":["import { useAtom } from \"@/core/store\";\nimport { userTwapSlippageAtom } from \"@/core/twap/state/twapParamsAtom\";\nimport {\n TWAP_SLIPPAGE_MIN,\n TWAP_SLIPPAGE_MAX,\n TWAP_SLIPPAGE_STEP,\n} from \"@/core/twap/state/constants\";\nimport { NumberInput } from \"../NumberInput/NumberInput\";\nimport { TwapDetailWithTooltip } from \"./TwapDetailWithTooltip\";\n\nexport const TwapRateProtection = () => {\n const [userSlippage, setUserSlippage] = useAtom(userTwapSlippageAtom);\n\n return (\n <div className=\"flex items-center justify-between\">\n <TwapDetailWithTooltip\n detail=\"Rate Protection\"\n tooltip=\"Maximum allowed slippage per sub-order execution\"\n />\n <NumberInput\n allowLeadingZeros={false}\n allowNegative={false}\n decimalScale={2}\n placeholder=\"2%\"\n suffix=\"%\"\n min={TWAP_SLIPPAGE_MIN}\n max={TWAP_SLIPPAGE_MAX}\n stepper={TWAP_SLIPPAGE_STEP}\n value={userSlippage}\n onValueChange={(floatValue) => {\n if (floatValue === undefined) return;\n setUserSlippage(floatValue);\n }}\n classes={{\n root: \"max-w-20 h-8\",\n }}\n />\n </div>\n );\n};\n"],"mappings":";;;;;;;;AAUA,IAAaO,UAAqB;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAChC,CAAAC,GAAAC,KAAwCX,EAAQC,EAAqB,EAACW;CAAA,AAAAJ,EAAA,OAAAK,OAAAC,IAAA,4BAAA,IAIlEF,IAAA,kBAAC,GAAD;EACS,QAAA;EACC,SAAA;EACR,CAAA,EAAAJ,EAAA,KAAAI,KAAAA,IAAAJ,EAAA;CAAA,IAAAO;CAAA,AAAAP,EAAA,OAAAG,IAcCI,IAAAP,EAAA,MAHcO,KAAAC,MAAA;EACTA,MAAeC,KAAAA,KACnBN,EAAgBK,EAAW;IAC5BR,EAAA,KAAAG,GAAAH,EAAA,KAAAO;CAAA,IAAAG;CAAA,AAAAV,EAAA,OAAAK,OAAAC,IAAA,4BAAA,IACQI,IAAA,EAAAC,MACD,gBACP,EAAAX,EAAA,KAAAU,KAAAA,IAAAV,EAAA;CAAA,IAAAY;CAEC,OAFDZ,EAAA,OAAAO,KAAAP,EAAA,OAAAE,KArBLU,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACER,GAIA,kBAAC,GAAD;GACqB,mBAAA;GACJ,eAAA;GACD,cAAA;GACF,aAAA;GACL,QAAA;GACFV,KAAAA;GACAC,KAAAA;GACIC,SAAAA;GACFM,OAAAA;GACQ,eAAAK;GAIN,SAAAG;GAIb,CAAA,CAAM;KAAAV,EAAA,KAAAO,GAAAP,EAAA,KAAAE,GAAAF,EAAA,KAAAY,KAAAA,IAAAZ,EAAA,IAvBNY"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TwapDetailWithTooltip.js","names":["concatClassNamesMaps","DetailWithTooltip","DetailWithTooltipProps","defaultClasses","root","icon","const","TwapDetailWithTooltip","props","$","_c","t0","classes","t1"],"sources":["../../../../src/components/widget/Twap/TwapDetailWithTooltip.tsx"],"sourcesContent":["import { concatClassNamesMaps } from \"@/lib/utils\";\nimport { DetailWithTooltip } from \"../Details/DetailWithTooltip\";\nimport type { DetailWithTooltipProps } from \"../Details/types\";\n\nconst defaultClasses = {\n root: \"text-sm text-contrast-3 dark:text-contrast-7\",\n icon: \"fill-contrast-6 dark:fill-contrast-5\",\n} as const;\n\nexport const TwapDetailWithTooltip = (props: DetailWithTooltipProps) => {\n return (\n <DetailWithTooltip\n {...props}\n classes={concatClassNamesMaps(defaultClasses, props.classes)}\n />\n );\n};\n"],"mappings":";;;;;AAIA,IAAMG,IAAiB;CACrBC,MAAM;CACNC,MAAM;CACP,EAEYE,KAAwBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;
|
|
1
|
+
{"version":3,"file":"TwapDetailWithTooltip.js","names":["concatClassNamesMaps","DetailWithTooltip","DetailWithTooltipProps","defaultClasses","root","icon","const","TwapDetailWithTooltip","props","$","_c","t0","classes","t1"],"sources":["../../../../src/components/widget/Twap/TwapDetailWithTooltip.tsx"],"sourcesContent":["import { concatClassNamesMaps } from \"@/lib/utils\";\nimport { DetailWithTooltip } from \"../Details/DetailWithTooltip\";\nimport type { DetailWithTooltipProps } from \"../Details/types\";\n\nconst defaultClasses = {\n root: \"text-sm text-contrast-3 dark:text-contrast-7\",\n icon: \"fill-contrast-6 dark:fill-contrast-5\",\n} as const;\n\nexport const TwapDetailWithTooltip = (props: DetailWithTooltipProps) => {\n return (\n <DetailWithTooltip\n {...props}\n classes={concatClassNamesMaps(defaultClasses, props.classes)}\n />\n );\n};\n"],"mappings":";;;;;AAIA,IAAMG,IAAiB;CACrBC,MAAM;CACNC,MAAM;CACP,EAEYE,KAAwBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;CAAA,AAAAF,EAAA,OAAAD,EAAAI,UAI6BD,IAAAF,EAAA,MAAnDE,IAAAX,EAAqBG,GAAgBK,EAAKI,QAAS,EAAAH,EAAA,KAAAD,EAAAI,SAAAH,EAAA,KAAAE;CAAA,IAAAE;CAC5D,OAD4DJ,EAAA,OAAAD,KAAAC,EAAA,OAAAE,KAF9DE,IAAA,kBAAC,GAAD;EAAkB,GACZL;EACK,SAAAG;EACT,CAAA,EAAAF,EAAA,KAAAD,GAAAC,EAAA,KAAAE,GAAAF,EAAA,KAAAI,KAAAA,IAAAJ,EAAA,IAHFI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InsufficientBalanceMessage.js","names":["WarningMessage","InsufficientBalanceMessageProps","InsufficientBalanceMessage","React","FC","t0","$","_c","token","shouldDisplay","messageOverride","t1","symbol","address","t2"],"sources":["../../../../src/components/widget/Warning/InsufficientBalanceMessage.tsx"],"sourcesContent":["import { WarningMessage } from \"./WarningMessage\";\nimport type { InsufficientBalanceMessageProps } from \"./types\";\n\nexport const InsufficientBalanceMessage: React.FC<\n InsufficientBalanceMessageProps\n> = ({ token, shouldDisplay, messageOverride }) => {\n return (\n <WarningMessage\n message={\n messageOverride ||\n `Insufficient ${token.symbol || token.address} balance.`\n }\n shouldDisplay={shouldDisplay}\n />\n );\n};\n"],"mappings":";;;;AAGA,IAAaE,KAETG,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAC,UAAAC,kBAAAC,uBAAAL,GAIGM,IAAAD,KAAA,gBACgBF,EAAKI,UAAWJ,EAAKK,QAAQ,YAAWC;
|
|
1
|
+
{"version":3,"file":"InsufficientBalanceMessage.js","names":["WarningMessage","InsufficientBalanceMessageProps","InsufficientBalanceMessage","React","FC","t0","$","_c","token","shouldDisplay","messageOverride","t1","symbol","address","t2"],"sources":["../../../../src/components/widget/Warning/InsufficientBalanceMessage.tsx"],"sourcesContent":["import { WarningMessage } from \"./WarningMessage\";\nimport type { InsufficientBalanceMessageProps } from \"./types\";\n\nexport const InsufficientBalanceMessage: React.FC<\n InsufficientBalanceMessageProps\n> = ({ token, shouldDisplay, messageOverride }) => {\n return (\n <WarningMessage\n message={\n messageOverride ||\n `Insufficient ${token.symbol || token.address} balance.`\n }\n shouldDisplay={shouldDisplay}\n />\n );\n};\n"],"mappings":";;;;AAGA,IAAaE,KAETG,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAC,UAAAC,kBAAAC,uBAAAL,GAIGM,IAAAD,KAAA,gBACgBF,EAAKI,UAAWJ,EAAKK,QAAQ,YAAWC;CAG1D,OAH0DR,EAAA,OAAAG,KAAAH,EAAA,OAAAK,KAH5DG,IAAA,kBAAC,GAAD;EAEI,SAAAH;EAGaF;EACf,CAAA,EAAAH,EAAA,KAAAG,GAAAH,EAAA,KAAAK,GAAAL,EAAA,KAAAQ,KAAAA,IAAAR,EAAA,IANFQ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Warning.js","names":["InfoIcon","WarningProps","cn","WithClasses","rootClassName","Warning","t0","$","_c","message","classes","iconReplacement","t1","root","t2","t3","t4","t5","t6","t7","t8","WarningWithTitle","title","t9"],"sources":["../../../../src/components/widget/Warning/Warning.tsx"],"sourcesContent":["import { InfoIcon } from \"lucide-react\";\nimport type { WarningProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\nimport type { WithClasses } from \"@/types/withClasses\";\n\nconst rootClassName =\n \"p-4 border-1 border-[#F90] rounded-xs bg-[rgba(255,153,0,0.05)] text-secondary-orange-peel-1\";\n\nexport const Warning = ({\n message,\n classes,\n iconReplacement,\n}: WarningProps) => {\n return (\n <div className={cn(rootClassName, classes?.root)}>\n <div className=\"flex items-center gap-2\">\n {iconReplacement || <InfoIcon size={18} />}\n <div className={cn(\"text-xs\", classes?.message)}>{message}</div>\n </div>\n </div>\n );\n};\n\nexport const WarningWithTitle = ({\n title,\n message,\n classes,\n iconReplacement,\n}: {\n message: React.ReactNode;\n title: React.ReactNode;\n iconReplacement?: React.ReactNode;\n} & WithClasses<\"root\" | \"title\">) => {\n return (\n <div\n className={cn(\n rootClassName,\n \"grid grid-cols-[auto_1fr] gap-2\",\n classes?.root\n )}\n >\n {iconReplacement || <InfoIcon size={18} />}\n <div className=\"flex flex-col gap-2\">\n <div className={cn(\"text-sm\", classes?.title)}>{title}</div>\n <div className=\"text-xs\">{message}</div>\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;AAKA,IAAMI,IACJ,gGAEWC,KAAUC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,YAAAC,YAAAC,uBAAAL,GAMcM,IAAAF,GAAOG,MAAMC;
|
|
1
|
+
{"version":3,"file":"Warning.js","names":["InfoIcon","WarningProps","cn","WithClasses","rootClassName","Warning","t0","$","_c","message","classes","iconReplacement","t1","root","t2","t3","t4","t5","t6","t7","t8","WarningWithTitle","title","t9"],"sources":["../../../../src/components/widget/Warning/Warning.tsx"],"sourcesContent":["import { InfoIcon } from \"lucide-react\";\nimport type { WarningProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\nimport type { WithClasses } from \"@/types/withClasses\";\n\nconst rootClassName =\n \"p-4 border-1 border-[#F90] rounded-xs bg-[rgba(255,153,0,0.05)] text-secondary-orange-peel-1\";\n\nexport const Warning = ({\n message,\n classes,\n iconReplacement,\n}: WarningProps) => {\n return (\n <div className={cn(rootClassName, classes?.root)}>\n <div className=\"flex items-center gap-2\">\n {iconReplacement || <InfoIcon size={18} />}\n <div className={cn(\"text-xs\", classes?.message)}>{message}</div>\n </div>\n </div>\n );\n};\n\nexport const WarningWithTitle = ({\n title,\n message,\n classes,\n iconReplacement,\n}: {\n message: React.ReactNode;\n title: React.ReactNode;\n iconReplacement?: React.ReactNode;\n} & WithClasses<\"root\" | \"title\">) => {\n return (\n <div\n className={cn(\n rootClassName,\n \"grid grid-cols-[auto_1fr] gap-2\",\n classes?.root\n )}\n >\n {iconReplacement || <InfoIcon size={18} />}\n <div className=\"flex flex-col gap-2\">\n <div className={cn(\"text-sm\", classes?.title)}>{title}</div>\n <div className=\"text-xs\">{message}</div>\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WarningMessage.js","names":["InfoIcon","WarningMessage","React","FC","message","shouldDisplay","t0","$","_c","t1","Symbol","for","t2"],"sources":["../../../../src/components/widget/Warning/WarningMessage.tsx"],"sourcesContent":["import { InfoIcon } from \"lucide-react\";\n\nexport const WarningMessage: React.FC<{\n message: string;\n shouldDisplay?: boolean;\n}> = ({ shouldDisplay, message }) => {\n if (!shouldDisplay || !message) return null;\n return (\n <div className=\"text-xs text-secondary-orange-peel-1 flex items-center gap-2\">\n <InfoIcon size={14} />\n {message}\n </div>\n );\n};\n"],"mappings":";;;;AAEA,IAAaC,KAGRK,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAH,kBAAAD,eAAAE;
|
|
1
|
+
{"version":3,"file":"WarningMessage.js","names":["InfoIcon","WarningMessage","React","FC","message","shouldDisplay","t0","$","_c","t1","Symbol","for","t2"],"sources":["../../../../src/components/widget/Warning/WarningMessage.tsx"],"sourcesContent":["import { InfoIcon } from \"lucide-react\";\n\nexport const WarningMessage: React.FC<{\n message: string;\n shouldDisplay?: boolean;\n}> = ({ shouldDisplay, message }) => {\n if (!shouldDisplay || !message) return null;\n return (\n <div className=\"text-xs text-secondary-orange-peel-1 flex items-center gap-2\">\n <InfoIcon size={14} />\n {message}\n </div>\n );\n};\n"],"mappings":";;;;AAEA,IAAaC,KAGRK,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAH,kBAAAD,eAAAE;CACJ,IAAI,CAACD,KAAD,CAAmBD,GAAO,OAAS;CAAK,IAAAK;CAAA,AAAAF,EAAA,OAAAG,OAAAC,IAAA,4BAAA,IAGxCF,IAAA,kBAAC,GAAD,EAAgB,MAAA,IAAM,CAAA,EAAAF,EAAA,KAAAE,KAAAA,IAAAF,EAAA;CAAA,IAAAK;CAElB,OAFkBL,EAAA,OAAAH,IAElBQ,IAAAL,EAAA,MAHNK,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACEH,GACCL,EACG;KAAAG,EAAA,KAAAH,GAAAG,EAAA,KAAAK,IAHNA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WrapEthContent.js","names":["ReactComponent","WethSVG","WrapEthProps","useCurrentChainConfig","Button","WithClasses","cn","toDecimalTrimmed","Loader2","useSubmitDepositTxMutation","TransactionReceipt","WrapEthContent","t0","$","_c","onSuccess","onDismiss","ethAmountUnit","ethAmountWei","isLoading","canWrap","classes","tradeMode","name","nativeCurrency","t1","amount","mutate","isPending","t2","amountToDisplay","t3","root","t4","t5","Symbol","for","t6","symbol","t7","t8","t9","t10","t11","t12","t13"],"sources":["../../../../src/components/widget/WrapEth/WrapEthContent.tsx"],"sourcesContent":["import { ReactComponent as WethSVG } from \"@/assets/weth.svg\";\nimport type { WrapEthProps } from \"./hooks/types\";\nimport { useCurrentChainConfig } from \"@/hooks/useCurrentChain\";\nimport { Button } from \"@/components/ui/button\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport { cn } from \"@/lib/utils\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { Loader2 } from \"lucide-react\";\nimport { useSubmitDepositTxMutation } from \"./hooks/useSubmitDepositTxMutation\";\nimport type { TransactionReceipt } from \"viem\";\n\nexport const WrapEthContent = ({\n onSuccess,\n onDismiss,\n ethAmountUnit,\n ethAmountWei,\n isLoading,\n canWrap,\n classes,\n tradeMode,\n}: {\n onSuccess?: (txReceipt: TransactionReceipt) => void;\n onDismiss?: () => void;\n} & WrapEthProps &\n WithClasses<\"root\">) => {\n const { name, nativeCurrency } = useCurrentChainConfig();\n\n const { mutate, isPending } = useSubmitDepositTxMutation({\n amount: ethAmountWei,\n onSuccess,\n tradeMode,\n });\n\n const amountToDisplay = toDecimalTrimmed(ethAmountUnit);\n\n return (\n <div\n className={cn(\"flex flex-col items-center justify-center\", classes?.root)}\n >\n <WethSVG className=\"mb-8\" />\n <div className=\"max-w-[336px] text-center text-sm dark:text-contrast-7 flex flex-col gap-4\">\n You need to wrap {amountToDisplay} {nativeCurrency.symbol} and use it as\n W{nativeCurrency.symbol} in the Delta swap order. It's a technical\n requirement on {name} network.\n <a\n className=\"text-primary-azul-1\"\n href=\"#\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Read more about Wrapped {nativeCurrency.symbol}\n </a>\n </div>\n <Button\n className=\"w-full mt-12 h-[40px] text-md\"\n radius=\"sm\"\n disabled={!canWrap || isPending || isLoading}\n onClick={() => mutate()}\n >\n {isPending && <Loader2 className=\"mr-2 h-4 w-4 animate-spin\" />}\n Wrap {amountToDisplay} {nativeCurrency.symbol}\n </Button>\n <Button\n className=\"w-full mt-4 h-[40px] text-md\"\n variant=\"secondary\"\n radius=\"sm\"\n onClick={onDismiss}\n >\n Dismiss\n </Button>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;;AAWA,IAAaW,KAAiBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,cAAAC,cAAAC,kBAAAC,iBAAAC,cAAAC,YAAAC,YAAAC,iBAAAV,GAc7B,EAAAW,SAAAC,sBAAiCrB,GAAuB,EAACsB;
|
|
1
|
+
{"version":3,"file":"WrapEthContent.js","names":["ReactComponent","WethSVG","WrapEthProps","useCurrentChainConfig","Button","WithClasses","cn","toDecimalTrimmed","Loader2","useSubmitDepositTxMutation","TransactionReceipt","WrapEthContent","t0","$","_c","onSuccess","onDismiss","ethAmountUnit","ethAmountWei","isLoading","canWrap","classes","tradeMode","name","nativeCurrency","t1","amount","mutate","isPending","t2","amountToDisplay","t3","root","t4","t5","Symbol","for","t6","symbol","t7","t8","t9","t10","t11","t12","t13"],"sources":["../../../../src/components/widget/WrapEth/WrapEthContent.tsx"],"sourcesContent":["import { ReactComponent as WethSVG } from \"@/assets/weth.svg\";\nimport type { WrapEthProps } from \"./hooks/types\";\nimport { useCurrentChainConfig } from \"@/hooks/useCurrentChain\";\nimport { Button } from \"@/components/ui/button\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport { cn } from \"@/lib/utils\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { Loader2 } from \"lucide-react\";\nimport { useSubmitDepositTxMutation } from \"./hooks/useSubmitDepositTxMutation\";\nimport type { TransactionReceipt } from \"viem\";\n\nexport const WrapEthContent = ({\n onSuccess,\n onDismiss,\n ethAmountUnit,\n ethAmountWei,\n isLoading,\n canWrap,\n classes,\n tradeMode,\n}: {\n onSuccess?: (txReceipt: TransactionReceipt) => void;\n onDismiss?: () => void;\n} & WrapEthProps &\n WithClasses<\"root\">) => {\n const { name, nativeCurrency } = useCurrentChainConfig();\n\n const { mutate, isPending } = useSubmitDepositTxMutation({\n amount: ethAmountWei,\n onSuccess,\n tradeMode,\n });\n\n const amountToDisplay = toDecimalTrimmed(ethAmountUnit);\n\n return (\n <div\n className={cn(\"flex flex-col items-center justify-center\", classes?.root)}\n >\n <WethSVG className=\"mb-8\" />\n <div className=\"max-w-[336px] text-center text-sm dark:text-contrast-7 flex flex-col gap-4\">\n You need to wrap {amountToDisplay} {nativeCurrency.symbol} and use it as\n W{nativeCurrency.symbol} in the Delta swap order. It's a technical\n requirement on {name} network.\n <a\n className=\"text-primary-azul-1\"\n href=\"#\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Read more about Wrapped {nativeCurrency.symbol}\n </a>\n </div>\n <Button\n className=\"w-full mt-12 h-[40px] text-md\"\n radius=\"sm\"\n disabled={!canWrap || isPending || isLoading}\n onClick={() => mutate()}\n >\n {isPending && <Loader2 className=\"mr-2 h-4 w-4 animate-spin\" />}\n Wrap {amountToDisplay} {nativeCurrency.symbol}\n </Button>\n <Button\n className=\"w-full mt-4 h-[40px] text-md\"\n variant=\"secondary\"\n radius=\"sm\"\n onClick={onDismiss}\n >\n Dismiss\n </Button>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WrapEthDrawerButton.js","names":["Button","ControlledDrawer","useDrawerControls","WrapEthContent","WrapEthProps","useCurrentChainConfig","cn","useWidgetEvents","wrappedNativeCurrency","WrapEthDrawerButton","t0","$","_c","drawerContainer","wrapEthProps","labelOverride","buttonProps","t1","Symbol","for","drawerId","t2","drawerProps","onOpen","nativeCurrency","id","chainId","label","symbol","onWrapETH","t3","ethAmountWei","tradeMode","event","name","params","BigInt","wethAddress","onClick","t4","root","t5","txReceipt","onSuccess","onClose","t6","t7","drawer","T0","t8","t9","t10","className","t11","canWrap","disabled","t12","t13","t14"],"sources":["../../../../src/components/widget/WrapEth/WrapEthDrawerButton.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport { ControlledDrawer } from \"../Drawer\";\nimport { useDrawerControls } from \"../Drawer/state/useDrawerControls\";\nimport { WrapEthContent } from \"./WrapEthContent\";\nimport type { WrapEthProps } from \"./hooks/types\";\nimport { useCurrentChainConfig } from \"@/hooks/useCurrentChain\";\nimport { cn } from \"@/lib/utils\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\n\nexport const WrapEthDrawerButton = ({\n drawerContainer,\n wrapEthProps,\n labelOverride,\n ...buttonProps\n}: Omit<React.ComponentProps<typeof Button>, \"onClick\"> & {\n drawerContainer?: HTMLDivElement | null;\n wrapEthProps: WrapEthProps;\n labelOverride?: string;\n}) => {\n const { onOpen, ...drawerProps } = useDrawerControls({\n drawerId: \"wrap-eth-drawer\",\n });\n const { nativeCurrency, id: chainId } = useCurrentChainConfig();\n\n const label = `Wrap ${nativeCurrency.symbol}`;\n\n const { onWrapETH } = useWidgetEvents();\n\n const onClick = () => {\n onOpen();\n\n if (wrapEthProps.ethAmountWei) {\n onWrapETH?.({\n event: {\n name: \"WrapETH:click\",\n params: {\n ethAmountWei: BigInt(wrapEthProps.ethAmountWei),\n wethAddress: wrappedNativeCurrency[chainId],\n chainId,\n tradeMode: wrapEthProps.tradeMode,\n },\n },\n });\n }\n };\n\n const drawer = (\n <ControlledDrawer\n {...drawerProps}\n title={label}\n showCloseButton\n container={drawerContainer}\n >\n <WrapEthContent\n classes={{ root: \"p-6 pb-8\" }}\n {...wrapEthProps}\n onSuccess={(txReceipt) => {\n wrapEthProps.onSuccess?.(txReceipt);\n drawerProps.onClose();\n }}\n onDismiss={drawerProps.onClose}\n />\n </ControlledDrawer>\n );\n\n return (\n <>\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={!wrapEthProps.canWrap || buttonProps.disabled}\n >\n {labelOverride || label}\n </Button>\n {drawer}\n </>\n );\n};\n"],"mappings":";;;;;;;;;;;AAUA,IAAaS,KAAsBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,oBAAAC,iBAAAC,kBAAA,GAAAC,MAAAN,GASnCO;
|
|
1
|
+
{"version":3,"file":"WrapEthDrawerButton.js","names":["Button","ControlledDrawer","useDrawerControls","WrapEthContent","WrapEthProps","useCurrentChainConfig","cn","useWidgetEvents","wrappedNativeCurrency","WrapEthDrawerButton","t0","$","_c","drawerContainer","wrapEthProps","labelOverride","buttonProps","t1","Symbol","for","drawerId","t2","drawerProps","onOpen","nativeCurrency","id","chainId","label","symbol","onWrapETH","t3","ethAmountWei","tradeMode","event","name","params","BigInt","wethAddress","onClick","t4","root","t5","txReceipt","onSuccess","onClose","t6","t7","drawer","T0","t8","t9","t10","className","t11","canWrap","disabled","t12","t13","t14"],"sources":["../../../../src/components/widget/WrapEth/WrapEthDrawerButton.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport { ControlledDrawer } from \"../Drawer\";\nimport { useDrawerControls } from \"../Drawer/state/useDrawerControls\";\nimport { WrapEthContent } from \"./WrapEthContent\";\nimport type { WrapEthProps } from \"./hooks/types\";\nimport { useCurrentChainConfig } from \"@/hooks/useCurrentChain\";\nimport { cn } from \"@/lib/utils\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\n\nexport const WrapEthDrawerButton = ({\n drawerContainer,\n wrapEthProps,\n labelOverride,\n ...buttonProps\n}: Omit<React.ComponentProps<typeof Button>, \"onClick\"> & {\n drawerContainer?: HTMLDivElement | null;\n wrapEthProps: WrapEthProps;\n labelOverride?: string;\n}) => {\n const { onOpen, ...drawerProps } = useDrawerControls({\n drawerId: \"wrap-eth-drawer\",\n });\n const { nativeCurrency, id: chainId } = useCurrentChainConfig();\n\n const label = `Wrap ${nativeCurrency.symbol}`;\n\n const { onWrapETH } = useWidgetEvents();\n\n const onClick = () => {\n onOpen();\n\n if (wrapEthProps.ethAmountWei) {\n onWrapETH?.({\n event: {\n name: \"WrapETH:click\",\n params: {\n ethAmountWei: BigInt(wrapEthProps.ethAmountWei),\n wethAddress: wrappedNativeCurrency[chainId],\n chainId,\n tradeMode: wrapEthProps.tradeMode,\n },\n },\n });\n }\n };\n\n const drawer = (\n <ControlledDrawer\n {...drawerProps}\n title={label}\n showCloseButton\n container={drawerContainer}\n >\n <WrapEthContent\n classes={{ root: \"p-6 pb-8\" }}\n {...wrapEthProps}\n onSuccess={(txReceipt) => {\n wrapEthProps.onSuccess?.(txReceipt);\n drawerProps.onClose();\n }}\n onDismiss={drawerProps.onClose}\n />\n </ControlledDrawer>\n );\n\n return (\n <>\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={onClick}\n disabled={!wrapEthProps.canWrap || buttonProps.disabled}\n >\n {labelOverride || label}\n </Button>\n {drawer}\n </>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSubmitDepositTxMutation.js","names":["useDepositWeth","useEnsureTxReceipt","handleTxSent","useLogger","useMutation","UseMutationResult","TransactionReceipt","useChainId","TradeMode","useWidgetEvents","assert","wrappedNativeCurrency","WETH_DEPOSIT_MUTATION_KEY","useSubmitDepositTxMutation","amount","onSuccess","_onSuccess","onError","_onError","tradeMode","txReceipt","error","Error","chainId","logger","depositAsync","ensureTxReceipt","onWrapETH","submitDepositTx","ethAmountWei","BigInt","wethAddress","event","name","params","depositTxHash","txHash","depositTxReceiptPromise","hash","onReplaced","data","log","transactionHash","action","receiptPromise","transactionSpecificData","wrappedAmount","depositTxReceipt","mutationFn","mutationKey"],"sources":["../../../../../src/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.ts"],"sourcesContent":["import { useDepositWeth } from \"@/hooks/txs/mutations/useDepositWeth\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { handleTxSent } from \"@/lib/utils/transactionHandlers\";\nimport { useLogger } from \"@/core/logger\";\nimport { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport type { TransactionReceipt } from \"viem\";\nimport { useChainId } from \"wagmi\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport { assert } from \"ts-essentials\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\n\nconst WETH_DEPOSIT_MUTATION_KEY = \"wethDeposit\";\n\nexport function useSubmitDepositTxMutation({\n amount,\n onSuccess: _onSuccess,\n onError: _onError,\n tradeMode,\n}: {\n amount?: string;\n onSuccess?: (txReceipt: TransactionReceipt) => void;\n onError?: (error: Error) => void;\n tradeMode: TradeMode;\n}): UseMutationResult<TransactionReceipt, Error, void, void> {\n const chainId = useChainId();\n const logger = useLogger(\"SubmitDepositTxMutation\");\n\n const { depositAsync } = useDepositWeth({\n amount,\n });\n\n const ensureTxReceipt = useEnsureTxReceipt();\n\n const { onWrapETH } = useWidgetEvents();\n\n const submitDepositTx = async () => {\n assert(amount, \"amount is required for deposit\");\n const ethAmountWei = BigInt(amount);\n const wethAddress = wrappedNativeCurrency[chainId];\n\n onWrapETH?.({\n event: {\n name: \"WrapETH:request\",\n params: {\n ethAmountWei,\n wethAddress,\n chainId,\n tradeMode,\n },\n },\n });\n\n try {\n const depositTxHash = await depositAsync();\n\n onWrapETH?.({\n event: {\n name: \"WrapETH:sent\",\n params: {\n ethAmountWei,\n wethAddress,\n chainId,\n tradeMode,\n txHash: depositTxHash,\n },\n },\n });\n\n const depositTxReceiptPromise = ensureTxReceipt({\n hash: depositTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:depositTx\", depositTxHash, data);\n },\n });\n\n handleTxSent({\n chainId,\n transactionHash: depositTxHash,\n action: \"wrapETH\",\n receiptPromise: depositTxReceiptPromise,\n transactionSpecificData: {\n action: \"wrapETH\",\n wrappedAmount: ethAmountWei,\n },\n });\n\n const depositTxReceipt = await depositTxReceiptPromise;\n\n onWrapETH?.({\n event: {\n name: \"WrapETH:confirmed\",\n params: {\n ethAmountWei,\n wethAddress,\n txHash: depositTxHash,\n txReceipt: depositTxReceipt,\n chainId,\n tradeMode,\n },\n },\n });\n\n logger.log(\"~ depositTx ~ receipt:\", depositTxReceipt);\n\n return depositTxReceipt;\n } catch (error) {\n logger.error(\"WrapETH:failed\", error);\n onWrapETH?.({\n event: {\n name: \"WrapETH:failed\",\n params: {\n ethAmountWei,\n wethAddress,\n chainId,\n tradeMode,\n error: error as Error,\n },\n },\n });\n throw error;\n }\n };\n\n return useMutation<TransactionReceipt, Error, void, void>({\n mutationFn: submitDepositTx,\n mutationKey: [WETH_DEPOSIT_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Deposit tx success\", data);\n _onSuccess?.(data);\n },\n onError: (error) => {\n logger.error(\"Deposit tx error\", error);\n _onError?.(error);\n },\n });\n}\n"],"mappings":";;;;;;;;;;AAYA,IAAMY,IAA4B;AAElC,SAAgBC,EAA2B,EACzCC,WACAC,WAAWC,GACXC,SAASC,GACTC,gBAM2D;CAC3D,IAAMI,IAAUhB,GAAY,EACtBiB,IAASrB,EAAU,0BAA0B,EAE7C,EAAEsB,oBAAiBzB,EAAe,EACtCc,WACD,CAAC,EAEIY,IAAkBzB,GAAoB,EAEtC,EAAE0B,iBAAclB,GAAiB;
|
|
1
|
+
{"version":3,"file":"useSubmitDepositTxMutation.js","names":["useDepositWeth","useEnsureTxReceipt","handleTxSent","useLogger","useMutation","UseMutationResult","TransactionReceipt","useChainId","TradeMode","useWidgetEvents","assert","wrappedNativeCurrency","WETH_DEPOSIT_MUTATION_KEY","useSubmitDepositTxMutation","amount","onSuccess","_onSuccess","onError","_onError","tradeMode","txReceipt","error","Error","chainId","logger","depositAsync","ensureTxReceipt","onWrapETH","submitDepositTx","ethAmountWei","BigInt","wethAddress","event","name","params","depositTxHash","txHash","depositTxReceiptPromise","hash","onReplaced","data","log","transactionHash","action","receiptPromise","transactionSpecificData","wrappedAmount","depositTxReceipt","mutationFn","mutationKey"],"sources":["../../../../../src/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.ts"],"sourcesContent":["import { useDepositWeth } from \"@/hooks/txs/mutations/useDepositWeth\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { handleTxSent } from \"@/lib/utils/transactionHandlers\";\nimport { useLogger } from \"@/core/logger\";\nimport { useMutation, type UseMutationResult } from \"@tanstack/react-query\";\nimport type { TransactionReceipt } from \"viem\";\nimport { useChainId } from \"wagmi\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport { assert } from \"ts-essentials\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\n\nconst WETH_DEPOSIT_MUTATION_KEY = \"wethDeposit\";\n\nexport function useSubmitDepositTxMutation({\n amount,\n onSuccess: _onSuccess,\n onError: _onError,\n tradeMode,\n}: {\n amount?: string;\n onSuccess?: (txReceipt: TransactionReceipt) => void;\n onError?: (error: Error) => void;\n tradeMode: TradeMode;\n}): UseMutationResult<TransactionReceipt, Error, void, void> {\n const chainId = useChainId();\n const logger = useLogger(\"SubmitDepositTxMutation\");\n\n const { depositAsync } = useDepositWeth({\n amount,\n });\n\n const ensureTxReceipt = useEnsureTxReceipt();\n\n const { onWrapETH } = useWidgetEvents();\n\n const submitDepositTx = async () => {\n assert(amount, \"amount is required for deposit\");\n const ethAmountWei = BigInt(amount);\n const wethAddress = wrappedNativeCurrency[chainId];\n\n onWrapETH?.({\n event: {\n name: \"WrapETH:request\",\n params: {\n ethAmountWei,\n wethAddress,\n chainId,\n tradeMode,\n },\n },\n });\n\n try {\n const depositTxHash = await depositAsync();\n\n onWrapETH?.({\n event: {\n name: \"WrapETH:sent\",\n params: {\n ethAmountWei,\n wethAddress,\n chainId,\n tradeMode,\n txHash: depositTxHash,\n },\n },\n });\n\n const depositTxReceiptPromise = ensureTxReceipt({\n hash: depositTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:depositTx\", depositTxHash, data);\n },\n });\n\n handleTxSent({\n chainId,\n transactionHash: depositTxHash,\n action: \"wrapETH\",\n receiptPromise: depositTxReceiptPromise,\n transactionSpecificData: {\n action: \"wrapETH\",\n wrappedAmount: ethAmountWei,\n },\n });\n\n const depositTxReceipt = await depositTxReceiptPromise;\n\n onWrapETH?.({\n event: {\n name: \"WrapETH:confirmed\",\n params: {\n ethAmountWei,\n wethAddress,\n txHash: depositTxHash,\n txReceipt: depositTxReceipt,\n chainId,\n tradeMode,\n },\n },\n });\n\n logger.log(\"~ depositTx ~ receipt:\", depositTxReceipt);\n\n return depositTxReceipt;\n } catch (error) {\n logger.error(\"WrapETH:failed\", error);\n onWrapETH?.({\n event: {\n name: \"WrapETH:failed\",\n params: {\n ethAmountWei,\n wethAddress,\n chainId,\n tradeMode,\n error: error as Error,\n },\n },\n });\n throw error;\n }\n };\n\n return useMutation<TransactionReceipt, Error, void, void>({\n mutationFn: submitDepositTx,\n mutationKey: [WETH_DEPOSIT_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Deposit tx success\", data);\n _onSuccess?.(data);\n },\n onError: (error) => {\n logger.error(\"Deposit tx error\", error);\n _onError?.(error);\n },\n });\n}\n"],"mappings":";;;;;;;;;;AAYA,IAAMY,IAA4B;AAElC,SAAgBC,EAA2B,EACzCC,WACAC,WAAWC,GACXC,SAASC,GACTC,gBAM2D;CAC3D,IAAMI,IAAUhB,GAAY,EACtBiB,IAASrB,EAAU,0BAA0B,EAE7C,EAAEsB,oBAAiBzB,EAAe,EACtCc,WACD,CAAC,EAEIY,IAAkBzB,GAAoB,EAEtC,EAAE0B,iBAAclB,GAAiB;CA2FvC,OAAOL,EAAmD;EACxD4C,YAAYpB,YA1FsB;GAClClB,EAAOI,GAAQ,iCAAiC;GAChD,IAAMe,IAAeC,OAAOhB,EAAO,EAC7BiB,IAAcpB,EAAsBY;GAE1CI,IAAY,EACVK,OAAO;IACLC,MAAM;IACNC,QAAQ;KACNL;KACAE;KACAR;KACAJ;KACF;IACF,EACD,CAAC;GAEF,IAAI;IACF,IAAMgB,IAAgB,MAAMV,GAAc;IAE1CE,IAAY,EACVK,OAAO;KACLC,MAAM;KACNC,QAAQ;MACNL;MACAE;MACAR;MACAJ;MACAiB,QAAQD;MACV;KACF,EACD,CAAC;IAEF,IAAME,IAA0BX,EAAgB;KAC9CY,MAAMH;KACNZ;KACAgB,aAAaC,MAAS;MACpBhB,EAAOiB,IAAI,wBAAwBN,GAAeK,EAAK;;KAE1D,CAAC;IAEFtC,EAAa;KACXqB;KACAmB,iBAAiBP;KACjBQ,QAAQ;KACRC,gBAAgBP;KAChBQ,yBAAyB;MACvBF,QAAQ;MACRG,eAAejB;MACjB;KACD,CAAC;IAEF,IAAMkB,IAAmB,MAAMV;IAkB/B,OAhBAV,IAAY,EACVK,OAAO;KACLC,MAAM;KACNC,QAAQ;MACNL;MACAE;MACAK,QAAQD;MACRf,WAAW2B;MACXxB;MACAJ;MACF;KACF,EACD,CAAC,EAEFK,EAAOiB,IAAI,0BAA0BM,EAAiB,EAE/CA;YACA1B,GAAO;IAcd,MAbAG,EAAOH,MAAM,kBAAkBA,EAAM,EACrCM,IAAY,EACVK,OAAO;KACLC,MAAM;KACNC,QAAQ;MACNL;MACAE;MACAR;MACAJ;MACOE;MACT;KACF,EACD,CAAC,EACIA;;;EAMR4B,aAAa,CAACrC,EAA0B;EACxCG,YAAYyB,MAAS;GAEnBxB,AADAQ,EAAOiB,IAAI,sBAAsBD,EAAK,EACtCxB,IAAawB,EAAK;;EAEpBvB,UAAUI,MAAU;GAElBH,AADAM,EAAOH,MAAM,oBAAoBA,EAAM,EACvCH,IAAWG,EAAM;;EAEpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWrapEthProps.js","names":["isETH","useWidgetTokens","useAtomValue","useSetAtom","WrapEthProps","useAccount","useChainId","useNativeBalance","MEDIUM_STALE_TIME_FOR_REACTIVENESS","otcPayInputAmountAtom","otcPayInputAmountWeiAtom","selectOtcTokenFromAtom","CHAINS_WITH_OTC","useWrappedNativeToken","useCanBatchTxs","useRequiredAllowanceForOrders","useGenericTokenAllowanceMin","useOtcWrapEthProps","$","_c","chainId","address","account","tokenFrom","tokenTo","t0","tokenFromIsETH","t1","queryOptions","enabled","refetchInterval","data","balance","isLoading","payInputAmount","payInputAmountWei","forCurrentChain","canBatchTxs","canPossiblyBatchWrapAndApprove","wrappedNativeToken","network","t2","tokenAddress","increaseByAmount","spenderContractType","includeCurrentOrdersAllowance","combinedAllowance","srcCombinedAllowance","t3","amountToApproveInWei","allowance","canBatchWrapAndApprove","needsApproval","t4","Number","includes","shouldWrap","canWrap","value","BigInt","t5","ethAmountWei","ethAmountUnit","undefined","amounts","setTokenFrom","t6","onSuccess","t7","tradeMode"],"sources":["../../../../../src/components/widget/WrapEth/hooks/useWrapEthProps.ts"],"sourcesContent":["import { isETH } from \"@/tokens/utils/eth\";\nimport { useWidgetTokens } from \"@/core/inputs/state/common\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport type { WrapEthProps } from \"./types\";\nimport { useAccount, useChainId } from \"wagmi\";\nimport { useNativeBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\n\nimport {\n otcPayInputAmountAtom,\n otcPayInputAmountWeiAtom,\n} from \"@/core/otc/state/otcInputAmountAtom\";\nimport { selectOtcTokenFromAtom } from \"@/core/otc/state/selectedTokenActionsAtom\";\nimport { CHAINS_WITH_OTC } from \"@/lib/constants/otc\";\nimport { useWrappedNativeToken } from \"@/hooks/tokens/useNativeToken\";\nimport { useCanBatchTxs } from \"@/hooks/batch/useCanBatchTxs\";\nimport { useRequiredAllowanceForOrders } from \"@/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders\";\nimport { useGenericTokenAllowanceMin } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\n\nexport function useOtcWrapEthProps(): WrapEthProps {\n const chainId = useChainId();\n const { address: account } = useAccount();\n const { tokenFrom, tokenTo } = useWidgetTokens(\"otc\");\n\n const tokenFromIsETH = isETH(tokenFrom);\n\n const { data: balance, isLoading } = useNativeBalance({\n queryOptions: {\n enabled: tokenFromIsETH,\n refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n const payInputAmount = useAtomValue(otcPayInputAmountAtom);\n const payInputAmountWei = useAtomValue(otcPayInputAmountWeiAtom);\n\n /**\n * In case the wallet connected is capable of batching txs,\n * and srcToken=ETH (so we will need to wrap it first),\n * and current allowance for AugustusRFQ for WETH is not enough to cover all OTC Orders plus current srcTokenAmount,\n * we can try to batch wrap ETH + approve WETH.\n * After batched tx is mined, we will proceed with signing the OTC order as usual.\n */\n\n const { forCurrentChain: canBatchTxs } = useCanBatchTxs();\n\n // srcToken=ETH, valid tokenTo is selected and wallet can batch txs\n const canPossiblyBatchWrapAndApprove =\n canBatchTxs && tokenFromIsETH && !!tokenTo;\n // makes sense to check allowance for AugustusRFQ for WETH\n\n const wrappedNativeToken = useWrappedNativeToken(tokenFrom.network);\n\n const spenderContractType = \"AugustusRFQ\"; // for OTC orders need to approve AugustusRFQ\n\n const { combinedAllowance: srcCombinedAllowance } =\n useRequiredAllowanceForOrders({\n // allowance for WETH\n tokenAddress: wrappedNativeToken.address,\n increaseByAmount: payInputAmountWei,\n spenderContractType,\n includeCurrentOrdersAllowance: canPossiblyBatchWrapAndApprove,\n });\n\n const allowance = useGenericTokenAllowanceMin({\n tokenAddress: wrappedNativeToken.address,\n amountToApproveInWei: srcCombinedAllowance,\n spenderContractType,\n chainId,\n });\n\n const canBatchWrapAndApprove =\n canPossiblyBatchWrapAndApprove && allowance.needsApproval;\n\n const shouldWrap =\n // pay amount entered\n Number(payInputAmountWei) > 0 &&\n // account connected\n !!account &&\n // otc available on selected chain\n CHAINS_WITH_OTC.includes(chainId) &&\n // tokenFrom is ETH\n tokenFromIsETH &&\n // tokenTo is selected\n !!tokenTo &&\n // if we can batch wrap and approve, we don't need to wrap ETH as a separate step\n !canBatchWrapAndApprove;\n // @TODO maybe also add check for takerAsset !== ETH\n\n const canWrap =\n shouldWrap && !!balance?.value && balance.value > BigInt(payInputAmountWei);\n\n const amounts = tokenFromIsETH\n ? { ethAmountWei: payInputAmountWei, ethAmountUnit: payInputAmount }\n : undefined;\n\n const setTokenFrom = useSetAtom(selectOtcTokenFromAtom);\n\n const onSuccess = () => {\n setTokenFrom(wrappedNativeToken);\n };\n\n return {\n shouldWrap,\n canWrap,\n isLoading,\n ...amounts,\n onSuccess,\n tradeMode: \"otc\",\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;AAmBA,SAAOiB,IAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EACLC,IAAgBd,GAAY,EAC5B,EAAAe,SAAAC,MAA6BjB,GAAY,EACzC,EAAAkB,cAAAC,eAA+BvB,EAAgB,MAAM,EAACwB;
|
|
1
|
+
{"version":3,"file":"useWrapEthProps.js","names":["isETH","useWidgetTokens","useAtomValue","useSetAtom","WrapEthProps","useAccount","useChainId","useNativeBalance","MEDIUM_STALE_TIME_FOR_REACTIVENESS","otcPayInputAmountAtom","otcPayInputAmountWeiAtom","selectOtcTokenFromAtom","CHAINS_WITH_OTC","useWrappedNativeToken","useCanBatchTxs","useRequiredAllowanceForOrders","useGenericTokenAllowanceMin","useOtcWrapEthProps","$","_c","chainId","address","account","tokenFrom","tokenTo","t0","tokenFromIsETH","t1","queryOptions","enabled","refetchInterval","data","balance","isLoading","payInputAmount","payInputAmountWei","forCurrentChain","canBatchTxs","canPossiblyBatchWrapAndApprove","wrappedNativeToken","network","t2","tokenAddress","increaseByAmount","spenderContractType","includeCurrentOrdersAllowance","combinedAllowance","srcCombinedAllowance","t3","amountToApproveInWei","allowance","canBatchWrapAndApprove","needsApproval","t4","Number","includes","shouldWrap","canWrap","value","BigInt","t5","ethAmountWei","ethAmountUnit","undefined","amounts","setTokenFrom","t6","onSuccess","t7","tradeMode"],"sources":["../../../../../src/components/widget/WrapEth/hooks/useWrapEthProps.ts"],"sourcesContent":["import { isETH } from \"@/tokens/utils/eth\";\nimport { useWidgetTokens } from \"@/core/inputs/state/common\";\nimport { useAtomValue, useSetAtom } from \"@/core/store\";\nimport type { WrapEthProps } from \"./types\";\nimport { useAccount, useChainId } from \"wagmi\";\nimport { useNativeBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\n\nimport {\n otcPayInputAmountAtom,\n otcPayInputAmountWeiAtom,\n} from \"@/core/otc/state/otcInputAmountAtom\";\nimport { selectOtcTokenFromAtom } from \"@/core/otc/state/selectedTokenActionsAtom\";\nimport { CHAINS_WITH_OTC } from \"@/lib/constants/otc\";\nimport { useWrappedNativeToken } from \"@/hooks/tokens/useNativeToken\";\nimport { useCanBatchTxs } from \"@/hooks/batch/useCanBatchTxs\";\nimport { useRequiredAllowanceForOrders } from \"@/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders\";\nimport { useGenericTokenAllowanceMin } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\n\nexport function useOtcWrapEthProps(): WrapEthProps {\n const chainId = useChainId();\n const { address: account } = useAccount();\n const { tokenFrom, tokenTo } = useWidgetTokens(\"otc\");\n\n const tokenFromIsETH = isETH(tokenFrom);\n\n const { data: balance, isLoading } = useNativeBalance({\n queryOptions: {\n enabled: tokenFromIsETH,\n refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS,\n },\n });\n const payInputAmount = useAtomValue(otcPayInputAmountAtom);\n const payInputAmountWei = useAtomValue(otcPayInputAmountWeiAtom);\n\n /**\n * In case the wallet connected is capable of batching txs,\n * and srcToken=ETH (so we will need to wrap it first),\n * and current allowance for AugustusRFQ for WETH is not enough to cover all OTC Orders plus current srcTokenAmount,\n * we can try to batch wrap ETH + approve WETH.\n * After batched tx is mined, we will proceed with signing the OTC order as usual.\n */\n\n const { forCurrentChain: canBatchTxs } = useCanBatchTxs();\n\n // srcToken=ETH, valid tokenTo is selected and wallet can batch txs\n const canPossiblyBatchWrapAndApprove =\n canBatchTxs && tokenFromIsETH && !!tokenTo;\n // makes sense to check allowance for AugustusRFQ for WETH\n\n const wrappedNativeToken = useWrappedNativeToken(tokenFrom.network);\n\n const spenderContractType = \"AugustusRFQ\"; // for OTC orders need to approve AugustusRFQ\n\n const { combinedAllowance: srcCombinedAllowance } =\n useRequiredAllowanceForOrders({\n // allowance for WETH\n tokenAddress: wrappedNativeToken.address,\n increaseByAmount: payInputAmountWei,\n spenderContractType,\n includeCurrentOrdersAllowance: canPossiblyBatchWrapAndApprove,\n });\n\n const allowance = useGenericTokenAllowanceMin({\n tokenAddress: wrappedNativeToken.address,\n amountToApproveInWei: srcCombinedAllowance,\n spenderContractType,\n chainId,\n });\n\n const canBatchWrapAndApprove =\n canPossiblyBatchWrapAndApprove && allowance.needsApproval;\n\n const shouldWrap =\n // pay amount entered\n Number(payInputAmountWei) > 0 &&\n // account connected\n !!account &&\n // otc available on selected chain\n CHAINS_WITH_OTC.includes(chainId) &&\n // tokenFrom is ETH\n tokenFromIsETH &&\n // tokenTo is selected\n !!tokenTo &&\n // if we can batch wrap and approve, we don't need to wrap ETH as a separate step\n !canBatchWrapAndApprove;\n // @TODO maybe also add check for takerAsset !== ETH\n\n const canWrap =\n shouldWrap && !!balance?.value && balance.value > BigInt(payInputAmountWei);\n\n const amounts = tokenFromIsETH\n ? { ethAmountWei: payInputAmountWei, ethAmountUnit: payInputAmount }\n : undefined;\n\n const setTokenFrom = useSetAtom(selectOtcTokenFromAtom);\n\n const onSuccess = () => {\n setTokenFrom(wrappedNativeToken);\n };\n\n return {\n shouldWrap,\n canWrap,\n isLoading,\n ...amounts,\n onSuccess,\n tradeMode: \"otc\",\n };\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YouGet.js","names":["DetailWithTooltip","TokenBadge","YouGetProps","formatUnits","toDecimalTrimmed","Line","formatFiatPrice","DeepNonNullable","deltaTooltipDesc","crosschainBuyTooltipDesc","tooltipText","delta","crosschainBuy","const","isNonNullableFeeDetail","fee","label","value","getFormattedFeeToDisplay","formattedFee","Number","YouGet","React","FC","t0","$","_c","token","amountWei","swapFeesUSD","networkCostUSD","bridgeFeesUSD","tooltipVariant","t1","decimals","amountUnit","BigInt","formattedAmountUnit","t2","filter","fees","t3","Symbol","for","root","t4","map","_temp","t5","t6","t7","t8","address","symbol","network","img","logo","t9","t10"],"sources":["../../../../src/components/widget/YouGet/YouGet.tsx"],"sourcesContent":["import { DetailWithTooltip } from \"@/components/widget/Details/DetailWithTooltip\";\nimport { TokenBadge } from \"@/components/widget/TokenBadge/TokenBadge\";\nimport type { YouGetProps } from \"./types\";\nimport { formatUnits } from \"viem\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { Line } from \"../Line/Line\";\nimport { formatFiatPrice } from \"@/lib/utils/formatFiatPrice\";\nimport type { DeepNonNullable } from \"ts-essentials\";\n\nconst deltaTooltipDesc =\n \"Delta transactions are gasless, meaning you don’t need native tokens to pay for network costs, but you pay them with the tokens that you will receive.\";\nconst crosschainBuyTooltipDesc =\n \"Bridge fees are dynamic and can vary based on network conditions and liquidity. The final amount you receive may be adjusted accordingly.\";\n\nconst tooltipText = {\n delta: deltaTooltipDesc,\n crosschainBuy: crosschainBuyTooltipDesc,\n} as const;\n\nfunction isNonNullableFeeDetail(fee: {\n label: string;\n value: string | null;\n}): fee is DeepNonNullable<typeof fee> {\n return fee.value !== null;\n}\n\nfunction getFormattedFeeToDisplay(fee?: string) {\n const formattedFee = fee ? formatFiatPrice(Number(fee)) : null;\n if (formattedFee === \"$0.00\") return \"$0\";\n return formattedFee;\n}\n\nexport const YouGet: React.FC<YouGetProps> = ({\n token,\n amountWei,\n swapFeesUSD,\n networkCostUSD,\n bridgeFeesUSD,\n tooltipVariant,\n}) => {\n const amountUnit = formatUnits(BigInt(amountWei), token.decimals);\n const formattedAmountUnit = toDecimalTrimmed(amountUnit);\n\n const fees = [\n {\n label: \"Network Cost\",\n value: getFormattedFeeToDisplay(networkCostUSD),\n },\n {\n label: \"Swap Fees\",\n value: getFormattedFeeToDisplay(swapFeesUSD),\n },\n {\n label: \"Crosschain Bridge Fees\",\n value: getFormattedFeeToDisplay(bridgeFeesUSD),\n },\n ].filter(isNonNullableFeeDetail);\n\n return (\n <div className=\"flex items-center justify-between gap-2 text-contrast-4 dark:text-contrast-7\">\n <DetailWithTooltip\n detail=\"You Get (incl. fees)\"\n classes={{\n root: \"text-nowrap\",\n }}\n tooltip={\n <div className=\"min-w-[220px] max-w-[320px]\">\n {fees.map(({ label, value }) => (\n <div\n className=\"flex items-center justify-between text-xs\"\n key={label}\n >\n <div>{label}</div>\n <div className=\"font-medium\">{value}</div>\n </div>\n ))}\n\n {tooltipVariant && (\n <div className=\"pt-2 flex flex-col gap-2\">\n <Line />\n <div className=\"text-wrap text-xs\">\n {tooltipText[tooltipVariant]}\n </div>\n </div>\n )}\n </div>\n }\n />\n <div className=\"text-sm font-geist-mono flex items-center gap-2\">\n <div className=\"max-w-[140px] dark:text-contrast-8 overflow-hidden text-ellipsis whitespace-nowrap\">\n {formattedAmountUnit}\n </div>\n {token && (\n <TokenBadge\n address={token.address}\n symbol={token.symbol}\n chainId={token.network}\n img={token.img}\n classes={{\n symbol: \"break-all text-right\",\n logo: \"size-[14px]\",\n }}\n />\n )}\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;AAcA,IAAMU,IAAc;CAClBC,
|
|
1
|
+
{"version":3,"file":"YouGet.js","names":["DetailWithTooltip","TokenBadge","YouGetProps","formatUnits","toDecimalTrimmed","Line","formatFiatPrice","DeepNonNullable","deltaTooltipDesc","crosschainBuyTooltipDesc","tooltipText","delta","crosschainBuy","const","isNonNullableFeeDetail","fee","label","value","getFormattedFeeToDisplay","formattedFee","Number","YouGet","React","FC","t0","$","_c","token","amountWei","swapFeesUSD","networkCostUSD","bridgeFeesUSD","tooltipVariant","t1","decimals","amountUnit","BigInt","formattedAmountUnit","t2","filter","fees","t3","Symbol","for","root","t4","map","_temp","t5","t6","t7","t8","address","symbol","network","img","logo","t9","t10"],"sources":["../../../../src/components/widget/YouGet/YouGet.tsx"],"sourcesContent":["import { DetailWithTooltip } from \"@/components/widget/Details/DetailWithTooltip\";\nimport { TokenBadge } from \"@/components/widget/TokenBadge/TokenBadge\";\nimport type { YouGetProps } from \"./types\";\nimport { formatUnits } from \"viem\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { Line } from \"../Line/Line\";\nimport { formatFiatPrice } from \"@/lib/utils/formatFiatPrice\";\nimport type { DeepNonNullable } from \"ts-essentials\";\n\nconst deltaTooltipDesc =\n \"Delta transactions are gasless, meaning you don’t need native tokens to pay for network costs, but you pay them with the tokens that you will receive.\";\nconst crosschainBuyTooltipDesc =\n \"Bridge fees are dynamic and can vary based on network conditions and liquidity. The final amount you receive may be adjusted accordingly.\";\n\nconst tooltipText = {\n delta: deltaTooltipDesc,\n crosschainBuy: crosschainBuyTooltipDesc,\n} as const;\n\nfunction isNonNullableFeeDetail(fee: {\n label: string;\n value: string | null;\n}): fee is DeepNonNullable<typeof fee> {\n return fee.value !== null;\n}\n\nfunction getFormattedFeeToDisplay(fee?: string) {\n const formattedFee = fee ? formatFiatPrice(Number(fee)) : null;\n if (formattedFee === \"$0.00\") return \"$0\";\n return formattedFee;\n}\n\nexport const YouGet: React.FC<YouGetProps> = ({\n token,\n amountWei,\n swapFeesUSD,\n networkCostUSD,\n bridgeFeesUSD,\n tooltipVariant,\n}) => {\n const amountUnit = formatUnits(BigInt(amountWei), token.decimals);\n const formattedAmountUnit = toDecimalTrimmed(amountUnit);\n\n const fees = [\n {\n label: \"Network Cost\",\n value: getFormattedFeeToDisplay(networkCostUSD),\n },\n {\n label: \"Swap Fees\",\n value: getFormattedFeeToDisplay(swapFeesUSD),\n },\n {\n label: \"Crosschain Bridge Fees\",\n value: getFormattedFeeToDisplay(bridgeFeesUSD),\n },\n ].filter(isNonNullableFeeDetail);\n\n return (\n <div className=\"flex items-center justify-between gap-2 text-contrast-4 dark:text-contrast-7\">\n <DetailWithTooltip\n detail=\"You Get (incl. fees)\"\n classes={{\n root: \"text-nowrap\",\n }}\n tooltip={\n <div className=\"min-w-[220px] max-w-[320px]\">\n {fees.map(({ label, value }) => (\n <div\n className=\"flex items-center justify-between text-xs\"\n key={label}\n >\n <div>{label}</div>\n <div className=\"font-medium\">{value}</div>\n </div>\n ))}\n\n {tooltipVariant && (\n <div className=\"pt-2 flex flex-col gap-2\">\n <Line />\n <div className=\"text-wrap text-xs\">\n {tooltipText[tooltipVariant]}\n </div>\n </div>\n )}\n </div>\n }\n />\n <div className=\"text-sm font-geist-mono flex items-center gap-2\">\n <div className=\"max-w-[140px] dark:text-contrast-8 overflow-hidden text-ellipsis whitespace-nowrap\">\n {formattedAmountUnit}\n </div>\n {token && (\n <TokenBadge\n address={token.address}\n symbol={token.symbol}\n chainId={token.network}\n img={token.img}\n classes={{\n symbol: \"break-all text-right\",\n logo: \"size-[14px]\",\n }}\n />\n )}\n </div>\n </div>\n );\n};\n"],"mappings":";;;;;;;;;AAcA,IAAMU,IAAc;CAClBC,OAAOH;CACPI,eAAeH;CAChB;AAED,SAASK,EAAuBC,GAGO;CACrC,OAAOA,EAAIE,UAAU;;AAGvB,SAASC,EAAyBH,GAAc;CAC9C,IAAMI,IAAeJ,IAAMT,EAAgBc,OAAOL,EAAI,CAAC,GAAG;CAE1D,OADII,MAAiB,UAAgB,OAC9BA;;AAGT,IAAaE,KAAgCG,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,UAAAC,cAAAC,gBAAAC,mBAAAC,kBAAAC,sBAAAR,GAO7CS;CAAA,AAAAR,EAAA,OAAAG,KAAAH,EAAA,OAAAE,EAAAO,YAE6BD,IAAA7B,EADTD,EAAYiC,OAAOR,EAAU,EAAED,EAAKO,SACVC,CAAW,EAAAV,EAAA,KAAAG,GAAAH,EAAA,KAAAE,EAAAO,UAAAT,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;CAAxD,IAAAY,IAA4BJ,GAA6BK;CAAA,AAAAb,EAAA,OAAAM,KAAAN,EAAA,OAAAK,KAAAL,EAAA,OAAAI,KAE5CS,IAAA;EACX;GAAAtB,OACS;GAAcC,OACdC,EAAyBY,EAAc;GAC/C;EACD;GAAAd,OACS;GAAWC,OACXC,EAAyBW,EAAW;GAC5C;EACD;GAAAb,OACS;GAAwBC,OACxBC,EAAyBa,EAAa;GAC9C;EACF,CAAAQ,OAAQzB,EAAuB,EAAAW,EAAA,KAAAM,GAAAN,EAAA,KAAAK,GAAAL,EAAA,KAAAI,GAAAJ,EAAA,KAAAa,KAAAA,IAAAb,EAAA;CAbhC,IAAAe,IAAaF,GAaoBG;CAAA,AAAAhB,EAAA,OAAAiB,OAAAC,IAAA,4BAAA,IAMlBF,IAAA,EAAAG,MACD,eACP,EAAAnB,EAAA,KAAAgB,KAAAA,IAAAhB,EAAA;CAAA,IAAAoB;CAAA,AAAApB,EAAA,OAAAe,IAWKK,IAAApB,EAAA,MARDoB,IAAAL,EAAIM,IAAKC,EAQR,EAAAtB,EAAA,KAAAe,GAAAf,EAAA,KAAAoB;CAAA,IAAAG;CAAA,AAAAvB,EAAA,QAAAO,IASDgB,IAAAvB,EAAA,OAPAuB,IAAAhB,KACC,kBAAA,OAAA;EAAe,WAAA;YAAf,CACE,kBAAC,GAAD,EACA,CAAA,EAAA,kBAAA,OAAA;GAAe,WAAA;aACZtB,EAAYsB;GAEjB,CAAA,CACD;KAAAP,EAAA,MAAAO,GAAAP,EAAA,MAAAuB;CAAA,IAAAC;CAAA,AAAAxB,EAAA,QAAAoB,KAAApB,EAAA,QAAAuB,KAxBPC,IAAA,kBAAC,GAAD;EACS,QAAA;EACE,SAAAR;EAIP,SAAA,kBAAA,OAAA;GAAe,WAAA;aAAf,CACGI,GAUAG,EAQE;;EAEP,CAAA,EAAAvB,EAAA,MAAAoB,GAAApB,EAAA,MAAAuB,GAAAvB,EAAA,MAAAwB,KAAAA,IAAAxB,EAAA;CAAA,IAAAyB;CAAA,AAAAzB,EAAA,QAAAY,IAIMa,IAAAzB,EAAA,OAFNyB,IAAA,kBAAA,OAAA;EAAe,WAAA;YACZb;EACG,CAAA,EAAAZ,EAAA,MAAAY,GAAAZ,EAAA,MAAAyB;CAAA,IAAAC;CAAA,AAAA1B,EAAA,QAAAE,IAYLwB,IAAA1B,EAAA,OAXA0B,IAAAxB,KACC,kBAAC,GAAD;EACW,SAAAA,EAAKyB;EACN,QAAAzB,EAAK0B;EACJ,SAAA1B,EAAK2B;EACT,KAAA3B,EAAK4B;EACD,SAAA;GAAAF,QACC;GAAsBG,MACxB;GACR;EAEH,CAAA,EAAA/B,EAAA,MAAAE,GAAAF,EAAA,MAAA0B;CAAA,IAAAM;CAAA,AAAAhC,EAAA,QAAAyB,KAAAzB,EAAA,QAAA0B,KAfHM,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACEP,GAGCC,EAYG;KAAA1B,EAAA,MAAAyB,GAAAzB,EAAA,MAAA0B,GAAA1B,EAAA,MAAAgC,KAAAA,IAAAhC,EAAA;CAAA,IAAAiC;CACF,OADEjC,EAAA,QAAAwB,KAAAxB,EAAA,QAAAgC,KA7CRC,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACET,GA4BAQ,EAiBI;KAAAhC,EAAA,MAAAwB,GAAAxB,EAAA,MAAAgC,GAAAhC,EAAA,MAAAiC,KAAAA,IAAAjC,EAAA,KA9CNiC;;AA3ByC,SAAAX,EAAAvB,GAAA;CAmCtB,IAAA,EAAAR,UAAAC,aAAAO;CAAgB,OACzB,kBAAA,OAAA;EACY,WAAA;YADZ,CAIE,kBAAA,OAAA,EAAA,UAAMR,GACN,CAAA,EAAA,kBAAA,OAAA;GAAe,WAAA;aAAeC;GAChC,CAAA,CAAM;IAJCD,EAID"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConnectWalletDrawerButton.js","names":["Button","useDrawerControls","useIsDappMode","ControlledDrawer","ConnectWalletsContainer","cn","useWidgetEvents","ConnectWalletDrawerButtonProps","Omit","React","ComponentProps","drawerContainer","HTMLDivElement","ConnectWalletDrawerButton","t0","$","_c","buttonProps","t1","Symbol","for","drawerId","t2","drawerProps","onOpen","isDappMode","onConnectWalletClick","disabled","action","undefined","T0","t3","t4","t5","className","t6","event","name","params","t7","t8","onClose","t9","t10"],"sources":["../../src/core/ConnectWalletDrawerButton.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport { useDrawerControls } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { useIsDappMode } from \"./state/externalProviderAtom\";\nimport { ControlledDrawer } from \"@/components/widget/Drawer\";\nimport { ConnectWalletsContainer } from \"@/components/web3/ConnectWallets\";\nimport { cn } from \"@/lib/utils\";\nimport { useWidgetEvents } from \"./state/widgetEventsAtom\";\n\ntype ConnectWalletDrawerButtonProps = Omit<\n React.ComponentProps<typeof Button>,\n \"onClick\"\n> & {\n drawerContainer?: HTMLDivElement | null;\n};\n\nexport function ConnectWalletDrawerButton({\n drawerContainer,\n ...buttonProps\n}: ConnectWalletDrawerButtonProps) {\n const { onOpen, ...drawerProps } = useDrawerControls({\n drawerId: \"connect-wallet-drawer\",\n });\n const isDappMode = useIsDappMode();\n\n const { onConnectWalletClick } = useWidgetEvents();\n\n const disabled =\n // either in dapp mode and no onConnectWalletClick event is provided\n // or the button is disabled via props (this should never happen if not connected)\n (isDappMode ? !onConnectWalletClick : false) || buttonProps.disabled;\n const action = !isDappMode ? onOpen : undefined;\n\n return (\n <>\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={() => {\n onConnectWalletClick?.({\n event: {\n name: \"ConnectWallet:click\",\n params: {},\n },\n });\n action?.();\n }}\n disabled={disabled}\n >\n Connect Wallet\n </Button>\n <ControlledDrawer\n {...drawerProps}\n title=\"Connect Your Wallet\"\n container={drawerContainer}\n showCloseButton\n >\n <ConnectWalletsContainer onComplete={drawerProps.onClose} />\n </ControlledDrawer>\n </>\n );\n}\n"],"mappings":";;;;;;;;;;AAeA,SAAOa,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAmC,EAAAL,oBAAA,GAAAM,MAAAH,GAGTI;
|
|
1
|
+
{"version":3,"file":"ConnectWalletDrawerButton.js","names":["Button","useDrawerControls","useIsDappMode","ControlledDrawer","ConnectWalletsContainer","cn","useWidgetEvents","ConnectWalletDrawerButtonProps","Omit","React","ComponentProps","drawerContainer","HTMLDivElement","ConnectWalletDrawerButton","t0","$","_c","buttonProps","t1","Symbol","for","drawerId","t2","drawerProps","onOpen","isDappMode","onConnectWalletClick","disabled","action","undefined","T0","t3","t4","t5","className","t6","event","name","params","t7","t8","onClose","t9","t10"],"sources":["../../src/core/ConnectWalletDrawerButton.tsx"],"sourcesContent":["import { Button } from \"@/components/ui/button\";\nimport { useDrawerControls } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { useIsDappMode } from \"./state/externalProviderAtom\";\nimport { ControlledDrawer } from \"@/components/widget/Drawer\";\nimport { ConnectWalletsContainer } from \"@/components/web3/ConnectWallets\";\nimport { cn } from \"@/lib/utils\";\nimport { useWidgetEvents } from \"./state/widgetEventsAtom\";\n\ntype ConnectWalletDrawerButtonProps = Omit<\n React.ComponentProps<typeof Button>,\n \"onClick\"\n> & {\n drawerContainer?: HTMLDivElement | null;\n};\n\nexport function ConnectWalletDrawerButton({\n drawerContainer,\n ...buttonProps\n}: ConnectWalletDrawerButtonProps) {\n const { onOpen, ...drawerProps } = useDrawerControls({\n drawerId: \"connect-wallet-drawer\",\n });\n const isDappMode = useIsDappMode();\n\n const { onConnectWalletClick } = useWidgetEvents();\n\n const disabled =\n // either in dapp mode and no onConnectWalletClick event is provided\n // or the button is disabled via props (this should never happen if not connected)\n (isDappMode ? !onConnectWalletClick : false) || buttonProps.disabled;\n const action = !isDappMode ? onOpen : undefined;\n\n return (\n <>\n <Button\n variant=\"cta\"\n radius=\"lg\"\n {...buttonProps}\n className={cn(\"w-full mt-4 h-[48px] text-md\", buttonProps.className)}\n onClick={() => {\n onConnectWalletClick?.({\n event: {\n name: \"ConnectWallet:click\",\n params: {},\n },\n });\n action?.();\n }}\n disabled={disabled}\n >\n Connect Wallet\n </Button>\n <ControlledDrawer\n {...drawerProps}\n title=\"Connect Your Wallet\"\n container={drawerContainer}\n showCloseButton\n >\n <ConnectWalletsContainer onComplete={drawerProps.onClose} />\n </ControlledDrawer>\n </>\n );\n}\n"],"mappings":";;;;;;;;;;AAeA,SAAOa,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAmC,EAAAL,oBAAA,GAAAM,MAAAH,GAGTI;CAAA,AAAAH,EAAA,OAAAI,OAAAC,IAAA,4BAAA,IACsBF,IAAA,EAAAG,UACzC,yBACX,EAAAN,EAAA,KAAAG,KAAAA,IAAAH,EAAA;CAFkC,IAAAO,IAAArB,EAAkBiB,EAEnD,EAAAK,GAAAC;CAAA,AAAAT,EAAA,OAAAO,KAACC,IAAAR,EAAA,IAAAS,IAAAT,EAAA,OAFH,eAAAQ,KAAmCD,GAEhCP,EAAA,KAAAO,GAAAP,EAAA,KAAAQ,GAAAR,EAAA,KAAAS;CACH,IAAAC,IAAmBvB,GAAe,EAElC,EAAAwB,4BAAiCpB,GAAiB,EAElDqB,KAGGF,IAAA,CAAcC,IAAd,OAA+CT,EAAWU,UAC7DC,IAAgBH,IAADI,KAAAA,IAAAL,GAIVM,IAAA9B,GAIYiC,IAAA5B,EAAG,gCAAgCY,EAAWiB,UAAW,EAAAC;CAAA,AAAApB,EAAA,OAAAa,KAAAb,EAAA,OAAAW,KAC3DS,UAAA;EAOPP,AANAF,IAAuB,EAAAU,OACd;GAAAC,MACC;GAAqBC,QACnB,EAAC;GACX,EACD,CAAC,EACFV,KAAU;IACXb,EAAA,KAAAa,GAAAb,EAAA,KAAAW,GAAAX,EAAA,KAAAoB,KAAAA,IAAApB,EAAA;CAAA,IAAAwB;CAAA,AAAAxB,EAAA,OAAAe,KAAAf,EAAA,OAAAE,KAAAF,EAAA,OAAAY,KAAAZ,EAAA,QAAAkB,KAAAlB,EAAA,QAAAoB,KAbHI,IAAA,kBAAC,GAAD;EACU,SAAAR;EACD,QAAAC;EAAI,GACPf;EACO,WAAAgB;EACF,SAAAE;EASCR;YACX;EAEQ,CAAA,EAAAZ,EAAA,KAAAe,GAAAf,EAAA,KAAAE,GAAAF,EAAA,KAAAY,GAAAZ,EAAA,MAAAkB,GAAAlB,EAAA,MAAAoB,GAAApB,EAAA,MAAAwB,KAAAA,IAAAxB,EAAA;CAAA,IAAAyB;CAAA,AAAAzB,EAAA,QAAAQ,EAAAkB,UAOqDD,IAAAzB,EAAA,OAA5DyB,IAAA,kBAAC,GAAD,EAAqC,YAAAjB,EAAWkB,SAAY,CAAA,EAAA1B,EAAA,MAAAQ,EAAAkB,SAAA1B,EAAA,MAAAyB;CAAA,IAAAE;CAAA,AAAA3B,EAAA,QAAAJ,KAAAI,EAAA,QAAAQ,KAAAR,EAAA,QAAAyB,KAN9DE,IAAA,kBAAC,GAAD;EAAiB,GACXnB;EACE,OAAA;EACKZ,WAAAA;EACX,iBAAA;YAEA6B;EACiB,CAAA,EAAAzB,EAAA,MAAAJ,GAAAI,EAAA,MAAAQ,GAAAR,EAAA,MAAAyB,GAAAzB,EAAA,MAAA2B,KAAAA,IAAA3B,EAAA;CAAA,IAAA4B;CAClB,OADkB5B,EAAA,QAAAwB,KAAAxB,EAAA,QAAA2B,KA1BrBC,IAAA,kBAAA,GAAA,EAAA,UAAA,CACEJ,GAkBAG,EAQC,EAAA,CAAA,EAAA3B,EAAA,MAAAwB,GAAAxB,EAAA,MAAA2B,GAAA3B,EAAA,MAAA4B,KAAAA,IAAA5B,EAAA,KA3BH4B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LimitOrderButton.js","names":["Button","MinTradeOverviewProps","useAccount","ConnectWalletDrawerButton","LimitTradeFlowScreenButton","UserDefinedLimitPrice","useLimitTokenToInputProps","useLimitTokenFromInputProps","useLimitButtonExtraProps","useAtomValue","limitPayInputAmountWeiAtom","limitReceiveInputAmountWeiAtom","useDeltaSwapPriceForLimit","isBridgePrice","ButtonWithDrawerProps","React","ComponentProps","orderProps","drawerContainer","HTMLDivElement","limitPrice","labelOverride","LimitOrderDrawerButton","t0","$","_c","buttonProps","isConnected","t1","LimitOrderButton","tokenFromInputProps","tokenToInputProps","payAmountWei","receiveAmountWei","amount","token","fromToken","toToken","fromAmount","toAmount","undefined","isCrosschainOrder","network","enabled","tradeMode","price","deltaCrosschainPrice","Number","srcTokenAddress","address","destTokenAddress","srcAmount","destAmount","bridgePrice","t2","tokenFrom","tokenTo","extraProps","t3","className","disabled"],"sources":["../../src/core/LimitOrderButton.tsx"],"sourcesContent":["import type { Button } from \"@/components/ui/button\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\nimport { useAccount } from \"wagmi\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\nimport { LimitTradeFlowScreenButton } from \"./TradeFlowScreenButton\";\nimport type { UserDefinedLimitPrice } from \"@/hooks/swap/tradeFlow/useLimitOrderFlow\";\nimport { useLimitTokenToInputProps } from \"./limit/useLimitTokenToInputProps\";\nimport { useLimitTokenFromInputProps } from \"./limit/useLimitTokenFromInputProps\";\nimport { useLimitButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useAtomValue } from \"@/core/store\";\nimport {\n limitPayInputAmountWeiAtom,\n limitReceiveInputAmountWeiAtom,\n} from \"./limit/state/limitInputAmountAtom\";\nimport { useDeltaSwapPriceForLimit } from \"./limit/useLimitRate\";\nimport { isBridgePrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n limitPrice?: UserDefinedLimitPrice;\n labelOverride?: string;\n};\n\nfunction LimitOrderDrawerButton({\n orderProps,\n drawerContainer,\n limitPrice,\n labelOverride,\n ...buttonProps\n}: ButtonWithDrawerProps) {\n const { isConnected } = useAccount();\n\n if (!isConnected)\n return (\n <ConnectWalletDrawerButton\n drawerContainer={drawerContainer}\n {...buttonProps}\n />\n );\n\n return (\n <LimitTradeFlowScreenButton\n orderProps={orderProps}\n limitPrice={limitPrice}\n labelOverride={labelOverride}\n {...buttonProps}\n />\n );\n}\n\nexport function LimitOrderButton() {\n const tokenFromInputProps = useLimitTokenFromInputProps();\n const tokenToInputProps = useLimitTokenToInputProps();\n\n const payAmountWei = useAtomValue(limitPayInputAmountWeiAtom);\n const receiveAmountWei = useAtomValue(limitReceiveInputAmountWeiAtom);\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n }\n : undefined;\n\n const isCrosschainOrder =\n tokenFromInputProps.token &&\n tokenToInputProps.token &&\n tokenFromInputProps.token.network !== tokenToInputProps.token.network;\n\n const { price: deltaCrosschainPrice } = useDeltaSwapPriceForLimit({\n enabled: isCrosschainOrder,\n tradeMode: \"limit\",\n });\n\n let limitPrice: UserDefinedLimitPrice | undefined =\n tokenFromInputProps.token &&\n tokenToInputProps.token &&\n receiveAmountWei &&\n Number(payAmountWei) > 0 &&\n Number(receiveAmountWei) > 0\n ? {\n srcTokenAddress: tokenFromInputProps.token.address,\n destTokenAddress: tokenToInputProps.token.address,\n srcAmount: payAmountWei,\n destAmount: receiveAmountWei,\n bridgePrice:\n isCrosschainOrder &&\n deltaCrosschainPrice &&\n isBridgePrice(deltaCrosschainPrice)\n ? deltaCrosschainPrice\n : undefined,\n }\n : undefined;\n\n if (isCrosschainOrder && limitPrice) {\n // for Crosschain LOrder bridgePrice is required\n if (deltaCrosschainPrice && isBridgePrice(deltaCrosschainPrice)) {\n limitPrice.bridgePrice = deltaCrosschainPrice;\n } else {\n // this will disable the button\n limitPrice = undefined;\n }\n }\n\n const extraProps = useLimitButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n return (\n <LimitOrderDrawerButton\n orderProps={orderProps}\n limitPrice={limitPrice}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n"],"mappings":";;;;;;;;;;;;;AAwBA,SAAAsB,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAAC,GAAAR,GAAAG,GAAAD,GAAAH;
|
|
1
|
+
{"version":3,"file":"LimitOrderButton.js","names":["Button","MinTradeOverviewProps","useAccount","ConnectWalletDrawerButton","LimitTradeFlowScreenButton","UserDefinedLimitPrice","useLimitTokenToInputProps","useLimitTokenFromInputProps","useLimitButtonExtraProps","useAtomValue","limitPayInputAmountWeiAtom","limitReceiveInputAmountWeiAtom","useDeltaSwapPriceForLimit","isBridgePrice","ButtonWithDrawerProps","React","ComponentProps","orderProps","drawerContainer","HTMLDivElement","limitPrice","labelOverride","LimitOrderDrawerButton","t0","$","_c","buttonProps","isConnected","t1","LimitOrderButton","tokenFromInputProps","tokenToInputProps","payAmountWei","receiveAmountWei","amount","token","fromToken","toToken","fromAmount","toAmount","undefined","isCrosschainOrder","network","enabled","tradeMode","price","deltaCrosschainPrice","Number","srcTokenAddress","address","destTokenAddress","srcAmount","destAmount","bridgePrice","t2","tokenFrom","tokenTo","extraProps","t3","className","disabled"],"sources":["../../src/core/LimitOrderButton.tsx"],"sourcesContent":["import type { Button } from \"@/components/ui/button\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\nimport { useAccount } from \"wagmi\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\nimport { LimitTradeFlowScreenButton } from \"./TradeFlowScreenButton\";\nimport type { UserDefinedLimitPrice } from \"@/hooks/swap/tradeFlow/useLimitOrderFlow\";\nimport { useLimitTokenToInputProps } from \"./limit/useLimitTokenToInputProps\";\nimport { useLimitTokenFromInputProps } from \"./limit/useLimitTokenFromInputProps\";\nimport { useLimitButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useAtomValue } from \"@/core/store\";\nimport {\n limitPayInputAmountWeiAtom,\n limitReceiveInputAmountWeiAtom,\n} from \"./limit/state/limitInputAmountAtom\";\nimport { useDeltaSwapPriceForLimit } from \"./limit/useLimitRate\";\nimport { isBridgePrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n limitPrice?: UserDefinedLimitPrice;\n labelOverride?: string;\n};\n\nfunction LimitOrderDrawerButton({\n orderProps,\n drawerContainer,\n limitPrice,\n labelOverride,\n ...buttonProps\n}: ButtonWithDrawerProps) {\n const { isConnected } = useAccount();\n\n if (!isConnected)\n return (\n <ConnectWalletDrawerButton\n drawerContainer={drawerContainer}\n {...buttonProps}\n />\n );\n\n return (\n <LimitTradeFlowScreenButton\n orderProps={orderProps}\n limitPrice={limitPrice}\n labelOverride={labelOverride}\n {...buttonProps}\n />\n );\n}\n\nexport function LimitOrderButton() {\n const tokenFromInputProps = useLimitTokenFromInputProps();\n const tokenToInputProps = useLimitTokenToInputProps();\n\n const payAmountWei = useAtomValue(limitPayInputAmountWeiAtom);\n const receiveAmountWei = useAtomValue(limitReceiveInputAmountWeiAtom);\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n }\n : undefined;\n\n const isCrosschainOrder =\n tokenFromInputProps.token &&\n tokenToInputProps.token &&\n tokenFromInputProps.token.network !== tokenToInputProps.token.network;\n\n const { price: deltaCrosschainPrice } = useDeltaSwapPriceForLimit({\n enabled: isCrosschainOrder,\n tradeMode: \"limit\",\n });\n\n let limitPrice: UserDefinedLimitPrice | undefined =\n tokenFromInputProps.token &&\n tokenToInputProps.token &&\n receiveAmountWei &&\n Number(payAmountWei) > 0 &&\n Number(receiveAmountWei) > 0\n ? {\n srcTokenAddress: tokenFromInputProps.token.address,\n destTokenAddress: tokenToInputProps.token.address,\n srcAmount: payAmountWei,\n destAmount: receiveAmountWei,\n bridgePrice:\n isCrosschainOrder &&\n deltaCrosschainPrice &&\n isBridgePrice(deltaCrosschainPrice)\n ? deltaCrosschainPrice\n : undefined,\n }\n : undefined;\n\n if (isCrosschainOrder && limitPrice) {\n // for Crosschain LOrder bridgePrice is required\n if (deltaCrosschainPrice && isBridgePrice(deltaCrosschainPrice)) {\n limitPrice.bridgePrice = deltaCrosschainPrice;\n } else {\n // this will disable the button\n limitPrice = undefined;\n }\n }\n\n const extraProps = useLimitButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n return (\n <LimitOrderDrawerButton\n orderProps={orderProps}\n limitPrice={limitPrice}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LimitOrderDetails.js","names":["DetailWithValueListExpandable","useLimitDetailsListProps","LimitOrderDetails","$","_c","props","t0"],"sources":["../../src/core/LimitOrderDetails.tsx"],"sourcesContent":["import { DetailWithValueListExpandable } from \"@/components/widget/Details/DetailWithValueListExpandable\";\nimport { useLimitDetailsListProps } from \"./limit/useLimitDetailsListProps\";\n\nexport const LimitOrderDetails = () => {\n const props = useLimitDetailsListProps();\n if (!props) return null;\n return <DetailWithValueListExpandable {...props} />;\n};\n"],"mappings":";;;;;AAGA,IAAaE,UAAoB;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAC/BC,IAAcJ,GAA0B;
|
|
1
|
+
{"version":3,"file":"LimitOrderDetails.js","names":["DetailWithValueListExpandable","useLimitDetailsListProps","LimitOrderDetails","$","_c","props","t0"],"sources":["../../src/core/LimitOrderDetails.tsx"],"sourcesContent":["import { DetailWithValueListExpandable } from \"@/components/widget/Details/DetailWithValueListExpandable\";\nimport { useLimitDetailsListProps } from \"./limit/useLimitDetailsListProps\";\n\nexport const LimitOrderDetails = () => {\n const props = useLimitDetailsListProps();\n if (!props) return null;\n return <DetailWithValueListExpandable {...props} />;\n};\n"],"mappings":";;;;;AAGA,IAAaE,UAAoB;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAC/BC,IAAcJ,GAA0B;CACxC,IAAI,CAACI,GAAK,OAAS;CAAK,IAAAC;CAC2B,OAD3BH,EAAA,OAAAE,IAC2BC,IAAAH,EAAA,MAA5CG,IAAA,kBAAC,GAAD,EAA8B,GAAKD,GAAS,CAAA,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAG,IAA5CA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OtcOrderButton.js","names":["Button","MinTradeOverviewProps","WrapEthDrawerButton","WrapEthProps","useAccount","ConnectWalletDrawerButton","OtcTradeFlowScreenButton","UserDefinedOtcPrice","useOtcTokenToInputProps","useOtcTokenFromInputProps","useOtcWrapEthProps","useOtcButtonExtraProps","useAtomValue","otcPayInputAmountWeiAtom","otcReceiveInputAmountWeiAtom","ButtonWithDrawerProps","React","ComponentProps","orderProps","drawerContainer","HTMLDivElement","otcPrice","wrapEthProps","labelOverride","OtcOrderDrawerButton","t0","$","_c","buttonProps","isConnected","t1","shouldWrap","OtcOrderButton","tokenFromInputProps","tokenToInputProps","payAmountWei","receiveAmountWei","amount","token","fromToken","toToken","fromAmount","toAmount","undefined","Number","srcTokenAddress","address","destTokenAddress","srcAmount","destAmount","t2","tokenFrom","tokenTo","extraProps","t3","className","disabled"],"sources":["../../src/core/OtcOrderButton.tsx"],"sourcesContent":["import type { Button } from \"@/components/ui/button\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\nimport { WrapEthDrawerButton } from \"@/components/widget/WrapEth\";\nimport type { WrapEthProps } from \"@/components/widget/WrapEth/hooks/types\";\nimport { useAccount } from \"wagmi\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\nimport { OtcTradeFlowScreenButton } from \"./TradeFlowScreenButton\";\nimport type { UserDefinedOtcPrice } from \"@/hooks/otc/tradeFlow/useOtcOrderFlow\";\nimport { useOtcTokenToInputProps } from \"./otc/useOtcTokenToInputProps\";\nimport { useOtcTokenFromInputProps } from \"./otc/useOtcTokenFromInputProps\";\nimport { useOtcWrapEthProps } from \"@/components/widget/WrapEth/hooks/useWrapEthProps\";\nimport { useOtcButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useAtomValue } from \"@/core/store\";\n\nimport {\n otcPayInputAmountWeiAtom,\n otcReceiveInputAmountWeiAtom,\n} from \"./otc/state/otcInputAmountAtom\";\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n otcPrice?: UserDefinedOtcPrice;\n wrapEthProps: WrapEthProps;\n labelOverride?: string;\n};\n\nfunction OtcOrderDrawerButton({\n orderProps,\n drawerContainer,\n otcPrice,\n wrapEthProps,\n labelOverride,\n ...buttonProps\n}: ButtonWithDrawerProps) {\n const { isConnected } = useAccount();\n\n if (!isConnected)\n return (\n <ConnectWalletDrawerButton\n drawerContainer={drawerContainer}\n {...buttonProps}\n />\n );\n\n if (wrapEthProps.shouldWrap)\n return (\n <WrapEthDrawerButton\n drawerContainer={drawerContainer}\n wrapEthProps={wrapEthProps}\n labelOverride={labelOverride}\n {...buttonProps}\n />\n );\n\n return (\n <OtcTradeFlowScreenButton\n orderProps={orderProps}\n otcPrice={otcPrice}\n labelOverride={labelOverride}\n {...buttonProps}\n />\n );\n}\n\nexport function OtcOrderButton() {\n const tokenFromInputProps = useOtcTokenFromInputProps();\n const tokenToInputProps = useOtcTokenToInputProps();\n\n const payAmountWei = useAtomValue(otcPayInputAmountWeiAtom);\n const receiveAmountWei = useAtomValue(otcReceiveInputAmountWeiAtom);\n\n const wrapEthProps = useOtcWrapEthProps();\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n }\n : undefined;\n\n const otcPrice =\n tokenFromInputProps.token &&\n tokenToInputProps.token &&\n receiveAmountWei &&\n Number(payAmountWei) > 0 &&\n Number(receiveAmountWei) > 0\n ? {\n srcTokenAddress: tokenFromInputProps.token.address,\n destTokenAddress: tokenToInputProps.token.address,\n srcAmount: payAmountWei,\n destAmount: receiveAmountWei,\n }\n : undefined;\n\n const extraProps = useOtcButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n return (\n <OtcOrderDrawerButton\n orderProps={orderProps}\n wrapEthProps={wrapEthProps}\n otcPrice={otcPrice}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n"],"mappings":";;;;;;;;;;;;;AA2BA,SAAAwB,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAAC,GAAAT,GAAAI,GAAAL,GAAAG,GAAAC;
|
|
1
|
+
{"version":3,"file":"OtcOrderButton.js","names":["Button","MinTradeOverviewProps","WrapEthDrawerButton","WrapEthProps","useAccount","ConnectWalletDrawerButton","OtcTradeFlowScreenButton","UserDefinedOtcPrice","useOtcTokenToInputProps","useOtcTokenFromInputProps","useOtcWrapEthProps","useOtcButtonExtraProps","useAtomValue","otcPayInputAmountWeiAtom","otcReceiveInputAmountWeiAtom","ButtonWithDrawerProps","React","ComponentProps","orderProps","drawerContainer","HTMLDivElement","otcPrice","wrapEthProps","labelOverride","OtcOrderDrawerButton","t0","$","_c","buttonProps","isConnected","t1","shouldWrap","OtcOrderButton","tokenFromInputProps","tokenToInputProps","payAmountWei","receiveAmountWei","amount","token","fromToken","toToken","fromAmount","toAmount","undefined","Number","srcTokenAddress","address","destTokenAddress","srcAmount","destAmount","t2","tokenFrom","tokenTo","extraProps","t3","className","disabled"],"sources":["../../src/core/OtcOrderButton.tsx"],"sourcesContent":["import type { Button } from \"@/components/ui/button\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\nimport { WrapEthDrawerButton } from \"@/components/widget/WrapEth\";\nimport type { WrapEthProps } from \"@/components/widget/WrapEth/hooks/types\";\nimport { useAccount } from \"wagmi\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\nimport { OtcTradeFlowScreenButton } from \"./TradeFlowScreenButton\";\nimport type { UserDefinedOtcPrice } from \"@/hooks/otc/tradeFlow/useOtcOrderFlow\";\nimport { useOtcTokenToInputProps } from \"./otc/useOtcTokenToInputProps\";\nimport { useOtcTokenFromInputProps } from \"./otc/useOtcTokenFromInputProps\";\nimport { useOtcWrapEthProps } from \"@/components/widget/WrapEth/hooks/useWrapEthProps\";\nimport { useOtcButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useAtomValue } from \"@/core/store\";\n\nimport {\n otcPayInputAmountWeiAtom,\n otcReceiveInputAmountWeiAtom,\n} from \"./otc/state/otcInputAmountAtom\";\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n otcPrice?: UserDefinedOtcPrice;\n wrapEthProps: WrapEthProps;\n labelOverride?: string;\n};\n\nfunction OtcOrderDrawerButton({\n orderProps,\n drawerContainer,\n otcPrice,\n wrapEthProps,\n labelOverride,\n ...buttonProps\n}: ButtonWithDrawerProps) {\n const { isConnected } = useAccount();\n\n if (!isConnected)\n return (\n <ConnectWalletDrawerButton\n drawerContainer={drawerContainer}\n {...buttonProps}\n />\n );\n\n if (wrapEthProps.shouldWrap)\n return (\n <WrapEthDrawerButton\n drawerContainer={drawerContainer}\n wrapEthProps={wrapEthProps}\n labelOverride={labelOverride}\n {...buttonProps}\n />\n );\n\n return (\n <OtcTradeFlowScreenButton\n orderProps={orderProps}\n otcPrice={otcPrice}\n labelOverride={labelOverride}\n {...buttonProps}\n />\n );\n}\n\nexport function OtcOrderButton() {\n const tokenFromInputProps = useOtcTokenFromInputProps();\n const tokenToInputProps = useOtcTokenToInputProps();\n\n const payAmountWei = useAtomValue(otcPayInputAmountWeiAtom);\n const receiveAmountWei = useAtomValue(otcReceiveInputAmountWeiAtom);\n\n const wrapEthProps = useOtcWrapEthProps();\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n }\n : undefined;\n\n const otcPrice =\n tokenFromInputProps.token &&\n tokenToInputProps.token &&\n receiveAmountWei &&\n Number(payAmountWei) > 0 &&\n Number(receiveAmountWei) > 0\n ? {\n srcTokenAddress: tokenFromInputProps.token.address,\n destTokenAddress: tokenToInputProps.token.address,\n srcAmount: payAmountWei,\n destAmount: receiveAmountWei,\n }\n : undefined;\n\n const extraProps = useOtcButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n return (\n <OtcOrderDrawerButton\n orderProps={orderProps}\n wrapEthProps={wrapEthProps}\n otcPrice={otcPrice}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OtcOrderDetails.js","names":["DetailWithValueListExpandable","useOtcDetailsListProps","OtcOrderDetails","$","_c","props","t0"],"sources":["../../src/core/OtcOrderDetails.tsx"],"sourcesContent":["import { DetailWithValueListExpandable } from \"@/components/widget/Details/DetailWithValueListExpandable\";\nimport { useOtcDetailsListProps } from \"./otc/useOtcDetailsListProps\";\n\nexport const OtcOrderDetails = () => {\n const props = useOtcDetailsListProps();\n if (!props) return null;\n return <DetailWithValueListExpandable {...props} />;\n};\n"],"mappings":";;;;;AAGA,IAAaE,UAAkB;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAC7BC,IAAcJ,GAAwB;
|
|
1
|
+
{"version":3,"file":"OtcOrderDetails.js","names":["DetailWithValueListExpandable","useOtcDetailsListProps","OtcOrderDetails","$","_c","props","t0"],"sources":["../../src/core/OtcOrderDetails.tsx"],"sourcesContent":["import { DetailWithValueListExpandable } from \"@/components/widget/Details/DetailWithValueListExpandable\";\nimport { useOtcDetailsListProps } from \"./otc/useOtcDetailsListProps\";\n\nexport const OtcOrderDetails = () => {\n const props = useOtcDetailsListProps();\n if (!props) return null;\n return <DetailWithValueListExpandable {...props} />;\n};\n"],"mappings":";;;;;AAGA,IAAaE,UAAkB;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAC7BC,IAAcJ,GAAwB;CACtC,IAAI,CAACI,GAAK,OAAS;CAAK,IAAAC;CAC2B,OAD3BH,EAAA,OAAAE,IAC2BC,IAAAH,EAAA,MAA5CG,IAAA,kBAAC,GAAD,EAA8B,GAAKD,GAAS,CAAA,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAG,IAA5CA"}
|
package/dist/core/Toaster.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toaster.js","names":["Toaster","SonnerToaster","$","_c","t0","Symbol","for","position","display","alignItems","justifyContent","zIndex"],"sources":["../../src/core/Toaster.tsx"],"sourcesContent":["import { Toaster as SonnerToaster } from \"@/components/ui/sonner\";\n\nexport function Toaster() {\n return (\n <SonnerToaster\n style={{\n // keep within widget container\n // @TODO for Dapp mode we may want it default=fixed\n position: \"absolute\",\n // [\"--width\" as string]: \"200px\", // used internally by sonner\n // must assign early so it participates in position calculations,\n // doesn't pass React.CSSProperties type\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n zIndex: 1, // must be below the drawer\n }}\n position=\"bottom-center\"\n />\n );\n}\n"],"mappings":";;;;AAEA,SAAOA,IAAA;CAAA,IAAAE,IAAAC,EAAA,EAAA,EAAAC;
|
|
1
|
+
{"version":3,"file":"Toaster.js","names":["Toaster","SonnerToaster","$","_c","t0","Symbol","for","position","display","alignItems","justifyContent","zIndex"],"sources":["../../src/core/Toaster.tsx"],"sourcesContent":["import { Toaster as SonnerToaster } from \"@/components/ui/sonner\";\n\nexport function Toaster() {\n return (\n <SonnerToaster\n style={{\n // keep within widget container\n // @TODO for Dapp mode we may want it default=fixed\n position: \"absolute\",\n // [\"--width\" as string]: \"200px\", // used internally by sonner\n // must assign early so it participates in position calculations,\n // doesn't pass React.CSSProperties type\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n zIndex: 1, // must be below the drawer\n }}\n position=\"bottom-center\"\n />\n );\n}\n"],"mappings":";;;;AAEA,SAAOA,IAAA;CAAA,IAAAE,IAAAC,EAAA,EAAA,EAAAC;CAgBD,OAhBCF,EAAA,OAAAG,OAAAC,IAAA,4BAAA,IAEHF,IAAA,kBAAC,GAAD;EACS,OAAA;GAAAG,UAGK;GAAUC,SAIX;GAAMC,YACH;GAAQC,gBACJ;GAAQC,QAChB;GACV;EACS,UAAA;EACT,CAAA,EAAAT,EAAA,KAAAE,KAAAA,IAAAF,EAAA,IAdFE"}
|