@velora-dex/widget 0.4.12-dev.3 → 0.4.12
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/widget/BridgeList/BridgeListItem.d.ts.map +1 -1
- package/dist/components/widget/BridgeList/BridgeListItem.js +1 -1
- package/dist/components/widget/BridgeList/BridgeListItem.js.map +1 -1
- package/dist/components/widget/BridgeList/hooks.d.ts.map +1 -1
- package/dist/components/widget/BridgeList/hooks.js +3 -13
- package/dist/components/widget/BridgeList/hooks.js.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +3 -3
- package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.d.ts.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.d.ts.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js +0 -5
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +40 -37
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +36 -34
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +6 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +45 -30
- package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
- package/dist/components/widget/TradeParameters/DegenModeConfirmation.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/DegenModeConfirmation.js +6 -3
- package/dist/components/widget/TradeParameters/DegenModeConfirmation.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.d.ts +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js +2 -5
- package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.d.ts +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js +2 -5
- package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/constants.d.ts +3 -0
- package/dist/components/widget/TradeParameters/state/constants.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/constants.js +4 -1
- package/dist/components/widget/TradeParameters/state/constants.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.d.ts +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamAtom.d.ts +1 -4
- package/dist/components/widget/TradeParameters/state/deltaParamAtom.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/deltaParamAtom.js +4 -3
- package/dist/components/widget/TradeParameters/state/deltaParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.d.ts +1 -4
- package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.js +4 -3
- package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.d.ts +2 -6
- package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js +4 -3
- package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/slippageParamAtom.d.ts +3 -2
- package/dist/components/widget/TradeParameters/state/slippageParamAtom.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/slippageParamAtom.js +9 -3
- package/dist/components/widget/TradeParameters/state/slippageParamAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.d.ts +5 -0
- package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js +32 -0
- package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js.map +1 -0
- package/dist/components/widget/TradeParameters/state/types.d.ts +11 -0
- package/dist/components/widget/TradeParameters/state/types.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/useTempTradeParameters.js +6 -7
- package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
- package/dist/components/widget/Warning/Warning.d.ts +3 -2
- package/dist/components/widget/Warning/Warning.d.ts.map +1 -1
- package/dist/components/widget/Warning/Warning.js +74 -50
- package/dist/components/widget/Warning/Warning.js.map +1 -1
- package/dist/components/widget/Warning/types.d.ts +2 -1
- package/dist/components/widget/Warning/types.d.ts.map +1 -1
- package/dist/configurator/state/themeAtom.d.ts +1 -1
- package/dist/core/Updaters.d.ts.map +1 -1
- package/dist/core/Updaters.js +2 -0
- package/dist/core/Updaters.js.map +1 -1
- package/dist/core/Warnings.d.ts.map +1 -1
- package/dist/core/Warnings.js +174 -72
- package/dist/core/Warnings.js.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js +43 -34
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.js +7 -11
- package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
- package/dist/core/limit/state/limitInputAmountAtom.js +1 -1
- package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
- package/dist/core/limit/useLimitPriceInputProps.d.ts.map +1 -1
- package/dist/core/limit/useLimitPriceInputProps.js +53 -72
- package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
- package/dist/core/swapDetails/priceImpact.d.ts +2 -3
- package/dist/core/swapDetails/priceImpact.d.ts.map +1 -1
- package/dist/core/swapDetails/priceImpact.js +4 -16
- package/dist/core/swapDetails/priceImpact.js.map +1 -1
- package/dist/core/swapDetails/useSwapDetailsListProps.js +82 -80
- package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
- package/dist/hooks/permit/utils/deadlines.js +1 -1
- 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 +0 -2
- package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +15 -0
- package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +1 -0
- package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.js +10 -1
- package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/types.d.ts +1 -1
- package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/const.d.ts +5 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/const.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/const.js +8 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/const.js.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/effect.d.ts +2 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/effect.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/effect.js +28 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/effect.js.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts +8 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/index.js +34 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/storage.d.ts +8 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/storage.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/storage.js +47 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/storage.js.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts +16 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +3 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +103 -0
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -0
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts +7 -0
- package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.js +10 -4
- package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts +9 -4
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js +19 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +1 -0
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/factory.d.ts +7 -0
- package/dist/hooks/swap/prices/factory.d.ts.map +1 -0
- package/dist/hooks/swap/prices/factory.js +35 -0
- package/dist/hooks/swap/prices/factory.js.map +1 -0
- package/dist/hooks/swap/prices/market/queries/errors.d.ts +8 -3
- package/dist/hooks/swap/prices/market/queries/errors.d.ts.map +1 -1
- package/dist/hooks/swap/prices/market/queries/errors.js +7 -3
- package/dist/hooks/swap/prices/market/queries/errors.js.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js +2 -1
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts +3 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +107 -64
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts +1 -0
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +49 -39
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +17 -9
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +21 -35
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +17 -5
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +1 -0
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
- package/dist/hooks/useSDK.js +2 -34
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/lib/utils/priceImpact.d.ts +5 -1
- package/dist/lib/utils/priceImpact.d.ts.map +1 -1
- package/dist/lib/utils/priceImpact.js +1 -1
- package/dist/lib/utils/priceImpact.js.map +1 -1
- package/dist/tokens/lists/lists.json.d.ts +78 -17
- package/dist/tokens/lists/lists.json.js +1 -337
- package/dist/tokens/lists/lists.json.js.map +1 -1
- package/dist/tokens/state/importedTokensAtom.d.ts +1 -1
- package/dist/transactions/state/transactionsAtom.d.ts +2 -1
- package/dist/transactions/state/transactionsAtom.d.ts.map +1 -1
- package/dist/transactions/state/transactionsAtom.js +6 -2
- package/dist/transactions/state/transactionsAtom.js.map +1 -1
- package/dist/transactions/types.d.ts +1 -0
- package/dist/transactions/types.d.ts.map +1 -1
- package/dist/transactions/utils.d.ts +2 -1
- package/dist/transactions/utils.d.ts.map +1 -1
- package/dist/transactions/utils.js +4 -1
- package/dist/transactions/utils.js.map +1 -1
- package/package.json +2 -2
- package/dist/components/widget/TradeParameters/state/resetParamsAtom.d.ts +0 -4
- package/dist/components/widget/TradeParameters/state/resetParamsAtom.d.ts.map +0 -1
- package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.d.ts +0 -4
- package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.d.ts.map +0 -1
- package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.js +0 -12
- package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSwapPrices.js","sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"sourcesContent":["import {\n useMarketPriceQuery,\n type MarketPriceQueryKey,\n} from \"./market/queries/useMarketPriceQuery\";\nimport { useExtraDeltaPriceParams, usePricesParams } from \"./usePricesParams\";\nimport {\n isDeltaPrice,\n useDeltaPriceQuery,\n type DeltaPriceQueryKey,\n} from \"./delta/queries/useDeltaPriceQuery\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { useAtomValue } from \"@/core/store\";\nimport type {\n BridgePrice,\n DeltaPrice,\n OptimalRate,\n SwapSideUnion,\n} from \"@velora-dex/sdk\";\nimport type { DeltaOrMarketPrice, UseSwapPricesInput } from \"./types\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { isETH, isWETH } from \"@/tokens/utils/eth\";\nimport { useIsTokenSupportedInDeltaQuery } from \"./delta/queries/useIsTokenSupportedInDelta\";\nimport { useCachedQueryError } from \"@/hooks/useCachedQueryError\";\nimport { getSwapSideFromDeltaPrice } from \"./delta/queries/utils\";\nimport { useSelectedBridgePrice } from \"./delta/bridge/useSelectedBridgePrice\";\nimport { PRICE_REFETCH_INTERVAL_MS } from \"./constants\";\nimport type {\n QueryObserverResult,\n RefetchOptions,\n} from \"@tanstack/react-query\";\nimport {\n getPriceImpact,\n type PriceImpactResult,\n} from \"@/lib/utils/priceImpact\";\nimport {\n isDeltaMaxImpactReachedError,\n isDeltaNoUsdPriceError,\n} from \"./delta/queries/errors\";\nimport {\n isMarketPriceImpactError,\n isMarketBadUsdPriceError,\n} from \"./market/queries/errors\";\n\ntype UseSwapPricesReturn = {\n priceMode: SwapMode;\n userSelectedPriceMode: SwapMode;\n market: {\n price?: OptimalRate;\n side?: SwapSideUnion;\n /** @description whether the market price can be used for the current price params */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n isError: boolean;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<OptimalRate, Error>>;\n error: Error | null;\n cachedError: Error | null;\n queryKey: MarketPriceQueryKey;\n };\n delta: {\n price?: DeltaPrice | BridgePrice;\n side?: SwapSideUnion;\n /** @description whether the delta price can be used for the current price params && widget config */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n isError: boolean;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<DeltaPrice | BridgePrice, Error>>;\n error: Error | null;\n cachedError: Error | null;\n queryKey: DeltaPriceQueryKey;\n };\n};\n\nexport function useSwapPrices(\n params: UseSwapPricesInput = {}\n): UseSwapPricesReturn {\n const { priceParams, isCrossChain, chainId, destChainId } =\n usePricesParams(\"swap\");\n\n // selected by the user if both options are available, otherwise always \"market\"\n const swapMode = useAtomValue(swapModeAtom);\n // deltaParams include excluded bridges and beneficiary\n const extraDeltaPriceParams = useExtraDeltaPriceParams();\n\n const {\n enabledInConfig: deltaEnabledInConfig,\n enabledInSettings: deltaEnabledInSettings,\n enabledOnCurrentChain: deltaEnabledOnCurrentChain,\n } = useGlobalDeltaEnabled();\n\n const fetchAnyPrice = priceParams.amount !== \"0\" && !!priceParams.destToken;\n\n const isEthToWethSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isETH({ address: priceParams.srcToken }) &&\n isWETH({ address: priceParams.destToken }, chainId);\n const isWethToEthSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isWETH({ address: priceParams.srcToken }, chainId) &&\n isETH({ address: priceParams.destToken });\n\n const { data: isSrcTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.srcToken,\n chainId,\n });\n const { data: isDestTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.destToken,\n chainId: destChainId || chainId,\n });\n\n const deltaEnabled =\n // enabled in widget config\n deltaEnabledInConfig &&\n // enabled in user settings\n deltaEnabledInSettings &&\n // enabled on API for current chain\n deltaEnabledOnCurrentChain &&\n // ETH -> WETH same chain is market only\n !isEthToWethSameChain &&\n // WETH -> ETH same chain is market only\n !isWethToEthSameChain &&\n // user selected Delta\n swapMode === \"delta\" &&\n // tokens are supported in Delta\n isSrcTokenSupported !== false &&\n isDestTokenSupported !== false;\n // @TODO add BUY support for Delta when available\n\n // whether delta price can be used in principle for current price params,\n // irrespective of user settings\n const deltaCanBeUsed =\n fetchAnyPrice &&\n deltaEnabledInConfig &&\n deltaEnabledOnCurrentChain &&\n !isEthToWethSameChain &&\n !isWethToEthSameChain;\n\n const { result: deltaPriceQuery, queryKey: deltaPriceQueryKey } =\n useDeltaPriceQuery({\n priceParams: {\n ...priceParams,\n ...extraDeltaPriceParams,\n },\n chainId,\n destChainId,\n timeout: 5000,\n query: {\n enabled: deltaEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: PRICE_REFETCH_INTERVAL_MS,\n staleTime: PRICE_REFETCH_INTERVAL_MS,\n // already refetched on short interval\n // prevents delay before deltaPriceQuery.error is set\n retry: false,\n },\n });\n\n const deltaErrorCached = useCachedQueryError(deltaPriceQuery);\n\n // no market for Crosschain swaps, otherwise always enabled as a fallback for Delta\n const marketEnabled = !isCrossChain;\n const marketCanBeUsed = marketEnabled && fetchAnyPrice;\n\n const marketIsFallback = deltaErrorCached && marketEnabled;\n\n // @TODO remove isBUY once BUY is supported for Delta\n const marketIsMainMode =\n (swapMode === \"market\" && marketEnabled) || !deltaEnabled;\n const priceMode = marketIsFallback || marketIsMainMode ? \"market\" : \"delta\";\n\n const marketRefetchInterval =\n // if only market mode or delta has an error\n !deltaEnabled || deltaErrorCached // using cached error here so we don't continuously switch between 2 intervals,\n ? // which caused market price query reschedule and no fetch ever happening\n // frequent updates for Market price\n PRICE_REFETCH_INTERVAL_MS\n : // otherwise when Delta is working, less frequent updates for Market price\n 2 * PRICE_REFETCH_INTERVAL_MS;\n\n const { result: marketPriceQuery, queryKey: marketPriceQueryKey } =\n useMarketPriceQuery({\n priceParams,\n chainId,\n timeout: 5000,\n query: {\n enabled: marketEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: marketRefetchInterval,\n staleTime: marketRefetchInterval,\n retry: false,\n },\n });\n\n const marketErrorCached = useCachedQueryError(marketPriceQuery);\n\n return {\n priceMode,\n userSelectedPriceMode: swapMode,\n market: {\n price: marketPriceQuery.data,\n side: marketPriceQuery.data?.side,\n isLoading: marketPriceQuery.isLoading,\n isFetching: marketPriceQuery.isFetching,\n isRefetching: marketPriceQuery.isRefetching,\n isError: marketPriceQuery.isError,\n refetch: marketPriceQuery.refetch,\n error: marketPriceQuery.error,\n cachedError: marketErrorCached,\n canBeUsed: marketCanBeUsed,\n queryKey: marketPriceQueryKey,\n },\n delta: {\n price: deltaPriceQuery.data,\n side: deltaPriceQuery.data\n ? getSwapSideFromDeltaPrice(deltaPriceQuery.data)\n : undefined,\n isLoading: deltaPriceQuery.isLoading,\n isFetching: deltaPriceQuery.isFetching,\n isRefetching: deltaPriceQuery.isRefetching,\n isError: deltaPriceQuery.isError,\n refetch: deltaPriceQuery.refetch,\n error: deltaPriceQuery.error,\n cachedError: deltaErrorCached,\n canBeUsed: deltaCanBeUsed,\n queryKey: deltaPriceQueryKey,\n },\n };\n}\n\ntype UseCurrentSwapPriceReturn = {\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n cachedError: Error | null;\n side?: SwapSideUnion;\n} & (\n | {\n priceMode: \"market\";\n price?: OptimalRate;\n queryKey: MarketPriceQueryKey;\n }\n | {\n priceMode: \"delta\";\n price?: DeltaPrice | BridgePrice;\n queryKey: DeltaPriceQueryKey;\n }\n);\n\nexport function useCurrentSwapPrice(\n params: UseSwapPricesInput = { enabled: true }\n): UseCurrentSwapPriceReturn {\n const { market, delta, priceMode } = useSwapPrices(params);\n const selectedBridgePrice = useSelectedBridgePrice({ price: delta.price });\n\n if (priceMode === \"market\") {\n return {\n priceMode,\n price: market.price,\n side: market.side,\n isLoading: market.isLoading,\n isError: market.isError,\n error: market.error,\n cachedError: market.cachedError,\n queryKey: market.queryKey,\n };\n }\n\n return {\n priceMode,\n price: selectedBridgePrice || delta.price,\n side: delta.side,\n isLoading: delta.isLoading,\n isError: delta.isError,\n error: delta.error,\n cachedError: delta.cachedError,\n queryKey: delta.queryKey,\n };\n}\n\ntype UseCurrentSwapPriceErrorReturn = {\n price?: DeltaOrMarketPrice;\n priceMode: SwapMode;\n cachedError: Error | null;\n priceImpact?: PriceImpactResult;\n isMaxImpactReachedError: boolean;\n isNoUsdPriceError: boolean;\n};\n\nexport function useCurrentSwapPriceError(\n params: UseSwapPricesInput = { enabled: false }\n): UseCurrentSwapPriceErrorReturn {\n const { price, priceMode, cachedError } = useCurrentSwapPrice(params);\n\n // cachedError keeps the error until the query succeeds,\n // so if the prices errored for the current token pair,\n // the error is unlikely to disappear unless the user changes tokenFrom/tokenTo (main screen unmount -> ref resets to null -> error disappears)\n const isMaxImpactReachedError =\n isMarketPriceImpactError(cachedError) ||\n isDeltaMaxImpactReachedError(cachedError);\n const isNoUsdPriceError =\n isMarketBadUsdPriceError(cachedError) ||\n isDeltaNoUsdPriceError(cachedError);\n\n const priceImpact =\n (!!price &&\n getPriceImpact({\n srcUSD: price.srcUSD,\n destUSD: isDeltaPrice(price) ? price.receivedDestUSD : price.destUSD,\n })) ||\n undefined;\n\n return {\n price,\n priceMode,\n cachedError,\n priceImpact,\n isMaxImpactReachedError,\n isNoUsdPriceError,\n };\n}\n"],"names":["useSwapPrices","t0","$","_c","t1","undefined","params","priceParams","isCrossChain","chainId","destChainId","usePricesParams","swapMode","useAtomValue","swapModeAtom","extraDeltaPriceParams","useExtraDeltaPriceParams","enabledInConfig","deltaEnabledInConfig","enabledInSettings","deltaEnabledInSettings","enabledOnCurrentChain","deltaEnabledOnCurrentChain","useGlobalDeltaEnabled","fetchAnyPrice","amount","destToken","t2","srcToken","isETH","address","isWETH","isEthToWethSameChain","t3","isWethToEthSameChain","t4","token","data","isSrcTokenSupported","useIsTokenSupportedInDeltaQuery","t5","t6","isDestTokenSupported","deltaEnabled","deltaCanBeUsed","t7","t8","enabled","t9","refetchInterval","PRICE_REFETCH_INTERVAL_MS","staleTime","retry","t10","timeout","query","result","deltaPriceQuery","queryKey","deltaPriceQueryKey","useDeltaPriceQuery","deltaErrorCached","useCachedQueryError","marketEnabled","marketCanBeUsed","marketIsFallback","marketIsMainMode","priceMode","marketRefetchInterval","t11","t12","t13","marketPriceQuery","marketPriceQueryKey","useMarketPriceQuery","marketErrorCached","t14","side","t15","error","isError","isFetching","isLoading","isRefetching","refetch","price","cachedError","canBeUsed","t16","getSwapSideFromDeltaPrice","t17","t18","userSelectedPriceMode","market","delta","useCurrentSwapPrice","selectedBridgePrice","useSelectedBridgePrice","useCurrentSwapPriceError","isMarketPriceImpactError","isDeltaMaxImpactReachedError","isMaxImpactReachedError","isMarketBadUsdPriceError","isDeltaNoUsdPriceError","isNoUsdPriceError","getPriceImpact","srcUSD","destUSD","isDeltaPrice","receivedDestUSD","priceImpact"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useSwapPrices.js","sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"sourcesContent":["import {\n useMarketPriceQuery,\n type MarketPriceQueryKey,\n} from \"./market/queries/useMarketPriceQuery\";\nimport { useExtraDeltaPriceParams, usePricesParams } from \"./usePricesParams\";\nimport {\n useDeltaPriceQuery,\n type DeltaPriceQueryKey,\n} from \"./delta/queries/useDeltaPriceQuery\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { useAtomValue } from \"@/core/store\";\nimport type {\n BridgePrice,\n DeltaPrice,\n OptimalRate,\n SwapSideUnion,\n} from \"@velora-dex/sdk\";\nimport type { DeltaOrMarketPrice, UseSwapPricesInput } from \"./types\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { isETH, isWETH } from \"@/tokens/utils/eth\";\nimport { useIsTokenSupportedInDeltaQuery } from \"./delta/queries/useIsTokenSupportedInDelta\";\nimport { useCachedQueryError } from \"@/hooks/useCachedQueryError\";\nimport { getSwapSideFromDeltaPrice } from \"./delta/queries/utils\";\nimport { useSelectedBridgePrice } from \"./delta/bridge/useSelectedBridgePrice\";\nimport { PRICE_REFETCH_INTERVAL_MS } from \"./constants\";\nimport type {\n QueryObserverResult,\n RefetchOptions,\n} from \"@tanstack/react-query\";\nimport { type PriceImpactResult } from \"@/lib/utils/priceImpact\";\nimport {\n isDeltaMaxImpactReachedError,\n isDeltaNoUsdPriceError,\n} from \"./delta/queries/errors\";\nimport {\n isMarketPriceImpactError,\n isMarketBadUsdPriceError,\n isMarketNoLiquidityError,\n} from \"./market/queries/errors\";\nimport { getPriceImpactFromPriceFactory } from \"./factory\";\n\ntype UseSwapPricesReturn = {\n priceMode: SwapMode;\n userSelectedPriceMode: SwapMode;\n market: {\n price?: OptimalRate;\n side?: SwapSideUnion;\n /** @description whether the market price can be used for the current price params */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n isError: boolean;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<OptimalRate, Error>>;\n error: Error | null;\n cachedError: Error | null;\n queryKey: MarketPriceQueryKey;\n };\n delta: {\n price?: DeltaPrice | BridgePrice;\n side?: SwapSideUnion;\n /** @description whether the delta price can be used for the current price params && widget config */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isRefetching: boolean;\n isError: boolean;\n refetch: (\n options?: RefetchOptions\n ) => Promise<QueryObserverResult<DeltaPrice | BridgePrice, Error>>;\n error: Error | null;\n cachedError: Error | null;\n queryKey: DeltaPriceQueryKey;\n };\n};\n\nexport function useSwapPrices(\n params: UseSwapPricesInput = {}\n): UseSwapPricesReturn {\n const { priceParams, isCrossChain, chainId, destChainId } =\n usePricesParams(\"swap\");\n\n // selected by the user if both options are available, otherwise always \"market\"\n const swapMode = useAtomValue(swapModeAtom);\n // deltaParams include excluded bridges and beneficiary\n const extraDeltaPriceParams = useExtraDeltaPriceParams();\n\n const {\n enabledInConfig: deltaEnabledInConfig,\n enabledInSettings: deltaEnabledInSettings,\n enabledOnCurrentChain: deltaEnabledOnCurrentChain,\n } = useGlobalDeltaEnabled();\n\n const fetchAnyPrice = priceParams.amount !== \"0\" && !!priceParams.destToken;\n\n const isEthToWethSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isETH({ address: priceParams.srcToken }) &&\n isWETH({ address: priceParams.destToken }, chainId);\n const isWethToEthSameChain =\n !isCrossChain &&\n !!priceParams.destToken &&\n isWETH({ address: priceParams.srcToken }, chainId) &&\n isETH({ address: priceParams.destToken });\n\n const { data: isSrcTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.srcToken,\n chainId,\n });\n const { data: isDestTokenSupported } = useIsTokenSupportedInDeltaQuery({\n token: priceParams.destToken,\n chainId: destChainId || chainId,\n });\n\n const deltaEnabled =\n // enabled in widget config\n deltaEnabledInConfig &&\n // enabled in user settings\n deltaEnabledInSettings &&\n // enabled on API for current chain\n deltaEnabledOnCurrentChain &&\n // ETH -> WETH same chain is market only\n !isEthToWethSameChain &&\n // WETH -> ETH same chain is market only\n !isWethToEthSameChain &&\n // user selected Delta\n swapMode === \"delta\" &&\n // tokens are supported in Delta\n isSrcTokenSupported !== false &&\n isDestTokenSupported !== false;\n // @TODO add BUY support for Delta when available\n\n // whether delta price can be used in principle for current price params,\n // irrespective of user settings\n const deltaCanBeUsed =\n fetchAnyPrice &&\n deltaEnabledInConfig &&\n deltaEnabledOnCurrentChain &&\n !isEthToWethSameChain &&\n !isWethToEthSameChain;\n\n const { result: deltaPriceQuery, queryKey: deltaPriceQueryKey } =\n useDeltaPriceQuery({\n priceParams: {\n ...priceParams,\n ...extraDeltaPriceParams,\n },\n chainId,\n destChainId,\n timeout: 5000,\n query: {\n enabled: deltaEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: PRICE_REFETCH_INTERVAL_MS,\n staleTime: PRICE_REFETCH_INTERVAL_MS,\n // already refetched on short interval\n // prevents delay before deltaPriceQuery.error is set\n retry: false,\n },\n });\n\n const deltaErrorCached = useCachedQueryError(deltaPriceQuery);\n\n // no market for Crosschain swaps, otherwise always enabled as a fallback for Delta\n const marketEnabled = !isCrossChain;\n const marketCanBeUsed = marketEnabled && fetchAnyPrice;\n\n const marketIsFallback = deltaErrorCached && marketEnabled;\n\n const marketIsMainMode =\n (swapMode === \"market\" && marketEnabled) || !deltaEnabled;\n const priceMode = marketIsFallback || marketIsMainMode ? \"market\" : \"delta\";\n\n const marketRefetchInterval =\n // if only market mode or delta has an error\n !deltaEnabled || deltaErrorCached // using cached error here so we don't continuously switch between 2 intervals,\n ? // which caused market price query reschedule and no fetch ever happening\n // frequent updates for Market price\n PRICE_REFETCH_INTERVAL_MS\n : // otherwise when Delta is working, less frequent updates for Market price\n 2 * PRICE_REFETCH_INTERVAL_MS;\n\n const { result: marketPriceQuery, queryKey: marketPriceQueryKey } =\n useMarketPriceQuery({\n priceParams,\n chainId,\n timeout: 5000,\n query: {\n enabled: marketEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: marketRefetchInterval,\n staleTime: marketRefetchInterval,\n retry: false,\n },\n });\n\n const marketErrorCached = useCachedQueryError(marketPriceQuery);\n\n return {\n priceMode,\n userSelectedPriceMode: swapMode,\n market: {\n price: marketPriceQuery.data,\n side: marketPriceQuery.data?.side,\n isLoading: marketPriceQuery.isLoading,\n isFetching: marketPriceQuery.isFetching,\n isRefetching: marketPriceQuery.isRefetching,\n isError: marketPriceQuery.isError,\n refetch: marketPriceQuery.refetch,\n error: marketPriceQuery.error,\n cachedError: marketErrorCached,\n canBeUsed: marketCanBeUsed,\n queryKey: marketPriceQueryKey,\n },\n delta: {\n price: deltaPriceQuery.data,\n side: deltaPriceQuery.data\n ? getSwapSideFromDeltaPrice(deltaPriceQuery.data)\n : undefined,\n isLoading: deltaPriceQuery.isLoading,\n isFetching: deltaPriceQuery.isFetching,\n isRefetching: deltaPriceQuery.isRefetching,\n isError: deltaPriceQuery.isError,\n refetch: deltaPriceQuery.refetch,\n error: deltaPriceQuery.error,\n cachedError: deltaErrorCached,\n canBeUsed: deltaCanBeUsed,\n queryKey: deltaPriceQueryKey,\n },\n };\n}\n\ntype UseCurrentSwapPriceReturn = {\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n cachedError: Error | null;\n side?: SwapSideUnion;\n getPriceImpact: () => PriceImpactResult;\n} & (\n | {\n priceMode: \"market\";\n price?: OptimalRate;\n queryKey: MarketPriceQueryKey;\n }\n | {\n priceMode: \"delta\";\n price?: DeltaPrice | BridgePrice;\n queryKey: DeltaPriceQueryKey;\n }\n);\n\nexport function useCurrentSwapPrice(\n params: UseSwapPricesInput = { enabled: true }\n): UseCurrentSwapPriceReturn {\n const { market, delta, priceMode } = useSwapPrices(params);\n const selectedBridgePrice = useSelectedBridgePrice({ price: delta.price });\n\n if (priceMode === \"market\") {\n return {\n priceMode,\n price: market.price,\n side: market.side,\n isLoading: market.isLoading,\n isError: market.isError,\n error: market.error,\n cachedError: market.cachedError,\n queryKey: market.queryKey,\n getPriceImpact: getPriceImpactFromPriceFactory({\n priceError: market.cachedError,\n price: market.price,\n }),\n };\n }\n\n return {\n priceMode,\n price: selectedBridgePrice || delta.price,\n side: delta.side,\n isLoading: delta.isLoading,\n isError: delta.isError,\n error: delta.error,\n cachedError: delta.cachedError,\n queryKey: delta.queryKey,\n getPriceImpact: getPriceImpactFromPriceFactory({\n priceError: delta.cachedError,\n price: selectedBridgePrice || delta.price,\n }),\n };\n}\n\ntype UseCurrentSwapPriceErrorReturn = {\n price?: DeltaOrMarketPrice;\n priceMode: SwapMode;\n cachedError: Error | null;\n getPriceImpact: () => PriceImpactResult;\n isMaxImpactReachedError: boolean;\n isNoUsdPriceError: boolean;\n isNoLiquidityError: boolean;\n};\n\nexport function useCurrentSwapPriceError(\n params: UseSwapPricesInput = { enabled: false }\n): UseCurrentSwapPriceErrorReturn {\n const { price, priceMode, cachedError, getPriceImpact } =\n useCurrentSwapPrice(params);\n\n // cachedError keeps the error until the query succeeds,\n // so if the prices errored for the current token pair,\n // the error is unlikely to disappear unless the user changes tokenFrom/tokenTo (main screen unmount -> ref resets to null -> error disappears)\n const isMaxImpactReachedError =\n isMarketPriceImpactError(cachedError) ||\n isDeltaMaxImpactReachedError(cachedError);\n const isNoUsdPriceError =\n isMarketBadUsdPriceError(cachedError) ||\n isDeltaNoUsdPriceError(cachedError);\n const isNoLiquidityError = isMarketNoLiquidityError(cachedError);\n\n return {\n price,\n priceMode,\n cachedError,\n getPriceImpact,\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoLiquidityError,\n };\n}\n"],"names":["useSwapPrices","t0","$","_c","t1","undefined","params","priceParams","isCrossChain","chainId","destChainId","usePricesParams","swapMode","useAtomValue","swapModeAtom","extraDeltaPriceParams","useExtraDeltaPriceParams","enabledInConfig","deltaEnabledInConfig","enabledInSettings","deltaEnabledInSettings","enabledOnCurrentChain","deltaEnabledOnCurrentChain","useGlobalDeltaEnabled","fetchAnyPrice","amount","destToken","t2","srcToken","isETH","address","isWETH","isEthToWethSameChain","t3","isWethToEthSameChain","t4","token","data","isSrcTokenSupported","useIsTokenSupportedInDeltaQuery","t5","t6","isDestTokenSupported","deltaEnabled","deltaCanBeUsed","t7","t8","enabled","t9","refetchInterval","PRICE_REFETCH_INTERVAL_MS","staleTime","retry","t10","timeout","query","result","deltaPriceQuery","queryKey","deltaPriceQueryKey","useDeltaPriceQuery","deltaErrorCached","useCachedQueryError","marketEnabled","marketCanBeUsed","marketIsFallback","marketIsMainMode","priceMode","marketRefetchInterval","t11","t12","t13","marketPriceQuery","marketPriceQueryKey","useMarketPriceQuery","marketErrorCached","t14","side","t15","error","isError","isFetching","isLoading","isRefetching","refetch","price","cachedError","canBeUsed","t16","getSwapSideFromDeltaPrice","t17","t18","userSelectedPriceMode","market","delta","useCurrentSwapPrice","selectedBridgePrice","useSelectedBridgePrice","getPriceImpactFromPriceFactory","priceError","getPriceImpact","useCurrentSwapPriceError","isMarketPriceImpactError","isDeltaMaxImpactReachedError","isMaxImpactReachedError","isMarketBadUsdPriceError","isDeltaNoUsdPriceError","isNoUsdPriceError","isMarketNoLiquidityError","isNoLiquidityError"],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ type UseApproveOrPermitInput = {
|
|
|
13
13
|
tradeMode: TradeMode;
|
|
14
14
|
/** @description Whether to include the allowance of currently active Orders in the combined allowance */
|
|
15
15
|
includeCurrentOrdersAllowance?: boolean;
|
|
16
|
+
applySlippage?: boolean;
|
|
16
17
|
chainId: SupportedChainId;
|
|
17
18
|
};
|
|
18
19
|
type UseApproveOrPermitResult = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useApproveOrPermit.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/swap/tradeFlow/common/useApproveOrPermit.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,QAAQ,EAAE,KAAK,GAAG,MAAM,CAAC;IACzB,SAAS,EAAE,SAAS,CAAC;IACrB,yGAAyG;IACzG,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,OAAO,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,UAAU,EAAE,oBAAoB,CAAC;IACjC,aAAa,EAAE,SAAS,CAAC;IACzB,MAAM,EAAE,qBAAqB,CAAC;CAC/B,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,uBAAuB,GAC9B,wBAAwB,CAmG1B"}
|
|
1
|
+
{"version":3,"file":"useApproveOrPermit.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/swap/tradeFlow/common/useApproveOrPermit.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAC;AAEzE,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAExE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,QAAQ,EAAE,KAAK,GAAG,MAAM,CAAC;IACzB,SAAS,EAAE,SAAS,CAAC;IACrB,yGAAyG;IACzG,6BAA6B,CAAC,EAAE,OAAO,CAAC;IACxC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,EAAE,gBAAgB,CAAC;CAC3B,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,UAAU,EAAE,oBAAoB,CAAC;IACjC,aAAa,EAAE,SAAS,CAAC;IACzB,MAAM,EAAE,qBAAqB,CAAC;CAC/B,CAAC;AAEF,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,uBAAuB,GAC9B,wBAAwB,CAmG1B"}
|
|
@@ -243,36 +243,41 @@ function useCombinedAllowance(t0) {
|
|
|
243
243
|
swapSide,
|
|
244
244
|
tradeMode,
|
|
245
245
|
includeCurrentOrdersAllowance,
|
|
246
|
-
chainId
|
|
246
|
+
chainId,
|
|
247
|
+
applySlippage: t1
|
|
247
248
|
} = t0;
|
|
249
|
+
const applySlippage = t1 === void 0 ? true : t1;
|
|
248
250
|
const {
|
|
249
251
|
resolvedSlippage
|
|
250
252
|
} = useSlippage(tradeMode);
|
|
251
|
-
let
|
|
252
|
-
if (
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
253
|
+
let increaseByAmount = srcAmount;
|
|
254
|
+
if (applySlippage) {
|
|
255
|
+
let t22;
|
|
256
|
+
if ($[0] !== resolvedSlippage || $[1] !== srcAmount || $[2] !== swapSide) {
|
|
257
|
+
t22 = allowanceWithSlippage({
|
|
258
|
+
allowance: srcAmount,
|
|
259
|
+
swapSide,
|
|
260
|
+
slippage: resolvedSlippage
|
|
261
|
+
});
|
|
262
|
+
$[0] = resolvedSlippage;
|
|
263
|
+
$[1] = srcAmount;
|
|
264
|
+
$[2] = swapSide;
|
|
265
|
+
$[3] = t22;
|
|
266
|
+
} else {
|
|
267
|
+
t22 = $[3];
|
|
268
|
+
}
|
|
269
|
+
increaseByAmount = t22;
|
|
264
270
|
}
|
|
265
|
-
const allowanceToSetWithSlippage = t1;
|
|
266
271
|
let t2;
|
|
267
|
-
if ($[4] !==
|
|
272
|
+
if ($[4] !== includeCurrentOrdersAllowance || $[5] !== increaseByAmount || $[6] !== spenderContractType || $[7] !== srcToken) {
|
|
268
273
|
t2 = {
|
|
269
274
|
tokenAddress: srcToken,
|
|
270
|
-
increaseByAmount
|
|
275
|
+
increaseByAmount,
|
|
271
276
|
spenderContractType,
|
|
272
277
|
includeCurrentOrdersAllowance
|
|
273
278
|
};
|
|
274
|
-
$[4] =
|
|
275
|
-
$[5] =
|
|
279
|
+
$[4] = includeCurrentOrdersAllowance;
|
|
280
|
+
$[5] = increaseByAmount;
|
|
276
281
|
$[6] = spenderContractType;
|
|
277
282
|
$[7] = srcToken;
|
|
278
283
|
$[8] = t2;
|
|
@@ -308,14 +313,16 @@ function useSingleUseAllowance(t0) {
|
|
|
308
313
|
spenderContractType,
|
|
309
314
|
chainId,
|
|
310
315
|
swapSide,
|
|
311
|
-
tradeMode
|
|
316
|
+
tradeMode,
|
|
317
|
+
applySlippage: t1
|
|
312
318
|
} = t0;
|
|
319
|
+
const applySlippage = t1 === void 0 ? true : t1;
|
|
313
320
|
const {
|
|
314
321
|
resolvedSlippage
|
|
315
322
|
} = useSlippage(tradeMode);
|
|
316
|
-
let
|
|
323
|
+
let t2;
|
|
317
324
|
if ($[0] !== chainId || $[1] !== spenderContractType || $[2] !== srcAmount || $[3] !== srcToken) {
|
|
318
|
-
|
|
325
|
+
t2 = {
|
|
319
326
|
tokenAddress: srcToken,
|
|
320
327
|
amountToApproveInWei: srcAmount,
|
|
321
328
|
spenderContractType,
|
|
@@ -325,26 +332,29 @@ function useSingleUseAllowance(t0) {
|
|
|
325
332
|
$[1] = spenderContractType;
|
|
326
333
|
$[2] = srcAmount;
|
|
327
334
|
$[3] = srcToken;
|
|
328
|
-
$[4] =
|
|
335
|
+
$[4] = t2;
|
|
329
336
|
} else {
|
|
330
|
-
|
|
337
|
+
t2 = $[4];
|
|
331
338
|
}
|
|
332
|
-
const singleUseAllowance = useGenericTokenAllowanceMin(
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
339
|
+
const singleUseAllowance = useGenericTokenAllowanceMin(t2);
|
|
340
|
+
if (applySlippage) {
|
|
341
|
+
let t3;
|
|
342
|
+
if ($[5] !== resolvedSlippage || $[6] !== singleUseAllowance || $[7] !== swapSide) {
|
|
343
|
+
t3 = genericAllowanceWithSlippage({
|
|
344
|
+
allowance: singleUseAllowance,
|
|
345
|
+
swapSide,
|
|
346
|
+
slippage: resolvedSlippage
|
|
347
|
+
});
|
|
348
|
+
$[5] = resolvedSlippage;
|
|
349
|
+
$[6] = singleUseAllowance;
|
|
350
|
+
$[7] = swapSide;
|
|
351
|
+
$[8] = t3;
|
|
352
|
+
} else {
|
|
353
|
+
t3 = $[8];
|
|
354
|
+
}
|
|
355
|
+
return t3;
|
|
346
356
|
}
|
|
347
|
-
return
|
|
357
|
+
return singleUseAllowance;
|
|
348
358
|
}
|
|
349
359
|
|
|
350
360
|
export { useApproveOrPermit };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useApproveOrPermit.js","sources":["../../../../../src/hooks/swap/tradeFlow/common/useApproveOrPermit.ts"],"sourcesContent":["import { useApprove, useAwaitTx } from \"@/hooks/txs\";\nimport type { Address } from \"viem\";\nimport { useGenericTokenAllowanceMin } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport type { ApprovalFlowResult, SignPermitFlowResult } from \"./types\";\nimport type { UseApproveResult } from \"@/hooks/txs/mutations/useApprove\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\nimport { useSignPermit1Or2, type PermitMut } from \"./useSignPermit1Or2\";\nimport { useLogger } from \"@/core/logger\";\nimport type { SpenderContractType } from \"@/hooks/sdk/types\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { useTokensByAddress } from \"@/hooks/tokens/useTokensByAddress\";\nimport {\n useApproveOrPermitEvents,\n type ApproveOrPermitEvents,\n} from \"./useApproveOrPermitEvents\";\nimport { useRequiredAllowanceForOrders } from \"./useRequiredAllowanceForOrders\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport {\n allowanceWithSlippage,\n genericAllowanceWithSlippage,\n} from \"@/hooks/tokens/allowance/utils\";\n\ntype UseApproveOrPermitInput = {\n srcToken?: string;\n srcAmount?: string | bigint;\n spenderContractType: SpenderContractType;\n swapSide: \"BUY\" | \"SELL\";\n tradeMode: TradeMode;\n /** @description Whether to include the allowance of currently active Orders in the combined allowance */\n includeCurrentOrdersAllowance?: boolean;\n chainId: SupportedChainId;\n};\n\ntype UseApproveOrPermitResult = {\n approval: ApprovalFlowResult;\n approveTxMut: UseApproveResult;\n signPermit: SignPermitFlowResult;\n signPermitMut: PermitMut;\n events: ApproveOrPermitEvents;\n};\n\nexport function useApproveOrPermit(\n params: UseApproveOrPermitInput\n): UseApproveOrPermitResult {\n const logger = useLogger(\"ApproveOrPermit\");\n\n const { srcToken, tradeMode, chainId } = params;\n\n /* 1. gather Allowance data */\n\n const {\n combinedAllowance: allowanceToSetWithSlippage,\n // Permit2 allowance is usually unlimited if the user traded this token in Uniswap before\n // for Delta Orders permit2 amount and deadline have to match with order.srcAmount and order.deadline\n // that user signs when creating the order in useDeltaFlow\n singleUseAllowance: permit2Allowance,\n } = useAllowanceToApprove(params);\n\n /* 2.1. submit Approve tx */\n\n const approveTxMut = useApprove({\n token: srcToken ? { address: srcToken } : undefined,\n allowanceData: allowanceToSetWithSlippage,\n spender: allowanceToSetWithSlippage.spender,\n onSuccess: () => {\n logger.log(\"Approve tx success\");\n },\n onError: (error) => {\n logger.error(\"Approve tx error\", error);\n },\n });\n\n /* 2.2. or sign Permit1/Permit2 */\n\n const { signPermit, signPermitMut } = useSignPermit1Or2({\n srcToken: srcToken as Address | undefined,\n chainId,\n allowance: {\n spender: allowanceToSetWithSlippage.spender,\n needsApproval: allowanceToSetWithSlippage.needsApproval,\n permit1AllowanceToSet: allowanceToSetWithSlippage.allowanceToSet,\n permit2AllowanceToSet: permit2Allowance.allowanceToSet,\n },\n });\n\n /* 3. await Approve tx (if sent) */\n const approveTxMined = useAwaitTx({\n hash: approveTxMut.txHash,\n chainId,\n });\n\n const tokensMap = useTokensByAddress(chainId);\n const tokenObject = srcToken ? tokensMap[srcToken.toLowerCase()] : undefined;\n\n const approval: ApprovalFlowResult = {\n token: srcToken as Address | undefined,\n tokenObject,\n chainId,\n /* allowance fetching */\n needsApproval: allowanceToSetWithSlippage.needsApproval,\n allowanceToSet: allowanceToSetWithSlippage.allowanceToSet,\n currentAllowance: allowanceToSetWithSlippage.allowance,\n spender: allowanceToSetWithSlippage.spender,\n txHash: approveTxMut.txHash,\n receipt: approveTxMined.data,\n isLoadingAllowance: allowanceToSetWithSlippage.isLoadingPrerequisites,\n /* tx sending */\n isConfirmingTX: approveTxMut.isPending,\n isTxSent: approveTxMut.isSuccess,\n /* tx awaiting */\n isTxPending: approveTxMined.isLoading,\n isTxMined: approveTxMined.isSuccess,\n /* combined */\n isPending:\n allowanceToSetWithSlippage.needsApproval &&\n (approveTxMut.isPending || approveTxMined.isLoading),\n isError:\n allowanceToSetWithSlippage.needsApproval &&\n (approveTxMut.isError || approveTxMined.isError),\n isSuccess:\n !allowanceToSetWithSlippage.needsApproval || approveTxMined.isSuccess, // final success\n error: allowanceToSetWithSlippage.needsApproval\n ? approveTxMut.error || approveTxMined.error\n : null,\n };\n\n const events = useApproveOrPermitEvents({\n approval,\n signPermit,\n allowanceToApprove: allowanceToSetWithSlippage.allowanceToSet,\n permit2Allowance: permit2Allowance.allowanceToSet,\n chainId,\n tradeMode,\n });\n\n return {\n approval,\n approveTxMut,\n signPermit,\n signPermitMut,\n events,\n };\n}\n\nfunction useAllowanceToApprove(params: UseApproveOrPermitInput) {\n const combinedAllowance = useCombinedAllowance(params);\n const singleUseAllowance = useSingleUseAllowance(params);\n\n return {\n combinedAllowance, // allowance for any open Delta/OTC orders + new order, with slippage if BUY\n singleUseAllowance, // exact allowance for srcAmount, with slippage if BUY\n };\n}\n\n// amount for the new Delta/OTC order + amount required to cover allowance of current Delta/OTC orders\n// if includeCurrentOrdersAllowance=true (only for SpenderContractType=ParaswapDelta)\n// =exact required? + (single * slippage if BUY)\nfunction useCombinedAllowance({\n srcToken,\n srcAmount,\n spenderContractType,\n swapSide,\n tradeMode,\n includeCurrentOrdersAllowance,\n chainId,\n}: UseApproveOrPermitInput) {\n const { resolvedSlippage } = useSlippage(tradeMode);\n\n const allowanceToSetWithSlippage = allowanceWithSlippage({\n allowance: srcAmount,\n swapSide,\n slippage: resolvedSlippage,\n });\n\n const { combinedAllowance: srcCombinedAllowance } =\n useRequiredAllowanceForOrders({\n tokenAddress: srcToken,\n increaseByAmount: allowanceToSetWithSlippage,\n spenderContractType,\n includeCurrentOrdersAllowance,\n });\n\n return useGenericTokenAllowanceMin({\n tokenAddress: srcToken,\n amountToApproveInWei: srcCombinedAllowance,\n spenderContractType,\n chainId,\n });\n}\n\n// =exact srcAmount * slippage if BUY\nfunction useSingleUseAllowance({\n srcToken,\n srcAmount,\n spenderContractType,\n chainId,\n swapSide,\n tradeMode,\n}: UseApproveOrPermitInput) {\n const { resolvedSlippage } = useSlippage(tradeMode);\n\n const singleUseAllowance = useGenericTokenAllowanceMin({\n tokenAddress: srcToken,\n amountToApproveInWei: srcAmount,\n spenderContractType,\n chainId,\n });\n\n return genericAllowanceWithSlippage({\n allowance: singleUseAllowance,\n swapSide,\n slippage: resolvedSlippage,\n });\n}\n"],"names":["useApproveOrPermit","params","$","_c","logger","useLogger","srcToken","tradeMode","chainId","combinedAllowance","allowanceToSetWithSlippage","singleUseAllowance","permit2Allowance","useAllowanceToApprove","t0","address","undefined","t1","t2","log","error","t3","token","allowanceData","spender","onSuccess","onError","approveTxMut","useApprove","t4","t5","allowanceToSet","needsApproval","permit1AllowanceToSet","permit2AllowanceToSet","t6","allowance","signPermit","signPermitMut","useSignPermit1Or2","t7","txHash","hash","approveTxMined","useAwaitTx","tokensMap","useTokensByAddress","t8","toLowerCase","tokenObject","t9","t10","isPending","isLoading","t11","isError","t12","isSuccess","t13","t14","isLoadingPrerequisites","data","currentAllowance","receipt","isLoadingAllowance","isConfirmingTX","isTxSent","isTxPending","isTxMined","approval","t15","allowanceToApprove","events","useApproveOrPermitEvents","t16","useCombinedAllowance","useSingleUseAllowance","srcAmount","spenderContractType","swapSide","includeCurrentOrdersAllowance","resolvedSlippage","useSlippage","allowanceWithSlippage","slippage","tokenAddress","increaseByAmount","srcCombinedAllowance","useRequiredAllowanceForOrders","amountToApproveInWei","useGenericTokenAllowanceMin","genericAllowanceWithSlippage"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useApproveOrPermit.js","sources":["../../../../../src/hooks/swap/tradeFlow/common/useApproveOrPermit.ts"],"sourcesContent":["import { useApprove, useAwaitTx } from \"@/hooks/txs\";\nimport type { Address } from \"viem\";\nimport { useGenericTokenAllowanceMin } from \"@/hooks/tokens/allowance/useGenericTokenAllowance\";\nimport type { ApprovalFlowResult, SignPermitFlowResult } from \"./types\";\nimport type { UseApproveResult } from \"@/hooks/txs/mutations/useApprove\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\nimport { useSignPermit1Or2, type PermitMut } from \"./useSignPermit1Or2\";\nimport { useLogger } from \"@/core/logger\";\nimport type { SpenderContractType } from \"@/hooks/sdk/types\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { useTokensByAddress } from \"@/hooks/tokens/useTokensByAddress\";\nimport {\n useApproveOrPermitEvents,\n type ApproveOrPermitEvents,\n} from \"./useApproveOrPermitEvents\";\nimport { useRequiredAllowanceForOrders } from \"./useRequiredAllowanceForOrders\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport {\n allowanceWithSlippage,\n genericAllowanceWithSlippage,\n} from \"@/hooks/tokens/allowance/utils\";\n\ntype UseApproveOrPermitInput = {\n srcToken?: string;\n srcAmount?: string | bigint;\n spenderContractType: SpenderContractType;\n swapSide: \"BUY\" | \"SELL\";\n tradeMode: TradeMode;\n /** @description Whether to include the allowance of currently active Orders in the combined allowance */\n includeCurrentOrdersAllowance?: boolean;\n applySlippage?: boolean; // whether to apply slippage on the allowanceToSet (only for BUY side)\n chainId: SupportedChainId;\n};\n\ntype UseApproveOrPermitResult = {\n approval: ApprovalFlowResult;\n approveTxMut: UseApproveResult;\n signPermit: SignPermitFlowResult;\n signPermitMut: PermitMut;\n events: ApproveOrPermitEvents;\n};\n\nexport function useApproveOrPermit(\n params: UseApproveOrPermitInput\n): UseApproveOrPermitResult {\n const logger = useLogger(\"ApproveOrPermit\");\n\n const { srcToken, tradeMode, chainId } = params;\n\n /* 1. gather Allowance data */\n\n const {\n combinedAllowance: allowanceToSetWithSlippage,\n // Permit2 allowance is usually unlimited if the user traded this token in Uniswap before\n // for Delta Orders permit2 amount and deadline have to match with order.srcAmount and order.deadline\n // that user signs when creating the order in useDeltaFlow\n singleUseAllowance: permit2Allowance,\n } = useAllowanceToApprove(params);\n\n /* 2.1. submit Approve tx */\n\n const approveTxMut = useApprove({\n token: srcToken ? { address: srcToken } : undefined,\n allowanceData: allowanceToSetWithSlippage,\n spender: allowanceToSetWithSlippage.spender,\n onSuccess: () => {\n logger.log(\"Approve tx success\");\n },\n onError: (error) => {\n logger.error(\"Approve tx error\", error);\n },\n });\n\n /* 2.2. or sign Permit1/Permit2 */\n\n const { signPermit, signPermitMut } = useSignPermit1Or2({\n srcToken: srcToken as Address | undefined,\n chainId,\n allowance: {\n spender: allowanceToSetWithSlippage.spender,\n needsApproval: allowanceToSetWithSlippage.needsApproval,\n permit1AllowanceToSet: allowanceToSetWithSlippage.allowanceToSet,\n permit2AllowanceToSet: permit2Allowance.allowanceToSet,\n },\n });\n\n /* 3. await Approve tx (if sent) */\n const approveTxMined = useAwaitTx({\n hash: approveTxMut.txHash,\n chainId,\n });\n\n const tokensMap = useTokensByAddress(chainId);\n const tokenObject = srcToken ? tokensMap[srcToken.toLowerCase()] : undefined;\n\n const approval: ApprovalFlowResult = {\n token: srcToken as Address | undefined,\n tokenObject,\n chainId,\n /* allowance fetching */\n needsApproval: allowanceToSetWithSlippage.needsApproval,\n allowanceToSet: allowanceToSetWithSlippage.allowanceToSet,\n currentAllowance: allowanceToSetWithSlippage.allowance,\n spender: allowanceToSetWithSlippage.spender,\n txHash: approveTxMut.txHash,\n receipt: approveTxMined.data,\n isLoadingAllowance: allowanceToSetWithSlippage.isLoadingPrerequisites,\n /* tx sending */\n isConfirmingTX: approveTxMut.isPending,\n isTxSent: approveTxMut.isSuccess,\n /* tx awaiting */\n isTxPending: approveTxMined.isLoading,\n isTxMined: approveTxMined.isSuccess,\n /* combined */\n isPending:\n allowanceToSetWithSlippage.needsApproval &&\n (approveTxMut.isPending || approveTxMined.isLoading),\n isError:\n allowanceToSetWithSlippage.needsApproval &&\n (approveTxMut.isError || approveTxMined.isError),\n isSuccess:\n !allowanceToSetWithSlippage.needsApproval || approveTxMined.isSuccess, // final success\n error: allowanceToSetWithSlippage.needsApproval\n ? approveTxMut.error || approveTxMined.error\n : null,\n };\n\n const events = useApproveOrPermitEvents({\n approval,\n signPermit,\n allowanceToApprove: allowanceToSetWithSlippage.allowanceToSet,\n permit2Allowance: permit2Allowance.allowanceToSet,\n chainId,\n tradeMode,\n });\n\n return {\n approval,\n approveTxMut,\n signPermit,\n signPermitMut,\n events,\n };\n}\n\nfunction useAllowanceToApprove(params: UseApproveOrPermitInput) {\n const combinedAllowance = useCombinedAllowance(params);\n const singleUseAllowance = useSingleUseAllowance(params);\n\n return {\n combinedAllowance, // allowance for any open Delta/OTC orders + new order, with slippage if BUY\n singleUseAllowance, // exact allowance for srcAmount, with slippage if BUY\n };\n}\n\n// amount for the new Delta/OTC order + amount required to cover allowance of current Delta/OTC orders\n// if includeCurrentOrdersAllowance=true (only for SpenderContractType=ParaswapDelta)\n// =exact required? + (single * slippage if BUY)\nfunction useCombinedAllowance({\n srcToken,\n srcAmount,\n spenderContractType,\n swapSide,\n tradeMode,\n includeCurrentOrdersAllowance,\n chainId,\n applySlippage = true,\n}: UseApproveOrPermitInput) {\n const { resolvedSlippage } = useSlippage(tradeMode);\n\n let increaseByAmount = srcAmount;\n if (applySlippage) {\n increaseByAmount = allowanceWithSlippage({\n allowance: srcAmount,\n swapSide,\n slippage: resolvedSlippage,\n });\n }\n\n const { combinedAllowance: srcCombinedAllowance } =\n useRequiredAllowanceForOrders({\n tokenAddress: srcToken,\n increaseByAmount,\n spenderContractType,\n includeCurrentOrdersAllowance,\n });\n\n return useGenericTokenAllowanceMin({\n tokenAddress: srcToken,\n amountToApproveInWei: srcCombinedAllowance,\n spenderContractType,\n chainId,\n });\n}\n\n// =exact srcAmount * slippage if BUY\nfunction useSingleUseAllowance({\n srcToken,\n srcAmount,\n spenderContractType,\n chainId,\n swapSide,\n tradeMode,\n applySlippage = true,\n}: UseApproveOrPermitInput) {\n const { resolvedSlippage } = useSlippage(tradeMode);\n\n const singleUseAllowance = useGenericTokenAllowanceMin({\n tokenAddress: srcToken,\n amountToApproveInWei: srcAmount,\n spenderContractType,\n chainId,\n });\n\n if (applySlippage) {\n return genericAllowanceWithSlippage({\n allowance: singleUseAllowance,\n swapSide,\n slippage: resolvedSlippage,\n });\n }\n\n return singleUseAllowance;\n}\n"],"names":["useApproveOrPermit","params","$","_c","logger","useLogger","srcToken","tradeMode","chainId","combinedAllowance","allowanceToSetWithSlippage","singleUseAllowance","permit2Allowance","useAllowanceToApprove","t0","address","undefined","t1","t2","log","error","t3","token","allowanceData","spender","onSuccess","onError","approveTxMut","useApprove","t4","t5","allowanceToSet","needsApproval","permit1AllowanceToSet","permit2AllowanceToSet","t6","allowance","signPermit","signPermitMut","useSignPermit1Or2","t7","txHash","hash","approveTxMined","useAwaitTx","tokensMap","useTokensByAddress","t8","toLowerCase","tokenObject","t9","t10","isPending","isLoading","t11","isError","t12","isSuccess","t13","t14","isLoadingPrerequisites","data","currentAllowance","receipt","isLoadingAllowance","isConfirmingTX","isTxSent","isTxPending","isTxMined","approval","t15","allowanceToApprove","events","useApproveOrPermitEvents","t16","useCombinedAllowance","useSingleUseAllowance","srcAmount","spenderContractType","swapSide","includeCurrentOrdersAllowance","applySlippage","resolvedSlippage","useSlippage","increaseByAmount","allowanceWithSlippage","slippage","tokenAddress","srcCombinedAllowance","useRequiredAllowanceForOrders","amountToApproveInWei","useGenericTokenAllowanceMin","genericAllowanceWithSlippage"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDepositAndSubmitDeltaOrder.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,kBAAkB,EAAE,MAAM,MAAM,CAAC;AAC7D,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,KAAK,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG5E,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,kDAAkD,CAAC;AACvG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AAMpE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"useDepositAndSubmitDeltaOrder.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import { useAwaitTx, useEnsureTxReceipt } from '../../../txs/queries/useAwaitTx.
|
|
|
7
7
|
import { isETHaddress } from '../../../../tokens/utils/eth.js';
|
|
8
8
|
import { useDeltaOrderToPost } from '../../prices/delta/mutations/useDeltaOrderToPost.js';
|
|
9
9
|
import { useSendDepositPreSignDeltaOrderTx } from '../../prices/delta/mutations/useSendDepositPreSignDeltaOrderTx.js';
|
|
10
|
+
import { guardUnpostedDeltaOrder } from '../../prices/delta/orders/unposted/index.js';
|
|
10
11
|
|
|
11
12
|
function useDepositAndSubmitDeltaOrder({
|
|
12
13
|
chainId,
|
|
@@ -115,15 +116,15 @@ function useDepositAndSubmitDeltaOrder({
|
|
|
115
116
|
depositAmount: depositAmount.toString(),
|
|
116
117
|
signal
|
|
117
118
|
});
|
|
118
|
-
logger.log("[DepositAndSubmit] awaiting depositNativeAndPreSign txHash:", depositTxHash);
|
|
119
|
-
const depositTxReceiptPromise = ensureTxReceipt({
|
|
120
|
-
hash: depositTxHash,
|
|
121
|
-
chainId,
|
|
122
|
-
onReplaced: (data) => {
|
|
123
|
-
logger.log("[DepositAndSubmit] onReplaced:txHash", depositTxHash, data);
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
119
|
if (onTxSent) {
|
|
120
|
+
const depositTxReceiptPromise = ensureTxReceipt({
|
|
121
|
+
hash: depositTxHash,
|
|
122
|
+
chainId,
|
|
123
|
+
onReplaced: (data) => {
|
|
124
|
+
logger.log("[DepositAndSubmit] onReplaced:txHash", depositTxHash, data);
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
logger.log("[DepositAndSubmit] awaiting depositNativeAndPreSign txHash:", depositTxHash);
|
|
127
128
|
onTxSent({
|
|
128
129
|
chainId,
|
|
129
130
|
action: "depositNativeAndPreSign",
|
|
@@ -136,7 +137,14 @@ function useDepositAndSubmitDeltaOrder({
|
|
|
136
137
|
}
|
|
137
138
|
});
|
|
138
139
|
}
|
|
139
|
-
const orderFromAPI = await
|
|
140
|
+
const orderFromAPI = await guardUnpostedDeltaOrder({
|
|
141
|
+
order: {
|
|
142
|
+
...orderToPost,
|
|
143
|
+
timestamp: Date.now(),
|
|
144
|
+
transactionHash: depositTxHash
|
|
145
|
+
},
|
|
146
|
+
cb: () => postOrderMut.mutateAsync(orderToPost)
|
|
147
|
+
});
|
|
140
148
|
return orderFromAPI;
|
|
141
149
|
} catch (error_0) {
|
|
142
150
|
logger.error("[DepositAndSubmit] error", error_0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDepositAndSubmitDeltaOrder.js","sources":["../../../../../src/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.ts"],"sourcesContent":["import { type Address, type TransactionReceipt } from \"viem\";\nimport {\n deltaOrdersQueryKey,\n type SubmittedDeltaOrderFromAPI,\n} from \"../../prices/delta/queries/useDeltaOrders\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport type { DeltaOrderApiResponse, MinViemClient } from \"@velora-dex/sdk\";\nimport { usePostDeltaOrder } from \"../../prices/delta/mutations/usePostDeltaOrder\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport type { CreateAndSubmitDeltaOrderInput } from \"../../prices/delta/mutations/useCreateDeltaOrder\";\nimport type { TxSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { assert } from \"ts-essentials\";\nimport { useAwaitTx, useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { isETHaddress } from \"@/tokens/utils/eth\";\nimport { useDeltaOrderToPost } from \"../../prices/delta/mutations/useDeltaOrderToPost\";\nimport { useSendDepositPreSignDeltaOrderTx } from \"../../prices/delta/mutations/useSendDepositPreSignDeltaOrderTx\";\nimport type { PreSignDeltaOrderToPost } from \"../../prices/delta/mutations/types\";\n\nexport type DeltaOrderDepositResult = {\n depositPrep: {\n order?: PreSignDeltaOrderToPost;\n isCreatingOrder: boolean;\n isOrderHashReady: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n depositTx: {\n txHash?: Address;\n receipt?: TransactionReceipt;\n isConfirmingTX: boolean;\n isConfirmingTxError: boolean;\n isTxSent: boolean;\n isTxPending: boolean;\n isTxMined: boolean;\n isTxAwaitingError: boolean;\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n };\n postingOrder: {\n order?: SubmittedDeltaOrderFromAPI;\n isPostingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n order?: SubmittedDeltaOrderFromAPI;\n isCreatingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n};\n\ntype UseDepositAndSubmitDeltaOrderInput = {\n chainId: SupportedChainId;\n account?: Address;\n logger: LoggerInstance;\n viemClient?: MinViemClient;\n};\n\ntype UseDepositAndSubmitDeltaOrderResult = {\n deltaOrderDeposit: DeltaOrderDepositResult;\n depositAndSubmitDeltaOrder: DepositAndSubmitDeltaOrderFunc;\n reset: () => void;\n};\n\nexport function useDepositAndSubmitDeltaOrder({\n chainId,\n account,\n logger,\n viemClient,\n}: UseDepositAndSubmitDeltaOrderInput): UseDepositAndSubmitDeltaOrderResult {\n const queryClient = useQueryClient();\n\n const deltaOrderToPostMut = useDeltaOrderToPost({\n chainId,\n client: viemClient,\n });\n\n const depositPrep: DeltaOrderDepositResult[\"depositPrep\"] = {\n isCreatingOrder: deltaOrderToPostMut.isPending,\n isOrderHashReady: deltaOrderToPostMut.isSuccess,\n order: deltaOrderToPostMut.data,\n isPending: deltaOrderToPostMut.isPending,\n isError: deltaOrderToPostMut.isError,\n isSuccess: deltaOrderToPostMut.isSuccess,\n error: deltaOrderToPostMut.error,\n };\n\n /* 1. submit depositNativeAndPreSign tx */\n const sendDepositTxMut = useSendDepositPreSignDeltaOrderTx({\n chainId,\n client: viemClient,\n });\n\n /* 2. await depositNativeAndPreSign tx */\n const awaitDepositTx = useAwaitTx({\n hash: sendDepositTxMut.data,\n chainId,\n });\n\n const depositTx = {\n txHash: sendDepositTxMut.data,\n receipt: awaitDepositTx.data,\n /* tx sending */\n isConfirmingTX: sendDepositTxMut.isPending,\n isConfirmingTxError: sendDepositTxMut.isError,\n isTxSent: sendDepositTxMut.isSuccess,\n /* tx awaiting */\n isTxPending: awaitDepositTx.isLoading,\n isTxMined: awaitDepositTx.isSuccess,\n isTxAwaitingError: awaitDepositTx.isError,\n /* combined */\n isPending: sendDepositTxMut.isPending || awaitDepositTx.isLoading,\n isSuccess: awaitDepositTx.isSuccess, // final success\n isError: sendDepositTxMut.isError || awaitDepositTx.isError,\n error: sendDepositTxMut.error || awaitDepositTx.error,\n };\n\n /* 3. post Pre-signed Order */\n\n const postOrderMut = usePostDeltaOrder({\n chainId,\n account,\n client: viemClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"[DepositAndSubmit] Create Delta Order success\", order);\n queryClient.invalidateQueries({\n queryKey: deltaOrdersQueryKey({\n userAddress: order.user,\n }),\n exact: false,\n });\n },\n onError: (error) => {\n logger.error(\"[DepositAndSubmit] Create Delta Order error\", error);\n },\n },\n });\n\n const deltaOrderPosting: DeltaOrderDepositResult[\"postingOrder\"] = {\n order: postOrderMut.data,\n isPostingOrder: postOrderMut.isPending,\n isOrderSent: postOrderMut.isSuccess,\n isPending: postOrderMut.isPending,\n isError: postOrderMut.isError,\n isSuccess: postOrderMut.isSuccess,\n error: postOrderMut.error,\n };\n\n const deltaOrderDeposit: DeltaOrderDepositResult = {\n order: postOrderMut.data,\n depositPrep: depositPrep,\n depositTx,\n postingOrder: deltaOrderPosting,\n isCreatingOrder:\n depositPrep.isCreatingOrder ||\n depositTx.isPending ||\n deltaOrderPosting.isPostingOrder,\n isOrderSent: deltaOrderPosting.isOrderSent,\n isPending:\n depositPrep.isPending ||\n depositTx.isPending ||\n deltaOrderPosting.isPending,\n isError:\n depositPrep.isError || depositTx.isError || deltaOrderPosting.isError,\n isSuccess: deltaOrderPosting.isSuccess,\n error: depositPrep.error || depositTx.error || deltaOrderPosting.error,\n };\n\n const ensureTxReceipt = useEnsureTxReceipt();\n\n const depositAndSubmitDeltaOrder: DepositAndSubmitDeltaOrderFunc = async ({\n depositAmount: _depositAmount,\n createDeltaOrderInput,\n onTxSent,\n }) => {\n const depositAmount = BigInt(_depositAmount);\n\n assert(\n isETHaddress(createDeltaOrderInput.orderInput.srcToken),\n \"srcToken must be ETH\"\n );\n assert(depositAmount > 0n, \"depositAmount must be greater than 0\");\n\n // sign depositTx + POST order\n\n const { signal } = createDeltaOrderInput;\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n try {\n const orderToPost = await deltaOrderToPostMut.mutateAsync(\n createDeltaOrderInput\n );\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n const depositTxHash = await sendDepositTxMut.mutateAsync({\n orderHash: orderToPost.orderHash,\n depositAmount: depositAmount.toString(),\n signal,\n });\n\n logger.log(\n \"[DepositAndSubmit] awaiting depositNativeAndPreSign txHash:\",\n depositTxHash\n );\n\n const depositTxReceiptPromise = ensureTxReceipt({\n hash: depositTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\n \"[DepositAndSubmit] onReplaced:txHash\",\n depositTxHash,\n data\n );\n },\n });\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"depositNativeAndPreSign\",\n receiptPromise: depositTxReceiptPromise,\n transactionHash: depositTxHash,\n transactionSpecificData: {\n action: \"depositNativeAndPreSign\",\n order: orderToPost,\n depositAmount,\n },\n });\n }\n\n // 6. POST the Order to API with signature=0x\n const orderFromAPI = await postOrderMut.mutateAsync(orderToPost);\n\n return orderFromAPI;\n } catch (error) {\n logger.error(\"[DepositAndSubmit] error\", error);\n throw error;\n }\n };\n\n const reset = () => {\n deltaOrderToPostMut.reset();\n sendDepositTxMut.reset();\n postOrderMut.reset();\n };\n\n return {\n deltaOrderDeposit,\n depositAndSubmitDeltaOrder,\n reset,\n };\n}\n\ntype DepositAndSubmitDeltaOrderInput = {\n createDeltaOrderInput: CreateAndSubmitDeltaOrderInput;\n depositAmount: string;\n onTxSent?: (txSent: TxSentObject) => void;\n};\n\ntype DepositAndSubmitDeltaOrderFunc = (\n input: DepositAndSubmitDeltaOrderInput\n) => Promise<DeltaOrderApiResponse>;\n"],"names":["useDepositAndSubmitDeltaOrder","chainId","account","logger","viemClient","queryClient","useQueryClient","deltaOrderToPostMut","useDeltaOrderToPost","client","depositPrep","isCreatingOrder","isPending","isOrderHashReady","isSuccess","order","data","isError","error","sendDepositTxMut","useSendDepositPreSignDeltaOrderTx","awaitDepositTx","useAwaitTx","hash","depositTx","txHash","receipt","isConfirmingTX","isConfirmingTxError","isTxSent","isTxPending","isLoading","isTxMined","isTxAwaitingError","postOrderMut","usePostDeltaOrder","mutationOptions","onSuccess","log","invalidateQueries","queryKey","deltaOrdersQueryKey","userAddress","user","exact","onError","deltaOrderPosting","isPostingOrder","isOrderSent","deltaOrderDeposit","postingOrder","ensureTxReceipt","useEnsureTxReceipt","depositAndSubmitDeltaOrder","depositAmount","_depositAmount","createDeltaOrderInput","onTxSent","BigInt","assert","isETHaddress","orderInput","srcToken","signal","throwIfAborted","orderToPost","mutateAsync","depositTxHash","orderHash","toString","depositTxReceiptPromise","onReplaced","action","receiptPromise","transactionHash","transactionSpecificData","orderFromAPI","reset"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useDepositAndSubmitDeltaOrder.js","sources":["../../../../../src/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.ts"],"sourcesContent":["import { type Address, type TransactionReceipt } from \"viem\";\nimport {\n deltaOrdersQueryKey,\n type SubmittedDeltaOrderFromAPI,\n} from \"../../prices/delta/queries/useDeltaOrders\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport type { LoggerInstance } from \"@/lib/utils/logger\";\nimport type { DeltaOrderApiResponse, MinViemClient } from \"@velora-dex/sdk\";\nimport { usePostDeltaOrder } from \"../../prices/delta/mutations/usePostDeltaOrder\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport type { CreateAndSubmitDeltaOrderInput } from \"../../prices/delta/mutations/useCreateDeltaOrder\";\nimport type { TxSentObject } from \"@/lib/utils/transactionHandlers\";\nimport { assert } from \"ts-essentials\";\nimport { useAwaitTx, useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport { isETHaddress } from \"@/tokens/utils/eth\";\nimport { useDeltaOrderToPost } from \"../../prices/delta/mutations/useDeltaOrderToPost\";\nimport { useSendDepositPreSignDeltaOrderTx } from \"../../prices/delta/mutations/useSendDepositPreSignDeltaOrderTx\";\nimport type { PreSignDeltaOrderToPost } from \"../../prices/delta/mutations/types\";\nimport { guardUnpostedDeltaOrder } from \"../../prices/delta/orders/unposted\";\n\nexport type DeltaOrderDepositResult = {\n depositPrep: {\n order?: PreSignDeltaOrderToPost;\n isCreatingOrder: boolean;\n isOrderHashReady: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n depositTx: {\n txHash?: Address;\n receipt?: TransactionReceipt;\n isConfirmingTX: boolean;\n isConfirmingTxError: boolean;\n isTxSent: boolean;\n isTxPending: boolean;\n isTxMined: boolean;\n isTxAwaitingError: boolean;\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n };\n postingOrder: {\n order?: SubmittedDeltaOrderFromAPI;\n isPostingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n order?: SubmittedDeltaOrderFromAPI;\n isCreatingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n};\n\ntype UseDepositAndSubmitDeltaOrderInput = {\n chainId: SupportedChainId;\n account?: Address;\n logger: LoggerInstance;\n viemClient?: MinViemClient;\n};\n\ntype UseDepositAndSubmitDeltaOrderResult = {\n deltaOrderDeposit: DeltaOrderDepositResult;\n depositAndSubmitDeltaOrder: DepositAndSubmitDeltaOrderFunc;\n reset: () => void;\n};\n\nexport function useDepositAndSubmitDeltaOrder({\n chainId,\n account,\n logger,\n viemClient,\n}: UseDepositAndSubmitDeltaOrderInput): UseDepositAndSubmitDeltaOrderResult {\n const queryClient = useQueryClient();\n\n const deltaOrderToPostMut = useDeltaOrderToPost({\n chainId,\n client: viemClient,\n });\n\n const depositPrep: DeltaOrderDepositResult[\"depositPrep\"] = {\n isCreatingOrder: deltaOrderToPostMut.isPending,\n isOrderHashReady: deltaOrderToPostMut.isSuccess,\n order: deltaOrderToPostMut.data,\n isPending: deltaOrderToPostMut.isPending,\n isError: deltaOrderToPostMut.isError,\n isSuccess: deltaOrderToPostMut.isSuccess,\n error: deltaOrderToPostMut.error,\n };\n\n /* 1. submit depositNativeAndPreSign tx */\n const sendDepositTxMut = useSendDepositPreSignDeltaOrderTx({\n chainId,\n client: viemClient,\n });\n\n /* 2. await depositNativeAndPreSign tx */\n const awaitDepositTx = useAwaitTx({\n hash: sendDepositTxMut.data,\n chainId,\n });\n\n const depositTx = {\n txHash: sendDepositTxMut.data,\n receipt: awaitDepositTx.data,\n /* tx sending */\n isConfirmingTX: sendDepositTxMut.isPending,\n isConfirmingTxError: sendDepositTxMut.isError,\n isTxSent: sendDepositTxMut.isSuccess,\n /* tx awaiting */\n isTxPending: awaitDepositTx.isLoading,\n isTxMined: awaitDepositTx.isSuccess,\n isTxAwaitingError: awaitDepositTx.isError,\n /* combined */\n isPending: sendDepositTxMut.isPending || awaitDepositTx.isLoading,\n isSuccess: awaitDepositTx.isSuccess, // final success\n isError: sendDepositTxMut.isError || awaitDepositTx.isError,\n error: sendDepositTxMut.error || awaitDepositTx.error,\n };\n\n /* 3. post Pre-signed Order */\n\n const postOrderMut = usePostDeltaOrder({\n chainId,\n account,\n client: viemClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"[DepositAndSubmit] Create Delta Order success\", order);\n queryClient.invalidateQueries({\n queryKey: deltaOrdersQueryKey({\n userAddress: order.user,\n }),\n exact: false,\n });\n },\n onError: (error) => {\n logger.error(\"[DepositAndSubmit] Create Delta Order error\", error);\n },\n },\n });\n\n const deltaOrderPosting: DeltaOrderDepositResult[\"postingOrder\"] = {\n order: postOrderMut.data,\n isPostingOrder: postOrderMut.isPending,\n isOrderSent: postOrderMut.isSuccess,\n isPending: postOrderMut.isPending,\n isError: postOrderMut.isError,\n isSuccess: postOrderMut.isSuccess,\n error: postOrderMut.error,\n };\n\n const deltaOrderDeposit: DeltaOrderDepositResult = {\n order: postOrderMut.data,\n depositPrep: depositPrep,\n depositTx,\n postingOrder: deltaOrderPosting,\n isCreatingOrder:\n depositPrep.isCreatingOrder ||\n depositTx.isPending ||\n deltaOrderPosting.isPostingOrder,\n isOrderSent: deltaOrderPosting.isOrderSent,\n isPending:\n depositPrep.isPending ||\n depositTx.isPending ||\n deltaOrderPosting.isPending,\n isError:\n depositPrep.isError || depositTx.isError || deltaOrderPosting.isError,\n isSuccess: deltaOrderPosting.isSuccess,\n error: depositPrep.error || depositTx.error || deltaOrderPosting.error,\n };\n\n const ensureTxReceipt = useEnsureTxReceipt();\n\n const depositAndSubmitDeltaOrder: DepositAndSubmitDeltaOrderFunc = async ({\n depositAmount: _depositAmount,\n createDeltaOrderInput,\n onTxSent,\n }) => {\n const depositAmount = BigInt(_depositAmount);\n\n assert(\n isETHaddress(createDeltaOrderInput.orderInput.srcToken),\n \"srcToken must be ETH\"\n );\n assert(depositAmount > 0n, \"depositAmount must be greater than 0\");\n\n // sign depositTx + POST order\n\n const { signal } = createDeltaOrderInput;\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n try {\n const orderToPost = await deltaOrderToPostMut.mutateAsync(\n createDeltaOrderInput\n );\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n const depositTxHash = await sendDepositTxMut.mutateAsync({\n orderHash: orderToPost.orderHash,\n depositAmount: depositAmount.toString(),\n signal,\n });\n\n if (onTxSent) {\n const depositTxReceiptPromise = ensureTxReceipt({\n hash: depositTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\n \"[DepositAndSubmit] onReplaced:txHash\",\n depositTxHash,\n data\n );\n },\n });\n\n logger.log(\n \"[DepositAndSubmit] awaiting depositNativeAndPreSign txHash:\",\n depositTxHash\n );\n\n onTxSent({\n chainId,\n action: \"depositNativeAndPreSign\",\n receiptPromise: depositTxReceiptPromise,\n transactionHash: depositTxHash,\n transactionSpecificData: {\n action: \"depositNativeAndPreSign\",\n order: orderToPost,\n depositAmount,\n },\n });\n }\n\n // 6. POST the Order to API with signature=0x\n const orderFromAPI = await guardUnpostedDeltaOrder({\n order: {\n ...orderToPost,\n timestamp: Date.now(),\n transactionHash: depositTxHash,\n },\n cb: () => postOrderMut.mutateAsync(orderToPost),\n });\n\n return orderFromAPI;\n } catch (error) {\n logger.error(\"[DepositAndSubmit] error\", error);\n throw error;\n }\n };\n\n const reset = () => {\n deltaOrderToPostMut.reset();\n sendDepositTxMut.reset();\n postOrderMut.reset();\n };\n\n return {\n deltaOrderDeposit,\n depositAndSubmitDeltaOrder,\n reset,\n };\n}\n\ntype DepositAndSubmitDeltaOrderInput = {\n createDeltaOrderInput: CreateAndSubmitDeltaOrderInput;\n depositAmount: string;\n onTxSent?: (txSent: TxSentObject) => void;\n};\n\ntype DepositAndSubmitDeltaOrderFunc = (\n input: DepositAndSubmitDeltaOrderInput\n) => Promise<DeltaOrderApiResponse>;\n"],"names":["useDepositAndSubmitDeltaOrder","chainId","account","logger","viemClient","queryClient","useQueryClient","deltaOrderToPostMut","useDeltaOrderToPost","client","depositPrep","isCreatingOrder","isPending","isOrderHashReady","isSuccess","order","data","isError","error","sendDepositTxMut","useSendDepositPreSignDeltaOrderTx","awaitDepositTx","useAwaitTx","hash","depositTx","txHash","receipt","isConfirmingTX","isConfirmingTxError","isTxSent","isTxPending","isLoading","isTxMined","isTxAwaitingError","postOrderMut","usePostDeltaOrder","mutationOptions","onSuccess","log","invalidateQueries","queryKey","deltaOrdersQueryKey","userAddress","user","exact","onError","deltaOrderPosting","isPostingOrder","isOrderSent","deltaOrderDeposit","postingOrder","ensureTxReceipt","useEnsureTxReceipt","depositAndSubmitDeltaOrder","depositAmount","_depositAmount","createDeltaOrderInput","onTxSent","BigInt","assert","isETHaddress","orderInput","srcToken","signal","throwIfAborted","orderToPost","mutateAsync","depositTxHash","orderHash","toString","depositTxReceiptPromise","onReplaced","action","receiptPromise","transactionHash","transactionSpecificData","orderFromAPI","guardUnpostedDeltaOrder","timestamp","Date","now","cb","reset"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePreSignAndSubmitDeltaOrder.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"usePreSignAndSubmitDeltaOrder.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.ts"],"names":[],"mappings":"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"}
|