@velora-dex/widget 0.8.3-dev.1 → 0.8.4-dev.0
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/web3/ConnectExternalProvider/AutoconnectExternal.d.ts.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js +23 -22
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/constants.d.ts +2 -1
- package/dist/components/web3/ConnectExternalProvider/constants.d.ts.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/constants.js +2 -2
- package/dist/components/web3/ConnectExternalProvider/constants.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.d.ts.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js +4 -1
- package/dist/components/web3/ConnectExternalProvider/safeProviderWrapper.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/utils.d.ts.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/utils.js +1 -1
- package/dist/components/web3/ConnectExternalProvider/utils.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/walletConnectProviderWrapper.d.ts +5 -0
- package/dist/components/web3/ConnectExternalProvider/walletConnectProviderWrapper.d.ts.map +1 -0
- package/dist/components/web3/ConnectExternalProvider/walletConnectProviderWrapper.js +22 -0
- package/dist/components/web3/ConnectExternalProvider/walletConnectProviderWrapper.js.map +1 -0
- package/dist/components/widget/AppHeader/Activities/hooks.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/Activities/hooks.js +51 -51
- package/dist/components/widget/AppHeader/Activities/hooks.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/utils.d.ts +3 -3
- package/dist/components/widget/AppHeader/Activities/utils.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/Activities/utils.js +25 -26
- package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
- package/dist/components/widget/BridgeList/hooks.d.ts +2 -2
- package/dist/components/widget/BridgeList/hooks.d.ts.map +1 -1
- package/dist/components/widget/BridgeList/hooks.js +9 -9
- package/dist/components/widget/BridgeList/hooks.js.map +1 -1
- package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts +2 -2
- package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.d.ts.map +1 -1
- package/dist/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts +2 -2
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js +10 -10
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js +18 -22
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/utils.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts +6 -3
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +58 -54
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/constants.d.ts +1 -1
- package/dist/components/widget/LimitOrderItem/constants.js +1 -1
- package/dist/components/widget/LimitOrderItem/constants.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/types.d.ts +2 -2
- package/dist/components/widget/LimitOrderItem/types.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/utils.d.ts +2 -4
- package/dist/components/widget/LimitOrderItem/utils.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/utils.js +1 -4
- package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
- package/dist/components/widget/OtcOrderItem/OtcOrderDetails/OtcOrderDetails.js +9 -9
- package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js +15 -10
- package/dist/components/widget/OtcOrderItem/OtcOrderListItem.js.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +2 -2
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +86 -86
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/utils.js +1 -1
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts +2 -2
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js +83 -83
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -1
- package/dist/configurator/Configurator.d.ts.map +1 -1
- package/dist/core/LimitOrderButton.d.ts.map +1 -1
- package/dist/core/LimitOrderButton.js +5 -4
- package/dist/core/LimitOrderButton.js.map +1 -1
- package/dist/core/OtcOrderButton.d.ts.map +1 -1
- package/dist/core/OtcOrderButton.js +6 -5
- package/dist/core/OtcOrderButton.js.map +1 -1
- package/dist/core/TradeFlowScreenButton.d.ts +3 -3
- package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
- package/dist/core/TradeFlowScreenButton.js +24 -24
- package/dist/core/TradeFlowScreenButton.js.map +1 -1
- package/dist/core/Updaters.js +1 -1
- package/dist/core/Updaters.js.map +1 -1
- package/dist/core/across/isCrosschainPossible.d.ts +2 -2
- package/dist/core/across/isCrosschainPossible.d.ts.map +1 -1
- package/dist/core/across/isCrosschainPossible.js.map +1 -1
- package/dist/core/across/utils.d.ts +4 -4
- package/dist/core/across/utils.d.ts.map +1 -1
- package/dist/core/across/utils.js +25 -15
- package/dist/core/across/utils.js.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -0
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js +127 -99
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- package/dist/core/index.js +5 -4
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenFromInputProps.js +1 -1
- package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
- package/dist/core/inputs/hooks/useWarningMessage.d.ts +2 -2
- package/dist/core/inputs/hooks/useWarningMessage.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useWarningMessage.js.map +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.js +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
- package/dist/core/limit/state/utils.d.ts +1 -1
- package/dist/core/limit/useLimitRate.d.ts +1 -1
- package/dist/core/limit/useLimitTokenFromInputProps.js +1 -1
- package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
- package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
- package/dist/core/otc/state/selectedTokenActionsAtom.d.ts.map +1 -1
- package/dist/core/otc/state/selectedTokenActionsAtom.js +2 -2
- package/dist/core/otc/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/state/configEffectAtom.js +1 -1
- package/dist/core/state/configEffectAtom.js.map +1 -1
- package/dist/core/state/getSelectableDestChains.d.ts +2 -2
- package/dist/core/state/getSelectableDestChains.d.ts.map +1 -1
- package/dist/core/state/getSelectableDestChains.js.map +1 -1
- package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
- package/dist/core/state/widgetEventsAtom.js +21 -11
- package/dist/core/state/widgetEventsAtom.js.map +1 -1
- package/dist/core/twap/twapDetails/minimumReceiveable.d.ts +2 -2
- package/dist/core/twap/twapDetails/minimumReceiveable.d.ts.map +1 -1
- package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -1
- package/dist/core/twap/useTwapTokenFromInputProps.js +3 -3
- package/dist/core/twap/useTwapTokenFromInputProps.js.map +1 -1
- package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
- package/dist/events/types/cancelOrder.d.ts +2 -2
- package/dist/events/types/cancelOrder.d.ts.map +1 -1
- package/dist/events/types/importToken.d.ts +14 -0
- package/dist/events/types/importToken.d.ts.map +1 -0
- package/dist/events/types/index.d.ts +4 -1
- package/dist/events/types/index.d.ts.map +1 -1
- package/dist/events/types/priceChange.d.ts +2 -2
- package/dist/events/types/priceChange.d.ts.map +1 -1
- package/dist/events/types/swap.d.ts +3 -3
- package/dist/events/types/swap.d.ts.map +1 -1
- package/dist/events/types/twap.d.ts +2 -2
- package/dist/events/types/twap.d.ts.map +1 -1
- package/dist/hooks/batch/useSendBatchTx.d.ts.map +1 -1
- package/dist/hooks/batch/useSendBatchTx.js +31 -32
- package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts +3 -3
- package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/useSelectedBridgePrice.js.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/utils.d.ts +6 -6
- package/dist/hooks/swap/prices/delta/bridge/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +5 -5
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +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 +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/types.d.ts +3 -3
- package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js +2 -2
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrdersEvents.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js +85 -84
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +5 -5
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js +2 -2
- package/dist/hooks/swap/prices/delta/mutations/useIsDeltaOrderCancellable.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +2 -2
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +5 -5
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.js +2 -2
- package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/types.d.ts +8 -28
- package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts +2 -2
- package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +31 -42
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +19 -19
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts +23 -68
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.js +22 -169
- package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeProtocols/useBridgeProtocols.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/bridgeRoutesLoadedAtom.d.ts +2 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/bridgeRoutesLoadedAtom.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/{bridgeInfo/bridgeInfosLoadedAtom.js → bridgeRoutes/bridgeRoutesLoadedAtom.js} +4 -4
- package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/bridgeRoutesLoadedAtom.js.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/common.d.ts +6 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/common.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/common.js +9 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/common.js.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/getBridgeRoutesQueryData.d.ts +3 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/getBridgeRoutesQueryData.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/getBridgeRoutesQueryData.js +11 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/getBridgeRoutesQueryData.js.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/types.d.ts +19 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/types.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/useBridgeRoutes.d.ts +3 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/useBridgeRoutes.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/{bridgeInfo/useBridgeInfo.js → bridgeRoutes/useBridgeRoutes.js} +6 -6
- package/dist/hooks/swap/prices/delta/queries/bridgeRoutes/useBridgeRoutes.js.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/{useDeltaLimitOrderRequiredBalance.d.ts → useDeltaOrderRequiredBalance.d.ts} +10 -10
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrderRequiredBalance.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/{useDeltaLimitOrderRequiredBalance.js → useDeltaOrderRequiredBalance.js} +5 -5
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrderRequiredBalance.js.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts +6 -6
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +17 -17
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js +1 -1
- package/dist/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +14 -22
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +71 -61
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +1 -1
- package/dist/hooks/swap/prices/types.d.ts +2 -2
- package/dist/hooks/swap/prices/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts +3 -3
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +108 -111
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts +2 -2
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -1
- package/dist/hooks/swap/prices/useTwapPrices.d.ts +4 -4
- package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useTwapPrices.js +70 -73
- package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts +5 -5
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts +4 -4
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +1 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js +1 -1
- package/dist/hooks/swap/tradeFlow/common/useRequiredAllowanceForOrders.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +5 -5
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +209 -209
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +2 -2
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +5 -5
- package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js +236 -236
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
- package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js +1 -1
- package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithFilter.d.ts +2 -2
- package/dist/hooks/tokens/useAllTokensWithFilter.d.ts.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
- package/dist/hooks/tokens/useTokensFromAcross.d.ts +2 -2
- package/dist/hooks/tokens/useTokensFromAcross.d.ts.map +1 -1
- package/dist/hooks/tokens/useTokensFromAcross.js +7 -10
- package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
- package/dist/hooks/useAvailableCrosses.d.ts +3 -3
- package/dist/hooks/useAvailableCrosses.d.ts.map +1 -1
- package/dist/hooks/useAvailableCrosses.js +18 -17
- package/dist/hooks/useAvailableCrosses.js.map +1 -1
- package/dist/hooks/useBridgeRoutes.d.ts +6 -0
- package/dist/hooks/useBridgeRoutes.d.ts.map +1 -0
- package/dist/hooks/{useBridgeInfo.js → useBridgeRoutes.js} +4 -4
- package/dist/hooks/useBridgeRoutes.js.map +1 -0
- package/dist/hooks/useIsCrosschainPossible.d.ts +2 -2
- package/dist/hooks/useIsCrosschainPossible.d.ts.map +1 -1
- package/dist/hooks/useIsCrosschainPossible.js +15 -13
- package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
- package/dist/hooks/useSDK.d.ts +5 -21
- package/dist/hooks/useSDK.d.ts.map +1 -1
- package/dist/hooks/useSDK.js +47 -77
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/hooks/useSelectableDestChains.d.ts +2 -2
- package/dist/hooks/useSelectableDestChains.d.ts.map +1 -1
- package/dist/hooks/useSelectableDestChains.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/queryClient.js +2 -2
- package/dist/lib/queryClient.js.map +1 -1
- package/dist/lib/utils/toasts.d.ts +3 -3
- package/dist/lib/utils/toasts.d.ts.map +1 -1
- package/dist/lib/utils/toasts.js.map +1 -1
- package/dist/lib/utils/twap.d.ts +19 -4
- package/dist/lib/utils/twap.d.ts.map +1 -1
- package/dist/lib/utils/twap.js +27 -16
- package/dist/lib/utils/twap.js.map +1 -1
- package/dist/tokens/state/addImportedTokenAtom.d.ts +2 -0
- package/dist/tokens/state/addImportedTokenAtom.d.ts.map +1 -1
- package/dist/tokens/state/addImportedTokenAtom.js +47 -31
- package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
- package/package.json +2 -2
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.d.ts +0 -2
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +0 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts +0 -6
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js +0 -9
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +0 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.d.ts +0 -4
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js +0 -11
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js.map +0 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts +0 -19
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts +0 -3
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +0 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +0 -1
- package/dist/hooks/useBridgeInfo.d.ts +0 -7
- package/dist/hooks/useBridgeInfo.d.ts.map +0 -1
- package/dist/hooks/useBridgeInfo.js.map +0 -1
- package/dist/lib/utils/scaleFactor.js +0 -13
- package/dist/lib/utils/scaleFactor.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWidgetButtonExtraProps.js","names":["useSwapReceiverAddressValue","useIsAccountContract","useCurrentSwapPriceError","useCurrentTwapPriceError","useIsTokenFromInsufficientBalance","Token","areTokensSame","useIsCrossChain","useOtcReceiverAddressValue","useUnsupportedLimitChain","useUnsupportedOtcChain","TradeMode","useUnsupportedLimitTokens","useDeltaSwapPriceForLimit","useLimitReceiverAddressValue","useChainMatches","useDegenMode","useTwapSliceTooShort","errorMessageByApiErrorMessage","Record","ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT","GetButtonLabelOverrideBaseInput","priceMode","priceError","Error","wrongNetwork","isTokenFromInsufficientBalance","receiverRequiredButNotSet","getButtonLabelOverrideBase","message","getSwapButtonLabelOverride","isDangerSwap","baseParams","baseOverride","useWidgetButtonConditions","t0","$","_c","tokenFrom","tokenTo","tradeMode","walletChainMatchesAppChain","isConnected","t1","tokensAreSame","t2","UseExtraPropsInput","UseExtraPropsReturn","disabled","labelOverride","className","dangerSwapBtnClassName","useWidgetButtonExtraProps","cachedError","getPriceImpact","degenMode","priceImpact","isHighImpact","isUnavailable","isAccountContract","data","isContract","isCrosschain","receiver","t3","t4","undefined","t5","useLimitButtonExtraProps","unsupportedChain","unsupportedTokens","network","isCrosschainLimitOrder","Symbol","for","enabled","error","limitPriceError","limitReceiverAddress","connectedButNoReceiver","useOtcButtonExtraProps","otcReceiverAddress","useTwapButtonExtraProps","isSliceTooShort"],"sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"sourcesContent":["import { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useCurrentSwapPriceError } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useCurrentTwapPriceError } from \"@/hooks/swap/prices/useTwapPrices\";\n\nimport { useIsTokenFromInsufficientBalance } from \"@/hooks/tokens/balances/useIsInsufficientTokenBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useOtcReceiverAddressValue } from \"@/core/otc/state/receiverAddressAtom\";\nimport { useUnsupportedLimitChain } from \"@/core/limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"@/core/otc/useOtcNotSupported\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { useUnsupportedLimitTokens } from \"@/core/limit/useLimitTokenToInputProps\";\nimport { useDeltaSwapPriceForLimit } from \"@/core/limit/useLimitRate\";\nimport { useLimitReceiverAddressValue } from \"@/core/limit/state/receiverAddressAtom\";\nimport { useChainMatches } from \"@/hooks/useChainMatches\";\nimport { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport { useTwapSliceTooShort } from \"@/core/twap/state/twapParamsAtom\";\n\nconst errorMessageByApiErrorMessage: Record<string, string> = {\n ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT: \"Price Impact Too High\",\n \"No routes found with enough liquidity\": \"No Liquidity\",\n \"Bad USD price\": \"Price Error\",\n};\n\ntype GetButtonLabelOverrideBaseInput = {\n priceMode?: \"market\" | \"delta\";\n priceError?: Error | null;\n wrongNetwork: boolean;\n isTokenFromInsufficientBalance: boolean;\n receiverRequiredButNotSet?: boolean;\n};\n\nfunction getButtonLabelOverrideBase({\n priceMode,\n priceError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n}: GetButtonLabelOverrideBaseInput) {\n if (priceMode === \"market\" && priceError)\n return errorMessageByApiErrorMessage[priceError.message];\n\n if (wrongNetwork) return \"You are on the wrong network\";\n if (isTokenFromInsufficientBalance) return \"Insufficient funds\";\n if (receiverRequiredButNotSet) return \"Add a receiving address\";\n}\n\nfunction getSwapButtonLabelOverride({\n isDangerSwap,\n ...baseParams\n}: {\n isDangerSwap?: boolean;\n} & GetButtonLabelOverrideBaseInput): string | undefined {\n const baseOverride = getButtonLabelOverrideBase(baseParams);\n if (baseOverride) return baseOverride;\n if (isDangerSwap) return \"Swap Anyway\";\n}\n\nfunction useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode,\n}: UseExtraPropsInput) {\n const { walletChainMatchesAppChain, isConnected } = useChainMatches();\n\n const wrongNetwork = !walletChainMatchesAppChain;\n\n // protection against same tokens, because we cannot rely on setTokenAtom() to handle ALL possible cases\n const tokensAreSame =\n tokenFrom && tokenTo && areTokensSame(tokenFrom, tokenTo);\n\n const isTokenFromInsufficientBalance =\n useIsTokenFromInsufficientBalance(tradeMode);\n\n return {\n isConnected,\n wrongNetwork,\n tokensAreSame,\n isTokenFromInsufficientBalance,\n };\n}\n\ntype UseExtraPropsInput = {\n tokenFrom?: Token;\n tokenTo?: Token;\n tradeMode: TradeMode;\n};\ntype UseExtraPropsReturn = {\n disabled: boolean;\n labelOverride?: string;\n className?: string;\n isConnected: boolean;\n};\n\nconst dangerSwapBtnClassName = \"bg-secondary-radical-red-1\";\n\nexport function useWidgetButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"swap\",\n });\n\n const { priceMode, cachedError, getPriceImpact } = useCurrentSwapPriceError();\n const degenMode = useDegenMode();\n\n const priceImpact = getPriceImpact();\n\n const isDangerSwap = !!(\n priceImpact.isHighImpact || priceImpact.isUnavailable\n );\n\n const isAccountContract = useIsAccountContract().data?.isContract;\n const isCrosschain = useIsCrossChain();\n const receiver = useSwapReceiverAddressValue();\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const receiverRequiredButNotSet =\n !!isAccountContract && isCrosschain && !receiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n receiverRequiredButNotSet ||\n (!degenMode && isDangerSwap);\n\n const labelOverride = getSwapButtonLabelOverride({\n isDangerSwap,\n priceMode,\n priceError: cachedError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n });\n\n return {\n disabled,\n labelOverride,\n isConnected,\n className: isDangerSwap ? dangerSwapBtnClassName : undefined,\n };\n}\n\nexport function useLimitButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"limit\",\n });\n const unsupportedChain = useUnsupportedLimitChain();\n\n const { unsupportedTokens } = useUnsupportedLimitTokens();\n\n const isCrosschain =\n tokenFrom && tokenTo && tokenFrom.network !== tokenTo.network;\n\n const isCrosschainLimitOrder = isCrosschain;\n\n const { error: limitPriceError } = useDeltaSwapPriceForLimit({\n enabled: false,\n });\n\n const priceError = isCrosschainLimitOrder ? limitPriceError : undefined;\n\n const limitReceiverAddress = useLimitReceiverAddressValue();\n const isAccountContract = useIsAccountContract().data?.isContract;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n const connectedButNoReceiver = !limitReceiverAddress;\n\n const receiverRequiredButNotSet =\n // require receiver address filled when wallet=Smart Contract and Order is crosschain\n !!isAccountContract && !!isCrosschain && connectedButNoReceiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n !!unsupportedTokens ||\n !!priceError ||\n receiverRequiredButNotSet;\n\n const labelOverride = getButtonLabelOverrideBase({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n priceError,\n priceMode: \"delta\",\n });\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n return {\n disabled,\n labelOverride,\n className,\n isConnected,\n };\n}\n\nexport function useOtcButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"otc\",\n });\n\n const otcReceiverAddress = useOtcReceiverAddressValue();\n const unsupportedChain = useUnsupportedOtcChain();\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const connectedButNoReceiver = isConnected && !otcReceiverAddress;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n connectedButNoReceiver;\n\n const labelOverride = getButtonLabelOverrideBase({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet: connectedButNoReceiver, // receiver always required for OTC\n });\n\n return {\n labelOverride,\n disabled,\n className,\n isConnected,\n };\n}\n\nexport function useTwapButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"twap\",\n });\n const isSliceTooShort = useTwapSliceTooShort();\n\n const { cachedError, getPriceImpact } = useCurrentTwapPriceError();\n const degenMode = useDegenMode();\n\n const priceImpact = getPriceImpact();\n\n const isDangerSwap = !!(\n priceImpact.isHighImpact || priceImpact.isUnavailable\n );\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n (!degenMode && isDangerSwap) ||\n isSliceTooShort;\n\n const labelOverride = getSwapButtonLabelOverride({\n isDangerSwap,\n priceMode: \"delta\",\n priceError: cachedError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n });\n\n return {\n disabled,\n labelOverride,\n isConnected,\n className: isDangerSwap ? dangerSwapBtnClassName : undefined,\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAoBA,IAAMkB,IAAwD;CAC5DE,wCAAwC;CACxC,yCAAyC;CACzC,iBAAiB;CAClB;AAUD,SAASQ,EAA2B,EAClCN,cACAC,eACAE,iBACAC,mCACAC,gCACkC;CAClC,IAAIL,MAAc,YAAYC,GAC5B,OAAOL,EAA8BK,EAAWM;CAElD,IAAIJ,GAAc,OAAO;CACzB,IAAIC,GAAgC,OAAO;CAC3C,IAAIC,GAA2B,OAAO;;AAGxC,SAASG,EAA2B,EAClCC,iBACA,GAAGC,KAGoD;CACvD,IAAMC,IAAeL,EAA2BI,EAAW;CAC3D,IAAIC,GAAc,OAAOA;CACzB,IAAIF,GAAc,OAAO;;AAG3B,SAAAG,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAmC,EAAAC,cAAAC,YAAAC,iBAAAL,GAKjC,EAAAM,+BAAAC,mBAAoD3B,GAAiB,EAErEU,IAAqB,CAACgB,GAA2BE;CAAA,AAAAP,EAAA,OAAAE,KAAAF,EAAA,OAAAG,KAI/CI,IAAAL,KAAAC,KAAwBjC,EAAcgC,GAAWC,EAAQ,EAAAH,EAAA,KAAAE,GAAAF,EAAA,KAAAG,GAAAH,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAD3D,IAAAQ,IACED,GAEFjB,IACEtB,EAAkCoC,EAAU,EAACK;CAO9C,OAP8CT,EAAA,OAAAM,KAAAN,EAAA,OAAAV,KAAAU,EAAA,OAAAQ,KAAAR,EAAA,OAAAX,KAExCoB,IAAA;EAAAH;EAAAjB;EAAAmB;EAAAlB;EAKN,EAAAU,EAAA,KAAAM,GAAAN,EAAA,KAAAV,GAAAU,EAAA,KAAAQ,GAAAR,EAAA,KAAAX,GAAAW,EAAA,KAAAS,KAAAA,IAAAT,EAAA,IALMS;;AAoBT,IAAMM,IAAyB;AAE/B,SAAOC,EAAAjB,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAmC,EAAAC,cAAAC,eAAAJ,GAGFQ;CAAA,AAAAP,EAAA,OAAAE,KAAAF,EAAA,OAAAG,KAMRI,IAAA;EAAAL;EAAAC;EAAAC,WAGjB;EACZ,EAAAJ,EAAA,KAAAE,GAAAF,EAAA,KAAAG,GAAAH,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CATD,IAAA,EAAAX,iBAAAC,mCAAAkB,kBAAAF,mBAKIR,EAA0BS,EAI5B,EAEF,EAAArB,cAAA+B,gBAAAC,sBAAmDpD,GAA0B,EAC7EqD,IAAkBvC,GAAc,EAAC6B;CAAA,AAAAT,EAAA,OAAAkB,IAEGT,IAAAT,EAAA,MAAhBS,IAAAS,GAAgB,EAAAlB,EAAA,KAAAkB,GAAAlB,EAAA,KAAAS;CAApC,IAAAW,IAAoBX,GAEpBd,IAAqB,CAAC,EACpByB,EAAWC,gBAAiBD,EAAWE,gBAGzCC,IAA0B1D,GAAsB,CAAA2D,MAAiBC,YACjEC,IAAqBvD,GAAiB,EACtCwD,IAAiB/D,GAA6B;CAE9C,IAAI,CAAC0C,GAAW;EAAA,IAAAsB;EACyB,OADzB5B,EAAA,OAAAM,IACyBsB,IAAA5B,EAAA,MAAhC4B,IAAA;GAAAhB,UAAY;GAAKN;GAAe,EAAAN,EAAA,KAAAM,GAAAN,EAAA,KAAA4B,IAAhCA;;CAGT,IAAArC,IACE,CAAC,CAACgC,KAAFG,KAAA,CAAwCC,GAE1Cf,IACEvB,KAAAmB,KAAAlB,KAAAC,KAIC,CAAC4B,KAADxB,GAA4BiC;CAAA,AAAA5B,EAAA,OAAAiB,KAAAjB,EAAA,OAAAL,KAAAK,EAAA,OAAAV,KAAAU,EAAA,QAAAd,KAAAc,EAAA,QAAAT,KAAAS,EAAA,QAAAX,KAETuC,IAAAlC,EAA2B;EAAAC;EAAAT;EAAAC,YAGnC8B;EAAW5B;EAAAC;EAAAC;EAIxB,CAAC,EAAAS,EAAA,KAAAiB,GAAAjB,EAAA,KAAAL,GAAAK,EAAA,KAAAV,GAAAU,EAAA,MAAAd,GAAAc,EAAA,MAAAT,GAAAS,EAAA,MAAAX,GAAAW,EAAA,MAAA4B,KAAAA,IAAA5B,EAAA;CAPF,IAAAa,IAAsBe,GAaTC,IAAAlC,IAAAoB,IAAAe,KAAAA,GAAiDC;CAC7D,OAD6D/B,EAAA,QAAAY,KAAAZ,EAAA,QAAAM,KAAAN,EAAA,QAAAa,KAAAb,EAAA,QAAA6B,KAJvDE,IAAA;EAAAnB;EAAAC;EAAAP;EAAAQ,WAIMe;EACZ,EAAA7B,EAAA,MAAAY,GAAAZ,EAAA,MAAAM,GAAAN,EAAA,MAAAa,GAAAb,EAAA,MAAA6B,GAAA7B,EAAA,MAAA+B,KAAAA,IAAA/B,EAAA,KALM+B;;AAQT,SAAOC,EAAAjC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAkC,EAAAC,cAAAC,eAAAJ,GAGDQ;CAAA,AAAAP,EAAA,OAAAE,KAAAF,EAAA,OAAAG,KAMRI,IAAA;EAAAL;EAAAC;EAAAC,WAGjB;EACZ,EAAAJ,EAAA,KAAAE,GAAAF,EAAA,KAAAG,GAAAH,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CATD,IAAA,EAAAX,iBAAAC,mCAAAkB,kBAAAF,mBAKIR,EAA0BS,EAI5B,EACF0B,IAAyB5D,GAA0B,EAEnD,EAAA6D,yBAA8B1D,GAA2B,EAEzDkD,IACExB,KAAAC,KAAwBD,EAASiC,YAAahC,EAAOgC,SAEvDC,IAA+BV,GAAajB;CAAA,AAAAT,EAAA,OAAAqC,OAAAC,IAAA,4BAAA,IAEiB7B,IAAA,EAAA8B,SAClD,IACV,EAAAvC,EAAA,KAAAS,KAAAA,IAAAT,EAAA;CAFD,IAAA,EAAAwC,OAAAC,MAAmChE,EAA0BgC,EAE3D,EAEFtB,IAAmBiD,IAAAK,IAAAX,KAAAA,GAEnBY,IAA6BhE,GAA8B,EAC3D6C,IAA0B1D,GAAsB,CAAA2D,MAAiBC;CAEjE,IAAI,CAACnB,GAAW;EAAA,IAAAsB;EACyB,OADzB5B,EAAA,OAAAM,IACyBsB,IAAA5B,EAAA,MAAhC4B,IAAA;GAAAhB,UAAY;GAAKN;GAAe,EAAAN,EAAA,KAAAM,GAAAN,EAAA,KAAA4B,IAAhCA;;CAIT,IAAArC,IAEE,CAAC,CAACgC,KAAF,CAAwB,CAACG,KAAzBiB,CAJ8BD,GAMhC9B,IACEvB,KAAAmB,KAAAlB,KAAA,CAGC,CAAC4C,KAHF,CAIC,CAAC/C,KAJFI,GAK0BqC;CAAA,AAAA5B,EAAA,OAAAV,KAAAU,EAAA,OAAAb,KAAAa,EAAA,OAAAT,KAAAS,EAAA,OAAAX,KAENuC,IAAApC,EAA2B;EAAAH;EAAAC;EAAAC;EAAAJ;EAAAD,WAKpC;EACZ,CAAC,EAAAc,EAAA,KAAAV,GAAAU,EAAA,KAAAb,GAAAa,EAAA,KAAAT,GAAAS,EAAA,KAAAX,GAAAW,EAAA,MAAA4B,KAAAA,IAAA5B,EAAA;CANF,IAAAa,IAAsBe,GAQtBd,IAAkBmB,IAAA,wBAAAH,KAAAA,GAAqDD;CAOtE,OAPsE7B,EAAA,QAAAc,KAAAd,EAAA,QAAAY,KAAAZ,EAAA,QAAAM,KAAAN,EAAA,QAAAa,KAEhEgB,IAAA;EAAAjB;EAAAC;EAAAC;EAAAR;EAKN,EAAAN,EAAA,MAAAc,GAAAd,EAAA,MAAAY,GAAAZ,EAAA,MAAAM,GAAAN,EAAA,MAAAa,GAAAb,EAAA,MAAA6B,KAAAA,IAAA7B,EAAA,KALM6B;;AAQT,SAAOe,EAAA7C,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAgC,EAAAC,cAAAC,eAAAJ,GAGCQ;CAAA,AAAAP,EAAA,OAAAE,KAAAF,EAAA,OAAAG,KAMRI,IAAA;EAAAL;EAAAC;EAAAC,WAGjB;EACZ,EAAAJ,EAAA,KAAAE,GAAAF,EAAA,KAAAG,GAAAH,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CATD,IAAA,EAAAX,iBAAAC,mCAAAkB,kBAAAF,mBAKIR,EAA0BS,EAI5B,EAEFsC,IAA2BzE,GAA4B,EAGvD0C,IAFyBxC,GAEP2D,GAAA,wBAAAH,KAAAA;CAElB,IAAI,CAACxB,GAAW;EAAA,IAAAG;EACyB,OADzBT,EAAA,OAAAM,IACyBG,IAAAT,EAAA,MAAhCS,IAAA;GAAAG,UAAY;GAAKN;GAAe,EAAAN,EAAA,KAAAM,GAAAN,EAAA,KAAAS,IAAhCA;;CAGT,IAAAkC,IAA+BrC,KAAA,CAAgBuC,GAE/CjC,IACEvB,KAAAmB,KAAAlB,KAAAqD,GAGuBlC;CAAA,AAAAT,EAAA,OAAA2C,KAAA3C,EAAA,OAAAV,KAAAU,EAAA,OAAAX,KAEHoB,IAAAjB,EAA2B;EAAAH;EAAAC;EAAAC,2BAGpBoD;EAC5B,CAAC,EAAA3C,EAAA,KAAA2C,GAAA3C,EAAA,KAAAV,GAAAU,EAAA,KAAAX,GAAAW,EAAA,KAAAS,KAAAA,IAAAT,EAAA;CAJF,IAAAa,IAAsBJ,GAInBmB;CAOF,OAPE5B,EAAA,OAAAc,KAAAd,EAAA,QAAAY,KAAAZ,EAAA,QAAAM,KAAAN,EAAA,QAAAa,KAEIe,IAAA;EAAAf;EAAAD;EAAAE;EAAAR;EAKN,EAAAN,EAAA,KAAAc,GAAAd,EAAA,MAAAY,GAAAZ,EAAA,MAAAM,GAAAN,EAAA,MAAAa,GAAAb,EAAA,MAAA4B,KAAAA,IAAA5B,EAAA,KALM4B;;AAQT,SAAOkB,EAAA/C,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAiC,EAAAC,cAAAC,eAAAJ,GAGAQ;CAAA,AAAAP,EAAA,OAAAE,KAAAF,EAAA,OAAAG,KAMRI,IAAA;EAAAL;EAAAC;EAAAC,WAGjB;EACZ,EAAAJ,EAAA,KAAAE,GAAAF,EAAA,KAAAG,GAAAH,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CATD,IAAA,EAAAX,iBAAAC,mCAAAkB,kBAAAF,mBAKIR,EAA0BS,EAI5B,EACFwC,IAAwBlE,GAAsB,EAE9C,EAAAoC,gBAAAC,sBAAwCnD,GAA0B,EAClEoD,IAAkBvC,GAAc,EAAC6B;CAAA,AAAAT,EAAA,OAAAkB,IAEGT,IAAAT,EAAA,MAAhBS,IAAAS,GAAgB,EAAAlB,EAAA,KAAAkB,GAAAlB,EAAA,KAAAS;CAApC,IAAAW,IAAoBX,GAEpBd,IAAqB,CAAC,EACpByB,EAAWC,gBAAiBD,EAAWE;CAGzC,IAAI,CAAChB,GAAW;EAAA,IAAAsB;EACyB,OADzB5B,EAAA,OAAAM,IACyBsB,IAAA5B,EAAA,MAAhC4B,IAAA;GAAAhB,UAAY;GAAKN;GAAe,EAAAN,EAAA,KAAAM,GAAAN,EAAA,KAAA4B,IAAhCA;;CAGT,IAAAhB,IACEvB,KAAAmB,KAAAlB,KAGC,CAAC6B,KAADxB,KAHDoD,GAIgBnB;CAAA,AAAA5B,EAAA,OAAAiB,KAAAjB,EAAA,OAAAL,KAAAK,EAAA,OAAAV,KAAAU,EAAA,QAAAX,KAEIuC,IAAAlC,EAA2B;EAAAC;EAAAT,WAEpC;EAAOC,YACN8B;EAAW5B;EAAAC;EAGxB,CAAC,EAAAU,EAAA,KAAAiB,GAAAjB,EAAA,KAAAL,GAAAK,EAAA,KAAAV,GAAAU,EAAA,MAAAX,GAAAW,EAAA,MAAA4B,KAAAA,IAAA5B,EAAA;CANF,IAAAa,IAAsBe,GAYTC,IAAAlC,IAAAoB,IAAAe,KAAAA,GAAiDC;CAC7D,OAD6D/B,EAAA,QAAAY,KAAAZ,EAAA,QAAAM,KAAAN,EAAA,QAAAa,KAAAb,EAAA,QAAA6B,KAJvDE,IAAA;EAAAnB;EAAAC;EAAAP;EAAAQ,WAIMe;EACZ,EAAA7B,EAAA,MAAAY,GAAAZ,EAAA,MAAAM,GAAAN,EAAA,MAAAa,GAAAb,EAAA,MAAA6B,GAAA7B,EAAA,MAAA+B,KAAAA,IAAA/B,EAAA,KALM+B"}
|
|
1
|
+
{"version":3,"file":"useWidgetButtonExtraProps.js","names":["useSwapReceiverAddressValue","useSetOpenDrawer","useIsAccountContract","useCurrentSwapPriceError","useCurrentTwapPriceError","useIsTokenFromInsufficientBalance","Token","areTokensSame","useIsCrossChain","useOtcReceiverAddressValue","useUnsupportedLimitChain","useUnsupportedOtcChain","TradeMode","useUnsupportedLimitTokens","useDeltaSwapPriceForLimit","useLimitReceiverAddressValue","useChainMatches","useDegenMode","useTwapSliceTooShort","errorMessageByApiErrorMessage","Record","ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT","GetButtonLabelOverrideBaseInput","priceMode","priceError","Error","wrongNetwork","isTokenFromInsufficientBalance","receiverRequiredButNotSet","LabelOverrideReason","GetButtonLabelOverrideBaseReturn","reason","TReason","label","getButtonLabelOverrideBase","message","getSwapButtonLabelOverride","isDangerSwap","baseParams","baseOverride","useWidgetButtonConditions","t0","$","_c","tokenFrom","tokenTo","tradeMode","walletChainMatchesAppChain","isConnected","t1","tokensAreSame","t2","UseExtraPropsInput","UseExtraPropsReturn","disabled","labelOverride","className","onClick","dangerSwapBtnClassName","useWidgetButtonExtraProps","cachedError","getPriceImpact","degenMode","priceImpact","isHighImpact","isUnavailable","isAccountContract","data","isContract","isCrosschain","receiver","setOpenDrawer","t3","overrides","isReceiverAddressAction","t4","t5","undefined","t6","t7","useLimitButtonExtraProps","unsupportedChain","unsupportedTokens","network","isCrosschainLimitOrder","Symbol","for","enabled","error","limitPriceError","limitReceiverAddress","connectedButNoReceiver","useOtcButtonExtraProps","otcReceiverAddress","useTwapButtonExtraProps","isSliceTooShort"],"sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"sourcesContent":["import { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useSetOpenDrawer } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useCurrentSwapPriceError } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useCurrentTwapPriceError } from \"@/hooks/swap/prices/useTwapPrices\";\n\nimport { useIsTokenFromInsufficientBalance } from \"@/hooks/tokens/balances/useIsInsufficientTokenBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useOtcReceiverAddressValue } from \"@/core/otc/state/receiverAddressAtom\";\nimport { useUnsupportedLimitChain } from \"@/core/limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"@/core/otc/useOtcNotSupported\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { useUnsupportedLimitTokens } from \"@/core/limit/useLimitTokenToInputProps\";\nimport { useDeltaSwapPriceForLimit } from \"@/core/limit/useLimitRate\";\nimport { useLimitReceiverAddressValue } from \"@/core/limit/state/receiverAddressAtom\";\nimport { useChainMatches } from \"@/hooks/useChainMatches\";\nimport { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport { useTwapSliceTooShort } from \"@/core/twap/state/twapParamsAtom\";\n\nconst errorMessageByApiErrorMessage: Record<string, string> = {\n ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT: \"Price Impact Too High\",\n \"No routes found with enough liquidity\": \"No Liquidity\",\n \"Bad USD price\": \"Price Error\",\n};\n\ntype GetButtonLabelOverrideBaseInput = {\n priceMode?: \"market\" | \"delta\";\n priceError?: Error | null;\n wrongNetwork: boolean;\n isTokenFromInsufficientBalance: boolean;\n receiverRequiredButNotSet?: boolean;\n};\n\ntype LabelOverrideReason =\n | \"priceError\"\n | \"wrongNetwork\"\n | \"insufficientBalance\"\n | \"receiverAddressRequired\";\n\ntype GetButtonLabelOverrideBaseReturn<\n TReason extends string = LabelOverrideReason,\n> = { reason: TReason; label: string } | undefined;\n\nfunction getButtonLabelOverrideBase({\n priceMode,\n priceError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n}: GetButtonLabelOverrideBaseInput): GetButtonLabelOverrideBaseReturn {\n if (priceMode === \"market\" && priceError) {\n const label = errorMessageByApiErrorMessage[priceError.message];\n if (!label) return;\n return {\n reason: \"priceError\",\n label,\n };\n }\n if (wrongNetwork)\n return {\n reason: \"wrongNetwork\",\n label: \"You are on the wrong network\",\n };\n if (isTokenFromInsufficientBalance)\n return {\n reason: \"insufficientBalance\",\n label: \"Insufficient funds\",\n };\n if (receiverRequiredButNotSet)\n return {\n reason: \"receiverAddressRequired\",\n label: \"Add a receiving address\",\n };\n}\n\nfunction getSwapButtonLabelOverride({\n isDangerSwap,\n ...baseParams\n}: {\n isDangerSwap?: boolean;\n} & GetButtonLabelOverrideBaseInput): GetButtonLabelOverrideBaseReturn<\n LabelOverrideReason | \"dangerSwap\"\n> {\n const baseOverride = getButtonLabelOverrideBase(baseParams);\n if (baseOverride) return baseOverride;\n if (isDangerSwap) {\n return {\n reason: \"dangerSwap\",\n label: \"Swap Anyway\",\n };\n }\n}\n\nfunction useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode,\n}: UseExtraPropsInput) {\n const { walletChainMatchesAppChain, isConnected } = useChainMatches();\n\n const wrongNetwork = !walletChainMatchesAppChain;\n\n // protection against same tokens, because we cannot rely on setTokenAtom() to handle ALL possible cases\n const tokensAreSame =\n tokenFrom && tokenTo && areTokensSame(tokenFrom, tokenTo);\n\n const isTokenFromInsufficientBalance =\n useIsTokenFromInsufficientBalance(tradeMode);\n\n return {\n isConnected,\n wrongNetwork,\n tokensAreSame,\n isTokenFromInsufficientBalance,\n };\n}\n\ntype UseExtraPropsInput = {\n tokenFrom?: Token;\n tokenTo?: Token;\n tradeMode: TradeMode;\n};\ntype UseExtraPropsReturn = {\n disabled: boolean;\n labelOverride?: string;\n className?: string;\n isConnected: boolean;\n onClick?: () => void;\n};\n\nconst dangerSwapBtnClassName = \"bg-secondary-radical-red-1\";\n\nexport function useWidgetButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"swap\",\n });\n\n const { priceMode, cachedError, getPriceImpact } = useCurrentSwapPriceError();\n const degenMode = useDegenMode();\n\n const priceImpact = getPriceImpact();\n\n const isDangerSwap = !!(\n priceImpact.isHighImpact || priceImpact.isUnavailable\n );\n\n const isAccountContract = useIsAccountContract().data?.isContract;\n const isCrosschain = useIsCrossChain();\n const receiver = useSwapReceiverAddressValue();\n const setOpenDrawer = useSetOpenDrawer();\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const receiverRequiredButNotSet =\n !!isAccountContract && isCrosschain && !receiver;\n\n const overrides = getSwapButtonLabelOverride({\n isDangerSwap,\n priceMode,\n priceError: cachedError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n });\n\n // when the visible label asks the user to add a receiving address,\n // the button must be clickable so the receiver drawer can open\n const isReceiverAddressAction =\n overrides?.reason === \"receiverAddressRequired\";\n\n const disabled = isReceiverAddressAction\n ? false\n : wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n (!degenMode && isDangerSwap);\n\n return {\n disabled,\n labelOverride: overrides?.label,\n isConnected,\n className:\n isDangerSwap && overrides?.reason === \"dangerSwap\"\n ? dangerSwapBtnClassName\n : undefined,\n onClick: isReceiverAddressAction\n ? () => setOpenDrawer(\"receiver-address-drawer\")\n : undefined,\n };\n}\n\nexport function useLimitButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"limit\",\n });\n const unsupportedChain = useUnsupportedLimitChain();\n\n const { unsupportedTokens } = useUnsupportedLimitTokens();\n\n const isCrosschain =\n tokenFrom && tokenTo && tokenFrom.network !== tokenTo.network;\n\n const isCrosschainLimitOrder = isCrosschain;\n\n const { error: limitPriceError } = useDeltaSwapPriceForLimit({\n enabled: false,\n });\n\n const priceError = isCrosschainLimitOrder ? limitPriceError : undefined;\n\n const limitReceiverAddress = useLimitReceiverAddressValue();\n const isAccountContract = useIsAccountContract().data?.isContract;\n const setOpenDrawer = useSetOpenDrawer();\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n const connectedButNoReceiver = !limitReceiverAddress;\n\n const receiverRequiredButNotSet =\n // require receiver address filled when wallet=Smart Contract and Order is crosschain\n !!isAccountContract && !!isCrosschain && connectedButNoReceiver;\n\n const overrides = getButtonLabelOverrideBase({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n priceError,\n priceMode: \"delta\",\n });\n\n // when the visible label asks the user to add a receiving address,\n // the button must be clickable so the receiver drawer can open\n const isReceiverAddressAction =\n overrides?.reason === \"receiverAddressRequired\";\n\n const disabled = isReceiverAddressAction\n ? false\n : wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n !!unsupportedTokens ||\n !!priceError;\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n return {\n disabled,\n labelOverride: overrides?.label,\n className,\n isConnected,\n onClick: isReceiverAddressAction\n ? () => setOpenDrawer(\"receiver-address-drawer\")\n : undefined,\n };\n}\n\nexport function useOtcButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"otc\",\n });\n\n const otcReceiverAddress = useOtcReceiverAddressValue();\n const unsupportedChain = useUnsupportedOtcChain();\n const setOpenDrawer = useSetOpenDrawer();\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const connectedButNoReceiver = !otcReceiverAddress;\n\n const overrides = getButtonLabelOverrideBase({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet: connectedButNoReceiver, // receiver always required for OTC\n });\n\n // when the visible label asks the user to add a receiving address,\n // the button must be clickable so the receiver drawer can open\n const isReceiverAddressAction =\n overrides?.reason === \"receiverAddressRequired\";\n\n const disabled = isReceiverAddressAction\n ? false\n : wrongNetwork || tokensAreSame || isTokenFromInsufficientBalance;\n\n return {\n labelOverride: overrides?.label,\n disabled,\n className,\n isConnected,\n onClick: isReceiverAddressAction\n ? () => setOpenDrawer(\"receiver-address-drawer\")\n : undefined,\n };\n}\n\nexport function useTwapButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"twap\",\n });\n const isSliceTooShort = useTwapSliceTooShort();\n\n const { cachedError, getPriceImpact } = useCurrentTwapPriceError();\n const degenMode = useDegenMode();\n\n const priceImpact = getPriceImpact();\n\n const isDangerSwap = !!(\n priceImpact.isHighImpact || priceImpact.isUnavailable\n );\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n (!degenMode && isDangerSwap) ||\n isSliceTooShort;\n\n const overrides = getSwapButtonLabelOverride({\n isDangerSwap,\n priceMode: \"delta\",\n priceError: cachedError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n });\n\n return {\n disabled,\n labelOverride: overrides?.label,\n isConnected,\n className:\n isDangerSwap && overrides?.reason === \"dangerSwap\"\n ? dangerSwapBtnClassName\n : undefined,\n };\n}\n"],"mappings":"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"}
|
package/dist/core/index.js
CHANGED
|
@@ -472,7 +472,7 @@ function pt() {
|
|
|
472
472
|
return e[0] === t ? n = e[1] : (n = /* @__PURE__ */ Q(C, { ...t }), e[0] = t, e[1] = n), n;
|
|
473
473
|
}
|
|
474
474
|
function mt() {
|
|
475
|
-
let e = Z(
|
|
475
|
+
let e = Z(29), t = O(), n;
|
|
476
476
|
e[0] !== t.isLoading || e[1] !== t.price || e[2] !== t.priceMode || e[3] !== t.tokenFromAmount ? (n = {
|
|
477
477
|
override: t.tokenFromAmount,
|
|
478
478
|
activeSwapMode: t.priceMode,
|
|
@@ -501,15 +501,16 @@ function mt() {
|
|
|
501
501
|
tokenTo: a.token
|
|
502
502
|
}, e[17] = r.token, e[18] = a.token, e[19] = c) : c = e[19];
|
|
503
503
|
let l = de(c), u = t.priceMode === "market" ? t.price : void 0, d = t.priceMode === "delta" ? t.price : void 0, f;
|
|
504
|
-
return e[20] !== l.className || e[21] !== l.disabled || e[22] !== l.labelOverride || e[23] !==
|
|
504
|
+
return e[20] !== l.className || e[21] !== l.disabled || e[22] !== l.labelOverride || e[23] !== l.onClick || e[24] !== s || e[25] !== t.priceMode || e[26] !== u || e[27] !== d ? (f = /* @__PURE__ */ Q(xt, {
|
|
505
505
|
orderProps: s,
|
|
506
506
|
marketPrice: u,
|
|
507
507
|
deltaPrice: d,
|
|
508
508
|
priceMode: t.priceMode,
|
|
509
509
|
disabled: l.disabled,
|
|
510
510
|
labelOverride: l.labelOverride,
|
|
511
|
-
className: l.className
|
|
512
|
-
|
|
511
|
+
className: l.className,
|
|
512
|
+
onClick: l.onClick
|
|
513
|
+
}), e[20] = l.className, e[21] = l.disabled, e[22] = l.labelOverride, e[23] = l.onClick, e[24] = s, e[25] = t.priceMode, e[26] = u, e[27] = d, e[28] = f) : f = e[28], f;
|
|
513
514
|
}
|
|
514
515
|
function ht() {
|
|
515
516
|
let e = Z(13), t = O(), n;
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["DevTools","TokenInput","useTokenFromInputProps","Button","JotaiProvider","QueryClientProvider","Web3Providers","useAccount","WIDGET_ELEMENT_ID","WIDGET_HEIGHT_CLASSNAME","Updaters","useTokenToInputProps","TokenSwitcher","TokenSwitcherComp","WidgetProps","cn","useSwapTokenSwitcherProps","runSubscriptions","PrivyIframeDependency","SwapModeSwitcherExpandable","useTokenInputsFromPrice","MinTradeOverviewProps","DeltaPriceV2","OptimalRate","SwapMode","SwapDetailsExpandable","ReceiverAddress","jotaiStore","useAtomValue","useSetAtom","useHydrateAtoms","containerAtom","AppHeader","useLayoutEffect","useRef","defaultSubConfig","defaultWidgetConfig","excludeUIAtom","useWidgetConfig","setSubConfigAtom","setWidgetConfigAtom","PoweredBy","useWidgetButtonExtraProps","useSwapPrices","Toaster","externalProviderAtom","AutoconnectExternalProvider","SwapTradeFlowScreenButton","TwapTradeFlowScreenButton","ConnectWalletDrawerButton","PriceInput","OrderExpiryInput","useLimitTokenToInputProps","useLimitTokenFromInputProps","useTradeMode","TradeMode","useDrawerContainerHeightTransition","InWidgetDrawerOverlay","LimitOrderButton","LimitOrderDetails","useOtcTokenFromInputProps","useOtcTokenToInputProps","useLimitPriceInputProps","useOtcPriceInputProps","OtcOrderButton","OtcOrderDetails","SwapWidgetWarning","TwapWarnings","WidgetWarning","useUnsupportedLimitChain","useUnsupportedOtcChain","useLimitTokenSwitcherProps","useOtcTokenSwitcherProps","useTwapTokenFromInputProps","useTwapTokenToInputProps","useTwapTokenSwitcherProps","TwapOrderDuration","TwapOrderSplit","TwapRateProtection","TwapDetails","useTokenInputsFromTwapPrice","useTwapButtonExtraProps","useSwapReceiverAddress","useOtcReceiverAddress","useWidgetEventsSetter","widgetEventsAtom","formInputPropsAtom","useSetFormInputFromProps","queryClientAtom","useQueryClient","useScreenValue","MainScreenContainer","SecondaryScreenContainer","useCloseScreenOnClickOutside","useResizeObserver","useLimitReceiverAddress","isBridgePrice","BridgeSelectorExpandable","ErrorBoundary","useInitialValue","apiConfigAtom","SwapScreen","$","_c","t0","Symbol","for","LimitOrderExtraInputs","priceInputProps","unsupportedChain","t1","t2","t3","OtcOrderExtraInputs","LimitOrderScreen","OtcOrderScreen","TwapExtraInputs","TwapButton","isConnected","overrides","isLoading","tokenFromAmount","override","isPriceLoading","tokenFromInputProps","cachedError","tokenToAmount","priceError","tokenToInputProps","side","amount","token","fromToken","toToken","fromAmount","toAmount","swapSide","undefined","orderProps","tokenFrom","tokenTo","extraProps","t4","className","disabled","labelOverride","price","TwapScreen","tradeModeToScreen","Record","React","FC","swap","limit","otc","twap","MainScreen","tradeMode","TradeModeScreen","App","excludeUI","screenElement","includes","WidgetBase","config","_config","apiConfig","provider","events","input","formInputProps","queryClient","setWidgetConfig","setSubConfig","setApiConfig","destChains","devURLs","partnerConfig","referrerConfig","srcChains","tokenLists","tradeModes","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","store","t15","t16","debug","enableCrossChain","enableDegenMode","enableDelta","privyAppId","privyClientId","theme","widgetMode","t17","t18","t19","apiKey","headers","t20","t21","t22","setExternalProvider","t23","t24","isDappMode","reconnectOnMountInit","t25","t26","t27","t28","t29","import","meta","env","DEV","t30","Widget","Containers","children","setContainerElement","containerRef","widgetConfig","isDrawerFullCover","isDrawerOpen","partialDrawerOpen","dark","WidgetHeader","root","SwapTokenFromInput","priceMode","activeSwapMode","LimitTokenFromInput","OtcTokenFromInput","TwapTokenFromInput","SwapTokenToInput","error","LimitTokenToInput","OtcTokenToInput","TwapTokenToInput","SwapTokenSwitcher","tokenSwitcherProps","LimitTokenSwitcher","OtcTokenSwitcher","TwapTokenSwitcher","SwapButton","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","SwapReceiverAddress","shouldShowReceiverAddress","swapReceiverAddressProps","OtcReceiverAddress","otcReceiverAddressProps","LimitReceiverAddress","limitReceiverAddressProps","swapModeSwitcherClasses","const","SwapModeSwitcher","enabled","delta","market","canBeUsed","ButtonWithDrawerProps","ComponentProps","drawerContainer","HTMLDivElement","marketPrice","deltaPrice","SwapButtonWithDrawer","buttonProps","priceProps"],"sources":["../../src/core/index.tsx"],"sourcesContent":["import \"@/styles/global.css\";\n\nimport { DevTools } from \"./DevTools\"; // Jotai DevTools instantiation needs to be before jotai.createStore (even implicit with default provider)\nimport { TokenInput } from \"@/components/widget/TokenInput\";\nimport { useTokenFromInputProps } from \"./inputs/hooks/useTokenFromInputProps\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n JotaiProvider,\n QueryClientProvider,\n Web3Providers,\n} from \"@/components/web3/providers\";\nimport { useAccount } from \"wagmi\";\nimport { WIDGET_ELEMENT_ID, WIDGET_HEIGHT_CLASSNAME } from \"./constants\";\n\nimport { Updaters } from \"./Updaters\";\nimport { useTokenToInputProps } from \"./inputs/hooks/useTokenToInputProps\";\nimport { TokenSwitcher as TokenSwitcherComp } from \"@/components/widget/TokenSwitcher/TokenSwitcher\";\nimport type { WidgetProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\nimport { useSwapTokenSwitcherProps } from \"./inputs/hooks/useTokenSwitcherProps\";\n\nimport { runSubscriptions } from \"./subscriptions\";\n\nimport { PrivyIframeDependency } from \"@/components/web3/ConnectWallets/privy/iframe\";\nimport { SwapModeSwitcherExpandable } from \"@/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable\";\n\nimport { useTokenInputsFromPrice } from \"@/hooks/swap/prices/useTokenInputsFromPrice\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\n\nimport type { DeltaPriceV2, OptimalRate } from \"@velora-dex/sdk\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { SwapDetailsExpandable } from \"@/components/widget/Details/SwapDetailsExpandable\";\nimport { ReceiverAddress } from \"@/components/widget/ReceiverAddress/ReceiverAddress\";\nimport { jotaiStore, useAtomValue, useSetAtom } from \"@/core/store\";\nimport { useHydrateAtoms } from \"jotai/utils\";\nimport { containerAtom } from \"./state/containerAtom\";\nimport { AppHeader } from \"@/components/widget/AppHeader/AppHeader\";\nimport { useLayoutEffect, useRef } from \"react\";\nimport {\n defaultSubConfig,\n defaultWidgetConfig,\n excludeUIAtom,\n useWidgetConfig,\n} from \"./state/configAtom\";\nimport {\n setSubConfigAtom,\n setWidgetConfigAtom,\n} from \"./state/configActionsAtom\";\nimport { PoweredBy } from \"@/components/widget/PoweredBy/PoweredBy\";\nimport { useWidgetButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapPrices } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { Toaster } from \"./Toaster\";\nimport { externalProviderAtom } from \"./state/externalProviderAtom\";\nimport { AutoconnectExternalProvider } from \"@/components/web3/ConnectExternalProvider/AutoconnectExternal\";\nimport {\n SwapTradeFlowScreenButton,\n TwapTradeFlowScreenButton,\n} from \"./TradeFlowScreenButton\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\nimport { PriceInput } from \"@/components/widget/LimitPriceInput\";\nimport { OrderExpiryInput } from \"@/components/widget/OrderExpiryInput\";\nimport { useLimitTokenToInputProps } from \"./limit/useLimitTokenToInputProps\";\nimport { useLimitTokenFromInputProps } from \"./limit/useLimitTokenFromInputProps\";\nimport { useTradeMode, type TradeMode } from \"./state/tradeModeAtom\";\nimport { useDrawerContainerHeightTransition } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { InWidgetDrawerOverlay } from \"@/components/widget/Drawer/Overlay\";\nimport { LimitOrderButton } from \"./LimitOrderButton\";\nimport { LimitOrderDetails } from \"./LimitOrderDetails\";\nimport { useOtcTokenFromInputProps } from \"./otc/useOtcTokenFromInputProps\";\nimport { useOtcTokenToInputProps } from \"./otc/useOtcTokenToInputProps\";\nimport { useLimitPriceInputProps } from \"./limit/useLimitPriceInputProps\";\nimport { useOtcPriceInputProps } from \"./otc/useOtcPriceInputProps\";\nimport { OtcOrderButton } from \"./OtcOrderButton\";\nimport { OtcOrderDetails } from \"./OtcOrderDetails\";\nimport { SwapWidgetWarning, TwapWarnings, WidgetWarning } from \"./Warnings\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useLimitTokenSwitcherProps } from \"./limit/useLimitTokenSwitcherProps\";\nimport { useOtcTokenSwitcherProps } from \"./otc/useOtcTokenSwitcherProps\";\nimport { useTwapTokenFromInputProps } from \"./twap/useTwapTokenFromInputProps\";\nimport { useTwapTokenToInputProps } from \"./twap/useTwapTokenToInputProps\";\nimport { useTwapTokenSwitcherProps } from \"./twap/useTwapTokenSwitcherProps\";\nimport { TwapOrderDuration } from \"@/components/widget/Twap/OrderDuration\";\nimport { TwapOrderSplit } from \"@/components/widget/Twap/OrderSplit\";\nimport { TwapRateProtection } from \"@/components/widget/Twap/RateProtection\";\nimport { TwapDetails } from \"./TwapDetails\";\nimport { useTokenInputsFromTwapPrice } from \"@/hooks/swap/prices/useTokenInputsFromTwapPrice\";\nimport { useTwapButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapReceiverAddress } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useOtcReceiverAddress } from \"./otc/state/receiverAddressAtom\";\nimport {\n useWidgetEventsSetter,\n widgetEventsAtom,\n} from \"./state/widgetEventsAtom\";\nimport {\n formInputPropsAtom,\n useSetFormInputFromProps,\n} from \"./inputs/state/setTokenByAddressAtom\";\nimport { queryClientAtom } from \"jotai-tanstack-query\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useScreenValue } from \"./screen/state/hooks/useScreenValue\";\nimport {\n MainScreenContainer,\n SecondaryScreenContainer,\n} from \"@/components/widget/Screen/ScreenContainer\";\n\nimport { useCloseScreenOnClickOutside } from \"./screen/hooks/useOnClickOutside\";\nimport { useResizeObserver } from \"./screen/hooks/useResizeObserver\";\n\nimport { useLimitReceiverAddress } from \"./limit/state/receiverAddressAtom\";\nimport { isBridgePrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { BridgeSelectorExpandable } from \"@/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useInitialValue } from \"./screen/hooks/useInitialValue\";\nimport { apiConfigAtom } from \"./state/apiConfigAtom\";\n\nrunSubscriptions();\n\nconst SwapScreen = () => {\n return (\n <>\n <SwapTokenFromInput />\n <SwapTokenSwitcher />\n <SwapTokenToInput />\n <SwapReceiverAddress />\n <WidgetWarning />\n <SwapWidgetWarning />\n <SwapButton />\n <SwapDetails />\n <SwapModeSwitcher />\n </>\n );\n};\n\nconst LimitOrderExtraInputs = () => {\n const priceInputProps = useLimitPriceInputProps();\n const unsupportedChain = useUnsupportedLimitChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"limit\" />\n </div>\n </div>\n );\n};\n\nconst OtcOrderExtraInputs = () => {\n const priceInputProps = useOtcPriceInputProps();\n const unsupportedChain = useUnsupportedOtcChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"otc\" />\n </div>\n </div>\n );\n};\n\nconst LimitOrderScreen = () => {\n return (\n <>\n <LimitTokenFromInput />\n <LimitTokenSwitcher />\n <LimitTokenToInput />\n <LimitOrderExtraInputs />\n <LimitReceiverAddress />\n <WidgetWarning />\n <LimitOrderButton />\n <LimitOrderDetails />\n </>\n );\n};\n\nconst OtcOrderScreen = () => {\n return (\n <>\n <OtcTokenFromInput />\n <OtcTokenSwitcher />\n <OtcTokenToInput />\n <OtcOrderExtraInputs />\n <OtcReceiverAddress />\n <WidgetWarning />\n <OtcOrderButton />\n <OtcOrderDetails />\n </>\n );\n};\n\nconst TwapExtraInputs = () => {\n return (\n <div className=\"flex flex-col gap-4 pt-4\">\n <TwapOrderDuration />\n <TwapOrderSplit />\n <TwapRateProtection />\n </div>\n );\n};\n\nfunction TwapButton() {\n const { isConnected } = useAccount();\n\n const overrides = useTokenInputsFromTwapPrice();\n\n const tokenFromInputProps = useTwapTokenFromInputProps({\n override: overrides.tokenFromAmount,\n isPriceLoading: overrides.isLoading,\n });\n const tokenToInputProps = useTwapTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceError: overrides.cachedError,\n });\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 swapSide: overrides.side,\n }\n : undefined;\n\n const extraProps = useTwapButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n if (!isConnected) return <ConnectWalletDrawerButton />;\n\n return (\n <TwapTradeFlowScreenButton\n orderProps={orderProps}\n twapPrice={overrides.price}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n\nconst TwapScreen = () => {\n return (\n <>\n <TwapTokenFromInput />\n <TwapTokenSwitcher />\n <TwapTokenToInput />\n <TwapExtraInputs />\n <TwapWarnings />\n <TwapDetails />\n <TwapButton />\n </>\n );\n};\n\nconst tradeModeToScreen: Record<TradeMode, React.FC> = {\n swap: SwapScreen,\n limit: LimitOrderScreen,\n otc: OtcOrderScreen,\n twap: TwapScreen,\n};\n\nconst MainScreen = () => {\n const tradeMode = useTradeMode();\n const TradeModeScreen = tradeModeToScreen[tradeMode];\n return <TradeModeScreen />;\n};\n\nconst App = () => {\n const excludeUI = useAtomValue(excludeUIAtom);\n const { screenElement } = useScreenValue();\n\n return (\n <Containers>\n {screenElement ? (\n <SecondaryScreenContainer>{screenElement}</SecondaryScreenContainer>\n ) : (\n <MainScreenContainer>\n <WidgetHeader />\n <MainScreen />\n <PoweredBy />\n </MainScreenContainer>\n )}\n {!excludeUI.includes(\"snackbars\") && <Toaster />}\n </Containers>\n );\n};\n\n// export to use in storybook tests\nexport const WidgetBase = ({\n config: _config,\n apiConfig,\n provider,\n events,\n input: formInputProps,\n}: WidgetProps) => {\n const queryClient = useQueryClient();\n\n const setWidgetConfig = useSetAtom(setWidgetConfigAtom);\n const setSubConfig = useSetAtom(setSubConfigAtom);\n const setApiConfig = useSetAtom(apiConfigAtom);\n\n const {\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n referrerConfig,\n ...config\n } = _config || {};\n\n // hydrating with only partial config overrides values with undefined,\n // so we have default values too\n useHydrateAtoms(\n [\n [setWidgetConfigAtom, { ...defaultWidgetConfig, ...config }],\n [\n setSubConfigAtom,\n {\n ...defaultSubConfig,\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n referrerConfig,\n },\n ],\n [apiConfigAtom, apiConfig || {}],\n [externalProviderAtom, provider || null],\n [widgetEventsAtom, events || {}],\n [formInputPropsAtom, formInputProps || {}],\n // this provider initialisation step is needed so that jotai reference the same\n // queryClient in both atomWithQuery and other parts of the app. Without this,\n // jotai will reference a different instance of queryClient\n [queryClientAtom, queryClient],\n ],\n {\n store: jotaiStore,\n }\n );\n\n useWidgetEventsSetter(events);\n useSetFormInputFromProps(formInputProps);\n\n useLayoutEffect(() => {\n setWidgetConfig({\n theme: config.theme,\n enableDelta: config.enableDelta,\n enableCrossChain: config.enableCrossChain,\n privyAppId: config.privyAppId,\n privyClientId: config.privyClientId,\n debug: config.debug,\n widgetMode: config.widgetMode,\n enableDegenMode: config.enableDegenMode,\n });\n }, [\n config.theme,\n config.enableDelta,\n config.enableCrossChain,\n config.privyAppId,\n config.privyClientId,\n config.debug,\n config.widgetMode,\n config.enableDegenMode,\n setWidgetConfig,\n ]);\n\n useLayoutEffect(() => {\n setSubConfig({\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n referrerConfig,\n });\n }, [\n srcChains,\n destChains,\n tokenLists,\n setSubConfig,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n referrerConfig,\n ]);\n\n useLayoutEffect(() => {\n setApiConfig({\n apiKey: apiConfig?.apiKey,\n headers: apiConfig?.headers,\n });\n }, [apiConfig?.apiKey, apiConfig?.headers, setApiConfig]);\n\n const setExternalProvider = useSetAtom(externalProviderAtom);\n\n useLayoutEffect(() => {\n // update external provider on change\n setExternalProvider(provider || null);\n }, [provider, setExternalProvider]);\n\n const isDappMode = config?.widgetMode === \"dapp\";\n // after initial reconnect (or not reconnect) on mount, we want to keep the same reconnectOnMount value\n // so that onMount logic inside WagmiProvider/Hydrate doesn't re-run.\n // reconnectOnMountInit should be considered reconnectOnRender,\n // in normal Apps where WagmiProvider is at the very top of the tree, first and only render = when mounting,\n // in Widget, because of external props, rerender can happen more often.\n const reconnectOnMountInit = useInitialValue(!isDappMode);\n // reconnectOnMount not in Dapp mode,\n // in Dapp mode, connection happens to provider external provider, when provided, whether onMount or later\n\n return (\n <Web3Providers reconnectOnMount={reconnectOnMountInit}>\n <AutoconnectExternalProvider />\n <PrivyIframeDependency />\n <Updaters />\n <App />\n {import.meta.env.DEV && <DevTools />}\n </Web3Providers>\n );\n};\n\nexport const Widget = ({\n config,\n apiConfig,\n provider,\n events,\n input,\n}: WidgetProps) => {\n return (\n <JotaiProvider>\n <QueryClientProvider>\n <WidgetBase\n config={config}\n apiConfig={apiConfig}\n provider={provider}\n events={events}\n input={input}\n />\n </QueryClientProvider>\n </JotaiProvider>\n );\n};\n\nfunction Containers({ children }: { children: React.ReactNode }) {\n const setContainerElement = useSetAtom(containerAtom);\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n useCloseScreenOnClickOutside(containerRef);\n useResizeObserver(containerRef);\n\n const widgetConfig = useWidgetConfig();\n\n const { isDrawerFullCover, isDrawerOpen } =\n useDrawerContainerHeightTransition(containerRef);\n\n const partialDrawerOpen = isDrawerOpen && !isDrawerFullCover;\n\n return (\n <div\n ref={containerRef}\n // don't use tailwind classes on the root element, because of .velora-widget { @import tailwind/*}\n className={cn(\"velora-widget\", {\n dark: widgetConfig.theme === \"dark\",\n })}\n id={WIDGET_ELEMENT_ID}\n >\n <InWidgetDrawerOverlay open={partialDrawerOpen} />\n\n <div\n // absolutely positioned container on top of parent container with fixed height,\n // but because it's not statically positioned, it doesn't add to the whole widget height\n className={cn(\n \"overflow-hidden bottom-0 left-0 right-0 absolute transition-transform duration-500 z-11 pointer-events-none *:pointer-events-auto\",\n WIDGET_HEIGHT_CLASSNAME\n )}\n ref={setContainerElement}\n />\n {children}\n </div>\n );\n}\n\nfunction WidgetHeader() {\n return <AppHeader classes={{ root: \"mb-4\" }} />;\n}\n\nfunction SwapTokenFromInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction LimitTokenFromInput() {\n const tokenFromInputProps = useLimitTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction OtcTokenFromInput() {\n const tokenFromInputProps = useOtcTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction TwapTokenFromInput() {\n const overrides = useTokenInputsFromTwapPrice();\n const tokenFromInputProps = useTwapTokenFromInputProps({\n override: overrides.tokenFromAmount,\n isPriceLoading: overrides.isLoading,\n });\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction SwapTokenToInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction LimitTokenToInput() {\n const tokenToInputProps = useLimitTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction OtcTokenToInput() {\n const tokenToInputProps = useOtcTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction TwapTokenToInput() {\n const overrides = useTokenInputsFromTwapPrice();\n const tokenToInputProps = useTwapTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceError: overrides.cachedError,\n });\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction SwapTokenSwitcher() {\n const tokenSwitcherProps = useSwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction LimitTokenSwitcher() {\n const tokenSwitcherProps = useLimitTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction OtcTokenSwitcher() {\n const tokenSwitcherProps = useOtcTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction TwapTokenSwitcher() {\n const tokenSwitcherProps = useTwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction SwapButton() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\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 swapSide: overrides.side,\n }\n : undefined;\n\n const extraProps = useWidgetButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n return (\n <SwapButtonWithDrawer\n orderProps={orderProps}\n marketPrice={\n overrides.priceMode === \"market\" ? overrides.price : undefined\n }\n deltaPrice={overrides.priceMode === \"delta\" ? overrides.price : undefined}\n priceMode={overrides.priceMode}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n\nfunction SwapDetails() {\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const fromAmountGtZero = Number(tokenFromInputProps.amount) > 0;\n const shouldShowDetails = fromAmountGtZero && tokenToInputProps.token;\n\n return shouldShowDetails ? <SwapDetailsExpandable /> : null;\n}\n\nfunction SwapReceiverAddress() {\n const { isConnected } = useAccount();\n const shouldShowReceiverAddress = isConnected;\n const swapReceiverAddressProps = useSwapReceiverAddress();\n\n return shouldShowReceiverAddress ? (\n <ReceiverAddress\n classes={{ root: \"mt-2\" }}\n type=\"swap\"\n {...swapReceiverAddressProps}\n />\n ) : null;\n}\n\nfunction OtcReceiverAddress() {\n const unsupportedChain = useUnsupportedOtcChain();\n const otcReceiverAddressProps = useOtcReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"otc\"\n {...otcReceiverAddressProps}\n />\n );\n}\n\nfunction LimitReceiverAddress() {\n const unsupportedChain = useUnsupportedLimitChain();\n const limitReceiverAddressProps = useLimitReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"limit\"\n {...limitReceiverAddressProps}\n />\n );\n}\n\nconst swapModeSwitcherClasses = {\n root: \"mt-4\",\n} as const;\n\nfunction SwapModeSwitcher() {\n const { delta, market, priceMode } = useSwapPrices({ enabled: false });\n // @TODO as on the main UI:\n // 1. Show Market MarketOffers if marketPrice can be switched to and price will fetch\n // 2. Show nothing if only one of the prices can be used\n if (delta.canBeUsed && market.canBeUsed) {\n return (\n <SwapModeSwitcherExpandable\n classes={swapModeSwitcherClasses}\n currentEffectiveMode={priceMode}\n />\n );\n }\n\n if (delta.canBeUsed && delta.price && isBridgePrice(delta.price)) {\n return (\n <ErrorBoundary fallback={null}>\n <BridgeSelectorExpandable\n classes={swapModeSwitcherClasses}\n bridgePrice={delta.price}\n />\n </ErrorBoundary>\n );\n }\n}\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n marketPrice?: OptimalRate;\n deltaPrice?: DeltaPriceV2;\n priceMode: SwapMode;\n labelOverride?: string;\n};\n\nfunction SwapButtonWithDrawer({\n orderProps,\n drawerContainer,\n marketPrice,\n deltaPrice,\n priceMode,\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 const priceProps =\n priceMode === \"delta\"\n ? { price: deltaPrice, priceMode }\n : { price: marketPrice, priceMode };\n\n return (\n <SwapTradeFlowScreenButton\n orderProps={orderProps}\n labelOverride={labelOverride}\n {...priceProps}\n {...buttonProps}\n />\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["DevTools","TokenInput","useTokenFromInputProps","Button","JotaiProvider","QueryClientProvider","Web3Providers","useAccount","WIDGET_ELEMENT_ID","WIDGET_HEIGHT_CLASSNAME","Updaters","useTokenToInputProps","TokenSwitcher","TokenSwitcherComp","WidgetProps","cn","useSwapTokenSwitcherProps","runSubscriptions","PrivyIframeDependency","SwapModeSwitcherExpandable","useTokenInputsFromPrice","MinTradeOverviewProps","DeltaV2","OptimalRate","SwapMode","SwapDetailsExpandable","ReceiverAddress","jotaiStore","useAtomValue","useSetAtom","useHydrateAtoms","containerAtom","AppHeader","useLayoutEffect","useRef","defaultSubConfig","defaultWidgetConfig","excludeUIAtom","useWidgetConfig","setSubConfigAtom","setWidgetConfigAtom","PoweredBy","useWidgetButtonExtraProps","useSwapPrices","Toaster","externalProviderAtom","AutoconnectExternalProvider","SwapTradeFlowScreenButton","TwapTradeFlowScreenButton","ConnectWalletDrawerButton","PriceInput","OrderExpiryInput","useLimitTokenToInputProps","useLimitTokenFromInputProps","useTradeMode","TradeMode","useDrawerContainerHeightTransition","InWidgetDrawerOverlay","LimitOrderButton","LimitOrderDetails","useOtcTokenFromInputProps","useOtcTokenToInputProps","useLimitPriceInputProps","useOtcPriceInputProps","OtcOrderButton","OtcOrderDetails","SwapWidgetWarning","TwapWarnings","WidgetWarning","useUnsupportedLimitChain","useUnsupportedOtcChain","useLimitTokenSwitcherProps","useOtcTokenSwitcherProps","useTwapTokenFromInputProps","useTwapTokenToInputProps","useTwapTokenSwitcherProps","TwapOrderDuration","TwapOrderSplit","TwapRateProtection","TwapDetails","useTokenInputsFromTwapPrice","useTwapButtonExtraProps","useSwapReceiverAddress","useOtcReceiverAddress","useWidgetEventsSetter","widgetEventsAtom","formInputPropsAtom","useSetFormInputFromProps","queryClientAtom","useQueryClient","useScreenValue","MainScreenContainer","SecondaryScreenContainer","useCloseScreenOnClickOutside","useResizeObserver","useLimitReceiverAddress","isBridgePrice","BridgeSelectorExpandable","ErrorBoundary","useInitialValue","apiConfigAtom","SwapScreen","$","_c","t0","Symbol","for","LimitOrderExtraInputs","priceInputProps","unsupportedChain","t1","t2","t3","OtcOrderExtraInputs","LimitOrderScreen","OtcOrderScreen","TwapExtraInputs","TwapButton","isConnected","overrides","isLoading","tokenFromAmount","override","isPriceLoading","tokenFromInputProps","cachedError","tokenToAmount","priceError","tokenToInputProps","side","amount","token","fromToken","toToken","fromAmount","toAmount","swapSide","undefined","orderProps","tokenFrom","tokenTo","extraProps","t4","className","disabled","labelOverride","price","TwapScreen","tradeModeToScreen","Record","React","FC","swap","limit","otc","twap","MainScreen","tradeMode","TradeModeScreen","App","excludeUI","screenElement","includes","WidgetBase","config","_config","apiConfig","provider","events","input","formInputProps","queryClient","setWidgetConfig","setSubConfig","setApiConfig","destChains","devURLs","partnerConfig","referrerConfig","srcChains","tokenLists","tradeModes","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","store","t15","t16","debug","enableCrossChain","enableDegenMode","enableDelta","privyAppId","privyClientId","theme","widgetMode","t17","t18","t19","apiKey","headers","t20","t21","t22","setExternalProvider","t23","t24","isDappMode","reconnectOnMountInit","t25","t26","t27","t28","t29","import","meta","env","DEV","t30","Widget","Containers","children","setContainerElement","containerRef","widgetConfig","isDrawerFullCover","isDrawerOpen","partialDrawerOpen","dark","WidgetHeader","root","SwapTokenFromInput","priceMode","activeSwapMode","LimitTokenFromInput","OtcTokenFromInput","TwapTokenFromInput","SwapTokenToInput","error","LimitTokenToInput","OtcTokenToInput","TwapTokenToInput","SwapTokenSwitcher","tokenSwitcherProps","LimitTokenSwitcher","OtcTokenSwitcher","TwapTokenSwitcher","SwapButton","onClick","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","SwapReceiverAddress","shouldShowReceiverAddress","swapReceiverAddressProps","OtcReceiverAddress","otcReceiverAddressProps","LimitReceiverAddress","limitReceiverAddressProps","swapModeSwitcherClasses","const","SwapModeSwitcher","enabled","delta","market","canBeUsed","ButtonWithDrawerProps","ComponentProps","drawerContainer","HTMLDivElement","marketPrice","deltaPrice","DeltaPrice","SwapButtonWithDrawer","buttonProps","priceProps"],"sources":["../../src/core/index.tsx"],"sourcesContent":["import \"@/styles/global.css\";\n\nimport { DevTools } from \"./DevTools\"; // Jotai DevTools instantiation needs to be before jotai.createStore (even implicit with default provider)\nimport { TokenInput } from \"@/components/widget/TokenInput\";\nimport { useTokenFromInputProps } from \"./inputs/hooks/useTokenFromInputProps\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n JotaiProvider,\n QueryClientProvider,\n Web3Providers,\n} from \"@/components/web3/providers\";\nimport { useAccount } from \"wagmi\";\nimport { WIDGET_ELEMENT_ID, WIDGET_HEIGHT_CLASSNAME } from \"./constants\";\n\nimport { Updaters } from \"./Updaters\";\nimport { useTokenToInputProps } from \"./inputs/hooks/useTokenToInputProps\";\nimport { TokenSwitcher as TokenSwitcherComp } from \"@/components/widget/TokenSwitcher/TokenSwitcher\";\nimport type { WidgetProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\nimport { useSwapTokenSwitcherProps } from \"./inputs/hooks/useTokenSwitcherProps\";\n\nimport { runSubscriptions } from \"./subscriptions\";\n\nimport { PrivyIframeDependency } from \"@/components/web3/ConnectWallets/privy/iframe\";\nimport { SwapModeSwitcherExpandable } from \"@/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable\";\n\nimport { useTokenInputsFromPrice } from \"@/hooks/swap/prices/useTokenInputsFromPrice\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\n\nimport type { DeltaV2, OptimalRate } from \"@velora-dex/sdk\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { SwapDetailsExpandable } from \"@/components/widget/Details/SwapDetailsExpandable\";\nimport { ReceiverAddress } from \"@/components/widget/ReceiverAddress/ReceiverAddress\";\nimport { jotaiStore, useAtomValue, useSetAtom } from \"@/core/store\";\nimport { useHydrateAtoms } from \"jotai/utils\";\nimport { containerAtom } from \"./state/containerAtom\";\nimport { AppHeader } from \"@/components/widget/AppHeader/AppHeader\";\nimport { useLayoutEffect, useRef } from \"react\";\nimport {\n defaultSubConfig,\n defaultWidgetConfig,\n excludeUIAtom,\n useWidgetConfig,\n} from \"./state/configAtom\";\nimport {\n setSubConfigAtom,\n setWidgetConfigAtom,\n} from \"./state/configActionsAtom\";\nimport { PoweredBy } from \"@/components/widget/PoweredBy/PoweredBy\";\nimport { useWidgetButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapPrices } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { Toaster } from \"./Toaster\";\nimport { externalProviderAtom } from \"./state/externalProviderAtom\";\nimport { AutoconnectExternalProvider } from \"@/components/web3/ConnectExternalProvider/AutoconnectExternal\";\nimport {\n SwapTradeFlowScreenButton,\n TwapTradeFlowScreenButton,\n} from \"./TradeFlowScreenButton\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\nimport { PriceInput } from \"@/components/widget/LimitPriceInput\";\nimport { OrderExpiryInput } from \"@/components/widget/OrderExpiryInput\";\nimport { useLimitTokenToInputProps } from \"./limit/useLimitTokenToInputProps\";\nimport { useLimitTokenFromInputProps } from \"./limit/useLimitTokenFromInputProps\";\nimport { useTradeMode, type TradeMode } from \"./state/tradeModeAtom\";\nimport { useDrawerContainerHeightTransition } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { InWidgetDrawerOverlay } from \"@/components/widget/Drawer/Overlay\";\nimport { LimitOrderButton } from \"./LimitOrderButton\";\nimport { LimitOrderDetails } from \"./LimitOrderDetails\";\nimport { useOtcTokenFromInputProps } from \"./otc/useOtcTokenFromInputProps\";\nimport { useOtcTokenToInputProps } from \"./otc/useOtcTokenToInputProps\";\nimport { useLimitPriceInputProps } from \"./limit/useLimitPriceInputProps\";\nimport { useOtcPriceInputProps } from \"./otc/useOtcPriceInputProps\";\nimport { OtcOrderButton } from \"./OtcOrderButton\";\nimport { OtcOrderDetails } from \"./OtcOrderDetails\";\nimport { SwapWidgetWarning, TwapWarnings, WidgetWarning } from \"./Warnings\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useLimitTokenSwitcherProps } from \"./limit/useLimitTokenSwitcherProps\";\nimport { useOtcTokenSwitcherProps } from \"./otc/useOtcTokenSwitcherProps\";\nimport { useTwapTokenFromInputProps } from \"./twap/useTwapTokenFromInputProps\";\nimport { useTwapTokenToInputProps } from \"./twap/useTwapTokenToInputProps\";\nimport { useTwapTokenSwitcherProps } from \"./twap/useTwapTokenSwitcherProps\";\nimport { TwapOrderDuration } from \"@/components/widget/Twap/OrderDuration\";\nimport { TwapOrderSplit } from \"@/components/widget/Twap/OrderSplit\";\nimport { TwapRateProtection } from \"@/components/widget/Twap/RateProtection\";\nimport { TwapDetails } from \"./TwapDetails\";\nimport { useTokenInputsFromTwapPrice } from \"@/hooks/swap/prices/useTokenInputsFromTwapPrice\";\nimport { useTwapButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapReceiverAddress } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useOtcReceiverAddress } from \"./otc/state/receiverAddressAtom\";\nimport {\n useWidgetEventsSetter,\n widgetEventsAtom,\n} from \"./state/widgetEventsAtom\";\nimport {\n formInputPropsAtom,\n useSetFormInputFromProps,\n} from \"./inputs/state/setTokenByAddressAtom\";\nimport { queryClientAtom } from \"jotai-tanstack-query\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useScreenValue } from \"./screen/state/hooks/useScreenValue\";\nimport {\n MainScreenContainer,\n SecondaryScreenContainer,\n} from \"@/components/widget/Screen/ScreenContainer\";\n\nimport { useCloseScreenOnClickOutside } from \"./screen/hooks/useOnClickOutside\";\nimport { useResizeObserver } from \"./screen/hooks/useResizeObserver\";\n\nimport { useLimitReceiverAddress } from \"./limit/state/receiverAddressAtom\";\nimport { isBridgePrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { BridgeSelectorExpandable } from \"@/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useInitialValue } from \"./screen/hooks/useInitialValue\";\nimport { apiConfigAtom } from \"./state/apiConfigAtom\";\n\nrunSubscriptions();\n\nconst SwapScreen = () => {\n return (\n <>\n <SwapTokenFromInput />\n <SwapTokenSwitcher />\n <SwapTokenToInput />\n <SwapReceiverAddress />\n <WidgetWarning />\n <SwapWidgetWarning />\n <SwapButton />\n <SwapDetails />\n <SwapModeSwitcher />\n </>\n );\n};\n\nconst LimitOrderExtraInputs = () => {\n const priceInputProps = useLimitPriceInputProps();\n const unsupportedChain = useUnsupportedLimitChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"limit\" />\n </div>\n </div>\n );\n};\n\nconst OtcOrderExtraInputs = () => {\n const priceInputProps = useOtcPriceInputProps();\n const unsupportedChain = useUnsupportedOtcChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"otc\" />\n </div>\n </div>\n );\n};\n\nconst LimitOrderScreen = () => {\n return (\n <>\n <LimitTokenFromInput />\n <LimitTokenSwitcher />\n <LimitTokenToInput />\n <LimitOrderExtraInputs />\n <LimitReceiverAddress />\n <WidgetWarning />\n <LimitOrderButton />\n <LimitOrderDetails />\n </>\n );\n};\n\nconst OtcOrderScreen = () => {\n return (\n <>\n <OtcTokenFromInput />\n <OtcTokenSwitcher />\n <OtcTokenToInput />\n <OtcOrderExtraInputs />\n <OtcReceiverAddress />\n <WidgetWarning />\n <OtcOrderButton />\n <OtcOrderDetails />\n </>\n );\n};\n\nconst TwapExtraInputs = () => {\n return (\n <div className=\"flex flex-col gap-4 pt-4\">\n <TwapOrderDuration />\n <TwapOrderSplit />\n <TwapRateProtection />\n </div>\n );\n};\n\nfunction TwapButton() {\n const { isConnected } = useAccount();\n\n const overrides = useTokenInputsFromTwapPrice();\n\n const tokenFromInputProps = useTwapTokenFromInputProps({\n override: overrides.tokenFromAmount,\n isPriceLoading: overrides.isLoading,\n });\n const tokenToInputProps = useTwapTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceError: overrides.cachedError,\n });\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 swapSide: overrides.side,\n }\n : undefined;\n\n const extraProps = useTwapButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n if (!isConnected) return <ConnectWalletDrawerButton />;\n\n return (\n <TwapTradeFlowScreenButton\n orderProps={orderProps}\n twapPrice={overrides.price}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n\nconst TwapScreen = () => {\n return (\n <>\n <TwapTokenFromInput />\n <TwapTokenSwitcher />\n <TwapTokenToInput />\n <TwapExtraInputs />\n <TwapWarnings />\n <TwapDetails />\n <TwapButton />\n </>\n );\n};\n\nconst tradeModeToScreen: Record<TradeMode, React.FC> = {\n swap: SwapScreen,\n limit: LimitOrderScreen,\n otc: OtcOrderScreen,\n twap: TwapScreen,\n};\n\nconst MainScreen = () => {\n const tradeMode = useTradeMode();\n const TradeModeScreen = tradeModeToScreen[tradeMode];\n return <TradeModeScreen />;\n};\n\nconst App = () => {\n const excludeUI = useAtomValue(excludeUIAtom);\n const { screenElement } = useScreenValue();\n\n return (\n <Containers>\n {screenElement ? (\n <SecondaryScreenContainer>{screenElement}</SecondaryScreenContainer>\n ) : (\n <MainScreenContainer>\n <WidgetHeader />\n <MainScreen />\n <PoweredBy />\n </MainScreenContainer>\n )}\n {!excludeUI.includes(\"snackbars\") && <Toaster />}\n </Containers>\n );\n};\n\n// export to use in storybook tests\nexport const WidgetBase = ({\n config: _config,\n apiConfig,\n provider,\n events,\n input: formInputProps,\n}: WidgetProps) => {\n const queryClient = useQueryClient();\n\n const setWidgetConfig = useSetAtom(setWidgetConfigAtom);\n const setSubConfig = useSetAtom(setSubConfigAtom);\n const setApiConfig = useSetAtom(apiConfigAtom);\n\n const {\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n referrerConfig,\n ...config\n } = _config || {};\n\n // hydrating with only partial config overrides values with undefined,\n // so we have default values too\n useHydrateAtoms(\n [\n [setWidgetConfigAtom, { ...defaultWidgetConfig, ...config }],\n [\n setSubConfigAtom,\n {\n ...defaultSubConfig,\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n referrerConfig,\n },\n ],\n [apiConfigAtom, apiConfig || {}],\n [externalProviderAtom, provider || null],\n [widgetEventsAtom, events || {}],\n [formInputPropsAtom, formInputProps || {}],\n // this provider initialisation step is needed so that jotai reference the same\n // queryClient in both atomWithQuery and other parts of the app. Without this,\n // jotai will reference a different instance of queryClient\n [queryClientAtom, queryClient],\n ],\n {\n store: jotaiStore,\n }\n );\n\n useWidgetEventsSetter(events);\n useSetFormInputFromProps(formInputProps);\n\n useLayoutEffect(() => {\n setWidgetConfig({\n theme: config.theme,\n enableDelta: config.enableDelta,\n enableCrossChain: config.enableCrossChain,\n privyAppId: config.privyAppId,\n privyClientId: config.privyClientId,\n debug: config.debug,\n widgetMode: config.widgetMode,\n enableDegenMode: config.enableDegenMode,\n });\n }, [\n config.theme,\n config.enableDelta,\n config.enableCrossChain,\n config.privyAppId,\n config.privyClientId,\n config.debug,\n config.widgetMode,\n config.enableDegenMode,\n setWidgetConfig,\n ]);\n\n useLayoutEffect(() => {\n setSubConfig({\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n referrerConfig,\n });\n }, [\n srcChains,\n destChains,\n tokenLists,\n setSubConfig,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n referrerConfig,\n ]);\n\n useLayoutEffect(() => {\n setApiConfig({\n apiKey: apiConfig?.apiKey,\n headers: apiConfig?.headers,\n });\n }, [apiConfig?.apiKey, apiConfig?.headers, setApiConfig]);\n\n const setExternalProvider = useSetAtom(externalProviderAtom);\n\n useLayoutEffect(() => {\n // update external provider on change\n setExternalProvider(provider || null);\n }, [provider, setExternalProvider]);\n\n const isDappMode = config?.widgetMode === \"dapp\";\n // after initial reconnect (or not reconnect) on mount, we want to keep the same reconnectOnMount value\n // so that onMount logic inside WagmiProvider/Hydrate doesn't re-run.\n // reconnectOnMountInit should be considered reconnectOnRender,\n // in normal Apps where WagmiProvider is at the very top of the tree, first and only render = when mounting,\n // in Widget, because of external props, rerender can happen more often.\n const reconnectOnMountInit = useInitialValue(!isDappMode);\n // reconnectOnMount not in Dapp mode,\n // in Dapp mode, connection happens to provider external provider, when provided, whether onMount or later\n\n return (\n <Web3Providers reconnectOnMount={reconnectOnMountInit}>\n <AutoconnectExternalProvider />\n <PrivyIframeDependency />\n <Updaters />\n <App />\n {import.meta.env.DEV && <DevTools />}\n </Web3Providers>\n );\n};\n\nexport const Widget = ({\n config,\n apiConfig,\n provider,\n events,\n input,\n}: WidgetProps) => {\n return (\n <JotaiProvider>\n <QueryClientProvider>\n <WidgetBase\n config={config}\n apiConfig={apiConfig}\n provider={provider}\n events={events}\n input={input}\n />\n </QueryClientProvider>\n </JotaiProvider>\n );\n};\n\nfunction Containers({ children }: { children: React.ReactNode }) {\n const setContainerElement = useSetAtom(containerAtom);\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n useCloseScreenOnClickOutside(containerRef);\n useResizeObserver(containerRef);\n\n const widgetConfig = useWidgetConfig();\n\n const { isDrawerFullCover, isDrawerOpen } =\n useDrawerContainerHeightTransition(containerRef);\n\n const partialDrawerOpen = isDrawerOpen && !isDrawerFullCover;\n\n return (\n <div\n ref={containerRef}\n // don't use tailwind classes on the root element, because of .velora-widget { @import tailwind/*}\n className={cn(\"velora-widget\", {\n dark: widgetConfig.theme === \"dark\",\n })}\n id={WIDGET_ELEMENT_ID}\n >\n <InWidgetDrawerOverlay open={partialDrawerOpen} />\n\n <div\n // absolutely positioned container on top of parent container with fixed height,\n // but because it's not statically positioned, it doesn't add to the whole widget height\n className={cn(\n \"overflow-hidden bottom-0 left-0 right-0 absolute transition-transform duration-500 z-11 pointer-events-none *:pointer-events-auto\",\n WIDGET_HEIGHT_CLASSNAME\n )}\n ref={setContainerElement}\n />\n {children}\n </div>\n );\n}\n\nfunction WidgetHeader() {\n return <AppHeader classes={{ root: \"mb-4\" }} />;\n}\n\nfunction SwapTokenFromInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction LimitTokenFromInput() {\n const tokenFromInputProps = useLimitTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction OtcTokenFromInput() {\n const tokenFromInputProps = useOtcTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction TwapTokenFromInput() {\n const overrides = useTokenInputsFromTwapPrice();\n const tokenFromInputProps = useTwapTokenFromInputProps({\n override: overrides.tokenFromAmount,\n isPriceLoading: overrides.isLoading,\n });\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction SwapTokenToInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction LimitTokenToInput() {\n const tokenToInputProps = useLimitTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction OtcTokenToInput() {\n const tokenToInputProps = useOtcTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction TwapTokenToInput() {\n const overrides = useTokenInputsFromTwapPrice();\n const tokenToInputProps = useTwapTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceError: overrides.cachedError,\n });\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction SwapTokenSwitcher() {\n const tokenSwitcherProps = useSwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction LimitTokenSwitcher() {\n const tokenSwitcherProps = useLimitTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction OtcTokenSwitcher() {\n const tokenSwitcherProps = useOtcTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction TwapTokenSwitcher() {\n const tokenSwitcherProps = useTwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction SwapButton() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\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 swapSide: overrides.side,\n }\n : undefined;\n\n const extraProps = useWidgetButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n return (\n <SwapButtonWithDrawer\n orderProps={orderProps}\n marketPrice={\n overrides.priceMode === \"market\" ? overrides.price : undefined\n }\n deltaPrice={overrides.priceMode === \"delta\" ? overrides.price : undefined}\n priceMode={overrides.priceMode}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n onClick={extraProps.onClick}\n />\n );\n}\n\nfunction SwapDetails() {\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const fromAmountGtZero = Number(tokenFromInputProps.amount) > 0;\n const shouldShowDetails = fromAmountGtZero && tokenToInputProps.token;\n\n return shouldShowDetails ? <SwapDetailsExpandable /> : null;\n}\n\nfunction SwapReceiverAddress() {\n const { isConnected } = useAccount();\n const shouldShowReceiverAddress = isConnected;\n const swapReceiverAddressProps = useSwapReceiverAddress();\n\n return shouldShowReceiverAddress ? (\n <ReceiverAddress\n classes={{ root: \"mt-2\" }}\n type=\"swap\"\n {...swapReceiverAddressProps}\n />\n ) : null;\n}\n\nfunction OtcReceiverAddress() {\n const unsupportedChain = useUnsupportedOtcChain();\n const otcReceiverAddressProps = useOtcReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"otc\"\n {...otcReceiverAddressProps}\n />\n );\n}\n\nfunction LimitReceiverAddress() {\n const unsupportedChain = useUnsupportedLimitChain();\n const limitReceiverAddressProps = useLimitReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"limit\"\n {...limitReceiverAddressProps}\n />\n );\n}\n\nconst swapModeSwitcherClasses = {\n root: \"mt-4\",\n} as const;\n\nfunction SwapModeSwitcher() {\n const { delta, market, priceMode } = useSwapPrices({ enabled: false });\n // @TODO as on the main UI:\n // 1. Show Market MarketOffers if marketPrice can be switched to and price will fetch\n // 2. Show nothing if only one of the prices can be used\n if (delta.canBeUsed && market.canBeUsed) {\n return (\n <SwapModeSwitcherExpandable\n classes={swapModeSwitcherClasses}\n currentEffectiveMode={priceMode}\n />\n );\n }\n\n if (delta.canBeUsed && delta.price && isBridgePrice(delta.price)) {\n return (\n <ErrorBoundary fallback={null}>\n <BridgeSelectorExpandable\n classes={swapModeSwitcherClasses}\n bridgePrice={delta.price}\n />\n </ErrorBoundary>\n );\n }\n}\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n marketPrice?: OptimalRate;\n deltaPrice?: DeltaV2.DeltaPrice;\n priceMode: SwapMode;\n labelOverride?: string;\n};\n\nfunction SwapButtonWithDrawer({\n orderProps,\n drawerContainer,\n marketPrice,\n deltaPrice,\n priceMode,\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 const priceProps =\n priceMode === \"delta\"\n ? { price: deltaPrice, priceMode }\n : { price: marketPrice, priceMode };\n\n return (\n <SwapTradeFlowScreenButton\n orderProps={orderProps}\n labelOverride={labelOverride}\n {...priceProps}\n {...buttonProps}\n />\n );\n}\n"],"mappings":"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"}
|
|
@@ -15,7 +15,7 @@ import { useEnabledSrcChains as h } from "../../state/enabledChainsAtom.js";
|
|
|
15
15
|
import { switchChain as g } from "../../../lib/web3/wagmi/switchChain.js";
|
|
16
16
|
import { selectSwapTokenFromAtom as _ } from "../state/selectedTokenActionsAtom.js";
|
|
17
17
|
import { useIsTokenFromInsufficientBalance as v } from "../../../hooks/tokens/balances/useIsInsufficientTokenBalance.js";
|
|
18
|
-
import { useDeltaOrderRequiredAllowance as y } from "../../../hooks/swap/prices/delta/queries/
|
|
18
|
+
import { useDeltaOrderRequiredAllowance as y } from "../../../hooks/swap/prices/delta/queries/useDeltaOrderRequiredBalance.js";
|
|
19
19
|
import { useMaxButtonPropsBase as b } from "./useMaxButtonProps.js";
|
|
20
20
|
import { useTokenPrice as x } from "../../../hooks/tokens/prices/useTokenPrices.js";
|
|
21
21
|
import { c as S } from "react-compiler-runtime";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTokenFromInputProps.js","names":["TokenInputProps","useSwapTokenFrom","useChainId","useAtom","useSetAtom","payInputAmountAtom","useGenericTokenAllowance","SwapMode","swapModeToSpender","useIsTokenFromInsufficientBalance","parseUnits","formatUnits","Token","useSwapSide","currentSwapInputAtom","useTokenBalance","DeltaOrMarketPrice","MarkRequired","TokenInputExtraProps","TokenInputAmountProps","toDecimalTrimmed","useLogger","MEDIUM_STALE_TIME_FOR_REACTIVENESS","selectSwapTokenFromAtom","useDeltaOrderRequiredAllowance","useEnabledSrcChains","switchChain","isDeltaPrice","AUGUSTUS_GAS_LIMIT_INACCURATE","DEPOSIT_NATIVE_AND_PRE_SIGN_GAS_LIMIT","useMaxButtonPropsBase","useTokenPrice","Big","UseTokenFromInputInput","override","amountWei","activeSwapMode","isPriceLoading","price","useTokenFromAmountProps","$","_c","logger","tokenFrom","amountValue","setAmountValue","tokenBalanceUnit","useTokenFromBalanceUnit","t0","values","log","value","t1","amount","token","onAmountChange","Symbol","for","refetchInterval","queryOptions","balanceUnit","t2","useTokenFromUsdEstimation","data","tokenPriceObj","usdEstimation","route","origin","input","amountUSD","srcUSD","mul","toFixed","UseTokenConditionalPropsInput","swapMode","useTokenConditionalProps","spenderContractType","address","tokenAddress","enabled","combinedAllowance","srcCombinedAllowance","t3","amountToApproveInWei","tokenAllowance","isInsufficientBalance","t4","needsApproval","t5","lockIcon","t6","shouldDisplay","t7","tokenBadgePropsOverride","insufficientBalanceMessageProps","useMaxButtonProps","setCurrentSwapInput","setPayInputAmount","gasLimit","onClick","useExtraProps","undefined","appChainId","setCurrentInput","side","isLoading","enabledSrcChains","length","networks","selectedNetwork","allOption","onSelect","_temp","disabled","networkSwitcherProps","tokenType","const","onFocus","label","useTokenFromInputProps","tokenFromAmounts","decimals","toString","BigInt","tokenConditionalProps","extraProps","maxButtonProps","setTokenFrom","newTokenFrom","onTokenSelect","t8","chainId"],"sources":["../../../../src/core/inputs/hooks/useTokenFromInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\n\nimport { useSwapTokenFrom } from \"../state/selectedTokenAtom\";\nimport { useChainId } from \"wagmi\";\nimport { useAtom, useSetAtom } from \"@/core/store\";\nimport { payInputAmountAtom } from \"../state/inputAmountAtom\";\nimport { useGenericTokenAllowance } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { swapModeToSpender } from \"@/core/constants\";\nimport { useIsTokenFromInsufficientBalance } from \"@/hooks/tokens/balances/useIsInsufficientTokenBalance\";\nimport { parseUnits, formatUnits } from \"viem\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { currentSwapInputAtom } from \"@/core/state/currentSwapInputAtom\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type { TokenInputExtraProps, TokenInputAmountProps } from \"./types\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useLogger } from \"@/core/logger\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { selectSwapTokenFromAtom } from \"../state/selectedTokenActionsAtom\";\nimport { useDeltaOrderRequiredAllowance } from \"@/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance\";\nimport { useEnabledSrcChains } from \"@/core/state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport {\n AUGUSTUS_GAS_LIMIT_INACCURATE,\n DEPOSIT_NATIVE_AND_PRE_SIGN_GAS_LIMIT,\n} from \"@/lib/constants\";\nimport { useMaxButtonPropsBase } from \"./useMaxButtonProps\";\nimport { useTokenPrice } from \"@/hooks/tokens/prices/useTokenPrices\";\nimport Big from \"big.js\";\n\ntype UseTokenFromInputInput = {\n override?: {\n amountWei?: string;\n };\n activeSwapMode: SwapMode;\n isPriceLoading?: boolean;\n price?: DeltaOrMarketPrice;\n};\n\nconst useTokenFromAmountProps = (): MarkRequired<\n TokenInputAmountProps,\n \"token\"\n> => {\n const logger = useLogger(\"Swap::TokenFrom::AmountProps\");\n const tokenFrom = useSwapTokenFrom();\n\n const [amountValue, setAmountValue] = useAtom(payInputAmountAtom);\n\n const tokenBalanceUnit = useTokenFromBalanceUnit();\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenFrom,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\nconst useTokenFromBalanceUnit = () => {\n const tokenFrom = useSwapTokenFrom();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useTokenFromUsdEstimation = ({\n price,\n amount,\n}: Pick<UseTokenFromInputInput, \"price\"> & {\n amount: string;\n}) => {\n const tokenFrom = useSwapTokenFrom();\n const { data: tokenPriceObj } = useTokenPrice(tokenFrom);\n\n let usdEstimation;\n if (price && isDeltaPrice(price)) {\n usdEstimation = price.route.origin.input.amountUSD;\n } else if (price && !isDeltaPrice(price) && price.srcUSD) {\n usdEstimation = price.srcUSD;\n } else if (tokenPriceObj && amount !== \"\") {\n usdEstimation = Big(tokenPriceObj.price).mul(amount).toFixed();\n }\n return usdEstimation;\n};\n\ntype UseTokenConditionalPropsInput = {\n amountWei: string;\n swapMode: SwapMode;\n tokenFrom: Token;\n};\n\nconst useTokenConditionalProps = ({\n amountWei,\n swapMode,\n tokenFrom,\n}: UseTokenConditionalPropsInput): Required<\n Pick<\n TokenInputProps,\n \"insufficientBalanceMessageProps\" | \"tokenBadgePropsOverride\"\n >\n> => {\n const spenderContractType = swapModeToSpender[swapMode];\n\n // amount required to cover allowance of current Orders + amount for the new Order\n const { combinedAllowance: srcCombinedAllowance } =\n useDeltaOrderRequiredAllowance({\n tokenAddress: tokenFrom.address,\n amount: amountWei,\n enabled: spenderContractType === \"ParaswapDelta\",\n });\n\n const tokenAllowance = useGenericTokenAllowance({\n token: tokenFrom,\n spenderContractType,\n amountToApproveInWei: srcCombinedAllowance,\n });\n\n const isInsufficientBalance = useIsTokenFromInsufficientBalance(\"swap\");\n\n return {\n tokenBadgePropsOverride: {\n lockIcon: !isInsufficientBalance && tokenAllowance.needsApproval,\n },\n insufficientBalanceMessageProps: {\n token: tokenFrom,\n shouldDisplay: isInsufficientBalance,\n },\n };\n};\n\nconst useMaxButtonProps = ({\n tokenFrom,\n activeSwapMode,\n}: {\n tokenFrom: Token;\n activeSwapMode: SwapMode;\n}) => {\n const setCurrentSwapInput = useSetAtom(currentSwapInputAtom);\n const setPayInputAmount = useSetAtom(payInputAmountAtom);\n\n const gasLimit =\n activeSwapMode === \"delta\"\n ? DEPOSIT_NATIVE_AND_PRE_SIGN_GAS_LIMIT\n : AUGUSTUS_GAS_LIMIT_INACCURATE;\n const onClick = (balanceUnit: string) => {\n setCurrentSwapInput(\"from\");\n setPayInputAmount(balanceUnit);\n };\n\n return useMaxButtonPropsBase({ tokenFrom, gasLimit, onClick });\n};\n\nconst useExtraProps = ({\n isPriceLoading,\n}: {\n isPriceLoading?: boolean;\n} = {}): TokenInputExtraProps => {\n const appChainId = useChainId();\n\n const setCurrentInput = useSetAtom(currentSwapInputAtom);\n\n const side = useSwapSide();\n\n // BUYing and price is loading = tokenFrom input will receive srcAmount\n const isLoading = isPriceLoading && side === \"BUY\";\n const enabledSrcChains = useEnabledSrcChains();\n\n return {\n networkSwitcherProps: {\n networks: enabledSrcChains,\n selectedNetwork: appChainId,\n allOption: false,\n onSelect: (chainId) => chainId !== \"all\" && switchChain({ chainId }),\n disabled: enabledSrcChains.length <= 1,\n },\n tokenType: \"from\" as const,\n onFocus: () => setCurrentInput(\"from\"),\n label: (\n <>\n <span>Pay</span> <span className=\"text-contrast-5\">on</span>\n </>\n ),\n isLoading,\n };\n};\n\nexport const useTokenFromInputProps = ({\n activeSwapMode,\n override,\n isPriceLoading,\n price,\n}: UseTokenFromInputInput): TokenInputProps => {\n const tokenFromAmounts = useTokenFromAmountProps();\n const tokenFrom = tokenFromAmounts.token;\n\n const amountWei =\n override?.amountWei ??\n parseUnits(tokenFromAmounts.amount, tokenFrom.decimals).toString();\n\n const amount = override?.amountWei\n ? formatUnits(BigInt(override.amountWei), tokenFrom.decimals)\n : tokenFromAmounts.amount;\n\n const tokenConditionalProps = useTokenConditionalProps({\n amountWei,\n swapMode: activeSwapMode,\n tokenFrom: tokenFrom,\n });\n const extraProps = useExtraProps({ isPriceLoading });\n const maxButtonProps = useMaxButtonProps({ tokenFrom, activeSwapMode });\n const usdEstimation = useTokenFromUsdEstimation({ price, amount });\n\n const setTokenFrom = useSetAtom(selectSwapTokenFromAtom);\n const onTokenSelect = (newTokenFrom: Token) => {\n setTokenFrom(newTokenFrom);\n };\n\n return {\n ...tokenFromAmounts,\n amount,\n usdEstimation,\n ...tokenConditionalProps,\n ...extraProps,\n ...maxButtonProps,\n onTokenSelect,\n };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AA2CA,IAAMuC,UAA0B;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAI9BC,IAAerB,EAAU,+BAA+B,EACxDsB,IAAkB1C,GAAkB,EAEpC,CAAA2C,GAAAC,KAAsC1C,EAAQE,EAAmB,EAEjEyC,IAAyBC,GAAyB,EAACC;CAAA,AAAAR,EAAA,OAAAE,KAAAF,EAAA,OAAAK,KAMjCG,KAAAC,MAAA;EAEdJ,AADAH,EAAMQ,IAAK,0BAA0BD,EAAO,EAC5CJ,EAAeI,EAAME,MAAO;IAC7BX,EAAA,KAAAE,GAAAF,EAAA,KAAAK,GAAAL,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;CAAA,IAAAY;CACF,OADEZ,EAAA,OAAAI,KAAAJ,EAAA,OAAAQ,KAAAR,EAAA,OAAAM,KAAAN,EAAA,OAAAG,KAPIS,IAAA;EAAAC,QACGT;EAAWE;EAAAQ,OAEZX;EAASY,gBACAP;EAIjB,EAAAR,EAAA,KAAAI,GAAAJ,EAAA,KAAAQ,GAAAR,EAAA,KAAAM,GAAAN,EAAA,KAAAG,GAAAH,EAAA,KAAAY,KAAAA,IAAAZ,EAAA,IARMY;GAWHL,UAA0B;CAAA,IAAAP,IAAAC,EAAA,EAAA,EAC9BE,IAAkB1C,GAAkB,EAAC+C;CAAA,AAAAR,EAAA,OAAAgB,OAAAC,IAAA,4BAAA,IAIrBT,IAAA,EAAAU,iBAAmBpC,GAAoC,EAAAkB,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;CAAA,IAAAY;CAAA,AAAAZ,EAAA,OAAAG,IACtES,IAAAZ,EAAA,MAHuCY,IAAA;EAAAE,OAC/BX;EAASgB,cACFX;EACf,EAAAR,EAAA,KAAAG,GAAAH,EAAA,KAAAY;CAHD,IAAA,EAAAQ,mBAAwB7C,EAAgBqC,EAGtC,EAACS;CAEiC,OAFjCrB,EAAA,OAAAoB,IAEiCC,IAAArB,EAAA,MAA7BqB,IAAAzC,EAAiBwC,EAAY,EAAApB,EAAA,KAAAoB,GAAApB,EAAA,KAAAqB,IAA7BA;GAGHC,KAA4Bd,MAAA;CAAA,IAAAR,IAAAC,EAAA,EAAA,EAAC,EAAAH,UAAAe,cAAAL,GAOjC,EAAAe,MAAAC,MAAgCjC,EADd9B,GAC4B0C,CAAU,EAEpDsB;CACJ,IAAI3B,KAASX,EAAaW,EAAM,EAC9B2B,IAAgB3B,EAAK4B,MAAMC,OAAOC,MAAMC;MACnC,IAAI/B,KAAA,CAAUX,EAAaW,EAAsB,IAAZA,EAAKgC,QAC/CL,IAAgB3B,EAAKgC;MAChB,IAAIN,KAAiBX,MAAW,IAAE;EAAA,IAAAD;EACvCa,AADuCzB,EAAA,OAAAa,KAAAb,EAAA,OAAAwB,EAAA1B,SACvBc,IAAApB,EAAIgC,EAAa1B,MAAO,CAAAiC,IAAKlB,EAAO,CAAAmB,SAAU,EAAAhC,EAAA,KAAAa,GAAAb,EAAA,KAAAwB,EAAA1B,OAAAE,EAAA,KAAAY,KAAAA,IAAAZ,EAAA,IAA9DyB,IAAgBA;;CACjB,OACMA;GASHU,KAA2B3B,MAAA;CAAA,IAAAR,IAAAC,EAAA,GAAA,EAAC,EAAAN,cAAAuC,aAAA/B,iBAAAK,GAUhC4B,IAA4BpE,EAAkBkE,IAOjCtB,IAAAwB,MAAwB,iBAAef;CAAA,AAAArB,EAAA,OAAAL,KAAAK,EAAA,OAAAY,KAAAZ,EAAA,OAAAG,EAAAkC,WAHnBhB,IAAA;EAAAiB,cACfnC,EAASkC;EAAQxB,QACvBlB;EAAS4C,SACR3B;EACV,EAAAZ,EAAA,KAAAL,GAAAK,EAAA,KAAAY,GAAAZ,EAAA,KAAAG,EAAAkC,SAAArC,EAAA,KAAAqB,KAAAA,IAAArB,EAAA;CALH,IAAA,EAAAwC,mBAAAC,MACEzD,EAA+BqC,EAI7B,EAACqB;CAAA,AAAA1C,EAAA,OAAAoC,KAAApC,EAAA,OAAAyC,KAAAzC,EAAA,OAAAG,KAE2CuC,IAAA;EAAA5B,OACvCX;EAASiC;EAAAO,sBAEMF;EACvB,EAAAzC,EAAA,KAAAoC,GAAApC,EAAA,KAAAyC,GAAAzC,EAAA,KAAAG,GAAAH,EAAA,KAAA0C,KAAAA,IAAA1C,EAAA;CAJD,IAAA4C,IAAuB9E,EAAyB4E,EAI9C,EAEFG,IAA8B5E,EAAkC,OAAO,EAIzD6E,IAAA,CAACD,KAAyBD,EAAcG,eAAcC;CAAA,AAAAhD,EAAA,OAAA8C,IACjEE,IAAAhD,EAAA,MAFwBgD,IAAA,EAAAC,UACbH,GACX,EAAA9C,EAAA,KAAA8C,GAAA9C,EAAA,KAAAgD;CAAA,IAAAE;CAAA,AAAAlD,EAAA,QAAA6C,KAAA7C,EAAA,QAAAG,KACgC+C,IAAA;EAAApC,OACxBX;EAASgD,eACDN;EAChB,EAAA7C,EAAA,MAAA6C,GAAA7C,EAAA,MAAAG,GAAAH,EAAA,MAAAkD,KAAAA,IAAAlD,EAAA;CAAA,IAAAoD;CACF,OADEpD,EAAA,QAAAgD,KAAAhD,EAAA,QAAAkD,KAPIE,IAAA;EAAAC,yBACoBL;EAExBM,iCACgCJ;EAIlC,EAAAlD,EAAA,MAAAgD,GAAAhD,EAAA,MAAAkD,GAAAlD,EAAA,MAAAoD,KAAAA,IAAApD,EAAA,KARMoD;GAWHG,KAAoB/C,MAAA;CAAA,IAAAR,IAAAC,EAAA,EAAA,EAAC,EAAAE,cAAAP,sBAAAY,GAOzBgD,IAA4B5F,EAAWU,EAAqB,EAC5DmF,IAA0B7F,EAAWC,EAAmB,EAExD6F,IACE9D,MAAmB,UAAnBP,IAAAD,GAEkCwB;CAAA,AAAAZ,EAAA,OAAAwD,KAAAxD,EAAA,OAAAyD,KACpB7C,KAAAQ,MAAA;EAEdqC,AADAD,EAAoB,OAAO,EAC3BC,EAAkBrC,EAAY;IAC/BpB,EAAA,KAAAwD,GAAAxD,EAAA,KAAAyD,GAAAzD,EAAA,KAAAY,KAAAA,IAAAZ,EAAA;CAHD,IAAA2D,IAAgB/C,GAGdS;CAE2D,OAF3DrB,EAAA,OAAA0D,KAAA1D,EAAA,OAAA2D,KAAA3D,EAAA,OAAAG,KAE2BkB,IAAA;EAAAlB;EAAAuD;EAAAC;EAAgC,EAAA3D,EAAA,KAAA0D,GAAA1D,EAAA,KAAA2D,GAAA3D,EAAA,KAAAG,GAAAH,EAAA,KAAAqB,KAAAA,IAAArB,EAAA,IAAtDV,EAAsB+B,EAAiC;GAG1DuC,KAAgBpD,MAAA;CAAA,IAAAR,IAAAC,EAAA,GAAA,EAAAW;CAAA,AAAAZ,EAAA,OAAAQ,IAIhBI,IAAAZ,EAAA,MAJiBY,IAAAJ,MAAAqD,KAAAA,IAAA,EAIjB,GAJiBrD,GAIjBR,EAAA,KAAAQ,GAAAR,EAAA,KAAAY;CAJiB,IAAA,EAAAf,sBAAAe,GAKrBkD,IAAmBpG,GAAY,EAE/BqG,IAAwBnG,EAAWU,EAAqB,EAExD0F,IAAa3F,GAAa,EAG1B4F,IAAkBpE,KAAkBmE,MAAS,OAC7CE,IAAyBjF,GAAqB,EAQhCoC,IAAA6C,EAAgBC,UAAW,GAACzB;CAAA,AAAA1C,EAAA,OAAA8D,KAAA9D,EAAA,OAAAkE,KAAAlE,EAAA,OAAAqB,KALlBqB,IAAA;EAAA0B,UACVF;EAAgBG,iBACTP;EAAUQ,WAChB;EAAKC,UACNC;EAA0DC,UAC1DpD;EACX,EAAArB,EAAA,KAAA8D,GAAA9D,EAAA,KAAAkE,GAAAlE,EAAA,KAAAqB,GAAArB,EAAA,KAAA0C,KAAAA,IAAA1C,EAAA;CAAA,IAAA8C;CAAA,AAAA9C,EAAA,OAAA+D,IAEqCjB,IAAA9C,EAAA,MAA7B8C,UAAMiB,EAAgB,OAAO,EAAA/D,EAAA,KAAA+D,GAAA/D,EAAA,KAAA8C;CAAA,IAAAE;CAAA,AAAAhD,EAAA,OAAAgB,OAAAC,IAAA,4BAAA,IAGlC+B,IAAA,kBAAA,QAAA,EAAA,UAAM,OAAU,CAAA,EAAAhD,EAAA,KAAAgD,KAAAA,IAAAhD,EAAA;CAAA,IAAAkD;CAAA,AAAAlD,EAAA,OAAAgB,OAAAC,IAAA,4BAAA,IADlBiC,IAAA,kBAAA,GAAA,EAAA,UAAA;EACEF;EAAgB;EAAC,kBAAA,QAAA;GAAgB,WAAA;aAAkB;GAAS,CAAA;EAC3D,EAAA,CAAA,EAAAhD,EAAA,KAAAkD,KAAAA,IAAAlD,EAAA;CAAA,IAAAoD;CAGN,OAHMpD,EAAA,QAAAiE,KAAAjE,EAAA,QAAA0C,KAAA1C,EAAA,QAAA8C,KAbAM,IAAA;EAAAsB,sBACiBhC;EAMrBiC,WACU;EAAeE,SACjB/B;EAA6BgC,OAEpC5B;EAEGe;EAGN,EAAAjE,EAAA,MAAAiE,GAAAjE,EAAA,MAAA0C,GAAA1C,EAAA,MAAA8C,GAAA9C,EAAA,MAAAoD,KAAAA,IAAApD,EAAA,KAhBMoD;GAmBI2B,KAAyBvE,MAAA;CAAA,IAAAR,IAAAC,EAAA,GAAA,EAAC,EAAAL,mBAAAF,aAAAG,mBAAAC,aAAAU,GAMrCwE,IAAyBjF,GAAyB,EAClDI,IAAkB6E,EAAgBlE,OAAOF;CAAA,AAAAZ,EAAA,OAAAN,GAAAC,aAAAK,EAAA,OAAAG,KAAAH,EAAA,OAAAgF,EAAAnE,UAGvCD,IAAAlB,GAAQC,aACRzB,EAAW8G,EAAgBnE,QAASV,EAAS8E,SAAU,CAAAC,UAAW,EAAAlF,EAAA,KAAAN,GAAAC,WAAAK,EAAA,KAAAG,GAAAH,EAAA,KAAAgF,EAAAnE,QAAAb,EAAA,KAAAY,KAAAA,IAAAZ,EAAA;CAFpE,IAAAL,IACEiB,GACmES;CAAA,AAAArB,EAAA,OAAAN,KAAAM,EAAA,OAAAG,KAAAH,EAAA,OAAAgF,EAAAnE,UAEtDQ,IAAA3B,GAAQC,YACnBxB,EAAYgH,OAAOzF,EAAQC,UAAW,EAAEQ,EAAS8E,SAC1B,GAAvBD,EAAgBnE,QAAOb,EAAA,KAAAN,GAAAM,EAAA,KAAAG,GAAAH,EAAA,KAAAgF,EAAAnE,QAAAb,EAAA,KAAAqB,KAAAA,IAAArB,EAAA;CAF3B,IAAAa,IAAeQ,GAEaqB;CAAA,AAAA1C,EAAA,OAAAJ,KAAAI,EAAA,OAAAL,KAAAK,EAAA,QAAAG,KAE2BuC,IAAA;EAAA/C;EAAAuC,UAE3CtC;EAAcO;EAEzB,EAAAH,EAAA,KAAAJ,GAAAI,EAAA,KAAAL,GAAAK,EAAA,MAAAG,GAAAH,EAAA,MAAA0C,KAAAA,IAAA1C,EAAA;CAJD,IAAAoF,IAA8BjD,EAAyBO,EAIrD,EAACI;CAAA,AAAA9C,EAAA,QAAAH,IACgDiD,IAAA9C,EAAA,OAAlB8C,IAAA,EAAAjD,mBAAkB,EAAAG,EAAA,MAAAH,GAAAG,EAAA,MAAA8C;CAAnD,IAAAuC,IAAmBzB,EAAcd,EAAmB,EAACE;CAAA,AAAAhD,EAAA,QAAAJ,KAAAI,EAAA,QAAAG,KACZ6C,IAAA;EAAA7C;EAAAP;EAA6B,EAAAI,EAAA,MAAAJ,GAAAI,EAAA,MAAAG,GAAAH,EAAA,MAAAgD,KAAAA,IAAAhD,EAAA;CAAtE,IAAAsF,IAAuB/B,EAAkBP,EAA8B,EAACE;CAAA,AAAAlD,EAAA,QAAAa,KAAAb,EAAA,QAAAF,KACxBoD,IAAA;EAAApD;EAAAe;EAAiB,EAAAb,EAAA,MAAAa,GAAAb,EAAA,MAAAF,GAAAE,EAAA,MAAAkD,KAAAA,IAAAlD,EAAA;CAAjE,IAAAyB,IAAsBH,EAA0B4B,EAAkB,EAElEqC,IAAqB3H,EAAWmB,EAAwB,EAACqE;CAAA,AAAApD,EAAA,QAAAuF,IAGxDnC,IAAApD,EAAA,OAFqBoD,KAAAoC,MAAA;EACpBD,EAAaC,EAAa;IAC3BxF,EAAA,MAAAuF,GAAAvF,EAAA,MAAAoD;CAFD,IAAAqC,IAAsBrC,GAEpBsC;CAUD,OAVC1F,EAAA,QAAAa,KAAAb,EAAA,QAAAqF,KAAArF,EAAA,QAAAsF,KAAAtF,EAAA,QAAAyF,KAAAzF,EAAA,QAAAoF,KAAApF,EAAA,QAAAgF,KAAAhF,EAAA,QAAAyB,KAEKiE,IAAA;EAAA,GACFV;EAAgBnE;EAAAY;EAAA,GAGhB2D;EAAqB,GACrBC;EAAU,GACVC;EAAcG;EAElB,EAAAzF,EAAA,MAAAa,GAAAb,EAAA,MAAAqF,GAAArF,EAAA,MAAAsF,GAAAtF,EAAA,MAAAyF,GAAAzF,EAAA,MAAAoF,GAAApF,EAAA,MAAAgF,GAAAhF,EAAA,MAAAyB,GAAAzB,EAAA,MAAA0F,KAAAA,IAAA1F,EAAA,KARM0F;;AAjEa,SAAAlB,EAAAmB,GAAA;CAAA,OAoBOA,MAAY,SAASzG,EAAY,EAAAyG,YAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"useTokenFromInputProps.js","names":["TokenInputProps","useSwapTokenFrom","useChainId","useAtom","useSetAtom","payInputAmountAtom","useGenericTokenAllowance","SwapMode","swapModeToSpender","useIsTokenFromInsufficientBalance","parseUnits","formatUnits","Token","useSwapSide","currentSwapInputAtom","useTokenBalance","DeltaOrMarketPrice","MarkRequired","TokenInputExtraProps","TokenInputAmountProps","toDecimalTrimmed","useLogger","MEDIUM_STALE_TIME_FOR_REACTIVENESS","selectSwapTokenFromAtom","useDeltaOrderRequiredAllowance","useEnabledSrcChains","switchChain","isDeltaPrice","AUGUSTUS_GAS_LIMIT_INACCURATE","DEPOSIT_NATIVE_AND_PRE_SIGN_GAS_LIMIT","useMaxButtonPropsBase","useTokenPrice","Big","UseTokenFromInputInput","override","amountWei","activeSwapMode","isPriceLoading","price","useTokenFromAmountProps","$","_c","logger","tokenFrom","amountValue","setAmountValue","tokenBalanceUnit","useTokenFromBalanceUnit","t0","values","log","value","t1","amount","token","onAmountChange","Symbol","for","refetchInterval","queryOptions","balanceUnit","t2","useTokenFromUsdEstimation","data","tokenPriceObj","usdEstimation","route","origin","input","amountUSD","srcUSD","mul","toFixed","UseTokenConditionalPropsInput","swapMode","useTokenConditionalProps","spenderContractType","address","tokenAddress","enabled","combinedAllowance","srcCombinedAllowance","t3","amountToApproveInWei","tokenAllowance","isInsufficientBalance","t4","needsApproval","t5","lockIcon","t6","shouldDisplay","t7","tokenBadgePropsOverride","insufficientBalanceMessageProps","useMaxButtonProps","setCurrentSwapInput","setPayInputAmount","gasLimit","onClick","useExtraProps","undefined","appChainId","setCurrentInput","side","isLoading","enabledSrcChains","length","networks","selectedNetwork","allOption","onSelect","_temp","disabled","networkSwitcherProps","tokenType","const","onFocus","label","useTokenFromInputProps","tokenFromAmounts","decimals","toString","BigInt","tokenConditionalProps","extraProps","maxButtonProps","setTokenFrom","newTokenFrom","onTokenSelect","t8","chainId"],"sources":["../../../../src/core/inputs/hooks/useTokenFromInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\n\nimport { useSwapTokenFrom } from \"../state/selectedTokenAtom\";\nimport { useChainId } from \"wagmi\";\nimport { useAtom, useSetAtom } from \"@/core/store\";\nimport { payInputAmountAtom } from \"../state/inputAmountAtom\";\nimport { useGenericTokenAllowance } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { swapModeToSpender } from \"@/core/constants\";\nimport { useIsTokenFromInsufficientBalance } from \"@/hooks/tokens/balances/useIsInsufficientTokenBalance\";\nimport { parseUnits, formatUnits } from \"viem\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { currentSwapInputAtom } from \"@/core/state/currentSwapInputAtom\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type { TokenInputExtraProps, TokenInputAmountProps } from \"./types\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useLogger } from \"@/core/logger\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { selectSwapTokenFromAtom } from \"../state/selectedTokenActionsAtom\";\nimport { useDeltaOrderRequiredAllowance } from \"@/hooks/swap/prices/delta/queries/useDeltaOrderRequiredBalance\";\nimport { useEnabledSrcChains } from \"@/core/state/enabledChainsAtom\";\nimport { switchChain } from \"@/lib/web3/wagmi/switchChain\";\nimport { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport {\n AUGUSTUS_GAS_LIMIT_INACCURATE,\n DEPOSIT_NATIVE_AND_PRE_SIGN_GAS_LIMIT,\n} from \"@/lib/constants\";\nimport { useMaxButtonPropsBase } from \"./useMaxButtonProps\";\nimport { useTokenPrice } from \"@/hooks/tokens/prices/useTokenPrices\";\nimport Big from \"big.js\";\n\ntype UseTokenFromInputInput = {\n override?: {\n amountWei?: string;\n };\n activeSwapMode: SwapMode;\n isPriceLoading?: boolean;\n price?: DeltaOrMarketPrice;\n};\n\nconst useTokenFromAmountProps = (): MarkRequired<\n TokenInputAmountProps,\n \"token\"\n> => {\n const logger = useLogger(\"Swap::TokenFrom::AmountProps\");\n const tokenFrom = useSwapTokenFrom();\n\n const [amountValue, setAmountValue] = useAtom(payInputAmountAtom);\n\n const tokenBalanceUnit = useTokenFromBalanceUnit();\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenFrom,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\nconst useTokenFromBalanceUnit = () => {\n const tokenFrom = useSwapTokenFrom();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenFrom,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useTokenFromUsdEstimation = ({\n price,\n amount,\n}: Pick<UseTokenFromInputInput, \"price\"> & {\n amount: string;\n}) => {\n const tokenFrom = useSwapTokenFrom();\n const { data: tokenPriceObj } = useTokenPrice(tokenFrom);\n\n let usdEstimation;\n if (price && isDeltaPrice(price)) {\n usdEstimation = price.route.origin.input.amountUSD;\n } else if (price && !isDeltaPrice(price) && price.srcUSD) {\n usdEstimation = price.srcUSD;\n } else if (tokenPriceObj && amount !== \"\") {\n usdEstimation = Big(tokenPriceObj.price).mul(amount).toFixed();\n }\n return usdEstimation;\n};\n\ntype UseTokenConditionalPropsInput = {\n amountWei: string;\n swapMode: SwapMode;\n tokenFrom: Token;\n};\n\nconst useTokenConditionalProps = ({\n amountWei,\n swapMode,\n tokenFrom,\n}: UseTokenConditionalPropsInput): Required<\n Pick<\n TokenInputProps,\n \"insufficientBalanceMessageProps\" | \"tokenBadgePropsOverride\"\n >\n> => {\n const spenderContractType = swapModeToSpender[swapMode];\n\n // amount required to cover allowance of current Orders + amount for the new Order\n const { combinedAllowance: srcCombinedAllowance } =\n useDeltaOrderRequiredAllowance({\n tokenAddress: tokenFrom.address,\n amount: amountWei,\n enabled: spenderContractType === \"ParaswapDelta\",\n });\n\n const tokenAllowance = useGenericTokenAllowance({\n token: tokenFrom,\n spenderContractType,\n amountToApproveInWei: srcCombinedAllowance,\n });\n\n const isInsufficientBalance = useIsTokenFromInsufficientBalance(\"swap\");\n\n return {\n tokenBadgePropsOverride: {\n lockIcon: !isInsufficientBalance && tokenAllowance.needsApproval,\n },\n insufficientBalanceMessageProps: {\n token: tokenFrom,\n shouldDisplay: isInsufficientBalance,\n },\n };\n};\n\nconst useMaxButtonProps = ({\n tokenFrom,\n activeSwapMode,\n}: {\n tokenFrom: Token;\n activeSwapMode: SwapMode;\n}) => {\n const setCurrentSwapInput = useSetAtom(currentSwapInputAtom);\n const setPayInputAmount = useSetAtom(payInputAmountAtom);\n\n const gasLimit =\n activeSwapMode === \"delta\"\n ? DEPOSIT_NATIVE_AND_PRE_SIGN_GAS_LIMIT\n : AUGUSTUS_GAS_LIMIT_INACCURATE;\n const onClick = (balanceUnit: string) => {\n setCurrentSwapInput(\"from\");\n setPayInputAmount(balanceUnit);\n };\n\n return useMaxButtonPropsBase({ tokenFrom, gasLimit, onClick });\n};\n\nconst useExtraProps = ({\n isPriceLoading,\n}: {\n isPriceLoading?: boolean;\n} = {}): TokenInputExtraProps => {\n const appChainId = useChainId();\n\n const setCurrentInput = useSetAtom(currentSwapInputAtom);\n\n const side = useSwapSide();\n\n // BUYing and price is loading = tokenFrom input will receive srcAmount\n const isLoading = isPriceLoading && side === \"BUY\";\n const enabledSrcChains = useEnabledSrcChains();\n\n return {\n networkSwitcherProps: {\n networks: enabledSrcChains,\n selectedNetwork: appChainId,\n allOption: false,\n onSelect: (chainId) => chainId !== \"all\" && switchChain({ chainId }),\n disabled: enabledSrcChains.length <= 1,\n },\n tokenType: \"from\" as const,\n onFocus: () => setCurrentInput(\"from\"),\n label: (\n <>\n <span>Pay</span> <span className=\"text-contrast-5\">on</span>\n </>\n ),\n isLoading,\n };\n};\n\nexport const useTokenFromInputProps = ({\n activeSwapMode,\n override,\n isPriceLoading,\n price,\n}: UseTokenFromInputInput): TokenInputProps => {\n const tokenFromAmounts = useTokenFromAmountProps();\n const tokenFrom = tokenFromAmounts.token;\n\n const amountWei =\n override?.amountWei ??\n parseUnits(tokenFromAmounts.amount, tokenFrom.decimals).toString();\n\n const amount = override?.amountWei\n ? formatUnits(BigInt(override.amountWei), tokenFrom.decimals)\n : tokenFromAmounts.amount;\n\n const tokenConditionalProps = useTokenConditionalProps({\n amountWei,\n swapMode: activeSwapMode,\n tokenFrom: tokenFrom,\n });\n const extraProps = useExtraProps({ isPriceLoading });\n const maxButtonProps = useMaxButtonProps({ tokenFrom, activeSwapMode });\n const usdEstimation = useTokenFromUsdEstimation({ price, amount });\n\n const setTokenFrom = useSetAtom(selectSwapTokenFromAtom);\n const onTokenSelect = (newTokenFrom: Token) => {\n setTokenFrom(newTokenFrom);\n };\n\n return {\n ...tokenFromAmounts,\n amount,\n usdEstimation,\n ...tokenConditionalProps,\n ...extraProps,\n ...maxButtonProps,\n onTokenSelect,\n };\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTokenToInputProps.js","names":["TokenInputProps","useSwapTokenTo","swapChainToAtom","useAtom","useSetAtom","useSelectableDestChains","useChainId","receiveInputAmountAtom","Token","formatUnits","useSwapSide","currentSwapInputAtom","useIsCrossChain","DeltaOrMarketPrice","TokenInputAmountProps","TokenInputExtraProps","useTokenBalance","toDecimalTrimmed","useLogger","MEDIUM_STALE_TIME_FOR_REACTIVENESS","selectSwapTokenToAtom","isDeltaPrice","SupportedChainId","BridgeInfoMode","FetchingQuotes","useTokenPrice","Big","YouGetProps","constructYouGetProps","useWarningMessage","UseTokenToInputInput","override","amountWei","price","priceMode","priceError","Error","isPriceLoading","useTokenToAmountProps","$","_c","logger","tokenTo","amountValue","setAmountValue","tokenBalanceUnit","useTokenToBalanceUnit","t0","values","log","value","t1","amount","token","onAmountChange","Symbol","for","refetchInterval","queryOptions","balanceUnit","t2","useTokenToUsdEstimation","data","tokenPriceObj","usdEstimation","route","destination","output","amountUSD","destUSD","mul","toFixed","useYouGetProps","side","useExtraProps","acrossMode","appChainId","chainTo","setChainTo","fromChainId","mode","selectableChains","showNetworkSwitcher","undefined","networks","selectedNetwork","allOption","onSelect","chainId","disabled","length","networkSwitcherProps","setCurrentInput","isSell","isLoading","isCrosschain","showFetchingQuotes","t3","t4","t5","t6","t7","t8","t9","tokenType","const","onFocus","label","bottomElement","useTokenToInputProps","tokenToAmounts","extraProps","youGetProps","tradeMode","warningMessage","BigInt","decimals","setTokenTo","newTokenTo","onTokenSelect"],"sources":["../../../../src/core/inputs/hooks/useTokenToInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\n\nimport { useSwapTokenTo } from \"../state/selectedTokenAtom\";\n\nimport { swapChainToAtom } from \"@/core/state/chainToAtom\";\nimport { useAtom, useSetAtom } from \"@/core/store\";\n\nimport { useSelectableDestChains } from \"@/hooks/useSelectableDestChains\";\nimport { useChainId } from \"wagmi\";\nimport { receiveInputAmountAtom } from \"../state/inputAmountAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { formatUnits } from \"viem\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { currentSwapInputAtom } from \"@/core/state/currentSwapInputAtom\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport type { TokenInputAmountProps, TokenInputExtraProps } from \"./types\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useLogger } from \"@/core/logger\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { selectSwapTokenToAtom } from \"../state/selectedTokenActionsAtom\";\nimport { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\nimport { FetchingQuotes } from \"@/components/widget/FetchingQuotes/FetchingQuotes\";\nimport { useTokenPrice } from \"@/hooks/tokens/prices/useTokenPrices\";\nimport Big from \"big.js\";\nimport type { YouGetProps } from \"@/components/widget/YouGet/types\";\nimport { constructYouGetProps } from \"./utils\";\nimport { useWarningMessage } from \"./useWarningMessage\";\n\ntype UseTokenToInputInput = {\n override?: {\n amountWei?: string;\n };\n price?: DeltaOrMarketPrice;\n priceMode: \"market\" | \"delta\";\n priceError: Error | null;\n isPriceLoading?: boolean;\n};\n\nconst useTokenToAmountProps = (): TokenInputAmountProps => {\n const logger = useLogger(\"Swap::TokenTo::AmountProps\");\n const tokenTo = useSwapTokenTo();\n\n const [amountValue, setAmountValue] = useAtom(receiveInputAmountAtom);\n\n const tokenBalanceUnit = useTokenToBalanceUnit();\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenTo,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\nconst useTokenToBalanceUnit = () => {\n const tokenTo = useSwapTokenTo();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenTo,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useTokenToUsdEstimation = ({\n price,\n amount,\n}: Pick<UseTokenToInputInput, \"price\"> & {\n amount: string;\n}) => {\n const tokenTo = useSwapTokenTo();\n const { data: tokenPriceObj } = useTokenPrice(tokenTo);\n\n let usdEstimation;\n if (price && isDeltaPrice(price)) {\n usdEstimation = price.route.destination.output.amountUSD;\n } else if (price && !isDeltaPrice(price) && price.destUSD) {\n usdEstimation = price.destUSD;\n } else if (tokenPriceObj && amount !== \"\") {\n usdEstimation = Big(tokenPriceObj.price).mul(amount).toFixed();\n }\n return usdEstimation;\n};\n\nconst useYouGetProps = ({\n priceMode,\n price,\n token,\n}: {\n priceMode: \"market\" | \"delta\";\n price?: DeltaOrMarketPrice;\n token?: Token;\n}): YouGetProps | undefined => {\n const side = useSwapSide();\n\n if (!price || !token) return;\n\n return constructYouGetProps({ side, price, priceMode, token });\n};\n\nconst useExtraProps = ({\n isPriceLoading,\n acrossMode,\n}: {\n isPriceLoading?: boolean;\n acrossMode: BridgeInfoMode;\n}): TokenInputExtraProps => {\n const appChainId = useChainId();\n const [chainTo, setChainTo] = useAtom(swapChainToAtom);\n\n const { selectableChains } = useSelectableDestChains({\n fromChainId: appChainId,\n mode: acrossMode,\n });\n\n const showNetworkSwitcher = chainTo !== undefined;\n\n const networkSwitcherProps = showNetworkSwitcher\n ? {\n networks: selectableChains,\n selectedNetwork: chainTo,\n allOption: false,\n onSelect: (chainId: SupportedChainId | \"all\") =>\n chainId !== \"all\" && setChainTo(chainId),\n disabled: selectableChains.length <= 1,\n }\n : undefined;\n\n const setCurrentInput = useSetAtom(currentSwapInputAtom);\n\n const side = useSwapSide();\n const isSell = side === \"SELL\";\n\n // SELLing and price is loading = tokenTo input will receive destAmount\n const isLoading = isPriceLoading && isSell;\n\n const isCrosschain = useIsCrossChain();\n\n const showFetchingQuotes = isCrosschain && isPriceLoading;\n\n return {\n networkSwitcherProps,\n tokenType: \"to\" as const,\n onFocus: () => setCurrentInput(\"to\"),\n label: (\n <>\n <span>Receive</span>{\" \"}\n {showNetworkSwitcher && <span className=\"text-contrast-5\">on</span>}\n </>\n ),\n isLoading,\n disabled: selectableChains.length === 0,\n bottomElement: showFetchingQuotes ? <FetchingQuotes /> : undefined,\n };\n};\n\nexport const useTokenToInputProps = ({\n override,\n isPriceLoading,\n priceMode,\n price,\n priceError,\n}: UseTokenToInputInput): TokenInputProps => {\n const tokenToAmounts = useTokenToAmountProps();\n const token = tokenToAmounts.token;\n const extraProps = useExtraProps({ isPriceLoading, acrossMode: \"swap\" });\n const youGetProps = useYouGetProps({ priceMode, price, token });\n const warningMessage = useWarningMessage({\n priceMode,\n priceError,\n mode: \"swap\",\n tradeMode: \"swap\",\n });\n\n const amount =\n override?.amountWei && token\n ? formatUnits(BigInt(override.amountWei), token.decimals)\n : tokenToAmounts.amount;\n\n const usdEstimation = useTokenToUsdEstimation({ price, amount });\n\n const setTokenTo = useSetAtom(selectSwapTokenToAtom);\n const onTokenSelect = (newTokenTo: Token) => {\n setTokenTo(newTokenTo);\n };\n\n return {\n ...tokenToAmounts,\n amount,\n usdEstimation,\n ...extraProps,\n youGetProps,\n warningMessage,\n onTokenSelect,\n };\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useTokenToInputProps.js","names":["TokenInputProps","useSwapTokenTo","swapChainToAtom","useAtom","useSetAtom","useSelectableDestChains","useChainId","receiveInputAmountAtom","Token","formatUnits","useSwapSide","currentSwapInputAtom","useIsCrossChain","DeltaOrMarketPrice","TokenInputAmountProps","TokenInputExtraProps","useTokenBalance","toDecimalTrimmed","useLogger","MEDIUM_STALE_TIME_FOR_REACTIVENESS","selectSwapTokenToAtom","isDeltaPrice","SupportedChainId","BridgeRoutesMode","FetchingQuotes","useTokenPrice","Big","YouGetProps","constructYouGetProps","useWarningMessage","UseTokenToInputInput","override","amountWei","price","priceMode","priceError","Error","isPriceLoading","useTokenToAmountProps","$","_c","logger","tokenTo","amountValue","setAmountValue","tokenBalanceUnit","useTokenToBalanceUnit","t0","values","log","value","t1","amount","token","onAmountChange","Symbol","for","refetchInterval","queryOptions","balanceUnit","t2","useTokenToUsdEstimation","data","tokenPriceObj","usdEstimation","route","destination","output","amountUSD","destUSD","mul","toFixed","useYouGetProps","side","useExtraProps","acrossMode","appChainId","chainTo","setChainTo","fromChainId","mode","selectableChains","showNetworkSwitcher","undefined","networks","selectedNetwork","allOption","onSelect","chainId","disabled","length","networkSwitcherProps","setCurrentInput","isSell","isLoading","isCrosschain","showFetchingQuotes","t3","t4","t5","t6","t7","t8","t9","tokenType","const","onFocus","label","bottomElement","useTokenToInputProps","tokenToAmounts","extraProps","youGetProps","tradeMode","warningMessage","BigInt","decimals","setTokenTo","newTokenTo","onTokenSelect"],"sources":["../../../../src/core/inputs/hooks/useTokenToInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\n\nimport { useSwapTokenTo } from \"../state/selectedTokenAtom\";\n\nimport { swapChainToAtom } from \"@/core/state/chainToAtom\";\nimport { useAtom, useSetAtom } from \"@/core/store\";\n\nimport { useSelectableDestChains } from \"@/hooks/useSelectableDestChains\";\nimport { useChainId } from \"wagmi\";\nimport { receiveInputAmountAtom } from \"../state/inputAmountAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { formatUnits } from \"viem\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport { currentSwapInputAtom } from \"@/core/state/currentSwapInputAtom\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport type { TokenInputAmountProps, TokenInputExtraProps } from \"./types\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useLogger } from \"@/core/logger\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { selectSwapTokenToAtom } from \"../state/selectedTokenActionsAtom\";\nimport { isDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { BridgeRoutesMode } from \"@/hooks/swap/prices/delta/queries/bridgeRoutes/types\";\nimport { FetchingQuotes } from \"@/components/widget/FetchingQuotes/FetchingQuotes\";\nimport { useTokenPrice } from \"@/hooks/tokens/prices/useTokenPrices\";\nimport Big from \"big.js\";\nimport type { YouGetProps } from \"@/components/widget/YouGet/types\";\nimport { constructYouGetProps } from \"./utils\";\nimport { useWarningMessage } from \"./useWarningMessage\";\n\ntype UseTokenToInputInput = {\n override?: {\n amountWei?: string;\n };\n price?: DeltaOrMarketPrice;\n priceMode: \"market\" | \"delta\";\n priceError: Error | null;\n isPriceLoading?: boolean;\n};\n\nconst useTokenToAmountProps = (): TokenInputAmountProps => {\n const logger = useLogger(\"Swap::TokenTo::AmountProps\");\n const tokenTo = useSwapTokenTo();\n\n const [amountValue, setAmountValue] = useAtom(receiveInputAmountAtom);\n\n const tokenBalanceUnit = useTokenToBalanceUnit();\n\n return {\n amount: amountValue,\n tokenBalanceUnit,\n token: tokenTo,\n onAmountChange: (values) => {\n logger.log(\"onAmountChange::values\", values);\n setAmountValue(values.value);\n },\n };\n};\n\nconst useTokenToBalanceUnit = () => {\n const tokenTo = useSwapTokenTo();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenTo,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useTokenToUsdEstimation = ({\n price,\n amount,\n}: Pick<UseTokenToInputInput, \"price\"> & {\n amount: string;\n}) => {\n const tokenTo = useSwapTokenTo();\n const { data: tokenPriceObj } = useTokenPrice(tokenTo);\n\n let usdEstimation;\n if (price && isDeltaPrice(price)) {\n usdEstimation = price.route.destination.output.amountUSD;\n } else if (price && !isDeltaPrice(price) && price.destUSD) {\n usdEstimation = price.destUSD;\n } else if (tokenPriceObj && amount !== \"\") {\n usdEstimation = Big(tokenPriceObj.price).mul(amount).toFixed();\n }\n return usdEstimation;\n};\n\nconst useYouGetProps = ({\n priceMode,\n price,\n token,\n}: {\n priceMode: \"market\" | \"delta\";\n price?: DeltaOrMarketPrice;\n token?: Token;\n}): YouGetProps | undefined => {\n const side = useSwapSide();\n\n if (!price || !token) return;\n\n return constructYouGetProps({ side, price, priceMode, token });\n};\n\nconst useExtraProps = ({\n isPriceLoading,\n acrossMode,\n}: {\n isPriceLoading?: boolean;\n acrossMode: BridgeRoutesMode;\n}): TokenInputExtraProps => {\n const appChainId = useChainId();\n const [chainTo, setChainTo] = useAtom(swapChainToAtom);\n\n const { selectableChains } = useSelectableDestChains({\n fromChainId: appChainId,\n mode: acrossMode,\n });\n\n const showNetworkSwitcher = chainTo !== undefined;\n\n const networkSwitcherProps = showNetworkSwitcher\n ? {\n networks: selectableChains,\n selectedNetwork: chainTo,\n allOption: false,\n onSelect: (chainId: SupportedChainId | \"all\") =>\n chainId !== \"all\" && setChainTo(chainId),\n disabled: selectableChains.length <= 1,\n }\n : undefined;\n\n const setCurrentInput = useSetAtom(currentSwapInputAtom);\n\n const side = useSwapSide();\n const isSell = side === \"SELL\";\n\n // SELLing and price is loading = tokenTo input will receive destAmount\n const isLoading = isPriceLoading && isSell;\n\n const isCrosschain = useIsCrossChain();\n\n const showFetchingQuotes = isCrosschain && isPriceLoading;\n\n return {\n networkSwitcherProps,\n tokenType: \"to\" as const,\n onFocus: () => setCurrentInput(\"to\"),\n label: (\n <>\n <span>Receive</span>{\" \"}\n {showNetworkSwitcher && <span className=\"text-contrast-5\">on</span>}\n </>\n ),\n isLoading,\n disabled: selectableChains.length === 0,\n bottomElement: showFetchingQuotes ? <FetchingQuotes /> : undefined,\n };\n};\n\nexport const useTokenToInputProps = ({\n override,\n isPriceLoading,\n priceMode,\n price,\n priceError,\n}: UseTokenToInputInput): TokenInputProps => {\n const tokenToAmounts = useTokenToAmountProps();\n const token = tokenToAmounts.token;\n const extraProps = useExtraProps({ isPriceLoading, acrossMode: \"swap\" });\n const youGetProps = useYouGetProps({ priceMode, price, token });\n const warningMessage = useWarningMessage({\n priceMode,\n priceError,\n mode: \"swap\",\n tradeMode: \"swap\",\n });\n\n const amount =\n override?.amountWei && token\n ? formatUnits(BigInt(override.amountWei), token.decimals)\n : tokenToAmounts.amount;\n\n const usdEstimation = useTokenToUsdEstimation({ price, amount });\n\n const setTokenTo = useSetAtom(selectSwapTokenToAtom);\n const onTokenSelect = (newTokenTo: Token) => {\n setTokenTo(newTokenTo);\n };\n\n return {\n ...tokenToAmounts,\n amount,\n usdEstimation,\n ...extraProps,\n youGetProps,\n warningMessage,\n onTokenSelect,\n };\n};\n"],"mappings":"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"}
|