@velora-dex/widget 0.6.0 → 0.6.1-dev.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/two-dots.js +32 -0
- package/dist/assets/two-dots.js.map +1 -0
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/button.js +1 -0
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/hooks.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/Activities/hooks.js +54 -54
- 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 +27 -27
- package/dist/components/widget/AppHeader/Activities/utils.js.map +1 -1
- package/dist/components/widget/AppHeader/TradeModeSwitcher.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/TradeModeSwitcher.js +2 -1
- package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +153 -149
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts +1 -1
- 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/Drawer/state/useDrawerControls.d.ts +1 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
- package/dist/components/widget/Duration/Duration.d.ts +1 -1
- package/dist/components/widget/Duration/Duration.d.ts.map +1 -1
- package/dist/components/widget/Duration/Duration.js +2 -4
- package/dist/components/widget/Duration/Duration.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js +56 -57
- package/dist/components/widget/LimitOrderItem/LimitOrderDetails/LimitOrderDetails.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts +7 -8
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +59 -65
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/types.d.ts +3 -2
- package/dist/components/widget/LimitOrderItem/types.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/utils.d.ts +2 -2
- package/dist/components/widget/LimitOrderItem/utils.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/utils.js +22 -19
- package/dist/components/widget/LimitOrderItem/utils.js.map +1 -1
- package/dist/components/widget/NumberInput/NumberInput.d.ts +19 -0
- package/dist/components/widget/NumberInput/NumberInput.d.ts.map +1 -0
- package/dist/components/widget/NumberInput/NumberInput.js +104 -0
- package/dist/components/widget/NumberInput/NumberInput.js.map +1 -0
- package/dist/components/widget/NumberInput/assets/arrow-down.js +20 -0
- package/dist/components/widget/NumberInput/assets/arrow-down.js.map +1 -0
- package/dist/components/widget/NumberInput/assets/arrow-up.js +20 -0
- package/dist/components/widget/NumberInput/assets/arrow-up.js.map +1 -0
- package/dist/components/widget/OtcOrderItem/utils.d.ts.map +1 -1
- package/dist/components/widget/OtcOrderItem/utils.js +4 -2
- package/dist/components/widget/OtcOrderItem/utils.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js +34 -30
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
- package/dist/components/widget/SwapRate/SwapRate.d.ts +2 -9
- package/dist/components/widget/SwapRate/SwapRate.d.ts.map +1 -1
- package/dist/components/widget/SwapRate/SwapRate.js +22 -18
- package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
- package/dist/components/widget/SwapRate/types.d.ts +13 -0
- package/dist/components/widget/SwapRate/types.d.ts.map +1 -0
- package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.d.ts +7 -0
- package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.d.ts.map +1 -0
- package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js +50 -0
- package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js.map +1 -0
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +91 -99
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js +12 -26
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/constants.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/constants.js +2 -1
- package/dist/components/widget/TradeOverview/TradeComplete/constants.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js +77 -55
- package/dist/components/widget/TradeOverview/TradeComplete/useTradeCompleteDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js +80 -63
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts +7 -2
- package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewScreen.js +20 -15
- package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -1
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts +15 -0
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +1 -0
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js +112 -0
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +1 -0
- package/dist/components/widget/TradeOverview/steps.d.ts +37 -4
- package/dist/components/widget/TradeOverview/steps.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/steps.js +17 -5
- package/dist/components/widget/TradeOverview/steps.js.map +1 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts +4 -2
- package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.js +1 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
- package/dist/components/widget/Twap/CustomDurationDrawer.d.ts +7 -0
- package/dist/components/widget/Twap/CustomDurationDrawer.d.ts.map +1 -0
- package/dist/components/widget/Twap/CustomDurationDrawer.js +150 -0
- package/dist/components/widget/Twap/CustomDurationDrawer.js.map +1 -0
- package/dist/components/widget/Twap/OrderDuration.d.ts +11 -0
- package/dist/components/widget/Twap/OrderDuration.d.ts.map +1 -0
- package/dist/components/widget/Twap/OrderDuration.js +92 -0
- package/dist/components/widget/Twap/OrderDuration.js.map +1 -0
- package/dist/components/widget/Twap/OrderSplit.d.ts +2 -0
- package/dist/components/widget/Twap/OrderSplit.d.ts.map +1 -0
- package/dist/components/widget/Twap/OrderSplit.js +40 -0
- package/dist/components/widget/Twap/OrderSplit.js.map +1 -0
- package/dist/components/widget/Twap/RateProtection.d.ts +2 -0
- package/dist/components/widget/Twap/RateProtection.d.ts.map +1 -0
- package/dist/components/widget/Twap/RateProtection.js +42 -0
- package/dist/components/widget/Twap/RateProtection.js.map +1 -0
- package/dist/components/widget/Twap/TwapDetailWithTooltip.d.ts +3 -0
- package/dist/components/widget/Twap/TwapDetailWithTooltip.d.ts.map +1 -0
- package/dist/components/widget/Twap/TwapDetailWithTooltip.js +21 -0
- package/dist/components/widget/Twap/TwapDetailWithTooltip.js.map +1 -0
- package/dist/configurator/Configurator.d.ts.map +1 -1
- package/dist/configurator/components/FormPropsInputs.d.ts.map +1 -1
- package/dist/configurator/components/TradeModesSelector.d.ts.map +1 -1
- package/dist/core/TradeFlowScreenButton.d.ts +5 -0
- package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
- package/dist/core/TradeFlowScreenButton.js +25 -1
- package/dist/core/TradeFlowScreenButton.js.map +1 -1
- package/dist/core/TwapDetails.d.ts +2 -0
- package/dist/core/TwapDetails.d.ts.map +1 -0
- package/dist/core/TwapDetails.js +15 -0
- package/dist/core/TwapDetails.js.map +1 -0
- package/dist/core/Warnings.d.ts +2 -1
- package/dist/core/Warnings.d.ts.map +1 -1
- package/dist/core/Warnings.js +143 -92
- package/dist/core/Warnings.js.map +1 -1
- package/dist/core/across/isCrosschainPossible.d.ts +1 -1
- package/dist/core/across/isCrosschainPossible.d.ts.map +1 -1
- package/dist/core/across/isCrosschainPossible.js +1 -1
- package/dist/core/across/isCrosschainPossible.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 +110 -77
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- package/dist/core/constants.d.ts +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +377 -283
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/hooks/types.d.ts +1 -1
- package/dist/core/inputs/hooks/types.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useTokenFromInputProps.js +7 -7
- package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.js +108 -124
- package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
- package/dist/core/inputs/hooks/useWarningMessage.d.ts +10 -0
- package/dist/core/inputs/hooks/useWarningMessage.d.ts.map +1 -0
- package/dist/core/inputs/hooks/useWarningMessage.js +30 -0
- package/dist/core/inputs/hooks/useWarningMessage.js.map +1 -0
- package/dist/core/inputs/state/common.d.ts +4 -0
- package/dist/core/inputs/state/common.d.ts.map +1 -1
- package/dist/core/inputs/state/common.js +96 -55
- package/dist/core/inputs/state/common.js.map +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.js +77 -79
- 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.map +1 -1
- package/dist/core/limit/useLimitRate.js +0 -2
- package/dist/core/limit/useLimitRate.js.map +1 -1
- package/dist/core/limit/useLimitTokenFromInputProps.js +41 -41
- package/dist/core/limit/useLimitTokenToInputProps.js +45 -45
- package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
- package/dist/core/otc/useOtcTokenFromInputProps.js +39 -39
- package/dist/core/otc/useOtcTokenToInputProps.js +4 -4
- package/dist/core/state/chainToAtom.d.ts +2 -0
- package/dist/core/state/chainToAtom.d.ts.map +1 -1
- package/dist/core/state/chainToAtom.js +39 -18
- package/dist/core/state/chainToAtom.js.map +1 -1
- package/dist/core/state/configAtom.js +2 -2
- package/dist/core/state/configAtom.js.map +1 -1
- package/dist/core/state/configEffectAtom.d.ts.map +1 -1
- package/dist/core/state/configEffectAtom.js +18 -19
- package/dist/core/state/configEffectAtom.js.map +1 -1
- package/dist/core/state/tradeModeAtom.d.ts +1 -1
- package/dist/core/state/tradeModeAtom.d.ts.map +1 -1
- package/dist/core/state/tradeModeAtom.js.map +1 -1
- package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
- package/dist/core/state/widgetEventsAtom.js +49 -31
- package/dist/core/state/widgetEventsAtom.js.map +1 -1
- package/dist/core/swapDetails/priceImpact.d.ts +2 -2
- package/dist/core/swapDetails/priceImpact.d.ts.map +1 -1
- package/dist/core/swapDetails/priceImpact.js.map +1 -1
- package/dist/core/swapDetails/types.d.ts +4 -0
- package/dist/core/swapDetails/types.d.ts.map +1 -0
- package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
- package/dist/core/swapDetails/useSwapDetailsListProps.js +78 -106
- package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
- package/dist/core/twap/state/constants.d.ts +26 -0
- package/dist/core/twap/state/constants.d.ts.map +1 -0
- package/dist/core/twap/state/constants.js +23 -0
- package/dist/core/twap/state/constants.js.map +1 -0
- package/dist/core/twap/state/currentTwapInputAtom.d.ts +4 -0
- package/dist/core/twap/state/currentTwapInputAtom.d.ts.map +1 -0
- package/dist/core/twap/state/currentTwapInputAtom.js +7 -0
- package/dist/core/twap/state/currentTwapInputAtom.js.map +1 -0
- package/dist/core/twap/state/isCrosschainAtom.d.ts +3 -0
- package/dist/core/twap/state/isCrosschainAtom.d.ts.map +1 -0
- package/dist/core/twap/state/isCrosschainAtom.js +12 -0
- package/dist/core/twap/state/isCrosschainAtom.js.map +1 -0
- package/dist/core/twap/state/selectedTokenActionsAtom.d.ts +13 -0
- package/dist/core/twap/state/selectedTokenActionsAtom.d.ts.map +1 -0
- package/dist/core/twap/state/selectedTokenActionsAtom.js +114 -0
- package/dist/core/twap/state/selectedTokenActionsAtom.js.map +1 -0
- package/dist/core/twap/state/twapInputAmountAtom.d.ts +9 -0
- package/dist/core/twap/state/twapInputAmountAtom.d.ts.map +1 -0
- package/dist/core/twap/state/twapInputAmountAtom.js +15 -0
- package/dist/core/twap/state/twapInputAmountAtom.js.map +1 -0
- package/dist/core/twap/state/twapParamsAtom.d.ts +25 -0
- package/dist/core/twap/state/twapParamsAtom.d.ts.map +1 -0
- package/dist/core/twap/state/twapParamsAtom.js +19 -0
- package/dist/core/twap/state/twapParamsAtom.js.map +1 -0
- package/dist/core/twap/state/twapReceiverAddressAtom.d.ts +5 -0
- package/dist/core/twap/state/twapReceiverAddressAtom.d.ts.map +1 -0
- package/dist/core/twap/state/twapReceiverAddressAtom.js +8 -0
- package/dist/core/twap/state/twapReceiverAddressAtom.js.map +1 -0
- package/dist/core/twap/state/twapSideAtom.d.ts +4 -0
- package/dist/core/twap/state/twapSideAtom.d.ts.map +1 -0
- package/dist/core/twap/state/twapSideAtom.js +14 -0
- package/dist/core/twap/state/twapSideAtom.js.map +1 -0
- package/dist/core/twap/state/twapTokenAtoms.d.ts +10 -0
- package/dist/core/twap/state/twapTokenAtoms.d.ts.map +1 -0
- package/dist/core/twap/state/twapTokenAtoms.js +10 -0
- package/dist/core/twap/state/twapTokenAtoms.js.map +1 -0
- package/dist/core/twap/twapDetails/minimumReceiveable.d.ts +12 -0
- package/dist/core/twap/twapDetails/minimumReceiveable.d.ts.map +1 -0
- package/dist/core/twap/twapDetails/minimumReceiveable.js +33 -0
- package/dist/core/twap/twapDetails/minimumReceiveable.js.map +1 -0
- package/dist/core/twap/useTwapDetailsListProps.d.ts +3 -0
- package/dist/core/twap/useTwapDetailsListProps.d.ts.map +1 -0
- package/dist/core/twap/useTwapDetailsListProps.js +81 -0
- package/dist/core/twap/useTwapDetailsListProps.js.map +1 -0
- package/dist/core/twap/useTwapTokenFromInputProps.d.ts +9 -0
- package/dist/core/twap/useTwapTokenFromInputProps.d.ts.map +1 -0
- package/dist/core/twap/useTwapTokenFromInputProps.js +165 -0
- package/dist/core/twap/useTwapTokenFromInputProps.js.map +1 -0
- package/dist/core/twap/useTwapTokenSwitcherProps.d.ts +3 -0
- package/dist/core/twap/useTwapTokenSwitcherProps.d.ts.map +1 -0
- package/dist/core/twap/useTwapTokenSwitcherProps.js +19 -0
- package/dist/core/twap/useTwapTokenSwitcherProps.js.map +1 -0
- package/dist/core/twap/useTwapTokenToInputProps.d.ts +10 -0
- package/dist/core/twap/useTwapTokenToInputProps.d.ts.map +1 -0
- package/dist/core/twap/useTwapTokenToInputProps.js +114 -0
- package/dist/core/twap/useTwapTokenToInputProps.js.map +1 -0
- package/dist/events/effects/formInput.d.ts +3 -0
- package/dist/events/effects/formInput.d.ts.map +1 -1
- package/dist/events/effects/formInput.js +16 -9
- package/dist/events/effects/formInput.js.map +1 -1
- package/dist/events/getters/twap.d.ts +6 -0
- package/dist/events/getters/twap.d.ts.map +1 -0
- package/dist/events/getters/twap.js +57 -0
- package/dist/events/getters/twap.js.map +1 -0
- package/dist/events/getters/widgetState.d.ts.map +1 -1
- package/dist/events/getters/widgetState.js +9 -7
- package/dist/events/getters/widgetState.js.map +1 -1
- package/dist/events/hooks/useActivateEffects.d.ts.map +1 -1
- package/dist/events/hooks/useActivateEffects.js +4 -4
- package/dist/events/hooks/useActivateEffects.js.map +1 -1
- package/dist/events/types/common.d.ts +8 -0
- package/dist/events/types/common.d.ts.map +1 -1
- package/dist/events/types/formInput.d.ts +11 -2
- package/dist/events/types/formInput.d.ts.map +1 -1
- package/dist/events/types/index.d.ts +4 -1
- package/dist/events/types/index.d.ts.map +1 -1
- package/dist/events/types/limit.d.ts +2 -2
- package/dist/events/types/limit.d.ts.map +1 -1
- package/dist/events/types/swap.d.ts +3 -2
- package/dist/events/types/swap.d.ts.map +1 -1
- package/dist/events/types/twap.d.ts +26 -0
- package/dist/events/types/twap.d.ts.map +1 -0
- package/dist/hooks/batch/useSendBatchTx.d.ts +1 -1
- package/dist/hooks/batch/useSendBatchTx.d.ts.map +1 -1
- package/dist/hooks/batch/useSendBatchTx.js.map +1 -1
- package/dist/hooks/permit/utils/deadlines.d.ts +0 -3
- package/dist/hooks/permit/utils/deadlines.d.ts.map +1 -1
- package/dist/hooks/permit/utils/deadlines.js +5 -12
- package/dist/hooks/permit/utils/deadlines.js.map +1 -1
- package/dist/hooks/swap/prices/constants.d.ts +1 -0
- package/dist/hooks/swap/prices/constants.d.ts.map +1 -1
- package/dist/hooks/swap/prices/constants.js +2 -1
- package/dist/hooks/swap/prices/constants.js.map +1 -1
- package/dist/hooks/swap/prices/delta/bridge/utils.js +9 -12
- package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.d.ts +19 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js +42 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts +37 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +77 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.d.ts +69 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js +121 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts +15 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +42 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.d.ts +60 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js +135 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts +18 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +39 -0
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +1 -0
- package/dist/hooks/swap/prices/delta/mutations/types.d.ts +12 -1
- package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts +2 -5
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts +2 -3
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +6 -6
- package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
- 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.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +3 -3
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +16 -22
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts +4 -4
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js +81 -78
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +17 -6
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.js +34 -12
- package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/types.d.ts +22 -46
- 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/types.d.ts +6 -5
- package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +67 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +32 -22
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts +45 -16
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.js +121 -21
- package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts +0 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/errors.d.ts +10 -2
- package/dist/hooks/swap/prices/delta/queries/errors.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/errors.js +9 -5
- package/dist/hooks/swap/prices/delta/queries/errors.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts +5 -6
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +6 -6
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +62 -61
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +15 -19
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js +63 -72
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +56 -55
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.d.ts.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useSpenderAndContracts.js.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js +9 -10
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts +3 -0
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +115 -112
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts +16 -0
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts.map +1 -0
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js +31 -0
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +1 -0
- package/dist/hooks/swap/prices/useTwapPrices.d.ts +45 -0
- package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +1 -0
- package/dist/hooks/swap/prices/useTwapPrices.js +98 -0
- package/dist/hooks/swap/prices/useTwapPrices.js.map +1 -0
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts +48 -0
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -0
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +55 -0
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -0
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts +50 -0
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts.map +1 -0
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js +59 -0
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -0
- package/dist/hooks/swap/tradeFlow/common/types.d.ts +4 -2
- package/dist/hooks/swap/tradeFlow/common/types.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts +2 -0
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +14 -13
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts +6 -6
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +114 -126
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts +7 -7
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +132 -143
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts +2 -1
- package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js +91 -91
- package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/utils.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/utils.js +1 -1
- package/dist/hooks/swap/tradeFlow/common/utils.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +8 -9
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +129 -134
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +6 -7
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +181 -178
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +91 -0
- package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +1 -0
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js +368 -0
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -0
- package/dist/hooks/swap/tradeFlow/useTwapSwapStep.d.ts +25 -0
- package/dist/hooks/swap/tradeFlow/useTwapSwapStep.d.ts.map +1 -0
- package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js +84 -0
- package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js.map +1 -0
- package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js +1 -1
- package/dist/hooks/tokens/prices/queries.js +12 -12
- package/dist/hooks/tokens/useAllTokensWithFilter.d.ts +1 -1
- 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 +1 -1
- package/dist/hooks/tokens/useTokensFromAcross.d.ts.map +1 -1
- package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
- package/dist/hooks/useBridgeInfo.d.ts +1 -1
- package/dist/hooks/useBridgeInfo.d.ts.map +1 -1
- package/dist/hooks/useBridgeInfo.js.map +1 -1
- package/dist/hooks/useIsCrosschainPossible.d.ts +1 -1
- package/dist/hooks/useIsCrosschainPossible.d.ts.map +1 -1
- package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
- package/dist/hooks/useSDK.d.ts +4 -4
- package/dist/hooks/useSDK.d.ts.map +1 -1
- package/dist/hooks/useSDK.js +30 -30
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/hooks/useSelectableDestChains.d.ts +1 -1
- package/dist/hooks/useSelectableDestChains.d.ts.map +1 -1
- package/dist/hooks/useSelectableDestChains.js.map +1 -1
- package/dist/hooks/useSlippage.d.ts.map +1 -1
- package/dist/hooks/useSlippage.js +14 -13
- package/dist/hooks/useSlippage.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/lib/constants/delta.d.ts.map +1 -1
- package/dist/lib/constants/delta.js +1 -1
- package/dist/lib/constants/delta.js.map +1 -1
- package/dist/lib/constants/time.d.ts +2 -0
- package/dist/lib/constants/time.d.ts.map +1 -1
- package/dist/lib/constants/time.js +2 -2
- package/dist/lib/constants/time.js.map +1 -1
- package/dist/lib/queryClient.js +1 -1
- package/dist/lib/queryClient.js.map +1 -1
- package/dist/lib/tradeMode.d.ts +9 -1
- package/dist/lib/tradeMode.d.ts.map +1 -1
- package/dist/lib/tradeMode.js +9 -4
- package/dist/lib/tradeMode.js.map +1 -1
- package/dist/lib/utils/delta.d.ts +10 -0
- package/dist/lib/utils/delta.d.ts.map +1 -1
- package/dist/lib/utils/delta.js +31 -18
- package/dist/lib/utils/delta.js.map +1 -1
- package/dist/lib/utils/index.d.ts +22 -0
- package/dist/lib/utils/index.d.ts.map +1 -1
- package/dist/lib/utils/index.js +27 -15
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/utils/scaleFactor.d.ts +3 -0
- package/dist/lib/utils/scaleFactor.d.ts.map +1 -0
- package/dist/lib/utils/scaleFactor.js +13 -0
- package/dist/lib/utils/scaleFactor.js.map +1 -0
- package/dist/lib/utils/time.d.ts +2 -0
- package/dist/lib/utils/time.d.ts.map +1 -1
- package/dist/lib/utils/time.js +7 -1
- package/dist/lib/utils/time.js.map +1 -1
- package/dist/lib/utils/toasts.d.ts +3 -4
- 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 +24 -0
- package/dist/lib/utils/twap.d.ts.map +1 -0
- package/dist/lib/utils/twap.js +34 -0
- package/dist/lib/utils/twap.js.map +1 -0
- package/dist/lib/web3/privy/config.js +1 -1
- package/dist/lib/web3/privy/config.js.map +1 -1
- package/dist/lib/web3/wagmi/config.js +1 -1
- package/dist/lib/web3/wagmi/config.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/tokens/defaultTokens.js.map +1 -1
- package/dist/transactions/types.d.ts +4 -4
- package/dist/transactions/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/hooks/swap/prices/delta/queries/utils.d.ts +0 -4
- package/dist/hooks/swap/prices/delta/queries/utils.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/queries/utils.js +0 -15
- package/dist/hooks/swap/prices/delta/queries/utils.js.map +0 -1
|
@@ -1,123 +1,114 @@
|
|
|
1
1
|
import { getLogger as e, useLogger as t } from "../../../../../core/logger.js";
|
|
2
2
|
import { useDeltaSDK as n } from "../../../../useSDK.js";
|
|
3
3
|
import { DeltaOrderStatusChecker as r, isCanceledDeltaAuction as i, isDeltaAuctionExpired as a, isExecutedDeltaAuction as o, isFailedDeltaAuction as s } from "../orders/utils.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { assert as _ } from "ts-essentials";
|
|
4
|
+
import { DeltaOrderFailedError as c } from "./errors.js";
|
|
5
|
+
import { c as l } from "react-compiler-runtime";
|
|
6
|
+
import { useLayoutEffect as u, useMemo as d, useRef as f } from "react";
|
|
7
|
+
import { QueryObserver as p, useQuery as m, useQueryClient as h } from "@tanstack/react-query";
|
|
8
|
+
import { assert as g } from "ts-essentials";
|
|
10
9
|
//#region src/hooks/swap/prices/delta/queries/useWatchDeltaOrder.ts
|
|
11
|
-
var
|
|
12
|
-
function
|
|
13
|
-
return [
|
|
10
|
+
var _ = "single_delta_auction";
|
|
11
|
+
function v({ orderId: e } = {}) {
|
|
12
|
+
return [_, e];
|
|
14
13
|
}
|
|
15
|
-
var
|
|
16
|
-
function
|
|
17
|
-
let
|
|
18
|
-
startedQueryAt: Date.now(),
|
|
19
|
-
doneState: !1
|
|
20
|
-
};
|
|
14
|
+
var y = 3e3, b = 6e4;
|
|
15
|
+
function x({ orderId: t, enabled: n = !0, refetchInterval: c = y, select: l, getAuction: u, onUpdatedAuction: d, onAuctionSuccess: f, onAuctionFailure: p }) {
|
|
16
|
+
let m = (e) => "doneState" in e && typeof e.doneState == "boolean";
|
|
21
17
|
return {
|
|
22
|
-
queryKey:
|
|
23
|
-
queryFn: ({ signal: e }) => (
|
|
24
|
-
meta:
|
|
25
|
-
refetchInterval: (
|
|
26
|
-
let
|
|
27
|
-
if (
|
|
28
|
-
if (
|
|
29
|
-
if (o(
|
|
30
|
-
if (s(
|
|
18
|
+
queryKey: v({ orderId: t }),
|
|
19
|
+
queryFn: ({ signal: e }) => (g(t, "orderId is required"), u(t, { signal: e })),
|
|
20
|
+
meta: { doneState: !1 },
|
|
21
|
+
refetchInterval: (t) => {
|
|
22
|
+
let n = t.state.data, l = t.options.meta, u = !!l && m(l);
|
|
23
|
+
if (u && l.doneState) return e("DeltaAuctionPollingQueryOptions").log("Shortcut return for refetchInterval"), !1;
|
|
24
|
+
if (n && d?.(n), n && r.completed.has(n.status)) {
|
|
25
|
+
if (o(n)) return f?.(n), u && (l.doneState = !0), !1;
|
|
26
|
+
if (s(n) || a(n) || i(n)) return p?.(n), u && (l.doneState = !0), !1;
|
|
31
27
|
}
|
|
32
|
-
return
|
|
28
|
+
return c;
|
|
33
29
|
},
|
|
34
30
|
enabled: !!t && n,
|
|
35
31
|
select: l
|
|
36
32
|
};
|
|
37
33
|
}
|
|
38
|
-
function
|
|
39
|
-
let { sdk: c } = n({ chainId: 1 }), l =
|
|
40
|
-
onAuctionSuccess:
|
|
41
|
-
onAuctionFailure:
|
|
42
|
-
onUpdatedAuction:
|
|
43
|
-
onTimeoutGettingOrder: s
|
|
34
|
+
function S({ orderId: e, enabled: t = !0, refetchInterval: r, select: i, onAuctionSuccess: a, onAuctionFailure: o, onUpdatedAuction: s }) {
|
|
35
|
+
let { sdk: c } = n({ chainId: 1 }), l = f({
|
|
36
|
+
onAuctionSuccess: a,
|
|
37
|
+
onAuctionFailure: o,
|
|
38
|
+
onUpdatedAuction: s
|
|
44
39
|
});
|
|
45
|
-
return
|
|
40
|
+
return u(() => {
|
|
46
41
|
l.current = {
|
|
47
|
-
onAuctionSuccess:
|
|
48
|
-
onAuctionFailure:
|
|
49
|
-
onUpdatedAuction:
|
|
50
|
-
onTimeoutGettingOrder: s
|
|
42
|
+
onAuctionSuccess: a,
|
|
43
|
+
onAuctionFailure: o,
|
|
44
|
+
onUpdatedAuction: s
|
|
51
45
|
};
|
|
52
46
|
}, [
|
|
53
|
-
i,
|
|
54
47
|
a,
|
|
55
48
|
o,
|
|
56
49
|
s
|
|
57
|
-
]),
|
|
50
|
+
]), m(d(() => x({
|
|
58
51
|
orderId: e,
|
|
59
52
|
enabled: t,
|
|
60
|
-
|
|
53
|
+
refetchInterval: r,
|
|
54
|
+
select: i,
|
|
61
55
|
getAuction: c.getDeltaOrderById,
|
|
62
56
|
onUpdatedAuction: l.current.onUpdatedAuction,
|
|
63
57
|
onAuctionSuccess: l.current.onAuctionSuccess,
|
|
64
|
-
onAuctionFailure: l.current.onAuctionFailure
|
|
65
|
-
onTimeoutGettingOrder: l.current.onTimeoutGettingOrder
|
|
58
|
+
onAuctionFailure: l.current.onAuctionFailure
|
|
66
59
|
}), [
|
|
67
60
|
e,
|
|
68
61
|
t,
|
|
69
62
|
r,
|
|
63
|
+
i,
|
|
70
64
|
c.getDeltaOrderById
|
|
71
65
|
]));
|
|
72
66
|
}
|
|
73
|
-
function
|
|
74
|
-
let
|
|
75
|
-
|
|
76
|
-
let { onAuctionSuccess: f, onAuctionFailure:
|
|
77
|
-
|
|
78
|
-
let { sdk:
|
|
79
|
-
return
|
|
80
|
-
let { orderId: t, signal: n } = e,
|
|
67
|
+
function C(e) {
|
|
68
|
+
let u = l(10), d;
|
|
69
|
+
u[0] === e ? d = u[1] : (d = e === void 0 ? {} : e, u[0] = e, u[1] = d);
|
|
70
|
+
let { onAuctionSuccess: f, onAuctionFailure: m, refetchInterval: g } = d, _ = h(), y = t("EnsureDeltaOrderExecuted"), S;
|
|
71
|
+
u[2] === Symbol.for("react.memo_cache_sentinel") ? (S = { chainId: 1 }, u[2] = S) : S = u[2];
|
|
72
|
+
let { sdk: C } = n(S), w;
|
|
73
|
+
return u[3] !== y || u[4] !== m || u[5] !== f || u[6] !== _ || u[7] !== g || u[8] !== C.getDeltaOrderById ? (w = async (e) => {
|
|
74
|
+
let { orderId: t, signal: n } = e, l = v({ orderId: t }), u = new p(_, x({
|
|
81
75
|
orderId: t,
|
|
82
76
|
enabled: !0,
|
|
83
|
-
|
|
77
|
+
refetchInterval: g,
|
|
78
|
+
getAuction: C.getDeltaOrderById
|
|
84
79
|
}));
|
|
85
80
|
return new Promise((e, d) => {
|
|
86
|
-
let
|
|
87
|
-
|
|
88
|
-
},
|
|
81
|
+
let p = setTimeout(() => {
|
|
82
|
+
y.log("QueryObserver", l, "timeout"), h(), d(/* @__PURE__ */ Error(`Order ${t} not found`));
|
|
83
|
+
}, b + 1e3);
|
|
89
84
|
n?.addEventListener("abort", () => {
|
|
90
|
-
|
|
85
|
+
p && clearTimeout(p), h(), d(/* @__PURE__ */ Error(`Order execution aborted: ${n.reason}`));
|
|
91
86
|
});
|
|
92
|
-
let
|
|
93
|
-
let
|
|
94
|
-
|
|
87
|
+
let h = u.subscribe((t) => {
|
|
88
|
+
let n = () => {
|
|
89
|
+
y.log("QueryObserver", l, "cleanup"), h();
|
|
95
90
|
};
|
|
96
|
-
|
|
97
|
-
let
|
|
98
|
-
if (
|
|
99
|
-
if (o(
|
|
100
|
-
f?.(
|
|
91
|
+
y.log("QueryObserver", l, t);
|
|
92
|
+
let u = t.data;
|
|
93
|
+
if (u && p !== null && (clearTimeout(p), p = null), u && r.completed.has(u.status)) {
|
|
94
|
+
if (o(u)) {
|
|
95
|
+
f?.(u), n(), e(u);
|
|
101
96
|
return;
|
|
102
97
|
}
|
|
103
|
-
if (s(
|
|
104
|
-
|
|
98
|
+
if (s(u) || a(u) || i(u)) {
|
|
99
|
+
m?.(u), n(), d(new c({ order: u }));
|
|
105
100
|
return;
|
|
106
101
|
}
|
|
107
102
|
}
|
|
108
|
-
if (
|
|
109
|
-
|
|
110
|
-
return;
|
|
111
|
-
}
|
|
112
|
-
if (n.error) {
|
|
113
|
-
u(), d(n.error);
|
|
103
|
+
if (t.error) {
|
|
104
|
+
n(), d(t.error);
|
|
114
105
|
return;
|
|
115
106
|
}
|
|
116
107
|
});
|
|
117
108
|
});
|
|
118
|
-
},
|
|
109
|
+
}, u[3] = y, u[4] = m, u[5] = f, u[6] = _, u[7] = g, u[8] = C.getDeltaOrderById, u[9] = w) : w = u[9], w;
|
|
119
110
|
}
|
|
120
111
|
//#endregion
|
|
121
|
-
export {
|
|
112
|
+
export { v as deltaAuctionPollingQueryKey, C as useEnsureDeltaOrderExecuted, S as useWatchDeltaAuction };
|
|
122
113
|
|
|
123
114
|
//# sourceMappingURL=useWatchDeltaOrder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWatchDeltaOrder.js","names":["QueryObserver","useQueries","useQuery","useQueryClient","QueryMeta","UseQueryOptions","UseQueryResult","useLayoutEffect","useMemo","useRef","assert","MarkOptional","useDeltaSDK","DeltaOrderFromAPI","isMetaWithTimeStart","BridgedDepositResponseFailure","BridgedDepositResponseSuccess","GetBridgedDepositStatusInput","RefetchMetaWithTiming","BridgedDepositResponse","useBridgedDepositStatus","DeltaAuction","DeltaOrderStatusChecker","isExecutedDeltaAuction","isFailedDeltaAuction","isDeltaAuctionExpired","isCanceledDeltaAuction","ExecutedDeltaAuction","FailedDeltaAuction","getLogger","useLogger","DeltaOrderFailedError","SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX","SingleDeltaAuctionQueryKey","base","orderId","deltaAuctionPollingQueryKey","const","MaybeVeloraDeltaAuction","UseDeltaAuctionQueryOptions","Error","TData","DELTA_ORDER_POLLING_INTERVAL","ConstructDeltaAuctionPollingQueryOptionsInput","enabled","select","data","getAuction","requestParams","signal","AbortSignal","Promise","Pick","UseWatchMultiDeltaAuctions","LOOK_FOR_ORDER_TIMEOUT","constructDeltaAuctionPollingQueryOptions","onUpdatedAuction","onAuctionSuccess","onAuctionFailure","onTimeoutGettingOrder","doneState","isMetaWithDoneState","queryMeta","meta","startedQueryAt","Date","now","queryKey","queryFn","refetchInterval","query","maybeOrder","state","options","isWithDoneState","log","completed","has","status","elapsed","id","UseWatchDeltaAuctionQueryInput","auction","useWatchDeltaAuction","sdk","chainId","callbacksRef","current","queryOptions","getDeltaOrderById","EnsureOrderExecutedFn","useEnsureDeltaOrderExecuted","t0","$","_c","t1","undefined","queryClient","logger","t2","Symbol","for","t3","t4","observer","promise","resolve","reject","timeout","setTimeout","unsubscribe","addEventListener","clearTimeout","reason","subscribe","result","cleanup","order","error","ensureOrderSent","orderIds","useWatchMultiDeltaAuctions","queries","map","auctionsResults","MultiOrdersStatusCrossChainInput","orders","bridgeResponse","useWatchMultiOrdersStatusCrossChain","reduce","_temp","deposits","depositId2Order","response","order_0","depositId","onNewResponse","deposit","order_1","successfulOrder","bridgeStatus","bridgeMetadata","fillTx","onDepositSuccess","deposit_0","order_2","failedOrder","onDepositFailure","t5","deposits_0","onNewResponse_0","onDepositSuccess_0","onDepositFailure_0","t6","depositStatuses","acc","push","String","originChainId"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/useWatchDeltaOrder.ts"],"sourcesContent":["import {\n QueryObserver,\n useQueries,\n useQuery,\n useQueryClient,\n type QueryMeta,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useLayoutEffect, useMemo, useRef } from \"react\";\nimport { assert, type MarkOptional } from \"ts-essentials\";\nimport { useDeltaSDK } from \"@/hooks/useSDK\";\nimport type { DeltaOrderFromAPI } from \"./useDeltaOrders\";\nimport {\n isMetaWithTimeStart,\n type BridgedDepositResponseFailure,\n type BridgedDepositResponseSuccess,\n type GetBridgedDepositStatusInput,\n type RefetchMetaWithTiming,\n} from \"../bridge/utils\";\nimport type { BridgedDepositResponse } from \"../bridge/types\";\nimport { useBridgedDepositStatus } from \"../bridge/useBridgedDeposit\";\nimport type { DeltaAuction } from \"@velora-dex/sdk\";\nimport {\n DeltaOrderStatusChecker,\n isExecutedDeltaAuction,\n isFailedDeltaAuction,\n isDeltaAuctionExpired,\n isCanceledDeltaAuction,\n} from \"../orders/utils\";\nimport type { ExecutedDeltaAuction, FailedDeltaAuction } from \"../orders/types\";\nimport { getLogger, useLogger } from \"@/core/logger\";\nimport { DeltaOrderFailedError } from \"./errors\";\n\n// ------------------------------------ Single Delta Auction -----------------------------------\n\nconst SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX = \"single_delta_auction\";\ntype SingleDeltaAuctionQueryKey = [\n base: typeof SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX,\n orderId?: string,\n];\n\nexport function deltaAuctionPollingQueryKey({\n orderId,\n}: {\n orderId?: string;\n} = {}): SingleDeltaAuctionQueryKey {\n return [SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX, orderId] as const;\n}\n\nexport type MaybeVeloraDeltaAuction = DeltaOrderFromAPI | null; // null is when no such Order for orderId\n\ntype UseDeltaAuctionQueryOptions<TData = MaybeVeloraDeltaAuction> =\n UseQueryOptions<\n MaybeVeloraDeltaAuction,\n Error,\n TData,\n SingleDeltaAuctionQueryKey\n >;\n\nconst DELTA_ORDER_POLLING_INTERVAL = 3_000;\n\ntype ConstructDeltaAuctionPollingQueryOptionsInput<\n TData = MaybeVeloraDeltaAuction,\n> = {\n orderId?: string;\n enabled?: boolean;\n select?: (data: MaybeVeloraDeltaAuction) => TData;\n getAuction(\n orderId: string,\n requestParams: { signal?: AbortSignal }\n ): Promise<MaybeVeloraDeltaAuction>;\n} & Pick<\n UseWatchMultiDeltaAuctions,\n | \"onAuctionSuccess\"\n | \"onAuctionFailure\"\n | \"onUpdatedAuction\"\n | \"onTimeoutGettingOrder\"\n>;\n\nconst LOOK_FOR_ORDER_TIMEOUT = 60_000;\n\nfunction constructDeltaAuctionPollingQueryOptions<\n TData = MaybeVeloraDeltaAuction,\n>({\n orderId,\n enabled = true,\n select,\n getAuction,\n onUpdatedAuction,\n onAuctionSuccess,\n onAuctionFailure,\n onTimeoutGettingOrder,\n}: ConstructDeltaAuctionPollingQueryOptionsInput<TData>): Pick<\n UseDeltaAuctionQueryOptions<TData>,\n \"queryKey\" | \"queryFn\" | \"meta\" | \"refetchInterval\" | \"enabled\" | \"select\"\n> {\n const doneState = false;\n\n const isMetaWithDoneState = (\n queryMeta: QueryMeta\n ): queryMeta is { doneState: boolean } => {\n return \"doneState\" in queryMeta && typeof queryMeta.doneState === \"boolean\";\n };\n\n // queryOptions has to be memoized, otherwise queryMeta is updated on each render,\n // including startedQueryAt\n const meta: RefetchMetaWithTiming & {\n doneState: boolean;\n } = {\n startedQueryAt: Date.now(),\n doneState,\n };\n\n return {\n queryKey: deltaAuctionPollingQueryKey({ orderId }),\n queryFn: ({ signal }) => {\n assert(orderId, \"orderId is required\");\n return getAuction(orderId, { signal });\n },\n meta,\n refetchInterval: (query) => {\n const maybeOrder = query.state.data;\n\n const queryMeta = query.options.meta;\n // refetchInterval is called on each render, regardless of queryOptions memoizations.\n // @TODO rework Watch Order logic to avoid callbacks inside refetchInterval,\n // or do away with these callbacks, they are unused currently.\n const isWithDoneState = !!queryMeta && isMetaWithDoneState(queryMeta);\n if (isWithDoneState && queryMeta.doneState) {\n getLogger(\"DeltaAuctionPollingQueryOptions\").log(\n \"Shortcut return for refetchInterval\"\n );\n return false;\n }\n\n // Order could have an updated status during its lifecycle\n if (maybeOrder) onUpdatedAuction?.(maybeOrder);\n\n // Order done with one way or the other\n if (\n maybeOrder &&\n DeltaOrderStatusChecker.completed.has(maybeOrder.status)\n ) {\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isExecutedDeltaAuction(maybeOrder)) {\n onAuctionSuccess?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n if (\n isFailedDeltaAuction(maybeOrder) ||\n isDeltaAuctionExpired(maybeOrder) ||\n isCanceledDeltaAuction(maybeOrder)\n ) {\n onAuctionFailure?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n }\n\n if (maybeOrder === null && queryMeta && isMetaWithTimeStart(queryMeta)) {\n // no Order for this orderId for a long time\n const elapsed = Date.now() - queryMeta.startedQueryAt;\n if (elapsed > LOOK_FOR_ORDER_TIMEOUT) {\n assert(orderId, \"orderId is required\");\n onTimeoutGettingOrder?.({ id: orderId });\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling after 1 minute\n }\n }\n\n return DELTA_ORDER_POLLING_INTERVAL; // default interval for both crosschain and singlechain Orders\n },\n enabled: !!orderId && enabled,\n select,\n };\n}\n\n// ----------------- Single Delta Query -----------------------------------\n\ntype UseWatchDeltaAuctionQueryInput<TData = MaybeVeloraDeltaAuction> = {\n orderId?: string;\n enabled?: boolean;\n select?: (data: MaybeVeloraDeltaAuction) => TData;\n onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;\n onAuctionFailure?: (auction: FailedDeltaAuction) => void;\n onUpdatedAuction?: (auction: MarkOptional<DeltaAuction, \"signature\">) => void;\n onTimeoutGettingOrder?: (auction: Pick<DeltaAuction, \"id\">) => void;\n};\n\nexport function useWatchDeltaAuction<TData = MaybeVeloraDeltaAuction>({\n orderId,\n enabled = true,\n // important to pass stable reference of select function,\n // otherwise constructQueryOptions will re-execute every render\n select,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n}: UseWatchDeltaAuctionQueryInput<TData>): UseQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const callbacksRef = useRef({\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n });\n\n useLayoutEffect(() => {\n callbacksRef.current = {\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n };\n }, [\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n ]);\n\n const queryOptions = useMemo(() => {\n /* eslint-disable react-hooks/refs */\n return constructDeltaAuctionPollingQueryOptions<TData>({\n orderId,\n enabled,\n select,\n getAuction: sdk.getDeltaOrderById,\n onUpdatedAuction: callbacksRef.current.onUpdatedAuction,\n onAuctionSuccess: callbacksRef.current.onAuctionSuccess,\n onAuctionFailure: callbacksRef.current.onAuctionFailure,\n onTimeoutGettingOrder: callbacksRef.current.onTimeoutGettingOrder,\n });\n /* eslint-enable react-hooks/refs */\n }, [orderId, enabled, select, sdk.getDeltaOrderById]);\n\n return useQuery<\n MaybeVeloraDeltaAuction,\n Error,\n TData,\n SingleDeltaAuctionQueryKey\n >(queryOptions);\n}\n\ntype EnsureOrderExecutedFn = (options: {\n orderId: string;\n signal?: AbortSignal;\n}) => Promise<MaybeVeloraDeltaAuction>;\n\nexport function useEnsureDeltaOrderExecuted({\n onAuctionSuccess,\n onAuctionFailure,\n}: Pick<\n UseWatchDeltaAuctionQueryInput,\n \"onAuctionSuccess\" | \"onAuctionFailure\"\n> = {}): EnsureOrderExecutedFn {\n const queryClient = useQueryClient();\n const logger = useLogger(\"EnsureDeltaOrderExecuted\");\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const ensureOrderSent: EnsureOrderExecutedFn = async ({\n orderId,\n signal,\n }): Promise<MaybeVeloraDeltaAuction> => {\n const queryKey: SingleDeltaAuctionQueryKey = deltaAuctionPollingQueryKey({\n orderId,\n });\n\n const queryOptions = constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled: true,\n getAuction: sdk.getDeltaOrderById,\n });\n\n const observer = new QueryObserver<\n MaybeVeloraDeltaAuction,\n Error,\n MaybeVeloraDeltaAuction,\n MaybeVeloraDeltaAuction,\n SingleDeltaAuctionQueryKey\n >(queryClient, queryOptions);\n\n const promise = new Promise<MaybeVeloraDeltaAuction>((resolve, reject) => {\n const startedQueryAt = Date.now();\n\n // don't leave the promise and therefore the observer hanging,\n // observer has its own stop-refetching logic in refetchIterval,\n // but this is an extra failsafe\n let timeout: NodeJS.Timeout | null = setTimeout(() => {\n logger.log(\"QueryObserver\", queryKey, \"timeout\");\n unsubscribe();\n reject(new Error(`Order ${orderId} not found`));\n }, LOOK_FOR_ORDER_TIMEOUT + 1000); // a bit of jitter time\n\n signal?.addEventListener(\"abort\", () => {\n if (timeout) {\n clearTimeout(timeout);\n }\n unsubscribe();\n reject(new Error(`Order execution aborted: ${signal.reason}`));\n });\n\n const unsubscribe = observer.subscribe((result) => {\n const cleanup = () => {\n logger.log(\"QueryObserver\", queryKey, \"cleanup\");\n unsubscribe();\n };\n\n logger.log(\"QueryObserver\", queryKey, result);\n\n const maybeOrder = result.data;\n\n if (maybeOrder && timeout !== null) {\n // Order fetched at least once\n clearTimeout(timeout);\n timeout = null;\n }\n\n // Order done with one way or the other\n if (\n maybeOrder &&\n DeltaOrderStatusChecker.completed.has(maybeOrder.status)\n ) {\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isExecutedDeltaAuction(maybeOrder)) {\n onAuctionSuccess?.(maybeOrder);\n cleanup();\n resolve(maybeOrder);\n return;\n }\n if (\n isFailedDeltaAuction(maybeOrder) ||\n isDeltaAuctionExpired(maybeOrder) ||\n isCanceledDeltaAuction(maybeOrder)\n ) {\n onAuctionFailure?.(maybeOrder);\n cleanup();\n reject(\n new DeltaOrderFailedError({\n order: maybeOrder,\n })\n );\n return;\n }\n }\n\n if (maybeOrder === null) {\n // no Order for this orderId for a long time\n const elapsed = Date.now() - startedQueryAt;\n if (elapsed > LOOK_FOR_ORDER_TIMEOUT) {\n cleanup();\n reject(new Error(`Order ${orderId} not found`));\n return;\n }\n }\n if (result.error) {\n cleanup();\n reject(result.error);\n return;\n }\n });\n });\n\n return promise;\n };\n\n return ensureOrderSent;\n}\n\n// ----------------- Multi Delta Queries -----------------------------------\n\ntype UseWatchMultiDeltaAuctions = {\n orderIds: string[];\n enabled?: boolean;\n onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;\n onAuctionFailure?: (auction: FailedDeltaAuction) => void;\n onUpdatedAuction?: (auction: MarkOptional<DeltaAuction, \"signature\">) => void;\n onTimeoutGettingOrder?: (auction: Pick<DeltaAuction, \"id\">) => void;\n};\n\nexport function useWatchMultiDeltaAuctions({\n orderIds,\n enabled = true,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n}: UseWatchMultiDeltaAuctions): UseQueryResult<MaybeVeloraDeltaAuction>[] {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const callbacksRef = useRef({\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n });\n\n useLayoutEffect(() => {\n callbacksRef.current = {\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n };\n }, [\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n onTimeoutGettingOrder,\n ]);\n\n const queries = useMemo<\n UseDeltaAuctionQueryOptions<MaybeVeloraDeltaAuction>[]\n >(\n () =>\n orderIds.map(\n /* eslint-disable react-hooks/refs */\n (orderId) =>\n constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled,\n getAuction: sdk.getDeltaOrderById,\n onUpdatedAuction: callbacksRef.current.onUpdatedAuction,\n onAuctionSuccess: callbacksRef.current.onAuctionSuccess,\n onAuctionFailure: callbacksRef.current.onAuctionFailure,\n onTimeoutGettingOrder: callbacksRef.current.onTimeoutGettingOrder,\n })\n /* eslint-enable react-hooks/refs */\n ),\n [enabled, orderIds, sdk.getDeltaOrderById]\n );\n\n const auctionsResults = useQueries({ queries });\n\n return auctionsResults;\n}\n\ntype MultiOrdersStatusCrossChainInput = {\n orders: DeltaOrderFromAPI[];\n onAuctionSuccess?: (order: DeltaOrderFromAPI) => void;\n onAuctionFailure?: (order: DeltaOrderFromAPI) => void;\n onUpdatedAuction?: (\n auction: MarkOptional<DeltaAuction, \"signature\">,\n bridgeResponse: BridgedDepositResponse\n ) => void;\n};\n\n// can be used for checking Crosschain Order status checking\n// if status check from API is slow to update\nexport function useWatchMultiOrdersStatusCrossChain({\n orders,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: MultiOrdersStatusCrossChainInput): UseQueryResult<BridgedDepositResponse>[] {\n const { deposits, onNewResponse, onDepositSuccess, onDepositFailure } =\n useMemo(() => {\n const { deposits, depositId2Order } = orders.reduce<{\n deposits: GetBridgedDepositStatusInput[];\n depositId2Order: Record<string, DeltaOrderFromAPI>;\n }>(\n (acc, order) => {\n if (order.bridgeMetadata?.depositId) {\n acc.deposits.push({\n depositId: String(order.bridgeMetadata.depositId),\n originChainId: order.chainId,\n });\n acc.depositId2Order[order.bridgeMetadata.depositId] = order;\n }\n return acc;\n },\n { deposits: [], depositId2Order: {} }\n );\n const onNewResponse = (response: BridgedDepositResponse) => {\n const order = depositId2Order[response.depositId];\n if (order) {\n onUpdatedAuction?.(order, response);\n }\n };\n\n const onDepositSuccess = onAuctionSuccess\n ? (deposit: BridgedDepositResponseSuccess) => {\n const order = depositId2Order[deposit.depositId];\n if (order) {\n const successfulOrder = {\n ...order,\n bridgeStatus: deposit.status,\n bridgeMetadata: {\n ...order.bridgeMetadata,\n fillTx: deposit.fillTx,\n },\n } as DeltaOrderFromAPI; // order.bridgeMetadata should be filled but not according to types\n onAuctionSuccess(successfulOrder);\n }\n }\n : undefined;\n\n const onDepositFailure = onAuctionFailure\n ? (deposit: BridgedDepositResponseFailure) => {\n const order = depositId2Order[deposit.depositId];\n if (order) {\n const failedOrder = {\n ...order,\n bridgeStatus: deposit.status,\n bridgeMetadata: {\n ...order.bridgeMetadata,\n fillTx: deposit.fillTx || undefined,\n },\n } as DeltaOrderFromAPI; // order.bridgeMetadata should be filled but not according to types\n onAuctionFailure(failedOrder);\n }\n }\n : undefined;\n\n return { deposits, onNewResponse, onDepositSuccess, onDepositFailure };\n }, [orders, onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const depositStatuses = useBridgedDepositStatus({\n deposits,\n onNewResponse,\n onDepositSuccess,\n onDepositFailure,\n });\n\n return depositStatuses;\n}\n"],"mappings":";;;;;;;;;;AAoCA,IAAMgC,IAAwC;AAM9C,SAAgBI,EAA4B,EAC1CD,eAGE,EAAE,EAA8B;AAClC,QAAO,CAACH,GAAuCG,EAAQ;;AAazD,IAAMO,IAA+B,KAoB/BY,IAAyB;AAE/B,SAASC,EAEP,EACApB,YACAS,aAAU,IACVC,WACAE,eACAS,qBACAC,qBACAC,qBACAC,4BAIA;CACA,IAEME,KACJC,MAEO,eAAeA,KAAa,OAAOA,EAAUF,aAAc,WAK9DG,IAEF;EACFC,gBAAgBC,KAAKC,KAAK;EAC1BN;EACD;AAED,QAAO;EACLO,UAAU/B,EAA4B,EAAED,YAAS,CAAC;EAClDiC,UAAU,EAAEnB,iBACVvC,EAAOyB,GAAS,sBAAsB,EAC/BY,EAAWZ,GAAS,EAAEc,WAAQ,CAAC;EAExCc;EACAM,kBAAkBC,MAAU;GAC1B,IAAMC,IAAaD,EAAME,MAAM1B,MAEzBgB,IAAYQ,EAAMG,QAAQV,MAI1BW,IAAkB,CAAC,CAACZ,KAAaD,EAAoBC,EAAU;AACrE,OAAIY,KAAmBZ,EAAUF,UAI/B,QAHA/B,EAAU,kCAAkC,CAAC8C,IAC3C,sCACD,EACM;AAOT,OAHIJ,KAAYf,IAAmBe,EAAW,EAI5CA,KACAjD,EAAwBsD,UAAUC,IAAIN,EAAWO,OAAO,EACxD;AAEA,QAAIvD,EAAuBgD,EAAW,CAKpC,QAJAd,IAAmBc,EAAW,EAC1BG,MACFZ,EAAUF,YAAY,KAEjB;AAET,QACEpC,EAAqB+C,EAAW,IAChC9C,EAAsB8C,EAAW,IACjC7C,EAAuB6C,EAAW,CAMlC,QAJAb,IAAmBa,EAAW,EAC1BG,MACFZ,EAAUF,YAAY,KAEjB;;AAiBX,UAbIW,MAAe,QAAQT,KAAahD,EAAoBgD,EAAU,IAEpDG,KAAKC,KAAK,GAAGJ,EAAUE,iBACzBV,KACZ5C,EAAOyB,GAAS,sBAAsB,EACtCwB,IAAwB,EAAEqB,IAAI7C,GAAS,CAAC,EACpCuC,MACFZ,EAAUF,YAAY,KAEjB,MAIJlB;;EAETE,SAAS,CAAC,CAACT,KAAWS;EACtBC;EACD;;AAeH,SAAgBsC,EAAsD,EACpEhD,YACAS,aAAU,IAGVC,WACAY,qBACAC,qBACAF,qBACAG,4BAC+D;CAC/D,IAAM,EAAEyB,WAAQxE,EAAY,EAAEyE,SAAS,GAAG,CAAC,EAErCC,IAAe7E,EAAO;EAC1BgD;EACAC;EACAF;EACAG;EACD,CAAC;AA+BF,QA7BApD,QAAsB;AACpB+E,IAAaC,UAAU;GACrB9B;GACAC;GACAF;GACAG;GACD;IACA;EACDF;EACAC;EACAF;EACAG;EACD,CAAC,EAiBKzD,EAfcM,QAEZ+C,EAAgD;EACrDpB;EACAS;EACAC;EACAE,YAAYqC,EAAIK;EAChBjC,kBAAkB8B,EAAaC,QAAQ/B;EACvCC,kBAAkB6B,EAAaC,QAAQ9B;EACvCC,kBAAkB4B,EAAaC,QAAQ7B;EACvCC,uBAAuB2B,EAAaC,QAAQ5B;EAC7C,CAAC,EAED;EAACxB;EAASS;EAASC;EAAQuC,EAAIK;EAAkB,CAAC,CAOtC;;AAQjB,SAAOE,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAAC;AAAA,CAAAF,EAAA,OAAAD,IAMDG,IAAAF,EAAA,MANsCE,IAAAH,MAAAI,KAAAA,IAAA,EAMtC,GANsCJ,GAMtCC,EAAA,KAAAD,GAAAC,EAAA,KAAAE;CANsC,IAAA,EAAAtC,qBAAAC,wBAAAqC,GAO1CE,IAAoB9F,GAAgB,EACpC+F,IAAepE,EAAU,2BAA2B,EAACqE;AAAA,CAAAN,EAAA,OAAAO,OAAAC,IAAA,4BAAA,IACzBF,IAAA,EAAAd,SAAW,GAAG,EAAAQ,EAAA,KAAAM,KAAAA,IAAAN,EAAA;CAA1C,IAAA,EAAAT,WAAgBxE,EAAYuF,EAAe,EAACG;AA0G1C,QA1G0CT,EAAA,OAAAK,KAAAL,EAAA,OAAAnC,KAAAmC,EAAA,OAAApC,KAAAoC,EAAA,OAAAI,KAAAJ,EAAA,OAAAT,EAAAK,qBAEGa,IAAA,OAAAC,MAAA;EAAO,IAAA,EAAApE,YAAAc,cAAAsD,GAIpDpC,IAA6C/B,EAA4B,EAAAD,YAExE,CAAC,EAQFqE,IAAiB,IAAIxG,EAMnBiG,GAZmB1C,EAAyC;GAAApB;GAAAS,SAEnD;GAAIG,YACDqC,EAAGK;GAChB,CAAC,CAQ0B;AAiFzB,SA/Ea,IAAItC,SAAiCuD,GAAAC,MAAA;GACnD,IAAA3C,IAAuBC,KAAIC,KAAM,EAKjC0C,IAAqCC,iBAAW;AAG9CF,IAFAT,EAAMvB,IAAK,iBAAiBR,GAAU,UAAU,EAChD2C,GAAa,EACbH,EAAO,gBAAInE,MAAM,SAASL,EAAO,YAAa,CAAC;MAC9CmB,IAAyB,IAAK;AAEjCL,MAAM8D,iBAAmB,eAAS;AAKhCJ,IAJIC,KACFI,aAAaJ,EAAQ,EAEvBE,GAAa,EACbH,EAAO,gBAAInE,MAAM,4BAA4BS,EAAMgE,SAAU,CAAC;KAC9D;GAEF,IAAAH,IAAoBN,EAAQU,WAAWC,MAAA;IACrC,IAAAC,UAAgB;AAEdN,KADAZ,EAAMvB,IAAK,iBAAiBR,GAAU,UAAU,EAChD2C,GAAa;;AAGfZ,MAAMvB,IAAK,iBAAiBR,GAAUgD,EAAO;IAE7C,IAAA5C,IAAmB4C,EAAMrE;AASzB,QAPIyB,KAAcqC,MAAY,SAE5BI,aAAaJ,EAAQ,EACrBA,IAAUA,OAKVrC,KACAjD,EAAuBsD,UAAUC,IAAKN,EAAUO,OAAQ,EAAA;AAGxD,SAAIvD,EAAuBgD,EAAW,EAAA;AAGpCmC,MAFAjD,IAAmBc,EAAW,EAC9B6C,GAAS,EACTV,EAAQnC,EAAW;AAAA;;AAGrB,SACE/C,EAAqB+C,EACY,IAAjC9C,EAAsB8C,EACY,IAAlC7C,EAAuB6C,EAAW,EAAA;AAIlCoC,MAFAjD,IAAmBa,EAAW,EAC9B6C,GAAS,EACTT,EACE,IAAI5E,EAAsB,EAAAsF,OACjB9C,GACR,CACH,CAAC;AAAA;;;AAKL,QAAIA,MAAe,QAEDN,KAAIC,KAAM,GAAGF,IACfV,GAAsB;AAElCqD,KADAS,GAAS,EACTT,EAAO,gBAAInE,MAAM,SAASL,EAAO,YAAa,CAAC;AAAA;;AAInD,QAAIgF,EAAMG,OAAM;AAEdX,KADAS,GAAS,EACTT,EAAOQ,EAAMG,MAAO;AAAA;;KAGtB;IACF;IAGHzB,EAAA,KAAAK,GAAAL,EAAA,KAAAnC,GAAAmC,EAAA,KAAApC,GAAAoC,EAAA,KAAAI,GAAAJ,EAAA,KAAAT,EAAAK,mBAAAI,EAAA,KAAAS,KAAAA,IAAAT,EAAA,IAxG8CS"}
|
|
1
|
+
{"version":3,"file":"useWatchDeltaOrder.js","names":["QueryObserver","useQueries","useQuery","useQueryClient","QueryMeta","QueryObserverOptions","UseQueryOptions","UseQueryResult","useLayoutEffect","useMemo","useRef","assert","useDeltaSDK","BridgedDepositResponseFailure","BridgedDepositResponseSuccess","GetBridgedDepositStatusInput","BridgedDepositResponse","useBridgedDepositStatus","DeltaOrderStatusChecker","isExecutedDeltaAuction","isFailedDeltaAuction","isDeltaAuctionExpired","isCanceledDeltaAuction","ExecutedDeltaAuction","FailedDeltaAuction","getLogger","useLogger","DeltaOrderFailedError","DeltaAuction","SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX","SingleDeltaAuctionQueryKey","base","orderId","deltaAuctionPollingQueryKey","const","UseDeltaAuctionQueryOptions","Error","TData","DELTA_ORDER_POLLING_INTERVAL","ConstructDeltaAuctionPollingQueryOptionsInput","enabled","refetchInterval","select","data","getAuction","requestParams","signal","AbortSignal","Promise","Pick","UseWatchMultiDeltaAuctions","LOOK_FOR_ORDER_TIMEOUT","constructDeltaAuctionPollingQueryOptions","onUpdatedAuction","onAuctionSuccess","onAuctionFailure","doneState","isMetaWithDoneState","queryMeta","meta","queryKey","queryFn","query","maybeOrder","state","options","isWithDoneState","log","completed","has","status","UseWatchDeltaAuctionQueryInput","auction","useWatchDeltaAuction","sdk","chainId","callbacksRef","current","queryOptions","getDeltaOrderById","EnsureOrderExecutedFn","useEnsureDeltaOrderExecuted","t0","$","_c","t1","undefined","queryClient","logger","t2","Symbol","for","t3","t4","observer","ObserverOptions","promise","resolve","reject","timeout","setTimeout","unsubscribe","addEventListener","clearTimeout","reason","subscribe","result","cleanup","order","error","ensureOrderSent","orderIds","useWatchMultiDeltaAuctions","queries","map","auctionsResults","MultiOrdersStatusCrossChainInput","orders","bridgeResponse","useWatchMultiOrdersStatusCrossChain","reduce","_temp","deposits","depositId2Order","response","order_0","depositId","onNewResponse","deposit","order_1","bridgeMetadata","successfulOrder","bridgeStatus","fillTx","onDepositSuccess","deposit_0","order_2","failedOrder","onDepositFailure","t5","deposits_0","onNewResponse_0","onDepositSuccess_0","onDepositFailure_0","t6","depositStatuses","acc","push","String","originChainId"],"sources":["../../../../../../src/hooks/swap/prices/delta/queries/useWatchDeltaOrder.ts"],"sourcesContent":["import {\n QueryObserver,\n useQueries,\n useQuery,\n useQueryClient,\n type QueryMeta,\n type QueryObserverOptions,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useLayoutEffect, useMemo, useRef } from \"react\";\nimport { assert } from \"ts-essentials\";\nimport { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n type BridgedDepositResponseFailure,\n type BridgedDepositResponseSuccess,\n type GetBridgedDepositStatusInput,\n} from \"../bridge/utils\";\nimport type { BridgedDepositResponse } from \"../bridge/types\";\nimport { useBridgedDepositStatus } from \"../bridge/useBridgedDeposit\";\nimport {\n DeltaOrderStatusChecker,\n isExecutedDeltaAuction,\n isFailedDeltaAuction,\n isDeltaAuctionExpired,\n isCanceledDeltaAuction,\n} from \"../orders/utils\";\nimport type { ExecutedDeltaAuction, FailedDeltaAuction } from \"../orders/types\";\nimport { getLogger, useLogger } from \"@/core/logger\";\nimport { DeltaOrderFailedError } from \"./errors\";\nimport type { DeltaAuction } from \"@velora-dex/sdk\";\n\n// ------------------------------------ Single Delta Auction -----------------------------------\n\nconst SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX = \"single_delta_auction\";\ntype SingleDeltaAuctionQueryKey = [\n base: typeof SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX,\n orderId?: string,\n];\n\nexport function deltaAuctionPollingQueryKey({\n orderId,\n}: {\n orderId?: string;\n} = {}): SingleDeltaAuctionQueryKey {\n return [SINGLE_DELTA_AUCTION_QUERY_KEY_PREFIX, orderId] as const;\n}\n\ntype UseDeltaAuctionQueryOptions<TData = DeltaAuction> = UseQueryOptions<\n DeltaAuction,\n Error,\n TData,\n SingleDeltaAuctionQueryKey\n>;\n\nconst DELTA_ORDER_POLLING_INTERVAL = 3_000;\n\ntype ConstructDeltaAuctionPollingQueryOptionsInput<TData = DeltaAuction> = {\n orderId?: string;\n enabled?: boolean;\n refetchInterval?: number;\n select?: (data: DeltaAuction) => TData;\n getAuction(\n orderId: string,\n requestParams: { signal?: AbortSignal }\n ): Promise<DeltaAuction>;\n} & Pick<\n UseWatchMultiDeltaAuctions,\n \"onAuctionSuccess\" | \"onAuctionFailure\" | \"onUpdatedAuction\"\n>;\n\nconst LOOK_FOR_ORDER_TIMEOUT = 60_000;\n\nfunction constructDeltaAuctionPollingQueryOptions<TData = DeltaAuction>({\n orderId,\n enabled = true,\n refetchInterval = DELTA_ORDER_POLLING_INTERVAL,\n select,\n getAuction,\n onUpdatedAuction,\n onAuctionSuccess,\n onAuctionFailure,\n}: ConstructDeltaAuctionPollingQueryOptionsInput<TData>): Pick<\n UseDeltaAuctionQueryOptions<TData>,\n \"queryKey\" | \"queryFn\" | \"meta\" | \"refetchInterval\" | \"enabled\" | \"select\"\n> {\n const doneState = false;\n\n const isMetaWithDoneState = (\n queryMeta: QueryMeta\n ): queryMeta is { doneState: boolean } => {\n return \"doneState\" in queryMeta && typeof queryMeta.doneState === \"boolean\";\n };\n\n // queryOptions has to be memoized, otherwise queryMeta is updated on each render\n const meta: { doneState: boolean } = {\n doneState,\n };\n\n return {\n queryKey: deltaAuctionPollingQueryKey({ orderId }),\n queryFn: ({ signal }) => {\n assert(orderId, \"orderId is required\");\n return getAuction(orderId, { signal });\n },\n meta,\n refetchInterval: (query) => {\n const maybeOrder = query.state.data;\n\n const queryMeta = query.options.meta;\n // refetchInterval is called on each render, regardless of queryOptions memoizations.\n // @TODO rework Watch Order logic to avoid callbacks inside refetchInterval,\n // or do away with these callbacks, they are unused currently.\n const isWithDoneState = !!queryMeta && isMetaWithDoneState(queryMeta);\n if (isWithDoneState && queryMeta.doneState) {\n getLogger(\"DeltaAuctionPollingQueryOptions\").log(\n \"Shortcut return for refetchInterval\"\n );\n return false;\n }\n\n // Order could have an updated status during its lifecycle\n if (maybeOrder) onUpdatedAuction?.(maybeOrder);\n\n // Order done with one way or the other\n if (\n maybeOrder &&\n DeltaOrderStatusChecker.completed.has(maybeOrder.status)\n ) {\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isExecutedDeltaAuction(maybeOrder)) {\n onAuctionSuccess?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n if (\n isFailedDeltaAuction(maybeOrder) ||\n isDeltaAuctionExpired(maybeOrder) ||\n isCanceledDeltaAuction(maybeOrder)\n ) {\n onAuctionFailure?.(maybeOrder);\n if (isWithDoneState) {\n queryMeta.doneState = true;\n }\n return false; // stop polling\n }\n }\n\n return refetchInterval;\n },\n enabled: !!orderId && enabled,\n select,\n };\n}\n\n// ----------------- Single Delta Query -----------------------------------\n\ntype UseWatchDeltaAuctionQueryInput<TData = DeltaAuction> = {\n orderId?: string;\n enabled?: boolean;\n refetchInterval?: number;\n select?: (data: DeltaAuction) => TData;\n onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;\n onAuctionFailure?: (auction: FailedDeltaAuction) => void;\n onUpdatedAuction?: (auction: DeltaAuction) => void;\n};\n\nexport function useWatchDeltaAuction<TData = DeltaAuction>({\n orderId,\n enabled = true,\n refetchInterval,\n // important to pass stable reference of select function,\n // otherwise constructQueryOptions will re-execute every render\n select,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: UseWatchDeltaAuctionQueryInput<TData>): UseQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const callbacksRef = useRef({\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n });\n\n useLayoutEffect(() => {\n callbacksRef.current = {\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n };\n }, [onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const queryOptions = useMemo(() => {\n /* eslint-disable react-hooks/refs */\n return constructDeltaAuctionPollingQueryOptions<TData>({\n orderId,\n enabled,\n refetchInterval,\n select,\n getAuction: sdk.getDeltaOrderById,\n onUpdatedAuction: callbacksRef.current.onUpdatedAuction,\n onAuctionSuccess: callbacksRef.current.onAuctionSuccess,\n onAuctionFailure: callbacksRef.current.onAuctionFailure,\n });\n /* eslint-enable react-hooks/refs */\n }, [orderId, enabled, refetchInterval, select, sdk.getDeltaOrderById]);\n\n return useQuery<DeltaAuction, Error, TData, SingleDeltaAuctionQueryKey>(\n queryOptions\n );\n}\n\ntype EnsureOrderExecutedFn<TData extends DeltaAuction = DeltaAuction> =\n (options: { orderId: string; signal?: AbortSignal }) => Promise<TData>;\n\nexport function useEnsureDeltaOrderExecuted<\n TData extends DeltaAuction = DeltaAuction,\n>({\n onAuctionSuccess,\n onAuctionFailure,\n refetchInterval,\n}: Pick<\n UseWatchDeltaAuctionQueryInput,\n \"onAuctionSuccess\" | \"onAuctionFailure\" | \"refetchInterval\"\n> = {}): EnsureOrderExecutedFn<TData> {\n const queryClient = useQueryClient();\n const logger = useLogger(\"EnsureDeltaOrderExecuted\");\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const ensureOrderSent: EnsureOrderExecutedFn<TData> = async ({\n orderId,\n signal,\n }): Promise<TData> => {\n const queryKey: SingleDeltaAuctionQueryKey = deltaAuctionPollingQueryKey({\n orderId,\n });\n\n const queryOptions = constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled: true,\n refetchInterval,\n getAuction: sdk.getDeltaOrderById,\n });\n\n type ObserverOptions = QueryObserverOptions<\n TData,\n Error,\n TData,\n TData,\n SingleDeltaAuctionQueryKey\n >;\n\n const observer = new QueryObserver<\n TData,\n Error,\n TData,\n TData,\n SingleDeltaAuctionQueryKey\n // I wasn't able to shut up TS here\n >(queryClient, queryOptions as ObserverOptions);\n\n const promise = new Promise<TData>((resolve, reject) => {\n // don't leave the promise and therefore the observer hanging,\n // observer has its own stop-refetching logic in refetchIterval,\n // but this is an extra failsafe\n let timeout: NodeJS.Timeout | null = setTimeout(() => {\n logger.log(\"QueryObserver\", queryKey, \"timeout\");\n unsubscribe();\n reject(new Error(`Order ${orderId} not found`));\n }, LOOK_FOR_ORDER_TIMEOUT + 1000); // a bit of jitter time\n\n signal?.addEventListener(\"abort\", () => {\n if (timeout) {\n clearTimeout(timeout);\n }\n unsubscribe();\n reject(new Error(`Order execution aborted: ${signal.reason}`));\n });\n\n const unsubscribe = observer.subscribe((result) => {\n const cleanup = () => {\n logger.log(\"QueryObserver\", queryKey, \"cleanup\");\n unsubscribe();\n };\n\n logger.log(\"QueryObserver\", queryKey, result);\n\n const maybeOrder = result.data;\n\n if (maybeOrder && timeout !== null) {\n // Order fetched at least once\n clearTimeout(timeout);\n timeout = null;\n }\n\n // Order done with one way or the other\n if (\n maybeOrder &&\n DeltaOrderStatusChecker.completed.has(maybeOrder.status)\n ) {\n // Crosschain Orders are considered executed when both srcChain and destChain are executed\n if (isExecutedDeltaAuction(maybeOrder)) {\n onAuctionSuccess?.(maybeOrder);\n cleanup();\n resolve(maybeOrder);\n return;\n }\n if (\n isFailedDeltaAuction(maybeOrder) ||\n isDeltaAuctionExpired(maybeOrder) ||\n isCanceledDeltaAuction(maybeOrder)\n ) {\n onAuctionFailure?.(maybeOrder);\n cleanup();\n reject(\n new DeltaOrderFailedError({\n order: maybeOrder,\n })\n );\n return;\n }\n }\n\n if (result.error) {\n cleanup();\n reject(result.error);\n return;\n }\n });\n });\n\n return promise;\n };\n\n return ensureOrderSent;\n}\n\n// ----------------- Multi Delta Queries -----------------------------------\n\ntype UseWatchMultiDeltaAuctions = {\n orderIds: string[];\n enabled?: boolean;\n onAuctionSuccess?: (auction: ExecutedDeltaAuction) => void;\n onAuctionFailure?: (auction: FailedDeltaAuction) => void;\n onUpdatedAuction?: (auction: DeltaAuction) => void;\n};\n\nexport function useWatchMultiDeltaAuctions({\n orderIds,\n enabled = true,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: UseWatchMultiDeltaAuctions): UseQueryResult<DeltaAuction>[] {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter\n\n const callbacksRef = useRef({\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n });\n\n useLayoutEffect(() => {\n callbacksRef.current = {\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n };\n }, [onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const queries = useMemo<UseDeltaAuctionQueryOptions<DeltaAuction>[]>(\n () =>\n orderIds.map(\n /* eslint-disable react-hooks/refs */\n (orderId) =>\n constructDeltaAuctionPollingQueryOptions({\n orderId,\n enabled,\n getAuction: sdk.getDeltaOrderById,\n onUpdatedAuction: callbacksRef.current.onUpdatedAuction,\n onAuctionSuccess: callbacksRef.current.onAuctionSuccess,\n onAuctionFailure: callbacksRef.current.onAuctionFailure,\n })\n /* eslint-enable react-hooks/refs */\n ),\n [enabled, orderIds, sdk.getDeltaOrderById]\n );\n\n const auctionsResults = useQueries({ queries });\n\n return auctionsResults;\n}\n\ntype MultiOrdersStatusCrossChainInput = {\n orders: DeltaAuction[];\n onAuctionSuccess?: (order: DeltaAuction) => void;\n onAuctionFailure?: (order: DeltaAuction) => void;\n onUpdatedAuction?: (\n auction: DeltaAuction,\n bridgeResponse: BridgedDepositResponse\n ) => void;\n};\n\n// can be used for checking Crosschain Order status checking\n// if status check from API is slow to update\n\n// @TODO Currently not used. Adapt for TWAP orders before usage\nexport function useWatchMultiOrdersStatusCrossChain({\n orders,\n onAuctionSuccess,\n onAuctionFailure,\n onUpdatedAuction,\n}: MultiOrdersStatusCrossChainInput): UseQueryResult<BridgedDepositResponse>[] {\n const { deposits, onNewResponse, onDepositSuccess, onDepositFailure } =\n useMemo(() => {\n const { deposits, depositId2Order } = orders.reduce<{\n deposits: GetBridgedDepositStatusInput[];\n depositId2Order: Record<string, DeltaAuction>;\n }>(\n (acc, order) => {\n if (order.bridgeMetadata?.depositId) {\n acc.deposits.push({\n depositId: String(order.bridgeMetadata.depositId),\n originChainId: order.chainId,\n });\n acc.depositId2Order[order.bridgeMetadata.depositId] = order;\n }\n return acc;\n },\n { deposits: [], depositId2Order: {} }\n );\n const onNewResponse = (response: BridgedDepositResponse) => {\n const order = depositId2Order[response.depositId];\n if (order) {\n onUpdatedAuction?.(order, response);\n }\n };\n\n const onDepositSuccess = onAuctionSuccess\n ? (deposit: BridgedDepositResponseSuccess) => {\n const order = depositId2Order[deposit.depositId];\n // order.bridgeMetadata should be filled but not according to types\n if (order && order.bridgeMetadata !== null) {\n const successfulOrder = {\n ...order,\n bridgeStatus: deposit.status,\n bridgeMetadata: {\n ...order.bridgeMetadata,\n fillTx: deposit.fillTx,\n },\n };\n onAuctionSuccess(successfulOrder);\n }\n }\n : undefined;\n\n const onDepositFailure = onAuctionFailure\n ? (deposit: BridgedDepositResponseFailure) => {\n const order = depositId2Order[deposit.depositId];\n // order.bridgeMetadata should be filled but not according to types\n if (order && order.bridgeMetadata !== null) {\n const failedOrder = {\n ...order,\n bridgeStatus: deposit.status,\n bridgeMetadata: {\n ...order.bridgeMetadata,\n fillTx: deposit.fillTx || undefined,\n },\n };\n onAuctionFailure(failedOrder);\n }\n }\n : undefined;\n\n return { deposits, onNewResponse, onDepositSuccess, onDepositFailure };\n }, [orders, onAuctionSuccess, onAuctionFailure, onUpdatedAuction]);\n\n const depositStatuses = useBridgedDepositStatus({\n deposits,\n onNewResponse,\n onDepositSuccess,\n onDepositFailure,\n });\n\n return depositStatuses;\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMarketPriceQuery.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/market/queries/useMarketPriceQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,EACL,WAAW,EAIX,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,WAAW,EACX,YAAY,IAAI,eAAe,EAChC,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAU,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"useMarketPriceQuery.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/market/queries/useMarketPriceQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,EACL,WAAW,EAIX,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,WAAW,EACX,YAAY,IAAI,eAAe,EAChC,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAU,KAAK,YAAY,EAAE,KAAK,QAAQ,EAAE,MAAM,eAAe,CAAC;AAGzE,KAAK,YAAY,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAC;AAE9C,KAAK,kBAAkB,GAAG,QAAQ,CAChC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,YAAY,CAAC,SAAS,CAAC,CACxD,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,YAAY,CAAC,kBAAkB,EAAE,WAAW,CAAC,CAAC;AAE5E,KAAK,iBAAiB,CAAC,KAAK,GAAG,WAAW,IAAI,IAAI,CAChD,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,CAAC,EAC/D,UAAU,GAAG,SAAS,CACvB,CAAC;AACF,KAAK,iBAAiB,CAAC,KAAK,GAAG,WAAW,IAAI,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAE3E,KAAK,qBAAqB,CAAC,KAAK,GAAG,WAAW,IAAI;IAChD,WAAW,EAAE,eAAe,CAAC;IAC7B,KAAK,CAAC,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,yBAAyB,uBAAuB,CAAC;AAE9D,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,OAAO,yBAAyB;IACtC,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,eAAe;CAC7B,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,KAAK,GAAG,WAAW,EAAE,EACvD,WAAW,EACX,KAAK,EACL,OAAO,EACP,OAAgC,GACjC,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG;IAChC,MAAM,EAAE,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjC,QAAQ,EAAE,mBAAmB,CAAC;CAC/B,CAsBA;AAQD,KAAK,gCAAgC,GAAG;IACtC,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AASF,KAAK,2BAA2B,GAAG,CACjC,KAAK,EAAE,gCAAgC,KACpC,KAAK,CAAC,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE,mBAAmB,CAAC,GAAG,SAAS,CAAC;AAG7E,wBAAgB,2BAA2B,IAAI,2BAA2B,CAmBzE;AAED,KAAK,2BAA2B,GAAG;IACjC,QAAQ,EAAE,mBAAmB,CAAC;IAC9B,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAClC,CAAC;AAEF,KAAK,4BAA4B,GAAG,CAClC,KAAK,EAAE,2BAA2B,KAC/B,MAAM,IAAI,CAAC;AAGhB,wBAAgB,yBAAyB,IAAI,4BAA4B,CA2BxE;AAED,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,WAAW,GACvB,WAAW,GAAG,SAAS,CASzB;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAUtE;AAED,wBAAgB,sBAAsB,CAAC,EACrC,WAAW,EACX,OAAO,GACR,EAAE,IAAI,CAAC,qBAAqB,EAAE,aAAa,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4ExD"}
|
|
@@ -1,77 +1,78 @@
|
|
|
1
1
|
import { useMarketSwapSDK as e } from "../../../../useSDK.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
2
|
+
import { PRICE_FETCH_TIMEOUT_MS as t } from "../../constants.js";
|
|
3
|
+
import { c as n } from "react-compiler-runtime";
|
|
4
|
+
import { useMemo as r } from "react";
|
|
5
|
+
import { QueryObserver as i, useQuery as a, useQueryClient as o } from "@tanstack/react-query";
|
|
6
|
+
import { assert as s } from "ts-essentials";
|
|
7
|
+
import { useDebouncedValue as c } from "@tanstack/react-pacer/debouncer";
|
|
7
8
|
//#region src/hooks/swap/prices/market/queries/useMarketPriceQuery.ts
|
|
8
|
-
var
|
|
9
|
-
function
|
|
10
|
-
let
|
|
11
|
-
|
|
12
|
-
let { sdk:
|
|
13
|
-
|
|
14
|
-
priceParams:
|
|
15
|
-
chainId:
|
|
16
|
-
},
|
|
17
|
-
let { queryKey:
|
|
18
|
-
|
|
9
|
+
var l = "swap/prices/market";
|
|
10
|
+
function u(r) {
|
|
11
|
+
let i = n(20), { priceParams: o, query: c, chainId: l, timeout: u } = r, f = u === void 0 ? t : u, p;
|
|
12
|
+
i[0] === l ? p = i[1] : (p = { chainId: l }, i[0] = l, i[1] = p);
|
|
13
|
+
let { sdk: m } = e(p), g = c?.enabled ?? !0, _;
|
|
14
|
+
i[2] !== l || i[3] !== o ? (_ = {
|
|
15
|
+
priceParams: o,
|
|
16
|
+
chainId: l
|
|
17
|
+
}, i[2] = l, i[3] = o, i[4] = _) : _ = i[4];
|
|
18
|
+
let { queryKey: v, sanitizedPriceParams: y } = h(_), b;
|
|
19
|
+
i[5] !== y || i[6] !== m || i[7] !== f ? (b = (e) => {
|
|
19
20
|
let { signal: t } = e;
|
|
20
|
-
return
|
|
21
|
+
return s(d(y), "destToken is required"), m.getRate(y, {
|
|
21
22
|
signal: t,
|
|
22
|
-
timeout:
|
|
23
|
+
timeout: f
|
|
23
24
|
});
|
|
24
|
-
},
|
|
25
|
-
let
|
|
26
|
-
|
|
27
|
-
let
|
|
28
|
-
|
|
29
|
-
queryKey:
|
|
30
|
-
queryFn:
|
|
31
|
-
...
|
|
32
|
-
enabled:
|
|
33
|
-
},
|
|
34
|
-
let
|
|
35
|
-
return
|
|
36
|
-
result:
|
|
37
|
-
queryKey:
|
|
38
|
-
},
|
|
25
|
+
}, i[5] = y, i[6] = m, i[7] = f, i[8] = b) : b = i[8];
|
|
26
|
+
let x;
|
|
27
|
+
i[9] !== g || i[10] !== y ? (x = g && d(y), i[9] = g, i[10] = y, i[11] = x) : x = i[11];
|
|
28
|
+
let S;
|
|
29
|
+
i[12] !== c || i[13] !== v || i[14] !== b || i[15] !== x ? (S = {
|
|
30
|
+
queryKey: v,
|
|
31
|
+
queryFn: b,
|
|
32
|
+
...c,
|
|
33
|
+
enabled: x
|
|
34
|
+
}, i[12] = c, i[13] = v, i[14] = b, i[15] = x, i[16] = S) : S = i[16];
|
|
35
|
+
let C = a(S), w;
|
|
36
|
+
return i[17] !== v || i[18] !== C ? (w = {
|
|
37
|
+
result: C,
|
|
38
|
+
queryKey: v
|
|
39
|
+
}, i[17] = v, i[18] = C, i[19] = w) : w = i[19], w;
|
|
39
40
|
}
|
|
40
|
-
function
|
|
41
|
+
function d(e) {
|
|
41
42
|
return !!e.destToken && Number(e.amount) > 0;
|
|
42
43
|
}
|
|
43
|
-
function
|
|
44
|
-
let e =
|
|
45
|
-
return e[0] ===
|
|
46
|
-
let { queryKey:
|
|
47
|
-
return new
|
|
48
|
-
queryKey:
|
|
44
|
+
function f() {
|
|
45
|
+
let e = n(2), t = o(), r;
|
|
46
|
+
return e[0] === t ? r = e[1] : (r = (e) => {
|
|
47
|
+
let { queryKey: n, onData: r, onError: a } = e;
|
|
48
|
+
return new i(t, {
|
|
49
|
+
queryKey: n,
|
|
49
50
|
enabled: !1
|
|
50
51
|
}).subscribe((e) => {
|
|
51
52
|
if (e.error) {
|
|
52
53
|
a?.(e.error);
|
|
53
54
|
return;
|
|
54
55
|
}
|
|
55
|
-
e.data &&
|
|
56
|
+
e.data && r?.(e.data);
|
|
56
57
|
});
|
|
57
|
-
}, e[0] =
|
|
58
|
+
}, e[0] = t, e[1] = r), r;
|
|
58
59
|
}
|
|
59
|
-
function
|
|
60
|
+
function p(e) {
|
|
60
61
|
return e.getQueryCache().find({
|
|
61
|
-
queryKey: [
|
|
62
|
+
queryKey: [l],
|
|
62
63
|
exact: !1,
|
|
63
64
|
type: "active"
|
|
64
65
|
})?.state.data;
|
|
65
66
|
}
|
|
66
|
-
function
|
|
67
|
+
function m(e) {
|
|
67
68
|
return typeof e == "object" && !!e && "bestRoute" in e && "srcToken" in e && "destToken" in e && "srcAmount" in e && "destAmount" in e;
|
|
68
69
|
}
|
|
69
|
-
function
|
|
70
|
+
function h({ priceParams: e, chainId: t }) {
|
|
70
71
|
"use no memo";
|
|
71
|
-
let [
|
|
72
|
-
return
|
|
73
|
-
let
|
|
74
|
-
amount:
|
|
72
|
+
let [n] = c(e.amount, { wait: 500 });
|
|
73
|
+
return r(() => {
|
|
74
|
+
let r = {
|
|
75
|
+
amount: n,
|
|
75
76
|
userAddress: e.userAddress,
|
|
76
77
|
side: e.side,
|
|
77
78
|
srcDecimals: e.srcDecimals,
|
|
@@ -101,15 +102,15 @@ function m({ priceParams: e, chainId: t }) {
|
|
|
101
102
|
};
|
|
102
103
|
return {
|
|
103
104
|
queryKey: [
|
|
104
|
-
|
|
105
|
+
l,
|
|
105
106
|
t,
|
|
106
|
-
|
|
107
|
+
r
|
|
107
108
|
],
|
|
108
|
-
sanitizedPriceParams:
|
|
109
|
+
sanitizedPriceParams: r
|
|
109
110
|
};
|
|
110
111
|
}, [
|
|
111
112
|
t,
|
|
112
|
-
|
|
113
|
+
n,
|
|
113
114
|
e.destDecimals,
|
|
114
115
|
e.destToken,
|
|
115
116
|
e.destTokenDexTransferFee,
|
|
@@ -137,6 +138,6 @@ function m({ priceParams: e, chainId: t }) {
|
|
|
137
138
|
]);
|
|
138
139
|
}
|
|
139
140
|
//#endregion
|
|
140
|
-
export {
|
|
141
|
+
export { l as MarketPriceQueryKeyPrefix, p as getLastMarketPrice, m as isDataMarketPrice, u as useMarketPriceQuery, f as useSubscribeToMarketPrice };
|
|
141
142
|
|
|
142
143
|
//# sourceMappingURL=useMarketPriceQuery.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useMarketPriceQuery.js","names":["useMarketSwapSDK","useDebouncedValue","Query","QueryClient","QueryObserver","useQuery","useQueryClient","UseQueryOptions","UseQueryResult","OptimalRate","GetRateInput","GetRateInputSDK","useMemo","assert","MarkOptional","Prettify","RequiredRateParams","Omit","RateParamsInput","MarketQueryParams","Error","TData","MarketPriceQueryKey","MarketQueryResult","MarketPriceQueryInput","priceParams","query","chainId","timeout","MarketPriceQueryKeyPrefix","base","useMarketPriceQuery","t0","$","_c","t1","sdk","queryEnabled","enabled","t2","queryKey","sanitizedPriceParams","useMarketPriceQueryKey","t3","t4","signal","isPriceParamsValid","price","getRate","t5","queryFn","result","t6","destToken","Number","amount","GetMarketPriceQueryForPriceInput","MarketPriceQuery","GetMarketPriceQueryForPrice","input","useMarketPriceQueryForPrice","queryClient","queryCache","getQueryCache","query_0","find","exact","predicate","state","data","SubscribeToMarketPriceInput","onData","onError","error","SubscribeToMarketPriceResult","useSubscribeToMarketPrice","observer","subscribe","getLastMarketPrice","type","isDataMarketPrice","Pick","debouncedAmount","wait","userAddress","side","srcDecimals","destDecimals","srcToken","options","excludeDEXS","includeDEXS","excludePools","excludeContractMethods","includeContractMethods","partner","partnerFeeBps","maxImpact","maxUSDImpact","otherExchangePrices","ignoreBadUsdPrice","excludeRFQ","excludeContractMethodsWithoutFeeModel","srcTokenTransferFee","destTokenTransferFee","srcTokenDexTransferFee","destTokenDexTransferFee","degenMode"],"sources":["../../../../../../src/hooks/swap/prices/market/queries/useMarketPriceQuery.ts"],"sourcesContent":["import { useMarketSwapSDK } from \"@/hooks/useSDK\";\nimport { useDebouncedValue } from \"@tanstack/react-pacer/debouncer\";\nimport {\n Query,\n QueryClient,\n QueryObserver,\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type {\n OptimalRate,\n GetRateInput as GetRateInputSDK,\n} from \"@velora-dex/sdk\";\nimport { useMemo } from \"react\";\nimport { assert, type MarkOptional, type Prettify } from \"ts-essentials\";\n\ntype GetRateInput = Prettify<GetRateInputSDK>;\n\ntype RequiredRateParams = Prettify<\n Omit<GetRateInput, \"options\"> & GetRateInput[\"options\"]\n>;\n\nexport type RateParamsInput = MarkOptional<RequiredRateParams, \"destToken\">;\n\ntype MarketQueryParams<TData = OptimalRate> = Omit<\n UseQueryOptions<OptimalRate, Error, TData, MarketPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype MarketQueryResult<TData = OptimalRate> = UseQueryResult<TData, Error>;\n\ntype MarketPriceQueryInput<TData = OptimalRate> = {\n priceParams: RateParamsInput;\n query?: MarketQueryParams<TData>;\n chainId: number;\n timeout?: number;\n};\n\nexport const MarketPriceQueryKeyPrefix = \"swap/prices/market\";\n\nexport type MarketPriceQueryKey = [\n base: typeof MarketPriceQueryKeyPrefix,\n chainId: number,\n priceParams: RateParamsInput,\n];\n\nexport function useMarketPriceQuery<TData = OptimalRate>({\n priceParams,\n query,\n chainId,\n timeout,\n}: MarketPriceQueryInput<TData>): {\n result: MarketQueryResult<TData>;\n queryKey: MarketPriceQueryKey;\n} {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n const queryEnabled = query?.enabled ?? true;\n\n const { queryKey, sanitizedPriceParams } = useMarketPriceQueryKey({\n priceParams,\n chainId,\n });\n\n const result = useQuery<OptimalRate, Error, TData, MarketPriceQueryKey>({\n queryKey,\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getRate(sanitizedPriceParams, { signal, timeout });\n return price;\n },\n ...query,\n enabled: queryEnabled && isPriceParamsValid(sanitizedPriceParams),\n });\n\n return { result, queryKey };\n}\n\nfunction isPriceParamsValid(\n priceParams: MarkOptional<GetRateInput, \"destToken\">\n): priceParams is GetRateInput {\n return !!priceParams.destToken && Number(priceParams.amount) > 0;\n}\n\ntype GetMarketPriceQueryForPriceInput = {\n price: OptimalRate;\n chainId: number;\n};\n\ntype MarketPriceQuery = Query<\n OptimalRate,\n Error,\n OptimalRate,\n MarketPriceQueryKey\n>;\n\ntype GetMarketPriceQueryForPrice = (\n input: GetMarketPriceQueryForPriceInput\n) => Query<OptimalRate, Error, OptimalRate, MarketPriceQueryKey> | undefined;\n\n// get query for a given marketPrice\nexport function useMarketPriceQueryForPrice(): GetMarketPriceQueryForPrice {\n const queryClient = useQueryClient();\n\n return ({ chainId, price }) => {\n const queryKey: [MarketPriceQueryKey[0], MarketPriceQueryKey[1]] = [\n MarketPriceQueryKeyPrefix,\n chainId,\n ];\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<OptimalRate, Error, OptimalRate>({\n queryKey,\n exact: false,\n predicate: (query) => {\n return query.state.data === price;\n },\n });\n\n return query as MarketPriceQuery | undefined;\n };\n}\n\ntype SubscribeToMarketPriceInput = {\n queryKey: MarketPriceQueryKey;\n onData?: (data: OptimalRate) => void;\n onError?: (error: Error) => void;\n};\n\ntype SubscribeToMarketPriceResult = (\n input: SubscribeToMarketPriceInput\n) => () => void;\n\n// independently subscribe to a price query\nexport function useSubscribeToMarketPrice(): SubscribeToMarketPriceResult {\n const queryClient = useQueryClient();\n\n return ({ queryKey, onData, onError }) => {\n const observer = new QueryObserver<\n OptimalRate,\n Error,\n OptimalRate,\n OptimalRate,\n MarketPriceQueryKey\n >(queryClient, {\n queryKey,\n // only receive updates from existing subscriptions\n enabled: false,\n });\n\n // return unsubscribe function\n return observer.subscribe((result) => {\n if (result.error) {\n onError?.(result.error);\n return;\n }\n if (result.data) {\n onData?.(result.data);\n }\n });\n };\n}\n\nexport function getLastMarketPrice(\n queryClient: QueryClient\n): OptimalRate | undefined {\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<OptimalRate, Error, OptimalRate>({\n queryKey: [MarketPriceQueryKeyPrefix],\n exact: false,\n type: \"active\", // only the most recent query will be active\n });\n\n return query?.state.data;\n}\n\nexport function isDataMarketPrice(price: unknown): price is OptimalRate {\n return (\n typeof price === \"object\" &&\n price !== null &&\n \"bestRoute\" in price &&\n \"srcToken\" in price &&\n \"destToken\" in price &&\n \"srcAmount\" in price &&\n \"destAmount\" in price\n );\n}\n\nexport function useMarketPriceQueryKey({\n priceParams,\n chainId,\n}: Pick<MarketPriceQueryInput, \"priceParams\" | \"chainId\">) {\n \"use no memo\";\n\n // amount tends to change fast during input\n const [debouncedAmount] = useDebouncedValue(priceParams.amount, {\n wait: 500,\n });\n\n return useMemo(() => {\n // avoid passing unnecessary params to url?search and queryKey\n const sanitizedPriceParams = {\n amount: debouncedAmount,\n userAddress: priceParams.userAddress,\n side: priceParams.side,\n srcDecimals: priceParams.srcDecimals,\n destDecimals: priceParams.destDecimals,\n srcToken: priceParams.srcToken,\n destToken: priceParams.destToken,\n options: {\n excludeDEXS: priceParams.excludeDEXS,\n includeDEXS: priceParams.includeDEXS,\n excludePools: priceParams.excludePools,\n excludeContractMethods: priceParams.excludeContractMethods,\n includeContractMethods: priceParams.includeContractMethods,\n partner: priceParams.partner,\n partnerFeeBps: priceParams.partnerFeeBps,\n maxImpact: priceParams.maxImpact,\n maxUSDImpact: priceParams.maxUSDImpact,\n otherExchangePrices: priceParams.otherExchangePrices,\n ignoreBadUsdPrice: priceParams.ignoreBadUsdPrice,\n excludeRFQ: priceParams.excludeRFQ,\n excludeContractMethodsWithoutFeeModel:\n priceParams.excludeContractMethodsWithoutFeeModel,\n srcTokenTransferFee: priceParams.srcTokenTransferFee,\n destTokenTransferFee: priceParams.destTokenTransferFee,\n srcTokenDexTransferFee: priceParams.srcTokenDexTransferFee,\n destTokenDexTransferFee: priceParams.destTokenDexTransferFee,\n degenMode: priceParams.degenMode,\n },\n };\n\n const queryKey: MarketPriceQueryKey = [\n MarketPriceQueryKeyPrefix,\n chainId,\n sanitizedPriceParams,\n ];\n\n return { queryKey, sanitizedPriceParams };\n }, [\n chainId,\n debouncedAmount,\n priceParams.destDecimals,\n priceParams.destToken,\n priceParams.destTokenDexTransferFee,\n priceParams.destTokenTransferFee,\n priceParams.excludeContractMethods,\n priceParams.excludeContractMethodsWithoutFeeModel,\n priceParams.excludeDEXS,\n priceParams.excludePools,\n priceParams.excludeRFQ,\n priceParams.ignoreBadUsdPrice,\n priceParams.includeContractMethods,\n priceParams.includeDEXS,\n priceParams.maxImpact,\n priceParams.maxUSDImpact,\n priceParams.otherExchangePrices,\n priceParams.partner,\n priceParams.partnerFeeBps,\n priceParams.side,\n priceParams.srcDecimals,\n priceParams.srcToken,\n priceParams.srcTokenDexTransferFee,\n priceParams.srcTokenTransferFee,\n priceParams.userAddress,\n priceParams.degenMode,\n ]);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useMarketPriceQuery.js","names":["useMarketSwapSDK","useDebouncedValue","Query","QueryClient","QueryObserver","useQuery","useQueryClient","UseQueryOptions","UseQueryResult","OptimalRate","GetRateInput","GetRateInputSDK","useMemo","assert","MarkOptional","Prettify","PRICE_FETCH_TIMEOUT_MS","RequiredRateParams","Omit","RateParamsInput","MarketQueryParams","Error","TData","MarketPriceQueryKey","MarketQueryResult","MarketPriceQueryInput","priceParams","query","chainId","timeout","MarketPriceQueryKeyPrefix","base","useMarketPriceQuery","t0","$","_c","t1","undefined","t2","sdk","queryEnabled","enabled","t3","queryKey","sanitizedPriceParams","useMarketPriceQueryKey","t4","t5","signal","isPriceParamsValid","price","getRate","t6","queryFn","result","t7","destToken","Number","amount","GetMarketPriceQueryForPriceInput","MarketPriceQuery","GetMarketPriceQueryForPrice","input","useMarketPriceQueryForPrice","queryClient","queryCache","getQueryCache","query_0","find","exact","predicate","state","data","SubscribeToMarketPriceInput","onData","onError","error","SubscribeToMarketPriceResult","useSubscribeToMarketPrice","observer","subscribe","getLastMarketPrice","type","isDataMarketPrice","Pick","debouncedAmount","wait","userAddress","side","srcDecimals","destDecimals","srcToken","options","excludeDEXS","includeDEXS","excludePools","excludeContractMethods","includeContractMethods","partner","partnerFeeBps","maxImpact","maxUSDImpact","otherExchangePrices","ignoreBadUsdPrice","excludeRFQ","excludeContractMethodsWithoutFeeModel","srcTokenTransferFee","destTokenTransferFee","srcTokenDexTransferFee","destTokenDexTransferFee","degenMode"],"sources":["../../../../../../src/hooks/swap/prices/market/queries/useMarketPriceQuery.ts"],"sourcesContent":["import { useMarketSwapSDK } from \"@/hooks/useSDK\";\nimport { useDebouncedValue } from \"@tanstack/react-pacer/debouncer\";\nimport {\n Query,\n QueryClient,\n QueryObserver,\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type {\n OptimalRate,\n GetRateInput as GetRateInputSDK,\n} from \"@velora-dex/sdk\";\nimport { useMemo } from \"react\";\nimport { assert, type MarkOptional, type Prettify } from \"ts-essentials\";\nimport { PRICE_FETCH_TIMEOUT_MS } from \"../../constants\";\n\ntype GetRateInput = Prettify<GetRateInputSDK>;\n\ntype RequiredRateParams = Prettify<\n Omit<GetRateInput, \"options\"> & GetRateInput[\"options\"]\n>;\n\nexport type RateParamsInput = MarkOptional<RequiredRateParams, \"destToken\">;\n\ntype MarketQueryParams<TData = OptimalRate> = Omit<\n UseQueryOptions<OptimalRate, Error, TData, MarketPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype MarketQueryResult<TData = OptimalRate> = UseQueryResult<TData, Error>;\n\ntype MarketPriceQueryInput<TData = OptimalRate> = {\n priceParams: RateParamsInput;\n query?: MarketQueryParams<TData>;\n chainId: number;\n timeout?: number;\n};\n\nexport const MarketPriceQueryKeyPrefix = \"swap/prices/market\";\n\nexport type MarketPriceQueryKey = [\n base: typeof MarketPriceQueryKeyPrefix,\n chainId: number,\n priceParams: RateParamsInput,\n];\n\nexport function useMarketPriceQuery<TData = OptimalRate>({\n priceParams,\n query,\n chainId,\n timeout = PRICE_FETCH_TIMEOUT_MS,\n}: MarketPriceQueryInput<TData>): {\n result: MarketQueryResult<TData>;\n queryKey: MarketPriceQueryKey;\n} {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n const queryEnabled = query?.enabled ?? true;\n\n const { queryKey, sanitizedPriceParams } = useMarketPriceQueryKey({\n priceParams,\n chainId,\n });\n\n const result = useQuery<OptimalRate, Error, TData, MarketPriceQueryKey>({\n queryKey,\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getRate(sanitizedPriceParams, { signal, timeout });\n return price;\n },\n ...query,\n enabled: queryEnabled && isPriceParamsValid(sanitizedPriceParams),\n });\n\n return { result, queryKey };\n}\n\nfunction isPriceParamsValid(\n priceParams: MarkOptional<GetRateInput, \"destToken\">\n): priceParams is GetRateInput {\n return !!priceParams.destToken && Number(priceParams.amount) > 0;\n}\n\ntype GetMarketPriceQueryForPriceInput = {\n price: OptimalRate;\n chainId: number;\n};\n\ntype MarketPriceQuery = Query<\n OptimalRate,\n Error,\n OptimalRate,\n MarketPriceQueryKey\n>;\n\ntype GetMarketPriceQueryForPrice = (\n input: GetMarketPriceQueryForPriceInput\n) => Query<OptimalRate, Error, OptimalRate, MarketPriceQueryKey> | undefined;\n\n// get query for a given marketPrice\nexport function useMarketPriceQueryForPrice(): GetMarketPriceQueryForPrice {\n const queryClient = useQueryClient();\n\n return ({ chainId, price }) => {\n const queryKey: [MarketPriceQueryKey[0], MarketPriceQueryKey[1]] = [\n MarketPriceQueryKeyPrefix,\n chainId,\n ];\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<OptimalRate, Error, OptimalRate>({\n queryKey,\n exact: false,\n predicate: (query) => {\n return query.state.data === price;\n },\n });\n\n return query as MarketPriceQuery | undefined;\n };\n}\n\ntype SubscribeToMarketPriceInput = {\n queryKey: MarketPriceQueryKey;\n onData?: (data: OptimalRate) => void;\n onError?: (error: Error) => void;\n};\n\ntype SubscribeToMarketPriceResult = (\n input: SubscribeToMarketPriceInput\n) => () => void;\n\n// independently subscribe to a price query\nexport function useSubscribeToMarketPrice(): SubscribeToMarketPriceResult {\n const queryClient = useQueryClient();\n\n return ({ queryKey, onData, onError }) => {\n const observer = new QueryObserver<\n OptimalRate,\n Error,\n OptimalRate,\n OptimalRate,\n MarketPriceQueryKey\n >(queryClient, {\n queryKey,\n // only receive updates from existing subscriptions\n enabled: false,\n });\n\n // return unsubscribe function\n return observer.subscribe((result) => {\n if (result.error) {\n onError?.(result.error);\n return;\n }\n if (result.data) {\n onData?.(result.data);\n }\n });\n };\n}\n\nexport function getLastMarketPrice(\n queryClient: QueryClient\n): OptimalRate | undefined {\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<OptimalRate, Error, OptimalRate>({\n queryKey: [MarketPriceQueryKeyPrefix],\n exact: false,\n type: \"active\", // only the most recent query will be active\n });\n\n return query?.state.data;\n}\n\nexport function isDataMarketPrice(price: unknown): price is OptimalRate {\n return (\n typeof price === \"object\" &&\n price !== null &&\n \"bestRoute\" in price &&\n \"srcToken\" in price &&\n \"destToken\" in price &&\n \"srcAmount\" in price &&\n \"destAmount\" in price\n );\n}\n\nexport function useMarketPriceQueryKey({\n priceParams,\n chainId,\n}: Pick<MarketPriceQueryInput, \"priceParams\" | \"chainId\">) {\n \"use no memo\";\n\n // amount tends to change fast during input\n const [debouncedAmount] = useDebouncedValue(priceParams.amount, {\n wait: 500,\n });\n\n return useMemo(() => {\n // avoid passing unnecessary params to url?search and queryKey\n const sanitizedPriceParams = {\n amount: debouncedAmount,\n userAddress: priceParams.userAddress,\n side: priceParams.side,\n srcDecimals: priceParams.srcDecimals,\n destDecimals: priceParams.destDecimals,\n srcToken: priceParams.srcToken,\n destToken: priceParams.destToken,\n options: {\n excludeDEXS: priceParams.excludeDEXS,\n includeDEXS: priceParams.includeDEXS,\n excludePools: priceParams.excludePools,\n excludeContractMethods: priceParams.excludeContractMethods,\n includeContractMethods: priceParams.includeContractMethods,\n partner: priceParams.partner,\n partnerFeeBps: priceParams.partnerFeeBps,\n maxImpact: priceParams.maxImpact,\n maxUSDImpact: priceParams.maxUSDImpact,\n otherExchangePrices: priceParams.otherExchangePrices,\n ignoreBadUsdPrice: priceParams.ignoreBadUsdPrice,\n excludeRFQ: priceParams.excludeRFQ,\n excludeContractMethodsWithoutFeeModel:\n priceParams.excludeContractMethodsWithoutFeeModel,\n srcTokenTransferFee: priceParams.srcTokenTransferFee,\n destTokenTransferFee: priceParams.destTokenTransferFee,\n srcTokenDexTransferFee: priceParams.srcTokenDexTransferFee,\n destTokenDexTransferFee: priceParams.destTokenDexTransferFee,\n degenMode: priceParams.degenMode,\n },\n };\n\n const queryKey: MarketPriceQueryKey = [\n MarketPriceQueryKeyPrefix,\n chainId,\n sanitizedPriceParams,\n ];\n\n return { queryKey, sanitizedPriceParams };\n }, [\n chainId,\n debouncedAmount,\n priceParams.destDecimals,\n priceParams.destToken,\n priceParams.destTokenDexTransferFee,\n priceParams.destTokenTransferFee,\n priceParams.excludeContractMethods,\n priceParams.excludeContractMethodsWithoutFeeModel,\n priceParams.excludeDEXS,\n priceParams.excludePools,\n priceParams.excludeRFQ,\n priceParams.ignoreBadUsdPrice,\n priceParams.includeContractMethods,\n priceParams.includeDEXS,\n priceParams.maxImpact,\n priceParams.maxUSDImpact,\n priceParams.otherExchangePrices,\n priceParams.partner,\n priceParams.partnerFeeBps,\n priceParams.side,\n priceParams.srcDecimals,\n priceParams.srcToken,\n priceParams.srcTokenDexTransferFee,\n priceParams.srcTokenTransferFee,\n priceParams.userAddress,\n priceParams.degenMode,\n ]);\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSpenderAndContracts.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/market/queries/useSpenderAndContracts.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAMpC,KAAK,gBAAgB,GAAG,OAAO,CAAC;AAEhC,KAAK,qBAAqB,CAAC,KAAK,GAAG,gBAAgB,IAAI,IAAI,CACzD,eAAe,CAAC,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,CAAC,EACnE,UAAU,GAAG,SAAS,CACvB,CAAC;AACF,KAAK,qBAAqB,CAAC,KAAK,GAAG,gBAAgB,IAAI,cAAc,CACnE,KAAK,EACL,KAAK,CACN,CAAC;AAEF,KAAK,oBAAoB,CAAC,KAAK,GAAG,gBAAgB,IAAI;IACpD,KAAK,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,kBAAkB,GAAG,CAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"useSpenderAndContracts.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/market/queries/useSpenderAndContracts.ts"],"names":[],"mappings":"AACA,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAMpC,KAAK,gBAAgB,GAAG,OAAO,CAAC;AAEhC,KAAK,qBAAqB,CAAC,KAAK,GAAG,gBAAgB,IAAI,IAAI,CACzD,eAAe,CAAC,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,CAAC,EACnE,UAAU,GAAG,SAAS,CACvB,CAAC;AACF,KAAK,qBAAqB,CAAC,KAAK,GAAG,gBAAgB,IAAI,cAAc,CACnE,KAAK,EACL,KAAK,CACN,CAAC;AAEF,KAAK,oBAAoB,CAAC,KAAK,GAAG,gBAAgB,IAAI;IACpD,KAAK,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,kBAAkB,GAAG,CAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAMzE,KAAK,kBAAkB,GAAG,uBAAuB,CAAC;AAElD,KAAK,uBAAuB,CAAC,KAAK,GAAG,kBAAkB,IAAI,IAAI,CAC7D,eAAe,CAAC,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,CAAC,EACvE,UAAU,GAAG,SAAS,CACvB,CAAC;AACF,KAAK,uBAAuB,CAAC,KAAK,GAAG,kBAAkB,IAAI,cAAc,CACvE,KAAK,EACL,KAAK,CACN,CAAC;AAEF,KAAK,sBAAsB,CAAC,KAAK,GAAG,kBAAkB,IAAI;IACxD,KAAK,CAAC,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,oBAAoB,GAAG,CAAC,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAM7E,wBAAgB,kBAAkB,CAAC,KAAK,GAAG,gBAAgB,EAAE,EAC3D,KAAK,EACL,OAAO,GACR,EAAE,oBAAoB,CAAC,KAAK,CAAC,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAe5D;AAKD,wBAAgB,oBAAoB,CAAC,KAAK,GAAG,kBAAkB,EAAE,EAC/D,KAAK,EACL,OAAO,GACR,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAehE;AAED,KAAK,yBAAyB,GAAG;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,qBAAqB,EAAE,CAAC,EACtB,MAAM,GACP,EAAE;QACD,MAAM,CAAC,EAAE,WAAW,CAAC;KACtB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACnC,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,EACtC,OAAO,GACR,EAAE,yBAAyB,GAAG,0BAA0B,CAsBxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSpenderAndContracts.js","names":["useMarketSwapSDK","useQuery","useQueryClient","UseQueryOptions","UseQueryResult","AdaptersContractsResult","Address","GetSpenderReturn","GetSpenderQueryParams","Omit","Error","TData","GetSpenderQueryKey","GetSpenderQueryResult","GetSpenderQueryInput","query","chainId","base","GetContractsReturn","GetContractsQueryParams","GetContractsQueryKey","GetContractsQueryResult","GetContractsQueryInput","useGetSpenderQuery","t0","$","_c","t1","sdk","t2","t3","t4","signal","spender","getSpender","enabled","t5","queryKey","queryFn","staleTime","Infinity","gcTime","useGetContractsQuery","contracts","getContracts","EnsureContractsQueryInput","EnsureContractsQueryResult","ensureContractsLoaded","AbortSignal","Promise","useEnsureContractsQuery","queryClient","ensureQueryData"],"sources":["../../../../../../src/hooks/swap/prices/market/queries/useSpenderAndContracts.ts"],"sourcesContent":["import { useMarketSwapSDK } from \"@/hooks/useSDK\";\nimport {\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type { AdaptersContractsResult } from \"@velora-dex/sdk\";\nimport type { Address } from \"viem\";\n\n// ============================================================================\n// Types for getSpender\n// ============================================================================\n\ntype GetSpenderReturn = Address;\n\ntype GetSpenderQueryParams<TData = GetSpenderReturn> = Omit<\n UseQueryOptions<GetSpenderReturn, Error, TData, GetSpenderQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype GetSpenderQueryResult<TData = GetSpenderReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype GetSpenderQueryInput<TData = GetSpenderReturn> = {\n query: GetSpenderQueryParams<TData>;\n chainId: number;\n};\n\ntype GetSpenderQueryKey = [base: \"swap/market/spender\", chainId: number];\n\n// ============================================================================\n// Types for getContracts\n// ============================================================================\n\
|
|
1
|
+
{"version":3,"file":"useSpenderAndContracts.js","names":["useMarketSwapSDK","useQuery","useQueryClient","UseQueryOptions","UseQueryResult","AdaptersContractsResult","Address","GetSpenderReturn","GetSpenderQueryParams","Omit","Error","TData","GetSpenderQueryKey","GetSpenderQueryResult","GetSpenderQueryInput","query","chainId","base","GetContractsReturn","GetContractsQueryParams","GetContractsQueryKey","GetContractsQueryResult","GetContractsQueryInput","useGetSpenderQuery","t0","$","_c","t1","sdk","t2","t3","t4","signal","spender","getSpender","enabled","t5","queryKey","queryFn","staleTime","Infinity","gcTime","useGetContractsQuery","contracts","getContracts","EnsureContractsQueryInput","EnsureContractsQueryResult","ensureContractsLoaded","AbortSignal","Promise","useEnsureContractsQuery","queryClient","ensureQueryData"],"sources":["../../../../../../src/hooks/swap/prices/market/queries/useSpenderAndContracts.ts"],"sourcesContent":["import { useMarketSwapSDK } from \"@/hooks/useSDK\";\nimport {\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type { AdaptersContractsResult } from \"@velora-dex/sdk\";\nimport type { Address } from \"viem\";\n\n// ============================================================================\n// Types for getSpender\n// ============================================================================\n\ntype GetSpenderReturn = Address;\n\ntype GetSpenderQueryParams<TData = GetSpenderReturn> = Omit<\n UseQueryOptions<GetSpenderReturn, Error, TData, GetSpenderQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype GetSpenderQueryResult<TData = GetSpenderReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype GetSpenderQueryInput<TData = GetSpenderReturn> = {\n query: GetSpenderQueryParams<TData>;\n chainId: number;\n};\n\ntype GetSpenderQueryKey = [base: \"swap/market/spender\", chainId: number];\n\n// ============================================================================\n// Types for getContracts\n// ============================================================================\n\ntype GetContractsReturn = AdaptersContractsResult;\n\ntype GetContractsQueryParams<TData = GetContractsReturn> = Omit<\n UseQueryOptions<GetContractsReturn, Error, TData, GetContractsQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype GetContractsQueryResult<TData = GetContractsReturn> = UseQueryResult<\n TData,\n Error\n>;\n\ntype GetContractsQueryInput<TData = GetContractsReturn> = {\n query?: GetContractsQueryParams<TData>;\n chainId: number;\n};\n\ntype GetContractsQueryKey = [base: \"swap/market/contracts\", chainId: number];\n\n// ============================================================================\n// Hook for getSpender\n// ============================================================================\n\nexport function useGetSpenderQuery<TData = GetSpenderReturn>({\n query,\n chainId,\n}: GetSpenderQueryInput<TData>): GetSpenderQueryResult<TData> {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n return useQuery<GetSpenderReturn, Error, TData, GetSpenderQueryKey>({\n queryKey: [\"swap/market/spender\", chainId],\n queryFn: async ({ signal }) => {\n const spender = await sdk.getSpender({ signal });\n return spender as Address;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n// ============================================================================\n// Hook for getContracts\n// ============================================================================\n\nexport function useGetContractsQuery<TData = GetContractsReturn>({\n query,\n chainId,\n}: GetContractsQueryInput<TData>): GetContractsQueryResult<TData> {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n return useQuery<GetContractsReturn, Error, TData, GetContractsQueryKey>({\n queryKey: [\"swap/market/contracts\", chainId],\n queryFn: ({ signal }) => {\n const contracts = sdk.getContracts({ signal });\n return contracts;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n\ntype EnsureContractsQueryInput = {\n chainId: number;\n};\n\ntype EnsureContractsQueryResult = {\n ensureContractsLoaded: ({\n signal,\n }: {\n signal?: AbortSignal;\n }) => Promise<GetContractsReturn>;\n};\n\nexport function useEnsureContractsQuery({\n chainId,\n}: EnsureContractsQueryInput): EnsureContractsQueryResult {\n const queryClient = useQueryClient();\n const { sdk } = useMarketSwapSDK({ chainId });\n\n const ensureContractsLoaded: EnsureContractsQueryResult[\"ensureContractsLoaded\"] =\n async ({ signal }) => {\n const contracts = await queryClient.ensureQueryData<\n GetContractsReturn,\n Error,\n GetContractsReturn,\n GetContractsQueryKey\n >({\n queryKey: [\"swap/market/contracts\", chainId],\n queryFn: () => sdk.getContracts({ signal }),\n staleTime: Infinity,\n gcTime: Infinity,\n });\n\n return contracts;\n };\n\n return { ensureContractsLoaded };\n}\n"],"mappings":";;;;AAiFA,SAAO0C,EAAAlB,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAA0D,EAAAX,UAAAC,eAAAQ,GAGjCG;AAAA,CAAAF,EAAA,OAAAT,IACcW,IAAAF,EAAA,MAAXE,IAAA,EAAAX,YAAW,EAAAS,EAAA,KAAAT,GAAAS,EAAA,KAAAE;CAA5C,IAAA,EAAAC,WAAgB5B,EAAiB2B,EAAY,EAACE;AAAA,CAAAJ,EAAA,OAAAT,IAGAa,IAAAJ,EAAA,MAAlCI,IAAA,CAAC,yBAAyBb,EAAQ,EAAAS,EAAA,KAAAT,GAAAS,EAAA,KAAAI;CAAA,IAAAC;AAAA,CAAAL,EAAA,OAAAG,IAI3CE,IAAAL,EAAA,MAHQK,KAAAC,MAAA;EAAC,IAAA,EAAAC,cAAAD;AACuC,SAA7BH,EAAGgB,aAAc,EAAAZ,WAAU,CAAC;IAE/CP,EAAA,KAAAG,GAAAH,EAAA,KAAAK;CAKQ,IAAAC,IAAAhB,GAAKoB,WAAL,IAAsBC;AAChC,QADgCX,EAAA,OAAAV,KAAAU,EAAA,OAAAI,KAAAJ,EAAA,OAAAK,KAAAL,EAAA,OAAAM,KAVuCK,IAAA;EAAAC,UAC5DR;EAAkCS,SACnCR;EAGRS,WAEUC;EAAQC,QACXD;EAAQ,GACbzB;EAAKoB,SACCJ;EACV,EAAAN,EAAA,KAAAV,GAAAU,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,MAAAW,KAAAA,IAAAX,EAAA,KAXMxB,EAAiEmC,EAWtE;;AAeJ,SAAOc,EAAA1B,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAiC,EAAAV,eAAAQ,GAGtC2B,IAAoBjD,GAAgB,EAACyB;AAAA,CAAAF,EAAA,OAAAT,IACOW,IAAAF,EAAA,MAAXE,IAAA,EAAAX,YAAW,EAAAS,EAAA,KAAAT,GAAAS,EAAA,KAAAE;CAA5C,IAAA,EAAAC,WAAgB5B,EAAiB2B,EAAY,EAACE;AAmBd,QAnBcJ,EAAA,OAAAT,KAAAS,EAAA,OAAA0B,KAAA1B,EAAA,OAAAG,KAmBvCC,IAAA,EAAAkB,uBAhBL,OAAAjB,MAAA;EAAO,IAAA,EAAAE,cAAAF;AAWF,SAVe,MAAMqB,EAAWC,gBAKjC;GAAAf,UACU,CAAC,yBAAyBrB,EAAQ;GAAAsB,eAC7BV,EAAGgB,aAAc,EAAAZ,WAAU,CAAC;GAAAO,WAChCC;GAAQC,QACXD;GACT,CAAC;IAK0B,EAAAf,EAAA,KAAAT,GAAAS,EAAA,KAAA0B,GAAA1B,EAAA,KAAAG,GAAAH,EAAA,KAAAI,KAAAA,IAAAJ,EAAA,IAAzBI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePricesParams.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAI5E,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"usePricesParams.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAI5E,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAU5D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAGpC,MAAM,MAAM,gBAAgB,GAAG,YAAY,CACzC,YAAY,CACV,IAAI,CACF,eAAe,EACb,UAAU,GACV,WAAW,GACX,QAAQ,GACR,aAAa,GACb,MAAM,GACN,aAAa,GACb,cAAc,GACd,SAAS,GACT,mBAAmB,GACnB,wBAAwB,GACxB,yBAAyB,GACzB,qBAAqB,GACrB,eAAe,GACf,WAAW,GACX,WAAW,CACd,EACD,WAAW,CACZ,EACD,aAAa,GAAG,MAAM,CACvB,CAAC;AAIF,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG;IACrD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC,CAmEA;AAED,wBAAgB,wBAAwB,IAAI;IAC1C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAUA"}
|