@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTwapFlow.js","names":["BridgePrice","DeltaPrice","useAccount","assert","useEnsureTxReceipt","Address","Hash","TransactionReceipt","ApprovalFlowResult","SignPermitFlowResult","SubmitTxResult","useMinViemClient","useWatchDeltaAuction","getOverallOrderStatus","useMutation","useRef","SupportedChainId","UserCancelledError","useTwapReceiverAddressValue","CallsSentObject","TxSentObject","useApproveOrPermit","useMarkPermit1Or2NonceAsUsed","SignedPermitResult","useLogger","isBridgePrice","useSubscribeToDeltaPrice","usePartner","useWidgetEvents","shouldApproveOrBatch","getSwapSideFromDeltaPrice","DeltaOrBridgePrice","isETHaddress","useCancelOrWithdrawAndCancelDeltaOrder","CancelDeltaOrdersReturn","useTwapPrices","useTwapSide","useTwapDuration","useTwapSlippage","useCreateAndSubmitTwapOrder","CreateAndSubmitTwapOrderInput","DeltaAuctionWithTwapOrder","BuildTWAPSellOrBuySpecificParams","getTwapAmountsFromPrice","produceTwapDeadlines","usePreSignAndSubmitTwapOrder","TwapOrderPreSignResult","useDepositAndSubmitTwapOrder","TwapOrderDepositResult","amountAfterSlippage","DEFAULT_DELTA_BRIDGE","CancelOrderStepKey","HALF_MINUTE_MS","twapOrderFlowType","UseTwapFlowInput","twapPrice","SubmitTwapOrderResult","tradeFlowType","approve","twapOrder","sentOrder","lastOrderState","account","receiverAddress","OnTxSent","txSent","RunTwapOrderOptions","onTxSent","TwapOrderSubmissionResult","order","isCreatingOrder","isPostingOrder","isOrderSent","isPending","isError","isSuccess","error","Error","TwapOrderExecutionResult","isOrderPending","isOrderExecuting","isOrderExecuted","TwapOrderCancelationResult","step","receipt","txHash","response","isCancelingOrder","isOrderCancellable","isOrderCanceled","result","UseTwapFlowResult","chainId","runTwapOrderFlow","options","Promise","reset","cancelFlow","retryFlow","cancelTwapOrder","approval","signPermit","twapOrderPreSign","twapOrderDeposit","twapOrderSubmission","twapOrderExecution","twapOrderCancelation","usedPrice","freshPrice","submittedTwapOrder","TWAP_ORDER_MUTATION_KEY","useTwapFlow","_twapPrice","logger","queryKey","price","refetch","totalSrcAmount","side","sideFromPrices","numSlices","priceParams","enabled","twapSideFromInput","twapSide","approveTxMut","signPermitMut","events","approveOrPermitEvents","srcToken","srcAmount","spenderContractType","swapSide","tradeMode","tryPermit2","address","minClient","createAndSubmitOrderMut","client","mutationOptions","onSuccess","log","onError","twapOrderCreateAndSubmit","canBatchTxs","isConnectedToSafe","preSignAndSubmitTwapOrder","resetPreSignAndSubmitTwapOrder","viemClient","resetDepositAndSubmitTwapOrder","depositAndSubmitTwapOrder","postingOrder","watchOrderExecution","orderId","id","refetchInterval","onAuctionSuccess","onAuctionFailure","onUpdatedAuction","orderStatus","data","isLoading","isRefetching","orderToCancel","cancelOrderMut","onMutate","cancelOrderResponse","ensureTxReceipt","currentAbortControllerRef","AbortController","usingPriceRef","current","abort","markNonceAsUsed","clearNonce","partner","partnerAddress","partnerFeeBps","partnerTakesSurplus","subscribeToPrice","onTwapOrder","twapSlippage","twapDurationMin","submitTwapOrder","lastPrice","abortController","signal","orderDeadline","orderInterval","durationMin","orderSlippageBps","Math","floor","signedPermitResult","approveTxHash","approveTxReceipt","allowanceToSet","allowanceToPermit","amountToPermit","hmac","newPriceResult","cancelRefetch","throwIfAborted","unsubscribeFromPrice","shouldDepositAndPreSign","shouldDoApprovalTxOrPermit","tryPermit","shouldPreSignBatch","_queryKey","approvedAmount","onData","newPrice","aborted","undefined","BigInt","onApproveTx","request","approveAsync","allowanceData","sent","approveTxReceiptPromise","hash","onReplaced","action","transactionHash","receiptPromise","transactionSpecificData","tokenAddress","token","spenderAddress","spender","confirmed","txReceipt","onSignPermit","signPermitAsync","deadline","value","permit","permitEncodedArgs","failed","twapPriceToUse","destAmount","totalDestAmount","destChainId","bridge","destinationChainId","event","name","params","orderFromAPI","sellOrBuyParams","onChainOrderType","maxSrcAmount","createOrderInput","type","degenMode","orderInput","owner","beneficiary","destToken","deltaPrice","protocolSelector","slippage","interval","depositAmount","getDepositAmount","mutateAsync","signedPermitData","cancelDeltaOrder","twapOrderMut","mutationFn","mutationKey","onSettled","toFixed"],"sources":["../../../../src/hooks/swap/tradeFlow/useTwapFlow.ts"],"sourcesContent":["import { type BridgePrice, type DeltaPrice } from \"@velora-dex/sdk\";\nimport { useAccount } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { type Address, type Hash, type TransactionReceipt } from \"viem\";\nimport type {\n ApprovalFlowResult,\n SignPermitFlowResult,\n SubmitTxResult,\n} from \"./common/types\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport { useWatchDeltaAuction } from \"../prices/delta/queries/useWatchDeltaOrder\";\nimport { getOverallOrderStatus } from \"../prices/delta/orders/utils\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { UserCancelledError } from \"./common/errors\";\nimport { useTwapReceiverAddressValue } from \"@/core/twap/state/twapReceiverAddressAtom\";\nimport type {\n CallsSentObject,\n TxSentObject,\n} from \"@/lib/utils/transactionHandlers\";\nimport { useApproveOrPermit } from \"./common/useApproveOrPermit\";\nimport {\n useMarkPermit1Or2NonceAsUsed,\n type SignedPermitResult,\n} from \"./common/useSignPermit1Or2\";\nimport { useLogger } from \"@/core/logger\";\nimport {\n isBridgePrice,\n useSubscribeToDeltaPrice,\n} from \"../prices/delta/queries/useDeltaPriceQuery\";\nimport { usePartner } from \"@/hooks/usePartner\";\nimport { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport { shouldApproveOrBatch } from \"./common/usePreSignAndSubmitDeltaOrder\";\nimport { getSwapSideFromDeltaPrice } from \"../prices/delta/orders/utils\";\nimport type { DeltaOrBridgePrice } from \"../prices/types\";\n\nimport { isETHaddress } from \"@/tokens/utils/eth\";\nimport { useCancelOrWithdrawAndCancelDeltaOrder } from \"../prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder\";\nimport type { CancelDeltaOrdersReturn } from \"../prices/delta/mutations/useCancelDeltaOrders\";\n\nimport { useTwapPrices } from \"../prices/useTwapPrices\";\nimport { useTwapSide } from \"@/core/twap/state/twapSideAtom\";\nimport {\n useTwapDuration,\n useTwapSlippage,\n} from \"@/core/twap/state/twapParamsAtom\";\nimport {\n useCreateAndSubmitTwapOrder,\n type CreateAndSubmitTwapOrderInput,\n} from \"../prices/delta/mutations/twap/useCreateTwapOrder\";\nimport type { DeltaAuctionWithTwapOrder } from \"../prices/delta/orders/types\";\nimport type { BuildTWAPSellOrBuySpecificParams } from \"../prices/delta/mutations/types\";\nimport {\n getTwapAmountsFromPrice,\n produceTwapDeadlines,\n} from \"@/lib/utils/twap\";\nimport {\n usePreSignAndSubmitTwapOrder,\n type TwapOrderPreSignResult,\n} from \"../prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder\";\nimport {\n useDepositAndSubmitTwapOrder,\n type TwapOrderDepositResult,\n} from \"../prices/delta/mutations/twap/useDepositAndSubmitTwapOrder\";\nimport { amountAfterSlippage } from \"@/lib/utils/slippage\";\nimport { DEFAULT_DELTA_BRIDGE } from \"../prices/delta/bridge/const\";\nimport type { CancelOrderStepKey } from \"@/components/widget/TradeOverview/steps\";\nimport { HALF_MINUTE_MS } from \"@/lib/constants/time\";\n\nconst twapOrderFlowType = \"twapOrder\";\n\nexport type UseTwapFlowInput = {\n twapPrice?: DeltaPrice | BridgePrice;\n};\n\nexport type SubmitTwapOrderResult = {\n tradeFlowType: typeof twapOrderFlowType;\n approve: SubmitTxResult;\n twapOrder: {\n sentOrder: DeltaAuctionWithTwapOrder;\n lastOrderState?: DeltaAuctionWithTwapOrder;\n };\n twapPrice: DeltaPrice | BridgePrice;\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject | CallsSentObject) => void;\n\ntype RunTwapOrderOptions = {\n onTxSent?: OnTxSent;\n};\n\ntype TwapOrderSubmissionResult = {\n order?: DeltaAuctionWithTwapOrder;\n isCreatingOrder: boolean;\n isPostingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n};\n\ntype TwapOrderExecutionResult = {\n sentOrder?: DeltaAuctionWithTwapOrder;\n lastOrderState?: DeltaAuctionWithTwapOrder;\n isOrderPending: boolean;\n isOrderExecuting: boolean;\n isOrderExecuted: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n};\n\ntype TwapOrderCancelationResult = {\n step?: CancelOrderStepKey;\n receipt?: TransactionReceipt;\n txHash?: string;\n response?: CancelDeltaOrdersReturn;\n isCancelingOrder: boolean;\n isOrderCancellable: boolean;\n isOrderCanceled: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n result?: TransactionReceipt | CancelDeltaOrdersReturn;\n error: Error | null;\n};\n\nexport type UseTwapFlowResult = {\n tradeFlowType: typeof twapOrderFlowType;\n chainId: SupportedChainId;\n runTwapOrderFlow: (\n options?: RunTwapOrderOptions\n ) => Promise<SubmitTwapOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (options?: RunTwapOrderOptions) => Promise<SubmitTwapOrderResult>; // reset and retry flow\n cancelTwapOrder: () => Promise<\n TransactionReceipt | CancelDeltaOrdersReturn | undefined\n >;\n approval: ApprovalFlowResult;\n signPermit: SignPermitFlowResult;\n twapOrderPreSign: TwapOrderPreSignResult;\n twapOrderDeposit: TwapOrderDepositResult;\n // submission represents either normal signing and POSTing of Order or pre-signing (in a tx) and POSTing\n twapOrderSubmission: TwapOrderSubmissionResult;\n twapOrderExecution: TwapOrderExecutionResult;\n twapOrderCancelation: TwapOrderCancelationResult;\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitTwapOrderResult;\n usedPrice?: DeltaPrice | BridgePrice;\n freshPrice?: DeltaPrice | BridgePrice;\n submittedTwapOrder?: DeltaAuctionWithTwapOrder;\n};\n\nconst TWAP_ORDER_MUTATION_KEY = \"runTwapOrderFlow\";\n\nexport function useTwapFlow({\n twapPrice: _twapPrice,\n}: UseTwapFlowInput): UseTwapFlowResult {\n const logger = useLogger(\"TwapFlow\");\n\n const {\n queryKey,\n price,\n chainId,\n refetch,\n totalSrcAmount,\n side: sideFromPrices,\n numSlices,\n priceParams,\n } = useTwapPrices({ enabled: false });\n\n const twapPrice: DeltaOrBridgePrice | undefined = price || _twapPrice;\n\n const twapSideFromInput = useTwapSide();\n\n const twapSide = sideFromPrices || twapSideFromInput;\n\n /* Inside useApproveOrPermit:\n 1. Get allowance for tokenFrom\n 2.1. submit Approve tx if necessary\n\n 2.2. sign Permit1\n\n 3. await Approve tx (if not using Permit)\n */\n\n const {\n approval,\n signPermit,\n approveTxMut,\n signPermitMut,\n events: approveOrPermitEvents,\n } = useApproveOrPermit({\n srcToken: twapPrice?.srcToken,\n srcAmount: totalSrcAmount,\n spenderContractType: \"ParaswapDelta\",\n swapSide: twapSide,\n tradeMode: \"twap\",\n chainId,\n tryPermit2: false,\n });\n\n /* 4.1. Build and Submit Twap Order */\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n\n const createAndSubmitOrderMut = useCreateAndSubmitTwapOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Create Twap Order success\", order);\n },\n onError: (error) => {\n logger.error(\"Create Twap Order error\", error);\n },\n },\n });\n\n const twapOrderCreateAndSubmit: UseTwapFlowResult[\"twapOrderSubmission\"] = {\n order: createAndSubmitOrderMut.order,\n isCreatingOrder: createAndSubmitOrderMut.isCreatingOrder,\n isPostingOrder: createAndSubmitOrderMut.isPostingOrder,\n isOrderSent: createAndSubmitOrderMut.isOrderSent,\n isPending: createAndSubmitOrderMut.isPending,\n isError: createAndSubmitOrderMut.isError,\n isSuccess: createAndSubmitOrderMut.isSuccess,\n error: createAndSubmitOrderMut.error,\n };\n\n /* 4.2.\n 1. submit Batch tx (Approve + Twap pre-sign)\n 2. await Batch tx\n 3. post Pre-signed Order\n */\n\n const {\n twapOrderPreSign,\n canBatchTxs,\n isConnectedToSafe,\n preSignAndSubmitTwapOrder,\n reset: resetPreSignAndSubmitTwapOrder,\n } = usePreSignAndSubmitTwapOrder({\n chainId,\n account,\n logger,\n viemClient: minClient,\n });\n\n const {\n twapOrderDeposit,\n reset: resetDepositAndSubmitTwapOrder,\n depositAndSubmitTwapOrder,\n } = useDepositAndSubmitTwapOrder({\n chainId,\n account,\n logger,\n viemClient: minClient,\n });\n\n /* final Twap Order submission for step 4 */\n const twapOrderSubmission: UseTwapFlowResult[\"twapOrderSubmission\"] = {\n order:\n twapOrderCreateAndSubmit.order ||\n twapOrderPreSign.order ||\n twapOrderDeposit.order,\n isPostingOrder:\n twapOrderCreateAndSubmit.isPostingOrder ||\n twapOrderPreSign.postingOrder.isPostingOrder ||\n twapOrderDeposit.postingOrder.isPostingOrder,\n isCreatingOrder:\n twapOrderCreateAndSubmit.isCreatingOrder ||\n twapOrderPreSign.isCreatingOrder ||\n twapOrderDeposit.isCreatingOrder,\n isOrderSent:\n twapOrderCreateAndSubmit.isOrderSent ||\n twapOrderPreSign.isOrderSent ||\n twapOrderDeposit.isOrderSent,\n isPending:\n twapOrderCreateAndSubmit.isPending ||\n twapOrderPreSign.isPending ||\n twapOrderDeposit.isPending,\n isError:\n twapOrderCreateAndSubmit.isError ||\n twapOrderPreSign.isError ||\n twapOrderDeposit.isError,\n isSuccess:\n twapOrderCreateAndSubmit.isSuccess ||\n twapOrderPreSign.isSuccess ||\n twapOrderDeposit.isSuccess,\n error:\n twapOrderCreateAndSubmit.error ||\n twapOrderPreSign.error ||\n twapOrderDeposit.error,\n };\n\n /* 5. await Order execution */\n\n const watchOrderExecution = useWatchDeltaAuction<DeltaAuctionWithTwapOrder>({\n orderId: twapOrderSubmission.order?.id,\n refetchInterval: HALF_MINUTE_MS,\n onAuctionSuccess: (order) => {\n logger.log(\"Twap Order success\", order);\n },\n onAuctionFailure: (order) => {\n logger.log(\"Twap Order failure\", order);\n },\n onUpdatedAuction: (order) => {\n logger.log(\"Twap Order updated\", order);\n },\n });\n\n const orderStatus = watchOrderExecution.data\n ? getOverallOrderStatus(watchOrderExecution.data)\n : null;\n\n const twapOrderExecution: UseTwapFlowResult[\"twapOrderExecution\"] = {\n sentOrder: twapOrderSubmission.order,\n lastOrderState: watchOrderExecution.data,\n isOrderPending: orderStatus === \"pending\",\n isOrderExecuting: orderStatus === \"executing\",\n isOrderExecuted: orderStatus === \"confirmed\",\n isPending:\n watchOrderExecution.isLoading ||\n watchOrderExecution.isRefetching ||\n orderStatus === \"pending\" ||\n orderStatus === \"executing\",\n isError: watchOrderExecution.isError || orderStatus === \"failed\",\n isSuccess: orderStatus === \"confirmed\",\n error: watchOrderExecution.error,\n };\n\n const orderToCancel =\n twapOrderExecution.lastOrderState || twapOrderExecution.sentOrder;\n\n const cancelOrderMut = useCancelOrWithdrawAndCancelDeltaOrder({\n // supply the must up-to-date order for cancellation\n order: orderToCancel,\n chainId,\n account,\n client: minClient,\n logger,\n mutationOptions: {\n onMutate: () => {\n assert(orderToCancel, \"No order to cancel\");\n return orderToCancel;\n },\n },\n });\n\n const twapOrderCancelation: UseTwapFlowResult[\"twapOrderCancelation\"] = {\n receipt: cancelOrderMut.receipt,\n txHash: cancelOrderMut.txHash,\n response: cancelOrderMut.cancelOrderResponse,\n isCancelingOrder: cancelOrderMut.isPending,\n isOrderCancellable: cancelOrderMut.isOrderCancellable,\n isOrderCanceled: cancelOrderMut.isSuccess,\n isPending: cancelOrderMut.isPending,\n isError: cancelOrderMut.isError,\n isSuccess: cancelOrderMut.isSuccess,\n error: cancelOrderMut.error,\n result: cancelOrderMut.result,\n step: cancelOrderMut.step,\n };\n\n const ensureTxReceipt = useEnsureTxReceipt();\n\n const currentAbortControllerRef = useRef<AbortController | null>(null);\n const usingPriceRef = useRef<DeltaPrice | BridgePrice | null>(null);\n\n const cancelFlow = () => {\n currentAbortControllerRef.current?.abort(new UserCancelledError());\n currentAbortControllerRef.current = null;\n\n usingPriceRef.current = null;\n };\n\n const receiverAddress = useTwapReceiverAddressValue();\n\n const { markNonceAsUsed, clearNonce } = useMarkPermit1Or2NonceAsUsed({\n chainId,\n });\n\n const { partner, partnerAddress, partnerFeeBps, partnerTakesSurplus } =\n usePartner();\n\n const subscribeToPrice = useSubscribeToDeltaPrice();\n\n const { onTwapOrder } = useWidgetEvents();\n\n const twapSlippage = useTwapSlippage();\n const twapDurationMin = useTwapDuration();\n\n const submitTwapOrder = async ({\n onTxSent,\n lastPrice,\n }: RunTwapOrderOptions & {\n lastPrice?: DeltaPrice | BridgePrice | null;\n } = {}): Promise<SubmitTwapOrderResult> => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n signPermitMut.reset();\n createAndSubmitOrderMut.reset();\n cancelOrderMut.reset();\n resetPreSignAndSubmitTwapOrder();\n resetDepositAndSubmitTwapOrder();\n\n // no sense in starting flow without a price,\n // which may be unavailable only if we are retrying and twapPrice response now returns an error.\n // Otherwise this flow will be stopped by disabling Swap button in the first place\n assert(twapPrice, \"Twap price is not available\");\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n const { orderDeadline, orderInterval } = produceTwapDeadlines({\n durationMin: twapDurationMin,\n numSlices,\n });\n\n const orderSlippageBps = Math.floor(twapSlippage * 100);\n\n let signedPermitResult: SignedPermitResult | undefined;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n\n // at this point this is the syncronously available price\n const allowanceToSet = approval.allowanceToSet;\n const allowanceToPermit = signPermit.amountToPermit;\n // we use this allowance as a max allowance we will accept new prices for\n\n // twapPrice here is the starting price, available before async code and waiting\n let freshPrice = twapPrice;\n if (freshPrice.hmac === lastPrice?.hmac) {\n // we are resubmitting the Twap order, because it failed the last time,\n // but the price hasn't updated yet, so force refetch,\n // comparing raw prices here before mutating to select by bridge preference\n const newPriceResult = await refetch({\n cancelRefetch: false,\n });\n // check if cancelled during refetch\n signal.throwIfAborted();\n\n if (newPriceResult.data) {\n freshPrice = newPriceResult.data;\n }\n }\n let unsubscribeFromPrice: (() => void) | undefined;\n // this also resets previous usingPriceRef\n usingPriceRef.current = freshPrice;\n\n const shouldDepositAndPreSign =\n // @TODO [depositNativeAndPreSign] ensureDeltaEthBalance and compare with price.srcAmount to skip the deposit,\n // or deposit the difference between user dETH balance and price.srcAmount to avoid unnecessary deposits\n isETHaddress(freshPrice.srcToken);\n\n /*\n if connected to Safe, or needs to approve a token with a tx, or needs to pre-wrap ETH\n and can batch txs, then pre-sign the batch;\n that way Safe does only one action (wrapETH?+Approve+setPreSignature batch tx)\n and a wallet that would otherwise potentially wrap ETH and then Approve Token (tx, not Permit),\n and then sign Order, basically has to make at least one tx, does only one action as well.\n */\n const { shouldDoApprovalTxOrPermit, tryPermit, shouldPreSignBatch } =\n shouldApproveOrBatch({\n approval,\n signPermit,\n canBatchTxs,\n isConnectedToSafe,\n });\n\n try {\n if (shouldDoApprovalTxOrPermit && allowanceToSet) {\n // queryKey used to fetch the current price,\n // it will be used for the subsequent price refetches as long as price params not changed\n const _queryKey = queryKey;\n\n // should always be available\n if (_queryKey) {\n // freeze allowanceToSet\n const approvedAmount = allowanceToSet;\n\n // subscribe to price updates to keep track of new prices for the same price params,\n // independently of the hook itself\n unsubscribeFromPrice = subscribeToPrice({\n queryKey: _queryKey,\n onData: (price) => {\n const newPrice: DeltaOrBridgePrice = price;\n\n if (signal.aborted) {\n // just in case unsubscribe in finally is not yet called\n // for the queued update with the price from an already cancelled flow\n unsubscribeFromPrice?.();\n unsubscribeFromPrice = undefined;\n return;\n }\n\n const { srcAmount: totalSrcAmount } = getTwapAmountsFromPrice({\n price: newPrice,\n numSlices,\n });\n\n // if new price fits into allowance, update it\n if (approvedAmount >= BigInt(totalSrcAmount)) {\n // add this check to resubmit flow\n logger.log(\"~ fresh price ~\", newPrice);\n freshPrice = newPrice;\n usingPriceRef.current = freshPrice;\n }\n },\n });\n }\n\n try {\n if (!tryPermit) {\n approveOrPermitEvents.onApproveTx.request({ allowanceToSet });\n\n approveTxHash = await approveTxMut.approveAsync({\n allowanceData: {\n allowanceToSet,\n },\n });\n\n approveOrPermitEvents.onApproveTx.sent({\n allowanceToSet,\n txHash: approveTxHash,\n });\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n const approveTxReceiptPromise = ensureTxReceipt({\n hash: approveTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:approveTx\", approveTxHash, data);\n },\n });\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"approve\",\n transactionHash: approveTxHash,\n receiptPromise: approveTxReceiptPromise,\n transactionSpecificData: {\n action: \"approve\",\n approvedAmount: allowanceToSet,\n tokenAddress: approval.token as Address,\n spenderAddress: approval.spender as Address,\n },\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n approveOrPermitEvents.onApproveTx.confirmed({\n allowanceToSet,\n txHash: approveTxHash,\n txReceipt: approveTxReceipt,\n });\n\n logger.log(\"~ approveTx ~ receipt:\", approveTxReceipt);\n } else {\n approveOrPermitEvents.onSignPermit.request({\n allowanceToSet: allowanceToPermit,\n });\n\n // sign Permit\n signedPermitResult = await signPermitMut.signPermitAsync({\n deadline: BigInt(orderDeadline),\n value: allowanceToPermit,\n });\n\n approveOrPermitEvents.onSignPermit.confirmed({\n allowanceToSet: allowanceToPermit,\n permit: signedPermitResult?.permitEncodedArgs,\n });\n }\n } catch (error) {\n if (!tryPermit) {\n approveOrPermitEvents.onApproveTx.failed({\n allowanceToSet,\n error: error as Error,\n txHash: approveTxHash, // won't necessarily be available\n });\n } else {\n approveOrPermitEvents.onSignPermit.failed({\n allowanceToSet: allowanceToPermit,\n error: error as Error,\n });\n }\n throw error;\n }\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n\n // as long as we had set approvedAmount, we will only get new prices that satisfy the allowance\n const twapPriceToUse = freshPrice;\n usingPriceRef.current = twapPriceToUse;\n\n // no longer need updates, unsubscribe\n unsubscribeFromPrice?.();\n unsubscribeFromPrice = undefined;\n\n assert(twapPriceToUse, \"Twap price is not available\");\n const twapSide = getSwapSideFromDeltaPrice(twapPriceToUse);\n const { srcAmount: totalSrcAmount, destAmount: totalDestAmount } =\n getTwapAmountsFromPrice({ price: twapPriceToUse, numSlices });\n\n const permit = signedPermitResult?.permitEncodedArgs;\n\n const destChainId = isBridgePrice(twapPriceToUse)\n ? twapPriceToUse.bridge.destinationChainId\n : chainId;\n\n onTwapOrder?.({\n event: {\n name: \"TwapOrder:request\",\n params: {\n price: twapPriceToUse,\n },\n },\n });\n\n let orderFromAPI: DeltaAuctionWithTwapOrder;\n let sellOrBuyParams: BuildTWAPSellOrBuySpecificParams;\n\n if (twapSide === \"SELL\") {\n sellOrBuyParams = {\n onChainOrderType: \"TWAPOrder\",\n totalSrcAmount,\n // SDK adds destAmountPerSlice internally with slippage applied\n };\n } else {\n sellOrBuyParams = {\n onChainOrderType: \"TWAPBuyOrder\",\n totalDestAmount,\n // SDK applies slippage to maxSrcAmount internally\n maxSrcAmount: totalSrcAmount,\n };\n }\n\n const createOrderInput: CreateAndSubmitTwapOrderInput = {\n signal,\n type: \"MARKET\",\n degenMode: priceParams.degenMode,\n orderInput: {\n owner: account,\n beneficiary: receiverAddress,\n srcToken: twapPriceToUse.srcToken,\n destToken: twapPriceToUse.destToken,\n permit,\n destChainId,\n deltaPrice: {\n ...twapPriceToUse,\n bridge: {\n ...twapPriceToUse.bridge,\n // TWAP: pass nullified protocolSelector\n protocolSelector: DEFAULT_DELTA_BRIDGE.protocolSelector,\n // SDK nullifies protocolData internally\n },\n partner,\n },\n\n partner,\n partnerAddress,\n partnerFeeBps,\n partnerTakesSurplus,\n\n deadline: orderDeadline,\n\n // twap specific params\n ...sellOrBuyParams,\n numSlices: numSlices,\n slippage: orderSlippageBps,\n interval: orderInterval,\n },\n };\n\n if (shouldDepositAndPreSign) {\n const depositAmount = getDepositAmount(sellOrBuyParams, twapSlippage);\n // deposit ETH + depositTx + POST order\n orderFromAPI = await depositAndSubmitTwapOrder({\n createOrderInput,\n depositAmount,\n onTxSent,\n });\n } else if (shouldPreSignBatch) {\n // prepare Order for pre-signing and POSTing:\n // 1. builds the order\n // 2. hashes the built order\n // 3. construct DeltaContract.setPreSignature(orderHash, true) tx calldata\n\n orderFromAPI = await preSignAndSubmitTwapOrder({\n createOrderInput,\n approval,\n onTxSent,\n });\n } else {\n // creating signing and POSTing the Order all together in one mutation\n orderFromAPI =\n await createAndSubmitOrderMut.mutateAsync(createOrderInput);\n }\n\n // Order is sent, consider Token nonce as used\n if (signedPermitResult) {\n markNonceAsUsed(signedPermitResult.signedPermitData);\n }\n\n onTwapOrder?.({\n event: {\n name: \"TwapOrder:sent\",\n params: {\n price: twapPriceToUse,\n order: orderFromAPI,\n },\n },\n });\n\n // no use aborting past this point, Order is already being processed\n\n return {\n tradeFlowType: twapOrderFlowType,\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n twapOrder: {\n sentOrder: orderFromAPI,\n },\n twapPrice: twapPriceToUse,\n account,\n receiverAddress,\n };\n } catch (error) {\n // Order failed, we can't be sure if nonce can be reused or it was incremented in a different Order\n if (signedPermitResult) {\n clearNonce(signedPermitResult.signedPermitData);\n }\n onTwapOrder?.({\n event: {\n name: \"TwapOrder:failed\",\n params: {\n error: error as Error,\n },\n },\n });\n\n throw error;\n } finally {\n // always unsubscribe if subscribed previously\n unsubscribeFromPrice?.();\n }\n };\n\n const cancelTwapOrder = async () => {\n try {\n return await cancelOrderMut.cancelDeltaOrder();\n } catch (error) {\n logger.error(\"Cancel Delta order error\", error);\n // allow to re-trigger cancellation after error (like UserCancelledError)\n cancelOrderMut.reset();\n }\n };\n\n const twapOrderMut = useMutation({\n mutationFn: submitTwapOrder,\n mutationKey: [TWAP_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Twap Order success\", data);\n },\n onError: (error) => {\n logger.error(\"Twap Order error\", error);\n },\n onSettled: () => {\n logger.log(\"Twap Order settled\");\n },\n });\n\n const runTwapOrderFlow = twapOrderMut.mutateAsync;\n\n const reset = () => {\n usingPriceRef.current = null;\n\n approveTxMut.reset();\n signPermitMut.reset();\n createAndSubmitOrderMut.reset();\n twapOrderMut.reset();\n cancelOrderMut.reset();\n resetPreSignAndSubmitTwapOrder();\n resetDepositAndSubmitTwapOrder();\n };\n\n const retryFlow = (\n options?: RunTwapOrderOptions\n ): Promise<SubmitTwapOrderResult> => {\n const lastPrice = usingPriceRef.current;\n reset();\n return runTwapOrderFlow({ ...options, lastPrice });\n };\n\n // finalPrice if we reached that point, or usable price (based on allowance given)\n const usedPrice: typeof twapPrice = usingPriceRef.current || twapPrice;\n\n let result: SubmitTwapOrderResult | undefined = twapOrderMut.data;\n if (result && twapOrderExecution.lastOrderState) {\n result = {\n ...result,\n twapOrder: {\n sentOrder: result.twapOrder.sentOrder,\n // lastOrderState may be CANCELLED here\n lastOrderState: twapOrderExecution.lastOrderState,\n },\n };\n }\n\n /**\n * priority:\n * 1. sentOrder = just sent Order from final result\n * 2. twapOrderExecution.lastOrderState = updated sent Order from watchOrderExecution (intermediate result)\n * 3. twapOrderExecution.sentOrder = just sent Order from watchOrderExecution (intermediate result)\n */\n const submittedTwapOrder: DeltaAuctionWithTwapOrder | undefined =\n result?.twapOrder.sentOrder ||\n twapOrderExecution.lastOrderState ||\n twapOrderExecution.sentOrder;\n\n /* 6. return result */\n return {\n tradeFlowType: twapOrderFlowType,\n chainId,\n runTwapOrderFlow,\n reset,\n cancelFlow,\n retryFlow,\n cancelTwapOrder,\n approval,\n signPermit,\n twapOrderPreSign: twapOrderPreSign,\n twapOrderDeposit: twapOrderDeposit,\n twapOrderSubmission,\n twapOrderExecution,\n twapOrderCancelation,\n // twapOrderMut includes all steps' queries and mutations and returns more precise errors (including cancellation)\n isPending: twapOrderMut.isPending,\n isSuccess: twapOrderSubmission.isSuccess && twapOrderExecution.isSuccess, // approval is an optional step\n isError: twapOrderMut.isError,\n error: twapOrderMut.error,\n result,\n usedPrice,\n freshPrice: twapPrice,\n submittedTwapOrder,\n };\n}\n\nfunction getDepositAmount(\n params: BuildTWAPSellOrBuySpecificParams,\n slippage: number\n) {\n if (\"totalSrcAmount\" in params) {\n return params.totalSrcAmount;\n }\n return amountAfterSlippage(params.maxSrcAmount, slippage, \"BUY\").toFixed(0);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAuEA,IAAMqD,IAAoB,aA4FpByD,KAA0B;AAEhC,SAAgBC,EAAY,EAC1BxD,WAAWyD,KAC2B;CACtC,IAAMC,IAASzF,EAAU,WAAW,EAE9B,EACJ0F,cACAC,WACAvB,YACAwB,aACAC,oBACAC,MAAMC,IACNC,cACAC,oBACEtF,EAAc,EAAEuF,SAAS,IAAO,CAAC,EAE/BnE,IAA4C4D,MAASH,GAErDW,KAAoBvF,GAAa,EAEjCwF,KAAWL,MAAkBI,IAW7B,EACJvB,aACAC,eACAwB,iBACAC,kBACAC,QAAQC,MACN3G,GAAmB;EACrB4G,UAAU1E,GAAW0E;EACrBC,WAAWb;EACXc,qBAAqB;EACrBC,UAAUR;EACVS,WAAW;EACXzC;EACA0C,YAAY;EACb,CAAC,EAII,EAAEC,SAASzE,MAAY5D,IAAY,EAEnC,EAAEsI,iBAAc7H,EAAiB;EACrCiF;EACA9B;EACD,CAAC,EAEI2E,IAA0BlG,EAA4B;EAC1DqD;EACA9B;EACA4E,QAAQF;EACRG,iBAAiB;GACfC,YAAYvE,MAAU;AACpB4C,MAAO4B,IAAI,6BAA6BxE,EAAM;;GAEhDyE,UAAUlE,MAAU;AAClBqC,MAAOrC,MAAM,2BAA2BA,EAAM;;GAElD;EACD,CAAC,EAEImE,IAAqE;EACzE1E,OAAOoE,EAAwBpE;EAC/BC,iBAAiBmE,EAAwBnE;EACzCC,gBAAgBkE,EAAwBlE;EACxCC,aAAaiE,EAAwBjE;EACrCC,WAAWgE,EAAwBhE;EACnCC,SAAS+D,EAAwB/D;EACjCC,WAAW8D,EAAwB9D;EACnCC,OAAO6D,EAAwB7D;EAChC,EAQK,EACJ0B,qBACA0C,iBACAC,uBACAC,+BACAlD,OAAOmD,MACLtG,EAA6B;EAC/B+C;EACA9B;EACAmD;EACAmC,YAAYZ;EACb,CAAC,EAEI,EACJjC,qBACAP,OAAOqD,GACPC,kCACEvG,EAA6B;EAC/B6C;EACA9B;EACAmD;EACAmC,YAAYZ;EACb,CAAC,EAGIhC,IAAgE;EACpEnC,OACE0E,EAAyB1E,SACzBiC,EAAiBjC,SACjBkC,EAAiBlC;EACnBE,gBACEwE,EAAyBxE,kBACzB+B,EAAiBiD,aAAahF,kBAC9BgC,EAAiBgD,aAAahF;EAChCD,iBACEyE,EAAyBzE,mBACzBgC,EAAiBhC,mBACjBiC,EAAiBjC;EACnBE,aACEuE,EAAyBvE,eACzB8B,EAAiB9B,eACjB+B,EAAiB/B;EACnBC,WACEsE,EAAyBtE,aACzB6B,EAAiB7B,aACjB8B,EAAiB9B;EACnBC,SACEqE,EAAyBrE,WACzB4B,EAAiB5B,WACjB6B,EAAiB7B;EACnBC,WACEoE,EAAyBpE,aACzB2B,EAAiB3B,aACjB4B,EAAiB5B;EACnBC,OACEmE,EAAyBnE,SACzB0B,EAAiB1B,SACjB2B,EAAiB3B;EACpB,EAIK4E,IAAsB5I,EAAgD;EAC1E6I,SAASjD,EAAoBnC,OAAOqF;EACpCC,iBAAiBvG;EACjBwG,mBAAmBvF,MAAU;AAC3B4C,KAAO4B,IAAI,sBAAsBxE,EAAM;;EAEzCwF,mBAAmBxF,MAAU;AAC3B4C,KAAO4B,IAAI,sBAAsBxE,EAAM;;EAEzCyF,mBAAmBzF,MAAU;AAC3B4C,KAAO4B,IAAI,sBAAsBxE,EAAM;;EAE1C,CAAC,EAEI0F,IAAcP,EAAoBQ,OACpCnJ,EAAsB2I,EAAoBQ,KAAK,GAC/C,MAEEvD,IAA8D;EAClE7C,WAAW4C,EAAoBnC;EAC/BR,gBAAgB2F,EAAoBQ;EACpCjF,gBAAgBgF,MAAgB;EAChC/E,kBAAkB+E,MAAgB;EAClC9E,iBAAiB8E,MAAgB;EACjCtF,WACE+E,EAAoBS,aACpBT,EAAoBU,gBACpBH,MAAgB,aAChBA,MAAgB;EAClBrF,SAAS8E,EAAoB9E,WAAWqF,MAAgB;EACxDpF,WAAWoF,MAAgB;EAC3BnF,OAAO4E,EAAoB5E;EAC5B,EAEKuF,IACJ1D,EAAmB5C,kBAAkB4C,EAAmB7C,WAEpDwG,IAAiBnI,GAAuC;EAE5DoC,OAAO8F;EACPvE;EACA9B;EACA4E,QAAQF;EACRvB;EACA0B,iBAAiB,EACf0B,iBACElK,EAAOgK,GAAe,qBAAqB,EACpCA,IAEX;EACD,CAAC,EAEIzD,KAAkE;EACtEtB,SAASgF,EAAehF;EACxBC,QAAQ+E,EAAe/E;EACvBC,UAAU8E,EAAeE;EACzB/E,kBAAkB6E,EAAe3F;EACjCe,oBAAoB4E,EAAe5E;EACnCC,iBAAiB2E,EAAezF;EAChCF,WAAW2F,EAAe3F;EAC1BC,SAAS0F,EAAe1F;EACxBC,WAAWyF,EAAezF;EAC1BC,OAAOwF,EAAexF;EACtBc,QAAQ0E,EAAe1E;EACvBP,MAAMiF,EAAejF;EACtB,EAEKoF,KAAkBnK,IAAoB,EAEtCoK,IAA4BzJ,EAA+B,KAAK,EAChE2J,IAAgB3J,EAAwC,KAAK,EAE7DkF,WAAmB;AAIvByE,EAHAF,EAA0BG,SAASC,MAAM,IAAI3J,GAAoB,CAAC,EAClEuJ,EAA0BG,UAAU,MAEpCD,EAAcC,UAAU;IAGpB5G,KAAkB7C,GAA6B,EAE/C,EAAE2J,qBAAiBC,mBAAexJ,GAA6B,EACnEsE,YACD,CAAC,EAEI,EAAEmF,aAASC,oBAAgBC,mBAAeC,4BAC9CvJ,GAAY,EAERwJ,KAAmBzJ,GAA0B,EAE7C,EAAE0J,mBAAgBxJ,GAAiB,EAEnCyJ,KAAe/I,GAAiB,EAChCgJ,KAAkBjJ,GAAiB,EAEnCkJ,KAAkB,OAAO,EAC7BpH,aACAqH,iBAGE,EAAE,KAAqC;AAazCrL,EAVA0H,EAAa7B,OAAO,EACpB8B,EAAc9B,OAAO,EACrByC,EAAwBzC,OAAO,EAC/BoE,EAAepE,OAAO,EACtBmD,GAAgC,EAChCE,GAAgC,EAKhClJ,EAAOoD,GAAW,8BAA8B;EAEhD,IAAMkI,IAAkB,IAAIhB,iBAAiB;AAC7CD,IAA0BG,UAAUc;EAEpC,IAAMC,IAASD,EAAgBC,QAEzB,EAAEC,kBAAeC,qBAAkBhJ,EAAqB;GAC5DiJ,aAAaP;GACb9D;GACD,CAAC,EAEIsE,IAAmBC,KAAKC,MAAMX,KAAe,IAAI,EAEnDY,GAEAC,GACAC,GAGEC,IAAiBhG,EAASgG,gBAC1BC,IAAoBhG,EAAWiG,gBAIjC1F,IAAarD;AACjB,MAAIqD,EAAW2F,SAASf,GAAWe,MAAM;GAIvC,IAAMC,IAAiB,MAAMpF,GAAQ,EACnCqF,eAAe,IAChB,CAAC;AAIF,GAFAf,EAAOgB,gBAAgB,EAEnBF,EAAexC,SACjBpD,IAAa4F,EAAexC;;EAGhC,IAAI2C;AAEJjC,IAAcC,UAAU/D;EAExB,IAAMgG,KAGJ5K,EAAa4E,EAAWqB,SAAS,EAS7B,EAAE4E,gCAA4BC,cAAWC,2BAC7ClL,GAAqB;GACnBuE;GACAC;GACA2C;GACAC;GACD,CAAC;AAEJ,MAAI;AACF,OAAI4D,MAA8BT,GAAgB;IAGhD,IAAMY,IAAY9F;AAGlB,QAAI8F,GAAW;KAEb,IAAMC,IAAiBb;AAIvBO,SAAuBxB,GAAiB;MACtCjE,UAAU8F;MACVE,SAAS/F,MAAU;OACjB,IAAMgG,IAA+BhG;AAErC,WAAIuE,EAAO0B,SAAS;AAIlBT,QADAA,KAAwB,EACxBA,IAAuBU,KAAAA;AACvB;;OAGF,IAAM,EAAEnF,WAAWb,MAAmB1E,EAAwB;QAC5DwE,OAAOgG;QACP3F;QACD,CAAC;AAGF,OAAIyF,KAAkBK,OAAOjG,EAAe,KAE1CJ,EAAO4B,IAAI,mBAAmBsE,EAAS,EACvCvG,IAAauG,GACbzC,EAAcC,UAAU/D;;MAG7B,CAAC;;AAGJ,QAAI;AACF,SAAKkG,EA4DH9E,CAVAA,EAAsByG,aAAajB,QAAQ,EACzCpB,gBAAgBC,GACjB,CAAC,EAGFJ,IAAqB,MAAMnE,EAAc4G,gBAAgB;MACvDC,UAAUrB,OAAO3B,EAAc;MAC/BiD,OAAOvC;MACR,CAAC,EAEFrE,EAAsByG,aAAaF,UAAU;MAC3CnC,gBAAgBC;MAChBwC,QAAQ5C,GAAoB6C;MAC7B,CAAC;UA/DY;AAedpD,MAdA1D,EAAsBuF,YAAYC,QAAQ,EAAEpB,mBAAgB,CAAC,EAE7DF,IAAgB,MAAMrE,EAAa4F,aAAa,EAC9CC,eAAe,EACbtB,mBACF,EACD,CAAC,EAEFpE,EAAsBuF,YAAYI,KAAK;OACrCvB;OACA/G,QAAQ6G;OACT,CAAC,EAGFR,EAAOgB,gBAAgB;MAEvB,IAAMkB,IAA0BrD,GAAgB;OAC9CsD,MAAM3B;OACNtG;OACAkI,aAAa9D,MAAS;AACpB/C,UAAO4B,IAAI,wBAAwBqD,GAAelC,EAAK;;OAE1D,CAAC;AAyBF/C,MAvBI9C,KACFA,EAAS;OACPyB;OACAmI,QAAQ;OACRC,iBAAiB9B;OACjB+B,gBAAgBL;OAChBM,yBAAyB;QACvBH,QAAQ;QACRd,gBAAgBb;QAChB+B,cAAc/H,EAASgI;QACvBC,gBAAgBjI,EAASkI;QAC3B;OACD,CAAC,EAGJnC,IAAmB,MAAMyB,GAEzB5F,EAAsBuF,YAAYgB,UAAU;OAC1CnC;OACA/G,QAAQ6G;OACRsC,WAAWrC;OACZ,CAAC,EAEFlF,EAAO4B,IAAI,0BAA0BsD,EAAiB;;aAiBjDvH,GAAO;AAad,WAZKkI,IAOH9E,EAAsByG,aAAaM,OAAO;MACxC3C,gBAAgBC;MAChBzH,OAAOA;MACR,CAAC,GATFoD,EAAsBuF,YAAYwB,OAAO;MACvC3C;MACAxH,OAAOA;MACPS,QAAQ6G;MACT,CAAC,EAOEtH;;;AAOVzE,GAFAuL,EAAOgB,gBAAgB,EAEvBvM,EAAO2D,GAAS,2BAA2B;GAG3C,IAAMkL,IAAiBpI;AAOvBzG,GANAuK,EAAcC,UAAUqE,GAGxBrC,KAAwB,EACxBA,IAAuBU,KAAAA,GAEvBlN,EAAO6O,GAAgB,8BAA8B;GACrD,IAAMpH,IAAW9F,GAA0BkN,EAAe,EACpD,EAAE9G,WAAWb,GAAgB4H,YAAYC,MAC7CvM,EAAwB;IAAEwE,OAAO6H;IAAgBxH;IAAW,CAAC,EAEzDqH,KAAS5C,GAAoB6C,mBAE7BK,KAAc1N,EAAcuN,EAAe,GAC7CA,EAAeI,OAAOC,qBACtBzJ;AAEJwF,OAAc,EACZkE,OAAO;IACLC,MAAM;IACNC,QAAQ,EACNrI,OAAO6H,GACT;IACF,EACD,CAAC;GAEF,IAAIS,GACAC;AAEJ,GAOEA,IAPE9H,MAAa,SACG;IAChB+H,kBAAkB;IAClBtI,gBAAAA;IAED,GAEiB;IAChBsI,kBAAkB;IAClBT;IAEAU,cAAcvI;IACf;GAGH,IAAMwI,IAAkD;IACtDnE;IACAoE,MAAM;IACNC,WAAWtI,GAAYsI;IACvBC,YAAY;KACVC,OAAOnM;KACPoM,aAAanM;KACbkE,UAAU+G,EAAe/G;KACzBkI,WAAWnB,EAAemB;KAC1BtB;KACAM;KACAiB,YAAY;MACV,GAAGpB;MACHI,QAAQ;OACN,GAAGJ,EAAeI;OAElBiB,kBAAkBnN,GAAqBmN;OAExC;MACDtF;MACD;KAEDA;KACAC;KACAC;KACAC;KAEAyD,UAAUhD;KAGV,GAAG+D;KACQlI;KACX8I,UAAUxE;KACVyE,UAAU3E;KACZ;IACD;AA4CD,UA1CA,AAqBE6D,IArBE7C,KAGa,MAAMtD,GAA0B;IAC7CuG;IACAW,eAJoBC,GAAiBf,GAAiBrE,GAAa;IAKnElH;IACD,CAAC,GACO4I,KAMM,MAAM7D,GAA0B;IAC7C2G;IACAzJ;IACAjC;IACD,CAAC,GAIA,MAAMsE,EAAwBiI,YAAYb,EAAiB,EAI3D5D,KACFpB,GAAgBoB,EAAmB0E,iBAAiB,EAGtDvF,IAAc,EACZkE,OAAO;IACLC,MAAM;IACNC,QAAQ;KACNrI,OAAO6H;KACP3K,OAAOoL;KACT;IACF,EACD,CAAC,EAIK;IACLhM,eAAeJ;IACfK,SAAS;KACP2B,QAAQ6G;KACR9G,SAAS+G;KACV;IACDxI,WAAW,EACTC,WAAW6L,GACZ;IACDlM,WAAWyL;IACXlL;IACAC;IACD;WACMa,GAAO;AAcd,SAZIqH,KACFnB,GAAWmB,EAAmB0E,iBAAiB,EAEjDvF,IAAc,EACZkE,OAAO;IACLC,MAAM;IACNC,QAAQ,EACN5K,OAAOA,GACT;IACF,EACD,CAAC,EAEIA;YACE;AAER+H,QAAwB;;IAItBxG,KAAkB,YAAY;AAClC,MAAI;AACF,UAAO,MAAMiE,EAAewG,kBAAkB;WACvChM,GAAO;AAGdwF,GAFAnD,EAAOrC,MAAM,4BAA4BA,EAAM,EAE/CwF,EAAepE,OAAO;;IAIpB6K,IAAe/P,GAAY;EAC/BgQ,YAAYvF;EACZwF,aAAa,CAACjK,GAAwB;EACtC8B,YAAYoB,MAAS;AACnB/C,KAAO4B,IAAI,sBAAsBmB,EAAK;;EAExClB,UAAUlE,MAAU;AAClBqC,KAAOrC,MAAM,oBAAoBA,EAAM;;EAEzCoM,iBAAiB;AACf/J,KAAO4B,IAAI,qBAAqB;;EAEnC,CAAC,EAEIhD,KAAmBgL,EAAaH,aAEhC1K,UAAc;AASlBqD,EARAqB,EAAcC,UAAU,MAExB9C,EAAa7B,OAAO,EACpB8B,EAAc9B,OAAO,EACrByC,EAAwBzC,OAAO,EAC/B6K,EAAa7K,OAAO,EACpBoE,EAAepE,OAAO,EACtBmD,GAAgC,EAChCE,GAAgC;IAG5BnD,MACJJ,MACmC;EACnC,IAAM0F,IAAYd,EAAcC;AAEhC,SADA3E,GAAO,EACAH,GAAiB;GAAE,GAAGC;GAAS0F,WAAAA;GAAW,CAAC;IAI9C7E,KAA8B+D,EAAcC,WAAWpH,GAEzDmC,IAA4CmL,EAAa7G;AAC7D,CAAItE,KAAUe,EAAmB5C,mBAC/B6B,IAAS;EACP,GAAGA;EACH/B,WAAW;GACTC,WAAW8B,EAAO/B,UAAUC;GAE5BC,gBAAgB4C,EAAmB5C;GACrC;EACD;CASH,IAAMgD,KACJnB,GAAQ/B,UAAUC,aAClB6C,EAAmB5C,kBACnB4C,EAAmB7C;AAGrB,QAAO;EACLH,eAAeJ;EACfuC;EACAC;EACAG;EACAC;EACAC;EACAC;EACAC;EACAC;EACkBC;EACAC;EAClBC;EACAC;EACAC;EAEAjC,WAAWoM,EAAapM;EACxBE,WAAW6B,EAAoB7B,aAAa8B,EAAmB9B;EAC/DD,SAASmM,EAAanM;EACtBE,OAAOiM,EAAajM;EACpBc;EACAiB;EACAC,YAAYrD;EACZsD;EACD;;AAGH,SAAS4J,GACPjB,GACAc,GACA;AAIA,QAHI,oBAAoBd,IACfA,EAAOnI,iBAETpE,EAAoBuM,EAAOI,cAAcU,GAAU,MAAM,CAACW,QAAQ,EAAE"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { CancelOrderStepKey, TwapOrderStep, TwapOrderStepKey } from '../../../components/widget/TradeOverview/steps';
|
|
2
|
+
import { SubmitTwapOrderResult, UseTwapFlowInput, UseTwapFlowResult } from './useTwapFlow';
|
|
3
|
+
type UseTwapSwapStepResult = {
|
|
4
|
+
startTwapSwap: UseTwapFlowResult["runTwapOrderFlow"];
|
|
5
|
+
cancelTwapOrder: UseTwapFlowResult["cancelTwapOrder"];
|
|
6
|
+
reset: UseTwapFlowResult["reset"];
|
|
7
|
+
cancelFlow: UseTwapFlowResult["cancelFlow"];
|
|
8
|
+
retryFlow: UseTwapFlowResult["retryFlow"];
|
|
9
|
+
goToBeforeSwap: () => void;
|
|
10
|
+
isFlowCancellable: boolean;
|
|
11
|
+
isOrderCancellable: boolean;
|
|
12
|
+
step?: TwapOrderStep;
|
|
13
|
+
orderCancellationStep?: CancelOrderStepKey;
|
|
14
|
+
isNonFlowStep: boolean;
|
|
15
|
+
explorerLink?: string;
|
|
16
|
+
error: Error | null;
|
|
17
|
+
erroredStep?: TwapOrderStepKey;
|
|
18
|
+
result?: SubmitTwapOrderResult;
|
|
19
|
+
usedPrice: UseTwapFlowResult["usedPrice"];
|
|
20
|
+
submittedTwapOrder?: UseTwapFlowResult["submittedTwapOrder"];
|
|
21
|
+
tradeFlowType: UseTwapFlowResult["tradeFlowType"];
|
|
22
|
+
};
|
|
23
|
+
export declare function useTwapSwapStep(options: UseTwapFlowInput): UseTwapSwapStepResult;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=useTwapSwapStep.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTwapSwapStep.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/tradeFlow/useTwapSwapStep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAElB,aAAa,EACb,gBAAgB,EACjB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAEL,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACvB,MAAM,eAAe,CAAC;AAMvB,KAAK,qBAAqB,GAAG;IAC3B,aAAa,EAAE,iBAAiB,CAAC,kBAAkB,CAAC,CAAC;IACrD,eAAe,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;IAEtD,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAClC,UAAU,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAC;IAC5C,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC1C,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,qBAAqB,CAAC,EAAE,kBAAkB,CAAC;IAC3C,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,MAAM,CAAC,EAAE,qBAAqB,CAAC;IAC/B,SAAS,EAAE,iBAAiB,CAAC,WAAW,CAAC,CAAC;IAC1C,kBAAkB,CAAC,EAAE,iBAAiB,CAAC,oBAAoB,CAAC,CAAC;IAC7D,aAAa,EAAE,iBAAiB,CAAC,eAAe,CAAC,CAAC;CACnD,CAAC;AAEF,wBAAgB,eAAe,CAC7B,OAAO,EAAE,gBAAgB,GACxB,qBAAqB,CAsKvB"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { useLogger as e } from "../../../core/logger.js";
|
|
2
|
+
import { constructExplorerOrderDetailsLink as t } from "../../../lib/utils/explorer.js";
|
|
3
|
+
import { isUserCancelledError as n } from "./common/errors.js";
|
|
4
|
+
import { useTwapFlow as r } from "./useTwapFlow.js";
|
|
5
|
+
import { c as i } from "react-compiler-runtime";
|
|
6
|
+
import { useState as a } from "react";
|
|
7
|
+
//#region src/hooks/swap/tradeFlow/useTwapSwapStep.ts
|
|
8
|
+
function o(o) {
|
|
9
|
+
let s = i(42), c = e("TwapSwapStep"), l = r(o), u = l.runTwapOrderFlow, d = l.cancelTwapOrder, f = l.reset, p = l.cancelFlow, m = l.retryFlow, h, g = l.signPermit.isPending || !l.signPermit.isPermitSigned, _ = l.approval.isPending || !l.approval.isSuccess, v = l.approval.needsApproval && l.signPermit.isPermitSupported && l.signPermit.isPermitReadyToSign ? g : _;
|
|
10
|
+
l.approval.needsApproval && v ? h = {
|
|
11
|
+
key: "signature",
|
|
12
|
+
subStep: "approval-signature"
|
|
13
|
+
} : l.twapOrderSubmission.isPending ? h = {
|
|
14
|
+
key: "signature",
|
|
15
|
+
subStep: l.approval.txHash || l.signPermit.signature ? "order-signature" : "standalone-order-signature"
|
|
16
|
+
} : l.isPending && (h = {
|
|
17
|
+
key: "signature",
|
|
18
|
+
subStep: "standalone-order-signature"
|
|
19
|
+
});
|
|
20
|
+
let y = h?.key === "signature" && h.subStep === "approval-signature" && l.approval.isTxPending, b = h?.key === "signature" && (h.subStep === "order-signature" || h.subStep === "standalone-order-signature"), x = l.twapOrderSubmission.isPostingOrder, S = (y || b) && !x, C = l.twapOrderCancelation.isOrderCancellable, w = l.twapOrderSubmission.order?.id, T = w ? t(w) : void 0, [E, D] = a(null), O;
|
|
21
|
+
s[0] === Symbol.for("react.memo_cache_sentinel") ? (O = () => {
|
|
22
|
+
D({ key: "prepare-swap" });
|
|
23
|
+
}, s[0] = O) : O = s[0];
|
|
24
|
+
let k = O, A;
|
|
25
|
+
s[1] === Symbol.for("react.memo_cache_sentinel") ? (A = () => {
|
|
26
|
+
D(null);
|
|
27
|
+
}, s[1] = A) : A = s[1];
|
|
28
|
+
let j = A;
|
|
29
|
+
h = E || h;
|
|
30
|
+
let M = !!E;
|
|
31
|
+
c.once.log("step", h, l, {
|
|
32
|
+
isFlowCancellable: S,
|
|
33
|
+
explorerLink: T,
|
|
34
|
+
orderId: w
|
|
35
|
+
});
|
|
36
|
+
let N;
|
|
37
|
+
s[2] === l.error ? N = s[3] : (N = n(l.error) ? null : l.error, s[2] = l.error, s[3] = N);
|
|
38
|
+
let P = N, F;
|
|
39
|
+
l.isError && (l.approval.isError || l.signPermit.isError ? F = "signature" : l.twapOrderSubmission.isError && (F = "order-submission"));
|
|
40
|
+
let I;
|
|
41
|
+
s[4] !== P || s[5] !== F || s[6] !== T || s[7] !== S || s[8] !== M || s[9] !== C || s[10] !== l.freshPrice || s[11] !== l.result || s[12] !== l.submittedTwapOrder || s[13] !== l.usedPrice ? (I = M ? {
|
|
42
|
+
usedPrice: l.freshPrice,
|
|
43
|
+
isFlowCancellable: !1,
|
|
44
|
+
isOrderCancellable: !1,
|
|
45
|
+
error: null
|
|
46
|
+
} : {
|
|
47
|
+
result: l.result,
|
|
48
|
+
usedPrice: l.usedPrice,
|
|
49
|
+
submittedTwapOrder: l.submittedTwapOrder,
|
|
50
|
+
erroredStep: F,
|
|
51
|
+
error: P,
|
|
52
|
+
isFlowCancellable: S,
|
|
53
|
+
isOrderCancellable: C,
|
|
54
|
+
explorerLink: T
|
|
55
|
+
}, s[4] = P, s[5] = F, s[6] = T, s[7] = S, s[8] = M, s[9] = C, s[10] = l.freshPrice, s[11] = l.result, s[12] = l.submittedTwapOrder, s[13] = l.usedPrice, s[14] = I) : I = s[14];
|
|
56
|
+
let L = I, R;
|
|
57
|
+
s[15] !== j || s[16] !== u ? (R = (e) => (j(), u(e)), s[15] = j, s[16] = u, s[17] = R) : R = s[17];
|
|
58
|
+
let z;
|
|
59
|
+
s[18] !== d || s[19] !== j ? (z = () => (j(), d()), s[18] = d, s[19] = j, s[20] = z) : z = s[20];
|
|
60
|
+
let B;
|
|
61
|
+
s[21] !== f || s[22] !== j ? (B = () => (j(), f()), s[21] = f, s[22] = j, s[23] = B) : B = s[23];
|
|
62
|
+
let V;
|
|
63
|
+
s[24] !== p || s[25] !== j ? (V = () => (j(), p()), s[24] = p, s[25] = j, s[26] = V) : V = s[26];
|
|
64
|
+
let H;
|
|
65
|
+
s[27] !== j || s[28] !== m ? (H = (e) => (j(), m(e)), s[27] = j, s[28] = m, s[29] = H) : H = s[29];
|
|
66
|
+
let U;
|
|
67
|
+
return s[30] !== k || s[31] !== M || s[32] !== L || s[33] !== h || s[34] !== R || s[35] !== z || s[36] !== B || s[37] !== V || s[38] !== H || s[39] !== l.tradeFlowType || s[40] !== l.twapOrderCancelation.step ? (U = {
|
|
68
|
+
startTwapSwap: R,
|
|
69
|
+
cancelTwapOrder: z,
|
|
70
|
+
reset: B,
|
|
71
|
+
cancelFlow: V,
|
|
72
|
+
retryFlow: H,
|
|
73
|
+
goToBeforeSwap: k,
|
|
74
|
+
step: h,
|
|
75
|
+
orderCancellationStep: l.twapOrderCancelation.step,
|
|
76
|
+
isNonFlowStep: M,
|
|
77
|
+
...L,
|
|
78
|
+
tradeFlowType: l.tradeFlowType
|
|
79
|
+
}, s[30] = k, s[31] = M, s[32] = L, s[33] = h, s[34] = R, s[35] = z, s[36] = B, s[37] = V, s[38] = H, s[39] = l.tradeFlowType, s[40] = l.twapOrderCancelation.step, s[41] = U) : U = s[41], U;
|
|
80
|
+
}
|
|
81
|
+
//#endregion
|
|
82
|
+
export { o as useTwapSwapStep };
|
|
83
|
+
|
|
84
|
+
//# sourceMappingURL=useTwapSwapStep.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTwapSwapStep.js","names":["CancelOrderStepKey","NonFlowStep","TwapOrderStep","TwapOrderStepKey","useTwapFlow","SubmitTwapOrderResult","UseTwapFlowInput","UseTwapFlowResult","useLogger","constructExplorerOrderDetailsLink","isUserCancelledError","useState","UseTwapSwapStepResult","startTwapSwap","cancelTwapOrder","reset","cancelFlow","retryFlow","goToBeforeSwap","isFlowCancellable","isOrderCancellable","step","orderCancellationStep","isNonFlowStep","explorerLink","error","Error","erroredStep","result","usedPrice","submittedTwapOrder","tradeFlowType","useTwapSwapStep","options","$","_c","logger","twapFlow","runTwapOrderFlow","permitSigningHappeningOrNeverHappened","signPermit","isPending","isPermitSigned","approvalHappeningOrNeverHappened","approval","isSuccess","willUsePermit","needsApproval","isPermitSupported","isPermitReadyToSign","permitOrApprovalHappeningOrNeverHappened","twapOrderSubmission","permitOrApprovalHappened","txHash","signature","approvalIsStarted","key","subStep","isTxPending","isOrderBeingSigned","isPostingOrder","twapOrderCancelation","orderId","order","id","undefined","nonFlowStep","setNonFlowStep","t0","Symbol","for","t1","resetStepOverride","once","log","t2","isError","t3","freshPrice","resultProps","t4","options_0","t5","t6","t7","t8","options_1","t9"],"sources":["../../../../src/hooks/swap/tradeFlow/useTwapSwapStep.ts"],"sourcesContent":["import type {\n CancelOrderStepKey,\n NonFlowStep,\n TwapOrderStep,\n TwapOrderStepKey,\n} from \"@/components/widget/TradeOverview/steps\";\nimport {\n useTwapFlow,\n type SubmitTwapOrderResult,\n type UseTwapFlowInput,\n type UseTwapFlowResult,\n} from \"./useTwapFlow\";\nimport { useLogger } from \"@/core/logger\";\nimport { constructExplorerOrderDetailsLink } from \"@/lib/utils/explorer\";\nimport { isUserCancelledError } from \"./common/errors\";\nimport { useState } from \"react\";\n\ntype UseTwapSwapStepResult = {\n startTwapSwap: UseTwapFlowResult[\"runTwapOrderFlow\"];\n cancelTwapOrder: UseTwapFlowResult[\"cancelTwapOrder\"];\n // @TODO check if resetting is necessary on error, maybe not if submit on click works as a reset\n reset: UseTwapFlowResult[\"reset\"];\n cancelFlow: UseTwapFlowResult[\"cancelFlow\"];\n retryFlow: UseTwapFlowResult[\"retryFlow\"];\n goToBeforeSwap: () => void;\n isFlowCancellable: boolean;\n isOrderCancellable: boolean;\n step?: TwapOrderStep;\n orderCancellationStep?: CancelOrderStepKey;\n isNonFlowStep: boolean;\n explorerLink?: string;\n error: Error | null;\n erroredStep?: TwapOrderStepKey;\n result?: SubmitTwapOrderResult;\n usedPrice: UseTwapFlowResult[\"usedPrice\"];\n submittedTwapOrder?: UseTwapFlowResult[\"submittedTwapOrder\"];\n tradeFlowType: UseTwapFlowResult[\"tradeFlowType\"];\n};\n\nexport function useTwapSwapStep(\n options: UseTwapFlowInput\n): UseTwapSwapStepResult {\n const logger = useLogger(\"TwapSwapStep\");\n const twapFlow = useTwapFlow(options);\n\n const startTwapSwap = twapFlow.runTwapOrderFlow;\n const cancelTwapOrder = twapFlow.cancelTwapOrder;\n const reset = twapFlow.reset;\n const cancelFlow = twapFlow.cancelFlow;\n const retryFlow = twapFlow.retryFlow;\n\n let step: TwapOrderStep | undefined;\n\n const permitSigningHappeningOrNeverHappened =\n // isPending starts as false,\n // so we can use !isPermitSigned to detect if Permit signing is happening or never happened\n twapFlow.signPermit.isPending || !twapFlow.signPermit.isPermitSigned;\n\n const approvalHappeningOrNeverHappened =\n // isPending starts as false,\n // needsApproval && !isSuccess allows to detect approve step right away even then\n twapFlow.approval.isPending || !twapFlow.approval.isSuccess;\n\n const willUsePermit =\n twapFlow.approval.needsApproval &&\n twapFlow.signPermit.isPermitSupported &&\n twapFlow.signPermit.isPermitReadyToSign;\n\n const permitOrApprovalHappeningOrNeverHappened = willUsePermit\n ? permitSigningHappeningOrNeverHappened\n : approvalHappeningOrNeverHappened;\n\n if (\n twapFlow.approval.needsApproval &&\n permitOrApprovalHappeningOrNeverHappened\n ) {\n step = { key: \"signature\", subStep: \"approval-signature\" };\n } else if (twapFlow.twapOrderSubmission.isPending) {\n const permitOrApprovalHappened = !!(\n twapFlow.approval.txHash || twapFlow.signPermit.signature\n );\n\n step = {\n key: \"signature\",\n subStep: permitOrApprovalHappened\n ? \"order-signature\"\n : \"standalone-order-signature\",\n };\n } else if (twapFlow.isPending) {\n // if something is between steps but not clear step,\n // then assume we're at the standalone signature sub-step\n step = { key: \"signature\", subStep: \"standalone-order-signature\" };\n }\n\n const approvalIsStarted =\n step?.key === \"signature\" &&\n step.subStep === \"approval-signature\" &&\n twapFlow.approval.isTxPending;\n\n const isOrderBeingSigned =\n step?.key === \"signature\" &&\n (step.subStep === \"order-signature\" ||\n step.subStep === \"standalone-order-signature\");\n\n const isPostingOrder = twapFlow.twapOrderSubmission.isPostingOrder;\n\n const isFlowCancellable =\n // final Order is not yet submitted, there's something to cancel;\n // but some steps are already started so we can't simply dismiss\n (approvalIsStarted || isOrderBeingSigned) && !isPostingOrder;\n\n const isOrderCancellable = twapFlow.twapOrderCancelation.isOrderCancellable;\n\n const orderId = twapFlow.twapOrderSubmission.order?.id;\n const explorerLink = orderId\n ? constructExplorerOrderDetailsLink(orderId)\n : undefined;\n\n const [nonFlowStep, setNonFlowStep] = useState<NonFlowStep | null>(null);\n const goToBeforeSwap = () => {\n setNonFlowStep({ key: \"prepare-swap\" });\n };\n const resetStepOverride = () => {\n setNonFlowStep(null);\n };\n\n step = nonFlowStep || step;\n const isNonFlowStep = !!nonFlowStep;\n\n logger.once.log(\"step\", step, twapFlow, {\n isFlowCancellable,\n explorerLink,\n orderId,\n });\n\n // intentional cancellation is handled separately\n const error = isUserCancelledError(twapFlow.error) ? null : twapFlow.error;\n\n let erroredStep: TwapOrderStepKey | undefined;\n\n if (twapFlow.isError) {\n if (twapFlow.approval.isError || twapFlow.signPermit.isError) {\n erroredStep = \"signature\";\n } else if (twapFlow.twapOrderSubmission.isError) {\n erroredStep = \"order-submission\";\n }\n }\n\n const resultProps: Pick<\n UseTwapSwapStepResult,\n | \"usedPrice\"\n | \"isFlowCancellable\"\n | \"isOrderCancellable\"\n | \"error\"\n | \"erroredStep\"\n | \"result\"\n | \"submittedTwapOrder\"\n | \"explorerLink\"\n > = isNonFlowStep\n ? {\n // don't return previous data when in non-flow step\n usedPrice: twapFlow.freshPrice,\n isFlowCancellable: false,\n isOrderCancellable: false,\n error: null,\n }\n : {\n result: twapFlow.result,\n usedPrice: twapFlow.usedPrice,\n submittedTwapOrder: twapFlow.submittedTwapOrder, // submitted or updated Twap Order\n erroredStep,\n error,\n isFlowCancellable,\n isOrderCancellable,\n explorerLink,\n };\n\n return {\n startTwapSwap: (options) => {\n resetStepOverride();\n return startTwapSwap(options);\n },\n cancelTwapOrder: () => {\n resetStepOverride();\n return cancelTwapOrder();\n },\n reset: () => {\n resetStepOverride();\n return reset();\n },\n // if we ever depend on mutation.result when Drawer is not closed,\n // otherwise the result sticks around until remount or next mutation start\n cancelFlow: () => {\n resetStepOverride();\n return cancelFlow();\n },\n retryFlow: (options) => {\n resetStepOverride();\n return retryFlow(options);\n },\n goToBeforeSwap,\n step,\n orderCancellationStep: twapFlow.twapOrderCancelation.step,\n isNonFlowStep,\n ...resultProps,\n tradeFlowType: twapFlow.tradeFlowType,\n };\n}\n"],"mappings":"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"}
|
|
@@ -66,6 +66,6 @@ var d = () => {
|
|
|
66
66
|
}, t[13] = s, t[14] = f, t[15] = m, t[16] = i, t[17] = h) : h = t[17], h;
|
|
67
67
|
};
|
|
68
68
|
//#endregion
|
|
69
|
-
export { d as useIsInsufficientBalanceToFillLimitOrder, f as useIsInsufficientBalanceToFillOtcOrder };
|
|
69
|
+
export { d as useIsInsufficientBalanceToFillLimitOrder, p as useIsInsufficientBalanceToFillOrder, f as useIsInsufficientBalanceToFillOtcOrder };
|
|
70
70
|
|
|
71
71
|
//# sourceMappingURL=useIsLimitOrderInsufficientBalance.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getApiURL as e } from "../../../lib/constants/urls.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { LONG_STALE_TIME_FOR_REACTIVENESS as t, ONE_MINUTE_MS as n } from "../../../lib/constants/time.js";
|
|
3
|
+
import { queryClient as r } from "../../../lib/queryClient.js";
|
|
4
4
|
import i from "axios";
|
|
5
5
|
import { isAddress as a } from "viem";
|
|
6
6
|
//#region src/hooks/tokens/prices/queries.ts
|
|
@@ -12,10 +12,10 @@ var o = [
|
|
|
12
12
|
function s(e) {
|
|
13
13
|
return !o.includes(e);
|
|
14
14
|
}
|
|
15
|
-
async function c({ chainId:
|
|
16
|
-
let { data: { prices: c } } = await i.get(`${e()}/fiat/prices/${
|
|
17
|
-
if (!
|
|
18
|
-
let u =
|
|
15
|
+
async function c({ chainId: t, fallbackToCachedPrices: n, signal: o }) {
|
|
16
|
+
let { data: { prices: c } } = await i.get(`${e()}/fiat/prices/${t}`, { signal: o });
|
|
17
|
+
if (!n) return c;
|
|
18
|
+
let u = r.getQueryData(l(t));
|
|
19
19
|
return u ? Object.entries(c).reduce((e, [t, n]) => {
|
|
20
20
|
if (!a(t)) return e;
|
|
21
21
|
let r = u[t];
|
|
@@ -31,13 +31,13 @@ async function c({ chainId: n, fallbackToCachedPrices: r, signal: o }) {
|
|
|
31
31
|
function l(e) {
|
|
32
32
|
return ["token-prices", e];
|
|
33
33
|
}
|
|
34
|
-
function u({ chainId: e, fallbackToCachedPrices:
|
|
34
|
+
function u({ chainId: e, fallbackToCachedPrices: r, enabled: i }) {
|
|
35
35
|
return {
|
|
36
36
|
queryKey: l(e),
|
|
37
|
-
queryFn: ({ signal:
|
|
37
|
+
queryFn: ({ signal: t }) => c({
|
|
38
38
|
chainId: e,
|
|
39
|
-
fallbackToCachedPrices:
|
|
40
|
-
signal:
|
|
39
|
+
fallbackToCachedPrices: r,
|
|
40
|
+
signal: t
|
|
41
41
|
}),
|
|
42
42
|
enabled: i,
|
|
43
43
|
notifyOnChangeProps: [
|
|
@@ -45,8 +45,8 @@ function u({ chainId: e, fallbackToCachedPrices: t, enabled: i }) {
|
|
|
45
45
|
"isLoading",
|
|
46
46
|
"isError"
|
|
47
47
|
],
|
|
48
|
-
staleTime:
|
|
49
|
-
refetchInterval:
|
|
48
|
+
staleTime: t,
|
|
49
|
+
refetchInterval: n
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
52
|
//#endregion
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Token, TokenMaybeWithUsdBalance } from '../../tokens/state/types';
|
|
2
2
|
import { SupportedChainId } from '../../lib/web3/wagmi/types';
|
|
3
|
-
import { BridgeInfoMode } from '../swap/prices/delta/queries/bridgeInfo/
|
|
3
|
+
import { BridgeInfoMode } from '../swap/prices/delta/queries/bridgeInfo/types';
|
|
4
4
|
export declare const useAllTokensWithFilter: ({ tokenFilter, forcedChainId, searchOnOtherChainsIfNothingFound, withETH, intent, }: {
|
|
5
5
|
tokenFilter: string;
|
|
6
6
|
forcedChainId?: SupportedChainId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAllTokensWithFilter.d.ts","sourceRoot":"","sources":["../../../src/hooks/tokens/useAllTokensWithFilter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAK5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useAllTokensWithFilter.d.ts","sourceRoot":"","sources":["../../../src/hooks/tokens/useAllTokensWithFilter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAK5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAEpF,eAAO,MAAM,sBAAsB,GAAI,qFAMpC;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,iCAAiC,CAAC,EAAE,OAAO,CAAC;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;CAC/B,KAAG,wBAAwB,EA+E3B,CAAC;AAEF,eAAO,MAAM,wBAAwB,YAOpC,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,aAAa,EACb,aAAa,GACd,EAAE,wBAAwB,GAAG;IAC5B,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACtC,CAqBA;AAED,wBAAgB,mBAAmB,CAAC,EAClC,WAAW,EACX,WAAW,EACX,SAAS,EACT,IAAI,GACL,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,cAAc,CAAC;CACtB,8BAuBA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAllTokensWithFilter.js","names":["createSortWithClosestMatch","filterTokens","useAllTokens","Token","TokenMaybeWithUsdBalance","useAtomValue","useMemo","useNativeToken","useAttachTokenBalanceMultichain","SupportedChainId","useChainId","useTokensFromAcross","emptyArray","isAddress","allTokensByChainAtom","BridgeInfoMode","useAllTokensWithFilter","t0","$","_c","tokenFilter","forcedChainId","searchOnOtherChainsIfNothingFound","withETH","t1","intent","t2","undefined","appChainId","allTokens","nativeToken","t3","concat","allIncludedTokens","filteredTokens","filterString","trim","tokenArray","isTokenFilterValidAddress","searchOnAllChains","length","t4","t5","includeChains","tokens","tokensFromAllChains","addressMap","tokensFromAllChainsMap","useAllTokensFromChains","t6","bb0","t7","tokensToDisplay","addressesMap","currentChainId","map","_temp","allTokensWithNativeAddresses","t8","t9","attachTokenBalance","trimmedTokenFilter","sorter","sort","filteredAndSortedTokens","usePrefetchTokenBalances","Symbol","for","AllTokensFromChainsInput","excludeChains","Record","listByChainId","tokensListsByChain","_chainId","_tokens","Object","entries","chainId","Number","includes","push","token","address","useAcrossTokenLists","fromChainId","toChainId","mode","crossTokens","_temp3"],"sources":["../../../src/hooks/tokens/useAllTokensWithFilter.ts"],"sourcesContent":["import { createSortWithClosestMatch } from \"@/tokens/utils/sorting\";\nimport { filterTokens } from \"@/tokens/utils/filtering\";\nimport { useAllTokens } from \"@/tokens/hooks\";\nimport type { Token, TokenMaybeWithUsdBalance } from \"@/tokens/state/types\";\nimport { useAtomValue } from \"@/core/store\";\nimport { useMemo } from \"react\";\nimport { useNativeToken } from \"./useNativeToken\";\nimport { useAttachTokenBalanceMultichain } from \"./balances/useAttachTokenBalanceMultichain\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useChainId } from \"wagmi\";\nimport { useTokensFromAcross } from \"./useTokensFromAcross\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { isAddress } from \"viem\";\nimport { allTokensByChainAtom } from \"@/tokens/state/allTokensByChainAtom\";\nimport type { BridgeInfoMode } from \"../swap/prices/delta/queries/bridgeInfo/useBridgeInfo\";\n\nexport const useAllTokensWithFilter = ({\n tokenFilter,\n forcedChainId,\n searchOnOtherChainsIfNothingFound,\n withETH = true,\n intent = \"fetch\",\n}: {\n tokenFilter: string;\n forcedChainId?: SupportedChainId;\n searchOnOtherChainsIfNothingFound?: boolean;\n withETH?: boolean;\n intent?: \"fetch\" | \"prefetch\";\n}): TokenMaybeWithUsdBalance[] => {\n const appChainId = useChainId();\n\n const allTokens = useAllTokens(forcedChainId);\n const nativeToken = useNativeToken(forcedChainId);\n\n const allIncludedTokens = withETH\n ? [nativeToken].concat(allTokens)\n : allTokens;\n\n const filteredTokens = useMemo(() => {\n return filterTokens({\n filterString: tokenFilter.trim(),\n tokenArray: allIncludedTokens,\n });\n }, [tokenFilter, allIncludedTokens]);\n\n const isTokenFilterValidAddress = isAddress(tokenFilter);\n const searchOnAllChains =\n (isTokenFilterValidAddress && searchOnOtherChainsIfNothingFound) || // if it's a token address, always search on other chains, if allowed\n // -- we want to show this token on all chains.\n (filteredTokens.length === 0 &&\n // not already found tokens on current chain &&\n // filter given, and explicitly asked to search other chains\n !!tokenFilter &&\n searchOnOtherChainsIfNothingFound);\n\n const { tokens: tokensFromAllChains, addressMap: tokensFromAllChainsMap } =\n useAllTokensFromChains({\n // no need to exclude any chains, we actually want to search on all chains in this scenario\n // excludeChains: forcedChainId ? [forcedChainId] : [appChainId],\n includeChains: !searchOnAllChains ? emptyArray : undefined,\n });\n\n const { addressesMap, tokensToDisplay } = useMemo(() => {\n if (searchOnAllChains)\n return {\n tokensToDisplay: tokensFromAllChains,\n addressesMap: tokensFromAllChainsMap,\n };\n\n const currentChainId = forcedChainId ?? appChainId;\n const allTokensWithNativeAddresses = allIncludedTokens.map(\n ({ address }) => address\n );\n\n return {\n tokensToDisplay: allIncludedTokens,\n addressesMap: {\n [currentChainId]: allTokensWithNativeAddresses,\n },\n };\n }, [\n appChainId,\n forcedChainId,\n searchOnAllChains,\n tokensFromAllChains,\n tokensFromAllChainsMap,\n allIncludedTokens,\n ]);\n\n const attachTokenBalance = useAttachTokenBalanceMultichain({\n addressesMap,\n intent,\n });\n\n const filteredAndSortedTokens = useMemo<TokenMaybeWithUsdBalance[]>(() => {\n const trimmedTokenFilter = tokenFilter.trim();\n\n const sorter = createSortWithClosestMatch(trimmedTokenFilter);\n return filterTokens({\n filterString: trimmedTokenFilter,\n tokenArray: tokensToDisplay,\n })\n .map(attachTokenBalance)\n .sort(sorter);\n }, [attachTokenBalance, tokenFilter, tokensToDisplay]);\n\n return filteredAndSortedTokens;\n};\n\nexport const usePrefetchTokenBalances = () => {\n // will fetch balances for all tokens from tokenLists for current chain,\n // if necessary, can be made to fetch for all chains, but that may be too many requests\n useAllTokensWithFilter({\n tokenFilter: \"\",\n intent: \"prefetch\",\n });\n};\n\ntype AllTokensFromChainsInput = {\n includeChains?: number[];\n excludeChains?: number[];\n};\n\n/**\n * @description\n * Returns tokens and token address maps from all chains, optionally filtered by include/exclude chains.\n * If no chains are specified, it will return all tokens from all chains.\n * If includeChains is specified, it will only return tokens from those chains.\n * If excludeChains is specified, it will exclude tokens from those chains.\n */\nexport function useAllTokensFromChains({\n includeChains,\n excludeChains,\n}: AllTokensFromChainsInput): {\n tokens: Token[];\n addressMap: Record<number, string[]>;\n} {\n const { listByChainId: tokensListsByChain } =\n useAtomValue(allTokensByChainAtom);\n\n return useMemo(() => {\n const tokens: Token[] = [];\n const addressMap: Record<number, string[]> = {};\n\n for (const [_chainId, { tokens: _tokens }] of Object.entries(\n tokensListsByChain\n )) {\n const chainId = Number(_chainId);\n if (includeChains && !includeChains.includes(chainId)) continue;\n if (excludeChains && excludeChains.includes(chainId)) continue;\n\n tokens.push(..._tokens);\n addressMap[chainId] = _tokens.map((token) => token.address);\n }\n\n return { tokens, addressMap };\n }, [tokensListsByChain, includeChains, excludeChains]);\n}\n\nexport function useAcrossTokenLists({\n tokenFilter,\n fromChainId,\n toChainId,\n mode,\n}: {\n tokenFilter: string;\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n mode: BridgeInfoMode;\n}) {\n const { crossTokens } = useTokensFromAcross({\n fromChainId,\n toChainId,\n mode,\n });\n\n const attachTokenBalance = useAttachTokenBalanceMultichain({\n addressesMap: {\n [toChainId]: crossTokens.map((token) => token.address),\n },\n });\n\n return useMemo<TokenMaybeWithUsdBalance[]>(() => {\n const trimmedTokenFilter = tokenFilter.trim();\n\n const sorter = createSortWithClosestMatch(trimmedTokenFilter);\n const filteredTokens = filterTokens({\n filterString: trimmedTokenFilter,\n tokenArray: crossTokens,\n });\n return filteredTokens.map(attachTokenBalance).sort(sorter);\n }, [attachTokenBalance, crossTokens, tokenFilter]);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useAllTokensWithFilter.js","names":["createSortWithClosestMatch","filterTokens","useAllTokens","Token","TokenMaybeWithUsdBalance","useAtomValue","useMemo","useNativeToken","useAttachTokenBalanceMultichain","SupportedChainId","useChainId","useTokensFromAcross","emptyArray","isAddress","allTokensByChainAtom","BridgeInfoMode","useAllTokensWithFilter","t0","$","_c","tokenFilter","forcedChainId","searchOnOtherChainsIfNothingFound","withETH","t1","intent","t2","undefined","appChainId","allTokens","nativeToken","t3","concat","allIncludedTokens","filteredTokens","filterString","trim","tokenArray","isTokenFilterValidAddress","searchOnAllChains","length","t4","t5","includeChains","tokens","tokensFromAllChains","addressMap","tokensFromAllChainsMap","useAllTokensFromChains","t6","bb0","t7","tokensToDisplay","addressesMap","currentChainId","map","_temp","allTokensWithNativeAddresses","t8","t9","attachTokenBalance","trimmedTokenFilter","sorter","sort","filteredAndSortedTokens","usePrefetchTokenBalances","Symbol","for","AllTokensFromChainsInput","excludeChains","Record","listByChainId","tokensListsByChain","_chainId","_tokens","Object","entries","chainId","Number","includes","push","token","address","useAcrossTokenLists","fromChainId","toChainId","mode","crossTokens","_temp3"],"sources":["../../../src/hooks/tokens/useAllTokensWithFilter.ts"],"sourcesContent":["import { createSortWithClosestMatch } from \"@/tokens/utils/sorting\";\nimport { filterTokens } from \"@/tokens/utils/filtering\";\nimport { useAllTokens } from \"@/tokens/hooks\";\nimport type { Token, TokenMaybeWithUsdBalance } from \"@/tokens/state/types\";\nimport { useAtomValue } from \"@/core/store\";\nimport { useMemo } from \"react\";\nimport { useNativeToken } from \"./useNativeToken\";\nimport { useAttachTokenBalanceMultichain } from \"./balances/useAttachTokenBalanceMultichain\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useChainId } from \"wagmi\";\nimport { useTokensFromAcross } from \"./useTokensFromAcross\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { isAddress } from \"viem\";\nimport { allTokensByChainAtom } from \"@/tokens/state/allTokensByChainAtom\";\nimport type { BridgeInfoMode } from \"../swap/prices/delta/queries/bridgeInfo/types\";\n\nexport const useAllTokensWithFilter = ({\n tokenFilter,\n forcedChainId,\n searchOnOtherChainsIfNothingFound,\n withETH = true,\n intent = \"fetch\",\n}: {\n tokenFilter: string;\n forcedChainId?: SupportedChainId;\n searchOnOtherChainsIfNothingFound?: boolean;\n withETH?: boolean;\n intent?: \"fetch\" | \"prefetch\";\n}): TokenMaybeWithUsdBalance[] => {\n const appChainId = useChainId();\n\n const allTokens = useAllTokens(forcedChainId);\n const nativeToken = useNativeToken(forcedChainId);\n\n const allIncludedTokens = withETH\n ? [nativeToken].concat(allTokens)\n : allTokens;\n\n const filteredTokens = useMemo(() => {\n return filterTokens({\n filterString: tokenFilter.trim(),\n tokenArray: allIncludedTokens,\n });\n }, [tokenFilter, allIncludedTokens]);\n\n const isTokenFilterValidAddress = isAddress(tokenFilter);\n const searchOnAllChains =\n (isTokenFilterValidAddress && searchOnOtherChainsIfNothingFound) || // if it's a token address, always search on other chains, if allowed\n // -- we want to show this token on all chains.\n (filteredTokens.length === 0 &&\n // not already found tokens on current chain &&\n // filter given, and explicitly asked to search other chains\n !!tokenFilter &&\n searchOnOtherChainsIfNothingFound);\n\n const { tokens: tokensFromAllChains, addressMap: tokensFromAllChainsMap } =\n useAllTokensFromChains({\n // no need to exclude any chains, we actually want to search on all chains in this scenario\n // excludeChains: forcedChainId ? [forcedChainId] : [appChainId],\n includeChains: !searchOnAllChains ? emptyArray : undefined,\n });\n\n const { addressesMap, tokensToDisplay } = useMemo(() => {\n if (searchOnAllChains)\n return {\n tokensToDisplay: tokensFromAllChains,\n addressesMap: tokensFromAllChainsMap,\n };\n\n const currentChainId = forcedChainId ?? appChainId;\n const allTokensWithNativeAddresses = allIncludedTokens.map(\n ({ address }) => address\n );\n\n return {\n tokensToDisplay: allIncludedTokens,\n addressesMap: {\n [currentChainId]: allTokensWithNativeAddresses,\n },\n };\n }, [\n appChainId,\n forcedChainId,\n searchOnAllChains,\n tokensFromAllChains,\n tokensFromAllChainsMap,\n allIncludedTokens,\n ]);\n\n const attachTokenBalance = useAttachTokenBalanceMultichain({\n addressesMap,\n intent,\n });\n\n const filteredAndSortedTokens = useMemo<TokenMaybeWithUsdBalance[]>(() => {\n const trimmedTokenFilter = tokenFilter.trim();\n\n const sorter = createSortWithClosestMatch(trimmedTokenFilter);\n return filterTokens({\n filterString: trimmedTokenFilter,\n tokenArray: tokensToDisplay,\n })\n .map(attachTokenBalance)\n .sort(sorter);\n }, [attachTokenBalance, tokenFilter, tokensToDisplay]);\n\n return filteredAndSortedTokens;\n};\n\nexport const usePrefetchTokenBalances = () => {\n // will fetch balances for all tokens from tokenLists for current chain,\n // if necessary, can be made to fetch for all chains, but that may be too many requests\n useAllTokensWithFilter({\n tokenFilter: \"\",\n intent: \"prefetch\",\n });\n};\n\ntype AllTokensFromChainsInput = {\n includeChains?: number[];\n excludeChains?: number[];\n};\n\n/**\n * @description\n * Returns tokens and token address maps from all chains, optionally filtered by include/exclude chains.\n * If no chains are specified, it will return all tokens from all chains.\n * If includeChains is specified, it will only return tokens from those chains.\n * If excludeChains is specified, it will exclude tokens from those chains.\n */\nexport function useAllTokensFromChains({\n includeChains,\n excludeChains,\n}: AllTokensFromChainsInput): {\n tokens: Token[];\n addressMap: Record<number, string[]>;\n} {\n const { listByChainId: tokensListsByChain } =\n useAtomValue(allTokensByChainAtom);\n\n return useMemo(() => {\n const tokens: Token[] = [];\n const addressMap: Record<number, string[]> = {};\n\n for (const [_chainId, { tokens: _tokens }] of Object.entries(\n tokensListsByChain\n )) {\n const chainId = Number(_chainId);\n if (includeChains && !includeChains.includes(chainId)) continue;\n if (excludeChains && excludeChains.includes(chainId)) continue;\n\n tokens.push(..._tokens);\n addressMap[chainId] = _tokens.map((token) => token.address);\n }\n\n return { tokens, addressMap };\n }, [tokensListsByChain, includeChains, excludeChains]);\n}\n\nexport function useAcrossTokenLists({\n tokenFilter,\n fromChainId,\n toChainId,\n mode,\n}: {\n tokenFilter: string;\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n mode: BridgeInfoMode;\n}) {\n const { crossTokens } = useTokensFromAcross({\n fromChainId,\n toChainId,\n mode,\n });\n\n const attachTokenBalance = useAttachTokenBalanceMultichain({\n addressesMap: {\n [toChainId]: crossTokens.map((token) => token.address),\n },\n });\n\n return useMemo<TokenMaybeWithUsdBalance[]>(() => {\n const trimmedTokenFilter = tokenFilter.trim();\n\n const sorter = createSortWithClosestMatch(trimmedTokenFilter);\n const filteredTokens = filterTokens({\n filterString: trimmedTokenFilter,\n tokenArray: crossTokens,\n });\n return filteredTokens.map(attachTokenBalance).sort(sorter);\n }, [attachTokenBalance, crossTokens, tokenFilter]);\n}\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { SupportedChainId } from '../../lib/web3/wagmi/types';
|
|
2
2
|
import { Token } from '../../tokens/state/types';
|
|
3
|
-
import { BridgeInfoMode } from '../swap/prices/delta/queries/bridgeInfo/
|
|
3
|
+
import { BridgeInfoMode } from '../swap/prices/delta/queries/bridgeInfo/types';
|
|
4
4
|
export declare function useTokensFromAcross({ fromChainId, toChainId, mode, }: {
|
|
5
5
|
fromChainId: SupportedChainId;
|
|
6
6
|
toChainId: SupportedChainId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTokensFromAcross.d.ts","sourceRoot":"","sources":["../../../src/hooks/tokens/useTokensFromAcross.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAIlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useTokensFromAcross.d.ts","sourceRoot":"","sources":["../../../src/hooks/tokens/useTokensFromAcross.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAIlD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAEpF,wBAAgB,mBAAmB,CAAC,EAClC,WAAW,EACX,SAAS,EACT,IAAI,GACL,EAAE;IACD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,SAAS,EAAE,gBAAgB,CAAC;IAC5B,IAAI,EAAE,cAAc,CAAC;CACtB,GAAG;IAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;CAAE,CAahD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTokensFromAcross.js","names":["isTruthy","SupportedChainId","Token","useGetBridgeInfo","useTokensByAddress","emptyArray","BridgeInfoMode","useTokensFromAcross","t0","$","_c","fromChainId","toChainId","mode","t1","data","bridgeInfo","error","acrossTokenAddresses","tokensMap","t2","t3","tokenAddress","toLowerCase","map","filter","tokensFromAcross","crossTokens"],"sources":["../../../src/hooks/tokens/useTokensFromAcross.ts"],"sourcesContent":["import { isTruthy } from \"@/lib/utils\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useGetBridgeInfo } from \"../useBridgeInfo\";\nimport { useTokensByAddress } from \"./useTokensByAddress\";\nimport { emptyArray } from \"@/lib/constants\";\nimport type { BridgeInfoMode } from \"../swap/prices/delta/queries/bridgeInfo/
|
|
1
|
+
{"version":3,"file":"useTokensFromAcross.js","names":["isTruthy","SupportedChainId","Token","useGetBridgeInfo","useTokensByAddress","emptyArray","BridgeInfoMode","useTokensFromAcross","t0","$","_c","fromChainId","toChainId","mode","t1","data","bridgeInfo","error","acrossTokenAddresses","tokensMap","t2","t3","tokenAddress","toLowerCase","map","filter","tokensFromAcross","crossTokens"],"sources":["../../../src/hooks/tokens/useTokensFromAcross.ts"],"sourcesContent":["import { isTruthy } from \"@/lib/utils\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { useGetBridgeInfo } from \"../useBridgeInfo\";\nimport { useTokensByAddress } from \"./useTokensByAddress\";\nimport { emptyArray } from \"@/lib/constants\";\nimport type { BridgeInfoMode } from \"../swap/prices/delta/queries/bridgeInfo/types\";\n\nexport function useTokensFromAcross({\n fromChainId,\n toChainId,\n mode,\n}: {\n fromChainId: SupportedChainId;\n toChainId: SupportedChainId;\n mode: BridgeInfoMode;\n}): { crossTokens: Token[]; error: Error | null } {\n const { data: bridgeInfo, error } = useGetBridgeInfo({ mode });\n\n const acrossTokenAddresses =\n bridgeInfo?.[fromChainId]?.[toChainId] ?? emptyArray;\n\n const tokensMap = useTokensByAddress(toChainId);\n\n const tokensFromAcross = acrossTokenAddresses\n .map((tokenAddress) => tokensMap[tokenAddress.toLowerCase()])\n .filter(isTruthy);\n\n return { crossTokens: tokensFromAcross, error };\n}\n"],"mappings":";;;;;;AAQA,SAAOO,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAA6B,EAAAC,gBAAAC,cAAAC,YAAAL,GAQnCM;AAAA,CAAAL,EAAA,OAAAI,IAC8DC,IAAAL,EAAA,MAARK,IAAA,EAAAD,SAAQ,EAAAJ,EAAA,KAAAI,GAAAJ,EAAA,KAAAK;CAA7D,IAAA,EAAAC,MAAAC,GAAAC,aAAoCd,EAAiBW,EAAS,EAE9DI,IACEF,IAAaL,KAAeC,MAA5BP,GAEFc,IAAkBf,EAAmBQ,EAAU,EAACQ;AAAA,KAAAX,EAAA,OAAAS,KAAAT,EAAA,OAAAU,GAAA;EAAA,IAAAE;AAI7BZ,EAJ6BA,EAAA,OAAAU,IAGcE,IAAAZ,EAAA,MAAvDY,KAAAC,MAAkBH,EAAUG,EAAYC,aAAc,GAACd,EAAA,KAAAU,GAAAV,EAAA,KAAAY,IADrCD,IAAAF,EAAoBM,IACtCH,EAAwD,CAAAI,OACrDzB,EAAS,EAAAS,EAAA,KAAAS,GAAAT,EAAA,KAAAU,GAAAV,EAAA,KAAAW;OAAAA,KAAAX,EAAA;CAFnB,IAAAiB,IAAyBN,GAELC;AAE2B,QAF3BZ,EAAA,OAAAQ,KAAAR,EAAA,OAAAiB,KAEbL,IAAA;EAAAM,aAAeD;EAAgBT;EAAS,EAAAR,EAAA,KAAAQ,GAAAR,EAAA,KAAAiB,GAAAjB,EAAA,KAAAY,KAAAA,IAAAZ,EAAA,IAAxCY"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { UseQueryResult } from '@tanstack/react-query';
|
|
2
2
|
import { BridgeInfo } from '@velora-dex/sdk';
|
|
3
|
-
import { BridgeInfoMode } from './swap/prices/delta/queries/bridgeInfo/
|
|
3
|
+
import { BridgeInfoMode } from './swap/prices/delta/queries/bridgeInfo/types';
|
|
4
4
|
export declare function useGetBridgeInfo({ mode, }: {
|
|
5
5
|
mode: BridgeInfoMode;
|
|
6
6
|
}): UseQueryResult<BridgeInfo, Error>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBridgeInfo.d.ts","sourceRoot":"","sources":["../../src/hooks/useBridgeInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"useBridgeInfo.d.ts","sourceRoot":"","sources":["../../src/hooks/useBridgeInfo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAEnF,wBAAgB,gBAAgB,CAAC,EAC/B,IAAI,GACL,EAAE;IACD,IAAI,EAAE,cAAc,CAAC;CACtB,GAAG,cAAc,CAAC,UAAU,EAAE,KAAK,CAAC,CAYpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useBridgeInfo.js","names":["UseQueryResult","BridgeInfo","useBridgeInfoQuery","BridgeInfoMode","useGetBridgeInfo","t0","$","_c","mode","t1","Symbol","for","staleTime","Infinity","gcTime","t2","t3","query","input","allowBridgeAndSwap","result"],"sources":["../../src/hooks/useBridgeInfo.ts"],"sourcesContent":["import { type UseQueryResult } from \"@tanstack/react-query\";\nimport type { BridgeInfo } from \"@velora-dex/sdk\";\nimport {\
|
|
1
|
+
{"version":3,"file":"useBridgeInfo.js","names":["UseQueryResult","BridgeInfo","useBridgeInfoQuery","BridgeInfoMode","useGetBridgeInfo","t0","$","_c","mode","t1","Symbol","for","staleTime","Infinity","gcTime","t2","t3","query","input","allowBridgeAndSwap","result"],"sources":["../../src/hooks/useBridgeInfo.ts"],"sourcesContent":["import { type UseQueryResult } from \"@tanstack/react-query\";\nimport type { BridgeInfo } from \"@velora-dex/sdk\";\nimport { useBridgeInfoQuery } from \"./swap/prices/delta/queries/bridgeInfo/useBridgeInfo\";\nimport type { BridgeInfoMode } from \"./swap/prices/delta/queries/bridgeInfo/types\";\n\nexport function useGetBridgeInfo({\n mode,\n}: {\n mode: BridgeInfoMode;\n}): UseQueryResult<BridgeInfo, Error> {\n const result = useBridgeInfoQuery({\n query: {\n staleTime: Infinity,\n gcTime: Infinity,\n },\n input: {\n allowBridgeAndSwap: mode === \"swap\",\n },\n });\n\n return result;\n}\n"],"mappings":";;;;AAKA,SAAOI,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAA0B,EAAAC,YAAAH,GAIhCI;AAAA,CAAAH,EAAA,OAAAI,OAAAC,IAAA,4BAAA,IAEUF,IAAA;EAAAG,WACMC;EAAQC,QACXD;EACT,EAAAP,EAAA,KAAAG,KAAAA,IAAAH,EAAA;CAEqB,IAAAS,IAAAP,MAAS,QAAMQ;AAEpC,QAFoCV,EAAA,OAAAS,IAEtCC,IAAAV,EAAA,MARiCU,IAAA;EAAAC,OACzBR;EAGNS,OACM,EAAAC,oBACeJ,GACtB;EACD,EAAAT,EAAA,KAAAS,GAAAT,EAAA,KAAAU,IARcd,EAAmBc,EAQhC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BridgeInfoMode } from './swap/prices/delta/queries/bridgeInfo/
|
|
1
|
+
import { BridgeInfoMode } from './swap/prices/delta/queries/bridgeInfo/types';
|
|
2
2
|
export declare function useIsCrosschainPossible({ fromChainId, toChainId, tokenAddress, mode, }: {
|
|
3
3
|
fromChainId: number;
|
|
4
4
|
toChainId?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIsCrosschainPossible.d.ts","sourceRoot":"","sources":["../../src/hooks/useIsCrosschainPossible.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"useIsCrosschainPossible.d.ts","sourceRoot":"","sources":["../../src/hooks/useIsCrosschainPossible.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAInF,wBAAgB,uBAAuB,CAAC,EACtC,WAAW,EACX,SAAS,EACT,YAAY,EACZ,IAAI,GACL,EAAE;IACD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,cAAc,CAAC;CACtB,GAAG;IACF,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,oBAAoB,EAAE,OAAO,CAAC;CAC/B,CA2BA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useIsCrosschainPossible.js","names":["BridgeInfoMode","useIsTokenSupportedInDeltaQuery","useGetBridgeInfo","useIsCrosschainPossible","t0","$","_c","fromChainId","toChainId","tokenAddress","mode","t1","data","bridgeInfo","isLoading","isBridgeInfoLoading","tokenAddresses","undefined","hasTokens","length","t2","token","chainId","tokenSupported","isTokenSupportedLoading","isCrosschainPossible","t3"],"sources":["../../src/hooks/useIsCrosschainPossible.ts"],"sourcesContent":["import type { BridgeInfoMode } from \"./swap/prices/delta/queries/bridgeInfo/
|
|
1
|
+
{"version":3,"file":"useIsCrosschainPossible.js","names":["BridgeInfoMode","useIsTokenSupportedInDeltaQuery","useGetBridgeInfo","useIsCrosschainPossible","t0","$","_c","fromChainId","toChainId","tokenAddress","mode","t1","data","bridgeInfo","isLoading","isBridgeInfoLoading","tokenAddresses","undefined","hasTokens","length","t2","token","chainId","tokenSupported","isTokenSupportedLoading","isCrosschainPossible","t3"],"sources":["../../src/hooks/useIsCrosschainPossible.ts"],"sourcesContent":["import type { BridgeInfoMode } from \"./swap/prices/delta/queries/bridgeInfo/types\";\nimport { useIsTokenSupportedInDeltaQuery } from \"./swap/prices/delta/queries/useIsTokenSupportedInDelta\";\nimport { useGetBridgeInfo } from \"./useBridgeInfo\";\n\nexport function useIsCrosschainPossible({\n fromChainId,\n toChainId,\n tokenAddress,\n mode,\n}: {\n fromChainId: number;\n toChainId?: number;\n tokenAddress?: string;\n mode: BridgeInfoMode;\n}): {\n hasTokens: boolean;\n isLoading: boolean;\n tokenSupported?: boolean;\n tokenAddresses?: string[];\n isCrosschainPossible: boolean;\n} {\n const { data: bridgeInfo, isLoading: isBridgeInfoLoading } = useGetBridgeInfo(\n { mode }\n );\n\n const tokenAddresses = toChainId\n ? bridgeInfo?.[fromChainId]?.[toChainId]\n : undefined;\n const hasTokens = tokenAddresses !== undefined && tokenAddresses.length > 0;\n\n const { data: tokenSupported, isLoading: isTokenSupportedLoading } =\n useIsTokenSupportedInDeltaQuery({\n token: tokenAddress,\n chainId: fromChainId,\n });\n\n const isLoading = isBridgeInfoLoading || isTokenSupportedLoading;\n\n const isCrosschainPossible = hasTokens && !!tokenSupported;\n\n return {\n hasTokens,\n tokenSupported,\n isLoading,\n tokenAddresses,\n isCrosschainPossible,\n };\n}\n"],"mappings":";;;;AAIA,SAAOG,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAiC,EAAAC,gBAAAC,cAAAC,iBAAAC,YAAAN,GAUvCO;AAAA,CAAAN,EAAA,OAAAK,IAQWC,IAAAN,EAAA,MAARM,IAAA,EAAAD,SAAQ,EAAAL,EAAA,KAAAK,GAAAL,EAAA,KAAAM;CADV,IAAA,EAAAC,MAAAC,GAAAC,WAAAC,MAA6Db,EAC3DS,EACD,EAEDK,IAAuBR,IACnBK,IAAaN,KAAeC,KADTS,KAAAA,GAGvBC,IAAkBF,MAAmBC,KAAAA,KAAaD,EAAcG,SAAU,GAAEC;AAAA,CAAAf,EAAA,OAAAE,KAAAF,EAAA,OAAAI,KAG1CW,IAAA;EAAAC,OACvBZ;EAAYa,SACVf;EACV,EAAAF,EAAA,KAAAE,GAAAF,EAAA,KAAAI,GAAAJ,EAAA,KAAAe,KAAAA,IAAAf,EAAA;CAJH,IAAA,EAAAO,MAAAW,GAAAT,WAAAU,MACEvB,EAAgCmB,EAG9B,EAEJN,IAAkBC,KAAAS,GAElBC,IAA6BP,KAAA,CAAc,CAACK,GAAeG;AAQ1D,QAR0DrB,EAAA,OAAAa,KAAAb,EAAA,OAAAoB,KAAApB,EAAA,OAAAS,KAAAT,EAAA,OAAAW,KAAAX,EAAA,OAAAkB,KAEpDG,IAAA;EAAAR;EAAAK;EAAAT;EAAAE;EAAAS;EAMN,EAAApB,EAAA,KAAAa,GAAAb,EAAA,KAAAoB,GAAApB,EAAA,KAAAS,GAAAT,EAAA,KAAAW,GAAAX,EAAA,KAAAkB,GAAAlB,EAAA,MAAAqB,KAAAA,IAAArB,EAAA,KANMqB"}
|
package/dist/hooks/useSDK.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { LimitOrderHandlers, GetRateFunctions, APIVersion, GetDeltaOrdersFunctions, GetDeltaPriceFunctions, PostDeltaOrderFunctions, BuildDeltaOrderFunctions, SignDeltaOrderFunctions, PreSignDeltaOrderFunctions, CancelDeltaOrderFunctions, GetBridgeInfoFunctions, IsTokenSupportedInDeltaFunctions, BuildTxFunctions, GetSpenderFunctions, MinViemClient, GetLimitOrdersFunctions, BuildLimitOrderFunctions, PostLimitOrderFunctions, FillOrderDirectlyFunctions, DeltaTokenModuleFunctions } from '@velora-dex/sdk';
|
|
1
|
+
import { LimitOrderHandlers, GetRateFunctions, APIVersion, GetDeltaOrdersFunctions, GetDeltaPriceFunctions, PostDeltaOrderFunctions, BuildDeltaOrderFunctions, SignDeltaOrderFunctions, PreSignDeltaOrderFunctions, CancelDeltaOrderFunctions, GetBridgeInfoFunctions, IsTokenSupportedInDeltaFunctions, BuildTxFunctions, GetSpenderFunctions, MinViemClient, GetLimitOrdersFunctions, BuildLimitOrderFunctions, PostLimitOrderFunctions, FillOrderDirectlyFunctions, DeltaTokenModuleFunctions, BuildTWAPDeltaOrderFunctions, PostTWAPDeltaOrderFunctions, PreSignTWAPDeltaOrderFunctions, SignTWAPDeltaOrderFunctions } from '@velora-dex/sdk';
|
|
2
2
|
import { Address, Hash, Hex } from 'viem';
|
|
3
3
|
import { Prettify } from 'ts-essentials';
|
|
4
4
|
type SDKCreateParams = {
|
|
@@ -29,11 +29,11 @@ export declare function useLimitOrdersSDK({ chainId, apiURL, account, client, }:
|
|
|
29
29
|
}): ConstructedSDKOutput<LimitOrdersSDK>;
|
|
30
30
|
export declare function useLimitOrdersSDK({ chainId, apiURL, account, client, }: LimitOrdersSDKCreateParams): ConstructedSDKOutput<LimitOrdersSDK | ReadOnlyLimitOrdersSDK>;
|
|
31
31
|
export declare const useFetchOnlySDK: ({ chainId, apiURL, }: SDKCreateParams) => Partial<ConstructedSDKOutput<PostDeltaOrderFunctions>>;
|
|
32
|
-
export declare const useCalldataSDK: ({ chainId, apiURL, client, }: Omit<LimitOrdersSDKCreateParams, "account">) => Partial<ConstructedSDKOutput<FillOrderDirectlyFunctions<Hex> & PreSignDeltaOrderFunctions<Hex> & BuildDeltaOrderFunctions>>;
|
|
33
|
-
type ReadOnlyDeltaSDK = Prettify<GetDeltaOrdersFunctions & GetDeltaPriceFunctions & BuildDeltaOrderFunctions & PostDeltaOrderFunctions & GetBridgeInfoFunctions & IsTokenSupportedInDeltaFunctions & {
|
|
32
|
+
export declare const useCalldataSDK: ({ chainId, apiURL, client, }: Omit<LimitOrdersSDKCreateParams, "account">) => Partial<ConstructedSDKOutput<FillOrderDirectlyFunctions<Hex> & PreSignDeltaOrderFunctions<Hex> & BuildDeltaOrderFunctions & PreSignTWAPDeltaOrderFunctions<Hex> & BuildTWAPDeltaOrderFunctions>>;
|
|
33
|
+
type ReadOnlyDeltaSDK = Prettify<GetDeltaOrdersFunctions & GetDeltaPriceFunctions & BuildDeltaOrderFunctions & PostDeltaOrderFunctions & BuildTWAPDeltaOrderFunctions & PostTWAPDeltaOrderFunctions & GetBridgeInfoFunctions & IsTokenSupportedInDeltaFunctions & {
|
|
34
34
|
chainId: number;
|
|
35
35
|
}>;
|
|
36
|
-
export type DeltaSDK = Prettify<ReadOnlyDeltaSDK & SignDeltaOrderFunctions & CancelDeltaOrderFunctions & PreSignDeltaOrderFunctions<Hash> & DeltaTokenModuleFunctions<Hash>>;
|
|
36
|
+
export type DeltaSDK = Prettify<ReadOnlyDeltaSDK & SignDeltaOrderFunctions & CancelDeltaOrderFunctions & PreSignDeltaOrderFunctions<Hash> & DeltaTokenModuleFunctions<Hash> & SignTWAPDeltaOrderFunctions & PreSignTWAPDeltaOrderFunctions<Hash>>;
|
|
37
37
|
type DeltaSDKCreateParams = SDKCreateParams & {
|
|
38
38
|
client?: MinViemClient;
|
|
39
39
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSDK.d.ts","sourceRoot":"","sources":["../../src/hooks/useSDK.ts"],"names":[],"mappings":"AAGA,OAAO,EAmBL,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,UAAU,EACf,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,gCAAgC,EACrC,KAAK,gBAAgB,EACrB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAKlB,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAE/B,KAAK,yBAAyB,
|
|
1
|
+
{"version":3,"file":"useSDK.d.ts","sourceRoot":"","sources":["../../src/hooks/useSDK.ts"],"names":[],"mappings":"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"}
|