@velora-dex/widget 0.2.3 → 0.2.4

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 (94) hide show
  1. package/dist/components/widget/DexesList/DexItem.d.ts.map +1 -1
  2. package/dist/components/widget/DexesList/DexItem.js +57 -62
  3. package/dist/components/widget/DexesList/DexItem.js.map +1 -1
  4. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js +6 -6
  5. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js.map +1 -1
  6. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.d.ts.map +1 -1
  7. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js +0 -5
  8. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  9. package/dist/components/widget/TradeOverview/TradeComplete/utils.d.ts.map +1 -1
  10. package/dist/components/widget/TradeOverview/TradeComplete/utils.js +4 -2
  11. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  12. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.d.ts.map +1 -1
  13. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js +46 -34
  14. package/dist/components/widget/WrapEth/hooks/useWrapEthProps.js.map +1 -1
  15. package/dist/configurator/Configurator.d.ts.map +1 -1
  16. package/dist/core/Updaters.d.ts.map +1 -1
  17. package/dist/core/Updaters.js +2 -0
  18. package/dist/core/Updaters.js.map +1 -1
  19. package/dist/core/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
  20. package/dist/core/inputs/hooks/useTokenFromInputProps.js +25 -16
  21. package/dist/core/inputs/hooks/useTokenFromInputProps.js.map +1 -1
  22. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  23. package/dist/core/inputs/hooks/useTokenToInputProps.js +9 -12
  24. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  25. package/dist/core/inputs/state/common.d.ts +2 -2
  26. package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts.map +1 -1
  27. package/dist/core/inputs/state/selectedTokenActionsAtom.js +34 -25
  28. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  29. package/dist/core/inputs/state/selectedTokenAtom.d.ts +2 -2
  30. package/dist/core/inputs/state/selectedTokenAtom.d.ts.map +1 -1
  31. package/dist/core/inputs/state/selectedTokenAtom.js +9 -2
  32. package/dist/core/inputs/state/selectedTokenAtom.js.map +1 -1
  33. package/dist/core/inputs/state/types.d.ts.map +1 -1
  34. package/dist/core/limit/useLimitRate.js +3 -1
  35. package/dist/core/limit/useLimitRate.js.map +1 -1
  36. package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
  37. package/dist/core/state/widgetEventsAtom.js +4 -4
  38. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  39. package/dist/core/swapDetails/maxToPay.d.ts +11 -0
  40. package/dist/core/swapDetails/maxToPay.d.ts.map +1 -0
  41. package/dist/core/swapDetails/maxToPay.js +41 -0
  42. package/dist/core/swapDetails/maxToPay.js.map +1 -0
  43. package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
  44. package/dist/core/swapDetails/useSwapDetailsListProps.js +9 -2
  45. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  46. package/dist/core/swapDetails/youGet.d.ts.map +1 -1
  47. package/dist/core/swapDetails/youGet.js.map +1 -1
  48. package/dist/events/effects/price.js +3 -3
  49. package/dist/events/effects/price.js.map +1 -1
  50. package/dist/events/effects/swapMode.js +2 -2
  51. package/dist/events/effects/swapMode.js.map +1 -1
  52. package/dist/events/hooks/useOnPriceUpdates.d.ts +2 -0
  53. package/dist/events/hooks/useOnPriceUpdates.d.ts.map +1 -0
  54. package/dist/events/hooks/useOnPriceUpdates.js +104 -0
  55. package/dist/events/hooks/useOnPriceUpdates.js.map +1 -0
  56. package/dist/events/types/priceChange.d.ts +12 -4
  57. package/dist/events/types/priceChange.d.ts.map +1 -1
  58. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +33 -4
  59. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  60. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +98 -29
  61. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  62. package/dist/hooks/swap/prices/delta/queries/utils.d.ts +3 -0
  63. package/dist/hooks/swap/prices/delta/queries/utils.d.ts.map +1 -0
  64. package/dist/hooks/swap/prices/delta/queries/utils.js +9 -0
  65. package/dist/hooks/swap/prices/delta/queries/utils.js.map +1 -0
  66. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +35 -2
  67. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
  68. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +102 -98
  69. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  70. package/dist/hooks/swap/prices/useSwapPrices.d.ts +8 -0
  71. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  72. package/dist/hooks/swap/prices/useSwapPrices.js +234 -99
  73. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  74. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  75. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +13 -20
  76. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  77. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +1 -1
  78. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  79. package/dist/hooks/useCachedQueryError.d.ts +3 -0
  80. package/dist/hooks/useCachedQueryError.d.ts.map +1 -0
  81. package/dist/hooks/useCachedQueryError.js +11 -0
  82. package/dist/hooks/useCachedQueryError.js.map +1 -0
  83. package/dist/index.d.ts +2 -1
  84. package/dist/index.d.ts.map +1 -1
  85. package/dist/lib/web3/privy/config.js +1 -1
  86. package/dist/lib/web3/wagmi/config.js +1 -1
  87. package/dist/styles.css +1 -1
  88. package/dist/tokens/overrides.d.ts +13 -2
  89. package/dist/tokens/overrides.d.ts.map +1 -1
  90. package/dist/tokens/overrides.js +71 -3
  91. package/dist/tokens/overrides.js.map +1 -1
  92. package/dist/tokens/types.d.ts +4 -0
  93. package/dist/tokens/types.d.ts.map +1 -1
  94. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"useMarketPriceQuery.js","sources":["../../../../../../src/hooks/swap/prices/market/queries/useMarketPriceQuery.ts"],"sourcesContent":["import { useMarketSwapSDK } from \"@/hooks/useSDK\";\nimport { useDebouncedValue } from \"@tanstack/react-pacer/debouncer\";\nimport {\n Query,\n QueryClient,\n QueryObserver,\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type {\n OptimalRate,\n GetRateInput as GetRateInputSDK,\n} from \"@velora-dex/sdk\";\nimport { assert, type MarkOptional, type Prettify } from \"ts-essentials\";\n\ntype GetRateInput = Prettify<GetRateInputSDK>;\n\ntype RequiredRateParams = Prettify<\n Omit<GetRateInput, \"options\"> & GetRateInput[\"options\"]\n>;\n\nexport type RateParamsInput = MarkOptional<RequiredRateParams, \"destToken\">;\n\ntype MarketQueryParams<TData = OptimalRate> = Omit<\n UseQueryOptions<OptimalRate, Error, TData, MarketPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype MarketQueryResult<TData = OptimalRate> = UseQueryResult<TData, Error>;\n\ntype MarketPriceQueryInput<TData = OptimalRate> = {\n priceParams: RateParamsInput;\n query?: MarketQueryParams<TData>;\n chainId: number;\n timeout?: number;\n};\n\nexport const MarketPriceQueryKeyPrefix = \"swap/prices/market\";\n\ntype MarketPriceQueryKey = [\n base: typeof MarketPriceQueryKeyPrefix,\n chainId: number,\n priceParams: RateParamsInput,\n];\n\nexport function useMarketPriceQuery<TData = OptimalRate>({\n priceParams,\n query,\n chainId,\n timeout,\n}: MarketPriceQueryInput<TData>): MarketQueryResult<TData> {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n const queryEnabled = query?.enabled ?? true;\n\n // amount tends to change fast during input\n const [debouncedAmount] = useDebouncedValue(priceParams.amount, {\n wait: 500,\n });\n\n // avoid passing unnecessary params to url?search and queryKey\n const sanitizedPriceParams: MarkOptional<GetRateInput, \"destToken\"> = {\n amount: debouncedAmount,\n userAddress: priceParams.userAddress,\n side: priceParams.side,\n srcDecimals: priceParams.srcDecimals,\n destDecimals: priceParams.destDecimals,\n srcToken: priceParams.srcToken,\n destToken: priceParams.destToken,\n options: {\n excludeDEXS: priceParams.excludeDEXS,\n includeDEXS: priceParams.includeDEXS,\n excludePools: priceParams.excludePools,\n excludeContractMethods: priceParams.excludeContractMethods,\n includeContractMethods: priceParams.includeContractMethods,\n partner: priceParams.partner,\n maxImpact: priceParams.maxImpact,\n maxUSDImpact: priceParams.maxUSDImpact,\n otherExchangePrices: priceParams.otherExchangePrices,\n ignoreBadUsdPrice: priceParams.ignoreBadUsdPrice,\n excludeRFQ: priceParams.excludeRFQ,\n excludeContractMethodsWithoutFeeModel:\n priceParams.excludeContractMethodsWithoutFeeModel,\n srcTokenTransferFee: priceParams.srcTokenTransferFee,\n destTokenTransferFee: priceParams.destTokenTransferFee,\n srcTokenDexTransferFee: priceParams.srcTokenDexTransferFee,\n destTokenDexTransferFee: priceParams.destTokenDexTransferFee,\n },\n };\n\n return useQuery<OptimalRate, Error, TData, MarketPriceQueryKey>({\n queryKey: [MarketPriceQueryKeyPrefix, chainId, sanitizedPriceParams],\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getRate(sanitizedPriceParams, { signal, timeout });\n return price;\n },\n ...query,\n enabled: queryEnabled && isPriceParamsValid(sanitizedPriceParams),\n });\n}\n\nfunction isPriceParamsValid(\n priceParams: MarkOptional<GetRateInput, \"destToken\">\n): priceParams is GetRateInput {\n return !!priceParams.destToken && Number(priceParams.amount) > 0;\n}\n\ntype GetMarketPriceQueryForPriceInput = {\n price: OptimalRate;\n chainId: number;\n};\n\ntype MarketPriceQuery = Query<\n OptimalRate,\n Error,\n OptimalRate,\n MarketPriceQueryKey\n>;\n\ntype GetMarketPriceQueryForPrice = (\n input: GetMarketPriceQueryForPriceInput\n) => Query<OptimalRate, Error, OptimalRate, MarketPriceQueryKey> | undefined;\n\n// get query for a given marketPrice\nexport function useMarketPriceQueryForPrice(): GetMarketPriceQueryForPrice {\n const queryClient = useQueryClient();\n\n return ({ chainId, price }) => {\n const queryKey: [MarketPriceQueryKey[0], MarketPriceQueryKey[1]] = [\n MarketPriceQueryKeyPrefix,\n chainId,\n ];\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<OptimalRate, Error, OptimalRate>({\n queryKey,\n exact: false,\n predicate: (query) => {\n return query.state.data === price;\n },\n });\n\n return query as MarketPriceQuery | undefined;\n };\n}\n\ntype SubscribeToMarketPriceInput = {\n queryKey: MarketPriceQueryKey;\n onData?: (data: OptimalRate) => void;\n onError?: (error: Error) => void;\n};\n\ntype SubscribeToMarketPriceResult = (\n input: SubscribeToMarketPriceInput\n) => () => void;\n\n// independently subscribe to a price query\nexport function useSubscribeToMarketPrice(): SubscribeToMarketPriceResult {\n const queryClient = useQueryClient();\n\n return ({ queryKey, onData, onError }) => {\n const observer = new QueryObserver<\n OptimalRate,\n Error,\n OptimalRate,\n OptimalRate,\n MarketPriceQueryKey\n >(queryClient, {\n queryKey,\n // only receive updates from existing subscriptions\n enabled: false,\n });\n\n // return unsubscribe function\n return observer.subscribe((result) => {\n if (result.error) {\n onError?.(result.error);\n return;\n }\n if (result.data) {\n onData?.(result.data);\n }\n });\n };\n}\n\nexport function getLastMarketPrice(\n queryClient: QueryClient\n): OptimalRate | undefined {\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<OptimalRate, Error, OptimalRate>({\n queryKey: [MarketPriceQueryKeyPrefix],\n exact: false,\n type: \"active\", // only the most recent query will be active\n });\n\n return query?.state.data;\n}\n\nexport function isDataMarketPrice(price: unknown): price is OptimalRate {\n return (\n typeof price === \"object\" &&\n price !== null &&\n \"bestRoute\" in price &&\n \"srcToken\" in price &&\n \"destToken\" in price &&\n \"srcAmount\" in price &&\n \"destAmount\" in price\n );\n}\n"],"names":["MarketPriceQueryKeyPrefix","useMarketPriceQuery","t0","$","_c","priceParams","query","chainId","timeout","t1","sdk","useMarketSwapSDK","queryEnabled","enabled","t2","Symbol","for","wait","debouncedAmount","useDebouncedValue","amount","t3","t4","t5","t6","t7","destDecimals","destToken","destTokenDexTransferFee","destTokenTransferFee","excludeContractMethods","excludeContractMethodsWithoutFeeModel","excludeDEXS","excludePools","excludeRFQ","ignoreBadUsdPrice","includeContractMethods","includeDEXS","maxImpact","maxUSDImpact","otherExchangePrices","partner","side","srcDecimals","srcToken","srcTokenDexTransferFee","srcTokenTransferFee","userAddress","sanitizedPriceParams","options","useQuery","t8","signal","assert","isPriceParamsValid","price","getRate","queryKey","queryFn","Number","useMarketPriceQueryForPrice","queryClient","useQueryClient","queryCache","getQueryCache","query_0","find","exact","predicate","state","data","useSubscribeToMarketPrice","onData","onError","observer","QueryObserver","subscribe","result","error","getLastMarketPrice","type","isDataMarketPrice"],"mappings":"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"}
