@velora-dex/widget 0.4.2-dev.2 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (65) hide show
  1. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  2. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +95 -79
  3. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  4. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts +1 -1
  5. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts.map +1 -1
  6. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js +60 -89
  7. package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
  8. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts.map +1 -1
  9. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js +1 -0
  10. package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
  11. package/dist/components/widget/TradeOverview/utils/preWrap.d.ts +4 -1
  12. package/dist/components/widget/TradeOverview/utils/preWrap.d.ts.map +1 -1
  13. package/dist/components/widget/TradeOverview/utils/preWrap.js +2 -1
  14. package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -1
  15. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts +2 -0
  16. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts.map +1 -1
  17. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +236 -3
  18. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  19. package/dist/core/LimitOrderButton.d.ts.map +1 -1
  20. package/dist/core/LimitOrderButton.js +40 -18
  21. package/dist/core/LimitOrderButton.js.map +1 -1
  22. package/dist/core/index.d.ts.map +1 -1
  23. package/dist/core/index.js +46 -24
  24. package/dist/core/index.js.map +1 -1
  25. package/dist/events/types/index.d.ts.map +1 -1
  26. package/dist/hooks/otc/mutations/useFillOrder.js +1 -0
  27. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  28. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts +1 -13
  29. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts.map +1 -1
  30. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js +1 -80
  31. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
  32. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.d.ts.map +1 -1
  33. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js +2 -1
  34. package/dist/hooks/swap/prices/delta/queries/useDeltaLimitOrderRequiredBalance.js.map +1 -1
  35. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  36. package/dist/hooks/swap/prices/useSwapPrices.js +113 -98
  37. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  38. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts +3 -1
  39. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
  40. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +20 -1
  41. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  42. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +2 -3
  43. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  44. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +14 -37
  45. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  46. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +2 -1
  47. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
  48. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +16 -38
  49. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  50. package/dist/hooks/useSDK.d.ts +2 -2
  51. package/dist/hooks/useSDK.d.ts.map +1 -1
  52. package/dist/hooks/useSDK.js +3 -3
  53. package/dist/hooks/useSDK.js.map +1 -1
  54. package/dist/lib/constants/urls.js +6 -2
  55. package/dist/lib/constants/urls.js.map +1 -1
  56. package/dist/lib/web3/privy/config.js +1 -1
  57. package/dist/lib/web3/wagmi/config.js +1 -1
  58. package/dist/styles.css +1 -1
  59. package/dist/transactions/types.d.ts +1 -9
  60. package/dist/transactions/types.d.ts.map +1 -1
  61. package/package.json +2 -2
  62. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts +0 -69
  63. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts.map +0 -1
  64. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +0 -192
  65. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.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 { 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 { excludeBridgesAtom } from \"@/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom\";\nimport { useAtomValue } from \"@/core/store\";\nimport type {\n BridgePrice,\n DeltaPrice,\n OptimalRate,\n SwapSideUnion,\n} from \"@velora-dex/sdk\";\nimport type { 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 { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\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 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 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 // excluded bridges from user preferences\n const excludeBridges = useAtomValue(excludeBridgesAtom);\n // receiver address from user input\n const receiverAddress = useSwapReceiverAddressValue();\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 excludeBridges,\n beneficiary: receiverAddress,\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 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 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 canBeUsed: deltaCanBeUsed,\n queryKey: deltaPriceQueryKey,\n },\n };\n}\n\ntype UseCurrentSwapPriceReturn = {\n isLoading: boolean;\n isError: boolean;\n error: 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 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 queryKey: delta.queryKey,\n };\n}\n"],"names":["useSwapPrices","t0","$","_c","t1","undefined","params","priceParams","isCrossChain","chainId","destChainId","usePricesParams","swapMode","useAtomValue","swapModeAtom","excludeBridges","excludeBridgesAtom","receiverAddress","useSwapReceiverAddressValue","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","beneficiary","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","t14","side","t15","error","isError","isFetching","isLoading","isRefetching","refetch","price","canBeUsed","t16","getSwapSideFromDeltaPrice","t17","t18","userSelectedPriceMode","market","delta","useCurrentSwapPrice","selectedBridgePrice","useSelectedBridgePrice"],"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 { 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 { excludeBridgesAtom } from \"@/components/widget/TradeParameters/state/bridgePreferences/excludeBridgesAtom\";\nimport { useAtomValue } from \"@/core/store\";\nimport type {\n BridgePrice,\n DeltaPrice,\n OptimalRate,\n SwapSideUnion,\n} from \"@velora-dex/sdk\";\nimport type { UseSwapPricesInput } from \"./types\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { isETH, isWETH } from \"@/tokens/utils/eth\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\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 { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\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 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 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 // excluded bridges from user preferences\n const excludeBridges = useAtomValue(excludeBridgesAtom);\n // receiver address from user input\n const receiverAddress = useSwapReceiverAddressValue();\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 // Delta /prices errors when srcToken=ETH;\n // we will pre-wrap ETH->WETH before Swap anyway;\n // be careful not to use deltaPrices.srcToken with the assumption that (tokenFrom=ETH) !== (deltaPrices.srcToken=WETH)\n const srcTokenForDelta = isETH({ address: priceParams.srcToken })\n ? wrappedNativeCurrency[chainId]\n : priceParams.srcToken;\n\n const { result: deltaPriceQuery, queryKey: deltaPriceQueryKey } =\n useDeltaPriceQuery({\n priceParams: {\n ...priceParams,\n srcToken: srcTokenForDelta,\n excludeBridges,\n beneficiary: receiverAddress,\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 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 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 canBeUsed: deltaCanBeUsed,\n queryKey: deltaPriceQueryKey,\n },\n };\n}\n\ntype UseCurrentSwapPriceReturn = {\n isLoading: boolean;\n isError: boolean;\n error: 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 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 queryKey: delta.queryKey,\n };\n}\n"],"names":["useSwapPrices","t0","$","_c","t1","undefined","params","priceParams","isCrossChain","chainId","destChainId","usePricesParams","swapMode","useAtomValue","swapModeAtom","excludeBridges","excludeBridgesAtom","receiverAddress","useSwapReceiverAddressValue","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","wrappedNativeCurrency","srcTokenForDelta","t8","beneficiary","t9","enabled","t10","refetchInterval","PRICE_REFETCH_INTERVAL_MS","staleTime","retry","t11","timeout","query","result","deltaPriceQuery","queryKey","deltaPriceQueryKey","useDeltaPriceQuery","deltaErrorCached","useCachedQueryError","marketEnabled","marketCanBeUsed","marketIsFallback","marketIsMainMode","priceMode","marketRefetchInterval","t12","t13","t14","marketPriceQuery","marketPriceQueryKey","useMarketPriceQuery","t15","side","t16","error","isError","isFetching","isLoading","isRefetching","refetch","price","canBeUsed","t17","getSwapSideFromDeltaPrice","t18","t19","userSelectedPriceMode","market","delta","useCurrentSwapPrice","selectedBridgePrice","useSelectedBridgePrice"],"mappings":"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"}
