@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
@@ -1 +1 @@
1
- {"version":3,"file":"Configurator.d.ts","sourceRoot":"","sources":["../../src/configurator/Configurator.tsx"],"names":[],"mappings":"AAsPA,eAAO,MAAM,YAAY,+CAkSxB,CAAC"}
1
+ {"version":3,"file":"Configurator.d.ts","sourceRoot":"","sources":["../../src/configurator/Configurator.tsx"],"names":[],"mappings":"AAsPA,eAAO,MAAM,YAAY,+CAqSxB,CAAC"}
@@ -76,7 +76,9 @@ const useSwapPriceForLimit = (t0) => {
76
76
  } else {
77
77
  t6 = $[11];
78
78
  }
79
- const marketPriceQuery = useMarketPriceQuery(t6);
79
+ const {
80
+ result: marketPriceQuery
81
+ } = useMarketPriceQuery(t6);
80
82
  let t7;
81
83
  if ($[12] !== marketPriceQuery.data || $[13] !== marketPriceQuery.isLoading) {
82
84
  t7 = {
@@ -1 +1 @@
1
- {"version":3,"file":"useLimitRate.js","sources":["../../../src/core/limit/useLimitRate.ts"],"sourcesContent":["import { useMarketPriceQuery } from \"@/hooks/swap/prices/market/queries/useMarketPriceQuery\";\nimport {\n usePricesParams,\n type FetchPriceParams,\n} from \"@/hooks/swap/prices/usePricesParams\";\nimport { useTokenPrice } from \"@/hooks/tokens/prices/useTokenPrices\";\nimport Big from \"big.js\";\nimport { parseUnits, formatUnits } from \"viem\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport type { UseLimitRateResult } from \"./types\";\nimport { useAtomValue } from \"jotai\";\nimport { tradeModeToTokenAtoms } from \"../inputs/state/common\";\nimport { useMemo } from \"react\";\n\n// 5 min, so as not to change limit price in front of the user too often\nconst PRICE_REFETCH_INTERVAL = 60_000 * 5;\n\nconst useSwapPriceForLimit = ({\n enabled = true,\n refetchInterval = PRICE_REFETCH_INTERVAL,\n tradeMode,\n}: {\n enabled?: boolean;\n refetchInterval?: number;\n tradeMode: \"limit\" | \"otc\";\n}) => {\n const tokenFrom = useAtomValue(\n tradeModeToTokenAtoms[tradeMode].tokenFromAtom\n );\n const { priceParams, chainId } = usePricesParams(tradeMode);\n\n const priceParamsWithAmount: FetchPriceParams = {\n ...priceParams,\n amount: parseUnits(\"1\", tokenFrom.decimals).toString(),\n side: \"SELL\" as const,\n ignoreBadUsdPrice: true,\n };\n\n // @TODO: delta price return quote for less tokens than market price with srcAmount=1,\n // but maybe we should increase srcAmount and use delta prices instead, need to test.\n const marketPriceQuery = useMarketPriceQuery({\n priceParams: priceParamsWithAmount,\n chainId,\n timeout: 5000,\n query: {\n enabled,\n refetchInterval,\n retry: false,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n },\n });\n\n return {\n price: marketPriceQuery.data,\n isLoading: marketPriceQuery.isLoading,\n };\n};\n\n// define how many tokenTo units one tokenFrom (tokenTo if reversed) unit costs, eg 1 ETH = 3000 USDC\nexport const useLimitRate = (\n tradeMode: \"limit\" | \"otc\"\n): UseLimitRateResult => {\n const { tokenFrom, tokenTo } = useWidgetTokens(tradeMode);\n\n const { data: tokenFromPrice, isLoading: isTokenFromPriceLoading } =\n useTokenPrice(tokenFrom, { refetchInterval: PRICE_REFETCH_INTERVAL });\n const { data: tokenToPrice, isLoading: isTokenToPriceLoading } =\n useTokenPrice(tokenTo, { refetchInterval: PRICE_REFETCH_INTERVAL });\n\n const areFiatPricesLoading = isTokenFromPriceLoading || isTokenToPriceLoading;\n\n const fiatPricesAvailable = !!(tokenFromPrice && tokenToPrice);\n const fetchSwapPrice = !fiatPricesAvailable && !areFiatPricesLoading;\n\n const { price: swapPrice, isLoading: isSwapPriceLoading } =\n useSwapPriceForLimit({ enabled: fetchSwapPrice, tradeMode });\n\n const isLoading = areFiatPricesLoading || isSwapPriceLoading;\n\n return useMemo(() => {\n if (!tokenTo) {\n return { isLoading };\n }\n\n let rate: string | undefined = undefined;\n let rateReversed: string | undefined = undefined;\n if (fiatPricesAvailable) {\n rate = Big(tokenFromPrice.price).div(tokenToPrice.price).toFixed();\n rateReversed = Big(tokenToPrice.price)\n .div(tokenFromPrice.price)\n .toFixed();\n } else if (swapPrice) {\n const srcUnits = formatUnits(\n BigInt(swapPrice.srcAmount),\n tokenFrom.decimals\n );\n const destUnits = formatUnits(\n BigInt(swapPrice.destAmount),\n tokenTo.decimals\n );\n\n rate = Big(destUnits).div(srcUnits).toFixed();\n rateReversed = Big(srcUnits).div(destUnits).toFixed();\n }\n\n if (!rate || !rateReversed) {\n return { isLoading };\n }\n\n return {\n rates: { rate, rateReversed },\n isLoading,\n };\n }, [\n fiatPricesAvailable,\n isLoading,\n swapPrice,\n tokenFrom.decimals,\n tokenFromPrice?.price,\n tokenTo,\n tokenToPrice?.price,\n ]);\n};\n"],"names":["PRICE_REFETCH_INTERVAL","useSwapPriceForLimit","t0","$","_c","enabled","t1","refetchInterval","t2","tradeMode","undefined","tokenFrom","useAtomValue","tradeModeToTokenAtoms","tokenFromAtom","priceParams","chainId","usePricesParams","t3","decimals","parseUnits","toString","t4","amount","side","ignoreBadUsdPrice","priceParamsWithAmount","t5","retry","refetchOnWindowFocus","refetchOnMount","t6","timeout","query","marketPriceQuery","useMarketPriceQuery","t7","data","isLoading","price","useLimitRate","tokenTo","useWidgetTokens","tokenFromPrice","isTokenFromPriceLoading","useTokenPrice","tokenToPrice","isTokenToPriceLoading","areFiatPricesLoading","fiatPricesAvailable","fetchSwapPrice","swapPrice","isSwapPriceLoading","useMemo","rate","rateReversed","Big","div","toFixed","srcUnits","formatUnits","BigInt","srcAmount","destUnits","destAmount","rates"],"mappings":"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"}
1
+ {"version":3,"file":"useLimitRate.js","sources":["../../../src/core/limit/useLimitRate.ts"],"sourcesContent":["import { useMarketPriceQuery } from \"@/hooks/swap/prices/market/queries/useMarketPriceQuery\";\nimport {\n usePricesParams,\n type FetchPriceParams,\n} from \"@/hooks/swap/prices/usePricesParams\";\nimport { useTokenPrice } from \"@/hooks/tokens/prices/useTokenPrices\";\nimport Big from \"big.js\";\nimport { parseUnits, formatUnits } from \"viem\";\nimport { useWidgetTokens } from \"../inputs/state/common\";\nimport type { UseLimitRateResult } from \"./types\";\nimport { useAtomValue } from \"jotai\";\nimport { tradeModeToTokenAtoms } from \"../inputs/state/common\";\nimport { useMemo } from \"react\";\n\n// 5 min, so as not to change limit price in front of the user too often\nconst PRICE_REFETCH_INTERVAL = 60_000 * 5;\n\nconst useSwapPriceForLimit = ({\n enabled = true,\n refetchInterval = PRICE_REFETCH_INTERVAL,\n tradeMode,\n}: {\n enabled?: boolean;\n refetchInterval?: number;\n tradeMode: \"limit\" | \"otc\";\n}) => {\n const tokenFrom = useAtomValue(\n tradeModeToTokenAtoms[tradeMode].tokenFromAtom\n );\n const { priceParams, chainId } = usePricesParams(tradeMode);\n\n const priceParamsWithAmount: FetchPriceParams = {\n ...priceParams,\n amount: parseUnits(\"1\", tokenFrom.decimals).toString(),\n side: \"SELL\" as const,\n ignoreBadUsdPrice: true,\n };\n\n // @TODO: delta price return quote for less tokens than market price with srcAmount=1,\n // but maybe we should increase srcAmount and use delta prices instead, need to test.\n const { result: marketPriceQuery } = useMarketPriceQuery({\n priceParams: priceParamsWithAmount,\n chainId,\n timeout: 5000,\n query: {\n enabled,\n refetchInterval,\n retry: false,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n },\n });\n\n return {\n price: marketPriceQuery.data,\n isLoading: marketPriceQuery.isLoading,\n };\n};\n\n// define how many tokenTo units one tokenFrom (tokenTo if reversed) unit costs, eg 1 ETH = 3000 USDC\nexport const useLimitRate = (\n tradeMode: \"limit\" | \"otc\"\n): UseLimitRateResult => {\n const { tokenFrom, tokenTo } = useWidgetTokens(tradeMode);\n\n const { data: tokenFromPrice, isLoading: isTokenFromPriceLoading } =\n useTokenPrice(tokenFrom, { refetchInterval: PRICE_REFETCH_INTERVAL });\n const { data: tokenToPrice, isLoading: isTokenToPriceLoading } =\n useTokenPrice(tokenTo, { refetchInterval: PRICE_REFETCH_INTERVAL });\n\n const areFiatPricesLoading = isTokenFromPriceLoading || isTokenToPriceLoading;\n\n const fiatPricesAvailable = !!(tokenFromPrice && tokenToPrice);\n const fetchSwapPrice = !fiatPricesAvailable && !areFiatPricesLoading;\n\n const { price: swapPrice, isLoading: isSwapPriceLoading } =\n useSwapPriceForLimit({ enabled: fetchSwapPrice, tradeMode });\n\n const isLoading = areFiatPricesLoading || isSwapPriceLoading;\n\n return useMemo(() => {\n if (!tokenTo) {\n return { isLoading };\n }\n\n let rate: string | undefined = undefined;\n let rateReversed: string | undefined = undefined;\n if (fiatPricesAvailable) {\n rate = Big(tokenFromPrice.price).div(tokenToPrice.price).toFixed();\n rateReversed = Big(tokenToPrice.price)\n .div(tokenFromPrice.price)\n .toFixed();\n } else if (swapPrice) {\n const srcUnits = formatUnits(\n BigInt(swapPrice.srcAmount),\n tokenFrom.decimals\n );\n const destUnits = formatUnits(\n BigInt(swapPrice.destAmount),\n tokenTo.decimals\n );\n\n rate = Big(destUnits).div(srcUnits).toFixed();\n rateReversed = Big(srcUnits).div(destUnits).toFixed();\n }\n\n if (!rate || !rateReversed) {\n return { isLoading };\n }\n\n return {\n rates: { rate, rateReversed },\n isLoading,\n };\n }, [\n fiatPricesAvailable,\n isLoading,\n swapPrice,\n tokenFrom.decimals,\n tokenFromPrice?.price,\n tokenTo,\n tokenToPrice?.price,\n ]);\n};\n"],"names":["PRICE_REFETCH_INTERVAL","useSwapPriceForLimit","t0","$","_c","enabled","t1","refetchInterval","t2","tradeMode","undefined","tokenFrom","useAtomValue","tradeModeToTokenAtoms","tokenFromAtom","priceParams","chainId","usePricesParams","t3","decimals","parseUnits","toString","t4","amount","side","ignoreBadUsdPrice","priceParamsWithAmount","t5","retry","refetchOnWindowFocus","refetchOnMount","t6","timeout","query","result","marketPriceQuery","useMarketPriceQuery","t7","data","isLoading","price","useLimitRate","tokenTo","useWidgetTokens","tokenFromPrice","isTokenFromPriceLoading","useTokenPrice","tokenToPrice","isTokenToPriceLoading","areFiatPricesLoading","fiatPricesAvailable","fetchSwapPrice","swapPrice","isSwapPriceLoading","useMemo","rate","rateReversed","Big","div","toFixed","srcUnits","formatUnits","BigInt","srcAmount","destUnits","destAmount","rates"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"widgetEventsAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/widgetEventsAtom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAMxB,eAAO,MAAM,gBAAgB;;CAiN3B,CAAC;AAEH,eAAO,MAAM,eAAe,QAAO,uBAElC,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,YAAY,oBAAoB,SAiCrE,CAAC"}
1
+ {"version":3,"file":"widgetEventsAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/widgetEventsAtom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAQxB,eAAO,MAAM,gBAAgB;;CA+L3B,CAAC;AAEH,eAAO,MAAM,eAAe,QAAO,uBAElC,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,YAAY,oBAAoB,SAiCrE,CAAC"}
@@ -128,15 +128,15 @@ const widgetEventsAtom = atom({}, (get, set, callbacks) => {
128
128
  };
129
129
  callbacks.onFormInputChange(payloadWithState);
130
130
  };
131
- const onPriceChange = (payload) => {
132
- if (!callbacks.onPriceChange) return;
131
+ const _onPriceChange = callbacks.onPriceChange;
132
+ const onPriceChange = _onPriceChange ? (payload) => {
133
133
  const widgetState = getWidgetState(get);
134
134
  const payloadWithState = {
135
135
  event: payload.event,
136
136
  state: widgetState
137
137
  };
138
- callbacks.onPriceChange(payloadWithState);
139
- };
138
+ _onPriceChange(payloadWithState);
139
+ } : void 0;
140
140
  set(widgetEventsAtom, {
141
141
  onSwap,
142
142
  onLimitOrder,
@@ -1 +1 @@
1
- {"version":3,"file":"widgetEventsAtom.js","sources":["../../../src/core/state/widgetEventsAtom.ts"],"sourcesContent":["import { atom, useAtomValue, useSetAtom } from \"jotai\";\nimport type {\n WidgetEventCallbacks,\n WidgetEventCallbacksMin,\n} from \"@/events/types\";\nimport { useLayoutEffect } from \"react\";\nimport { getWidgetState } from \"@/events/getters/widgetState\";\nimport { assert } from \"ts-essentials\";\nimport type { TokenFormState } from \"@/events/types/common\";\n\nexport const widgetEventsAtom = atom<\n WidgetEventCallbacksMin,\n [WidgetEventCallbacks],\n void\n>({}, (get, set, callbacks) => {\n const onSwap: NonNullable<WidgetEventCallbacksMin[\"onSwap\"]> = (payload) => {\n if (!callbacks.onSwap) return;\n const widgetState = getWidgetState(get);\n\n const swapFormState = widgetState.formState.swap;\n assert(\n isFullTokenFormState(swapFormState),\n \"Swap form state is required to perform swap\"\n );\n\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onSwap\"]>>[0];\n\n // attaching extra parameters to the event payload\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...swapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onSwap(payloadWithState);\n };\n\n const onLimitOrder: NonNullable<WidgetEventCallbacksMin[\"onLimitOrder\"]> = (\n payload\n ) => {\n if (!callbacks.onLimitOrder) return;\n const widgetState = getWidgetState(get);\n const limitOrderFormState = widgetState.formState.limit;\n assert(\n isFullTokenFormState(limitOrderFormState),\n \"Limit order form state is required to create a limit order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onLimitOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...limitOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onLimitOrder(payloadWithState);\n };\n\n const onOTCOrder: NonNullable<WidgetEventCallbacksMin[\"onOTCOrder\"]> = (\n payload\n ) => {\n if (!callbacks.onOTCOrder) return;\n const widgetState = getWidgetState(get);\n const otcOrderFormState = widgetState.formState.otc;\n assert(\n isFullTokenFormState(otcOrderFormState),\n \"OTC order form state is required to create an OTC order\"\n );\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onOTCOrder\"]>>[0];\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...otcOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onOTCOrder(payloadWithState);\n };\n\n const onAllowToken: NonNullable<WidgetEventCallbacksMin[\"onAllowToken\"]> = (\n payload\n ) => {\n if (!callbacks.onAllowToken) return;\n const widgetState = getWidgetState(get);\n\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n\n callbacks.onAllowToken(payloadWithState);\n };\n\n const onWrapETH: NonNullable<WidgetEventCallbacksMin[\"onWrapETH\"]> = (\n payload\n ) => {\n if (!callbacks.onWrapETH) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onWrapETH(payloadWithState);\n };\n\n const onSettingsChange: NonNullable<\n WidgetEventCallbacksMin[\"onSettingsChange\"]\n > = (payload) => {\n if (!callbacks.onSettingsChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onSettingsChange(payloadWithState);\n };\n\n const onConnectWallet: NonNullable<\n WidgetEventCallbacksMin[\"onConnectWallet\"]\n > = (payload) => {\n if (!callbacks.onConnectWallet) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onConnectWallet(payloadWithState);\n };\n\n const _onConnectWalletClick = callbacks.onConnectWalletClick;\n const onConnectWalletClick: WidgetEventCallbacksMin[\"onConnectWalletClick\"] =\n _onConnectWalletClick\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onConnectWalletClick(payloadWithState);\n }\n : undefined;\n\n const onCancelOrder: NonNullable<WidgetEventCallbacksMin[\"onCancelOrder\"]> = (\n payload\n ) => {\n if (!callbacks.onCancelOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onCancelOrder(payloadWithState);\n };\n\n const onFillOTCOrder: NonNullable<\n WidgetEventCallbacksMin[\"onFillOTCOrder\"]\n > = (payload) => {\n if (!callbacks.onFillOTCOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFillOTCOrder(payloadWithState);\n };\n\n const onFormInputChange: NonNullable<\n WidgetEventCallbacksMin[\"onFormInputChange\"]\n > = (payload) => {\n if (!callbacks.onFormInputChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFormInputChange(payloadWithState);\n };\n\n const onPriceChange: NonNullable<WidgetEventCallbacksMin[\"onPriceChange\"]> = (\n payload\n ) => {\n if (!callbacks.onPriceChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onPriceChange(payloadWithState);\n };\n\n set(widgetEventsAtom, {\n onSwap,\n onLimitOrder,\n onOTCOrder,\n onAllowToken,\n onWrapETH,\n onSettingsChange,\n onConnectWallet,\n onConnectWalletClick,\n onCancelOrder,\n onFillOTCOrder,\n onFormInputChange,\n onPriceChange,\n });\n});\n\nexport const useWidgetEvents = (): WidgetEventCallbacksMin => {\n return useAtomValue(widgetEventsAtom);\n};\n\nexport const useWidgetEventsSetter = (callbacks?: WidgetEventCallbacks) => {\n const setWidgetEvents = useSetAtom(widgetEventsAtom);\n\n useLayoutEffect(() => {\n setWidgetEvents({\n onConnectWallet: callbacks?.onConnectWallet,\n onConnectWalletClick: callbacks?.onConnectWalletClick,\n onAllowToken: callbacks?.onAllowToken,\n onSwap: callbacks?.onSwap,\n onOTCOrder: callbacks?.onOTCOrder,\n onLimitOrder: callbacks?.onLimitOrder,\n onWrapETH: callbacks?.onWrapETH,\n onSettingsChange: callbacks?.onSettingsChange,\n onCancelOrder: callbacks?.onCancelOrder,\n onFillOTCOrder: callbacks?.onFillOTCOrder,\n onFormInputChange: callbacks?.onFormInputChange,\n onPriceChange: callbacks?.onPriceChange,\n });\n }, [\n callbacks?.onConnectWallet,\n callbacks?.onConnectWalletClick,\n callbacks?.onAllowToken,\n callbacks?.onSwap,\n callbacks?.onOTCOrder,\n callbacks?.onLimitOrder,\n callbacks?.onWrapETH,\n callbacks?.onSettingsChange,\n callbacks?.onCancelOrder,\n callbacks?.onFillOTCOrder,\n callbacks?.onFormInputChange,\n callbacks?.onPriceChange,\n setWidgetEvents,\n ]);\n};\n\nfunction isFullTokenFormState<T extends TokenFormState>(\n state: T\n): state is Required<T> {\n return !!(\n state.tokenTo &&\n state.receiverAddress &&\n state.destChainId &&\n state.connectedAccount\n );\n}\n"],"names":["widgetEventsAtom","atom","get","set","callbacks","onSwap","payload","widgetState","getWidgetState","swapFormState","formState","swap","assert","isFullTokenFormState","payloadWithState","event","params","state","onLimitOrder","limitOrderFormState","limit","onOTCOrder","otcOrderFormState","otc","onAllowToken","onWrapETH","onSettingsChange","onConnectWallet","_onConnectWalletClick","onConnectWalletClick","undefined","onCancelOrder","onFillOTCOrder","onFormInputChange","onPriceChange","useWidgetEvents","useAtomValue","useWidgetEventsSetter","$","_c","setWidgetEvents","useSetAtom","t0","t1","t2","t3","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","useLayoutEffect","tokenTo","receiverAddress","destChainId","connectedAccount"],"mappings":"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"}
1
+ {"version":3,"file":"widgetEventsAtom.js","sources":["../../../src/core/state/widgetEventsAtom.ts"],"sourcesContent":["import { atom, useAtomValue, useSetAtom } from \"jotai\";\nimport type {\n WidgetEventCallbacks,\n WidgetEventCallbacksMin,\n} from \"@/events/types\";\nimport { useLayoutEffect } from \"react\";\nimport { getWidgetState } from \"@/events/getters/widgetState\";\nimport { assert } from \"ts-essentials\";\nimport type { TokenFormState } from \"@/events/types/common\";\n\ntype Callbacks = Required<WidgetEventCallbacksMin>;\n\nexport const widgetEventsAtom = atom<\n WidgetEventCallbacksMin,\n [WidgetEventCallbacks],\n void\n>({}, (get, set, callbacks) => {\n const onSwap: Callbacks[\"onSwap\"] = (payload) => {\n if (!callbacks.onSwap) return;\n const widgetState = getWidgetState(get);\n\n const swapFormState = widgetState.formState.swap;\n assert(\n isFullTokenFormState(swapFormState),\n \"Swap form state is required to perform swap\"\n );\n\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onSwap\"]>>[0];\n\n // attaching extra parameters to the event payload\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...swapFormState,\n },\n },\n state: widgetState,\n } as Input;\n\n callbacks.onSwap(payloadWithState);\n };\n\n const onLimitOrder: Callbacks[\"onLimitOrder\"] = (payload) => {\n if (!callbacks.onLimitOrder) return;\n const widgetState = getWidgetState(get);\n const limitOrderFormState = widgetState.formState.limit;\n assert(\n isFullTokenFormState(limitOrderFormState),\n \"Limit order form state is required to create a limit order\"\n );\n\n type Input = Parameters<\n NonNullable<WidgetEventCallbacks[\"onLimitOrder\"]>\n >[0];\n\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...limitOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onLimitOrder(payloadWithState);\n };\n\n const onOTCOrder: Callbacks[\"onOTCOrder\"] = (payload) => {\n if (!callbacks.onOTCOrder) return;\n const widgetState = getWidgetState(get);\n const otcOrderFormState = widgetState.formState.otc;\n assert(\n isFullTokenFormState(otcOrderFormState),\n \"OTC order form state is required to create an OTC order\"\n );\n type Input = Parameters<NonNullable<WidgetEventCallbacks[\"onOTCOrder\"]>>[0];\n const payloadWithState = {\n event: {\n ...payload.event,\n params: {\n ...payload.event.params,\n ...otcOrderFormState,\n },\n },\n state: widgetState,\n } as Input;\n callbacks.onOTCOrder(payloadWithState);\n };\n\n const onAllowToken: Callbacks[\"onAllowToken\"] = (payload) => {\n if (!callbacks.onAllowToken) return;\n const widgetState = getWidgetState(get);\n\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n\n callbacks.onAllowToken(payloadWithState);\n };\n\n const onWrapETH: Callbacks[\"onWrapETH\"] = (payload) => {\n if (!callbacks.onWrapETH) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onWrapETH(payloadWithState);\n };\n\n const onSettingsChange: Callbacks[\"onSettingsChange\"] = (payload) => {\n if (!callbacks.onSettingsChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onSettingsChange(payloadWithState);\n };\n\n const onConnectWallet: Callbacks[\"onConnectWallet\"] = (payload) => {\n if (!callbacks.onConnectWallet) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onConnectWallet(payloadWithState);\n };\n\n const _onConnectWalletClick = callbacks.onConnectWalletClick;\n const onConnectWalletClick: WidgetEventCallbacksMin[\"onConnectWalletClick\"] =\n _onConnectWalletClick\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onConnectWalletClick(payloadWithState);\n }\n : undefined;\n\n const onCancelOrder: Callbacks[\"onCancelOrder\"] = (payload) => {\n if (!callbacks.onCancelOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onCancelOrder(payloadWithState);\n };\n\n const onFillOTCOrder: Callbacks[\"onFillOTCOrder\"] = (payload) => {\n if (!callbacks.onFillOTCOrder) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFillOTCOrder(payloadWithState);\n };\n\n const onFormInputChange: Callbacks[\"onFormInputChange\"] = (payload) => {\n if (!callbacks.onFormInputChange) return;\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n callbacks.onFormInputChange(payloadWithState);\n };\n\n const _onPriceChange = callbacks.onPriceChange;\n const onPriceChange: WidgetEventCallbacksMin[\"onPriceChange\"] = _onPriceChange\n ? (payload) => {\n const widgetState = getWidgetState(get);\n const payloadWithState = {\n event: payload.event,\n state: widgetState,\n };\n _onPriceChange(payloadWithState);\n }\n : undefined;\n\n set(widgetEventsAtom, {\n onSwap,\n onLimitOrder,\n onOTCOrder,\n onAllowToken,\n onWrapETH,\n onSettingsChange,\n onConnectWallet,\n onConnectWalletClick,\n onCancelOrder,\n onFillOTCOrder,\n onFormInputChange,\n onPriceChange,\n });\n});\n\nexport const useWidgetEvents = (): WidgetEventCallbacksMin => {\n return useAtomValue(widgetEventsAtom);\n};\n\nexport const useWidgetEventsSetter = (callbacks?: WidgetEventCallbacks) => {\n const setWidgetEvents = useSetAtom(widgetEventsAtom);\n\n useLayoutEffect(() => {\n setWidgetEvents({\n onConnectWallet: callbacks?.onConnectWallet,\n onConnectWalletClick: callbacks?.onConnectWalletClick,\n onAllowToken: callbacks?.onAllowToken,\n onSwap: callbacks?.onSwap,\n onOTCOrder: callbacks?.onOTCOrder,\n onLimitOrder: callbacks?.onLimitOrder,\n onWrapETH: callbacks?.onWrapETH,\n onSettingsChange: callbacks?.onSettingsChange,\n onCancelOrder: callbacks?.onCancelOrder,\n onFillOTCOrder: callbacks?.onFillOTCOrder,\n onFormInputChange: callbacks?.onFormInputChange,\n onPriceChange: callbacks?.onPriceChange,\n });\n }, [\n callbacks?.onConnectWallet,\n callbacks?.onConnectWalletClick,\n callbacks?.onAllowToken,\n callbacks?.onSwap,\n callbacks?.onOTCOrder,\n callbacks?.onLimitOrder,\n callbacks?.onWrapETH,\n callbacks?.onSettingsChange,\n callbacks?.onCancelOrder,\n callbacks?.onFillOTCOrder,\n callbacks?.onFormInputChange,\n callbacks?.onPriceChange,\n setWidgetEvents,\n ]);\n};\n\nfunction isFullTokenFormState<T extends TokenFormState>(\n state: T\n): state is Required<T> {\n return !!(\n state.tokenTo &&\n state.receiverAddress &&\n state.destChainId &&\n state.connectedAccount\n );\n}\n"],"names":["widgetEventsAtom","atom","get","set","callbacks","onSwap","payload","widgetState","getWidgetState","swapFormState","formState","swap","assert","isFullTokenFormState","payloadWithState","event","params","state","onLimitOrder","limitOrderFormState","limit","onOTCOrder","otcOrderFormState","otc","onAllowToken","onWrapETH","onSettingsChange","onConnectWallet","_onConnectWalletClick","onConnectWalletClick","undefined","onCancelOrder","onFillOTCOrder","onFormInputChange","_onPriceChange","onPriceChange","useWidgetEvents","useAtomValue","useWidgetEventsSetter","$","_c","setWidgetEvents","useSetAtom","t0","t1","t2","t3","t4","t5","t6","t7","t8","t9","t10","t11","t12","t13","useLayoutEffect","tokenTo","receiverAddress","destChainId","connectedAccount"],"mappings":"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"}
@@ -14,7 +14,7 @@ function notifyOnPriceChange(price, queryClient) {
14
14
  if (swapMode === "market" && priceIsMarket) {
15
15
  onPriceChange({
16
16
  event: {
17
- name: "PriceChange",
17
+ name: "PriceUpdate",
18
18
  params: {
19
19
  priceMode: "market",
20
20
  price
@@ -25,7 +25,7 @@ function notifyOnPriceChange(price, queryClient) {
25
25
  if (swapMode === "delta" && priceIsDelta) {
26
26
  onPriceChange({
27
27
  event: {
28
- name: "PriceChange",
28
+ name: "PriceUpdate",
29
29
  params: {
30
30
  priceMode: "delta",
31
31
  price
@@ -38,7 +38,7 @@ function notifyOnPriceChange(price, queryClient) {
38
38
  isLastDeltaPriceQueryInError(queryClient)) {
39
39
  onPriceChange({
40
40
  event: {
41
- name: "PriceChange",
41
+ name: "PriceUpdate",
42
42
  params: {
43
43
  priceMode: "market",
44
44
  price
@@ -1 +1 @@
1
- {"version":3,"file":"price.js","sources":["../../../src/events/effects/price.ts"],"sourcesContent":["import type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { jotaiStore } from \"@/core/inputs/state/store\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport {\n isDeltaPrice,\n isLastDeltaPriceQueryInError,\n} from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { widgetEventsAtom } from \"@/core/state/widgetEventsAtom\";\nimport type { QueryClient } from \"@tanstack/react-query\";\n\nexport function notifyOnPriceChange(\n price: DeltaOrMarketPrice,\n queryClient: QueryClient\n) {\n const { onPriceChange } = jotaiStore.get(widgetEventsAtom);\n if (!onPriceChange) return;\n\n const swapMode = jotaiStore.get(swapModeAtom);\n\n const priceIsDelta = isDeltaPrice(price);\n const priceIsMarket = !priceIsDelta;\n\n if (swapMode === \"market\" && priceIsMarket) {\n onPriceChange({\n event: {\n name: \"PriceChange\",\n params: {\n priceMode: \"market\",\n price,\n },\n },\n });\n }\n\n if (swapMode === \"delta\" && priceIsDelta) {\n onPriceChange({\n event: {\n name: \"PriceChange\",\n params: {\n priceMode: \"delta\",\n price,\n },\n },\n });\n return;\n }\n\n if (\n swapMode === \"delta\" &&\n priceIsMarket &&\n // market price will be used independent of swapMode setting if Delta price has error\n isLastDeltaPriceQueryInError(queryClient)\n ) {\n onPriceChange({\n event: {\n name: \"PriceChange\",\n params: {\n priceMode: \"market\",\n price,\n },\n },\n });\n }\n}\n"],"names":["notifyOnPriceChange","price","queryClient","onPriceChange","jotaiStore","get","widgetEventsAtom","swapMode","swapModeAtom","priceIsDelta","isDeltaPrice","priceIsMarket","event","name","params","priceMode","isLastDeltaPriceQueryInError"],"mappings":";;;;;AAUO,SAASA,mBAAAA,CACdC,OACAC,WAAAA,EACA;AACA,EAAA,MAAM;AAAA,IAAEC;AAAAA,GAAc,GAAIC,UAAAA,CAAWC,GAAAA,CAAIC,gBAAgB,CAAA;AACzD,EAAA,IAAI,CAACH,aAAAA,EAAe;AAEpB,EAAA,MAAMI,QAAAA,GAAWH,UAAAA,CAAWC,GAAAA,CAAIG,YAAY,CAAA;AAE5C,EAAA,MAAMC,YAAAA,GAAeC,aAAaT,KAAK,CAAA;AACvC,EAAA,MAAMU,gBAAgB,CAACF,YAAAA;AAEvB,EAAA,IAAIF,QAAAA,KAAa,YAAYI,aAAAA,EAAe;AAC1CR,IAAAA,aAAAA,CAAc;AAAA,MACZS,KAAAA,EAAO;AAAA,QACLC,IAAAA,EAAM,aAAA;AAAA,QACNC,MAAAA,EAAQ;AAAA,UACNC,SAAAA,EAAW,QAAA;AAAA,UACXd;AAAAA;AACF;AACF,KACD,CAAA;AAAA,EACH;AAEA,EAAA,IAAIM,QAAAA,KAAa,WAAWE,YAAAA,EAAc;AACxCN,IAAAA,aAAAA,CAAc;AAAA,MACZS,KAAAA,EAAO;AAAA,QACLC,IAAAA,EAAM,aAAA;AAAA,QACNC,MAAAA,EAAQ;AAAA,UACNC,SAAAA,EAAW,OAAA;AAAA,UACXd;AAAAA;AACF;AACF,KACD,CAAA;AACD,IAAA;AAAA,EACF;AAEA,EAAA,IACEM,aAAa,OAAA,IACbI,aAAAA;AAAAA,EAEAK,4BAAAA,CAA6Bd,WAAW,CAAA,EACxC;AACAC,IAAAA,aAAAA,CAAc;AAAA,MACZS,KAAAA,EAAO;AAAA,QACLC,IAAAA,EAAM,aAAA;AAAA,QACNC,MAAAA,EAAQ;AAAA,UACNC,SAAAA,EAAW,QAAA;AAAA,UACXd;AAAAA;AACF;AACF,KACD,CAAA;AAAA,EACH;AACF;;;;"}
1
+ {"version":3,"file":"price.js","sources":["../../../src/events/effects/price.ts"],"sourcesContent":["import type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { jotaiStore } from \"@/core/inputs/state/store\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport {\n isDeltaPrice,\n isLastDeltaPriceQueryInError,\n} from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { widgetEventsAtom } from \"@/core/state/widgetEventsAtom\";\nimport type { QueryClient } from \"@tanstack/react-query\";\n\nexport function notifyOnPriceChange(\n price: DeltaOrMarketPrice,\n queryClient: QueryClient\n) {\n const { onPriceChange } = jotaiStore.get(widgetEventsAtom);\n if (!onPriceChange) return;\n\n const swapMode = jotaiStore.get(swapModeAtom);\n\n const priceIsDelta = isDeltaPrice(price);\n const priceIsMarket = !priceIsDelta;\n\n if (swapMode === \"market\" && priceIsMarket) {\n onPriceChange({\n event: {\n name: \"PriceUpdate\",\n params: {\n priceMode: \"market\",\n price,\n },\n },\n });\n }\n\n if (swapMode === \"delta\" && priceIsDelta) {\n onPriceChange({\n event: {\n name: \"PriceUpdate\",\n params: {\n priceMode: \"delta\",\n price,\n },\n },\n });\n return;\n }\n\n if (\n swapMode === \"delta\" &&\n priceIsMarket &&\n // market price will be used independent of swapMode setting if Delta price has error\n isLastDeltaPriceQueryInError(queryClient)\n ) {\n onPriceChange({\n event: {\n name: \"PriceUpdate\",\n params: {\n priceMode: \"market\",\n price,\n },\n },\n });\n }\n}\n"],"names":["notifyOnPriceChange","price","queryClient","onPriceChange","jotaiStore","get","widgetEventsAtom","swapMode","swapModeAtom","priceIsDelta","isDeltaPrice","priceIsMarket","event","name","params","priceMode","isLastDeltaPriceQueryInError"],"mappings":";;;;;AAUO,SAASA,mBAAAA,CACdC,OACAC,WAAAA,EACA;AACA,EAAA,MAAM;AAAA,IAAEC;AAAAA,GAAc,GAAIC,UAAAA,CAAWC,GAAAA,CAAIC,gBAAgB,CAAA;AACzD,EAAA,IAAI,CAACH,aAAAA,EAAe;AAEpB,EAAA,MAAMI,QAAAA,GAAWH,UAAAA,CAAWC,GAAAA,CAAIG,YAAY,CAAA;AAE5C,EAAA,MAAMC,YAAAA,GAAeC,aAAaT,KAAK,CAAA;AACvC,EAAA,MAAMU,gBAAgB,CAACF,YAAAA;AAEvB,EAAA,IAAIF,QAAAA,KAAa,YAAYI,aAAAA,EAAe;AAC1CR,IAAAA,aAAAA,CAAc;AAAA,MACZS,KAAAA,EAAO;AAAA,QACLC,IAAAA,EAAM,aAAA;AAAA,QACNC,MAAAA,EAAQ;AAAA,UACNC,SAAAA,EAAW,QAAA;AAAA,UACXd;AAAAA;AACF;AACF,KACD,CAAA;AAAA,EACH;AAEA,EAAA,IAAIM,QAAAA,KAAa,WAAWE,YAAAA,EAAc;AACxCN,IAAAA,aAAAA,CAAc;AAAA,MACZS,KAAAA,EAAO;AAAA,QACLC,IAAAA,EAAM,aAAA;AAAA,QACNC,MAAAA,EAAQ;AAAA,UACNC,SAAAA,EAAW,OAAA;AAAA,UACXd;AAAAA;AACF;AACF,KACD,CAAA;AACD,IAAA;AAAA,EACF;AAEA,EAAA,IACEM,aAAa,OAAA,IACbI,aAAAA;AAAAA,EAEAK,4BAAAA,CAA6Bd,WAAW,CAAA,EACxC;AACAC,IAAAA,aAAAA,CAAc;AAAA,MACZS,KAAAA,EAAO;AAAA,QACLC,IAAAA,EAAM,aAAA;AAAA,QACNC,MAAAA,EAAQ;AAAA,UACNC,SAAAA,EAAW,QAAA;AAAA,UACXd;AAAAA;AACF;AACF,KACD,CAAA;AAAA,EACH;AACF;;;;"}
@@ -17,7 +17,7 @@ function subscribeToPriceOnSwapModeChange() {
17
17
  if (!price) return;
18
18
  onPriceChange({
19
19
  event: {
20
- name: "PriceChange",
20
+ name: "PriceUpdate",
21
21
  params: {
22
22
  priceMode: "delta",
23
23
  price
@@ -31,7 +31,7 @@ function subscribeToPriceOnSwapModeChange() {
31
31
  if (!price) return;
32
32
  onPriceChange({
33
33
  event: {
34
- name: "PriceChange",
34
+ name: "PriceUpdate",
35
35
  params: {
36
36
  priceMode: "market",
37
37
  price
@@ -1 +1 @@
1
- {"version":3,"file":"swapMode.js","sources":["../../../src/events/effects/swapMode.ts"],"sourcesContent":["import { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { jotaiStore } from \"@/core/inputs/state/store\";\nimport { widgetEventsAtom } from \"@/core/state/widgetEventsAtom\";\nimport { getLastDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { getLastMarketPrice } from \"@/hooks/swap/prices/market/queries/useMarketPriceQuery\";\nimport { queryClient } from \"@/lib/queryClient\";\n\nexport function subscribeToPriceOnSwapModeChange() {\n // on swapMode change, notify of the latest price for the new swap mode\n jotaiStore.sub(swapModeAtom, () => {\n const { onPriceChange } = jotaiStore.get(widgetEventsAtom);\n if (!onPriceChange) return;\n\n const swapMode = jotaiStore.get(swapModeAtom);\n\n if (swapMode === \"delta\") {\n const price = getLastDeltaPrice(queryClient);\n if (!price) return;\n onPriceChange({\n event: {\n name: \"PriceChange\",\n params: {\n priceMode: \"delta\",\n price,\n },\n },\n });\n\n return;\n }\n if (swapMode === \"market\") {\n const price = getLastMarketPrice(queryClient);\n if (!price) return;\n onPriceChange({\n event: {\n name: \"PriceChange\",\n params: {\n priceMode: \"market\",\n price,\n },\n },\n });\n return;\n }\n });\n}\n"],"names":["subscribeToPriceOnSwapModeChange","jotaiStore","sub","swapModeAtom","onPriceChange","get","widgetEventsAtom","swapMode","price","getLastDeltaPrice","queryClient","event","name","params","priceMode","getLastMarketPrice"],"mappings":";;;;;;;AAOO,SAASA,gCAAAA,GAAmC;AAEjDC,EAAAA,UAAAA,CAAWC,GAAAA,CAAIC,cAAc,MAAM;AACjC,IAAA,MAAM;AAAA,MAAEC;AAAAA,KAAc,GAAIH,UAAAA,CAAWI,GAAAA,CAAIC,gBAAgB,CAAA;AACzD,IAAA,IAAI,CAACF,aAAAA,EAAe;AAEpB,IAAA,MAAMG,QAAAA,GAAWN,UAAAA,CAAWI,GAAAA,CAAIF,YAAY,CAAA;AAE5C,IAAA,IAAII,aAAa,OAAA,EAAS;AACxB,MAAA,MAAMC,KAAAA,GAAQC,kBAAkBC,WAAW,CAAA;AAC3C,MAAA,IAAI,CAACF,KAAAA,EAAO;AACZJ,MAAAA,aAAAA,CAAc;AAAA,QACZO,KAAAA,EAAO;AAAA,UACLC,IAAAA,EAAM,aAAA;AAAA,UACNC,MAAAA,EAAQ;AAAA,YACNC,SAAAA,EAAW,OAAA;AAAA,YACXN;AAAAA;AACF;AACF,OACD,CAAA;AAED,MAAA;AAAA,IACF;AACA,IAAA,IAAID,aAAa,QAAA,EAAU;AACzB,MAAA,MAAMC,KAAAA,GAAQO,mBAAmBL,WAAW,CAAA;AAC5C,MAAA,IAAI,CAACF,KAAAA,EAAO;AACZJ,MAAAA,aAAAA,CAAc;AAAA,QACZO,KAAAA,EAAO;AAAA,UACLC,IAAAA,EAAM,aAAA;AAAA,UACNC,MAAAA,EAAQ;AAAA,YACNC,SAAAA,EAAW,QAAA;AAAA,YACXN;AAAAA;AACF;AACF,OACD,CAAA;AACD,MAAA;AAAA,IACF;AAAA,EACF,CAAC,CAAA;AACH;;;;"}
1
+ {"version":3,"file":"swapMode.js","sources":["../../../src/events/effects/swapMode.ts"],"sourcesContent":["import { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { jotaiStore } from \"@/core/inputs/state/store\";\nimport { widgetEventsAtom } from \"@/core/state/widgetEventsAtom\";\nimport { getLastDeltaPrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { getLastMarketPrice } from \"@/hooks/swap/prices/market/queries/useMarketPriceQuery\";\nimport { queryClient } from \"@/lib/queryClient\";\n\nexport function subscribeToPriceOnSwapModeChange() {\n // on swapMode change, notify of the latest price for the new swap mode\n jotaiStore.sub(swapModeAtom, () => {\n const { onPriceChange } = jotaiStore.get(widgetEventsAtom);\n if (!onPriceChange) return;\n\n const swapMode = jotaiStore.get(swapModeAtom);\n\n if (swapMode === \"delta\") {\n const price = getLastDeltaPrice(queryClient);\n if (!price) return;\n onPriceChange({\n event: {\n name: \"PriceUpdate\",\n params: {\n priceMode: \"delta\",\n price,\n },\n },\n });\n\n return;\n }\n if (swapMode === \"market\") {\n const price = getLastMarketPrice(queryClient);\n if (!price) return;\n onPriceChange({\n event: {\n name: \"PriceUpdate\",\n params: {\n priceMode: \"market\",\n price,\n },\n },\n });\n return;\n }\n });\n}\n"],"names":["subscribeToPriceOnSwapModeChange","jotaiStore","sub","swapModeAtom","onPriceChange","get","widgetEventsAtom","swapMode","price","getLastDeltaPrice","queryClient","event","name","params","priceMode","getLastMarketPrice"],"mappings":";;;;;;;AAOO,SAASA,gCAAAA,GAAmC;AAEjDC,EAAAA,UAAAA,CAAWC,GAAAA,CAAIC,cAAc,MAAM;AACjC,IAAA,MAAM;AAAA,MAAEC;AAAAA,KAAc,GAAIH,UAAAA,CAAWI,GAAAA,CAAIC,gBAAgB,CAAA;AACzD,IAAA,IAAI,CAACF,aAAAA,EAAe;AAEpB,IAAA,MAAMG,QAAAA,GAAWN,UAAAA,CAAWI,GAAAA,CAAIF,YAAY,CAAA;AAE5C,IAAA,IAAII,aAAa,OAAA,EAAS;AACxB,MAAA,MAAMC,KAAAA,GAAQC,kBAAkBC,WAAW,CAAA;AAC3C,MAAA,IAAI,CAACF,KAAAA,EAAO;AACZJ,MAAAA,aAAAA,CAAc;AAAA,QACZO,KAAAA,EAAO;AAAA,UACLC,IAAAA,EAAM,aAAA;AAAA,UACNC,MAAAA,EAAQ;AAAA,YACNC,SAAAA,EAAW,OAAA;AAAA,YACXN;AAAAA;AACF;AACF,OACD,CAAA;AAED,MAAA;AAAA,IACF;AACA,IAAA,IAAID,aAAa,QAAA,EAAU;AACzB,MAAA,MAAMC,KAAAA,GAAQO,mBAAmBL,WAAW,CAAA;AAC5C,MAAA,IAAI,CAACF,KAAAA,EAAO;AACZJ,MAAAA,aAAAA,CAAc;AAAA,QACZO,KAAAA,EAAO;AAAA,UACLC,IAAAA,EAAM,aAAA;AAAA,UACNC,MAAAA,EAAQ;AAAA,YACNC,SAAAA,EAAW,QAAA;AAAA,YACXN;AAAAA;AACF;AACF,OACD,CAAA;AACD,MAAA;AAAA,IACF;AAAA,EACF,CAAC,CAAA;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOnPriceUpdates.d.ts","sourceRoot":"","sources":["../../../src/events/hooks/useOnPriceUpdates.ts"],"names":[],"mappings":"AAYA,wBAAgB,iBAAiB,SAsDhC"}
1
+ {"version":3,"file":"useOnPriceUpdates.d.ts","sourceRoot":"","sources":["../../../src/events/hooks/useOnPriceUpdates.ts"],"names":[],"mappings":"AAiBA,wBAAgB,iBAAiB,SAqEhC"}
@@ -1,9 +1,10 @@
1
1
  import { d as distExports } from '../../_virtual/index.js';
2
2
  import { useWidgetEvents } from '../../core/state/widgetEventsAtom.js';
3
- import { useRef, useEffect } from 'react';
3
+ import { useRef, useLayoutEffect } from 'react';
4
4
  import { QueryObserver } from '@tanstack/react-query';
5
5
  import { queryClient } from '../../lib/queryClient.js';
6
- import { isDeltaPrice } from '../../hooks/swap/prices/delta/queries/useDeltaPriceQuery.js';
6
+ import { DeltaPriceQueryKeyPrefix, isDeltaPrice } from '../../hooks/swap/prices/delta/queries/useDeltaPriceQuery.js';
7
+ import { MarketPriceQueryKeyPrefix } from '../../hooks/swap/prices/market/queries/useMarketPriceQuery.js';
7
8
  import { useCurrentSwapPrice } from '../../hooks/swap/prices/useSwapPrices.js';
8
9
 
9
10
  function useOnPriceUpdates() {
@@ -29,7 +30,7 @@ function useOnPriceUpdates() {
29
30
  t0 = $[1];
30
31
  t1 = $[2];
31
32
  }
32
- useEffect(t0, t1);
33
+ useLayoutEffect(t0, t1);
33
34
  const shouldSubscribe = !!onPriceChange;
34
35
  let t2;
35
36
  let t3;
@@ -51,23 +52,37 @@ function useOnPriceUpdates() {
51
52
  isError,
52
53
  error
53
54
  } = t4;
54
- const priceParams = price && isDeltaPrice(price) ? {
55
- priceMode: "delta",
56
- price
57
- } : {
58
- priceMode: "market",
59
- price
55
+ let priceMode;
56
+ if (queryKey[0] === MarketPriceQueryKeyPrefix) {
57
+ priceMode = "market";
58
+ } else {
59
+ if (queryKey[0] === DeltaPriceQueryKeyPrefix) {
60
+ priceMode = "delta";
61
+ }
62
+ }
63
+ if (!priceMode) {
64
+ return;
65
+ }
66
+ const params = {
67
+ priceMode,
68
+ isLoading,
69
+ isFetching,
70
+ isError,
71
+ error
60
72
  };
73
+ if (price) {
74
+ if (params.priceMode === "delta" && isDeltaPrice(price)) {
75
+ params.price = price;
76
+ } else {
77
+ if (params.priceMode === "market" && !isDeltaPrice(price)) {
78
+ params.price = price;
79
+ }
80
+ }
81
+ }
61
82
  onPriceChangeRef.current?.({
62
83
  event: {
63
- name: "PriceUpdates",
64
- params: {
65
- ...priceParams,
66
- isLoading,
67
- isFetching,
68
- isError,
69
- error
70
- }
84
+ name: "PriceQueryUpdate",
85
+ params
71
86
  }
72
87
  });
73
88
  });
@@ -82,7 +97,7 @@ function useOnPriceUpdates() {
82
97
  t2 = $[5];
83
98
  t3 = $[6];
84
99
  }
85
- useEffect(t2, t3);
100
+ useLayoutEffect(t2, t3);
86
101
  }
87
102
 
88
103
  export { useOnPriceUpdates };
@@ -1 +1 @@
1
- {"version":3,"file":"useOnPriceUpdates.js","sources":["../../../src/events/hooks/useOnPriceUpdates.ts"],"sourcesContent":["import { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport { useEffect, useRef } from \"react\";\nimport { QueryObserver } from \"@tanstack/react-query\";\nimport { queryClient } from \"@/lib/queryClient\";\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport {\n isDeltaPrice,\n type DeltaPriceQueryKey,\n} from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport type { MarketPriceQueryKey } from \"@/hooks/swap/prices/market/queries/useMarketPriceQuery\";\nimport { useCurrentSwapPrice } from \"@/hooks/swap/prices/useSwapPrices\";\n\nexport function useOnPriceUpdates() {\n const { onPriceChange } = useWidgetEvents();\n const { queryKey } = useCurrentSwapPrice();\n\n const onPriceChangeRef = useRef(onPriceChange);\n useEffect(() => {\n onPriceChangeRef.current = onPriceChange;\n }, [onPriceChange]);\n\n const shouldSubscribe = !!onPriceChange;\n useEffect(() => {\n if (!shouldSubscribe) return;\n const observer = new QueryObserver<\n DeltaPrice | BridgePrice | OptimalRate,\n Error,\n DeltaPrice | BridgePrice | OptimalRate,\n DeltaPrice | BridgePrice | OptimalRate,\n DeltaPriceQueryKey | MarketPriceQueryKey\n >(queryClient, {\n queryKey,\n enabled: false,\n notifyOnChangeProps: [\n \"data\",\n \"error\",\n \"isError\",\n \"isLoading\",\n \"isFetching\",\n ],\n });\n\n const unsubscribe = observer.subscribe(\n ({ data: price, isLoading, isFetching, isError, error }) => {\n const priceParams =\n price && isDeltaPrice(price)\n ? { priceMode: \"delta\" as const, price }\n : { priceMode: \"market\" as const, price };\n\n onPriceChangeRef.current?.({\n event: {\n name: \"PriceUpdates\",\n params: {\n ...priceParams,\n isLoading,\n isFetching,\n isError,\n error,\n },\n },\n });\n }\n );\n\n return unsubscribe;\n }, [queryKey, shouldSubscribe]);\n}\n"],"names":["useOnPriceUpdates","$","_c","onPriceChange","useWidgetEvents","queryKey","useCurrentSwapPrice","onPriceChangeRef","useRef","t0","t1","current","useEffect","shouldSubscribe","t2","t3","observer","QueryObserver","queryClient","enabled","notifyOnChangeProps","unsubscribe","subscribe","t4","data","price","isLoading","isFetching","isError","error","priceParams","isDeltaPrice","priceMode","event","name","params"],"mappings":"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"}
1
+ {"version":3,"file":"useOnPriceUpdates.js","sources":["../../../src/events/hooks/useOnPriceUpdates.ts"],"sourcesContent":["import { useWidgetEvents } from \"@/core/state/widgetEventsAtom\";\nimport { useLayoutEffect, useRef } from \"react\";\nimport { QueryObserver } from \"@tanstack/react-query\";\nimport { queryClient } from \"@/lib/queryClient\";\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport {\n DeltaPriceQueryKeyPrefix,\n isDeltaPrice,\n type DeltaPriceQueryKey,\n} from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport {\n MarketPriceQueryKeyPrefix,\n type MarketPriceQueryKey,\n} from \"@/hooks/swap/prices/market/queries/useMarketPriceQuery\";\nimport { useCurrentSwapPrice } from \"@/hooks/swap/prices/useSwapPrices\";\nimport type { PriceQueryUpdateParams } from \"../types/priceChange\";\n\nexport function useOnPriceUpdates() {\n const { onPriceChange } = useWidgetEvents();\n const { queryKey } = useCurrentSwapPrice();\n\n const onPriceChangeRef = useRef(onPriceChange);\n useLayoutEffect(() => {\n onPriceChangeRef.current = onPriceChange;\n }, [onPriceChange]);\n\n const shouldSubscribe = !!onPriceChange;\n useLayoutEffect(() => {\n if (!shouldSubscribe) return;\n const observer = new QueryObserver<\n DeltaPrice | BridgePrice | OptimalRate,\n Error,\n DeltaPrice | BridgePrice | OptimalRate,\n DeltaPrice | BridgePrice | OptimalRate,\n DeltaPriceQueryKey | MarketPriceQueryKey\n >(queryClient, {\n queryKey,\n enabled: false,\n notifyOnChangeProps: [\n \"data\",\n \"error\",\n \"isError\",\n \"isLoading\",\n \"isFetching\",\n ],\n });\n\n const unsubscribe = observer.subscribe(\n ({ data: price, isLoading, isFetching, isError, error }) => {\n let priceMode: \"market\" | \"delta\" | undefined;\n if (queryKey[0] === MarketPriceQueryKeyPrefix) {\n priceMode = \"market\";\n } else if (queryKey[0] === DeltaPriceQueryKeyPrefix) {\n priceMode = \"delta\";\n }\n // opt out for unknown queries\n if (!priceMode) return;\n\n const params: PriceQueryUpdateParams = {\n priceMode,\n isLoading,\n isFetching,\n isError,\n error,\n };\n\n // satisfy typescript narrowing\n if (price) {\n if (params.priceMode === \"delta\" && isDeltaPrice(price)) {\n params.price = price;\n } else if (params.priceMode === \"market\" && !isDeltaPrice(price)) {\n params.price = price;\n }\n }\n\n onPriceChangeRef.current?.({\n event: {\n name: \"PriceQueryUpdate\",\n params,\n },\n });\n }\n );\n\n return unsubscribe;\n }, [queryKey, shouldSubscribe]);\n}\n"],"names":["useOnPriceUpdates","$","_c","onPriceChange","useWidgetEvents","queryKey","useCurrentSwapPrice","onPriceChangeRef","useRef","t0","t1","current","useLayoutEffect","shouldSubscribe","t2","t3","observer","QueryObserver","queryClient","enabled","notifyOnChangeProps","unsubscribe","subscribe","t4","data","price","isLoading","isFetching","isError","error","priceMode","MarketPriceQueryKeyPrefix","DeltaPriceQueryKeyPrefix","params","isDeltaPrice","event","name"],"mappings":"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"}
@@ -1,24 +1,24 @@
1
1
  import { MarkOptional } from 'ts-essentials';
2
2
  import { MakeEventArgs, WidgetEventCallbackConstructor, WidgetEventMinCallbackConstructor } from './common';
3
3
  import { BridgePrice, DeltaPrice, OptimalRate } from '@velora-dex/sdk';
4
- type DeltaPriceChangeParams = {
4
+ type DeltaPriceUpdateParams = {
5
5
  priceMode: "delta";
6
6
  price: DeltaPrice | BridgePrice;
7
7
  };
8
- type MarketPriceChangeParams = {
8
+ type MarketPriceUpdateParams = {
9
9
  priceMode: "market";
10
10
  price: OptimalRate;
11
11
  };
12
- type PriceChangeParams = DeltaPriceChangeParams | MarketPriceChangeParams;
13
- type PriceUpdatesParams = MarkOptional<PriceChangeParams, "price"> & {
12
+ type PriceUpdateParams = DeltaPriceUpdateParams | MarketPriceUpdateParams;
13
+ export type PriceQueryUpdateParams = MarkOptional<PriceUpdateParams, "price"> & {
14
14
  isLoading: boolean;
15
15
  isFetching: boolean;
16
16
  isError: boolean;
17
17
  error: Error | null;
18
18
  };
19
19
  type EventArgs = {
20
- PriceChange: PriceChangeParams;
21
- PriceUpdates: PriceUpdatesParams;
20
+ PriceUpdate: PriceUpdateParams;
21
+ PriceQueryUpdate: PriceQueryUpdateParams;
22
22
  };
23
23
  type PriceChangeEventArgs = MakeEventArgs<EventArgs>;
24
24
  export type OnPriceChange = WidgetEventCallbackConstructor<PriceChangeEventArgs>;
@@ -1 +1 @@
1
- {"version":3,"file":"priceChange.d.ts","sourceRoot":"","sources":["../../../src/events/types/priceChange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EACV,aAAa,EACb,8BAA8B,EAC9B,iCAAiC,EAClC,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE5E,KAAK,sBAAsB,GAAG;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,UAAU,GAAG,WAAW,CAAC;CACjC,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC7B,SAAS,EAAE,QAAQ,CAAC;IACpB,KAAK,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,KAAK,iBAAiB,GAAG,sBAAsB,GAAG,uBAAuB,CAAC;AAE1E,KAAK,kBAAkB,GAAG,YAAY,CAAC,iBAAiB,EAAE,OAAO,CAAC,GAAG;IACnE,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,WAAW,EAAE,iBAAiB,CAAC;IAC/B,YAAY,EAAE,kBAAkB,CAAC;CAClC,CAAC;AAEF,KAAK,oBAAoB,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAGrD,MAAM,MAAM,aAAa,GACvB,8BAA8B,CAAC,oBAAoB,CAAC,CAAC;AAGvD,MAAM,MAAM,gBAAgB,GAC1B,iCAAiC,CAAC,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"priceChange.d.ts","sourceRoot":"","sources":["../../../src/events/types/priceChange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EACV,aAAa,EACb,8BAA8B,EAC9B,iCAAiC,EAClC,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE5E,KAAK,sBAAsB,GAAG;IAC5B,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,UAAU,GAAG,WAAW,CAAC;CACjC,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC7B,SAAS,EAAE,QAAQ,CAAC;IACpB,KAAK,EAAE,WAAW,CAAC;CACpB,CAAC;AAEF,KAAK,iBAAiB,GAAG,sBAAsB,GAAG,uBAAuB,CAAC;AAE1E,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAC/C,iBAAiB,EACjB,OAAO,CACR,GAAG;IACF,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACrB,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,WAAW,EAAE,iBAAiB,CAAC;IAC/B,gBAAgB,EAAE,sBAAsB,CAAC;CAC1C,CAAC;AAEF,KAAK,oBAAoB,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAGrD,MAAM,MAAM,aAAa,GACvB,8BAA8B,CAAC,oBAAoB,CAAC,CAAC;AAGvD,MAAM,MAAM,gBAAgB,GAC1B,iCAAiC,CAAC,oBAAoB,CAAC,CAAC"}
@@ -26,17 +26,20 @@ export type DeltaPriceQueryKey = readonly [
26
26
  */
27
27
  export declare function useDeltaPriceQuery<TData = BridgePrice>({ priceParams, query, chainId, timeout, }: DeltaPriceQueryInput<TData> & {
28
28
  destChainId: number;
29
- }): DeltaQueryResult<TData> & {
29
+ }): {
30
+ result: DeltaQueryResult<TData>;
30
31
  queryKey: DeltaPriceQueryKey;
31
32
  };
32
33
  export declare function useDeltaPriceQuery<TData = DeltaPrice>({ priceParams, query, chainId, timeout, }: DeltaPriceQueryInput<TData> & {
33
34
  destChainId?: undefined;
34
- }): DeltaQueryResult<TData> & {
35
+ }): {
36
+ result: DeltaQueryResult<TData>;
35
37
  queryKey: DeltaPriceQueryKey;
36
38
  };
37
39
  export declare function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({ priceParams, query, chainId, timeout, }: DeltaPriceQueryInput<TData> & {
38
40
  destChainId?: number;
39
- }): DeltaQueryResult<TData> & {
41
+ }): {
42
+ result: DeltaQueryResult<TData>;
40
43
  queryKey: DeltaPriceQueryKey;
41
44
  };
42
45
  export declare function isDeltaPrice(price: OptimalRate | DeltaPrice): price is DeltaPrice;
@@ -57,7 +60,7 @@ export declare function useSubscribeToDeltaPrice(): SubscribeToDeltaPriceResult;
57
60
  export declare function getLastDeltaPrice(queryClient: QueryClient): DeltaPrice | BridgePrice | undefined;
58
61
  export declare function isLastDeltaPriceQueryInError(queryClient: QueryClient): boolean;
59
62
  export declare function isDataDeltaOrBridgePrice(price: unknown): price is DeltaPrice | BridgePrice;
60
- export declare function useDeltaPriceQueryKey({ priceParams: _priceParams, chainId, destChainId, }: Pick<DeltaPriceQueryInput, "priceParams" | "chainId"> & {
63
+ export declare function useDeltaPriceQueryKey({ priceParams, chainId, destChainId, }: Pick<DeltaPriceQueryInput, "priceParams" | "chainId"> & {
61
64
  destChainId?: number;
62
65
  }): {
63
66
  queryKey: DeltaPriceQueryKey;
@@ -1 +1 @@
1
- {"version":3,"file":"useDeltaPriceQuery.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useDeltaPriceQuery.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { useDeltaSDK } from '../../../../useSDK.js';
3
3
  import { useQuery, useQueryClient, QueryObserver } from '@tanstack/react-query';
4
4
  import { useDebouncedValue } from '@tanstack/react-pacer/debouncer';
5
5
  import { assert } from 'ts-essentials';
6
- import 'react';
6
+ import { useMemo } from 'react';
7
7
 
8
8
  const DeltaPriceQueryKeyPrefix = "swap/prices/delta";
9
9
  function useDeltaPriceQuery(t0) {
@@ -92,15 +92,15 @@ function useDeltaPriceQuery(t0) {
92
92
  } else {
93
93
  t5 = $[17];
94
94
  }
95
- const queryResult = useQuery(t5);
95
+ const result = useQuery(t5);
96
96
  let t6;
97
- if ($[18] !== queryKey || $[19] !== queryResult) {
97
+ if ($[18] !== queryKey || $[19] !== result) {
98
98
  t6 = {
99
- ...queryResult,
99
+ result,
100
100
  queryKey
101
101
  };
102
102
  $[18] = queryKey;
103
- $[19] = queryResult;
103
+ $[19] = result;
104
104
  $[20] = t6;
105
105
  } else {
106
106
  t6 = $[20];
@@ -194,79 +194,36 @@ function isLastDeltaPriceQueryInError(queryClient) {
194
194
  function isDataDeltaOrBridgePrice(price) {
195
195
  return typeof price === "object" && price !== null && "bridge" in price && "srcToken" in price && "destToken" in price && "srcAmount" in price && "destAmount" in price;
196
196
  }
197
- function sanitizePriceParams({
198
- debouncedAmount,
199
- priceParams
197
+ function useDeltaPriceQueryKey({
198
+ priceParams,
199
+ chainId,
200
+ destChainId
200
201
  }) {
201
- return {
202
- srcToken: priceParams.srcToken,
203
- destToken: priceParams.destToken,
204
- amount: debouncedAmount,
205
- srcDecimals: priceParams.srcDecimals,
206
- destDecimals: priceParams.destDecimals,
207
- userAddress: priceParams.userAddress,
208
- partner: priceParams.partner,
209
- destChainId: priceParams.destChainId
210
- };
211
- }
212
- function useDeltaPriceQueryKey(t0) {
213
- const $ = distExports.c(11);
214
- const {
215
- priceParams: _priceParams,
216
- chainId,
217
- destChainId
218
- } = t0;
219
- let t1;
220
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
221
- t1 = {
222
- wait: 500
223
- };
224
- $[0] = t1;
225
- } else {
226
- t1 = $[0];
227
- }
228
- const [debouncedAmount] = useDebouncedValue(_priceParams.amount, t1);
229
- let t2;
230
- if ($[1] !== _priceParams || $[2] !== debouncedAmount || $[3] !== destChainId) {
231
- const priceParams = {
232
- ..._priceParams,
202
+ "use no memo";
203
+ const [debouncedAmount] = useDebouncedValue(priceParams.amount, {
204
+ wait: 500
205
+ });
206
+ return useMemo(() => {
207
+ const sanitizedPriceParams = {
208
+ amount: debouncedAmount,
209
+ srcToken: priceParams.srcToken,
210
+ destToken: priceParams.destToken,
211
+ srcDecimals: priceParams.srcDecimals,
212
+ destDecimals: priceParams.destDecimals,
213
+ userAddress: priceParams.userAddress,
214
+ beneficiary: priceParams.beneficiary,
215
+ partner: priceParams.partner,
216
+ side: priceParams.side,
217
+ includeAgents: priceParams.includeAgents,
218
+ excludeAgents: priceParams.excludeAgents,
233
219
  destChainId
234
220
  };
235
- t2 = sanitizePriceParams({
236
- debouncedAmount,
237
- priceParams
238
- });
239
- $[1] = _priceParams;
240
- $[2] = debouncedAmount;
241
- $[3] = destChainId;
242
- $[4] = t2;
243
- } else {
244
- t2 = $[4];
245
- }
246
- const sanitizedPriceParams = t2;
247
- let t3;
248
- if ($[5] !== chainId || $[6] !== sanitizedPriceParams) {
249
- t3 = [DeltaPriceQueryKeyPrefix, chainId, sanitizedPriceParams];
250
- $[5] = chainId;
251
- $[6] = sanitizedPriceParams;
252
- $[7] = t3;
253
- } else {
254
- t3 = $[7];
255
- }
256
- const queryKey = t3;
257
- let t4;
258
- if ($[8] !== queryKey || $[9] !== sanitizedPriceParams) {
259
- t4 = {
221
+ const queryKey = [DeltaPriceQueryKeyPrefix, chainId, sanitizedPriceParams];
222
+ return {
260
223
  queryKey,
261
224
  sanitizedPriceParams
262
225
  };
263
- $[8] = queryKey;
264
- $[9] = sanitizedPriceParams;
265
- $[10] = t4;
266
- } else {
267
- t4 = $[10];
268
- }
269
- return t4;
226
+ }, [priceParams.beneficiary, priceParams.destDecimals, priceParams.destToken, priceParams.excludeAgents, priceParams.includeAgents, priceParams.partner, priceParams.side, priceParams.srcDecimals, priceParams.srcToken, priceParams.userAddress, chainId, debouncedAmount, destChainId]);
270
227
  }
271
228
 
272
229
  export { DeltaPriceQueryKeyPrefix, getLastDeltaPrice, isBridgePrice, isDataDeltaOrBridgePrice, isDeltaPrice, isLastDeltaPriceQueryInError, useDeltaPriceQuery, useDeltaPriceQueryForPrice, useDeltaPriceQueryKey, useSubscribeToDeltaPrice };