1
+ {"version":3,"file":"useMarketPriceQuery.js","sources":["../../../../../../src/hooks/swap/prices/market/queries/useMarketPriceQuery.ts"],"sourcesContent":["import { useMarketSwapSDK } from \"@/hooks/useSDK\";\nimport { useDebouncedValue } from \"@tanstack/react-pacer/debouncer\";\nimport {\n Query,\n QueryClient,\n QueryObserver,\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport type {\n OptimalRate,\n GetRateInput as GetRateInputSDK,\n} from \"@velora-dex/sdk\";\nimport { useMemo } from \"react\";\nimport { assert, type MarkOptional, type Prettify } from \"ts-essentials\";\n\ntype GetRateInput = Prettify<GetRateInputSDK>;\n\ntype RequiredRateParams = Prettify<\n Omit<GetRateInput, \"options\"> & GetRateInput[\"options\"]\n>;\n\nexport type RateParamsInput = MarkOptional<RequiredRateParams, \"destToken\">;\n\ntype MarketQueryParams<TData = OptimalRate> = Omit<\n UseQueryOptions<OptimalRate, Error, TData, MarketPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype MarketQueryResult<TData = OptimalRate> = UseQueryResult<TData, Error>;\n\ntype MarketPriceQueryInput<TData = OptimalRate> = {\n priceParams: RateParamsInput;\n query?: MarketQueryParams<TData>;\n chainId: number;\n timeout?: number;\n};\n\nexport const MarketPriceQueryKeyPrefix = \"swap/prices/market\";\n\nexport type MarketPriceQueryKey = [\n base: typeof MarketPriceQueryKeyPrefix,\n chainId: number,\n priceParams: RateParamsInput,\n];\n\nexport function useMarketPriceQuery<TData = OptimalRate>({\n priceParams,\n query,\n chainId,\n timeout,\n}: MarketPriceQueryInput<TData>): {\n result: MarketQueryResult<TData>;\n queryKey: MarketPriceQueryKey;\n} {\n const { sdk } = useMarketSwapSDK({ chainId });\n\n const queryEnabled = query?.enabled ?? true;\n\n const { queryKey, sanitizedPriceParams } = useMarketPriceQueryKey({\n priceParams,\n chainId,\n });\n\n const result = useQuery<OptimalRate, Error, TData, MarketPriceQueryKey>({\n queryKey,\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getRate(sanitizedPriceParams, { signal, timeout });\n return price;\n },\n ...query,\n enabled: queryEnabled && isPriceParamsValid(sanitizedPriceParams),\n });\n\n return { result, queryKey };\n}\n\nfunction isPriceParamsValid(\n priceParams: MarkOptional<GetRateInput, \"destToken\">\n): priceParams is GetRateInput {\n return !!priceParams.destToken && Number(priceParams.amount) > 0;\n}\n\ntype GetMarketPriceQueryForPriceInput = {\n price: OptimalRate;\n chainId: number;\n};\n\ntype MarketPriceQuery = Query<\n OptimalRate,\n Error,\n OptimalRate,\n MarketPriceQueryKey\n>;\n\ntype GetMarketPriceQueryForPrice = (\n input: GetMarketPriceQueryForPriceInput\n) => Query<OptimalRate, Error, OptimalRate, MarketPriceQueryKey> | undefined;\n\n// get query for a given marketPrice\nexport function useMarketPriceQueryForPrice(): GetMarketPriceQueryForPrice {\n const queryClient = useQueryClient();\n\n return ({ chainId, price }) => {\n const queryKey: [MarketPriceQueryKey[0], MarketPriceQueryKey[1]] = [\n MarketPriceQueryKeyPrefix,\n chainId,\n ];\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<OptimalRate, Error, OptimalRate>({\n queryKey,\n exact: false,\n predicate: (query) => {\n return query.state.data === price;\n },\n });\n\n return query as MarketPriceQuery | undefined;\n };\n}\n\ntype SubscribeToMarketPriceInput = {\n queryKey: MarketPriceQueryKey;\n onData?: (data: OptimalRate) => void;\n onError?: (error: Error) => void;\n};\n\ntype SubscribeToMarketPriceResult = (\n input: SubscribeToMarketPriceInput\n) => () => void;\n\n// independently subscribe to a price query\nexport function useSubscribeToMarketPrice(): SubscribeToMarketPriceResult {\n const queryClient = useQueryClient();\n\n return ({ queryKey, onData, onError }) => {\n const observer = new QueryObserver<\n OptimalRate,\n Error,\n OptimalRate,\n OptimalRate,\n MarketPriceQueryKey\n >(queryClient, {\n queryKey,\n // only receive updates from existing subscriptions\n enabled: false,\n });\n\n // return unsubscribe function\n return observer.subscribe((result) => {\n if (result.error) {\n onError?.(result.error);\n return;\n }\n if (result.data) {\n onData?.(result.data);\n }\n });\n };\n}\n\nexport function getLastMarketPrice(\n queryClient: QueryClient\n): OptimalRate | undefined {\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<OptimalRate, Error, OptimalRate>({\n queryKey: [MarketPriceQueryKeyPrefix],\n exact: false,\n type: \"active\", // only the most recent query will be active\n });\n\n return query?.state.data;\n}\n\nexport function isDataMarketPrice(price: unknown): price is OptimalRate {\n return (\n typeof price === \"object\" &&\n price !== null &&\n \"bestRoute\" in price &&\n \"srcToken\" in price &&\n \"destToken\" in price &&\n \"srcAmount\" in price &&\n \"destAmount\" in price\n );\n}\n\nexport function useMarketPriceQueryKey({\n priceParams,\n chainId,\n}: Pick<MarketPriceQueryInput, \"priceParams\" | \"chainId\">) {\n \"use no memo\";\n\n // amount tends to change fast during input\n const [debouncedAmount] = useDebouncedValue(priceParams.amount, {\n wait: 500,\n });\n\n return useMemo(() => {\n // avoid passing unnecessary params to url?search and queryKey\n const sanitizedPriceParams = {\n amount: debouncedAmount,\n userAddress: priceParams.userAddress,\n side: priceParams.side,\n srcDecimals: priceParams.srcDecimals,\n destDecimals: priceParams.destDecimals,\n srcToken: priceParams.srcToken,\n destToken: priceParams.destToken,\n options: {\n excludeDEXS: priceParams.excludeDEXS,\n includeDEXS: priceParams.includeDEXS,\n excludePools: priceParams.excludePools,\n excludeContractMethods: priceParams.excludeContractMethods,\n includeContractMethods: priceParams.includeContractMethods,\n partner: priceParams.partner,\n maxImpact: priceParams.maxImpact,\n maxUSDImpact: priceParams.maxUSDImpact,\n otherExchangePrices: priceParams.otherExchangePrices,\n ignoreBadUsdPrice: priceParams.ignoreBadUsdPrice,\n excludeRFQ: priceParams.excludeRFQ,\n excludeContractMethodsWithoutFeeModel:\n priceParams.excludeContractMethodsWithoutFeeModel,\n srcTokenTransferFee: priceParams.srcTokenTransferFee,\n destTokenTransferFee: priceParams.destTokenTransferFee,\n srcTokenDexTransferFee: priceParams.srcTokenDexTransferFee,\n destTokenDexTransferFee: priceParams.destTokenDexTransferFee,\n },\n };\n\n const queryKey: MarketPriceQueryKey = [\n MarketPriceQueryKeyPrefix,\n chainId,\n sanitizedPriceParams,\n ];\n\n return { queryKey, sanitizedPriceParams };\n }, [\n chainId,\n debouncedAmount,\n priceParams.destDecimals,\n priceParams.destToken,\n priceParams.destTokenDexTransferFee,\n priceParams.destTokenTransferFee,\n priceParams.excludeContractMethods,\n priceParams.excludeContractMethodsWithoutFeeModel,\n priceParams.excludeDEXS,\n priceParams.excludePools,\n priceParams.excludeRFQ,\n priceParams.ignoreBadUsdPrice,\n priceParams.includeContractMethods,\n priceParams.includeDEXS,\n priceParams.maxImpact,\n priceParams.maxUSDImpact,\n priceParams.otherExchangePrices,\n priceParams.partner,\n priceParams.side,\n priceParams.srcDecimals,\n priceParams.srcToken,\n priceParams.srcTokenDexTransferFee,\n priceParams.srcTokenTransferFee,\n priceParams.userAddress,\n ]);\n}\n"],"names":["MarketPriceQueryKeyPrefix","useMarketPriceQuery","t0","$","_c","priceParams","query","chainId","timeout","t1","sdk","useMarketSwapSDK","queryEnabled","enabled","t2","queryKey","sanitizedPriceParams","useMarketPriceQueryKey","t3","t4","signal","assert","isPriceParamsValid","price","getRate","t5","queryFn","result","useQuery","t6","destToken","Number","amount","useMarketPriceQueryForPrice","queryClient","useQueryClient","queryCache","getQueryCache","query_0","find","exact","predicate","state","data","useSubscribeToMarketPrice","onData","onError","observer","QueryObserver","subscribe","error","getLastMarketPrice","type","isDataMarketPrice","debouncedAmount","useDebouncedValue","wait","useMemo","userAddress","side","srcDecimals","destDecimals","srcToken","options","excludeDEXS","includeDEXS","excludePools","excludeContractMethods","includeContractMethods","partner","maxImpact","maxUSDImpact","otherExchangePrices","ignoreBadUsdPrice","excludeRFQ","excludeContractMethodsWithoutFeeModel","srcTokenTransferFee","destTokenTransferFee","srcTokenDexTransferFee","destTokenDexTransferFee"],"mappings":";;;;;;;AAuCO,MAAMA,yBAAAA,GAA4B;AAQlC,SAAAC,oBAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAkD,EAAA,MAAA;AAAA,IAAAC,WAAAA;AAAAA,IAAAC,KAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAN,EAAAA;AAK1B,EAAA,IAAAO,EAAAA;AAAA,EAAA,IAAAN,CAAAA,QAAAI,OAAAA,EAAA;AAIIE,IAAAA,EAAAA,GAAA;AAAA,MAAAF;AAAAA,KAAU;AAACJ,IAAAA,CAAAA,MAAAI,OAAAA;AAAAJ,IAAAA,CAAAA,MAAAM,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAN,EAAA,CAAA,CAAA;AAAA,EAAA;AAA5C,EAAA,MAAA;AAAA,IAAAO;AAAAA,GAAA,GAAgBC,iBAAiBF,EAAW,CAAA;AAE5C,EAAA,MAAAG,YAAAA,GAAqBN,OAAKO,OAAAA,IAAL,IAAA;AAAuB,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAX,EAAA,CAAA,CAAA,KAAAI,WAAAJ,CAAAA,QAAAE,WAAAA,EAAA;AAEsBS,IAAAA,EAAAA,GAAA;AAAA,MAAAT,WAAAA;AAAAA,MAAAE;AAAAA,KAGlE;AAACJ,IAAAA,CAAAA,MAAAI,OAAAA;AAAAJ,IAAAA,CAAAA,MAAAE,WAAAA;AAAAF,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAA;AAAA,IAAAY,QAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAA2CC,uBAAuBH,EAGjE,CAAA;AAAE,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAf,CAAAA,CAAA,CAAA,CAAA,KAAAa,oBAAAA,IAAAb,CAAAA,QAAAO,GAAAA,IAAAP,CAAAA,CAAA,CAAA,CAAA,KAAAK,OAAAA,EAAA;AAIQU,IAAAA,EAAAA,GAAAC,CAAAA,GAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAC;AAAAA,OAAA,GAAAD,GAAAA;AACRE,MAAAA,MAAAA,CAAOC,kBAAAA,CAAmBN,oBAAoB,CAAA,EAAG,uBAAuB,CAAA;AACxE,MAAA,MAAAO,KAAAA,GAAcb,GAAAA,CAAGc,OAAAA,CAASR,oBAAAA,EAAsB;AAAA,QAAAI,MAAAA;AAAAA,QAAAZ;AAAAA,OAAmB,CAAA;AAAE,MAAA,OAC9De,KAAAA;AAAAA,IAAK,CAAA;AACbpB,IAAAA,CAAAA,MAAAa,oBAAAA;AAAAb,IAAAA,CAAAA,MAAAO,GAAAA;AAAAP,IAAAA,CAAAA,MAAAK,OAAAA;AAAAL,IAAAA,CAAAA,MAAAe,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAf,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAgB,EAAAA;AAAA,EAAA,IAAAhB,EAAA,CAAA,CAAA,KAAAS,gBAAAT,CAAAA,SAAAa,oBAAAA,EAAA;AAEQG,IAAAA,EAAAA,GAAAP,YAAAA,IAAgBU,mBAAmBN,oBAAoB,CAAA;AAACb,IAAAA,CAAAA,MAAAS,YAAAA;AAAAT,IAAAA,CAAAA,OAAAa,oBAAAA;AAAAb,IAAAA,CAAAA,OAAAgB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAhB,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAsB,EAAAA;AAAA,EAAA,IAAAtB,CAAAA,CAAA,EAAA,CAAA,KAAAG,KAAAA,IAAAH,EAAA,EAAA,CAAA,KAAAY,QAAAA,IAAAZ,CAAAA,CAAA,EAAA,CAAA,KAAAe,EAAAA,IAAAf,CAAAA,SAAAgB,EAAAA,EAAA;AARKM,IAAAA,EAAAA,GAAA;AAAA,MAAAV,QAAAA;AAAAA,MAAAW,OAAAA,EAE7DR,EAAAA;AAAAA,MAIR,GACEZ,KAAAA;AAAAA,MAAKO,OAAAA,EACCM;AAAAA,KACX;AAAChB,IAAAA,CAAAA,OAAAG,KAAAA;AAAAH,IAAAA,CAAAA,OAAAY,QAAAA;AAAAZ,IAAAA,CAAAA,OAAAe,EAAAA;AAAAf,IAAAA,CAAAA,OAAAgB,EAAAA;AAAAhB,IAAAA,CAAAA,OAAAsB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAtB,EAAA,EAAA,CAAA;AAAA,EAAA;AATD,EAAA,MAAAwB,MAAAA,GAAeC,SAAyDH,EASvE,CAAA;AAAE,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAA1B,EAAA,EAAA,CAAA,KAAAY,YAAAZ,CAAAA,SAAAwB,MAAAA,EAAA;AAEIE,IAAAA,EAAAA,GAAA;AAAA,MAAAF,MAAAA;AAAAA,MAAAZ;AAAAA,KAAmB;AAACZ,IAAAA,CAAAA,OAAAY,QAAAA;AAAAZ,IAAAA,CAAAA,OAAAwB,MAAAA;AAAAxB,IAAAA,CAAAA,OAAA0B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA1B,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAApB0B,EAAAA;AAAoB;AAG7B,SAASP,mBACPjB,WAAAA,EAC6B;AAC7B,EAAA,OAAO,CAAC,CAACA,WAAAA,CAAYyB,aAAaC,MAAAA,CAAO1B,WAAAA,CAAY2B,MAAM,CAAA,GAAI,CAAA;AACjE;AAmBO,SAAAC,2BAAAA,GAAA;AAAA,EAAA,MAAA9B,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAA8B,cAAoBC,cAAAA,EAAe;AAAE,EAAA,IAAAjC,EAAAA;AAAA,EAAA,IAAAC,CAAAA,QAAA+B,WAAAA,EAAA;AAE9BhC,IAAAA,EAAAA,GAAAO,CAAAA,EAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAF,OAAAA;AAAAA,QAAAgB;AAAAA,OAAA,GAAAd,EAAAA;AACN,MAAA,MAAAM,QAAAA,GAAmE,CACjEf,yBAAAA,EACAO,OAAO,CAAA;AAET,MAAA,MAAA6B,UAAAA,GAAmBF,YAAWG,aAAAA,EAAe;AAC7C,MAAA,MAAAC,OAAAA,GAAcF,WAAUG,IAAAA,CAAuC;AAAA,QAAAxB,QAAAA;AAAAA,QAAAyB,KAAAA,EAEtD,KAAA;AAAA,QAAKC,SAAAA,EACDnC,CAAAA,KAAAA,KACFA,KAAAA,CAAKoC,KAAAA,CAAMC,IAAAA,KAAUpB;AAAAA,OAE/B,CAAA;AAAE,MAAA,OAEIjB,OAAAA;AAAAA,IAAqC,CAAA;AAC7CH,IAAAA,CAAAA,MAAA+B,WAAAA;AAAA/B,IAAAA,CAAAA,MAAAD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAC,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAfMD,EAAAA;AAeN;AAcI,SAAA0C,yBAAAA,GAAA;AAAA,EAAA,MAAAzC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAA8B,cAAoBC,cAAAA,EAAe;AAAE,EAAA,IAAAjC,EAAAA;AAAA,EAAA,IAAAC,CAAAA,QAAA+B,WAAAA,EAAA;AAE9BhC,IAAAA,EAAAA,GAAAO,CAAAA,EAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAM,QAAAA;AAAAA,QAAA8B,MAAAA;AAAAA,QAAAC;AAAAA,OAAA,GAAArC,EAAAA;AACN,MAAA,MAAAsC,QAAAA,GAAiB,IAAIC,aAAAA,CAMnBd,WAAAA,EAAa;AAAA,QAAAnB,QAAAA;AAAAA,QAAAF,OAAAA,EAGJ;AAAA,OACV,CAAA;AAAE,MAAA,OAGIkC,QAAAA,CAAQE,UAAWtB,CAAAA,MAAAA,KAAA;AACxB,QAAA,IAAIA,OAAMuB,KAAAA,EAAM;AACdJ,UAAAA,OAAAA,GAAUnB,OAAMuB,KAAM,CAAA;AAAC,UAAA;AAAA,QAAA;AAGzB,QAAA,IAAIvB,OAAMgB,IAAAA,EAAK;AACbE,UAAAA,MAAAA,GAASlB,OAAMgB,IAAK,CAAA;AAAA,QAAC;AAAA,MACtB,CACF,CAAA;AAAA,IAAC,CAAA;AACHxC,IAAAA,CAAAA,MAAA+B,WAAAA;AAAA/B,IAAAA,CAAAA,MAAAD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAC,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAvBMD,EAAAA;AAuBN;AAGI,SAASiD,mBACdjB,WAAAA,EACyB;AACzB,EAAA,MAAME,UAAAA,GAAaF,YAAYG,aAAAA,EAAc;AAC7C,EAAA,MAAM/B,KAAAA,GAAQ8B,WAAWG,IAAAA,CAAsC;AAAA,IAC7DxB,QAAAA,EAAU,CAACf,yBAAyB,CAAA;AAAA,IACpCwC,KAAAA,EAAO,KAAA;AAAA,IACPY,IAAAA,EAAM;AAAA;AAAA,GACP,CAAA;AAED,EAAA,OAAO9C,OAAOoC,KAAAA,CAAMC,IAAAA;AACtB;AAEO,SAASU,kBAAkB9B,KAAAA,EAAsC;AACtE,EAAA,OACE,OAAOA,KAAAA,KAAU,QAAA,IACjBA,KAAAA,KAAU,IAAA,IACV,WAAA,IAAeA,KAAAA,IACf,UAAA,IAAcA,KAAAA,IACd,WAAA,IAAeA,KAAAA,IACf,WAAA,IAAeA,SACf,YAAA,IAAgBA,KAAAA;AAEpB;AAEO,SAASN,sBAAAA,CAAuB;AAAA,EACrCZ,WAAAA;AAAAA,EACAE;AACsD,CAAA,EAAG;AACzD,EAAA,aAAA;AAGA,EAAA,MAAM,CAAC+C,eAAe,CAAA,GAAIC,iBAAAA,CAAkBlD,YAAY2B,MAAAA,EAAQ;AAAA,IAC9DwB,IAAAA,EAAM;AAAA,GACP,CAAA;AAED,EAAA,OAAOC,QAAQ,MAAM;AAEnB,IAAA,MAAMzC,oBAAAA,GAAuB;AAAA,MAC3BgB,MAAAA,EAAQsB,eAAAA;AAAAA,MACRI,aAAarD,WAAAA,CAAYqD,WAAAA;AAAAA,MACzBC,MAAMtD,WAAAA,CAAYsD,IAAAA;AAAAA,MAClBC,aAAavD,WAAAA,CAAYuD,WAAAA;AAAAA,MACzBC,cAAcxD,WAAAA,CAAYwD,YAAAA;AAAAA,MAC1BC,UAAUzD,WAAAA,CAAYyD,QAAAA;AAAAA,MACtBhC,WAAWzB,WAAAA,CAAYyB,SAAAA;AAAAA,MACvBiC,OAAAA,EAAS;AAAA,QACPC,aAAa3D,WAAAA,CAAY2D,WAAAA;AAAAA,QACzBC,aAAa5D,WAAAA,CAAY4D,WAAAA;AAAAA,QACzBC,cAAc7D,WAAAA,CAAY6D,YAAAA;AAAAA,QAC1BC,wBAAwB9D,WAAAA,CAAY8D,sBAAAA;AAAAA,QACpCC,wBAAwB/D,WAAAA,CAAY+D,sBAAAA;AAAAA,QACpCC,SAAShE,WAAAA,CAAYgE,OAAAA;AAAAA,QACrBC,WAAWjE,WAAAA,CAAYiE,SAAAA;AAAAA,QACvBC,cAAclE,WAAAA,CAAYkE,YAAAA;AAAAA,QAC1BC,qBAAqBnE,WAAAA,CAAYmE,mBAAAA;AAAAA,QACjCC,mBAAmBpE,WAAAA,CAAYoE,iBAAAA;AAAAA,QAC/BC,YAAYrE,WAAAA,CAAYqE,UAAAA;AAAAA,QACxBC,uCACEtE,WAAAA,CAAYsE,qCAAAA;AAAAA,QACdC,qBAAqBvE,WAAAA,CAAYuE,mBAAAA;AAAAA,QACjCC,sBAAsBxE,WAAAA,CAAYwE,oBAAAA;AAAAA,QAClCC,wBAAwBzE,WAAAA,CAAYyE,sBAAAA;AAAAA,QACpCC,yBAAyB1E,WAAAA,CAAY0E;AAAAA;AACvC,KACF;AAEA,IAAA,MAAMhE,QAAAA,GAAgC,CACpCf,yBAAAA,EACAO,OAAAA,EACAS,oBAAoB,CAAA;AAGtB,IAAA,OAAO;AAAA,MAAED,QAAAA;AAAAA,MAAUC;AAAAA,KAAqB;AAAA,EAC1C,CAAA,EAAG,CACDT,OAAAA,EACA+C,eAAAA,EACAjD,YAAYwD,YAAAA,EACZxD,WAAAA,CAAYyB,SAAAA,EACZzB,WAAAA,CAAY0E,uBAAAA,EACZ1E,WAAAA,CAAYwE,sBACZxE,WAAAA,CAAY8D,sBAAAA,EACZ9D,YAAYsE,qCAAAA,EACZtE,WAAAA,CAAY2D,aACZ3D,WAAAA,CAAY6D,YAAAA,EACZ7D,WAAAA,CAAYqE,UAAAA,EACZrE,WAAAA,CAAYoE,iBAAAA,EACZpE,YAAY+D,sBAAAA,EACZ/D,WAAAA,CAAY4D,aACZ5D,WAAAA,CAAYiE,SAAAA,EACZjE,YAAYkE,YAAAA,EACZlE,WAAAA,CAAYmE,mBAAAA,EACZnE,WAAAA,CAAYgE,OAAAA,EACZhE,WAAAA,CAAYsD,MACZtD,WAAAA,CAAYuD,WAAAA,EACZvD,YAAYyD,QAAAA,EACZzD,WAAAA,CAAYyE,wBACZzE,WAAAA,CAAYuE,mBAAAA,EACZvE,WAAAA,CAAYqD,WAAW,CACxB,CAAA;AACH;;;;"}
@@ -1,3 +1,5 @@
1
+ import { MarketPriceQueryKey } from './market/queries/useMarketPriceQuery';
2
+ import { DeltaPriceQueryKey } from './delta/queries/useDeltaPriceQuery';
1
3
  import { SwapMode } from '../../../components/widget/SwapModeSwitcher/state/types';
