@velora-dex/widget 0.2.3-dev.2 → 0.2.3-dev.3

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 (31) hide show
  1. package/dist/configurator/Configurator.d.ts.map +1 -1
  2. package/dist/core/limit/useLimitRate.js +3 -1
  3. package/dist/core/limit/useLimitRate.js.map +1 -1
  4. package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
  5. package/dist/core/state/widgetEventsAtom.js +4 -4
  6. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  7. package/dist/events/effects/price.js +3 -3
  8. package/dist/events/effects/price.js.map +1 -1
  9. package/dist/events/effects/swapMode.js +2 -2
  10. package/dist/events/effects/swapMode.js.map +1 -1
  11. package/dist/events/hooks/useOnPriceUpdates.d.ts.map +1 -1
  12. package/dist/events/hooks/useOnPriceUpdates.js +33 -18
  13. package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
  14. package/dist/events/types/priceChange.d.ts +6 -6
  15. package/dist/events/types/priceChange.d.ts.map +1 -1
  16. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +7 -4
  17. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  18. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +29 -72
  19. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  20. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +27 -9
  21. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
  22. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +42 -84
  23. package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
  24. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  25. package/dist/hooks/swap/prices/useSwapPrices.js +209 -81
  26. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  27. package/dist/hooks/useCachedQueryError.d.ts +3 -0
  28. package/dist/hooks/useCachedQueryError.d.ts.map +1 -0
  29. package/dist/hooks/useCachedQueryError.js +11 -0
  30. package/dist/hooks/useCachedQueryError.js.map +1 -0
  31. package/package.json +1 -1
@@ -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,
@@ -26,112 +36,230 @@ function useSwapPrices(params = {}) {
26
36
  } = useGlobalDeltaEnabled();
27
37
  const fetchAnyPrice = priceParams.amount !== "0" && !!priceParams.destToken;
28
38
  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
- });
39
+ let t2;
40
+ if ($[2] !== chainId || $[3] !== isCrossChain || $[4] !== priceParams.destToken || $[5] !== priceParams.srcToken) {
41
+ t2 = !isCrossChain && !!priceParams.destToken && isETH({
42
+ address: priceParams.srcToken
43
+ }) && isWETH({
44
+ address: priceParams.destToken
45
+ }, chainId);
46
+ $[2] = chainId;
47
+ $[3] = isCrossChain;
48
+ $[4] = priceParams.destToken;
49
+ $[5] = priceParams.srcToken;
50
+ $[6] = t2;
51
+ } else {
52
+ t2 = $[6];
53
+ }
54
+ const isEthToWethSameChain = t2;
55
+ let t3;
56
+ if ($[7] !== chainId || $[8] !== isCrossChain || $[9] !== priceParams.destToken || $[10] !== priceParams.srcToken) {
57
+ t3 = !isCrossChain && !!priceParams.destToken && isWETH({
58
+ address: priceParams.srcToken
59
+ }, chainId) && isETH({
60
+ address: priceParams.destToken
61
+ });
62
+ $[7] = chainId;
63
+ $[8] = isCrossChain;
64
+ $[9] = priceParams.destToken;
65
+ $[10] = priceParams.srcToken;
66
+ $[11] = t3;
67
+ } else {
68
+ t3 = $[11];
69
+ }
70
+ const isWethToEthSameChain = t3;
71
+ let t4;
72
+ if ($[12] !== chainId || $[13] !== priceParams.srcToken) {
73
+ t4 = {
74
+ token: priceParams.srcToken,
75
+ chainId
76
+ };
77
+ $[12] = chainId;
78
+ $[13] = priceParams.srcToken;
79
+ $[14] = t4;
80
+ } else {
81
+ t4 = $[14];
82
+ }
39
83
  const {
40
84
  data: isSrcTokenSupported
41
- } = useIsTokenSupportedInDeltaQuery({
42
- token: priceParams.srcToken,
43
- chainId
44
- });
85
+ } = useIsTokenSupportedInDeltaQuery(t4);
86
+ const t5 = destChainId || chainId;
87
+ let t6;
88
+ if ($[15] !== priceParams.destToken || $[16] !== t5) {
89
+ t6 = {
90
+ token: priceParams.destToken,
91
+ chainId: t5
92
+ };
93
+ $[15] = priceParams.destToken;
94
+ $[16] = t5;
95
+ $[17] = t6;
96
+ } else {
97
+ t6 = $[17];
98
+ }
45
99
  const {
46
100
  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: {
101
+ } = useIsTokenSupportedInDeltaQuery(t6);
102
+ const deltaEnabled = deltaEnabledInConfig && deltaEnabledInSettings && deltaEnabledOnCurrentChain && priceParams.side === "SELL" && !isEthToWethSameChain && !isWethToEthSameChain && swapMode === "delta" && isSrcTokenSupported !== false && isDestTokenSupported !== false;
103
+ const deltaCanBeUsed = fetchAnyPrice && deltaEnabledInConfig && deltaEnabledOnCurrentChain && priceParams.side === "SELL" && !isEthToWethSameChain && !isWethToEthSameChain;
104
+ let t7;
105
+ if ($[18] !== chainId || $[19] !== priceParams.srcToken) {
106
+ t7 = isETH({
107
+ address: priceParams.srcToken
108
+ }) ? wrappedNativeCurrency[chainId] : priceParams.srcToken;
109
+ $[18] = chainId;
110
+ $[19] = priceParams.srcToken;
111
+ $[20] = t7;
112
+ } else {
113
+ t7 = $[20];
114
+ }
115
+ const srcTokenForDelta = t7;
116
+ let t8;
117
+ if ($[21] !== priceParams || $[22] !== srcTokenForDelta) {
118
+ t8 = {
69
119
  ...priceParams,
70
120
  srcToken: srcTokenForDelta
71
- },
72
- chainId,
73
- destChainId,
74
- timeout: 5e3,
75
- query: {
76
- enabled: deltaEnabled && fetchAnyPrice && (params.enabled ?? true),
121
+ };
122
+ $[21] = priceParams;
123
+ $[22] = srcTokenForDelta;
124
+ $[23] = t8;
125
+ } else {
126
+ t8 = $[23];
127
+ }
128
+ const t9 = deltaEnabled && fetchAnyPrice && (params.enabled ?? true);
129
+ let t10;
130
+ if ($[24] !== t9) {
131
+ t10 = {
132
+ enabled: t9,
77
133
  refetchInterval: PRICE_REFETCH_INTERVAL,
78
- // already refetched on short interval
79
- // prevents delay before deltaPriceQuery.error is set
80
134
  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;
135
+ };
136
+ $[24] = t9;
137
+ $[25] = t10;
138
+ } else {
139
+ t10 = $[25];
140
+ }
141
+ let t11;
142
+ if ($[26] !== chainId || $[27] !== destChainId || $[28] !== t10 || $[29] !== t8) {
143
+ t11 = {
144
+ priceParams: t8,
145
+ chainId,
146
+ destChainId,
147
+ timeout: 5e3,
148
+ query: t10
149
+ };
150
+ $[26] = chainId;
151
+ $[27] = destChainId;
152
+ $[28] = t10;
153
+ $[29] = t8;
154
+ $[30] = t11;
155
+ } else {
156
+ t11 = $[30];
157
+ }
158
+ const {
159
+ result: deltaPriceQuery,
160
+ queryKey: deltaPriceQueryKey
161
+ } = useDeltaPriceQuery(t11);
162
+ const deltaErrorCached = useCachedQueryError(deltaPriceQuery);
87
163
  const marketEnabled = !isCrossChain;
88
164
  const marketCanBeUsed = marketEnabled && fetchAnyPrice;
89
165
  const marketIsFallback = deltaErrorCached && marketEnabled;
90
166
  const marketIsMainMode = swapMode === "market" && marketEnabled || !deltaEnabled || isBUY;
91
167
  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),