@@ -53,11 +53,13 @@ export declare function usePreSignAndSubmitDeltaOrder({ chainId, account, logger
53
53
  type PreSignAndSubmitDeltaOrderInput = {
54
54
  createDeltaOrderInput: CreateDeltaOrderInput;
55
55
  approval: Pick<ApprovalFlowResult, "spender" | "allowanceToSet" | "token" | "chainId">;
56
+ preWrapETH?: boolean;
56
57
  onTxSent?: (txSent: CallsSentObject) => void;
57
58
  };
58
59
  type PreSignAndSubmitDeltaOrderFunc = (input: PreSignAndSubmitDeltaOrderInput) => Promise<DeltaOrderApiResponse>;
59
60
  type ShouldApproveOrBatchInput = {
60
61
  approval: Pick<ApprovalFlowResult, "needsApproval" | "allowanceToSet">;
62
+ preWrapETH?: boolean;
61
63
  signPermit: Pick<SignPermitFlowResult, "isPermitSupported" | "isPermitReadyToSign">;
62
64
  canBatchTxs?: boolean;
63
65
  isConnectedToSafe: boolean;
@@ -67,6 +69,6 @@ type ShouldApproveOrBatchResult = {
67
69
  tryPermit: boolean;
68
70
  shouldPreSignBatch: boolean;
69
71
  };
70
- export declare function shouldApproveOrBatch({ approval, signPermit, canBatchTxs, isConnectedToSafe, }: ShouldApproveOrBatchInput): ShouldApproveOrBatchResult;
72
+ export declare function shouldApproveOrBatch({ approval, preWrapETH, signPermit, canBatchTxs, isConnectedToSafe, }: ShouldApproveOrBatchInput): ShouldApproveOrBatchResult;
71
73
  export {};
72
74
  //# sourceMappingURL=usePreSignAndSubmitDeltaOrder.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePreSignAndSubmitDeltaOrder.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"usePreSignAndSubmitDeltaOrder.d.ts","sourceRoot":"","sources":["../../../../../src/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,8 @@ import { useConnectedSafe } from '../../../connectors/useIsConnectedSafe.js';
9
9
  import { useCanBatchTxs } from '../../../batch/useCanBatchTxs.js';
10
10
  import { usePostDeltaOrder } from '../../prices/delta/mutations/usePostDeltaOrder.js';
11
11
  import { useQueryClient } from '@tanstack/react-query';
12
+ import { wrappedNativeCurrency } from '../../../../lib/constants/weth.js';
13
+ import { depositWETHCalldata } from './utils.js';
12
14
  import { assert } from 'ts-essentials';
13
15
  import { useEnsureContractsQuery } from '../../prices/market/queries/useSpenderAndContracts.js';
14
16
 
@@ -124,11 +126,13 @@ function usePreSignAndSubmitDeltaOrder({
124
126
  });
125
127
  const preSignAndSubmitDeltaOrder = async ({
126
128
  createDeltaOrderInput,
129
+ preWrapETH,
127
130
  approval,
128
131
  onTxSent
129
132
  }) => {
130
133
  const {
131
- signal
134
+ signal,
135
+ orderInput
132
136
  } = createDeltaOrderInput;
133
137
  const {
134
138
  orderToPost,
@@ -149,6 +153,16 @@ function usePreSignAndSubmitDeltaOrder({
149
153
  chainId
150
154
  }];
151
155
  const needToApprove = approval.allowanceToSet && approval.allowanceToSet > 0n && approval.spender;
156
+ if (preWrapETH) {
157
+ const wrapAmount = BigInt(orderInput.srcAmount);
158
+ txsParams.unshift({
159
+ to: wrappedNativeCurrency[chainId],
160
+ account,
161
+ data: depositWETHCalldata,
162
+ value: wrapAmount,
163
+ chainId
164
+ });
165
+ }
152
166
  const approveProps = needToApprove ? [{
153
167
  spender: approval.spender,
154
168
  allowanceToSet: approval.allowanceToSet,
@@ -221,6 +235,7 @@ function usePreSignAndSubmitDeltaOrder({
221
235
  }
222
236
  function shouldApproveOrBatch({
223
237
  approval,
238
+ preWrapETH,
224
239
  signPermit,
225
240
  canBatchTxs,
226
241
  isConnectedToSafe
@@ -230,6 +245,10 @@ function shouldApproveOrBatch({
230
245
  const tokenNeedsApproval = approval.needsApproval && allowanceToSet > 0n;
231
246
  let numberOfActions = 1;
232
247
  let numberOfTxs = 0;
248
+ if (preWrapETH) {
249
+ numberOfActions++;
250
+ numberOfTxs++;
251
+ }
233
252
  if (tokenNeedsApproval) {
234
253
  numberOfActions++;
235
254
  if (!tryPermit) {
@@ -1 +1 @@
1
- {"version":3,"file":"usePreSignAndSubmitDeltaOrder.js","sources":["../../../../../src/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.ts"],"sourcesContent":["import { useFetchOnlySDK } from \"@/hooks/useSDK\";\nimport {\n useCreatePreSignableDeltaOrder,\n type DeltaOrderToPost,\n} from \"../../prices/delta/mutations/useCreatePreSignableDeltaOrder\";\nimport {\n useBatchWithApproveTxs,\n type TxParams,\n} from \"@/hooks/batch/useBatchWithApproveTxs\";\nimport { useSendBatchTx } from \"@/hooks/batch/useSendBatchTx\";\nimport {\n useAwaitCalls,\n useEnsureCallsStatus,\n} from \"@/hooks/batch/useAwaitCalls\";\nimport { isAddress, type Address } 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 { useConnectedSafe } from \"@/hooks/connectors/useIsConnectedSafe\";\nimport { useCanBatchTxs } from \"@/hooks/batch/useCanBatchTxs\";\nimport { usePostDeltaOrder } from \"../../prices/delta/mutations/usePostDeltaOrder\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport type { CreateDeltaOrderInput } from \"../../prices/delta/mutations/useCreateDeltaOrder\";\nimport type { CallsSentObject } from \"@/lib/utils/transactionHandlers\";\nimport type {\n ApprovalFlowResult,\n BatchTxStepResult,\n SignPermitFlowResult,\n} from \"./types\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureContractsQuery } from \"../../prices/market/queries/useSpenderAndContracts\";\n\nexport type DeltaOrderPreSignResult = {\n canPreSignBatch: boolean;\n preSignPrep: {\n order?: DeltaOrderToPost;\n isCreatingOrder: boolean;\n isOrderHashReady: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n preSignBatch: BatchTxStepResult;\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 UsePreSignAndSubmitDeltaOrderInput = {\n chainId: SupportedChainId;\n account?: Address;\n logger: LoggerInstance;\n viemClient?: MinViemClient;\n};\n\ntype UsePreSignAndSubmitDeltaOrderResult = {\n deltaOrderPreSign: DeltaOrderPreSignResult;\n canBatchTxs?: boolean;\n isConnectedToSafe: boolean;\n preSignAndSubmitDeltaOrder: PreSignAndSubmitDeltaOrderFunc;\n reset: () => void;\n};\n\nexport function usePreSignAndSubmitDeltaOrder({\n chainId,\n account,\n logger,\n viemClient,\n}: UsePreSignAndSubmitDeltaOrderInput): UsePreSignAndSubmitDeltaOrderResult {\n const queryClient = useQueryClient();\n\n const { forCurrentChain: canBatchTxs } = useCanBatchTxs();\n const isConnectedToSafe = useConnectedSafe();\n\n /* 1. submit Batch tx (Approve + Delta pre-sign) */\n\n const createPreSignableOrderMut = useCreatePreSignableDeltaOrder({\n chainId,\n client: viemClient,\n });\n\n const { sdk: fetchOnlySDK } = useFetchOnlySDK({\n chainId,\n });\n\n const preSignPreparations: DeltaOrderPreSignResult[\"preSignPrep\"] = {\n isCreatingOrder: createPreSignableOrderMut.isPending,\n isOrderHashReady: createPreSignableOrderMut.isSuccess,\n order: createPreSignableOrderMut.data?.orderToPost,\n isPending: createPreSignableOrderMut.isPending,\n isError: createPreSignableOrderMut.isError,\n isSuccess: createPreSignableOrderMut.isSuccess,\n error: createPreSignableOrderMut.error,\n };\n\n const { addTxWithApprovals } = useBatchWithApproveTxs();\n\n const batchTxMut = useSendBatchTx({\n onSuccess: () => {\n logger.log(\"Batch tx success\");\n },\n onError: (error) => {\n logger.error(\"Batch tx error\", error);\n },\n });\n\n /* 2. await Batch tx */\n const batchTxMined = useAwaitCalls({\n id: batchTxMut.data?.id,\n });\n\n // for a successful SendCalls execution there will either be one receipt only,\n // or several receipts with the last one for the last tx from the batch\n const lastCallsReceipt =\n batchTxMined.data?.receipts?.[batchTxMined.data.receipts.length - 1];\n\n const deltaPreSignBatch: BatchTxStepResult = {\n canBatchTxs,\n callsId: batchTxMut.data?.id,\n txHash: lastCallsReceipt?.transactionHash,\n receipt: lastCallsReceipt,\n /* calls sending */\n isConfirmingCalls: batchTxMut.isPending,\n isConfirmingCallsError: batchTxMut.isError,\n isCallsSent: batchTxMut.isSuccess,\n /* calls awaiting */\n isCallsPending: batchTxMined.isLoading,\n isCallsMined: batchTxMined.isSuccess,\n isCallsAwaitingError: batchTxMined.isError,\n /* combined */\n isPending: batchTxMut.isPending || batchTxMined.isLoading,\n isSuccess: batchTxMined.isSuccess,\n isError: batchTxMut.isError || batchTxMined.isError,\n error: batchTxMut.error || batchTxMined.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(\"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(\"Create Delta Order error\", error);\n },\n },\n });\n\n const deltaOrderPosting: DeltaOrderPreSignResult[\"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 deltaOrderPreSign: DeltaOrderPreSignResult = {\n canPreSignBatch: !!canBatchTxs,\n order: postOrderMut.data,\n preSignPrep: preSignPreparations,\n preSignBatch: deltaPreSignBatch,\n postingOrder: deltaOrderPosting,\n isCreatingOrder:\n preSignPreparations.isCreatingOrder ||\n deltaPreSignBatch.isPending ||\n deltaOrderPosting.isPostingOrder,\n isOrderSent: deltaOrderPosting.isOrderSent,\n isPending:\n preSignPreparations.isPending ||\n deltaPreSignBatch.isPending ||\n deltaOrderPosting.isPending,\n isError:\n preSignPreparations.isError ||\n deltaPreSignBatch.isError ||\n deltaOrderPosting.isError,\n isSuccess: deltaOrderPosting.isSuccess,\n error:\n preSignPreparations.error ||\n deltaPreSignBatch.error ||\n deltaOrderPosting.error,\n };\n\n const ensureCallsStatus = useEnsureCallsStatus();\n const { ensureContractsLoaded } = useEnsureContractsQuery({ chainId });\n\n const preSignAndSubmitDeltaOrder: PreSignAndSubmitDeltaOrderFunc = async ({\n createDeltaOrderInput,\n approval,\n onTxSent,\n }) => {\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 const { signal } = createDeltaOrderInput;\n\n const { orderToPost, preSignCalldata } =\n await createPreSignableOrderMut.mutateAsync(createDeltaOrderInput);\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n const { ParaswapDelta: DeltaContract } = await ensureContractsLoaded({\n signal,\n });\n\n assert(\n DeltaContract && isAddress(DeltaContract),\n `DeltaContract is not available on chain ${chainId}`\n );\n\n const txsParams: [TxParams, ...TxParams[]] = [\n {\n to: DeltaContract,\n account,\n data: preSignCalldata,\n value: 0n,\n chainId,\n },\n ];\n\n const needToApprove =\n approval.allowanceToSet &&\n approval.allowanceToSet > 0n &&\n approval.spender;\n\n const approveProps = needToApprove\n ? [\n {\n spender: approval.spender,\n allowanceToSet: approval.allowanceToSet,\n token: approval.token,\n chainId: approval.chainId,\n },\n ]\n : undefined;\n\n // 4. construct a sendCalls batch with Approve Token + setPreSignature call\n const { calls } = await addTxWithApprovals({\n txsParams,\n approveProps,\n });\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n let orderIsPosted = false;\n\n const sendUnsentOrderOnPageHide = () => {\n if (orderIsPosted) return;\n orderIsPosted = true;\n fetchOnlySDK?.postDeltaOrder(orderToPost);\n };\n\n // check if the page was closed after sendCalls succeeded but before the Order was posted.\n // in that case POST the Order just in case the page is never reloaded or localStorage survives until then.\n // `pagehide` event is more reliable on desktop and does not fire on tab switching in browser,\n // but on mobile minimizing the browser doesn't fire `pagehide` event but does `visibilitychange`.\n // with `visibilitychange` though we can't reliably resume the flow because navigator.sendBeacon doesn't return response\n window.addEventListener(\"pagehide\", sendUnsentOrderOnPageHide, {\n once: true,\n });\n // prepared to POST Order in case of page close before sending the Approve+setPreSignature batch tx request,\n // because inside Safe it's very easy to switch page and go to Transactions page by clicking in a popup,\n // so the Widget state will be lost but the Safe would already receive a tx to sign\n // and it's not obvious that the Delta flow was aborted\n const unsubscribeFromPageHide = () => {\n window.removeEventListener(\"pagehide\", sendUnsentOrderOnPageHide);\n };\n\n try {\n // 5. send the Approve+setPreSignature batch tx request to the wallet\n const sendCallsResult = await batchTxMut.sendCalls({\n txsParams: calls,\n });\n\n const sendCallsReceiptPromise = ensureCallsStatus({\n id: sendCallsResult.id,\n }).then((status) => status.receipts?.[status.receipts.length - 1]);\n\n logger.log(\n \"~ deltaOrder ~ awaiting setPreSignature calls id :\",\n sendCallsResult.id\n );\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"preSignDeltaOrder\",\n callsId: sendCallsResult.id,\n receiptPromise: sendCallsReceiptPromise,\n transactionSpecificData: {\n action: \"preSignDeltaOrder\",\n order: orderToPost,\n },\n });\n }\n\n // 6. wait for that batch tx to be mined;\n const res = await sendCallsReceiptPromise;\n logger.log(\"~ deltaOrder ~ setPreSignature calls result :\", res);\n\n // 7. POST the Order to API with signature=0x\n const orderFromAPI = await postOrderMut.mutateAsync(orderToPost);\n orderIsPosted = true;\n\n return orderFromAPI;\n } catch (error) {\n logger.error(\"Pre-sign and submit Delta Order error\", error);\n throw error;\n } finally {\n unsubscribeFromPageHide();\n }\n };\n\n const reset = () => {\n createPreSignableOrderMut.reset();\n batchTxMut.reset();\n postOrderMut.reset();\n };\n\n return {\n deltaOrderPreSign,\n canBatchTxs,\n isConnectedToSafe,\n preSignAndSubmitDeltaOrder,\n reset,\n };\n}\n\ntype PreSignAndSubmitDeltaOrderInput = {\n createDeltaOrderInput: CreateDeltaOrderInput;\n approval: Pick<\n ApprovalFlowResult,\n \"spender\" | \"allowanceToSet\" | \"token\" | \"chainId\"\n >;\n onTxSent?: (txSent: CallsSentObject) => void;\n};\n\ntype PreSignAndSubmitDeltaOrderFunc = (\n input: PreSignAndSubmitDeltaOrderInput\n) => Promise<DeltaOrderApiResponse>;\n\ntype ShouldApproveOrBatchInput = {\n approval: Pick<ApprovalFlowResult, \"needsApproval\" | \"allowanceToSet\">;\n signPermit: Pick<\n SignPermitFlowResult,\n \"isPermitSupported\" | \"isPermitReadyToSign\"\n >;\n canBatchTxs?: boolean;\n isConnectedToSafe: boolean;\n};\n\ntype ShouldApproveOrBatchResult = {\n shouldDoApprovalTxOrPermit: boolean;\n tryPermit: boolean;\n shouldPreSignBatch: boolean;\n};\n\nexport function shouldApproveOrBatch({\n approval,\n signPermit,\n canBatchTxs,\n isConnectedToSafe,\n}: ShouldApproveOrBatchInput): ShouldApproveOrBatchResult {\n // can sign a Permit\n const tryPermit =\n signPermit.isPermitSupported && signPermit.isPermitReadyToSign;\n\n const allowanceToSet = approval.allowanceToSet ?? 0n;\n // need to Approve Token or sign Permit for it\n const tokenNeedsApproval = approval.needsApproval && allowanceToSet > 0n;\n\n let numberOfActions = 1; // Delta Order creation\n let numberOfTxs = 0;\n\n if (tokenNeedsApproval) {\n // needs to approve a token\n numberOfActions++;\n if (!tryPermit) {\n // can't sign a Permit\n numberOfTxs++;\n }\n }\n\n /*\n if connected to Safe, or needs to approve a token with a tx\n and can batch txs, then pre-sign the batch;\n that way Safe does only one action (Approve+setPreSignature batch tx)\n and a wallet that would otherwise potentially 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 let shouldPreSignBatch = false;\n // wallet can batch txs\n if (canBatchTxs) {\n // wallet is Safe and there will be multiple actions Safe needs to perform\n if (isConnectedToSafe && numberOfActions > 1) {\n // do it in one batch tx\n shouldPreSignBatch = true;\n } else if (numberOfTxs > 0 && numberOfActions > 1) {\n // if at least one tx to perform, batch it with actions\n shouldPreSignBatch = true;\n }\n // else if only one action (Delta signing), then can signTypedData only\n }\n\n // will do an Approval of Token (tx or Permit)\n const shouldDoApprovalTxOrPermit = tokenNeedsApproval && !shouldPreSignBatch;\n\n return {\n shouldDoApprovalTxOrPermit,\n tryPermit,\n shouldPreSignBatch,\n };\n}\n"],"names":["usePreSignAndSubmitDeltaOrder","chainId","account","logger","viemClient","queryClient","useQueryClient","forCurrentChain","canBatchTxs","useCanBatchTxs","isConnectedToSafe","useConnectedSafe","createPreSignableOrderMut","useCreatePreSignableDeltaOrder","client","sdk","fetchOnlySDK","useFetchOnlySDK","preSignPreparations","isCreatingOrder","isPending","isOrderHashReady","isSuccess","order","data","orderToPost","isError","error","addTxWithApprovals","useBatchWithApproveTxs","batchTxMut","useSendBatchTx","onSuccess","log","onError","batchTxMined","useAwaitCalls","id","lastCallsReceipt","receipts","length","deltaPreSignBatch","callsId","txHash","transactionHash","receipt","isConfirmingCalls","isConfirmingCallsError","isCallsSent","isCallsPending","isLoading","isCallsMined","isCallsAwaitingError","postOrderMut","usePostDeltaOrder","mutationOptions","invalidateQueries","queryKey","deltaOrdersQueryKey","userAddress","user","exact","deltaOrderPosting","isPostingOrder","isOrderSent","deltaOrderPreSign","canPreSignBatch","preSignPrep","preSignBatch","postingOrder","ensureCallsStatus","useEnsureCallsStatus","ensureContractsLoaded","useEnsureContractsQuery","preSignAndSubmitDeltaOrder","createDeltaOrderInput","approval","onTxSent","signal","preSignCalldata","mutateAsync","throwIfAborted","ParaswapDelta","DeltaContract","assert","isAddress","txsParams","to","value","needToApprove","allowanceToSet","spender","approveProps","token","undefined","calls","orderIsPosted","sendUnsentOrderOnPageHide","postDeltaOrder","window","addEventListener","once","unsubscribeFromPageHide","removeEventListener","sendCallsResult","sendCalls","sendCallsReceiptPromise","then","status","action","receiptPromise","transactionSpecificData","res","orderFromAPI","reset","shouldApproveOrBatch","signPermit","tryPermit","isPermitSupported","isPermitReadyToSign","tokenNeedsApproval","needsApproval","numberOfActions","numberOfTxs","shouldPreSignBatch","shouldDoApprovalTxOrPermit"],"mappings":";;;;;;;;;;;;;;AAiFO,SAASA,6BAAAA,CAA8B;AAAA,EAC5CC,OAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,MAAAA;AAAAA,EACAC;AACkC,CAAA,EAAwC;AAC1E,EAAA,MAAMC,cAAcC,cAAAA,EAAe;AAEnC,EAAA,MAAM;AAAA,IAAEC,eAAAA,EAAiBC;AAAAA,MAAgBC,cAAAA,EAAe;AACxD,EAAA,MAAMC,oBAAoBC,gBAAAA,EAAiB;AAI3C,EAAA,MAAMC,4BAA4BC,8BAAAA,CAA+B;AAAA,IAC/DZ,OAAAA;AAAAA,IACAa,MAAAA,EAAQV;AAAAA,GACT,CAAA;AAED,EAAA,MAAM;AAAA,IAAEW,GAAAA,EAAKC;AAAAA,MAAiBC,eAAAA,CAAgB;AAAA,IAC5ChB;AAAAA,GACD,CAAA;AAED,EAAA,MAAMiB,mBAAAA,GAA8D;AAAA,IAClEC,iBAAiBP,yBAAAA,CAA0BQ,SAAAA;AAAAA,IAC3CC,kBAAkBT,yBAAAA,CAA0BU,SAAAA;AAAAA,IAC5CC,KAAAA,EAAOX,0BAA0BY,IAAAA,EAAMC,WAAAA;AAAAA,IACvCL,WAAWR,yBAAAA,CAA0BQ,SAAAA;AAAAA,IACrCM,SAASd,yBAAAA,CAA0Bc,OAAAA;AAAAA,IACnCJ,WAAWV,yBAAAA,CAA0BU,SAAAA;AAAAA,IACrCK,OAAOf,yBAAAA,CAA0Be;AAAAA,GACnC;AAEA,EAAA,MAAM;AAAA,IAAEC;AAAAA,MAAuBC,sBAAAA,EAAuB;AAEtD,EAAA,MAAMC,aAAaC,cAAAA,CAAe;AAAA,IAChCC,WAAWA,MAAM;AACf7B,MAAAA,MAAAA,CAAO8B,IAAI,kBAAkB,CAAA;AAAA,IAC/B,CAAA;AAAA,IACAC,SAAUP,CAAAA,KAAAA,KAAU;AAClBxB,MAAAA,MAAAA,CAAOwB,KAAAA,CAAM,kBAAkBA,KAAK,CAAA;AAAA,IACtC;AAAA,GACD,CAAA;AAGD,EAAA,MAAMQ,eAAeC,aAAAA,CAAc;AAAA,IACjCC,EAAAA,EAAIP,WAAWN,IAAAA,EAAMa;AAAAA,GACtB,CAAA;AAID,EAAA,MAAMC,gBAAAA,GACJH,aAAaX,IAAAA,EAAMe,QAAAA,GAAWJ,aAAaX,IAAAA,CAAKe,QAAAA,CAASC,SAAS,CAAC,CAAA;AAErE,EAAA,MAAMC,iBAAAA,GAAuC;AAAA,IAC3CjC,WAAAA;AAAAA,IACAkC,OAAAA,EAASZ,WAAWN,IAAAA,EAAMa,EAAAA;AAAAA,IAC1BM,QAAQL,gBAAAA,EAAkBM,eAAAA;AAAAA,IAC1BC,OAAAA,EAASP,gBAAAA;AAAAA;AAAAA,IAETQ,mBAAmBhB,UAAAA,CAAWV,SAAAA;AAAAA,IAC9B2B,wBAAwBjB,UAAAA,CAAWJ,OAAAA;AAAAA,IACnCsB,aAAalB,UAAAA,CAAWR,SAAAA;AAAAA;AAAAA,IAExB2B,gBAAgBd,YAAAA,CAAae,SAAAA;AAAAA,IAC7BC,cAAchB,YAAAA,CAAab,SAAAA;AAAAA,IAC3B8B,sBAAsBjB,YAAAA,CAAaT,OAAAA;AAAAA;AAAAA,IAEnCN,SAAAA,EAAWU,UAAAA,CAAWV,SAAAA,IAAae,YAAAA,CAAae,SAAAA;AAAAA,IAChD5B,WAAWa,YAAAA,CAAab,SAAAA;AAAAA,IACxBI,OAAAA,EAASI,UAAAA,CAAWJ,OAAAA,IAAWS,YAAAA,CAAaT,OAAAA;AAAAA,IAC5CC,KAAAA,EAAOG,UAAAA,CAAWH,KAAAA,IAASQ,YAAAA,CAAaR;AAAAA,GAC1C;AAIA,EAAA,MAAM0B,eAAeC,iBAAAA,CAAkB;AAAA,IACrCrD,OAAAA;AAAAA,IACAC,OAAAA;AAAAA,IACAY,MAAAA,EAAQV,UAAAA;AAAAA,IACRmD,eAAAA,EAAiB;AAAA,MACfvB,WAAYT,CAAAA,KAAAA,KAAU;AACpBpB,QAAAA,MAAAA,CAAO8B,GAAAA,CAAI,8BAA8BV,KAAK,CAAA;AAC9ClB,QAAAA,WAAAA,CAAYmD,iBAAAA,CAAkB;AAAA,UAC5BC,UAAUC,mBAAAA,CAAoB;AAAA,YAC5BC,aAAapC,KAAAA,CAAMqC;AAAAA,WACpB,CAAA;AAAA,UACDC,KAAAA,EAAO;AAAA,SACR,CAAA;AAAA,MACH,CAAA;AAAA,MACA3B,SAAUP,CAAAA,OAAAA,KAAU;AAClBxB,QAAAA,MAAAA,CAAOwB,KAAAA,CAAM,4BAA4BA,OAAK,CAAA;AAAA,MAChD;AAAA;AACF,GACD,CAAA;AAED,EAAA,MAAMmC,iBAAAA,GAA6D;AAAA,IACjEvC,OAAO8B,YAAAA,CAAa7B,IAAAA;AAAAA,IACpBuC,gBAAgBV,YAAAA,CAAajC,SAAAA;AAAAA,IAC7B4C,aAAaX,YAAAA,CAAa/B,SAAAA;AAAAA,IAC1BF,WAAWiC,YAAAA,CAAajC,SAAAA;AAAAA,IACxBM,SAAS2B,YAAAA,CAAa3B,OAAAA;AAAAA,IACtBJ,WAAW+B,YAAAA,CAAa/B,SAAAA;AAAAA,IACxBK,OAAO0B,YAAAA,CAAa1B;AAAAA,GACtB;AAEA,EAAA,MAAMsC,iBAAAA,GAA6C;AAAA,IACjDC,eAAAA,EAAiB,CAAC,CAAC1D,WAAAA;AAAAA,IACnBe,OAAO8B,YAAAA,CAAa7B,IAAAA;AAAAA,IACpB2C,WAAAA,EAAajD,mBAAAA;AAAAA,IACbkD,YAAAA,EAAc3B,iBAAAA;AAAAA,IACd4B,YAAAA,EAAcP,iBAAAA;AAAAA,IACd3C,eAAAA,EACED,mBAAAA,CAAoBC,eAAAA,IACpBsB,iBAAAA,CAAkBrB,aAClB0C,iBAAAA,CAAkBC,cAAAA;AAAAA,IACpBC,aAAaF,iBAAAA,CAAkBE,WAAAA;AAAAA,IAC/B5C,SAAAA,EACEF,mBAAAA,CAAoBE,SAAAA,IACpBqB,iBAAAA,CAAkBrB,aAClB0C,iBAAAA,CAAkB1C,SAAAA;AAAAA,IACpBM,OAAAA,EACER,mBAAAA,CAAoBQ,OAAAA,IACpBe,iBAAAA,CAAkBf,WAClBoC,iBAAAA,CAAkBpC,OAAAA;AAAAA,IACpBJ,WAAWwC,iBAAAA,CAAkBxC,SAAAA;AAAAA,IAC7BK,KAAAA,EACET,mBAAAA,CAAoBS,KAAAA,IACpBc,iBAAAA,CAAkBd,SAClBmC,iBAAAA,CAAkBnC;AAAAA,GACtB;AAEA,EAAA,MAAM2C,oBAAoBC,oBAAAA,EAAqB;AAC/C,EAAA,MAAM;AAAA,IAAEC;AAAAA,MAA0BC,uBAAAA,CAAwB;AAAA,IAAExE;AAAAA,GAAS,CAAA;AAErE,EAAA,MAAMyE,6BAA6D,OAAO;AAAA,IACxEC,qBAAAA;AAAAA,IACAC,QAAAA;AAAAA,IACAC;AAAAA,GACF,KAAM;AAMJ,IAAA,MAAM;AAAA,MAAEC;AAAAA,KAAO,GAAIH,qBAAAA;AAEnB,IAAA,MAAM;AAAA,MAAElD,WAAAA;AAAAA,MAAasD;AAAAA,KAAgB,GACnC,MAAMnE,yBAAAA,CAA0BoE,WAAAA,CAAYL,qBAAqB,CAAA;AAGnEG,IAAAA,MAAAA,EAAQG,cAAAA,EAAe;AAEvB,IAAA,MAAM;AAAA,MAAEC,aAAAA,EAAeC;AAAAA,KAAc,GAAI,MAAMX,qBAAAA,CAAsB;AAAA,MACnEM;AAAAA,KACD,CAAA;AAEDM,IAAAA,MAAAA,CACED,iBAAiBE,SAAAA,CAAUF,aAAa,CAAA,EACxC,CAAA,wCAAA,EAA2ClF,OAAO,CAAA,CACpD,CAAA;AAEA,IAAA,MAAMqF,YAAuC,CAC3C;AAAA,MACEC,EAAAA,EAAIJ,aAAAA;AAAAA,MACJjF,OAAAA;AAAAA,MACAsB,IAAAA,EAAMuD,eAAAA;AAAAA,MACNS,KAAAA,EAAO,EAAA;AAAA,MACPvF;AAAAA,KACD,CAAA;AAGH,IAAA,MAAMwF,gBACJb,QAAAA,CAASc,cAAAA,IACTd,QAAAA,CAASc,cAAAA,GAAiB,MAC1Bd,QAAAA,CAASe,OAAAA;AAEX,IAAA,MAAMC,YAAAA,GAAeH,gBACjB,CACE;AAAA,MACEE,SAASf,QAAAA,CAASe,OAAAA;AAAAA,MAClBD,gBAAgBd,QAAAA,CAASc,cAAAA;AAAAA,MACzBG,OAAOjB,QAAAA,CAASiB,KAAAA;AAAAA,MAChB5F,SAAS2E,QAAAA,CAAS3E;AAAAA,KACnB,CAAA,GAEH6F,MAAAA;AAGJ,IAAA,MAAM;AAAA,MAAEC;AAAAA,KAAM,GAAI,MAAMnE,kBAAAA,CAAmB;AAAA,MACzC0D,SAAAA;AAAAA,MACAM;AAAAA,KACD,CAAA;AAGDd,IAAAA,MAAAA,EAAQG,cAAAA,EAAe;AAEvB,IAAA,IAAIe,aAAAA,GAAgB,KAAA;AAEpB,IAAA,MAAMC,4BAA4BA,MAAM;AACtC,MAAA,IAAID,aAAAA,EAAe;AACnBA,MAAAA,aAAAA,GAAgB,IAAA;AAChBhF,MAAAA,YAAAA,EAAckF,eAAezE,WAAW,CAAA;AAAA,IAC1C,CAAA;AAOA0E,IAAAA,MAAAA,CAAOC,gBAAAA,CAAiB,YAAYH,yBAAAA,EAA2B;AAAA,MAC7DI,IAAAA,EAAM;AAAA,KACP,CAAA;AAKD,IAAA,MAAMC,0BAA0BA,MAAM;AACpCH,MAAAA,MAAAA,CAAOI,mBAAAA,CAAoB,YAAYN,yBAAyB,CAAA;AAAA,IAClE,CAAA;AAEA,IAAA,IAAI;AAEF,MAAA,MAAMO,eAAAA,GAAkB,MAAM1E,UAAAA,CAAW2E,SAAAA,CAAU;AAAA,QACjDnB,SAAAA,EAAWS;AAAAA,OACZ,CAAA;AAED,MAAA,MAAMW,0BAA0BpC,iBAAAA,CAAkB;AAAA,QAChDjC,IAAImE,eAAAA,CAAgBnE;AAAAA,OACrB,CAAA,CAAEsE,IAAAA,CAAMC,CAAAA,MAAAA,KAAWA,MAAAA,CAAOrE,WAAWqE,MAAAA,CAAOrE,QAAAA,CAASC,MAAAA,GAAS,CAAC,CAAC,CAAA;AAEjErC,MAAAA,MAAAA,CAAO8B,GAAAA,CACL,oDAAA,EACAuE,eAAAA,CAAgBnE,EAClB,CAAA;AAEA,MAAA,IAAIwC,QAAAA,EAAU;AACZA,QAAAA,QAAAA,CAAS;AAAA,UACP5E,OAAAA;AAAAA,UACA4G,MAAAA,EAAQ,mBAAA;AAAA,UACRnE,SAAS8D,eAAAA,CAAgBnE,EAAAA;AAAAA,UACzByE,cAAAA,EAAgBJ,uBAAAA;AAAAA,UAChBK,uBAAAA,EAAyB;AAAA,YACvBF,MAAAA,EAAQ,mBAAA;AAAA,YACRtF,KAAAA,EAAOE;AAAAA;AACT,SACD,CAAA;AAAA,MACH;AAGA,MAAA,MAAMuF,MAAM,MAAMN,uBAAAA;AAClBvG,MAAAA,MAAAA,CAAO8B,GAAAA,CAAI,iDAAiD+E,GAAG,CAAA;AAG/D,MAAA,MAAMC,YAAAA,GAAe,MAAM5D,YAAAA,CAAa2B,WAAAA,CAAYvD,WAAW,CAAA;AAC/DuE,MAAAA,aAAAA,GAAgB,IAAA;AAEhB,MAAA,OAAOiB,YAAAA;AAAAA,IACT,SAAStF,OAAAA,EAAO;AACdxB,MAAAA,MAAAA,CAAOwB,KAAAA,CAAM,yCAAyCA,OAAK,CAAA;AAC3D,MAAA,MAAMA,OAAAA;AAAAA,IACR,CAAA,SAAC;AACC2E,MAAAA,uBAAAA,EAAwB;AAAA,IAC1B;AAAA,EACF,CAAA;AAEA,EAAA,MAAMY,QAAQA,MAAM;AAClBtG,IAAAA,yBAAAA,CAA0BsG,KAAAA,EAAM;AAChCpF,IAAAA,UAAAA,CAAWoF,KAAAA,EAAM;AACjB7D,IAAAA,YAAAA,CAAa6D,KAAAA,EAAM;AAAA,EACrB,CAAA;AAEA,EAAA,OAAO;AAAA,IACLjD,iBAAAA;AAAAA,IACAzD,WAAAA;AAAAA,IACAE,iBAAAA;AAAAA,IACAgE,0BAAAA;AAAAA,IACAwC;AAAAA,GACF;AACF;AA+BO,SAASC,oBAAAA,CAAqB;AAAA,EACnCvC,QAAAA;AAAAA,EACAwC,UAAAA;AAAAA,EACA5G,WAAAA;AAAAA,EACAE;AACyB,CAAA,EAA+B;AAExD,EAAA,MAAM2G,SAAAA,GACJD,UAAAA,CAAWE,iBAAAA,IAAqBF,UAAAA,CAAWG,mBAAAA;AAE7C,EAAA,MAAM7B,cAAAA,GAAiBd,SAASc,cAAAA,IAAkB,EAAA;AAElD,EAAA,MAAM8B,kBAAAA,GAAqB5C,QAAAA,CAAS6C,aAAAA,IAAiB/B,cAAAA,GAAiB,EAAA;AAEtE,EAAA,IAAIgC,eAAAA,GAAkB,CAAA;AACtB,EAAA,IAAIC,WAAAA,GAAc,CAAA;AAElB,EAAA,IAAIH,kBAAAA,EAAoB;AAEtBE,IAAAA,eAAAA,EAAAA;AACA,IAAA,IAAI,CAACL,SAAAA,EAAW;AAEdM,MAAAA,WAAAA,EAAAA;AAAAA,IACF;AAAA,EACF;AASA,EAAA,IAAIC,kBAAAA,GAAqB,KAAA;AAEzB,EAAA,IAAIpH,WAAAA,EAAa;AAEf,IAAA,IAAIE,iBAAAA,IAAqBgH,kBAAkB,CAAA,EAAG;AAE5CE,MAAAA,kBAAAA,GAAqB,IAAA;AAAA,IACvB,CAAA,MAAA,IAAWD,WAAAA,GAAc,CAAA,IAAKD,eAAAA,GAAkB,CAAA,EAAG;AAEjDE,MAAAA,kBAAAA,GAAqB,IAAA;AAAA,IACvB;AAAA,EAEF;AAGA,EAAA,MAAMC,0BAAAA,GAA6BL,sBAAsB,CAACI,kBAAAA;AAE1D,EAAA,OAAO;AAAA,IACLC,0BAAAA;AAAAA,IACAR,SAAAA;AAAAA,IACAO;AAAAA,GACF;AACF;;;;"}
1
+ {"version":3,"file":"usePreSignAndSubmitDeltaOrder.js","sources":["../../../../../src/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.ts"],"sourcesContent":["import { useFetchOnlySDK } from \"@/hooks/useSDK\";\nimport {\n useCreatePreSignableDeltaOrder,\n type DeltaOrderToPost,\n} from \"../../prices/delta/mutations/useCreatePreSignableDeltaOrder\";\nimport {\n useBatchWithApproveTxs,\n type TxParams,\n} from \"@/hooks/batch/useBatchWithApproveTxs\";\nimport { useSendBatchTx } from \"@/hooks/batch/useSendBatchTx\";\nimport {\n useAwaitCalls,\n useEnsureCallsStatus,\n} from \"@/hooks/batch/useAwaitCalls\";\nimport { isAddress, type Address } 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 { useConnectedSafe } from \"@/hooks/connectors/useIsConnectedSafe\";\nimport { useCanBatchTxs } from \"@/hooks/batch/useCanBatchTxs\";\nimport { usePostDeltaOrder } from \"../../prices/delta/mutations/usePostDeltaOrder\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport type { CreateDeltaOrderInput } from \"../../prices/delta/mutations/useCreateDeltaOrder\";\nimport type { CallsSentObject } from \"@/lib/utils/transactionHandlers\";\nimport type {\n ApprovalFlowResult,\n BatchTxStepResult,\n SignPermitFlowResult,\n} from \"./types\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\nimport { depositWETHCalldata } from \"./utils\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureContractsQuery } from \"../../prices/market/queries/useSpenderAndContracts\";\n\nexport type DeltaOrderPreSignResult = {\n canPreSignBatch: boolean;\n preSignPrep: {\n order?: DeltaOrderToPost;\n isCreatingOrder: boolean;\n isOrderHashReady: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n preSignBatch: BatchTxStepResult;\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 UsePreSignAndSubmitDeltaOrderInput = {\n chainId: SupportedChainId;\n account?: Address;\n logger: LoggerInstance;\n viemClient?: MinViemClient;\n};\n\ntype UsePreSignAndSubmitDeltaOrderResult = {\n deltaOrderPreSign: DeltaOrderPreSignResult;\n canBatchTxs?: boolean;\n isConnectedToSafe: boolean;\n preSignAndSubmitDeltaOrder: PreSignAndSubmitDeltaOrderFunc;\n reset: () => void;\n};\n\nexport function usePreSignAndSubmitDeltaOrder({\n chainId,\n account,\n logger,\n viemClient,\n}: UsePreSignAndSubmitDeltaOrderInput): UsePreSignAndSubmitDeltaOrderResult {\n const queryClient = useQueryClient();\n\n const { forCurrentChain: canBatchTxs } = useCanBatchTxs();\n const isConnectedToSafe = useConnectedSafe();\n\n /* 1. submit Batch tx (Approve + Delta pre-sign) */\n\n const createPreSignableOrderMut = useCreatePreSignableDeltaOrder({\n chainId,\n client: viemClient,\n });\n\n const { sdk: fetchOnlySDK } = useFetchOnlySDK({\n chainId,\n });\n\n const preSignPreparations: DeltaOrderPreSignResult[\"preSignPrep\"] = {\n isCreatingOrder: createPreSignableOrderMut.isPending,\n isOrderHashReady: createPreSignableOrderMut.isSuccess,\n order: createPreSignableOrderMut.data?.orderToPost,\n isPending: createPreSignableOrderMut.isPending,\n isError: createPreSignableOrderMut.isError,\n isSuccess: createPreSignableOrderMut.isSuccess,\n error: createPreSignableOrderMut.error,\n };\n\n const { addTxWithApprovals } = useBatchWithApproveTxs();\n\n const batchTxMut = useSendBatchTx({\n onSuccess: () => {\n logger.log(\"Batch tx success\");\n },\n onError: (error) => {\n logger.error(\"Batch tx error\", error);\n },\n });\n\n /* 2. await Batch tx */\n const batchTxMined = useAwaitCalls({\n id: batchTxMut.data?.id,\n });\n\n // for a successful SendCalls execution there will either be one receipt only,\n // or several receipts with the last one for the last tx from the batch\n const lastCallsReceipt =\n batchTxMined.data?.receipts?.[batchTxMined.data.receipts.length - 1];\n\n const deltaPreSignBatch: BatchTxStepResult = {\n canBatchTxs,\n callsId: batchTxMut.data?.id,\n txHash: lastCallsReceipt?.transactionHash,\n receipt: lastCallsReceipt,\n /* calls sending */\n isConfirmingCalls: batchTxMut.isPending,\n isConfirmingCallsError: batchTxMut.isError,\n isCallsSent: batchTxMut.isSuccess,\n /* calls awaiting */\n isCallsPending: batchTxMined.isLoading,\n isCallsMined: batchTxMined.isSuccess,\n isCallsAwaitingError: batchTxMined.isError,\n /* combined */\n isPending: batchTxMut.isPending || batchTxMined.isLoading,\n isSuccess: batchTxMined.isSuccess,\n isError: batchTxMut.isError || batchTxMined.isError,\n error: batchTxMut.error || batchTxMined.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(\"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(\"Create Delta Order error\", error);\n },\n },\n });\n\n const deltaOrderPosting: DeltaOrderPreSignResult[\"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 deltaOrderPreSign: DeltaOrderPreSignResult = {\n canPreSignBatch: !!canBatchTxs,\n order: postOrderMut.data,\n preSignPrep: preSignPreparations,\n preSignBatch: deltaPreSignBatch,\n postingOrder: deltaOrderPosting,\n isCreatingOrder:\n preSignPreparations.isCreatingOrder ||\n deltaPreSignBatch.isPending ||\n deltaOrderPosting.isPostingOrder,\n isOrderSent: deltaOrderPosting.isOrderSent,\n isPending:\n preSignPreparations.isPending ||\n deltaPreSignBatch.isPending ||\n deltaOrderPosting.isPending,\n isError:\n preSignPreparations.isError ||\n deltaPreSignBatch.isError ||\n deltaOrderPosting.isError,\n isSuccess: deltaOrderPosting.isSuccess,\n error:\n preSignPreparations.error ||\n deltaPreSignBatch.error ||\n deltaOrderPosting.error,\n };\n\n const ensureCallsStatus = useEnsureCallsStatus();\n const { ensureContractsLoaded } = useEnsureContractsQuery({ chainId });\n\n const preSignAndSubmitDeltaOrder: PreSignAndSubmitDeltaOrderFunc = async ({\n createDeltaOrderInput,\n preWrapETH,\n approval,\n onTxSent,\n }) => {\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 const { signal, orderInput } = createDeltaOrderInput;\n\n const { orderToPost, preSignCalldata } =\n await createPreSignableOrderMut.mutateAsync(createDeltaOrderInput);\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n const { ParaswapDelta: DeltaContract } = await ensureContractsLoaded({\n signal,\n });\n\n assert(\n DeltaContract && isAddress(DeltaContract),\n `DeltaContract is not available on chain ${chainId}`\n );\n\n const txsParams: [TxParams, ...TxParams[]] = [\n {\n to: DeltaContract,\n account,\n data: preSignCalldata,\n value: 0n,\n chainId,\n },\n ];\n\n const needToApprove =\n approval.allowanceToSet &&\n approval.allowanceToSet > 0n &&\n approval.spender;\n\n if (preWrapETH) {\n // add WETH.deposit call,\n // we'll have Approve + Deposit WETH + setPreSignature batch tx;\n // the order doesn't really matter\n\n // avoid using approval.allowanceToSet as it may represent Unlimited Approval\n const wrapAmount = BigInt(orderInput.srcAmount);\n txsParams.unshift({\n to: wrappedNativeCurrency[chainId],\n account,\n data: depositWETHCalldata,\n value: wrapAmount,\n chainId,\n });\n }\n\n const approveProps = needToApprove\n ? [\n {\n spender: approval.spender,\n allowanceToSet: approval.allowanceToSet,\n token: approval.token,\n chainId: approval.chainId,\n },\n ]\n : undefined;\n\n // 4. construct a sendCalls batch with Approve Token + setPreSignature call\n const { calls } = await addTxWithApprovals({\n txsParams,\n approveProps,\n });\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n let orderIsPosted = false;\n\n const sendUnsentOrderOnPageHide = () => {\n if (orderIsPosted) return;\n orderIsPosted = true;\n fetchOnlySDK?.postDeltaOrder(orderToPost);\n };\n\n // check if the page was closed after sendCalls succeeded but before the Order was posted.\n // in that case POST the Order just in case the page is never reloaded or localStorage survives until then.\n // `pagehide` event is more reliable on desktop and does not fire on tab switching in browser,\n // but on mobile minimizing the browser doesn't fire `pagehide` event but does `visibilitychange`.\n // with `visibilitychange` though we can't reliably resume the flow because navigator.sendBeacon doesn't return response\n window.addEventListener(\"pagehide\", sendUnsentOrderOnPageHide, {\n once: true,\n });\n // prepared to POST Order in case of page close before sending the Approve+setPreSignature batch tx request,\n // because inside Safe it's very easy to switch page and go to Transactions page by clicking in a popup,\n // so the Widget state will be lost but the Safe would already receive a tx to sign\n // and it's not obvious that the Delta flow was aborted\n const unsubscribeFromPageHide = () => {\n window.removeEventListener(\"pagehide\", sendUnsentOrderOnPageHide);\n };\n\n try {\n // 5. send the Approve+setPreSignature batch tx request to the wallet\n const sendCallsResult = await batchTxMut.sendCalls({\n txsParams: calls,\n });\n\n const sendCallsReceiptPromise = ensureCallsStatus({\n id: sendCallsResult.id,\n }).then((status) => status.receipts?.[status.receipts.length - 1]);\n\n logger.log(\n \"~ deltaOrder ~ awaiting setPreSignature calls id :\",\n sendCallsResult.id\n );\n\n if (onTxSent) {\n onTxSent({\n chainId,\n action: \"preSignDeltaOrder\",\n callsId: sendCallsResult.id,\n receiptPromise: sendCallsReceiptPromise,\n transactionSpecificData: {\n action: \"preSignDeltaOrder\",\n order: orderToPost,\n },\n });\n }\n\n // 6. wait for that batch tx to be mined;\n const res = await sendCallsReceiptPromise;\n logger.log(\"~ deltaOrder ~ setPreSignature calls result :\", res);\n\n // 7. POST the Order to API with signature=0x\n const orderFromAPI = await postOrderMut.mutateAsync(orderToPost);\n orderIsPosted = true;\n\n return orderFromAPI;\n } catch (error) {\n logger.error(\"Pre-sign and submit Delta Order error\", error);\n throw error;\n } finally {\n unsubscribeFromPageHide();\n }\n };\n\n const reset = () => {\n createPreSignableOrderMut.reset();\n batchTxMut.reset();\n postOrderMut.reset();\n };\n\n return {\n deltaOrderPreSign,\n canBatchTxs,\n isConnectedToSafe,\n preSignAndSubmitDeltaOrder,\n reset,\n };\n}\n\ntype PreSignAndSubmitDeltaOrderInput = {\n createDeltaOrderInput: CreateDeltaOrderInput;\n approval: Pick<\n ApprovalFlowResult,\n \"spender\" | \"allowanceToSet\" | \"token\" | \"chainId\"\n >;\n preWrapETH?: boolean;\n onTxSent?: (txSent: CallsSentObject) => void;\n};\n\ntype PreSignAndSubmitDeltaOrderFunc = (\n input: PreSignAndSubmitDeltaOrderInput\n) => Promise<DeltaOrderApiResponse>;\n\ntype ShouldApproveOrBatchInput = {\n approval: Pick<ApprovalFlowResult, \"needsApproval\" | \"allowanceToSet\">;\n preWrapETH?: boolean;\n signPermit: Pick<\n SignPermitFlowResult,\n \"isPermitSupported\" | \"isPermitReadyToSign\"\n >;\n canBatchTxs?: boolean;\n isConnectedToSafe: boolean;\n};\n\ntype ShouldApproveOrBatchResult = {\n shouldDoApprovalTxOrPermit: boolean;\n tryPermit: boolean;\n shouldPreSignBatch: boolean;\n};\n\nexport function shouldApproveOrBatch({\n approval,\n preWrapETH,\n signPermit,\n canBatchTxs,\n isConnectedToSafe,\n}: ShouldApproveOrBatchInput): ShouldApproveOrBatchResult {\n // can sign a Permit\n const tryPermit =\n signPermit.isPermitSupported && signPermit.isPermitReadyToSign;\n\n const allowanceToSet = approval.allowanceToSet ?? 0n;\n // need to Approve Token or sign Permit for it\n const tokenNeedsApproval = approval.needsApproval && allowanceToSet > 0n;\n\n let numberOfActions = 1; // Delta Order creation\n let numberOfTxs = 0;\n if (preWrapETH) {\n // needs to call WETH.deposit\n numberOfActions++;\n numberOfTxs++;\n }\n if (tokenNeedsApproval) {\n // needs to approve a token\n numberOfActions++;\n if (!tryPermit) {\n // can't sign a Permit\n numberOfTxs++;\n }\n }\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 let shouldPreSignBatch = false;\n // wallet can batch txs\n if (canBatchTxs) {\n // wallet is Safe and there will be multiple actions Safe needs to perform\n if (isConnectedToSafe && numberOfActions > 1) {\n // do it in one batch tx\n shouldPreSignBatch = true;\n } else if (numberOfTxs > 0 && numberOfActions > 1) {\n // if at least one tx to perform, batch it with actions\n shouldPreSignBatch = true;\n }\n // else if only one action (Delta signing), then can signTypedData only\n }\n\n // will do an Approval of Token (tx or Permit)\n const shouldDoApprovalTxOrPermit = tokenNeedsApproval && !shouldPreSignBatch;\n\n return {\n shouldDoApprovalTxOrPermit,\n tryPermit,\n shouldPreSignBatch,\n };\n}\n"],"names":["usePreSignAndSubmitDeltaOrder","chainId","account","logger","viemClient","queryClient","useQueryClient","forCurrentChain","canBatchTxs","useCanBatchTxs","isConnectedToSafe","useConnectedSafe","createPreSignableOrderMut","useCreatePreSignableDeltaOrder","client","sdk","fetchOnlySDK","useFetchOnlySDK","preSignPreparations","isCreatingOrder","isPending","isOrderHashReady","isSuccess","order","data","orderToPost","isError","error","addTxWithApprovals","useBatchWithApproveTxs","batchTxMut","useSendBatchTx","onSuccess","log","onError","batchTxMined","useAwaitCalls","id","lastCallsReceipt","receipts","length","deltaPreSignBatch","callsId","txHash","transactionHash","receipt","isConfirmingCalls","isConfirmingCallsError","isCallsSent","isCallsPending","isLoading","isCallsMined","isCallsAwaitingError","postOrderMut","usePostDeltaOrder","mutationOptions","invalidateQueries","queryKey","deltaOrdersQueryKey","userAddress","user","exact","deltaOrderPosting","isPostingOrder","isOrderSent","deltaOrderPreSign","canPreSignBatch","preSignPrep","preSignBatch","postingOrder","ensureCallsStatus","useEnsureCallsStatus","ensureContractsLoaded","useEnsureContractsQuery","preSignAndSubmitDeltaOrder","createDeltaOrderInput","preWrapETH","approval","onTxSent","signal","orderInput","preSignCalldata","mutateAsync","throwIfAborted","ParaswapDelta","DeltaContract","assert","isAddress","txsParams","to","value","needToApprove","allowanceToSet","spender","wrapAmount","BigInt","srcAmount","unshift","wrappedNativeCurrency","depositWETHCalldata","approveProps","token","undefined","calls","orderIsPosted","sendUnsentOrderOnPageHide","postDeltaOrder","window","addEventListener","once","unsubscribeFromPageHide","removeEventListener","sendCallsResult","sendCalls","sendCallsReceiptPromise","then","status","action","receiptPromise","transactionSpecificData","res","orderFromAPI","reset","shouldApproveOrBatch","signPermit","tryPermit","isPermitSupported","isPermitReadyToSign","tokenNeedsApproval","needsApproval","numberOfActions","numberOfTxs","shouldPreSignBatch","shouldDoApprovalTxOrPermit"],"mappings":"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"}
@@ -7,10 +7,10 @@ import { SupportedChainId } from '../../../lib/web3/wagmi/types';
7
7
  import { CallsSentObject, TxSentObject } from '../../../lib/utils/transactionHandlers';
8
8
  import { OrderSentObject } from '../../../lib/utils/toasts';
9
9
  import { DeltaOrderPreSignResult } from './common/usePreSignAndSubmitDeltaOrder';
10
- import { DeltaOrderDepositResult } from './common/useDepositAndSubmitDeltaOrder';
11
10
  declare const deltaOrderFlowType = "deltaOrder";
12
11
  export type UseDeltaFlowInput = {
13
12
  deltaPrice?: DeltaPrice | BridgePrice;
13
+ preWrapETH?: boolean;
14
14
  };
15
15
  export type SubmitDeltaOrderResult = {
16
16
  tradeFlowType: typeof deltaOrderFlowType;
@@ -68,7 +68,6 @@ export type UseDeltaFlowResult = {
68
68
  approval: ApprovalFlowResult;
69
69
  signPermit: SignPermitFlowResult;
70
70
  deltaOrderPreSign: DeltaOrderPreSignResult;
71
- deltaOrderDeposit: DeltaOrderDepositResult;
72
71
  deltaOrderSubmission: DeltaOrderSubmissionResult;
73
72
  deltaOrderExecution: DeltaOrderExecutionResult;
74
73
  deltaOrderCancelation: DeltaOrderCancelationResult;
@@ -80,6 +79,6 @@ export type UseDeltaFlowResult = {
80
79
  usedPrice?: DeltaPrice | BridgePrice;
81
80
  submittedDeltaOrder?: Omit<DeltaAuction, "signature" | "transactions">;
82
81
  };
83
- export declare function useDeltaFlow({ deltaPrice, }: UseDeltaFlowInput): UseDeltaFlowResult;
82
+ export declare function useDeltaFlow({ deltaPrice, preWrapETH, }: UseDeltaFlowInput): UseDeltaFlowResult;
84
83
  export {};
85
84
  //# sourceMappingURL=useDeltaFlow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDeltaFlow.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/tradeFlow/useDeltaFlow.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,YAAY,EAEZ,UAAU,EACX,MAAM,iBAAiB,CAAC;AAIzB,OAAO,KAAK,EAAE,OAAO,EAA4B,MAAM,MAAM,CAAC;AAC9D,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,wCAAwC,CAAC;AAChD,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACf,MAAM,gBAAgB,CAAC;AAMxB,OAAO,EAIL,KAAK,uBAAuB,EAC7B,MAAM,4CAA4C,CAAC;AAMpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACb,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAgB1D,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,wCAAwC,CAAC;AAchD,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,wCAAwC,CAAC;AAGhD,QAAA,MAAM,kBAAkB,eAAe,CAAC;AAExC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,aAAa,EAAE,OAAO,kBAAkB,CAAC;IACzC,OAAO,EAAE,cAAc,CAAC;IACxB,UAAU,EAAE;QACV,SAAS,EAAE,0BAA0B,CAAC;QACtC,cAAc,EAAE,uBAAuB,CAAC;KACzC,CAAC;IACF,UAAU,EAAE,UAAU,GAAG,WAAW,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,KAAK,QAAQ,GAAG,CAAC,MAAM,EAAE,YAAY,GAAG,eAAe,KAAK,IAAI,CAAC;AAEjE,KAAK,WAAW,GAAG,CAAC,SAAS,EAAE,eAAe,KAAK,IAAI,CAAC;AAMxD,KAAK,oBAAoB,GAAG;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B,CAAC;AAEF,KAAK,0BAA0B,GAAG;IAChC,KAAK,CAAC,EAAE,0BAA0B,CAAC;IACnC,eAAe,EAAE,OAAO,CAAC;IACzB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAC/B,SAAS,CAAC,EAAE,0BAA0B,CAAC;IACvC,cAAc,CAAC,EAAE,uBAAuB,CAAC;IACzC,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF,KAAK,2BAA2B,GAAG;IACjC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,aAAa,EAAE,OAAO,kBAAkB,CAAC;IACzC,OAAO,EAAE,gBAAgB,CAAC;IAC1B,iBAAiB,EAAE,CACjB,OAAO,CAAC,EAAE,oBAAoB,KAC3B,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACrC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,SAAS,EAAE,CACT,OAAO,CAAC,EAAE,oBAAoB,KAC3B,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACrC,gBAAgB,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,UAAU,EAAE,oBAAoB,CAAC;IACjC,iBAAiB,EAAE,uBAAuB,CAAC;IAC3C,iBAAiB,EAAE,uBAAuB,CAAC;IAE3C,oBAAoB,EAAE,0BAA0B,CAAC;IACjD,mBAAmB,EAAE,yBAAyB,CAAC;IAC/C,qBAAqB,EAAE,2BAA2B,CAAC;IACnD,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,SAAS,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;IACrC,mBAAmB,CAAC,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,GAAG,cAAc,CAAC,CAAC;CACxE,CAAC;AAIF,wBAAgB,YAAY,CAAC,EAC3B,UAAU,GACX,EAAE,iBAAiB,GAAG,kBAAkB,CA4uBxC"}
1
+ {"version":3,"file":"useDeltaFlow.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/tradeFlow/useDeltaFlow.ts"],"names":[],"mappings":"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"}
@@ -30,13 +30,12 @@ import { protocolNameAtom } from '../../../components/widget/TradeParameters/sta
30
30
  import { useCancelDeltaOrderEventCallbacks, useCancelDeltaOrders } from '../prices/delta/mutations/useCancelDeltaOrders.js';
31
31
  import { useChainMatches } from '../../useChainMatches.js';
32
32
  import { useSwitchChainWithGuard } from '../../useSwitchChainWithGuard.js';
33
- import { useDepositAndSubmitDeltaOrder } from './common/useDepositAndSubmitDeltaOrder.js';
34
- import { isETHaddress } from '../../../tokens/utils/eth.js';
35
33
 
36
34
  const deltaOrderFlowType = "deltaOrder";
37
35
  const DELTA_ORDER_MUTATION_KEY = "runDeltaOrderFlow";
38
36
  function useDeltaFlow({
39
- deltaPrice
37
+ deltaPrice,
38
+ preWrapETH
40
39
  }) {
41
40
  const logger = useLogger("DeltaFlow");
42
41
  const chainId = useChainId();
@@ -102,24 +101,14 @@ function useDeltaFlow({
102
101
  logger,
103
102
  viemClient: minClient
104
103
  });
105
- const {
106
- deltaOrderDeposit,
107
- reset: resetDepositAndSubmitDeltaOrder,
108
- depositAndSubmitDeltaOrder
109
- } = useDepositAndSubmitDeltaOrder({
110
- chainId,
111
- account,
112
- logger,
113
- viemClient: minClient
114
- });
115
104
  const deltaOrderSubmission = {
116
- order: deltaOrderCreateAndSubmit.order || deltaOrderPreSign.order || deltaOrderDeposit.order,
117
- isCreatingOrder: deltaOrderCreateAndSubmit.isPending || deltaOrderPreSign.isCreatingOrder || deltaOrderDeposit.isCreatingOrder,
118
- isOrderSent: deltaOrderCreateAndSubmit.isSuccess || deltaOrderPreSign.isOrderSent || deltaOrderDeposit.isOrderSent,
119
- isPending: deltaOrderCreateAndSubmit.isPending || deltaOrderPreSign.isPending || deltaOrderDeposit.isPending,
120
- isError: deltaOrderCreateAndSubmit.isError || deltaOrderPreSign.isError || deltaOrderDeposit.isError,
121
- isSuccess: deltaOrderCreateAndSubmit.isSuccess || deltaOrderPreSign.isSuccess || deltaOrderDeposit.isSuccess,
122
- error: deltaOrderCreateAndSubmit.error || deltaOrderPreSign.error || deltaOrderDeposit.error
105
+ order: deltaOrderCreateAndSubmit.order || deltaOrderPreSign.order,
106
+ isCreatingOrder: deltaOrderCreateAndSubmit.isPending || deltaOrderPreSign.isCreatingOrder,
107
+ isOrderSent: deltaOrderCreateAndSubmit.isSuccess || deltaOrderPreSign.isOrderSent,
108
+ isPending: deltaOrderCreateAndSubmit.isPending || deltaOrderPreSign.isPending,
109
+ isError: deltaOrderCreateAndSubmit.isError || deltaOrderPreSign.isError,
110
+ isSuccess: deltaOrderCreateAndSubmit.isSuccess || deltaOrderPreSign.isSuccess,
111
+ error: deltaOrderCreateAndSubmit.error || deltaOrderPreSign.error
123
112
  };
124
113
  const watchOrderExecution = useWatchDeltaAuction({
125
114
  orderId: deltaOrderSubmission.order?.id,
@@ -251,7 +240,6 @@ function useDeltaFlow({
251
240
  createOrderMut.reset();
252
241
  cancelOrderMut.reset();
253
242
  resetPreSignAndSubmitDeltaOrder();
254
- resetDepositAndSubmitDeltaOrder();
255
243
  assert(deltaPrice, "Delta price is not available");
256
244
  const swapSide = getSwapSideFromDeltaPrice(deltaPrice);
257
245
  const abortController = new AbortController();
@@ -266,17 +254,13 @@ function useDeltaFlow({
266
254
  let freshPrice = deltaPrice;
267
255
  let unsubscribeFromPrice;
268
256
  usingPriceRef.current = freshPrice;
269
- const shouldDepositAndPreSign = (
270
- // @TODO [depositNativeAndPreSign] ensureDeltaEthBalance and compare with price.srcAmount to skip the deposit,
271
- // or deposit the difference between user dETH balance and price.srcAmount to avoid unnecessary deposits
272
- isETHaddress(freshPrice.srcToken)
273
- );
274
257
  const {
275
258
  shouldDoApprovalTxOrPermit,
276
259
  tryPermit,
277
260
  shouldPreSignBatch
278
261
  } = shouldApproveOrBatch({
279
262
  approval,
263
+ preWrapETH,
280
264
  signPermit,
281
265
  canBatchTxs,
282
266
  isConnectedToSafe
@@ -439,20 +423,15 @@ function useDeltaFlow({
439
423
  side: swapSide
440
424
  }
441
425
  };
442
- if (shouldDepositAndPreSign) {
443
- orderFromAPI = await depositAndSubmitDeltaOrder({
444
- createDeltaOrderInput: createOrderInput,
445
- depositAmount: createOrderInput.orderInput.srcAmount,
446
- onTxSent
447
- });
448
- } else if (shouldPreSignBatch) {
426
+ if (!shouldPreSignBatch) {
427
+ orderFromAPI = await createOrderMut.mutateAsync(createOrderInput);
428
+ } else {
449
429
  orderFromAPI = await preSignAndSubmitDeltaOrder({
450
430
  createDeltaOrderInput: createOrderInput,
451
431
  approval,
432
+ preWrapETH,
452
433
  onTxSent
453
434
  });
454
- } else {
455
- orderFromAPI = await createOrderMut.mutateAsync(createOrderInput);
456
435
  }
457
436
  if (signedPermitResult) {
458
437
  markNonceAsUsed(signedPermitResult.signedPermitData);
@@ -549,7 +528,6 @@ function useDeltaFlow({
549
528
  deltaOrderMut.reset();
550
529
  cancelOrderMut.reset();
551
530
  resetPreSignAndSubmitDeltaOrder();
552
- resetDepositAndSubmitDeltaOrder();
553
531
  };
554
532
  const retryFlow = (options) => {
555
533
  reset();
@@ -569,7 +547,6 @@ function useDeltaFlow({
569
547
  approval,
570
548
  signPermit,
571
549
  deltaOrderPreSign,
572
- deltaOrderDeposit,
573
550
  deltaOrderSubmission,
574
551
  deltaOrderExecution,
575
552
  deltaOrderCancelation,