2
4
  import { BridgePrice, DeltaPrice, OptimalRate } from '@velora-dex/sdk';
3
5
  import { UseSwapPricesInput } from './types';
@@ -9,16 +11,20 @@ type UseSwapPricesReturn = {
9
11
  /** @description whether the market price can be used for the current price params */
10
12
  canBeUsed: boolean;
11
13
  isLoading: boolean;
14
+ isFetching: boolean;
12
15
  isError: boolean;
13
16
  error: Error | null;
17
+ queryKey: MarketPriceQueryKey;
14
18
  };
15
19
  delta: {
16
20
  price?: DeltaPrice | BridgePrice;
17
21
  /** @description whether the delta price can be used for the current price params && widget config */
18
22
  canBeUsed: boolean;
19
23
  isLoading: boolean;
24
+ isFetching: boolean;
20
25
  isError: boolean;
21
26
  error: Error | null;
27
+ queryKey: DeltaPriceQueryKey;
22
28
  };
23
29
  };
24
30
  export declare function useSwapPrices(params?: UseSwapPricesInput): UseSwapPricesReturn;
@@ -29,9 +35,11 @@ type UseCurrentSwapPriceReturn = {
29
35
  } & ({
30
36
  priceMode: "market";
31
37
  price?: OptimalRate;
38
+ queryKey: MarketPriceQueryKey;
32
39
  } | {
33
40
  priceMode: "delta";
34
41
  price?: DeltaPrice | BridgePrice;
42
+ queryKey: DeltaPriceQueryKey;
35
43
  });
