@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.
- package/dist/configurator/Configurator.d.ts.map +1 -1
- package/dist/core/limit/useLimitRate.js +3 -1
- package/dist/core/limit/useLimitRate.js.map +1 -1
- package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
- package/dist/core/state/widgetEventsAtom.js +4 -4
- package/dist/core/state/widgetEventsAtom.js.map +1 -1
- package/dist/events/effects/price.js +3 -3
- package/dist/events/effects/price.js.map +1 -1
- package/dist/events/effects/swapMode.js +2 -2
- package/dist/events/effects/swapMode.js.map +1 -1
- package/dist/events/hooks/useOnPriceUpdates.d.ts.map +1 -1
- package/dist/events/hooks/useOnPriceUpdates.js +33 -18
- package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
- package/dist/events/types/priceChange.d.ts +6 -6
- package/dist/events/types/priceChange.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +7 -4
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +29 -72
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts +27 -9
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js +42 -84
- package/dist/hooks/swap/prices/market/queries/useMarketPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +209 -81
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/useCachedQueryError.d.ts +3 -0
- package/dist/hooks/useCachedQueryError.d.ts.map +1 -0
- package/dist/hooks/useCachedQueryError.js +11 -0
- package/dist/hooks/useCachedQueryError.js.map +1 -0
- 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,+
|
|
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
|
|
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":";;;;;;;;;;AAeA,MAAMA,yBAAyB,GAAA,GAAS,CAAA;AAExC,MAAMC,uBAAuBC,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAC,OAAAA,EAAAC,EAAAA;AAAAA,IAAAC,eAAAA,EAAAC,EAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAP,EAAAA;AAC5B,EAAA,MAAAG,OAAAA,GAAAC,EAAAA,KAAAI,MAAAA,GAAA,IAAA,GAAAJ,EAAAA;AACA,EAAA,MAAAC,eAAAA,GAAAC,EAAAA,KAAAE,MAAAA,GAAAV,sBAAAA,GAAAQ,EAAAA;AAOA,EAAA,MAAAG,SAAAA,GAAkBC,YAAAA,CAChBC,qBAAAA,CAAsBJ,SAAS,EAACK,aAClC,CAAA;AACA,EAAA,MAAA;AAAA,IAAAC,WAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAiCC,gBAAgBR,SAAS,CAAA;AAAE,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAf,CAAAA,CAAA,CAAA,CAAA,KAAAQ,SAAAA,CAAAQ,QAAAA,EAAA;AAIlDD,IAAAA,EAAAA,GAAAE,UAAAA,CAAW,GAAA,EAAKT,SAAAA,CAASQ,QAAS,EAACE,QAAAA,EAAU;AAAClB,IAAAA,CAAAA,CAAA,CAAA,IAAAQ,SAAAA,CAAAQ,QAAAA;AAAAhB,IAAAA,CAAAA,MAAAe,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAf,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAmB,EAAAA;AAAA,EAAA,IAAAnB,EAAA,CAAA,CAAA,KAAAY,eAAAZ,CAAAA,QAAAe,EAAAA,EAAA;AAFRI,IAAAA,EAAAA,GAAA;AAAA,MAAA,GAC3CP,WAAAA;AAAAA,MAAWQ,MAAAA,EACNL,EAAAA;AAAAA,MAA8CM,IAAAA,EAChD,MAAA;AAAA,MAAeC,iBAAAA,EACF;AAAA,KACrB;AAACtB,IAAAA,CAAAA,MAAAY,WAAAA;AAAAZ,IAAAA,CAAAA,MAAAe,EAAAA;AAAAf,IAAAA,CAAAA,MAAAmB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAnB,EAAA,CAAA,CAAA;AAAA,EAAA;AALD,EAAA,MAAAuB,qBAAAA,GAAgDJ,EAAAA;AAK9C,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAxB,EAAA,CAAA,CAAA,KAAAE,WAAAF,CAAAA,QAAAI,eAAAA,EAAA;AAQOoB,IAAAA,EAAAA,GAAA;AAAA,MAAAtB,OAAAA;AAAAA,MAAAE,eAAAA;AAAAA,MAAAqB,KAAAA,EAGE,KAAA;AAAA,MAAKC,oBAAAA,EACU,KAAA;AAAA,MAAKC,cAAAA,EACX;AAAA,KAClB;AAAC3B,IAAAA,CAAAA,MAAAE,OAAAA;AAAAF,IAAAA,CAAAA,MAAAI,eAAAA;AAAAJ,IAAAA,CAAAA,MAAAwB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAxB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA4B,EAAAA;AAAA,EAAA,IAAA5B,CAAAA,CAAA,CAAA,CAAA,KAAAa,OAAAA,IAAAb,CAAAA,QAAAuB,qBAAAA,IAAAvB,CAAAA,CAAA,EAAA,CAAA,KAAAwB,EAAAA,EAAA;
|
|
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;
|
|
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
|
|
132
|
-
|
|
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
|
-
|
|
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":";;;;;;AAUO,MAAMA,mBAAmBC,IAAAA,CAI9B,IAAI,CAACC,GAAAA,EAAKC,KAAKC,SAAAA,KAAc;AAC7B,EAAA,MAAMC,SAA0DC,CAAAA,OAAAA,KAAY;AAC1E,IAAA,IAAI,CAACF,UAAUC,MAAAA,EAAQ;AACvB,IAAA,MAAME,WAAAA,GAAcC,eAAeN,GAAG,CAAA;AAEtC,IAAA,MAAMO,aAAAA,GAAgBF,YAAYG,SAAAA,CAAUC,IAAAA;AAC5CC,IAAAA,MAAAA,CACEC,oBAAAA,CAAqBJ,aAAa,CAAA,EAClC,6CACF,CAAA;AAKA,IAAA,MAAMK,gBAAAA,GAAmB;AAAA,MACvBC,KAAAA,EAAO;AAAA,QACL,GAAGT,OAAAA,CAAQS,KAAAA;AAAAA,QACXC,MAAAA,EAAQ;AAAA,UACN,GAAGV,QAAQS,KAAAA,CAAMC,MAAAA;AAAAA,UACjB,GAAGP;AAAAA;AACL,OACF;AAAA,MACAQ,KAAAA,EAAOV;AAAAA,KACT;AAEAH,IAAAA,SAAAA,CAAUC,OAAOS,gBAAgB,CAAA;AAAA,EACnC,CAAA;AAEA,EAAA,MAAMI,eACJZ,CAAAA,OAAAA,KACG;AACH,IAAA,IAAI,CAACF,UAAUc,YAAAA,EAAc;AAC7B,IAAA,MAAMX,WAAAA,GAAcC,eAAeN,GAAG,CAAA;AACtC,IAAA,MAAMiB,mBAAAA,GAAsBZ,YAAYG,SAAAA,CAAUU,KAAAA;AAClDR,IAAAA,MAAAA,CACEC,oBAAAA,CAAqBM,mBAAmB,CAAA,EACxC,4DACF,CAAA;AAMA,IAAA,MAAML,gBAAAA,GAAmB;AAAA,MACvBC,KAAAA,EAAO;AAAA,QACL,GAAGT,OAAAA,CAAQS,KAAAA;AAAAA,QACXC,MAAAA,EAAQ;AAAA,UACN,GAAGV,QAAQS,KAAAA,CAAMC,MAAAA;AAAAA,UACjB,GAAGG;AAAAA;AACL,OACF;AAAA,MACAF,KAAAA,EAAOV;AAAAA,KACT;AACAH,IAAAA,SAAAA,CAAUc,aAAaJ,gBAAgB,CAAA;AAAA,EACzC,CAAA;AAEA,EAAA,MAAMO,aACJf,CAAAA,OAAAA,KACG;AACH,IAAA,IAAI,CAACF,UAAUiB,UAAAA,EAAY;AAC3B,IAAA,MAAMd,WAAAA,GAAcC,eAAeN,GAAG,CAAA;AACtC,IAAA,MAAMoB,iBAAAA,GAAoBf,YAAYG,SAAAA,CAAUa,GAAAA;AAChDX,IAAAA,MAAAA,CACEC,oBAAAA,CAAqBS,iBAAiB,CAAA,EACtC,yDACF,CAAA;AAEA,IAAA,MAAMR,gBAAAA,GAAmB;AAAA,MACvBC,KAAAA,EAAO;AAAA,QACL,GAAGT,OAAAA,CAAQS,KAAAA;AAAAA,QACXC,MAAAA,EAAQ;AAAA,UACN,GAAGV,QAAQS,KAAAA,CAAMC,MAAAA;AAAAA,UACjB,GAAGM;AAAAA;AACL,OACF;AAAA,MACAL,KAAAA,EAAOV;AAAAA,KACT;AACAH,IAAAA,SAAAA,CAAUiB,WAAWP,gBAAgB,CAAA;AAAA,EACvC,CAAA;AAEA,EAAA,MAAMU,eACJlB,CAAAA,OAAAA,KACG;AACH,IAAA,IAAI,CAACF,UAAUoB,YAAAA,EAAc;AAC7B,IAAA,MAAMjB,WAAAA,GAAcC,eAAeN,GAAG,CAAA;AAEtC,IAAA,MAAMY,gBAAAA,GAAmB;AAAA,MACvBC,OAAOT,OAAAA,CAAQS,KAAAA;AAAAA,MACfE,KAAAA,EAAOV;AAAAA,KACT;AAEAH,IAAAA,SAAAA,CAAUoB,aAAaV,gBAAgB,CAAA;AAAA,EACzC,CAAA;AAEA,EAAA,MAAMW,YACJnB,CAAAA,OAAAA,KACG;AACH,IAAA,IAAI,CAACF,UAAUqB,SAAAA,EAAW;AAC1B,IAAA,MAAMlB,WAAAA,GAAcC,eAAeN,GAAG,CAAA;AACtC,IAAA,MAAMY,gBAAAA,GAAmB;AAAA,MACvBC,OAAOT,OAAAA,CAAQS,KAAAA;AAAAA,MACfE,KAAAA,EAAOV;AAAAA,KACT;AACAH,IAAAA,SAAAA,CAAUqB,UAAUX,gBAAgB,CAAA;AAAA,EACtC,CAAA;AAEA,EAAA,MAAMY,mBAEDpB,CAAAA,OAAAA,KAAY;AACf,IAAA,IAAI,CAACF,UAAUsB,gBAAAA,EAAkB;AACjC,IAAA,MAAMnB,WAAAA,GAAcC,eAAeN,GAAG,CAAA;AACtC,IAAA,MAAMY,gBAAAA,GAAmB;AAAA,MACvBC,OAAOT,OAAAA,CAAQS,KAAAA;AAAAA,MACfE,KAAAA,EAAOV;AAAAA,KACT;AACAH,IAAAA,SAAAA,CAAUsB,iBAAiBZ,gBAAgB,CAAA;AAAA,EAC7C,CAAA;AAEA,EAAA,MAAMa,kBAEDrB,CAAAA,OAAAA,KAAY;AACf,IAAA,IAAI,CAACF,UAAUuB,eAAAA,EAAiB;AAChC,IAAA,MAAMpB,WAAAA,GAAcC,eAAeN,GAAG,CAAA;AACtC,IAAA,MAAMY,gBAAAA,GAAmB;AAAA,MACvBC,OAAOT,OAAAA,CAAQS,KAAAA;AAAAA,MACfE,KAAAA,EAAOV;AAAAA,KACT;AACAH,IAAAA,SAAAA,CAAUuB,gBAAgBb,gBAAgB,CAAA;AAAA,EAC5C,CAAA;AAEA,EAAA,MAAMc,wBAAwBxB,SAAAA,CAAUyB,oBAAAA;AACxC,EAAA,MAAMA,oBAAAA,GACJD,wBACKtB,CAAAA,OAAAA,KAAY;AACX,IAAA,MAAMC,WAAAA,GAAcC,eAAeN,GAAG,CAAA;AACtC,IAAA,MAAMY,gBAAAA,GAAmB;AAAA,MACvBC,OAAOT,OAAAA,CAAQS,KAAAA;AAAAA,MACfE,KAAAA,EAAOV;AAAAA,KACT;AACAqB,IAAAA,qBAAAA,CAAsBd,gBAAgB,CAAA;AAAA,EACxC,CAAA,GACAgB,MAAAA;AAEN,EAAA,MAAMC,gBACJzB,CAAAA,OAAAA,KACG;AACH,IAAA,IAAI,CAACF,UAAU2B,aAAAA,EAAe;AAC9B,IAAA,MAAMxB,WAAAA,GAAcC,eAAeN,GAAG,CAAA;AACtC,IAAA,MAAMY,gBAAAA,GAAmB;AAAA,MACvBC,OAAOT,OAAAA,CAAQS,KAAAA;AAAAA,MACfE,KAAAA,EAAOV;AAAAA,KACT;AACAH,IAAAA,SAAAA,CAAU2B,cAAcjB,gBAAgB,CAAA;AAAA,EAC1C,CAAA;AAEA,EAAA,MAAMkB,iBAED1B,CAAAA,OAAAA,KAAY;AACf,IAAA,IAAI,CAACF,UAAU4B,cAAAA,EAAgB;AAC/B,IAAA,MAAMzB,WAAAA,GAAcC,eAAeN,GAAG,CAAA;AACtC,IAAA,MAAMY,gBAAAA,GAAmB;AAAA,MACvBC,OAAOT,OAAAA,CAAQS,KAAAA;AAAAA,MACfE,KAAAA,EAAOV;AAAAA,KACT;AACAH,IAAAA,SAAAA,CAAU4B,eAAelB,gBAAgB,CAAA;AAAA,EAC3C,CAAA;AAEA,EAAA,MAAMmB,oBAED3B,CAAAA,OAAAA,KAAY;AACf,IAAA,IAAI,CAACF,UAAU6B,iBAAAA,EAAmB;AAClC,IAAA,MAAM1B,WAAAA,GAAcC,eAAeN,GAAG,CAAA;AACtC,IAAA,MAAMY,gBAAAA,GAAmB;AAAA,MACvBC,OAAOT,OAAAA,CAAQS,KAAAA;AAAAA,MACfE,KAAAA,EAAOV;AAAAA,KACT;AACAH,IAAAA,SAAAA,CAAU6B,kBAAkBnB,gBAAgB,CAAA;AAAA,EAC9C,CAAA;AAEA,EAAA,MAAMoB,gBACJ5B,CAAAA,OAAAA,KACG;AACH,IAAA,IAAI,CAACF,UAAU8B,aAAAA,EAAe;AAC9B,IAAA,MAAM3B,WAAAA,GAAcC,eAAeN,GAAG,CAAA;AACtC,IAAA,MAAMY,gBAAAA,GAAmB;AAAA,MACvBC,OAAOT,OAAAA,CAAQS,KAAAA;AAAAA,MACfE,KAAAA,EAAOV;AAAAA,KACT;AACAH,IAAAA,SAAAA,CAAU8B,cAAcpB,gBAAgB,CAAA;AAAA,EAC1C,CAAA;AAEAX,EAAAA,GAAAA,CAAIH,gBAAAA,EAAkB;AAAA,IACpBK,MAAAA;AAAAA,IACAa,YAAAA;AAAAA,IACAG,UAAAA;AAAAA,IACAG,YAAAA;AAAAA,IACAC,SAAAA;AAAAA,IACAC,gBAAAA;AAAAA,IACAC,eAAAA;AAAAA,IACAE,oBAAAA;AAAAA,IACAE,aAAAA;AAAAA,IACAC,cAAAA;AAAAA,IACAC,iBAAAA;AAAAA,IACAC;AAAAA,GACD,CAAA;AACH,CAAC;AAEM,MAAMC,kBAAkBA,MAAA;AAAA,EAAA,OACtBC,aAAapC,gBAAgB,CAAA;AAAC;AAGhC,MAAMqC,wBAAwBjC,CAAAA,SAAAA,KAAA;AAAA,EAAA,MAAAkC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AACnC,EAAA,MAAAC,eAAAA,GAAwBC,WAAWzC,gBAAgB,CAAA;AAAE,EAAA,IAAA0C,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,CAAA,CAAA,CAAA,KAAAlC,SAAAA,EAAAoB,YAAAA,IAAAc,CAAAA,CAAA,CAAA,CAAA,KAAAlC,SAAAA,EAAA2B,aAAAA,IAAAO,CAAAA,CAAA,CAAA,CAAA,KAAAlC,SAAAA,EAAAuB,eAAAA,IAAAW,CAAAA,QAAAlC,SAAAA,EAAAyB,oBAAAA,IAAAS,CAAAA,CAAA,CAAA,CAAA,KAAAlC,SAAAA,EAAA4B,cAAAA,IAAAM,CAAAA,CAAA,CAAA,CAAA,KAAAlC,WAAA6B,iBAAAA,IAAAK,CAAAA,CAAA,CAAA,CAAA,KAAAlC,SAAAA,EAAAc,YAAAA,IAAAoB,CAAAA,QAAAlC,SAAAA,EAAAiB,UAAAA,IAAAiB,CAAAA,CAAA,CAAA,CAAA,KAAAlC,SAAAA,EAAA8B,aAAAA,IAAAI,EAAA,CAAA,CAAA,KAAAlC,SAAAA,EAAAsB,gBAAAA,IAAAY,CAAAA,CAAA,EAAA,CAAA,KAAAlC,SAAAA,EAAAC,MAAAA,IAAAiC,CAAAA,CAAA,EAAA,CAAA,KAAAlC,SAAAA,EAAAqB,SAAAA,IAAAa,CAAAA,SAAAE,eAAAA,EAAA;AAErCE,IAAAA,EAAAA,GAAAA,MAAA;AACdF,MAAAA,eAAAA,CAAgB;AAAA,QAAAb,iBACGvB,SAAAA,EAASuB,eAAAA;AAAAA,QAAiBE,sBACrBzB,SAAAA,EAASyB,oBAAAA;AAAAA,QAAsBL,cACvCpB,SAAAA,EAASoB,YAAAA;AAAAA,QAAcnB,QAC7BD,SAAAA,EAASC,MAAAA;AAAAA,QAAQgB,YACbjB,SAAAA,EAASiB,UAAAA;AAAAA,QAAYH,cACnBd,SAAAA,EAASc,YAAAA;AAAAA,QAAcO,WAC1BrB,SAAAA,EAASqB,SAAAA;AAAAA,QAAWC,kBACbtB,SAAAA,EAASsB,gBAAAA;AAAAA,QAAkBK,eAC9B3B,SAAAA,EAAS2B,aAAAA;AAAAA,QAAeC,gBACvB5B,SAAAA,EAAS4B,cAAAA;AAAAA,QAAgBC,mBACtB7B,SAAAA,EAAS6B,iBAAAA;AAAAA,QAAmBC,eAChC9B,SAAAA,EAAS8B;AAAAA,OACzB,CAAA;AAAA,IAAC,CAAA;AACHI,IAAAA,CAAAA,CAAA,CAAA,IAAAlC,SAAAA,EAAAoB,YAAAA;AAAAc,IAAAA,CAAAA,CAAA,CAAA,IAAAlC,SAAAA,EAAA2B,aAAAA;AAAAO,IAAAA,CAAAA,CAAA,CAAA,IAAAlC,SAAAA,EAAAuB,eAAAA;AAAAW,IAAAA,CAAAA,CAAA,CAAA,IAAAlC,SAAAA,EAAAyB,oBAAAA;AAAAS,IAAAA,CAAAA,CAAA,CAAA,IAAAlC,SAAAA,EAAA4B,cAAAA;AAAAM,IAAAA,CAAAA,CAAA,CAAA,IAAAlC,SAAAA,EAAA6B,iBAAAA;AAAAK,IAAAA,CAAAA,CAAA,CAAA,IAAAlC,SAAAA,EAAAc,YAAAA;AAAAoB,IAAAA,CAAAA,CAAA,CAAA,IAAAlC,SAAAA,EAAAiB,UAAAA;AAAAiB,IAAAA,CAAAA,CAAA,CAAA,IAAAlC,SAAAA,EAAA8B,aAAAA;AAAAI,IAAAA,CAAAA,CAAA,CAAA,IAAAlC,SAAAA,EAAAsB,gBAAAA;AAAAY,IAAAA,CAAAA,CAAA,EAAA,IAAAlC,SAAAA,EAAAC,MAAAA;AAAAiC,IAAAA,CAAAA,CAAA,EAAA,IAAAlC,SAAAA,EAAAqB,SAAAA;AAAAa,IAAAA,CAAAA,OAAAE,eAAAA;AAAAF,IAAAA,CAAAA,OAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,EAAA,CAAA;AAAA,EAAA;AACC,EAAA,MAAAK,KAAAvC,SAAAA,EAASuB,eAAAA;AACT,EAAA,MAAAiB,KAAAxC,SAAAA,EAASyB,oBAAAA;AACT,EAAA,MAAAgB,KAAAzC,SAAAA,EAASoB,YAAAA;AACT,EAAA,MAAAsB,KAAA1C,SAAAA,EAASC,MAAAA;AACT,EAAA,MAAA0C,KAAA3C,SAAAA,EAASiB,UAAAA;AACT,EAAA,MAAA2B,KAAA5C,SAAAA,EAASc,YAAAA;AACT,EAAA,MAAA+B,KAAA7C,SAAAA,EAASqB,SAAAA;AACT,EAAA,MAAAyB,KAAA9C,SAAAA,EAASsB,gBAAAA;AACT,EAAA,MAAAyB,KAAA/C,SAAAA,EAAS2B,aAAAA;AACT,EAAA,MAAAqB,MAAAhD,SAAAA,EAAS4B,cAAAA;AACT,EAAA,MAAAqB,MAAAjD,SAAAA,EAAS6B,iBAAAA;AACT,EAAA,MAAAqB,MAAAlD,SAAAA,EAAS8B,aAAAA;AAAe,EAAA,IAAAqB,GAAAA;AAAA,EAAA,IAAAjB,CAAAA,SAAAE,eAAAA,IAAAF,EAAA,EAAA,CAAA,KAAAK,EAAAA,IAAAL,CAAAA,CAAA,EAAA,CAAA,KAAAc,OAAAd,CAAAA,CAAA,EAAA,CAAA,KAAAe,GAAAA,IAAAf,CAAAA,CAAA,EAAA,MAAAgB,GAAAA,IAAAhB,CAAAA,CAAA,EAAA,CAAA,KAAAM,EAAAA,IAAAN,CAAAA,SAAAO,EAAAA,IAAAP,CAAAA,CAAA,EAAA,CAAA,KAAAQ,EAAAA,IAAAR,EAAA,EAAA,CAAA,KAAAS,EAAAA,IAAAT,CAAAA,CAAA,EAAA,CAAA,KAAAU,MAAAV,CAAAA,CAAA,EAAA,CAAA,KAAAW,EAAAA,IAAAX,CAAAA,SAAAY,EAAAA,IAAAZ,CAAAA,CAAA,EAAA,CAAA,KAAAa,EAAAA,EAAA;AAZvBI,IAAAA,GAAAA,GAAA,CACDZ,EAAAA,EACAC,EAAAA,EACAC,EAAAA,EACAC,EAAAA,EACAC,EAAAA,EACAC,EAAAA,EACAC,EAAAA,EACAC,EAAAA,EACAC,EAAAA,EACAC,GAAAA,EACAC,GAAAA,EACAC,KACAd,eAAe,CAAA;AAChBF,IAAAA,CAAAA,OAAAE,eAAAA;AAAAF,IAAAA,CAAAA,OAAAK,EAAAA;AAAAL,IAAAA,CAAAA,OAAAc,GAAAA;AAAAd,IAAAA,CAAAA,OAAAe,GAAAA;AAAAf,IAAAA,CAAAA,OAAAgB,GAAAA;AAAAhB,IAAAA,CAAAA,OAAAM,EAAAA;AAAAN,IAAAA,CAAAA,OAAAO,EAAAA;AAAAP,IAAAA,CAAAA,OAAAQ,EAAAA;AAAAR,IAAAA,CAAAA,OAAAS,EAAAA;AAAAT,IAAAA,CAAAA,OAAAU,EAAAA;AAAAV,IAAAA,CAAAA,OAAAW,EAAAA;AAAAX,IAAAA,CAAAA,OAAAY,EAAAA;AAAAZ,IAAAA,CAAAA,OAAAa,EAAAA;AAAAb,IAAAA,CAAAA,OAAAiB,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAAjB,EAAA,EAAA,CAAA;AAAA,EAAA;AA7BDkB,EAAAA,eAAAA,CAAgBd,IAeba,GAcF,CAAA;AAAC;AAGJ,SAAS1C,qBACPI,KAAAA,EACsB;AACtB,EAAA,OAAO,CAAC,EACNA,KAAAA,CAAMwC,OAAAA,IACNxC,MAAMyC,eAAAA,IACNzC,KAAAA,CAAM0C,eACN1C,KAAAA,CAAM2C,gBAAAA,CAAAA;AAEV;;;;"}
|
|
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: "
|
|
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: "
|
|
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: "
|
|
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: \"
|
|
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: "
|
|
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: "
|
|
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: \"
|
|
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":"
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
|
|
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: "
|
|
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
|
-
|
|
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 {
|
|
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
|
|
4
|
+
type DeltaPriceUpdateParams = {
|
|
5
5
|
priceMode: "delta";
|
|
6
6
|
price: DeltaPrice | BridgePrice;
|
|
7
7
|
};
|
|
8
|
-
type
|
|
8
|
+
type MarketPriceUpdateParams = {
|
|
9
9
|
priceMode: "market";
|
|
10
10
|
price: OptimalRate;
|
|
11
11
|
};
|
|
12
|
-
type
|
|
13
|
-
type
|
|
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
|
-
|
|
21
|
-
|
|
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,
|
|
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
|
-
}):
|
|
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
|
-
}):
|
|
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
|
-
}):
|
|
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
|
|
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":"AACA,OAAO,EACL,KAAK,EACL,WAAW,EAIX,KAAK,eAAe,EACpB,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,gBAAgB,IAAI,OAAO,EAC3B,WAAW,EACZ,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAU,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAI1D,KAAK,wBAAwB,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAC7D,KAAK,gBAAgB,GAAG,YAAY,CAClC,wBAAwB,EACxB,WAAW,GAAG,cAAc,CAC7B,CAAC;AAEF,KAAK,gBAAgB,CAAC,KAAK,GAAG,UAAU,GAAG,WAAW,IAAI,IAAI,CAC5D,eAAe,CAAC,UAAU,GAAG,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,CAAC,EAC3E,UAAU,GAAG,SAAS,CACvB,CAAC;AACF,KAAK,gBAAgB,CAAC,KAAK,GAAG,UAAU,IAAI,cAAc,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAEzE,KAAK,oBAAoB,CAAC,KAAK,GAAG,UAAU,IAAI;IAC9C,WAAW,EAAE,gBAAgB,CAAC;IAC9B,KAAK,CAAC,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,wBAAwB,sBAAsB,CAAC;AAE5D,MAAM,MAAM,kBAAkB,GAAG,SAAS;IACxC,IAAI,EAAE,OAAO,wBAAwB;IACrC,OAAO,EAAE,MAAM;IACf,WAAW,EAAE,gBAAgB,GAAG;QAC9B,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB;CACF,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,GAAG,WAAW,EAAE,EACtD,WAAW,EACX,KAAK,EACL,OAAO,EACP,OAAO,GACR,EAAE,oBAAoB,CAAC,KAAK,CAAC,GAAG;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,gBAAgB,CAAC,KAAK,CAAC,
|
|
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
|
|
95
|
+
const result = useQuery(t5);
|
|
96
96
|
let t6;
|
|
97
|
-
if ($[18] !== queryKey || $[19] !==
|
|
97
|
+
if ($[18] !== queryKey || $[19] !== result) {
|
|
98
98
|
t6 = {
|
|
99
|
-
|
|
99
|
+
result,
|
|
100
100
|
queryKey
|
|
101
101
|
};
|
|
102
102
|
$[18] = queryKey;
|
|
103
|
-
$[19] =
|
|
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
|
|
198
|
-
|
|
199
|
-
|
|
197
|
+
function useDeltaPriceQueryKey({
|
|
198
|
+
priceParams,
|
|
199
|
+
chainId,
|
|
200
|
+
destChainId
|
|
200
201
|
}) {
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
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
|
-
|
|
236
|
-
|
|
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
|
-
|
|
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 };
|