168
+ const marketRefetchInterval = !deltaEnabled || deltaErrorCached ? PRICE_REFETCH_INTERVAL : 2 * PRICE_REFETCH_INTERVAL;
169
+ const t12 = marketEnabled && fetchAnyPrice && (params.enabled ?? true);
170
+ let t13;
171
+ if ($[31] !== marketRefetchInterval || $[32] !== t12) {
172
+ t13 = {
173
+ enabled: t12,
109
174
  refetchInterval: marketRefetchInterval,
110
175
  retry: false
111
- }
112
- });
113
- return {
114
- priceMode,
115
- userSelectedPriceMode: swapMode,
116
- market: {
176
+ };
177
+ $[31] = marketRefetchInterval;
178
+ $[32] = t12;
179
+ $[33] = t13;
180
+ } else {
181
+ t13 = $[33];
182
+ }
183
+ let t14;
184
+ if ($[34] !== chainId || $[35] !== priceParams || $[36] !== t13) {
185
+ t14 = {
186
+ priceParams,
187
+ chainId,
188
+ timeout: 5e3,
189
+ query: t13
190
+ };
191
+ $[34] = chainId;
192
+ $[35] = priceParams;
193
+ $[36] = t13;
194
+ $[37] = t14;
195
+ } else {
196
+ t14 = $[37];
197
+ }
198
+ const {
199
+ result: marketPriceQuery,
200
+ queryKey: marketPriceQueryKey
201
+ } = useMarketPriceQuery(t14);
202
+ let t15;
203
+ if ($[38] !== marketCanBeUsed || $[39] !== marketPriceQuery.data || $[40] !== marketPriceQuery.error || $[41] !== marketPriceQuery.isError || $[42] !== marketPriceQuery.isFetching || $[43] !== marketPriceQuery.isLoading || $[44] !== marketPriceQueryKey) {
204
+ t15 = {
117
205
  price: marketPriceQuery.data,
118
206
  isLoading: marketPriceQuery.isLoading,
119
207
  isFetching: marketPriceQuery.isFetching,
120
208
  isError: marketPriceQuery.isError,
121
209
  error: marketPriceQuery.error,
122
210
  canBeUsed: marketCanBeUsed,
123
- queryKey: marketPriceQuery.queryKey
124
- },
125
- delta: {
211
+ queryKey: marketPriceQueryKey
212
+ };
213
+ $[38] = marketCanBeUsed;
214
+ $[39] = marketPriceQuery.data;
215
+ $[40] = marketPriceQuery.error;
216
+ $[41] = marketPriceQuery.isError;
217
+ $[42] = marketPriceQuery.isFetching;
218
+ $[43] = marketPriceQuery.isLoading;
219
+ $[44] = marketPriceQueryKey;
220
+ $[45] = t15;
221
+ } else {
222
+ t15 = $[45];
223
+ }
224
+ let t16;
225
+ if ($[46] !== deltaCanBeUsed || $[47] !== deltaPriceQuery.data || $[48] !== deltaPriceQuery.error || $[49] !== deltaPriceQuery.isError || $[50] !== deltaPriceQuery.isFetching || $[51] !== deltaPriceQuery.isLoading || $[52] !== deltaPriceQueryKey) {
226
+ t16 = {
126
227
  price: deltaPriceQuery.data,
127
228
  isLoading: deltaPriceQuery.isLoading,
128
229
  isFetching: deltaPriceQuery.isFetching,
129
230
  isError: deltaPriceQuery.isError,
130
231
  error: deltaPriceQuery.error,
131
232
  canBeUsed: deltaCanBeUsed,
132
- queryKey: deltaPriceQuery.queryKey
133
- }
134
- };
233
+ queryKey: deltaPriceQueryKey
234
+ };
235
+ $[46] = deltaCanBeUsed;
236
+ $[47] = deltaPriceQuery.data;
237
+ $[48] = deltaPriceQuery.error;
238
+ $[49] = deltaPriceQuery.isError;
239
+ $[50] = deltaPriceQuery.isFetching;
240
+ $[51] = deltaPriceQuery.isLoading;
241
+ $[52] = deltaPriceQueryKey;
242
+ $[53] = t16;
243
+ } else {
244
+ t16 = $[53];
245
+ }
246
+ let t17;
247
+ if ($[54] !== priceMode || $[55] !== swapMode || $[56] !== t15 || $[57] !== t16) {
248
+ t17 = {
249
+ priceMode,
250
+ userSelectedPriceMode: swapMode,
251
+ market: t15,
252
+ delta: t16
253
+ };
254
+ $[54] = priceMode;
255
+ $[55] = swapMode;
256
+ $[56] = t15;
257
+ $[57] = t16;
258
+ $[58] = t17;
259
+ } else {
260
+ t17 = $[58];
261
+ }
262
+ return t17;
135
263
  }