36
44
  export declare function useCurrentSwapPrice(params?: UseSwapPricesInput): UseCurrentSwapPriceReturn;
37
45
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"useSwapPrices.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAEjF,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AASlD,KAAK,mBAAmB,GAAG;IACzB,SAAS,EAAE,QAAQ,CAAC;IACpB,qBAAqB,EAAE,QAAQ,CAAC;IAChC,MAAM,EAAE;QACN,KAAK,CAAC,EAAE,WAAW,CAAC;QACpB,qFAAqF;QACrF,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC;QACnB,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;KACrB,CAAC;IACF,KAAK,EAAE;QACL,KAAK,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;QACjC,qGAAqG;QACrG,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC;QACnB,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;KACrB,CAAC;CACH,CAAC;AAEF,wBAAgB,aAAa,CAC3B,MAAM,GAAE,kBAAuB,GAC9B,mBAAmB,CAwJrB;AAED,KAAK,yBAAyB,GAAG;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB,GAAG,CACA;IACE,SAAS,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB,GACD;IACE,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;CAClC,CACJ,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,MAAM,GAAE,kBAAsC,GAC7C,yBAAyB,CAoB3B"}
1
+ {"version":3,"file":"useSwapPrices.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AAEjF,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AASlD,KAAK,mBAAmB,GAAG;IACzB,SAAS,EAAE,QAAQ,CAAC;IACpB,qBAAqB,EAAE,QAAQ,CAAC;IAChC,MAAM,EAAE;QACN,KAAK,CAAC,EAAE,WAAW,CAAC;QACpB,qFAAqF;QACrF,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;QACpB,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;QACpB,QAAQ,EAAE,mBAAmB,CAAC;KAC/B,CAAC;IACF,KAAK,EAAE;QACL,KAAK,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;QACjC,qGAAqG;QACrG,SAAS,EAAE,OAAO,CAAC;QACnB,SAAS,EAAE,OAAO,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;QACpB,OAAO,EAAE,OAAO,CAAC;QACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;QACpB,QAAQ,EAAE,kBAAkB,CAAC;KAC9B,CAAC;CACH,CAAC;AAEF,wBAAgB,aAAa,CAC3B,MAAM,GAAE,kBAAuB,GAC9B,mBAAmB,CA+IrB;AAED,KAAK,yBAAyB,GAAG;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB,GAAG,CACA;IACE,SAAS,EAAE,QAAQ,CAAC;IACpB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,mBAAmB,CAAC;CAC/B,GACD;IACE,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC;IACjC,QAAQ,EAAE,kBAAkB,CAAC;CAC9B,CACJ,CAAC;AAEF,wBAAgB,mBAAmB,CACjC,MAAM,GAAE,kBAAsC,GAC7C,yBAAyB,CAsB3B"}
@@ -5,13 +5,23 @@ import { useDeltaPriceQuery } from './delta/queries/useDeltaPriceQuery.js';
5
5
  import { swapModeAtom } from '../../../components/widget/SwapModeSwitcher/state/swapModeAtom.js';
