@velora-dex/widget 0.4.14-dev.4 → 0.4.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/button.js +0 -1
- 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.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 +1 -2
- 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 +1 -2
- 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 +26 -44
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.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 +4 -1
- package/dist/components/widget/Duration/Duration.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts +1 -2
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +7 -9
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/types.d.ts +2 -2
- package/dist/components/widget/LimitOrderItem/types.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/utils.d.ts +2 -2
- package/dist/components/widget/LimitOrderItem/utils.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/utils.js +9 -25
- package/dist/components/widget/LimitOrderItem/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 +4 -8
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
- package/dist/components/widget/SwapRate/SwapRate.d.ts +1 -2
- package/dist/components/widget/SwapRate/SwapRate.d.ts.map +1 -1
- package/dist/components/widget/SwapRate/SwapRate.js +20 -29
- package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +86 -77
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/TradeCompleteHeader.js +46 -28
- 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 +1 -2
- 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 +72 -105
- 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 +11 -46
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts +2 -7
- package/dist/components/widget/TradeOverview/TradeOverviewScreen.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewScreen.js +7 -19
- package/dist/components/widget/TradeOverview/TradeOverviewScreen.js.map +1 -1
- package/dist/components/widget/TradeOverview/steps.d.ts +0 -37
- package/dist/components/widget/TradeOverview/steps.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/steps.js +1 -10
- package/dist/components/widget/TradeOverview/steps.js.map +1 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts +2 -2
- package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
- 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 +0 -5
- package/dist/core/TradeFlowScreenButton.d.ts.map +1 -1
- package/dist/core/TradeFlowScreenButton.js +1 -58
- package/dist/core/TradeFlowScreenButton.js.map +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 +0 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js +1 -71
- 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 +3 -199
- 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/state/common.d.ts +0 -4
- package/dist/core/inputs/state/common.d.ts.map +1 -1
- package/dist/core/inputs/state/common.js +4 -49
- 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 +27 -27
- 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 +2 -0
- package/dist/core/limit/useLimitRate.js.map +1 -1
- package/dist/core/state/chainToAtom.d.ts +0 -2
- package/dist/core/state/chainToAtom.d.ts.map +1 -1
- package/dist/core/state/chainToAtom.js +7 -28
- 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/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 +33 -55
- package/dist/core/state/widgetEventsAtom.js.map +1 -1
- package/dist/events/effects/formInput.d.ts +0 -3
- package/dist/events/effects/formInput.d.ts.map +1 -1
- package/dist/events/effects/formInput.js +1 -17
- package/dist/events/effects/formInput.js.map +1 -1
- package/dist/events/getters/widgetState.d.ts.map +1 -1
- package/dist/events/getters/widgetState.js +1 -3
- 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 +1 -2
- package/dist/events/hooks/useActivateEffects.js.map +1 -1
- package/dist/events/types/common.d.ts +0 -6
- package/dist/events/types/common.d.ts.map +1 -1
- package/dist/events/types/formInput.d.ts +2 -11
- package/dist/events/types/formInput.d.ts.map +1 -1
- package/dist/events/types/index.d.ts +1 -4
- 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 +2 -3
- package/dist/events/types/swap.d.ts.map +1 -1
- 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 +2 -2
- package/dist/hooks/permit/utils/deadlines.d.ts.map +1 -1
- package/dist/hooks/permit/utils/deadlines.js +4 -4
- package/dist/hooks/permit/utils/deadlines.js.map +1 -1
- package/dist/hooks/swap/prices/constants.d.ts +0 -1
- package/dist/hooks/swap/prices/constants.d.ts.map +1 -1
- package/dist/hooks/swap/prices/constants.js +1 -2
- package/dist/hooks/swap/prices/constants.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/types.d.ts +1 -10
- package/dist/hooks/swap/prices/delta/mutations/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useCancelDeltaOrders.d.ts +5 -2
- 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 +3 -2
- package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.d.ts.map +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/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 +15 -3
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts +5 -4
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/useWithdrawAndCancelDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +6 -17
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.js +2 -34
- package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/types.d.ts +46 -11
- 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 +5 -6
- 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 +1 -67
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +6 -24
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts +10 -17
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.js +4 -32
- package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts +6 -5
- 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 +7 -7
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +35 -37
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts +17 -14
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/utils.d.ts +0 -1
- package/dist/hooks/swap/prices/delta/queries/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/utils.js +1 -8
- package/dist/hooks/swap/prices/delta/queries/utils.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 +35 -37
- 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 +5 -9
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +2 -0
- 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/tradeFlow/common/types.d.ts +2 -4
- package/dist/hooks/swap/tradeFlow/common/types.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts +0 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +55 -57
- 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 +152 -263
- 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 +181 -296
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts +1 -2
- package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js +83 -85
- 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 +9 -8
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +3 -4
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +6 -5
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +9 -5
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.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 +4 -4
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/hooks/useSlippage.d.ts.map +1 -1
- package/dist/hooks/useSlippage.js +1 -2
- 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 +0 -1
- package/dist/lib/constants/time.d.ts.map +1 -1
- package/dist/lib/constants/time.js +1 -2
- package/dist/lib/constants/time.js.map +1 -1
- package/dist/lib/queryClient.js +2 -2
- package/dist/lib/queryClient.js.map +1 -1
- package/dist/lib/tradeMode.d.ts +1 -9
- package/dist/lib/tradeMode.d.ts.map +1 -1
- package/dist/lib/tradeMode.js +2 -4
- package/dist/lib/tradeMode.js.map +1 -1
- package/dist/lib/utils/index.d.ts +0 -8
- package/dist/lib/utils/index.d.ts.map +1 -1
- package/dist/lib/utils/index.js +1 -18
- package/dist/lib/utils/index.js.map +1 -1
- package/dist/lib/utils/price.d.ts +0 -1
- package/dist/lib/utils/price.d.ts.map +1 -1
- package/dist/lib/utils/price.js +2 -4
- package/dist/lib/utils/price.js.map +1 -1
- package/dist/lib/utils/time.d.ts +0 -2
- package/dist/lib/utils/time.d.ts.map +1 -1
- package/dist/lib/utils/time.js +1 -7
- package/dist/lib/utils/time.js.map +1 -1
- package/dist/lib/utils/toasts.d.ts +4 -4
- package/dist/lib/utils/toasts.d.ts.map +1 -1
- package/dist/lib/utils/toasts.js.map +1 -1
- 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 +4 -65
- package/dist/tokens/constants.d.ts.map +1 -1
- package/dist/tokens/constants.js +9 -9
- package/dist/tokens/constants.js.map +1 -1
- package/dist/tokens/defaultTokens.d.ts.map +1 -1
- package/dist/tokens/defaultTokens.js +18 -21
- package/dist/tokens/defaultTokens.js.map +1 -1
- package/dist/tokens/lists/constants.d.ts +1 -1
- package/dist/tokens/lists/constants.d.ts.map +1 -1
- package/dist/tokens/lists/constants.js +1 -1
- package/dist/tokens/lists/constants.js.map +1 -1
- package/dist/transactions/types.d.ts +3 -3
- package/dist/transactions/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/dist/components/widget/NumberInput/NumberInput.d.ts +0 -18
- package/dist/components/widget/NumberInput/NumberInput.d.ts.map +0 -1
- package/dist/components/widget/NumberInput/NumberInput.js +0 -255
- package/dist/components/widget/NumberInput/NumberInput.js.map +0 -1
- package/dist/components/widget/NumberInput/assets/arrow-down.svg.js +0 -12
- package/dist/components/widget/NumberInput/assets/arrow-down.svg.js.map +0 -1
- package/dist/components/widget/NumberInput/assets/arrow-up.svg.js +0 -12
- package/dist/components/widget/NumberInput/assets/arrow-up.svg.js.map +0 -1
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts +0 -15
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.d.ts.map +0 -1
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js +0 -241
- package/dist/components/widget/TradeOverview/TwapOrderTradeOverview.js.map +0 -1
- package/dist/components/widget/TradeOverview/utils/swapAmounts.d.ts +0 -14
- package/dist/components/widget/TradeOverview/utils/swapAmounts.d.ts.map +0 -1
- package/dist/components/widget/TradeOverview/utils/swapAmounts.js +0 -43
- package/dist/components/widget/TradeOverview/utils/swapAmounts.js.map +0 -1
- package/dist/components/widget/Twap/OrderDuration.d.ts +0 -2
- package/dist/components/widget/Twap/OrderDuration.d.ts.map +0 -1
- package/dist/components/widget/Twap/OrderDuration.js +0 -75
- package/dist/components/widget/Twap/OrderDuration.js.map +0 -1
- package/dist/components/widget/Twap/OrderSplit.d.ts +0 -2
- package/dist/components/widget/Twap/OrderSplit.d.ts.map +0 -1
- package/dist/components/widget/Twap/OrderSplit.js +0 -57
- package/dist/components/widget/Twap/OrderSplit.js.map +0 -1
- package/dist/components/widget/Twap/RateProtection.d.ts +0 -2
- package/dist/components/widget/Twap/RateProtection.d.ts.map +0 -1
- package/dist/components/widget/Twap/RateProtection.js +0 -57
- package/dist/components/widget/Twap/RateProtection.js.map +0 -1
- package/dist/components/widget/Twap/TwapDetailWithTooltip.d.ts +0 -3
- package/dist/components/widget/Twap/TwapDetailWithTooltip.d.ts.map +0 -1
- package/dist/components/widget/Twap/TwapDetailWithTooltip.js +0 -33
- package/dist/components/widget/Twap/TwapDetailWithTooltip.js.map +0 -1
- package/dist/core/TwapDetails.d.ts +0 -2
- package/dist/core/TwapDetails.d.ts.map +0 -1
- package/dist/core/TwapDetails.js +0 -24
- package/dist/core/TwapDetails.js.map +0 -1
- package/dist/core/twap/state/constants.d.ts +0 -15
- package/dist/core/twap/state/constants.d.ts.map +0 -1
- package/dist/core/twap/state/constants.js +0 -19
- package/dist/core/twap/state/constants.js.map +0 -1
- package/dist/core/twap/state/currentTwapInputAtom.d.ts +0 -4
- package/dist/core/twap/state/currentTwapInputAtom.d.ts.map +0 -1
- package/dist/core/twap/state/currentTwapInputAtom.js +0 -6
- package/dist/core/twap/state/currentTwapInputAtom.js.map +0 -1
- package/dist/core/twap/state/isCrosschainAtom.d.ts +0 -3
- package/dist/core/twap/state/isCrosschainAtom.d.ts.map +0 -1
- package/dist/core/twap/state/isCrosschainAtom.js +0 -16
- package/dist/core/twap/state/isCrosschainAtom.js.map +0 -1
- package/dist/core/twap/state/selectedTokenActionsAtom.d.ts +0 -13
- package/dist/core/twap/state/selectedTokenActionsAtom.d.ts.map +0 -1
- package/dist/core/twap/state/selectedTokenActionsAtom.js +0 -194
- package/dist/core/twap/state/selectedTokenActionsAtom.js.map +0 -1
- package/dist/core/twap/state/twapInputAmountAtom.d.ts +0 -9
- package/dist/core/twap/state/twapInputAmountAtom.d.ts.map +0 -1
- package/dist/core/twap/state/twapInputAmountAtom.js +0 -21
- package/dist/core/twap/state/twapInputAmountAtom.js.map +0 -1
- package/dist/core/twap/state/twapParamsAtom.d.ts +0 -16
- package/dist/core/twap/state/twapParamsAtom.d.ts.map +0 -1
- package/dist/core/twap/state/twapParamsAtom.js +0 -22
- package/dist/core/twap/state/twapParamsAtom.js.map +0 -1
- package/dist/core/twap/state/twapReceiverAddressAtom.d.ts +0 -5
- package/dist/core/twap/state/twapReceiverAddressAtom.d.ts.map +0 -1
- package/dist/core/twap/state/twapReceiverAddressAtom.js +0 -10
- package/dist/core/twap/state/twapReceiverAddressAtom.js.map +0 -1
- package/dist/core/twap/state/twapSideAtom.d.ts +0 -4
- package/dist/core/twap/state/twapSideAtom.d.ts.map +0 -1
- package/dist/core/twap/state/twapSideAtom.js +0 -24
- package/dist/core/twap/state/twapSideAtom.js.map +0 -1
- package/dist/core/twap/state/twapTokenAtoms.d.ts +0 -10
- package/dist/core/twap/state/twapTokenAtoms.d.ts.map +0 -1
- package/dist/core/twap/state/twapTokenAtoms.js +0 -29
- package/dist/core/twap/state/twapTokenAtoms.js.map +0 -1
- package/dist/core/twap/twapDetails/minimumReceiveable.d.ts +0 -12
- package/dist/core/twap/twapDetails/minimumReceiveable.d.ts.map +0 -1
- package/dist/core/twap/twapDetails/minimumReceiveable.js +0 -44
- package/dist/core/twap/twapDetails/minimumReceiveable.js.map +0 -1
- package/dist/core/twap/useTwapDetailsListProps.d.ts +0 -3
- package/dist/core/twap/useTwapDetailsListProps.d.ts.map +0 -1
- package/dist/core/twap/useTwapDetailsListProps.js +0 -109
- package/dist/core/twap/useTwapDetailsListProps.js.map +0 -1
- package/dist/core/twap/useTwapTokenFromInputProps.d.ts +0 -9
- package/dist/core/twap/useTwapTokenFromInputProps.d.ts.map +0 -1
- package/dist/core/twap/useTwapTokenFromInputProps.js +0 -455
- package/dist/core/twap/useTwapTokenFromInputProps.js.map +0 -1
- package/dist/core/twap/useTwapTokenSwitcherProps.d.ts +0 -3
- package/dist/core/twap/useTwapTokenSwitcherProps.d.ts.map +0 -1
- package/dist/core/twap/useTwapTokenSwitcherProps.js +0 -38
- package/dist/core/twap/useTwapTokenSwitcherProps.js.map +0 -1
- package/dist/core/twap/useTwapTokenToInputProps.d.ts +0 -9
- package/dist/core/twap/useTwapTokenToInputProps.d.ts.map +0 -1
- package/dist/core/twap/useTwapTokenToInputProps.js +0 -274
- package/dist/core/twap/useTwapTokenToInputProps.js.map +0 -1
- package/dist/events/getters/twap.d.ts +0 -6
- package/dist/events/getters/twap.d.ts.map +0 -1
- package/dist/events/getters/twap.js +0 -65
- package/dist/events/getters/twap.js.map +0 -1
- package/dist/events/types/twap.d.ts +0 -26
- package/dist/events/types/twap.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.d.ts +0 -19
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js +0 -86
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreatePreSignableTwapOrder.js.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts +0 -37
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js +0 -164
- package/dist/hooks/swap/prices/delta/mutations/twap/useCreateTwapOrder.js.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.d.ts +0 -69
- package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js +0 -278
- package/dist/hooks/swap/prices/delta/mutations/twap/useDepositAndSubmitTwapOrder.js.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts +0 -15
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js +0 -89
- package/dist/hooks/swap/prices/delta/mutations/twap/usePostTwapOrder.js.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.d.ts +0 -60
- package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js +0 -325
- package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts +0 -18
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js +0 -87
- package/dist/hooks/swap/prices/delta/mutations/twap/useTwapOrderToPost.js.map +0 -1
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts +0 -16
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.d.ts.map +0 -1
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js +0 -73
- package/dist/hooks/swap/prices/useTokenInputsFromTwapPrice.js.map +0 -1
- package/dist/hooks/swap/prices/useTwapPrices.d.ts +0 -28
- package/dist/hooks/swap/prices/useTwapPrices.d.ts.map +0 -1
- package/dist/hooks/swap/prices/useTwapPrices.js +0 -175
- package/dist/hooks/swap/prices/useTwapPrices.js.map +0 -1
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts +0 -48
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +0 -1
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +0 -71
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +0 -1
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts +0 -50
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts.map +0 -1
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js +0 -94
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +0 -1
- package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts +0 -88
- package/dist/hooks/swap/tradeFlow/useTwapFlow.d.ts.map +0 -1
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js +0 -591
- package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +0 -1
- package/dist/hooks/swap/tradeFlow/useTwapSwapStep.d.ts +0 -25
- package/dist/hooks/swap/tradeFlow/useTwapSwapStep.d.ts.map +0 -1
- package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js +0 -237
- package/dist/hooks/swap/tradeFlow/useTwapSwapStep.js.map +0 -1
- package/dist/lib/utils/twap.d.ts +0 -17
- package/dist/lib/utils/twap.d.ts.map +0 -1
- package/dist/lib/utils/twap.js +0 -34
- package/dist/lib/utils/twap.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useTwapFlow.js","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, Hash, TransactionReceipt } from \"viem\";\nimport { deltaOrdersQueryKey } from \"../prices/delta/queries/useDeltaOrders\";\nimport type {\n ApprovalFlowResult,\n SignPermitFlowResult,\n SubmitTxResult,\n} from \"./common/types\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport {\n useEnsureDeltaOrderExecuted,\n useWatchDeltaAuction,\n} from \"../prices/delta/queries/useWatchDeltaOrder\";\nimport { getOverallOrderStatus } from \"../prices/delta/orders/utils\";\nimport { useMutation, useQueryClient } 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 type { OrderSentObject } from \"@/lib/utils/toasts\";\nimport { useApproveOrPermit } from \"./common/useApproveOrPermit\";\nimport {\n useMarkPermit1Or2NonceAsUsed,\n type SignedPermitResult,\n} from \"./common/useSignPermit1Or2\";\nimport { produceDeltaOrderDeadline } from \"@/hooks/permit/utils/deadlines\";\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/queries/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 { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\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 {\n DeltaAuctionWithTwapOrder,\n NullableDeltaAuctionWithTwapOrder,\n} from \"../prices/delta/orders/types\";\nimport type { BuildTWAPSellOrBuySpecificParams } from \"../prices/delta/mutations/types\";\nimport { getTwapAmountsFromPrice } from \"@/lib/utils/twap\";\nimport { TEN_MINUTES_MS } from \"@/lib/constants/time\";\nimport { millisecondsToSeconds, minutesToMilliseconds } from \"@/lib/utils/time\";\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\";\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 };\n twapPrice: DeltaPrice | BridgePrice;\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject | CallsSentObject) => void;\n\ntype OnOrderSent = (orderSent: OrderSentObject) => void;\n\ntype RunTwapOrderOptions = {\n onTxSent?: OnTxSent;\n onOrderSent?: OnOrderSent;\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?: NullableDeltaAuctionWithTwapOrder;\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 receipt?: TransactionReceipt;\n isCancelingOrder: boolean;\n isOrderCancellable: boolean;\n isOrderCanceled: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\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<TransactionReceipt | CancelDeltaOrdersReturn>;\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 } = 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 const queryClient = useQueryClient();\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 =\n useWatchDeltaAuction<NullableDeltaAuctionWithTwapOrder>({\n orderId: twapOrderSubmission.order?.id,\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 onTimeoutGettingOrder: (order) => {\n logger.log(\"Twap Order timeout\", order);\n },\n });\n\n const orderStatus = watchOrderExecution.data\n ? getOverallOrderStatus(watchOrderExecution.data)\n : null;\n\n // refetching stops after one minute of not finding an order (order==null)\n const neverFetchedFinishedOrder =\n watchOrderExecution.data === null && watchOrderExecution.isSuccess;\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:\n watchOrderExecution.isError ||\n orderStatus === \"failed\" ||\n neverFetchedFinishedOrder,\n isSuccess: orderStatus === \"confirmed\",\n error: watchOrderExecution.error,\n };\n\n const cancelOrderMut = useCancelOrWithdrawAndCancelDeltaOrder({\n // supply the must up-to-date order for cancellation\n order: twapOrderExecution.lastOrderState || twapOrderExecution.sentOrder,\n chainId,\n account,\n client: minClient,\n logger,\n });\n\n const twapOrderCancelation: UseTwapFlowResult[\"twapOrderCancelation\"] = {\n receipt: cancelOrderMut.receipt,\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 };\n\n const ensureOrderExecuted =\n useEnsureDeltaOrderExecuted<NullableDeltaAuctionWithTwapOrder>({\n onAuctionSuccess: (order) => {\n queryClient.invalidateQueries({\n queryKey: deltaOrdersQueryKey({\n userAddress: order.user,\n }),\n exact: false,\n });\n },\n onAuctionFailure: (order) => {\n queryClient.invalidateQueries({\n queryKey: deltaOrdersQueryKey({\n userAddress: order.user,\n }),\n exact: false,\n });\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 degenMode = useDegenMode();\n\n const twapSlippage = useTwapSlippage();\n const twapDurationMin = useTwapDuration();\n\n const submitTwapOrder = async ({\n onTxSent,\n onOrderSent,\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 orderDurationMs = minutesToMilliseconds(twapDurationMin);\n const orderDeadline = produceDeltaOrderDeadline(\n // 10 min buffer for possible delays in order creation or slice executions\n orderDurationMs + TEN_MINUTES_MS\n );\n const orderInterval = Math.floor(\n millisecondsToSeconds(orderDurationMs) / 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: 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,\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: Number(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 =\n \"totalSrcAmount\" in sellOrBuyParams\n ? sellOrBuyParams.totalSrcAmount\n : amountAfterSlippage(\n sellOrBuyParams.maxSrcAmount,\n twapSlippage,\n \"BUY\"\n ).toFixed(0);\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 // will refetch Order on interval until completed.\n // in parallel with useWatchDeltaAuction but independently if useWatchDeltaAuction is unmounted\n const lastOrderStatePromise = ensureOrderExecuted({\n orderId: orderFromAPI.id,\n // signal, // fails the toast if aborted, don't use\n });\n\n if (onOrderSent) {\n onOrderSent({\n order: orderFromAPI,\n lastOrderState: lastOrderStatePromise,\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 = cancelOrderMut.cancelDeltaOrder;\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 const result = twapOrderMut.data;\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"],"names":["twapOrderFlowType","TWAP_ORDER_MUTATION_KEY","useTwapFlow","twapPrice","_twapPrice","logger","useLogger","queryKey","price","chainId","refetch","totalSrcAmount","side","sideFromPrices","numSlices","useTwapPrices","enabled","twapSideFromInput","useTwapSide","twapSide","approval","signPermit","approveTxMut","signPermitMut","events","approveOrPermitEvents","useApproveOrPermit","srcToken","srcAmount","spenderContractType","swapSide","tradeMode","tryPermit2","address","account","useAccount","minClient","useMinViemClient","queryClient","useQueryClient","createAndSubmitOrderMut","useCreateAndSubmitTwapOrder","client","mutationOptions","onSuccess","order","log","onError","error","twapOrderCreateAndSubmit","isCreatingOrder","isPostingOrder","isOrderSent","isPending","isError","isSuccess","twapOrderPreSign","canBatchTxs","isConnectedToSafe","preSignAndSubmitTwapOrder","reset","resetPreSignAndSubmitTwapOrder","usePreSignAndSubmitTwapOrder","viemClient","twapOrderDeposit","resetDepositAndSubmitTwapOrder","depositAndSubmitTwapOrder","useDepositAndSubmitTwapOrder","twapOrderSubmission","postingOrder","watchOrderExecution","useWatchDeltaAuction","orderId","id","onAuctionSuccess","onAuctionFailure","onUpdatedAuction","onTimeoutGettingOrder","orderStatus","data","getOverallOrderStatus","neverFetchedFinishedOrder","twapOrderExecution","sentOrder","lastOrderState","isOrderPending","isOrderExecuting","isOrderExecuted","isLoading","isRefetching","cancelOrderMut","useCancelOrWithdrawAndCancelDeltaOrder","twapOrderCancelation","receipt","isCancelingOrder","isOrderCancellable","isOrderCanceled","ensureOrderExecuted","useEnsureDeltaOrderExecuted","invalidateQueries","deltaOrdersQueryKey","userAddress","user","exact","ensureTxReceipt","useEnsureTxReceipt","currentAbortControllerRef","useRef","usingPriceRef","cancelFlow","current","abort","UserCancelledError","receiverAddress","useTwapReceiverAddressValue","markNonceAsUsed","clearNonce","useMarkPermit1Or2NonceAsUsed","partner","partnerAddress","partnerFeeBps","partnerTakesSurplus","usePartner","subscribeToPrice","useSubscribeToDeltaPrice","onTwapOrder","useWidgetEvents","degenMode","useDegenMode","twapSlippage","useTwapSlippage","twapDurationMin","useTwapDuration","submitTwapOrder","onTxSent","onOrderSent","lastPrice","assert","abortController","AbortController","signal","orderDurationMs","minutesToMilliseconds","orderDeadline","produceDeltaOrderDeadline","TEN_MINUTES_MS","orderInterval","Math","floor","millisecondsToSeconds","orderSlippageBps","signedPermitResult","approveTxHash","approveTxReceipt","allowanceToSet","allowanceToPermit","amountToPermit","freshPrice","hmac","newPriceResult","cancelRefetch","throwIfAborted","unsubscribeFromPrice","shouldDepositAndPreSign","isETHaddress","shouldDoApprovalTxOrPermit","tryPermit","shouldPreSignBatch","shouldApproveOrBatch","_queryKey","approvedAmount","onData","newPrice","aborted","undefined","getTwapAmountsFromPrice","BigInt","onApproveTx","request","approveAsync","allowanceData","sent","txHash","approveTxReceiptPromise","hash","onReplaced","action","transactionHash","receiptPromise","transactionSpecificData","tokenAddress","token","spenderAddress","spender","confirmed","txReceipt","onSignPermit","signPermitAsync","deadline","value","permit","permitEncodedArgs","failed","twapPriceToUse","getSwapSideFromDeltaPrice","destAmount","totalDestAmount","destChainId","isBridgePrice","bridge","destinationChainId","event","name","params","orderFromAPI","sellOrBuyParams","onChainOrderType","maxSrcAmount","createOrderInput","type","orderInput","owner","beneficiary","destToken","deltaPrice","protocolSelector","DEFAULT_DELTA_BRIDGE","Number","slippage","interval","depositAmount","amountAfterSlippage","toFixed","mutateAsync","signedPermitData","lastOrderStatePromise","tradeFlowType","approve","twapOrder","cancelTwapOrder","cancelDeltaOrder","twapOrderMut","useMutation","mutationFn","mutationKey","onSettled","runTwapOrderFlow","retryFlow","options","usedPrice","result","submittedTwapOrder"],"mappings":"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"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { GenericStep, 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?: GenericStep;
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useTwapSwapStep.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/tradeFlow/useTwapSwapStep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EAEX,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,WAAW,CAAC;IACpC,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,CA8KvB"}
|
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
import { d as distExports } from '../../../_virtual/index.js';
|
|
2
|
-
import { useTwapFlow } from './useTwapFlow.js';
|
|
3
|
-
import { useLogger } from '../../../core/logger.js';
|
|
4
|
-
import { constructExplorerOrderDetailsLink } from '../../../lib/utils/explorer.js';
|
|
5
|
-
import { isUserCancelledError } from './common/errors.js';
|
|
6
|
-
import { useState } from 'react';
|
|
7
|
-
|
|
8
|
-
function useTwapSwapStep(options) {
|
|
9
|
-
const $ = distExports.c(42);
|
|
10
|
-
const logger = useLogger("TwapSwapStep");
|
|
11
|
-
const twapFlow = useTwapFlow(options);
|
|
12
|
-
const startTwapSwap = twapFlow.runTwapOrderFlow;
|
|
13
|
-
const cancelTwapOrder = twapFlow.cancelTwapOrder;
|
|
14
|
-
const reset = twapFlow.reset;
|
|
15
|
-
const cancelFlow = twapFlow.cancelFlow;
|
|
16
|
-
const retryFlow = twapFlow.retryFlow;
|
|
17
|
-
let step;
|
|
18
|
-
const permitSigningHappeningOrNeverHappened = twapFlow.signPermit.isPending || !twapFlow.signPermit.isPermitSigned;
|
|
19
|
-
const approvalHappeningOrNeverHappened = twapFlow.approval.isPending || !twapFlow.approval.isSuccess;
|
|
20
|
-
const willUsePermit = twapFlow.approval.needsApproval && twapFlow.signPermit.isPermitSupported && twapFlow.signPermit.isPermitReadyToSign;
|
|
21
|
-
const permitOrApprovalHappeningOrNeverHappened = willUsePermit ? permitSigningHappeningOrNeverHappened : approvalHappeningOrNeverHappened;
|
|
22
|
-
if (twapFlow.approval.needsApproval && permitOrApprovalHappeningOrNeverHappened) {
|
|
23
|
-
step = {
|
|
24
|
-
key: "signature",
|
|
25
|
-
subStep: "approval-signature"
|
|
26
|
-
};
|
|
27
|
-
} else {
|
|
28
|
-
if (twapFlow.twapOrderSubmission.isPending) {
|
|
29
|
-
const permitOrApprovalHappened = !!(twapFlow.approval.txHash || twapFlow.signPermit.signature);
|
|
30
|
-
step = {
|
|
31
|
-
key: "signature",
|
|
32
|
-
subStep: permitOrApprovalHappened ? "order-signature" : "standalone-order-signature"
|
|
33
|
-
};
|
|
34
|
-
} else {
|
|
35
|
-
if (twapFlow.isPending) {
|
|
36
|
-
step = {
|
|
37
|
-
key: "signature",
|
|
38
|
-
subStep: "standalone-order-signature"
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
const approvalIsStarted = step?.key === "signature" && step.subStep === "approval-signature" && twapFlow.approval.isTxPending;
|
|
44
|
-
const isOrderBeingSigned = step?.key === "signature" && (step.subStep === "order-signature" || step.subStep === "standalone-order-signature");
|
|
45
|
-
const isPostingOrder = twapFlow.twapOrderSubmission.isPostingOrder;
|
|
46
|
-
const isFlowCancellable = (approvalIsStarted || isOrderBeingSigned) && !isPostingOrder;
|
|
47
|
-
const isOrderCancellable = twapFlow.twapOrderCancelation.isOrderCancellable;
|
|
48
|
-
const orderId = twapFlow.twapOrderSubmission.order?.id;
|
|
49
|
-
const explorerLink = orderId ? constructExplorerOrderDetailsLink(orderId) : void 0;
|
|
50
|
-
const [nonFlowStep, setNonFlowStep] = useState(null);
|
|
51
|
-
let t0;
|
|
52
|
-
if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
53
|
-
t0 = () => {
|
|
54
|
-
setNonFlowStep({
|
|
55
|
-
key: "prepare-swap"
|
|
56
|
-
});
|
|
57
|
-
};
|
|
58
|
-
$[0] = t0;
|
|
59
|
-
} else {
|
|
60
|
-
t0 = $[0];
|
|
61
|
-
}
|
|
62
|
-
const goToBeforeSwap = t0;
|
|
63
|
-
let t1;
|
|
64
|
-
if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
|
|
65
|
-
t1 = () => {
|
|
66
|
-
setNonFlowStep(null);
|
|
67
|
-
};
|
|
68
|
-
$[1] = t1;
|
|
69
|
-
} else {
|
|
70
|
-
t1 = $[1];
|
|
71
|
-
}
|
|
72
|
-
const resetStepOverride = t1;
|
|
73
|
-
step = nonFlowStep || step;
|
|
74
|
-
const isNonFlowStep = !!nonFlowStep;
|
|
75
|
-
logger.once.log("step", step, twapFlow, {
|
|
76
|
-
isFlowCancellable,
|
|
77
|
-
explorerLink,
|
|
78
|
-
orderId
|
|
79
|
-
});
|
|
80
|
-
let t2;
|
|
81
|
-
if ($[2] !== twapFlow.error) {
|
|
82
|
-
t2 = isUserCancelledError(twapFlow.error) ? null : twapFlow.error;
|
|
83
|
-
$[2] = twapFlow.error;
|
|
84
|
-
$[3] = t2;
|
|
85
|
-
} else {
|
|
86
|
-
t2 = $[3];
|
|
87
|
-
}
|
|
88
|
-
const error = t2;
|
|
89
|
-
let erroredStep;
|
|
90
|
-
if (twapFlow.isError) {
|
|
91
|
-
if (twapFlow.approval.isError || twapFlow.signPermit.isError) {
|
|
92
|
-
erroredStep = "signature";
|
|
93
|
-
} else {
|
|
94
|
-
if (twapFlow.twapOrderSubmission.isError) {
|
|
95
|
-
erroredStep = "order-submission";
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
let orderCancellationStep;
|
|
100
|
-
if (twapFlow.twapOrderCancelation.isCancelingOrder) {
|
|
101
|
-
orderCancellationStep = "pending";
|
|
102
|
-
} else {
|
|
103
|
-
if (twapFlow.twapOrderCancelation.isOrderCanceled) {
|
|
104
|
-
orderCancellationStep = "success";
|
|
105
|
-
} else {
|
|
106
|
-
if (twapFlow.twapOrderCancelation.isError) {
|
|
107
|
-
orderCancellationStep = "error";
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
let t3;
|
|
112
|
-
if ($[4] !== error || $[5] !== erroredStep || $[6] !== explorerLink || $[7] !== isFlowCancellable || $[8] !== isNonFlowStep || $[9] !== isOrderCancellable || $[10] !== twapFlow.freshPrice || $[11] !== twapFlow.result || $[12] !== twapFlow.submittedTwapOrder || $[13] !== twapFlow.usedPrice) {
|
|
113
|
-
t3 = isNonFlowStep ? {
|
|
114
|
-
usedPrice: twapFlow.freshPrice,
|
|
115
|
-
isFlowCancellable: false,
|
|
116
|
-
isOrderCancellable: false,
|
|
117
|
-
error: null
|
|
118
|
-
} : {
|
|
119
|
-
result: twapFlow.result,
|
|
120
|
-
usedPrice: twapFlow.usedPrice,
|
|
121
|
-
submittedTwapOrder: twapFlow.submittedTwapOrder,
|
|
122
|
-
erroredStep,
|
|
123
|
-
error,
|
|
124
|
-
isFlowCancellable,
|
|
125
|
-
isOrderCancellable,
|
|
126
|
-
explorerLink
|
|
127
|
-
};
|
|
128
|
-
$[4] = error;
|
|
129
|
-
$[5] = erroredStep;
|
|
130
|
-
$[6] = explorerLink;
|
|
131
|
-
$[7] = isFlowCancellable;
|
|
132
|
-
$[8] = isNonFlowStep;
|
|
133
|
-
$[9] = isOrderCancellable;
|
|
134
|
-
$[10] = twapFlow.freshPrice;
|
|
135
|
-
$[11] = twapFlow.result;
|
|
136
|
-
$[12] = twapFlow.submittedTwapOrder;
|
|
137
|
-
$[13] = twapFlow.usedPrice;
|
|
138
|
-
$[14] = t3;
|
|
139
|
-
} else {
|
|
140
|
-
t3 = $[14];
|
|
141
|
-
}
|
|
142
|
-
const resultProps = t3;
|
|
143
|
-
let t4;
|
|
144
|
-
if ($[15] !== resetStepOverride || $[16] !== startTwapSwap) {
|
|
145
|
-
t4 = (options_0) => {
|
|
146
|
-
resetStepOverride();
|
|
147
|
-
return startTwapSwap(options_0);
|
|
148
|
-
};
|
|
149
|
-
$[15] = resetStepOverride;
|
|
150
|
-
$[16] = startTwapSwap;
|
|
151
|
-
$[17] = t4;
|
|
152
|
-
} else {
|
|
153
|
-
t4 = $[17];
|
|
154
|
-
}
|
|
155
|
-
let t5;
|
|
156
|
-
if ($[18] !== cancelTwapOrder || $[19] !== resetStepOverride) {
|
|
157
|
-
t5 = () => {
|
|
158
|
-
resetStepOverride();
|
|
159
|
-
return cancelTwapOrder();
|
|
160
|
-
};
|
|
161
|
-
$[18] = cancelTwapOrder;
|
|
162
|
-
$[19] = resetStepOverride;
|
|
163
|
-
$[20] = t5;
|
|
164
|
-
} else {
|
|
165
|
-
t5 = $[20];
|
|
166
|
-
}
|
|
167
|
-
let t6;
|
|
168
|
-
if ($[21] !== reset || $[22] !== resetStepOverride) {
|
|
169
|
-
t6 = () => {
|
|
170
|
-
resetStepOverride();
|
|
171
|
-
return reset();
|
|
172
|
-
};
|
|
173
|
-
$[21] = reset;
|
|
174
|
-
$[22] = resetStepOverride;
|
|
175
|
-
$[23] = t6;
|
|
176
|
-
} else {
|
|
177
|
-
t6 = $[23];
|
|
178
|
-
}
|
|
179
|
-
let t7;
|
|
180
|
-
if ($[24] !== cancelFlow || $[25] !== resetStepOverride) {
|
|
181
|
-
t7 = () => {
|
|
182
|
-
resetStepOverride();
|
|
183
|
-
return cancelFlow();
|
|
184
|
-
};
|
|
185
|
-
$[24] = cancelFlow;
|
|
186
|
-
$[25] = resetStepOverride;
|
|
187
|
-
$[26] = t7;
|
|
188
|
-
} else {
|
|
189
|
-
t7 = $[26];
|
|
190
|
-
}
|
|
191
|
-
let t8;
|
|
192
|
-
if ($[27] !== resetStepOverride || $[28] !== retryFlow) {
|
|
193
|
-
t8 = (options_1) => {
|
|
194
|
-
resetStepOverride();
|
|
195
|
-
return retryFlow(options_1);
|
|
196
|
-
};
|
|
197
|
-
$[27] = resetStepOverride;
|
|
198
|
-
$[28] = retryFlow;
|
|
199
|
-
$[29] = t8;
|
|
200
|
-
} else {
|
|
201
|
-
t8 = $[29];
|
|
202
|
-
}
|
|
203
|
-
let t9;
|
|
204
|
-
if ($[30] !== goToBeforeSwap || $[31] !== isNonFlowStep || $[32] !== orderCancellationStep || $[33] !== resultProps || $[34] !== step || $[35] !== t4 || $[36] !== t5 || $[37] !== t6 || $[38] !== t7 || $[39] !== t8 || $[40] !== twapFlow.tradeFlowType) {
|
|
205
|
-
t9 = {
|
|
206
|
-
startTwapSwap: t4,
|
|
207
|
-
cancelTwapOrder: t5,
|
|
208
|
-
reset: t6,
|
|
209
|
-
cancelFlow: t7,
|
|
210
|
-
retryFlow: t8,
|
|
211
|
-
goToBeforeSwap,
|
|
212
|
-
step,
|
|
213
|
-
orderCancellationStep,
|
|
214
|
-
isNonFlowStep,
|
|
215
|
-
...resultProps,
|
|
216
|
-
tradeFlowType: twapFlow.tradeFlowType
|
|
217
|
-
};
|
|
218
|
-
$[30] = goToBeforeSwap;
|
|
219
|
-
$[31] = isNonFlowStep;
|
|
220
|
-
$[32] = orderCancellationStep;
|
|
221
|
-
$[33] = resultProps;
|
|
222
|
-
$[34] = step;
|
|
223
|
-
$[35] = t4;
|
|
224
|
-
$[36] = t5;
|
|
225
|
-
$[37] = t6;
|
|
226
|
-
$[38] = t7;
|
|
227
|
-
$[39] = t8;
|
|
228
|
-
$[40] = twapFlow.tradeFlowType;
|
|
229
|
-
$[41] = t9;
|
|
230
|
-
} else {
|
|
231
|
-
t9 = $[41];
|
|
232
|
-
}
|
|
233
|
-
return t9;
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
export { useTwapSwapStep };
|
|
237
|
-
//# sourceMappingURL=useTwapSwapStep.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useTwapSwapStep.js","sources":["../../../../src/hooks/swap/tradeFlow/useTwapSwapStep.ts"],"sourcesContent":["import type {\n GenericStep,\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?: GenericStep;\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 let orderCancellationStep: GenericStep | undefined;\n if (twapFlow.twapOrderCancelation.isCancelingOrder) {\n orderCancellationStep = \"pending\";\n } else if (twapFlow.twapOrderCancelation.isOrderCanceled) {\n orderCancellationStep = \"success\";\n } else if (twapFlow.twapOrderCancelation.isError) {\n orderCancellationStep = \"error\";\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,\n isNonFlowStep,\n ...resultProps,\n tradeFlowType: twapFlow.tradeFlowType,\n };\n}\n"],"names":["useTwapSwapStep","options","$","_c","logger","useLogger","twapFlow","useTwapFlow","startTwapSwap","runTwapOrderFlow","cancelTwapOrder","reset","cancelFlow","retryFlow","step","permitSigningHappeningOrNeverHappened","signPermit","isPending","isPermitSigned","approvalHappeningOrNeverHappened","approval","isSuccess","willUsePermit","needsApproval","isPermitSupported","isPermitReadyToSign","permitOrApprovalHappeningOrNeverHappened","twapOrderSubmission","permitOrApprovalHappened","txHash","signature","approvalIsStarted","key","subStep","isTxPending","isOrderBeingSigned","isPostingOrder","isFlowCancellable","isOrderCancellable","twapOrderCancelation","orderId","order","id","explorerLink","constructExplorerOrderDetailsLink","undefined","nonFlowStep","setNonFlowStep","useState","t0","Symbol","for","goToBeforeSwap","t1","resetStepOverride","isNonFlowStep","once","log","t2","error","isUserCancelledError","erroredStep","isError","orderCancellationStep","isCancelingOrder","isOrderCanceled","t3","freshPrice","result","submittedTwapOrder","usedPrice","resultProps","t4","options_0","t5","t6","t7","t8","options_1","t9","tradeFlowType"],"mappings":"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"}
|
package/dist/lib/utils/twap.d.ts
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { DeltaOrBridgePrice } from '../../hooks/swap/prices/types';
|
|
2
|
-
export declare function getTwapChunkAmount({ totalWei, numSlices, }: {
|
|
3
|
-
totalWei: string;
|
|
4
|
-
numSlices: number;
|
|
5
|
-
}): string;
|
|
6
|
-
export declare function getTotalTwapAmount({ chunkWei, numSlices, }: {
|
|
7
|
-
chunkWei: string;
|
|
8
|
-
numSlices: number;
|
|
9
|
-
}): string;
|
|
10
|
-
export declare function getTwapAmountsFromPrice({ price, numSlices, }: {
|
|
11
|
-
price: DeltaOrBridgePrice;
|
|
12
|
-
numSlices: number;
|
|
13
|
-
}): {
|
|
14
|
-
srcAmount: string;
|
|
15
|
-
destAmount: string;
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=twap.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"twap.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/twap.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGpE,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,MAAM,CAGT;AAED,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,MAAM,CAGT;AAED,wBAAgB,uBAAuB,CAAC,EACtC,KAAK,EACL,SAAS,GACV,EAAE;IACD,KAAK,EAAE,kBAAkB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;;;EAKA"}
|
package/dist/lib/utils/twap.js
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import Big from 'big.js';
|
|
2
|
-
|
|
3
|
-
function getTwapChunkAmount({
|
|
4
|
-
totalWei,
|
|
5
|
-
numSlices
|
|
6
|
-
}) {
|
|
7
|
-
if (numSlices <= 0 || totalWei === "0") return totalWei;
|
|
8
|
-
return Big(totalWei).div(numSlices).toFixed(0, 0);
|
|
9
|
-
}
|
|
10
|
-
function getTotalTwapAmount({
|
|
11
|
-
chunkWei,
|
|
12
|
-
numSlices
|
|
13
|
-
}) {
|
|
14
|
-
if (numSlices <= 0 || chunkWei === "0") return chunkWei;
|
|
15
|
-
return Big(chunkWei).mul(numSlices).toFixed(0, 0);
|
|
16
|
-
}
|
|
17
|
-
function getTwapAmountsFromPrice({
|
|
18
|
-
price,
|
|
19
|
-
numSlices
|
|
20
|
-
}) {
|
|
21
|
-
return {
|
|
22
|
-
srcAmount: getTotalTwapAmount({
|
|
23
|
-
chunkWei: price.srcAmount,
|
|
24
|
-
numSlices
|
|
25
|
-
}),
|
|
26
|
-
destAmount: getTotalTwapAmount({
|
|
27
|
-
chunkWei: price.receivedDestAmount,
|
|
28
|
-
numSlices
|
|
29
|
-
})
|
|
30
|
-
};
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
export { getTotalTwapAmount, getTwapAmountsFromPrice, getTwapChunkAmount };
|
|
34
|
-
//# sourceMappingURL=twap.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"twap.js","sources":["../../../src/lib/utils/twap.ts"],"sourcesContent":["import type { DeltaOrBridgePrice } from \"@/hooks/swap/prices/types\";\nimport Big from \"big.js\";\n\nexport function getTwapChunkAmount({\n totalWei,\n numSlices,\n}: {\n totalWei: string;\n numSlices: number;\n}): string {\n if (numSlices <= 0 || totalWei === \"0\") return totalWei;\n return Big(totalWei).div(numSlices).toFixed(0, 0); // roundDown to avoid overestimating\n}\n\nexport function getTotalTwapAmount({\n chunkWei,\n numSlices,\n}: {\n chunkWei: string;\n numSlices: number;\n}): string {\n if (numSlices <= 0 || chunkWei === \"0\") return chunkWei;\n return Big(chunkWei).mul(numSlices).toFixed(0, 0); // roundDown to avoid overestimating\n}\n\nexport function getTwapAmountsFromPrice({\n price,\n numSlices,\n}: {\n price: DeltaOrBridgePrice;\n numSlices: number;\n}) {\n return {\n srcAmount: getTotalTwapAmount({ chunkWei: price.srcAmount, numSlices }),\n destAmount: getTotalTwapAmount({ chunkWei: price.receivedDestAmount, numSlices }),\n };\n}\n"],"names":["getTwapChunkAmount","totalWei","numSlices","Big","div","toFixed","getTotalTwapAmount","chunkWei","mul","getTwapAmountsFromPrice","price","srcAmount","destAmount","receivedDestAmount"],"mappings":";;AAGO,SAASA,kBAAAA,CAAmB;AAAA,EACjCC,QAAAA;AAAAA,EACAC;AAIF,CAAA,EAAW;AACT,EAAA,IAAIA,SAAAA,IAAa,CAAA,IAAKD,QAAAA,KAAa,GAAA,EAAK,OAAOA,QAAAA;AAC/C,EAAA,OAAOE,GAAAA,CAAIF,QAAQ,CAAA,CAAEG,GAAAA,CAAIF,SAAS,CAAA,CAAEG,OAAAA,CAAQ,GAAG,CAAC,CAAA;AAClD;AAEO,SAASC,kBAAAA,CAAmB;AAAA,EACjCC,QAAAA;AAAAA,EACAL;AAIF,CAAA,EAAW;AACT,EAAA,IAAIA,SAAAA,IAAa,CAAA,IAAKK,QAAAA,KAAa,GAAA,EAAK,OAAOA,QAAAA;AAC/C,EAAA,OAAOJ,GAAAA,CAAII,QAAQ,CAAA,CAAEC,GAAAA,CAAIN,SAAS,CAAA,CAAEG,OAAAA,CAAQ,GAAG,CAAC,CAAA;AAClD;AAEO,SAASI,uBAAAA,CAAwB;AAAA,EACtCC,KAAAA;AAAAA,EACAR;AAIF,CAAA,EAAG;AACD,EAAA,OAAO;AAAA,IACLS,WAAWL,kBAAAA,CAAmB;AAAA,MAAEC,UAAUG,KAAAA,CAAMC,SAAAA;AAAAA,MAAWT;AAAAA,KAAW,CAAA;AAAA,IACtEU,YAAYN,kBAAAA,CAAmB;AAAA,MAAEC,UAAUG,KAAAA,CAAMG,kBAAAA;AAAAA,MAAoBX;AAAAA,KAAW;AAAA,GAClF;AACF;;;;"}
|