136
264
  function useCurrentSwapPrice(t0) {
137
265
  const $ = distExports.c(16);
@@ -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 { 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 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 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 isFetching: marketPriceQuery.isFetching,\n isError: marketPriceQuery.isError,\n error: marketPriceQuery.error,\n canBeUsed: marketCanBeUsed,\n queryKey: marketPriceQuery.queryKey,\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: deltaPriceQuery.queryKey,\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","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","isFetching","isError","canBeUsed","queryKey","delta","useCurrentSwapPrice","t0","$","_c","t1","undefined","t2"],"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 { 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 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 { 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 || 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 { 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","isBUY","side","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":";;;;;;;;;;;;AAoBA,MAAMA,sBAAAA,GAAyB,GAAA;AA2BxB,SAAAC,cAAAC,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,EAAAA,KAAAI,MAAAA,GAAA,EAA8B,GAA9BJ,EAAAA;AAA+BC,IAAAA,CAAAA,MAAAD,EAAAA;AAAAC,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAA/B,EAAA,MAAAI,MAAAA,GAAAF,EAAAA;AAEA,EAAA,MAAA;AAAA,IAAAG,WAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC;AAAAA,GAAA,GACEC,gBAAgB,MAAM,CAAA;AAGxB,EAAA,MAAAC,QAAAA,GAAiBC,aAAaC,YAAY,CAAA;AAE1C,EAAA,MAAA;AAAA,IAAAC,eAAAA,EAAAC,oBAAAA;AAAAA,IAAAC,iBAAAA,EAAAC,sBAAAA;AAAAA,IAAAC,qBAAAA,EAAAC;AAAAA,MAIIC,qBAAAA,EAAsB;AAE1B,EAAA,MAAAC,gBAAsBf,WAAAA,CAAWgB,MAAAA,KAAY,GAAA,IAAvB,CAA+B,CAAChB,WAAAA,CAAWiB,SAAAA;AAEjE,EAAA,MAAAC,KAAAA,GAAclB,YAAWmB,IAAAA,KAAU,KAAA;AAAM,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAzB,EAAA,CAAA,CAAA,KAAAO,OAAAA,IAAAP,CAAAA,CAAA,CAAA,CAAA,KAAAM,YAAAA,IAAAN,CAAAA,CAAA,CAAA,MAAAK,WAAAA,CAAAiB,SAAAA,IAAAtB,EAAA,CAAA,CAAA,KAAAK,YAAAqB,QAAAA,EAAA;AAGvCD,IAAAA,EAAAA,GAAA,CAACnB,YAAAA,IAAD,CACC,CAACD,WAAAA,CAAWiB,aACbK,KAAAA,CAAM;AAAA,MAAAC,SAAWvB,WAAAA,CAAWqB;AAAAA,KAAW,KACvCG,MAAAA,CAAO;AAAA,MAAAD,SAAWvB,WAAAA,CAAWiB;AAAAA,OAAcf,OAAO,CAAA;AAACP,IAAAA,CAAAA,MAAAO,OAAAA;AAAAP,IAAAA,CAAAA,MAAAM,YAAAA;AAAAN,IAAAA,CAAAA,CAAA,CAAA,IAAAK,WAAAA,CAAAiB,SAAAA;AAAAtB,IAAAA,CAAAA,CAAA,CAAA,IAAAK,WAAAA,CAAAqB,QAAAA;AAAA1B,IAAAA,CAAAA,MAAAyB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAzB,EAAA,CAAA,CAAA;AAAA,EAAA;AAJrD,EAAA,MAAA8B,oBAAAA,GACEL,EAAAA;AAGoD,EAAA,IAAAM,EAAAA;AAAA,EAAA,IAAA/B,EAAA,CAAA,CAAA,KAAAO,OAAAA,IAAAP,CAAAA,CAAA,CAAA,CAAA,KAAAM,YAAAA,IAAAN,CAAAA,CAAA,CAAA,MAAAK,WAAAA,CAAAiB,SAAAA,IAAAtB,EAAA,EAAA,CAAA,KAAAK,YAAAqB,QAAAA,EAAA;AAEpDK,IAAAA,EAAAA,GAAA,CAACzB,YAAAA,IAAD,CACC,CAACD,WAAAA,CAAWiB,aACbO,MAAAA,CAAO;AAAA,MAAAD,SAAWvB,WAAAA,CAAWqB;AAAAA,KAAU,EAAGnB,OAAO,CAAA,IACjDoB,KAAAA,CAAM;AAAA,MAAAC,SAAWvB,WAAAA,CAAWiB;AAAAA,KAAY,CAAA;AAACtB,IAAAA,CAAAA,MAAAO,OAAAA;AAAAP,IAAAA,CAAAA,MAAAM,YAAAA;AAAAN,IAAAA,CAAAA,CAAA,CAAA,IAAAK,WAAAA,CAAAiB,SAAAA;AAAAtB,IAAAA,CAAAA,CAAA,EAAA,IAAAK,WAAAA,CAAAqB,QAAAA;AAAA1B,IAAAA,CAAAA,OAAA+B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA/B,EAAA,EAAA,CAAA;AAAA,EAAA;AAJ3C,EAAA,MAAAgC,oBAAAA,GACED,EAAAA;AAG0C,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAAjC,CAAAA,SAAAO,OAAAA,IAAAP,EAAA,EAAA,CAAA,KAAAK,YAAAqB,QAAAA,EAAA;AAE0BO,IAAAA,EAAAA,GAAA;AAAA,MAAAC,OAC7D7B,WAAAA,CAAWqB,QAAAA;AAAAA,MAASnB;AAAAA,KAE7B;AAACP,IAAAA,CAAAA,OAAAO,OAAAA;AAAAP,IAAAA,CAAAA,CAAA,EAAA,IAAAK,WAAAA,CAAAqB,QAAAA;AAAA1B,IAAAA,CAAAA,OAAAiC,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAjC,EAAA,EAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAA;AAAA,IAAAmC,IAAAA,EAAAC;AAAAA,GAAA,GAAsCC,gCAAgCJ,EAGrE,CAAA;AAGU,EAAA,MAAAK,KAAA9B,WAAAA,IAAAD,OAAAA;AAAsB,EAAA,IAAAgC,EAAAA;AAAA,EAAA,IAAAvC,CAAAA,SAAAK,WAAAA,CAAAiB,aAAAtB,CAAAA,SAAAsC,EAAAA,EAAA;AAFsCC,IAAAA,EAAAA,GAAA;AAAA,MAAAL,OAC9D7B,WAAAA,CAAWiB,SAAAA;AAAAA,MAAUf,OAAAA,EACnB+B;AAAAA,KACX;AAACtC,IAAAA,CAAAA,CAAA,EAAA,IAAAK,WAAAA,CAAAiB,SAAAA;AAAAtB,IAAAA,CAAAA,OAAAsC,EAAAA;AAAAtC,IAAAA,CAAAA,OAAAuC,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAvC,EAAA,EAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAA;AAAA,IAAAmC,IAAAA,EAAAK;AAAAA,GAAA,GAAuCH,gCAAgCE,EAGtE,CAAA;AAED,EAAA,MAAAE,YAAAA,GAEE3B,oBAAAA,IAAAE,sBAAAA,IAAAE,0BAAAA,IAMAb,YAAWmB,IAAAA,KAAU,MAAA,IANrB,CAQCM,oBAAAA,IARD,CAUCE,oBAAAA,IAEDtB,QAAAA,KAAa,OAAA,IAEb0B,mBAAAA,KAAwB,SACxBI,oBAAAA,KAAyB,KAAA;AAK3B,EAAA,MAAAE,cAAAA,GACEtB,iBAAAN,oBAAAA,IAAAI,0BAAAA,IAGAb,YAAWmB,IAAAA,KAAU,MAAA,IAHrB,CAKCM,oBAAAA,IALD,CAMCE,oBAAAA;AAAqB,EAAA,IAAAW,EAAAA;AAAA,EAAA,IAAA3C,CAAAA,SAAAO,OAAAA,IAAAP,EAAA,EAAA,CAAA,KAAAK,YAAAqB,QAAAA,EAAA;AAKCiB,IAAAA,EAAAA,GAAAhB,KAAAA,CAAM;AAAA,MAAAC,SAAWvB,WAAAA,CAAWqB;AAAAA,KAE9B,CAAA,GADnBkB,qBAAAA,CAAsBrC,OAAO,IAC7BF,WAAAA,CAAWqB,QAAAA;AAAS1B,IAAAA,CAAAA,OAAAO,OAAAA;AAAAP,IAAAA,CAAAA,CAAA,EAAA,IAAAK,WAAAA,CAAAqB,QAAAA;AAAA1B,IAAAA,CAAAA,OAAA2C,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA3C,EAAA,EAAA,CAAA;AAAA,EAAA;AAFxB,EAAA,MAAA6C,gBAAAA,GAAyBF,EAAAA;AAEA,EAAA,IAAAG,EAAAA;AAAA,EAAA,IAAA9C,EAAA,EAAA,CAAA,KAAAK,eAAAL,CAAAA,SAAA6C,gBAAAA,EAAA;AAIRC,IAAAA,EAAAA,GAAA;AAAA,MAAA,GACRzC,WAAAA;AAAAA,MAAWqB,QAAAA,EACJmB;AAAAA,KACZ;AAAC7C,IAAAA,CAAAA,OAAAK,WAAAA;AAAAL,IAAAA,CAAAA,OAAA6C,gBAAAA;AAAA7C,IAAAA,CAAAA,OAAA8C,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA9C,EAAA,EAAA,CAAA;AAAA,EAAA;AAKU,EAAA,MAAA+C,EAAAA,GAAAN,YAAAA,IAAArB,aAAAA,KAAkChB,MAAAA,CAAM4C,OAAAA,IAAN,IAAA,CAAA;AAAuB,EAAA,IAAAC,GAAAA;AAAA,EAAA,IAAAjD,CAAAA,SAAA+C,EAAAA,EAAA;AAD7DE,IAAAA,GAAAA,GAAA;AAAA,MAAAD,OAAAA,EACID,EAAAA;AAAAA,MAAyDG,eAAAA,EACjDrD,sBAAAA;AAAAA,MAAsBsD,KAAAA,EAGhC;AAAA,KACT;AAACnD,IAAAA,CAAAA,OAAA+C,EAAAA;AAAA/C,IAAAA,CAAAA,OAAAiD,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAAjD,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAoD,GAAAA;AAAA,EAAA,IAAApD,CAAAA,CAAA,EAAA,CAAA,KAAAO,OAAAA,IAAAP,EAAA,EAAA,CAAA,KAAAQ,WAAAA,IAAAR,CAAAA,CAAA,EAAA,CAAA,KAAAiD,GAAAA,IAAAjD,CAAAA,SAAA8C,EAAAA,EAAA;AAdgBM,IAAAA,GAAAA,GAAA;AAAA,MAAA/C,WAAAA,EACJyC,EAAAA;AAAAA,MAGZvC,OAAAA;AAAAA,MAAAC,WAAAA;AAAAA,MAAA6C,OAAAA,EAGQ,GAAA;AAAA,MAAIC,KAAAA,EACNL;AAAAA,KAOT;AAACjD,IAAAA,CAAAA,OAAAO,OAAAA;AAAAP,IAAAA,CAAAA,OAAAQ,WAAAA;AAAAR,IAAAA,CAAAA,OAAAiD,GAAAA;AAAAjD,IAAAA,CAAAA,OAAA8C,EAAAA;AAAA9C,IAAAA,CAAAA,OAAAoD,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAApD,EAAA,EAAA,CAAA;AAAA,EAAA;AAhBH,EAAA,MAAA;AAAA,IAAAuD,MAAAA,EAAAC,eAAAA;AAAAA,IAAAC,QAAAA,EAAAC;AAAAA,GAAA,GACEC,mBAAmBP,GAelB,CAAA;AAEH,EAAA,MAAAQ,gBAAAA,GAAyBC,oBAAoBL,eAAe,CAAA;AAG5D,EAAA,MAAAM,gBAAsB,CAACxD,YAAAA;AACvB,EAAA,MAAAyD,kBAAwBD,aAAAA,IAAA1C,aAAAA;AAExB,EAAA,MAAA4C,mBAAyBJ,gBAAAA,IAAAE,aAAAA;AAGzB,EAAA,MAAAG,gBAAAA,GACGvD,QAAAA,KAAa,QAAA,IAAboD,aAAAA,IAAD,CAA6CrB,YAAAA,IAA7ClB,KAAAA;AACF,EAAA,MAAA2C,SAAAA,GAAkBF,gBAAAA,IAAAC,gBAAAA,GAAA,QAAA,GAAA,OAAA;AAElB,EAAA,MAAAE,qBAAAA,GAEE,CAAC1B,YAAAA,IAADmB,gBAAAA,GAAA/D,yBAKI,CAAA,GAAIA,sBAAAA;AAQK,EAAA,MAAAuE,GAAAA,GAAAN,aAAAA,IAAA1C,aAAAA,KAAmChB,MAAAA,CAAM4C,OAAAA,IAAN,IAAA,CAAA;AAAuB,EAAA,IAAAqB,GAAAA;AAAA,EAAA,IAAArE,EAAA,EAAA,CAAA,KAAAmE,yBAAAnE,CAAAA,SAAAoE,GAAAA,EAAA;AAD9DC,IAAAA,GAAAA,GAAA;AAAA,MAAArB,OAAAA,EACIoB,GAAAA;AAAAA,MAA0DlB,eAAAA,EAClDiB,qBAAAA;AAAAA,MAAqBhB,KAAAA,EAC/B;AAAA,KACT;AAACnD,IAAAA,CAAAA,OAAAmE,qBAAAA;AAAAnE,IAAAA,CAAAA,OAAAoE,GAAAA;AAAApE,IAAAA,CAAAA,OAAAqE,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAArE,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAsE,GAAAA;AAAA,EAAA,IAAAtE,CAAAA,CAAA,EAAA,CAAA,KAAAO,OAAAA,IAAAP,CAAAA,SAAAK,WAAAA,IAAAL,CAAAA,CAAA,EAAA,CAAA,KAAAqE,GAAAA,EAAA;AARiBC,IAAAA,GAAAA,GAAA;AAAA,MAAAjE,WAAAA;AAAAA,MAAAE,OAAAA;AAAAA,MAAA8C,OAAAA,EAGT,GAAA;AAAA,MAAIC,KAAAA,EACNe;AAAAA,KAKT;AAACrE,IAAAA,CAAAA,OAAAO,OAAAA;AAAAP,IAAAA,CAAAA,OAAAK,WAAAA;AAAAL,IAAAA,CAAAA,OAAAqE,GAAAA;AAAArE,IAAAA,CAAAA,OAAAsE,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAAtE,EAAA,EAAA,CAAA;AAAA,EAAA;AAVH,EAAA,MAAA;AAAA,IAAAuD,MAAAA,EAAAgB,gBAAAA;AAAAA,IAAAd,QAAAA,EAAAe;AAAAA,GAAA,GACEC,oBAAoBH,GASnB,CAAA;AAAE,EAAA,IAAAI,GAAAA;AAAA,EAAA,IAAA1E,CAAAA,CAAA,EAAA,CAAA,KAAA+D,eAAAA,IAAA/D,UAAAuE,gBAAAA,CAAApC,IAAAA,IAAAnC,CAAAA,CAAA,EAAA,CAAA,KAAAuE,gBAAAA,CAAAI,SAAA3E,CAAAA,CAAA,EAAA,CAAA,KAAAuE,gBAAAA,CAAAK,OAAAA,IAAA5E,CAAAA,CAAA,EAAA,CAAA,KAAAuE,iBAAAM,UAAAA,IAAA7E,CAAAA,CAAA,EAAA,CAAA,KAAAuE,gBAAAA,CAAAO,SAAAA,IAAA9E,CAAAA,SAAAwE,mBAAAA,EAAA;AAKKE,IAAAA,GAAAA,GAAA;AAAA,MAAAK,OACCR,gBAAAA,CAAgBpC,IAAAA;AAAAA,MAAK2C,WACjBP,gBAAAA,CAAgBO,SAAAA;AAAAA,MAAUD,YACzBN,gBAAAA,CAAgBM,UAAAA;AAAAA,MAAWD,SAC9BL,gBAAAA,CAAgBK,OAAAA;AAAAA,MAAQD,OAC1BJ,gBAAAA,CAAgBI,KAAAA;AAAAA,MAAMK,SAAAA,EAClBjB,eAAAA;AAAAA,MAAeN,QAAAA,EAChBe;AAAAA,KACZ;AAACxE,IAAAA,CAAAA,OAAA+D,eAAAA;AAAA/D,IAAAA,CAAAA,CAAA,EAAA,IAAAuE,gBAAAA,CAAApC,IAAAA;AAAAnC,IAAAA,CAAAA,CAAA,EAAA,IAAAuE,gBAAAA,CAAAI,KAAAA;AAAA3E,IAAAA,CAAAA,CAAA,EAAA,IAAAuE,gBAAAA,CAAAK,OAAAA;AAAA5E,IAAAA,CAAAA,CAAA,EAAA,IAAAuE,gBAAAA,CAAAM,UAAAA;AAAA7E,IAAAA,CAAAA,CAAA,EAAA,IAAAuE,gBAAAA,CAAAO,SAAAA;AAAA9E,IAAAA,CAAAA,OAAAwE,mBAAAA;AAAAxE,IAAAA,CAAAA,OAAA0E,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAA1E,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAiF,GAAAA;AAAA,EAAA,IAAAjF,CAAAA,CAAA,EAAA,CAAA,KAAA0C,cAAAA,IAAA1C,UAAAwD,eAAAA,CAAArB,IAAAA,IAAAnC,CAAAA,CAAA,EAAA,CAAA,KAAAwD,eAAAA,CAAAmB,SAAA3E,CAAAA,CAAA,EAAA,CAAA,KAAAwD,eAAAA,CAAAoB,OAAAA,IAAA5E,CAAAA,CAAA,EAAA,CAAA,KAAAwD,gBAAAqB,UAAAA,IAAA7E,CAAAA,CAAA,EAAA,CAAA,KAAAwD,eAAAA,CAAAsB,SAAAA,IAAA9E,CAAAA,SAAA0D,kBAAAA,EAAA;AACMuB,IAAAA,GAAAA,GAAA;AAAA,MAAAF,OACEvB,eAAAA,CAAerB,IAAAA;AAAAA,MAAK2C,WAChBtB,eAAAA,CAAesB,SAAAA;AAAAA,MAAUD,YACxBrB,eAAAA,CAAeqB,UAAAA;AAAAA,MAAWD,SAC7BpB,eAAAA,CAAeoB,OAAAA;AAAAA,MAAQD,OACzBnB,eAAAA,CAAemB,KAAAA;AAAAA,MAAMK,SAAAA,EACjBtC,cAAAA;AAAAA,MAAce,QAAAA,EACfC;AAAAA,KACZ;AAAC1D,IAAAA,CAAAA,OAAA0C,cAAAA;AAAA1C,IAAAA,CAAAA,CAAA,EAAA,IAAAwD,eAAAA,CAAArB,IAAAA;AAAAnC,IAAAA,CAAAA,CAAA,EAAA,IAAAwD,eAAAA,CAAAmB,KAAAA;AAAA3E,IAAAA,CAAAA,CAAA,EAAA,IAAAwD,eAAAA,CAAAoB,OAAAA;AAAA5E,IAAAA,CAAAA,CAAA,EAAA,IAAAwD,eAAAA,CAAAqB,UAAAA;AAAA7E,IAAAA,CAAAA,CAAA,EAAA,IAAAwD,eAAAA,CAAAsB,SAAAA;AAAA9E,IAAAA,CAAAA,OAAA0D,kBAAAA;AAAA1D,IAAAA,CAAAA,OAAAiF,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAAjF,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAkF,GAAAA;AAAA,EAAA,IAAAlF,CAAAA,CAAA,EAAA,CAAA,KAAAkE,SAAAA,IAAAlE,EAAA,EAAA,CAAA,KAAAU,QAAAA,IAAAV,CAAAA,CAAA,EAAA,CAAA,KAAA0E,GAAAA,IAAA1E,CAAAA,SAAAiF,GAAAA,EAAA;AApBIC,IAAAA,GAAAA,GAAA;AAAA,MAAAhB,SAAAA;AAAAA,MAAAiB,qBAAAA,EAEkBzE,QAAAA;AAAAA,MAAQ0E,MAAAA,EACvBV,GAAAA;AAAAA,MAQPW,KAAAA,EACMJ;AAAAA,KAST;AAACjF,IAAAA,CAAAA,OAAAkE,SAAAA;AAAAlE,IAAAA,CAAAA,OAAAU,QAAAA;AAAAV,IAAAA,CAAAA,OAAA0E,GAAAA;AAAA1E,IAAAA,CAAAA,OAAAiF,GAAAA;AAAAjF,IAAAA,CAAAA,OAAAkF,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAAlF,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OArBMkF,GAAAA;AAqBN;AAoBI,SAAAI,oBAAAvF,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,MAAA6C,OAAAA,EAAwC;AAAA,KAAK,GAA7CjD,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,MAAAI,MAAAA,GAAAF,EAAAA;AAEA,EAAA,MAAA;AAAA,IAAAkF,MAAAA;AAAAA,IAAAC,KAAAA;AAAAA,IAAAnB;AAAAA,GAAA,GAAqCpE,cAAcM,MAAM,CAAA;AAEzD,EAAA,IAAI8D,cAAc,QAAA,EAAQ;AAAA,IAAA,IAAAzC,GAAAA;AAAA,IAAA,IAAAzB,CAAAA,CAAA,CAAA,CAAA,KAAAoF,MAAAA,CAAAT,KAAAA,IAAA3E,CAAAA,CAAA,CAAA,CAAA,KAAAoF,MAAAA,CAAAR,OAAAA,IAAA5E,CAAAA,QAAAoF,MAAAA,CAAAN,SAAAA,IAAA9E,CAAAA,CAAA,CAAA,CAAA,KAAAoF,MAAAA,CAAAL,KAAAA,IAAA/E,CAAAA,CAAA,CAAA,CAAA,KAAAoF,MAAAA,CAAA3B,QAAAA,IAAAzD,CAAAA,QAAAkE,SAAAA,EAAA;AACjBzC,MAAAA,GAAAA,GAAA;AAAA,QAAAyC,SAAAA;AAAAA,QAAAa,OAEEK,MAAAA,CAAML,KAAAA;AAAAA,QAAMD,WACRM,MAAAA,CAAMN,SAAAA;AAAAA,QAAUF,SAClBQ,MAAAA,CAAMR,OAAAA;AAAAA,QAAQD,OAChBS,MAAAA,CAAMT,KAAAA;AAAAA,QAAMlB,UACT2B,MAAAA,CAAM3B;AAAAA,OAClB;AAACzD,MAAAA,CAAAA,CAAA,CAAA,IAAAoF,MAAAA,CAAAT,KAAAA;AAAA3E,MAAAA,CAAAA,CAAA,CAAA,IAAAoF,MAAAA,CAAAR,OAAAA;AAAA5E,MAAAA,CAAAA,CAAA,CAAA,IAAAoF,MAAAA,CAAAN,SAAAA;AAAA9E,MAAAA,CAAAA,CAAA,CAAA,IAAAoF,MAAAA,CAAAL,KAAAA;AAAA/E,MAAAA,CAAAA,CAAA,CAAA,IAAAoF,MAAAA,CAAA3B,QAAAA;AAAAzD,MAAAA,CAAAA,MAAAkE,SAAAA;AAAAlE,MAAAA,CAAAA,MAAAyB,GAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,GAAAA,GAAAzB,EAAA,CAAA,CAAA;AAAA,IAAA;AAAA,IAAA,OAPMyB,GAAAA;AAAAA,EAON;AACF,EAAA,IAAAA,EAAAA;AAAA,EAAA,IAAAzB,CAAAA,CAAA,CAAA,CAAA,KAAAqF,KAAAA,CAAAV,KAAAA,IAAA3E,CAAAA,CAAA,EAAA,CAAA,KAAAqF,KAAAA,CAAAT,OAAAA,IAAA5E,CAAAA,SAAAqF,KAAAA,CAAAP,SAAAA,IAAA9E,CAAAA,CAAA,EAAA,CAAA,KAAAqF,KAAAA,CAAAN,KAAAA,IAAA/E,CAAAA,CAAA,EAAA,CAAA,KAAAqF,KAAAA,CAAA5B,QAAAA,IAAAzD,CAAAA,SAAAkE,SAAAA,EAAA;AAEMzC,IAAAA,EAAAA,GAAA;AAAA,MAAAyC,SAAAA;AAAAA,MAAAa,OAEEM,KAAAA,CAAKN,KAAAA;AAAAA,MAAMD,WACPO,KAAAA,CAAKP,SAAAA;AAAAA,MAAUF,SACjBS,KAAAA,CAAKT,OAAAA;AAAAA,MAAQD,OACfU,KAAAA,CAAKV,KAAAA;AAAAA,MAAMlB,UACR4B,KAAAA,CAAK5B;AAAAA,KACjB;AAACzD,IAAAA,CAAAA,CAAA,CAAA,IAAAqF,KAAAA,CAAAV,KAAAA;AAAA3E,IAAAA,CAAAA,CAAA,EAAA,IAAAqF,KAAAA,CAAAT,OAAAA;AAAA5E,IAAAA,CAAAA,CAAA,EAAA,IAAAqF,KAAAA,CAAAP,SAAAA;AAAA9E,IAAAA,CAAAA,CAAA,EAAA,IAAAqF,KAAAA,CAAAN,KAAAA;AAAA/E,IAAAA,CAAAA,CAAA,EAAA,IAAAqF,KAAAA,CAAA5B,QAAAA;AAAAzD,IAAAA,CAAAA,OAAAkE,SAAAA;AAAAlE,IAAAA,CAAAA,OAAAyB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAzB,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAPMyB,EAAAA;AAON;;;;"}
@@ -0,0 +1,3 @@
1
+ import { DefaultError, UseQueryResult } from '@tanstack/react-query';
2
+ export declare function useCachedQueryError<TData = unknown, TError = DefaultError>(query: UseQueryResult<TData, TError>): TError | null;
3
+ //# sourceMappingURL=useCachedQueryError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCachedQueryError.d.ts","sourceRoot":"","sources":["../../src/hooks/useCachedQueryError.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG1E,wBAAgB,mBAAmB,CAAC,KAAK,GAAG,OAAO,EAAE,MAAM,GAAG,YAAY,EACxE,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,GACnC,MAAM,GAAG,IAAI,CAYf"}
@@ -0,0 +1,11 @@
1
+ import { useRef } from 'react';
2
+
3
+ function useCachedQueryError(query) {
4
+ const errorRef = useRef(query.error);
5
+ if (query.error) errorRef.current = query.error;
6
+ if (query.isSuccess) errorRef.current = null;
7
+ return errorRef.current;
8
+ }
9
+
10
+ export { useCachedQueryError };
11
+ //# sourceMappingURL=useCachedQueryError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCachedQueryError.js","sources":["../../src/hooks/useCachedQueryError.ts"],"sourcesContent":["import type { DefaultError, UseQueryResult } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\n\nexport function useCachedQueryError<TData = unknown, TError = DefaultError>(\n query: UseQueryResult<TData, TError>\n): TError | null {\n // keep track if last result was error\n const errorRef = useRef(query.error);\n // by itself isError resets when fetching\n\n /* eslint-disable react-hooks/refs */\n if (query.error) errorRef.current = query.error;\n // keep errorRef until delta succeeds\n if (query.isSuccess) errorRef.current = null;\n /* eslint-disable react-hooks/refs */\n\n return errorRef.current;\n}\n"],"names":["useCachedQueryError","query","errorRef","useRef","error","current","isSuccess"],"mappings":";;AAGO,SAASA,oBACdC,KAAAA,EACe;AAEf,EAAA,MAAMC,QAAAA,GAAWC,MAAAA,CAAOF,KAAAA,CAAMG,KAAK,CAAA;AAInC,EAAA,IAAIH,KAAAA,CAAMG,KAAAA,EAAOF,QAAAA,CAASG,OAAAA,GAAUJ,KAAAA,CAAMG,KAAAA;AAE1C,EAAA,IAAIH,KAAAA,CAAMK,SAAAA,EAAWJ,QAAAA,CAASG,OAAAA,GAAU,IAAA;AAGxC,EAAA,OAAOH,QAAAA,CAASG,OAAAA;AAClB;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@velora-dex/widget",
3
- "version": "0.2.3-dev.2",
3
+ "version": "0.2.3-dev.3",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "files": [