6
6
  import { useAtomValue } from 'jotai';
7
7
  import { useGlobalDeltaEnabled } from '../../useGlobalDeltaEnabled.js';
8
- import { useRef } from 'react';
9
8
  import { isETH, isWETH } from '../../../tokens/utils/eth.js';
10
9
  import { wrappedNativeCurrency } from '../../../lib/constants/weth.js';
11
10
  import { useIsTokenSupportedInDeltaQuery } from './delta/queries/useIsTokenSupportedInDelta.js';
11
+ import { useCachedQueryError } from '../../useCachedQueryError.js';
12
12
 
13
13
  const PRICE_REFETCH_INTERVAL = 5e3;
14
- function useSwapPrices(params = {}) {
14
+ function useSwapPrices(t0) {
15
+ const $ = distExports.c(59);
16
+ let t1;
17
+ if ($[0] !== t0) {
18
+ t1 = t0 === void 0 ? {} : t0;
19
+ $[0] = t0;
20
+ $[1] = t1;
21
+ } else {
22
+ t1 = $[1];
23
+ }
24
+ const params = t1;
15
25
  const {
16
26
  priceParams,
17
27
  isCrossChain,
@@ -25,112 +35,233 @@ function useSwapPrices(params = {}) {
25
35
  enabledOnCurrentChain: deltaEnabledOnCurrentChain
26
36
  } = useGlobalDeltaEnabled();
27
37
  const fetchAnyPrice = priceParams.amount !== "0" && !!priceParams.destToken;
28
- const isBUY = priceParams.side === "BUY";
29
- const isEthToWethSameChain = !isCrossChain && !!priceParams.destToken && isETH({
30
- address: priceParams.srcToken
31
- }) && isWETH({
32
- address: priceParams.destToken
33
- }, chainId);
34
- const isWethToEthSameChain = !isCrossChain && !!priceParams.destToken && isWETH({
35
- address: priceParams.srcToken
36
- }, chainId) && isETH({
37
- address: priceParams.destToken
38
- });
38
+ let t2;
39
+ if ($[2] !== chainId || $[3] !== isCrossChain || $[4] !== priceParams.destToken || $[5] !== priceParams.srcToken) {
40
+ t2 = !isCrossChain && !!priceParams.destToken && isETH({
41
+ address: priceParams.srcToken
42
+ }) && isWETH({
43
+ address: priceParams.destToken
44
+ }, chainId);
45
+ $[2] = chainId;
46
+ $[3] = isCrossChain;
47
+ $[4] = priceParams.destToken;
48
+ $[5] = priceParams.srcToken;
49
+ $[6] = t2;
50
+ } else {
51
+ t2 = $[6];
52
+ }
53
+ const isEthToWethSameChain = t2;
54
+ let t3;
55
+ if ($[7] !== chainId || $[8] !== isCrossChain || $[9] !== priceParams.destToken || $[10] !== priceParams.srcToken) {
56
+ t3 = !isCrossChain && !!priceParams.destToken && isWETH({
57
+ address: priceParams.srcToken
58
+ }, chainId) && isETH({
59
+ address: priceParams.destToken
60
+ });
61
+ $[7] = chainId;
62
+ $[8] = isCrossChain;
63
+ $[9] = priceParams.destToken;
64
+ $[10] = priceParams.srcToken;
65
+ $[11] = t3;
66
+ } else {
67
+ t3 = $[11];
68
+ }
69
+ const isWethToEthSameChain = t3;
70
+ let t4;
71
+ if ($[12] !== chainId || $[13] !== priceParams.srcToken) {
72
+ t4 = {
73
+ token: priceParams.srcToken,
74
+ chainId
75
+ };
76
+ $[12] = chainId;
77
+ $[13] = priceParams.srcToken;
78
+ $[14] = t4;
79
+ } else {
80
+ t4 = $[14];
81
+ }
39
82
  const {
40
83
  data: isSrcTokenSupported
41
- } = useIsTokenSupportedInDeltaQuery({
42
- token: priceParams.srcToken,
43
- chainId
44
- });
84
+ } = useIsTokenSupportedInDeltaQuery(t4);
85
+ const t5 = destChainId || chainId;
86
+ let t6;
87
+ if ($[15] !== priceParams.destToken || $[16] !== t5) {
88
+ t6 = {
89
+ token: priceParams.destToken,
90
+ chainId: t5
91
+ };
92
+ $[15] = priceParams.destToken;
93
+ $[16] = t5;
94
+ $[17] = t6;
95
+ } else {
96
+ t6 = $[17];
97
+ }
45
98
  const {
46
99
  data: isDestTokenSupported
47
- } = useIsTokenSupportedInDeltaQuery({
48
- token: priceParams.destToken,
49
- chainId: destChainId || chainId
50
- });
51
- const deltaEnabled = (
52
- // enabled in widget config
53
- deltaEnabledInConfig && // enabled in user settings
54
- deltaEnabledInSettings && // enabled on API for current chain
55
- deltaEnabledOnCurrentChain && // SELL side only
56
- priceParams.side === "SELL" && // ETH -> WETH same chain is market only
57
- !isEthToWethSameChain && // WETH -> ETH same chain is market only
58
- !isWethToEthSameChain && // user selected Delta
59
- swapMode === "delta" && // tokens are supported in Delta
60
- isSrcTokenSupported !== false && isDestTokenSupported !== false
61
- );
62
- const deltaCanBeUsed = fetchAnyPrice && deltaEnabledInConfig && deltaEnabledOnCurrentChain && priceParams.side === "SELL" && // @TODO add BUY support for Delta when available
63
- !isEthToWethSameChain && !isWethToEthSameChain;
64
- const srcTokenForDelta = isETH({
65
- address: priceParams.srcToken
66
- }) ? wrappedNativeCurrency[chainId] : priceParams.srcToken;
67
- const deltaPriceQuery = useDeltaPriceQuery({
68
- priceParams: {
100
+ } = useIsTokenSupportedInDeltaQuery(t6);
101
+ const deltaEnabled = deltaEnabledInConfig && deltaEnabledInSettings && deltaEnabledOnCurrentChain && !isEthToWethSameChain && !isWethToEthSameChain && swapMode === "delta" && isSrcTokenSupported !== false && isDestTokenSupported !== false;
102
+ const deltaCanBeUsed = fetchAnyPrice && deltaEnabledInConfig && deltaEnabledOnCurrentChain && !isEthToWethSameChain && !isWethToEthSameChain;
103
+ let t7;
104
+ if ($[18] !== chainId || $[19] !== priceParams.srcToken) {
105
+ t7 = isETH({
106
+ address: priceParams.srcToken
107
+ }) ? wrappedNativeCurrency[chainId] : priceParams.srcToken;
108
+ $[18] = chainId;
109
+ $[19] = priceParams.srcToken;
110
+ $[20] = t7;
111
+ } else {
112
+ t7 = $[20];
113
+ }
114
+ const srcTokenForDelta = t7;
115
+ let t8;
116
+ if ($[21] !== priceParams || $[22] !== srcTokenForDelta) {
117
+ t8 = {
69
118
  ...priceParams,
70
119
  srcToken: srcTokenForDelta
71
- },
72
- chainId,
73
- destChainId,
74
- timeout: 5e3,
75
- query: {
76
- enabled: deltaEnabled && fetchAnyPrice && (params.enabled ?? true),
120
+ };
121
+ $[21] = priceParams;
122
+ $[22] = srcTokenForDelta;
123
+ $[23] = t8;
124
+ } else {
125
+ t8 = $[23];
126
+ }
127
+ const t9 = deltaEnabled && fetchAnyPrice && (params.enabled ?? true);
128
+ let t10;
129
+ if ($[24] !== t9) {
130
+ t10 = {
131
+ enabled: t9,
77
132
  refetchInterval: PRICE_REFETCH_INTERVAL,
78
- // already refetched on short interval
79
- // prevents delay before deltaPriceQuery.error is set
80
133
  retry: false
81
- }
82
- });
83
- const deltaErrorRef = useRef(deltaPriceQuery.error);
84
- if (deltaPriceQuery.error) deltaErrorRef.current = deltaPriceQuery.error;
85
- if (deltaPriceQuery.isSuccess) deltaErrorRef.current = null;
86
- const deltaErrorCached = deltaErrorRef.current;
134
+ };
135
+ $[24] = t9;
136
+ $[25] = t10;
137
+ } else {
138
+ t10 = $[25];
139
+ }
140
+ let t11;
141
+ if ($[26] !== chainId || $[27] !== destChainId || $[28] !== t10 || $[29] !== t8) {
142
+ t11 = {
143
+ priceParams: t8,
144
+ chainId,
145
+ destChainId,
146
+ timeout: 5e3,
147
+ query: t10
148
+ };
149
+ $[26] = chainId;
150
+ $[27] = destChainId;
151
+ $[28] = t10;
152
+ $[29] = t8;
153
+ $[30] = t11;
154
+ } else {
155
+ t11 = $[30];
156
+ }
157
+ const {
158
+ result: deltaPriceQuery,
159
+ queryKey: deltaPriceQueryKey
160
+ } = useDeltaPriceQuery(t11);
161
+ const deltaErrorCached = useCachedQueryError(deltaPriceQuery);
87
162
  const marketEnabled = !isCrossChain;
88
163
  const marketCanBeUsed = marketEnabled && fetchAnyPrice;
89
164
  const marketIsFallback = deltaErrorCached && marketEnabled;
90
- const marketIsMainMode = swapMode === "market" && marketEnabled || !deltaEnabled || isBUY;
165
+ const marketIsMainMode = swapMode === "market" && marketEnabled || !deltaEnabled;
91
166
  const priceMode = marketIsFallback || marketIsMainMode ? "market" : "delta";
92
- const marketRefetchInterval = (
93
- // if only market mode or delta has an error
94
- !deltaEnabled || deltaErrorCached ? (
95
- // which caused market price query reschedule and no fetch ever happening
96
- // frequent updates for Market price
97
- PRICE_REFETCH_INTERVAL
98
- ) : (
99
- // otherwise when Delta is working, less frequent updates for Market price
100
- 2 * PRICE_REFETCH_INTERVAL
101
- )
102
- );
103
- const marketPriceQuery = useMarketPriceQuery({
104
- priceParams,
105
- chainId,
106
- timeout: 5e3,
107
- query: {
108
- enabled: marketEnabled && fetchAnyPrice && (params.enabled ?? true),
167
+ const marketRefetchInterval = !deltaEnabled || deltaErrorCached ? PRICE_REFETCH_INTERVAL : 2 * PRICE_REFETCH_INTERVAL;
168
+ const t12 = marketEnabled && fetchAnyPrice && (params.enabled ?? true);
169
+ let t13;
170
+ if ($[31] !== marketRefetchInterval || $[32] !== t12) {
171
+ t13 = {
172
+ enabled: t12,
109
173
  refetchInterval: marketRefetchInterval,
110
174
  retry: false
111
- }
112
- });
113
- return {
114
- priceMode,
115
- userSelectedPriceMode: swapMode,
116
- market: {
175
+ };
176
+ $[31] = marketRefetchInterval;
177
+ $[32] = t12;
178
+ $[33] = t13;
179
+ } else {
180
+ t13 = $[33];
181
+ }
182
+ let t14;
183
+ if ($[34] !== chainId || $[35] !== priceParams || $[36] !== t13) {
184
+ t14 = {
185
+ priceParams,
186
+ chainId,
187
+ timeout: 5e3,
188
+ query: t13
189
+ };
190
+ $[34] = chainId;
191
+ $[35] = priceParams;
192
+ $[36] = t13;
193
+ $[37] = t14;
194
+ } else {
195
+ t14 = $[37];
196
+ }
197
+ const {
198
+ result: marketPriceQuery,
199
+ queryKey: marketPriceQueryKey
200
+ } = useMarketPriceQuery(t14);
201
+ let t15;
202
+ if ($[38] !== marketCanBeUsed || $[39] !== marketPriceQuery.data || $[40] !== marketPriceQuery.error || $[41] !== marketPriceQuery.isError || $[42] !== marketPriceQuery.isFetching || $[43] !== marketPriceQuery.isLoading || $[44] !== marketPriceQueryKey) {
203
+ t15 = {
117
204
  price: marketPriceQuery.data,
118
205
  isLoading: marketPriceQuery.isLoading,
206
+ isFetching: marketPriceQuery.isFetching,
119
207
  isError: marketPriceQuery.isError,
120
208
  error: marketPriceQuery.error,
121
- canBeUsed: marketCanBeUsed
122
- },
123
- delta: {
209
+ canBeUsed: marketCanBeUsed,
210
+ queryKey: marketPriceQueryKey
211
+ };
212
+ $[38] = marketCanBeUsed;
213
+ $[39] = marketPriceQuery.data;
214
+ $[40] = marketPriceQuery.error;
215
+ $[41] = marketPriceQuery.isError;
216
+ $[42] = marketPriceQuery.isFetching;
217
+ $[43] = marketPriceQuery.isLoading;
218
+ $[44] = marketPriceQueryKey;
219
+ $[45] = t15;
220
+ } else {
221
+ t15 = $[45];
222
+ }
223
+ let t16;
224
+ if ($[46] !== deltaCanBeUsed || $[47] !== deltaPriceQuery.data || $[48] !== deltaPriceQuery.error || $[49] !== deltaPriceQuery.isError || $[50] !== deltaPriceQuery.isFetching || $[51] !== deltaPriceQuery.isLoading || $[52] !== deltaPriceQueryKey) {
225
+ t16 = {
124
226
  price: deltaPriceQuery.data,
125
227
  isLoading: deltaPriceQuery.isLoading,
228
+ isFetching: deltaPriceQuery.isFetching,
126
229
  isError: deltaPriceQuery.isError,
127
230
  error: deltaPriceQuery.error,
128
- canBeUsed: deltaCanBeUsed
129
- }
130
- };
231
+ canBeUsed: deltaCanBeUsed,
232
+ queryKey: deltaPriceQueryKey
233
+ };
234
+ $[46] = deltaCanBeUsed;
235
+ $[47] = deltaPriceQuery.data;
236
+ $[48] = deltaPriceQuery.error;
237
+ $[49] = deltaPriceQuery.isError;
238
+ $[50] = deltaPriceQuery.isFetching;
239
+ $[51] = deltaPriceQuery.isLoading;
240
+ $[52] = deltaPriceQueryKey;
241
+ $[53] = t16;
242
+ } else {
243
+ t16 = $[53];
244
+ }
245
+ let t17;
246
+ if ($[54] !== priceMode || $[55] !== swapMode || $[56] !== t15 || $[57] !== t16) {
247
+ t17 = {
248
+ priceMode,
249
+ userSelectedPriceMode: swapMode,
250
+ market: t15,
251
+ delta: t16
252
+ };
253
+ $[54] = priceMode;
254
+ $[55] = swapMode;
255
+ $[56] = t15;
256
+ $[57] = t16;
257
+ $[58] = t17;
258
+ } else {
259
+ t17 = $[58];
260
+ }
261
+ return t17;
131
262
  }
132
263
  function useCurrentSwapPrice(t0) {
133
- const $ = distExports.c(14);
264
+ const $ = distExports.c(16);
134
265
  let t1;
135
266
  if ($[0] !== t0) {
136
267
  t1 = t0 === void 0 ? {
@@ -149,42 +280,46 @@ function useCurrentSwapPrice(t0) {
149
280
  } = useSwapPrices(params);
150
281
  if (priceMode === "market") {
151
282
  let t22;
152
- if ($[2] !== market.error || $[3] !== market.isError || $[4] !== market.isLoading || $[5] !== market.price || $[6] !== priceMode) {
283
+ if ($[2] !== market.error || $[3] !== market.isError || $[4] !== market.isLoading || $[5] !== market.price || $[6] !== market.queryKey || $[7] !== priceMode) {
153
284
  t22 = {
154
285
  priceMode,
155
286
  price: market.price,
156
287
  isLoading: market.isLoading,
157
288
  isError: market.isError,
158
- error: market.error
289
+ error: market.error,
290
+ queryKey: market.queryKey
159
291
  };
160
292
  $[2] = market.error;
161
293
  $[3] = market.isError;
162
294
  $[4] = market.isLoading;
163
295
  $[5] = market.price;
164
- $[6] = priceMode;
165
- $[7] = t22;
296
+ $[6] = market.queryKey;
297
+ $[7] = priceMode;
298
+ $[8] = t22;
166
299
  } else {
167
- t22 = $[7];
300
+ t22 = $[8];
168
301
  }
169
302
  return t22;
170
303
  }
171
304
  let t2;
172
- if ($[8] !== delta.error || $[9] !== delta.isError || $[10] !== delta.isLoading || $[11] !== delta.price || $[12] !== priceMode) {
305
+ if ($[9] !== delta.error || $[10] !== delta.isError || $[11] !== delta.isLoading || $[12] !== delta.price || $[13] !== delta.queryKey || $[14] !== priceMode) {
173
306
  t2 = {
174
307
  priceMode,
175
308
  price: delta.price,
176
309
  isLoading: delta.isLoading,
177
310
  isError: delta.isError,
178
- error: delta.error
311
+ error: delta.error,
312
+ queryKey: delta.queryKey
179
313
  };
180
- $[8] = delta.error;
181
- $[9] = delta.isError;
182
- $[10] = delta.isLoading;
183
- $[11] = delta.price;
184
- $[12] = priceMode;
185
- $[13] = t2;
186
- } else {
187
- t2 = $[13];
314
+ $[9] = delta.error;
315
+ $[10] = delta.isError;
316
+ $[11] = delta.isLoading;
317
+ $[12] = delta.price;
318
+ $[13] = delta.queryKey;
319
+ $[14] = priceMode;
320
+ $[15] = t2;
321
+ } else {
322
+ t2 = $[15];
188
323
  }
189
324
  return t2;
190
325
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useSwapPrices.js","sources":["../../../../src/hooks/swap/prices/useSwapPrices.ts"],"sourcesContent":["import { useMarketPriceQuery } from \"./market/queries/useMarketPriceQuery\";\nimport { usePricesParams } from \"./usePricesParams\";\nimport { useDeltaPriceQuery } from \"./delta/queries/useDeltaPriceQuery\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { type SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { useAtomValue } from \"jotai\";\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport type { UseSwapPricesInput } from \"./types\";\nimport { useGlobalDeltaEnabled } from \"@/hooks/useGlobalDeltaEnabled\";\nimport { useRef } from \"react\";\nimport { isETH, isWETH } from \"@/tokens/utils/eth\";\nimport { wrappedNativeCurrency } from \"@/lib/constants/weth\";\nimport { useIsTokenSupportedInDeltaQuery } from \"./delta/queries/useIsTokenSupportedInDelta\";\n\nconst PRICE_REFETCH_INTERVAL = 5000; // 5 seconds\n\ntype UseSwapPricesReturn = {\n priceMode: SwapMode;\n userSelectedPriceMode: SwapMode;\n market: {\n price?: OptimalRate;\n /** @description whether the market price can be used for the current price params */\n canBeUsed: boolean;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n };\n delta: {\n price?: DeltaPrice | BridgePrice;\n /** @description whether the delta price can be used for the current price params && widget config */\n canBeUsed: boolean;\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\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\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 isBUY = priceParams.side === \"BUY\";\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 // SELL side only\n priceParams.side === \"SELL\" &&\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 priceParams.side === \"SELL\" &&\n // @TODO add BUY support for Delta when available\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 deltaPriceQuery = useDeltaPriceQuery({\n priceParams: {\n ...priceParams,\n srcToken: srcTokenForDelta,\n },\n chainId,\n destChainId,\n timeout: 5000,\n query: {\n enabled: deltaEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: PRICE_REFETCH_INTERVAL,\n // already refetched on short interval\n // prevents delay before deltaPriceQuery.error is set\n retry: false,\n },\n });\n\n // keep track if last result was error\n const deltaErrorRef = useRef(deltaPriceQuery.error);\n // by itself isError resets when fetching\n /* eslint-disable react-hooks/refs */\n if (deltaPriceQuery.error) deltaErrorRef.current = deltaPriceQuery.error;\n // keep errorRef until delta succeeds\n if (deltaPriceQuery.isSuccess) deltaErrorRef.current = null;\n\n const deltaErrorCached = deltaErrorRef.current;\n /* eslint-enable react-hooks/refs */\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 || isBUY;\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\n : // otherwise when Delta is working, less frequent updates for Market price\n 2 * PRICE_REFETCH_INTERVAL;\n\n const marketPriceQuery = useMarketPriceQuery({\n priceParams,\n chainId,\n timeout: 5000,\n query: {\n enabled: marketEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: marketRefetchInterval,\n retry: false,\n },\n });\n\n return {\n priceMode,\n userSelectedPriceMode: swapMode,\n market: {\n price: marketPriceQuery.data,\n isLoading: marketPriceQuery.isLoading,\n isError: marketPriceQuery.isError,\n error: marketPriceQuery.error,\n canBeUsed: marketCanBeUsed,\n },\n delta: {\n price: deltaPriceQuery.data,\n isLoading: deltaPriceQuery.isLoading,\n isError: deltaPriceQuery.isError,\n error: deltaPriceQuery.error,\n canBeUsed: deltaCanBeUsed,\n },\n };\n}\n\ntype UseCurrentSwapPriceReturn = {\n isLoading: boolean;\n isError: boolean;\n error: Error | null;\n} & (\n | {\n priceMode: \"market\";\n price?: OptimalRate;\n }\n | {\n priceMode: \"delta\";\n price?: DeltaPrice | BridgePrice;\n }\n);\n\nexport function useCurrentSwapPrice(\n params: UseSwapPricesInput = { enabled: true }\n): UseCurrentSwapPriceReturn {\n const { market, delta, priceMode } = useSwapPrices(params);\n\n if (priceMode === \"market\") {\n return {\n priceMode,\n price: market.price,\n isLoading: market.isLoading,\n isError: market.isError,\n error: market.error,\n };\n }\n\n return {\n priceMode,\n price: delta.price,\n isLoading: delta.isLoading,\n isError: delta.isError,\n error: delta.error,\n };\n}\n"],"names":["PRICE_REFETCH_INTERVAL","useSwapPrices","params","priceParams","isCrossChain","chainId","destChainId","usePricesParams","swapMode","useAtomValue","swapModeAtom","enabledInConfig","deltaEnabledInConfig","enabledInSettings","deltaEnabledInSettings","enabledOnCurrentChain","deltaEnabledOnCurrentChain","useGlobalDeltaEnabled","fetchAnyPrice","amount","destToken","isBUY","side","isEthToWethSameChain","isETH","address","srcToken","isWETH","isWethToEthSameChain","data","isSrcTokenSupported","useIsTokenSupportedInDeltaQuery","token","isDestTokenSupported","deltaEnabled","deltaCanBeUsed","srcTokenForDelta","wrappedNativeCurrency","deltaPriceQuery","useDeltaPriceQuery","timeout","query","enabled","refetchInterval","retry","deltaErrorRef","useRef","error","current","isSuccess","deltaErrorCached","marketEnabled","marketCanBeUsed","marketIsFallback","marketIsMainMode","priceMode","marketRefetchInterval","marketPriceQuery","useMarketPriceQuery","userSelectedPriceMode","market","price","isLoading","isError","canBeUsed","delta","useCurrentSwapPrice","t0","$","_c","t1","undefined","t2"],"mappings":";;;;;;;;;;;;AAcA,MAAMA,sBAAAA,GAAyB,GAAA;AAuBxB,SAASC,aAAAA,CACdC,MAAAA,GAA6B,EAAC,EACT;AACrB,EAAA,MAAM;AAAA,IAAEC,WAAAA;AAAAA,IAAaC,YAAAA;AAAAA,IAAcC,OAAAA;AAAAA,IAASC;AAAAA,GAAY,GACtDC,gBAAgB,MAAM,CAAA;AAGxB,EAAA,MAAMC,QAAAA,GAAWC,aAAaC,YAAY,CAAA;AAE1C,EAAA,MAAM;AAAA,IACJC,eAAAA,EAAiBC,oBAAAA;AAAAA,IACjBC,iBAAAA,EAAmBC,sBAAAA;AAAAA,IACnBC,qBAAAA,EAAuBC;AAAAA,MACrBC,qBAAAA,EAAsB;AAE1B,EAAA,MAAMC,gBAAgBf,WAAAA,CAAYgB,MAAAA,KAAW,GAAA,IAAO,CAAC,CAAChB,WAAAA,CAAYiB,SAAAA;AAElE,EAAA,MAAMC,KAAAA,GAAQlB,YAAYmB,IAAAA,KAAS,KAAA;AAEnC,EAAA,MAAMC,uBACJ,CAACnB,YAAAA,IACD,CAAC,CAACD,WAAAA,CAAYiB,aACdI,KAAAA,CAAM;AAAA,IAAEC,SAAStB,WAAAA,CAAYuB;AAAAA,GAAU,KACvCC,MAAAA,CAAO;AAAA,IAAEF,SAAStB,WAAAA,CAAYiB;AAAAA,KAAaf,OAAO,CAAA;AACpD,EAAA,MAAMuB,uBACJ,CAACxB,YAAAA,IACD,CAAC,CAACD,WAAAA,CAAYiB,aACdO,MAAAA,CAAO;AAAA,IAAEF,SAAStB,WAAAA,CAAYuB;AAAAA,GAAS,EAAGrB,OAAO,CAAA,IACjDmB,KAAAA,CAAM;AAAA,IAAEC,SAAStB,WAAAA,CAAYiB;AAAAA,GAAW,CAAA;AAE1C,EAAA,MAAM;AAAA,IAAES,IAAAA,EAAMC;AAAAA,MAAwBC,+BAAAA,CAAgC;AAAA,IACpEC,OAAO7B,WAAAA,CAAYuB,QAAAA;AAAAA,IACnBrB;AAAAA,GACD,CAAA;AACD,EAAA,MAAM;AAAA,IAAEwB,IAAAA,EAAMI;AAAAA,MAAyBF,+BAAAA,CAAgC;AAAA,IACrEC,OAAO7B,WAAAA,CAAYiB,SAAAA;AAAAA,IACnBf,SAASC,WAAAA,IAAeD;AAAAA,GACzB,CAAA;AAED,EAAA,MAAM6B,YAAAA;AAAAA;AAAAA,IAEJtB,oBAAAA;AAAAA,IAEAE,sBAAAA;AAAAA,IAEAE,0BAAAA;AAAAA,IAEAb,YAAYmB,IAAAA,KAAS,MAAA;AAAA,IAErB,CAACC,oBAAAA;AAAAA,IAED,CAACK,oBAAAA;AAAAA,IAEDpB,QAAAA,KAAa,OAAA;AAAA,IAEbsB,mBAAAA,KAAwB,SACxBG,oBAAAA,KAAyB;AAAA,GAAA;AAK3B,EAAA,MAAME,cAAAA,GACJjB,aAAAA,IACAN,oBAAAA,IACAI,0BAAAA,IACAb,YAAYmB,IAAAA,KAAS,MAAA;AAAA,EAErB,CAACC,wBACD,CAACK,oBAAAA;AAKH,EAAA,MAAMQ,mBAAmBZ,KAAAA,CAAM;AAAA,IAAEC,SAAStB,WAAAA,CAAYuB;AAAAA,GAAU,CAAA,GAC5DW,qBAAAA,CAAsBhC,OAAO,IAC7BF,WAAAA,CAAYuB,QAAAA;AAEhB,EAAA,MAAMY,kBAAkBC,kBAAAA,CAAmB;AAAA,IACzCpC,WAAAA,EAAa;AAAA,MACX,GAAGA,WAAAA;AAAAA,MACHuB,QAAAA,EAAUU;AAAAA,KACZ;AAAA,IACA/B,OAAAA;AAAAA,IACAC,WAAAA;AAAAA,IACAkC,OAAAA,EAAS,GAAA;AAAA,IACTC,KAAAA,EAAO;AAAA,MACLC,OAAAA,EAASR,YAAAA,IAAgBhB,aAAAA,KAAkBhB,MAAAA,CAAOwC,OAAAA,IAAW,IAAA,CAAA;AAAA,MAC7DC,eAAAA,EAAiB3C,sBAAAA;AAAAA;AAAAA;AAAAA,MAGjB4C,KAAAA,EAAO;AAAA;AACT,GACD,CAAA;AAGD,EAAA,MAAMC,aAAAA,GAAgBC,MAAAA,CAAOR,eAAAA,CAAgBS,KAAK,CAAA;AAGlD,EAAA,IAAIT,eAAAA,CAAgBS,KAAAA,EAAOF,aAAAA,CAAcG,OAAAA,GAAUV,eAAAA,CAAgBS,KAAAA;AAEnE,EAAA,IAAIT,eAAAA,CAAgBW,SAAAA,EAAWJ,aAAAA,CAAcG,OAAAA,GAAU,IAAA;AAEvD,EAAA,MAAME,mBAAmBL,aAAAA,CAAcG,OAAAA;AAIvC,EAAA,MAAMG,gBAAgB,CAAC/C,YAAAA;AACvB,EAAA,MAAMgD,kBAAkBD,aAAAA,IAAiBjC,aAAAA;AAEzC,EAAA,MAAMmC,mBAAmBH,gBAAAA,IAAoBC,aAAAA;AAG7C,EAAA,MAAMG,gBAAAA,GACH9C,QAAAA,KAAa,QAAA,IAAY2C,aAAAA,IAAkB,CAACjB,YAAAA,IAAgBb,KAAAA;AAC/D,EAAA,MAAMkC,SAAAA,GAAYF,gBAAAA,IAAoBC,gBAAAA,GAAmB,QAAA,GAAW,OAAA;AAEpE,EAAA,MAAME,qBAAAA;AAAAA;AAAAA,IAEJ,CAACtB,YAAAA,IAAgBgB,gBAAAA;AAAAA;AAAAA;AAAAA,MAGblD;AAAAA;AAAAA;AAAAA,MAEA,CAAA,GAAIA;AAAAA;AAAAA,GAAAA;AAEV,EAAA,MAAMyD,mBAAmBC,mBAAAA,CAAoB;AAAA,IAC3CvD,WAAAA;AAAAA,IACAE,OAAAA;AAAAA,IACAmC,OAAAA,EAAS,GAAA;AAAA,IACTC,KAAAA,EAAO;AAAA,MACLC,OAAAA,EAASS,aAAAA,IAAiBjC,aAAAA,KAAkBhB,MAAAA,CAAOwC,OAAAA,IAAW,IAAA,CAAA;AAAA,MAC9DC,eAAAA,EAAiBa,qBAAAA;AAAAA,MACjBZ,KAAAA,EAAO;AAAA;AACT,GACD,CAAA;AAED,EAAA,OAAO;AAAA,IACLW,SAAAA;AAAAA,IACAI,qBAAAA,EAAuBnD,QAAAA;AAAAA,IACvBoD,MAAAA,EAAQ;AAAA,MACNC,OAAOJ,gBAAAA,CAAiB5B,IAAAA;AAAAA,MACxBiC,WAAWL,gBAAAA,CAAiBK,SAAAA;AAAAA,MAC5BC,SAASN,gBAAAA,CAAiBM,OAAAA;AAAAA,MAC1BhB,OAAOU,gBAAAA,CAAiBV,KAAAA;AAAAA,MACxBiB,SAAAA,EAAWZ;AAAAA,KACb;AAAA,IACAa,KAAAA,EAAO;AAAA,MACLJ,OAAOvB,eAAAA,CAAgBT,IAAAA;AAAAA,MACvBiC,WAAWxB,eAAAA,CAAgBwB,SAAAA;AAAAA,MAC3BC,SAASzB,eAAAA,CAAgByB,OAAAA;AAAAA,MACzBhB,OAAOT,eAAAA,CAAgBS,KAAAA;AAAAA,MACvBiB,SAAAA,EAAW7B;AAAAA;AACb,GACF;AACF;AAiBO,SAAA+B,oBAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAAD,EAAAA,EAAA;AACLG,IAAAA,EAAAA,GAAAH,OAAAI,MAAAA,GAAA;AAAA,MAAA7B,OAAAA,EAAwC;AAAA,KAAK,GAA7CyB,EAAAA;AAA8CC,IAAAA,CAAAA,MAAAD,EAAAA;AAAAC,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAA9C,EAAA,MAAAlE,MAAAA,GAAAoE,EAAAA;AAEA,EAAA,MAAA;AAAA,IAAAV,MAAAA;AAAAA,IAAAK,KAAAA;AAAAA,IAAAV;AAAAA,GAAA,GAAqCtD,cAAcC,MAAM,CAAA;AAEzD,EAAA,IAAIqD,cAAc,QAAA,EAAQ;AAAA,IAAA,IAAAiB,GAAAA;AAAA,IAAA,IAAAJ,CAAAA,CAAA,CAAA,CAAA,KAAAR,MAAAA,CAAAb,SAAAqB,CAAAA,CAAA,CAAA,CAAA,KAAAR,MAAAA,CAAAG,OAAAA,IAAAK,CAAAA,QAAAR,MAAAA,CAAAE,SAAAA,IAAAM,CAAAA,CAAA,CAAA,CAAA,KAAAR,OAAAC,KAAAA,IAAAO,CAAAA,CAAA,CAAA,CAAA,KAAAb,SAAAA,EAAA;AACjBiB,MAAAA,GAAAA,GAAA;AAAA,QAAAjB,SAAAA;AAAAA,QAAAM,OAEED,MAAAA,CAAMC,KAAAA;AAAAA,QAAMC,WACRF,MAAAA,CAAME,SAAAA;AAAAA,QAAUC,SAClBH,MAAAA,CAAMG,OAAAA;AAAAA,QAAQhB,OAChBa,MAAAA,CAAMb;AAAAA,OACf;AAACqB,MAAAA,CAAAA,CAAA,CAAA,IAAAR,MAAAA,CAAAb,KAAAA;AAAAqB,MAAAA,CAAAA,CAAA,CAAA,IAAAR,MAAAA,CAAAG,OAAAA;AAAAK,MAAAA,CAAAA,CAAA,CAAA,IAAAR,MAAAA,CAAAE,SAAAA;AAAAM,MAAAA,CAAAA,CAAA,CAAA,IAAAR,MAAAA,CAAAC,KAAAA;AAAAO,MAAAA,CAAAA,MAAAb,SAAAA;AAAAa,MAAAA,CAAAA,MAAAI,GAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,GAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,IAAA;AAAA,IAAA,OANMI,GAAAA;AAAAA,EAMN;AACF,EAAA,IAAAA,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,CAAA,CAAA,CAAA,KAAAH,KAAAA,CAAAlB,SAAAqB,CAAAA,CAAA,CAAA,CAAA,KAAAH,KAAAA,CAAAF,OAAAA,IAAAK,CAAAA,SAAAH,KAAAA,CAAAH,SAAAA,IAAAM,CAAAA,CAAA,EAAA,CAAA,KAAAH,MAAAJ,KAAAA,IAAAO,CAAAA,CAAA,EAAA,CAAA,KAAAb,SAAAA,EAAA;AAEMiB,IAAAA,EAAAA,GAAA;AAAA,MAAAjB,SAAAA;AAAAA,MAAAM,OAEEI,KAAAA,CAAKJ,KAAAA;AAAAA,MAAMC,WACPG,KAAAA,CAAKH,SAAAA;AAAAA,MAAUC,SACjBE,KAAAA,CAAKF,OAAAA;AAAAA,MAAQhB,OACfkB,KAAAA,CAAKlB;AAAAA,KACd;AAACqB,IAAAA,CAAAA,CAAA,CAAA,IAAAH,KAAAA,CAAAlB,KAAAA;AAAAqB,IAAAA,CAAAA,CAAA,CAAA,IAAAH,KAAAA,CAAAF,OAAAA;AAAAK,IAAAA,CAAAA,CAAA,EAAA,IAAAH,KAAAA,CAAAH,SAAAA;AAAAM,IAAAA,CAAAA,CAAA,EAAA,IAAAH,KAAAA,CAAAJ,KAAAA;AAAAO,IAAAA,CAAAA,OAAAb,SAAAA;AAAAa,IAAAA,CAAAA,OAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OANMI,EAAAA;AAMN;;;;"}
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 { useAtomValue } from \"jotai\";\nimport type { BridgePrice, DeltaPrice, OptimalRate } 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\";\n\nconst PRICE_REFETCH_INTERVAL = 5000; // 5 seconds\n\ntype UseSwapPricesReturn = {\n priceMode: SwapMode;\n userSelectedPriceMode: SwapMode;\n market: {\n price?: OptimalRate;\n /** @description whether the market price can be used for the current price params */\n canBeUsed: boolean;\n isLoading: boolean;\n isFetching: boolean;\n isError: boolean;\n error: Error | null;\n queryKey: MarketPriceQueryKey;\n };\n delta: {\n price?: DeltaPrice | BridgePrice;\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 isError: boolean;\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\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 },\n chainId,\n destChainId,\n timeout: 5000,\n query: {\n enabled: deltaEnabled && fetchAnyPrice && (params.enabled ?? true),\n refetchInterval: PRICE_REFETCH_INTERVAL,\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\n : // otherwise when Delta is working, less frequent updates for Market price\n 2 * PRICE_REFETCH_INTERVAL;\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 retry: false,\n },\n });\n\n return {\n priceMode,\n userSelectedPriceMode: swapMode,\n market: {\n price: marketPriceQuery.data,\n isLoading: marketPriceQuery.isLoading,\n isFetching: marketPriceQuery.isFetching,\n isError: marketPriceQuery.isError,\n error: marketPriceQuery.error,\n canBeUsed: marketCanBeUsed,\n queryKey: marketPriceQueryKey,\n },\n delta: {\n price: deltaPriceQuery.data,\n isLoading: deltaPriceQuery.isLoading,\n isFetching: deltaPriceQuery.isFetching,\n isError: deltaPriceQuery.isError,\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} & (\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\n if (priceMode === \"market\") {\n return {\n priceMode,\n price: market.price,\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: delta.price,\n isLoading: delta.isLoading,\n isError: delta.isError,\n error: delta.error,\n queryKey: delta.queryKey,\n };\n}\n"],"names":["PRICE_REFETCH_INTERVAL","useSwapPrices","t0","$","_c","t1","undefined","params","priceParams","isCrossChain","chainId","destChainId","usePricesParams","swapMode","useAtomValue","swapModeAtom","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","t9","enabled","t10","refetchInterval","retry","t11","timeout","query","result","deltaPriceQuery","queryKey","deltaPriceQueryKey","useDeltaPriceQuery","deltaErrorCached","useCachedQueryError","marketEnabled","marketCanBeUsed","marketIsFallback","marketIsMainMode","priceMode","marketRefetchInterval","t12","t13","t14","marketPriceQuery","marketPriceQueryKey","useMarketPriceQuery","t15","error","isError","isFetching","isLoading","price","canBeUsed","t16","t17","userSelectedPriceMode","market","delta","useCurrentSwapPrice"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDeltaFlow.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/tradeFlow/useDeltaFlow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useDeltaFlow.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/tradeFlow/useDeltaFlow.ts"],"names":[],"mappings":"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"}