@velora-dex/widget 0.2.5-dev.6 → 0.2.5-dev.8
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/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js +43 -42
- package/dist/components/widget/AppHeader/Activities/ActivitiesScreen.js.map +1 -1
- package/dist/components/widget/AppHeader/Activities/Drawers.d.ts +2 -1
- package/dist/components/widget/AppHeader/Activities/Drawers.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/Activities/Drawers.js +30 -32
- package/dist/components/widget/AppHeader/Activities/Drawers.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts +1 -3
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +114 -97
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts +3 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js +17 -14
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/AcrossTokenList.js.map +1 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.d.ts +1 -2
- package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.js +16 -17
- package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
- package/dist/components/widget/OrderExpiryInput/index.d.ts.map +1 -1
- package/dist/components/widget/OrderExpiryInput/index.js +76 -73
- package/dist/components/widget/OrderExpiryInput/index.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js +3 -0
- package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
- package/dist/components/widget/ReceiverAddress/types.d.ts +2 -1
- package/dist/components/widget/ReceiverAddress/types.d.ts.map +1 -1
- package/dist/components/widget/Screen/GenericScreen.d.ts.map +1 -1
- package/dist/components/widget/Screen/GenericScreen.js +9 -8
- package/dist/components/widget/Screen/GenericScreen.js.map +1 -1
- package/dist/components/widget/Screen/ScreenContainer.d.ts.map +1 -1
- package/dist/components/widget/Screen/ScreenContainer.js +7 -31
- package/dist/components/widget/Screen/ScreenContainer.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.d.ts.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js +5 -0
- package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.d.ts +3 -2
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.d.ts.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +2 -2
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +24 -20
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/FillOtcOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts +1 -1
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js +1 -1
- package/dist/components/widget/TradeOverview/LimitOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts +1 -1
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js +1 -1
- package/dist/components/widget/TradeOverview/OtcOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/utils/preWrap.d.ts +3 -3
- package/dist/components/widget/TradeOverview/utils/preWrap.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/utils/preWrap.js.map +1 -1
- package/dist/configurator/Configurator.d.ts.map +1 -1
- package/dist/configurator/components/FormPropsInputs.d.ts.map +1 -1
- package/dist/configurator/components/common/ButtonGroup.d.ts +12 -0
- package/dist/configurator/components/common/ButtonGroup.d.ts.map +1 -0
- package/dist/core/LimitOrderButton.d.ts.map +1 -1
- package/dist/core/LimitOrderButton.js +49 -23
- package/dist/core/LimitOrderButton.js.map +1 -1
- package/dist/core/Updaters.d.ts.map +1 -1
- package/dist/core/Updaters.js +22 -1
- package/dist/core/Updaters.js.map +1 -1
- package/dist/core/across/isCrosshcainPossible.d.ts +10 -0
- package/dist/core/across/isCrosshcainPossible.d.ts.map +1 -0
- package/dist/core/across/isCrosshcainPossible.js +41 -0
- package/dist/core/across/isCrosshcainPossible.js.map +1 -0
- package/dist/core/across/utils.d.ts +7 -3
- package/dist/core/across/utils.d.ts.map +1 -1
- package/dist/core/across/utils.js +10 -7
- package/dist/core/across/utils.js.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js +56 -33
- package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +72 -17
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
- package/dist/core/inputs/hooks/useTokenToInputProps.js +76 -66
- package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
- package/dist/core/inputs/state/common.d.ts +15 -3
- package/dist/core/inputs/state/common.d.ts.map +1 -1
- package/dist/core/inputs/state/common.js +51 -12
- package/dist/core/inputs/state/common.js.map +1 -1
- package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts.map +1 -1
- package/dist/core/inputs/state/selectedTokenActionsAtom.js +33 -44
- package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.d.ts +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
- package/dist/core/inputs/state/setTokenByAddressAtom.js +85 -21
- package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
- package/dist/core/inputs/state/types.d.ts +9 -1
- package/dist/core/inputs/state/types.d.ts.map +1 -1
- package/dist/core/limit/state/deadlineAtom.d.ts +10 -2
- package/dist/core/limit/state/deadlineAtom.d.ts.map +1 -1
- package/dist/core/limit/state/deadlineAtom.js +15 -8
- package/dist/core/limit/state/deadlineAtom.js.map +1 -1
- package/dist/core/limit/state/isCrosschainAtom.d.ts +3 -0
- package/dist/core/limit/state/isCrosschainAtom.d.ts.map +1 -0
- package/dist/core/limit/state/isCrosschainAtom.js +13 -0
- package/dist/core/limit/state/isCrosschainAtom.js.map +1 -0
- package/dist/core/limit/state/limitInputActionsAtom.d.ts +4 -1
- package/dist/core/limit/state/limitInputActionsAtom.d.ts.map +1 -1
- package/dist/core/limit/state/limitInputActionsAtom.js +6 -2
- package/dist/core/limit/state/limitInputActionsAtom.js.map +1 -1
- package/dist/core/limit/state/limitInputAmountAtom.js +1 -1
- package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
- package/dist/core/limit/state/limitTokenAtoms.d.ts +10 -0
- package/dist/core/limit/state/limitTokenAtoms.d.ts.map +1 -0
- package/dist/core/limit/state/limitTokenAtoms.js +17 -0
- package/dist/core/limit/state/limitTokenAtoms.js.map +1 -0
- package/dist/core/limit/state/receiverAddressAtom.d.ts +7 -0
- package/dist/core/limit/state/receiverAddressAtom.d.ts.map +1 -0
- package/dist/core/limit/state/receiverAddressAtom.js +40 -0
- package/dist/core/limit/state/receiverAddressAtom.js.map +1 -0
- package/dist/core/limit/state/selectedTokenActionsAtom.d.ts.map +1 -1
- package/dist/core/limit/state/selectedTokenActionsAtom.js +94 -18
- package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/limit/state/selectedTokenAtom.d.ts +0 -9
- package/dist/core/limit/state/selectedTokenAtom.d.ts.map +1 -1
- package/dist/core/limit/state/selectedTokenAtom.js +53 -21
- package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
- package/dist/core/limit/state/utils.d.ts +9 -1
- package/dist/core/limit/state/utils.d.ts.map +1 -1
- package/dist/core/limit/state/utils.js +44 -2
- package/dist/core/limit/state/utils.js.map +1 -1
- package/dist/core/limit/useLimitRate.d.ts +9 -0
- package/dist/core/limit/useLimitRate.d.ts.map +1 -1
- package/dist/core/limit/useLimitRate.js +145 -8
- package/dist/core/limit/useLimitRate.js.map +1 -1
- package/dist/core/limit/useLimitTokenFromInputProps.js +1 -1
- package/dist/core/limit/useLimitTokenFromInputProps.js.map +1 -1
- package/dist/core/limit/useLimitTokenSwitcherProps.js +1 -1
- package/dist/core/limit/useLimitTokenSwitcherProps.js.map +1 -1
- package/dist/core/limit/useLimitTokenToInputProps.d.ts.map +1 -1
- package/dist/core/limit/useLimitTokenToInputProps.js +132 -72
- package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
- package/dist/core/otc/state/deadlineAtom.d.ts +8 -3
- package/dist/core/otc/state/deadlineAtom.d.ts.map +1 -1
- package/dist/core/otc/state/deadlineAtom.js +16 -10
- package/dist/core/otc/state/deadlineAtom.js.map +1 -1
- package/dist/core/otc/state/otcInputActionsAtom.d.ts +4 -1
- package/dist/core/otc/state/otcInputActionsAtom.d.ts.map +1 -1
- package/dist/core/otc/state/otcInputActionsAtom.js +6 -2
- package/dist/core/otc/state/otcInputActionsAtom.js.map +1 -1
- package/dist/core/screen/hooks/useOnClickOutside.d.ts +2 -0
- package/dist/core/screen/hooks/useOnClickOutside.d.ts.map +1 -0
- package/dist/core/screen/hooks/useOnClickOutside.js +30 -0
- package/dist/core/screen/hooks/useOnClickOutside.js.map +1 -0
- package/dist/core/screen/screenByType.d.ts +1 -3
- package/dist/core/screen/screenByType.d.ts.map +1 -1
- package/dist/core/state/chainToAtom.d.ts +2 -0
- package/dist/core/state/chainToAtom.d.ts.map +1 -1
- package/dist/core/state/chainToAtom.js +37 -7
- package/dist/core/state/chainToAtom.js.map +1 -1
- package/dist/core/state/configEffectAtom.d.ts +0 -3
- package/dist/core/state/configEffectAtom.d.ts.map +1 -1
- package/dist/core/state/configEffectAtom.js +49 -37
- package/dist/core/state/configEffectAtom.js.map +1 -1
- package/dist/core/state/enabledChainsAtom.d.ts +3 -0
- package/dist/core/state/enabledChainsAtom.d.ts.map +1 -1
- package/dist/core/state/enabledChainsAtom.js.map +1 -1
- package/dist/core/state/getSelectableDestChains.d.ts +8 -0
- package/dist/core/state/getSelectableDestChains.d.ts.map +1 -0
- package/dist/core/state/getSelectableDestChains.js +34 -0
- package/dist/core/state/getSelectableDestChains.js.map +1 -0
- package/dist/events/getters/limit.d.ts.map +1 -1
- package/dist/events/getters/limit.js +5 -2
- package/dist/events/getters/limit.js.map +1 -1
- package/dist/events/hooks/useOnPriceUpdates.d.ts.map +1 -1
- package/dist/events/hooks/useOnPriceUpdates.js +37 -25
- package/dist/events/hooks/useOnPriceUpdates.js.map +1 -1
- package/dist/events/types/formInput.d.ts +1 -1
- package/dist/events/types/formInput.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.d.ts +2 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js +24 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.js.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts +6 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js +9 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/common.js.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.d.ts +4 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js +12 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.js.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts +19 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/types.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts +4 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.d.ts.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js +81 -0
- package/dist/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.js.map +1 -0
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +3 -0
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +2 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js +8 -7
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts +4 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +61 -43
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts +0 -2
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.js +6 -8
- package/dist/hooks/swap/prices/useTokenInputsFromPrice.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts +2 -0
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +54 -21
- package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
- package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js +1 -1
- package/dist/hooks/tokens/balances/useIsLimitOrderInsufficientBalance.js.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithFilter.d.ts +3 -1
- package/dist/hooks/tokens/useAllTokensWithFilter.d.ts.map +1 -1
- package/dist/hooks/tokens/useAllTokensWithFilter.js +25 -22
- package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
- package/dist/hooks/tokens/useTokensFromAcross.d.ts +3 -1
- package/dist/hooks/tokens/useTokensFromAcross.d.ts.map +1 -1
- package/dist/hooks/tokens/useTokensFromAcross.js +36 -25
- package/dist/hooks/tokens/useTokensFromAcross.js.map +1 -1
- package/dist/hooks/useAvailableCrosses.d.ts +7 -2
- package/dist/hooks/useAvailableCrosses.d.ts.map +1 -1
- package/dist/hooks/useAvailableCrosses.js +39 -25
- package/dist/hooks/useAvailableCrosses.js.map +1 -1
- package/dist/hooks/useBridgeInfo.d.ts +4 -1
- package/dist/hooks/useBridgeInfo.d.ts.map +1 -1
- package/dist/hooks/useBridgeInfo.js +26 -11
- package/dist/hooks/useBridgeInfo.js.map +1 -1
- package/dist/hooks/useClickOutside.d.ts +1 -1
- package/dist/hooks/useClickOutside.d.ts.map +1 -1
- package/dist/hooks/useClickOutside.js +27 -13
- package/dist/hooks/useClickOutside.js.map +1 -1
- package/dist/hooks/useIsCrosschainPossible.d.ts +3 -1
- package/dist/hooks/useIsCrosschainPossible.d.ts.map +1 -1
- package/dist/hooks/useIsCrosschainPossible.js +33 -22
- package/dist/hooks/useIsCrosschainPossible.js.map +1 -1
- package/dist/hooks/useSelectableDestChains.d.ts +5 -1
- package/dist/hooks/useSelectableDestChains.d.ts.map +1 -1
- package/dist/hooks/useSelectableDestChains.js +42 -36
- package/dist/hooks/useSelectableDestChains.js.map +1 -1
- package/dist/styles.css +3 -0
- package/package.json +2 -2
- package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.d.ts +0 -15
- package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.d.ts.map +0 -1
- package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.js +0 -92
- package/dist/hooks/swap/prices/delta/queries/useBridgeInfo.js.map +0 -1
|
@@ -6,36 +6,48 @@ import { queryClient } from '../../lib/queryClient.js';
|
|
|
6
6
|
import { DeltaPriceQueryKeyPrefix, isDeltaPrice } from '../../hooks/swap/prices/delta/queries/useDeltaPriceQuery.js';
|
|
7
7
|
import { MarketPriceQueryKeyPrefix } from '../../hooks/swap/prices/market/queries/useMarketPriceQuery.js';
|
|
8
8
|
import { useCurrentSwapPrice } from '../../hooks/swap/prices/useSwapPrices.js';
|
|
9
|
+
import { useTradeMode } from '../../core/state/tradeModeAtom.js';
|
|
9
10
|
|
|
10
11
|
function useOnPriceUpdates() {
|
|
11
|
-
const $ = distExports.c(
|
|
12
|
+
const $ = distExports.c(9);
|
|
12
13
|
const {
|
|
13
14
|
onPriceChange
|
|
14
15
|
} = useWidgetEvents();
|
|
16
|
+
const isSwapMode = useTradeMode() === "swap";
|
|
17
|
+
let t0;
|
|
18
|
+
if ($[0] !== isSwapMode) {
|
|
19
|
+
t0 = {
|
|
20
|
+
enabled: isSwapMode
|
|
21
|
+
};
|
|
22
|
+
$[0] = isSwapMode;
|
|
23
|
+
$[1] = t0;
|
|
24
|
+
} else {
|
|
25
|
+
t0 = $[1];
|
|
26
|
+
}
|
|
15
27
|
const {
|
|
16
28
|
queryKey
|
|
17
|
-
} = useCurrentSwapPrice();
|
|
29
|
+
} = useCurrentSwapPrice(t0);
|
|
18
30
|
const onPriceChangeRef = useRef(onPriceChange);
|
|
19
|
-
let t0;
|
|
20
31
|
let t1;
|
|
21
|
-
|
|
22
|
-
|
|
32
|
+
let t2;
|
|
33
|
+
if ($[2] !== onPriceChange) {
|
|
34
|
+
t1 = () => {
|
|
23
35
|
onPriceChangeRef.current = onPriceChange;
|
|
24
36
|
};
|
|
25
|
-
|
|
26
|
-
$[
|
|
27
|
-
$[
|
|
28
|
-
$[
|
|
37
|
+
t2 = [onPriceChange];
|
|
38
|
+
$[2] = onPriceChange;
|
|
39
|
+
$[3] = t1;
|
|
40
|
+
$[4] = t2;
|
|
29
41
|
} else {
|
|
30
|
-
|
|
31
|
-
|
|
42
|
+
t1 = $[3];
|
|
43
|
+
t2 = $[4];
|
|
32
44
|
}
|
|
33
|
-
useLayoutEffect(
|
|
45
|
+
useLayoutEffect(t1, t2);
|
|
34
46
|
const shouldSubscribe = !!onPriceChange;
|
|
35
|
-
let t2;
|
|
36
47
|
let t3;
|
|
37
|
-
|
|
38
|
-
|
|
48
|
+
let t4;
|
|
49
|
+
if ($[5] !== queryKey || $[6] !== shouldSubscribe) {
|
|
50
|
+
t3 = () => {
|
|
39
51
|
if (!shouldSubscribe) {
|
|
40
52
|
return;
|
|
41
53
|
}
|
|
@@ -44,14 +56,14 @@ function useOnPriceUpdates() {
|
|
|
44
56
|
enabled: false,
|
|
45
57
|
notifyOnChangeProps: ["data", "error", "isError", "isLoading", "isFetching"]
|
|
46
58
|
});
|
|
47
|
-
const unsubscribe = observer.subscribe((
|
|
59
|
+
const unsubscribe = observer.subscribe((t5) => {
|
|
48
60
|
const {
|
|
49
61
|
data: price,
|
|
50
62
|
isLoading,
|
|
51
63
|
isFetching,
|
|
52
64
|
isError,
|
|
53
65
|
error
|
|
54
|
-
} =
|
|
66
|
+
} = t5;
|
|
55
67
|
let priceMode;
|
|
56
68
|
if (queryKey[0] === MarketPriceQueryKeyPrefix) {
|
|
57
69
|
priceMode = "market";
|
|
@@ -88,16 +100,16 @@ function useOnPriceUpdates() {
|
|
|
88
100
|
});
|
|
89
101
|
return unsubscribe;
|
|
90
102
|
};
|
|
91
|
-
|
|
92
|
-
$[
|
|
93
|
-
$[
|
|
94
|
-
$[
|
|
95
|
-
$[
|
|
103
|
+
t4 = [queryKey, shouldSubscribe];
|
|
104
|
+
$[5] = queryKey;
|
|
105
|
+
$[6] = shouldSubscribe;
|
|
106
|
+
$[7] = t3;
|
|
107
|
+
$[8] = t4;
|
|
96
108
|
} else {
|
|
97
|
-
|
|
98
|
-
|
|
109
|
+
t3 = $[7];
|
|
110
|
+
t4 = $[8];
|
|
99
111
|
}
|
|
100
|
-
useLayoutEffect(
|
|
112
|
+
useLayoutEffect(t3, t4);
|
|
101
113
|
}
|
|
102
114
|
|
|
103
115
|
export { useOnPriceUpdates };
|
|
@@ -1 +1 @@
|
|
|
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","
|
|
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\";\nimport { useTradeMode } from \"@/core/state/tradeModeAtom\";\n\nexport function useOnPriceUpdates() {\n const { onPriceChange } = useWidgetEvents();\n const isSwapMode = useTradeMode() === \"swap\";\n // no need to constantly refetch swap market & delta prices when not in swap mode,\n // otherwise it adds up to delta crosschain price fetches in limit mode,\n // and runs the risk of rate limiting by the API\n const { queryKey } = useCurrentSwapPrice({ enabled: isSwapMode });\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","isSwapMode","useTradeMode","t0","enabled","queryKey","useCurrentSwapPrice","onPriceChangeRef","useRef","t1","t2","current","useLayoutEffect","shouldSubscribe","t3","t4","observer","QueryObserver","queryClient","notifyOnChangeProps","unsubscribe","subscribe","t5","data","price","isLoading","isFetching","isError","error","priceMode","MarketPriceQueryKeyPrefix","DeltaPriceQueryKeyPrefix","params","isDeltaPrice","event","name"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ type SwapFormInputBuy = Prettify<Omit<SwapFormState, "sendAmount" | "connectedAc
|
|
|
9
9
|
form: "swap";
|
|
10
10
|
}>;
|
|
11
11
|
export type SwapFormInput = SwapFormInputSell | SwapFormInputBuy;
|
|
12
|
-
export type LimitFormInput = Prettify<Omit<LimitOrderFormState, "connectedAccount"
|
|
12
|
+
export type LimitFormInput = Prettify<Omit<LimitOrderFormState, "connectedAccount"> & {
|
|
13
13
|
form: "limit";
|
|
14
14
|
}>;
|
|
15
15
|
export type OTCFormInput = Prettify<Omit<OTCOrderFormState, "connectedAccount"> & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formInput.d.ts","sourceRoot":"","sources":["../../../src/events/types/formInput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,8BAA8B,EAC9B,iCAAiC,EAClC,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,KAAK,iBAAiB,GAAG,QAAQ,CAC/B,IAAI,CAAC,aAAa,EAAE,eAAe,GAAG,kBAAkB,CAAC,GAAG;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CACF,CAAC;AACF,KAAK,gBAAgB,GAAG,QAAQ,CAC9B,IAAI,CAAC,aAAa,EAAE,YAAY,GAAG,kBAAkB,CAAC,GAAG;IACvD,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CACF,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAEjE,MAAM,MAAM,cAAc,GAAG,QAAQ,CACnC,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"formInput.d.ts","sourceRoot":"","sources":["../../../src/events/types/formInput.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,aAAa,EACb,8BAA8B,EAC9B,iCAAiC,EAClC,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,KAAK,iBAAiB,GAAG,QAAQ,CAC/B,IAAI,CAAC,aAAa,EAAE,eAAe,GAAG,kBAAkB,CAAC,GAAG;IAC1D,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd,CACF,CAAC;AACF,KAAK,gBAAgB,GAAG,QAAQ,CAC9B,IAAI,CAAC,aAAa,EAAE,YAAY,GAAG,kBAAkB,CAAC,GAAG;IACvD,IAAI,EAAE,KAAK,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd,CACF,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;AAEjE,MAAM,MAAM,cAAc,GAAG,QAAQ,CACnC,IAAI,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,GAAG;IAC9C,IAAI,EAAE,OAAO,CAAC;CACf,CACF,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,QAAQ,CACjC,IAAI,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,GAAG;IAC5C,IAAI,EAAE,KAAK,CAAC;CACb,CACF,CAAC;AAEF,KAAK,SAAS,GAAG;IACf,kBAAkB,EAAE,aAAa,GAAG,cAAc,GAAG,YAAY,CAAC;CACnE,CAAC;AAEF,KAAK,kBAAkB,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;AAGnD,MAAM,MAAM,iBAAiB,GAC3B,8BAA8B,CAAC,kBAAkB,CAAC,CAAC;AAGrD,MAAM,MAAM,oBAAoB,GAC9B,iCAAiC,CAAC,kBAAkB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridgeInfosLoadedAtom.d.ts","sourceRoot":"","sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.ts"],"names":[],"mappings":"AAmBA,eAAO,MAAM,qBAAqB,+BAMhC,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { atomWithQuery } from 'jotai-tanstack-query';
|
|
2
|
+
import { bridgeInfoQueryKey } from './common.js';
|
|
3
|
+
import { atom } from 'jotai';
|
|
4
|
+
|
|
5
|
+
const bridgeInfoQueryAtom = atomWithQuery(() => ({
|
|
6
|
+
queryKey: bridgeInfoQueryKey(),
|
|
7
|
+
enabled: false
|
|
8
|
+
}));
|
|
9
|
+
const bridgeInfoQueryLimitOrdersAtom = atomWithQuery(() => ({
|
|
10
|
+
queryKey: bridgeInfoQueryKey({
|
|
11
|
+
allowBridgeAndSwap: false
|
|
12
|
+
}),
|
|
13
|
+
enabled: false
|
|
14
|
+
}));
|
|
15
|
+
const bridgeInfosLoadedAtom = atom((get) => {
|
|
16
|
+
const bridgeInfoQuery = get(bridgeInfoQueryAtom);
|
|
17
|
+
if (!bridgeInfoQuery.data) return false;
|
|
18
|
+
const bridgeInfoQueryLimitOrders = get(bridgeInfoQueryLimitOrdersAtom);
|
|
19
|
+
if (!bridgeInfoQueryLimitOrders.data) return false;
|
|
20
|
+
return true;
|
|
21
|
+
});
|
|
22
|
+
|
|
23
|
+
export { bridgeInfosLoadedAtom };
|
|
24
|
+
//# sourceMappingURL=bridgeInfosLoadedAtom.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bridgeInfosLoadedAtom.js","sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/bridgeInfosLoadedAtom.ts"],"sourcesContent":["import { atomWithQuery } from \"jotai-tanstack-query\";\nimport { bridgeInfoQueryKey } from \"./common\";\nimport type { BridgeInfo } from \"@velora-dex/sdk\";\nimport { atom } from \"jotai\";\n\n// query atom that will change each time any of the query state changes\nconst bridgeInfoQueryAtom = atomWithQuery<BridgeInfo>(() => ({\n queryKey: bridgeInfoQueryKey(),\n enabled: false,\n}));\n\n// query atom specific to Crosschain Limit Orders query that will change each time any of the query state changes\nconst bridgeInfoQueryLimitOrdersAtom = atomWithQuery<BridgeInfo>(() => ({\n queryKey: bridgeInfoQueryKey({ allowBridgeAndSwap: false }),\n enabled: false,\n}));\n\n// derived atom that will only be updated when both bidgeInfo for swap and limit orders are loaded\n// subscribe to it to know when all crosschain tokens have been loaded\nexport const bridgeInfosLoadedAtom = atom<boolean>((get) => {\n const bridgeInfoQuery = get(bridgeInfoQueryAtom);\n if (!bridgeInfoQuery.data) return false;\n const bridgeInfoQueryLimitOrders = get(bridgeInfoQueryLimitOrdersAtom);\n if (!bridgeInfoQueryLimitOrders.data) return false;\n return true;\n});\n"],"names":["bridgeInfoQueryAtom","atomWithQuery","queryKey","bridgeInfoQueryKey","enabled","bridgeInfoQueryLimitOrdersAtom","allowBridgeAndSwap","bridgeInfosLoadedAtom","atom","get","bridgeInfoQuery","data","bridgeInfoQueryLimitOrders"],"mappings":";;;;AAMA,MAAMA,mBAAAA,GAAsBC,cAA0B,OAAO;AAAA,EAC3DC,UAAUC,kBAAAA,EAAmB;AAAA,EAC7BC,OAAAA,EAAS;AACX,CAAA,CAAE,CAAA;AAGF,MAAMC,8BAAAA,GAAiCJ,cAA0B,OAAO;AAAA,EACtEC,UAAUC,kBAAAA,CAAmB;AAAA,IAAEG,kBAAAA,EAAoB;AAAA,GAAO,CAAA;AAAA,EAC1DF,OAAAA,EAAS;AACX,CAAA,CAAE,CAAA;AAIK,MAAMG,qBAAAA,GAAwBC,KAAeC,CAAAA,GAAAA,KAAQ;AAC1D,EAAA,MAAMC,eAAAA,GAAkBD,IAAIT,mBAAmB,CAAA;AAC/C,EAAA,IAAI,CAACU,eAAAA,CAAgBC,IAAAA,EAAM,OAAO,KAAA;AAClC,EAAA,MAAMC,0BAAAA,GAA6BH,IAAIJ,8BAA8B,CAAA;AACrE,EAAA,IAAI,CAACO,0BAAAA,CAA2BD,IAAAA,EAAM,OAAO,KAAA;AAC7C,EAAA,OAAO,IAAA;AACT,CAAC;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { BridgeInfoQueryKeyType, BridgeInforInputParams } from './types';
|
|
2
|
+
export declare const defaultInputParams: {
|
|
3
|
+
allowBridgeAndSwap: true;
|
|
4
|
+
};
|
|
5
|
+
export declare function bridgeInfoQueryKey(inputParams?: BridgeInforInputParams): BridgeInfoQueryKeyType;
|
|
6
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAE9E,eAAO,MAAM,kBAAkB;;CAEG,CAAC;AAEnC,wBAAgB,kBAAkB,CAChC,WAAW,GAAE,sBAA2C,GACvD,sBAAsB,CAExB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
const defaultInputParams = {
|
|
2
|
+
allowBridgeAndSwap: true
|
|
3
|
+
};
|
|
4
|
+
function bridgeInfoQueryKey(inputParams = defaultInputParams) {
|
|
5
|
+
return ["swap/delta/bridge-info", inputParams];
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
export { bridgeInfoQueryKey, defaultInputParams };
|
|
9
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/common.ts"],"sourcesContent":["import type { BridgeInfoQueryKeyType, BridgeInforInputParams } from \"./types\";\n\nexport const defaultInputParams = {\n allowBridgeAndSwap: true,\n} satisfies BridgeInforInputParams;\n\nexport function bridgeInfoQueryKey(\n inputParams: BridgeInforInputParams = defaultInputParams\n): BridgeInfoQueryKeyType {\n return [\"swap/delta/bridge-info\", inputParams] as const;\n}\n"],"names":["defaultInputParams","allowBridgeAndSwap","bridgeInfoQueryKey","inputParams"],"mappings":"AAEO,MAAMA,kBAAAA,GAAqB;AAAA,EAChCC,kBAAAA,EAAoB;AACtB;AAEO,SAASC,kBAAAA,CACdC,cAAsCH,kBAAAA,EACd;AACxB,EAAA,OAAO,CAAC,0BAA0BG,WAAW,CAAA;AAC/C;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getBridgeInfoQueryData.d.ts","sourceRoot":"","sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAGlD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,cAAc,0BAI1D"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { queryClient } from '../../../../../../lib/queryClient.js';
|
|
2
|
+
import { bridgeInfoQueryKey } from './common.js';
|
|
3
|
+
|
|
4
|
+
function getBridgeInfoQueryData(mode) {
|
|
5
|
+
const inputParams = mode === "swap" ? void 0 : {
|
|
6
|
+
allowBridgeAndSwap: false
|
|
7
|
+
};
|
|
8
|
+
return queryClient.getQueryData(bridgeInfoQueryKey(inputParams));
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export { getBridgeInfoQueryData };
|
|
12
|
+
//# sourceMappingURL=getBridgeInfoQueryData.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getBridgeInfoQueryData.js","sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/getBridgeInfoQueryData.ts"],"sourcesContent":["import { queryClient } from \"@/lib/queryClient\";\nimport type { BridgeInfoMode } from \"./types\";\nimport type { BridgeInfo } from \"@velora-dex/sdk\";\nimport { bridgeInfoQueryKey } from \"./common\";\n\nexport function getBridgeInfoQueryData(mode: BridgeInfoMode) {\n const inputParams =\n mode === \"swap\" ? undefined : { allowBridgeAndSwap: false };\n return queryClient.getQueryData<BridgeInfo>(bridgeInfoQueryKey(inputParams));\n}\n"],"names":["getBridgeInfoQueryData","mode","inputParams","undefined","allowBridgeAndSwap","queryClient","getQueryData","bridgeInfoQueryKey"],"mappings":";;;AAKO,SAASA,uBAAuBC,IAAAA,EAAsB;AAC3D,EAAA,MAAMC,WAAAA,GACJD,IAAAA,KAAS,MAAA,GAASE,MAAAA,GAAY;AAAA,IAAEC,kBAAAA,EAAoB;AAAA,GAAM;AAC5D,EAAA,OAAOC,WAAAA,CAAYC,YAAAA,CAAyBC,kBAAAA,CAAmBL,WAAW,CAAC,CAAA;AAC7E;;;;"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
|
|
2
|
+
import { BridgeInfo } from '@velora-dex/sdk';
|
|
3
|
+
export type BridgeInfoReturn = BridgeInfo;
|
|
4
|
+
type BridgeInfoQueryParams<TData = BridgeInfoReturn> = Omit<UseQueryOptions<BridgeInfoReturn, Error, TData, BridgeInfoQueryKeyType>, "queryKey" | "queryFn">;
|
|
5
|
+
export type BridgeInfoQueryResult<TData = BridgeInfoReturn> = UseQueryResult<TData, Error>;
|
|
6
|
+
export type BridgeInfoQueryInput<TData = BridgeInfoReturn> = {
|
|
7
|
+
query?: BridgeInfoQueryParams<TData>;
|
|
8
|
+
input?: BridgeInforInputParams;
|
|
9
|
+
};
|
|
10
|
+
export type BridgeInfoQueryKeyType = [
|
|
11
|
+
"swap/delta/bridge-info",
|
|
12
|
+
BridgeInforInputParams
|
|
13
|
+
];
|
|
14
|
+
export type BridgeInforInputParams = {
|
|
15
|
+
allowBridgeAndSwap?: boolean;
|
|
16
|
+
};
|
|
17
|
+
export type BridgeInfoMode = "swap" | "limit";
|
|
18
|
+
export {};
|
|
19
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC;AAE1C,KAAK,qBAAqB,CAAC,KAAK,GAAG,gBAAgB,IAAI,IAAI,CACzD,eAAe,CAAC,gBAAgB,EAAE,KAAK,EAAE,KAAK,EAAE,sBAAsB,CAAC,EACvE,UAAU,GAAG,SAAS,CACvB,CAAC;AACF,MAAM,MAAM,qBAAqB,CAAC,KAAK,GAAG,gBAAgB,IAAI,cAAc,CAC1E,KAAK,EACL,KAAK,CACN,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,KAAK,GAAG,gBAAgB,IAAI;IAC3D,KAAK,CAAC,EAAE,qBAAqB,CAAC,KAAK,CAAC,CAAC;IACrC,KAAK,CAAC,EAAE,sBAAsB,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,wBAAwB;IACxB,sBAAsB;CACvB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { BridgeInfoQueryInput, BridgeInfoQueryResult, BridgeInfoReturn } from './types';
|
|
2
|
+
export type BridgeInfoMode = "swap" | "limit";
|
|
3
|
+
export declare function useBridgeInfoQuery<TData = BridgeInfoReturn>({ query, input, }?: BridgeInfoQueryInput<TData>): BridgeInfoQueryResult<TData>;
|
|
4
|
+
//# sourceMappingURL=useBridgeInfo.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBridgeInfo.d.ts","sourceRoot":"","sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,oBAAoB,EAEpB,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,OAAO,CAAC;AAE9C,wBAAgB,kBAAkB,CAAC,KAAK,GAAG,gBAAgB,EAAE,EAC3D,KAAK,EACL,KAA0B,GAC3B,GAAE,oBAAoB,CAAC,KAAK,CAAM,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAejE"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { d as distExports } from '../../../../../../_virtual/index.js';
|
|
2
|
+
import { useDeltaSDK } from '../../../../../useSDK.js';
|
|
3
|
+
import { useQuery } from '@tanstack/react-query';
|
|
4
|
+
import { defaultInputParams, bridgeInfoQueryKey } from './common.js';
|
|
5
|
+
|
|
6
|
+
function useBridgeInfoQuery(t0) {
|
|
7
|
+
const $ = distExports.c(13);
|
|
8
|
+
let t1;
|
|
9
|
+
if ($[0] !== t0) {
|
|
10
|
+
t1 = t0 === void 0 ? {} : t0;
|
|
11
|
+
$[0] = t0;
|
|
12
|
+
$[1] = t1;
|
|
13
|
+
} else {
|
|
14
|
+
t1 = $[1];
|
|
15
|
+
}
|
|
16
|
+
const {
|
|
17
|
+
query,
|
|
18
|
+
input: t2
|
|
19
|
+
} = t1;
|
|
20
|
+
const input = t2 === void 0 ? defaultInputParams : t2;
|
|
21
|
+
let t3;
|
|
22
|
+
if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
23
|
+
t3 = {
|
|
24
|
+
chainId: 1
|
|
25
|
+
};
|
|
26
|
+
$[2] = t3;
|
|
27
|
+
} else {
|
|
28
|
+
t3 = $[2];
|
|
29
|
+
}
|
|
30
|
+
const {
|
|
31
|
+
sdk
|
|
32
|
+
} = useDeltaSDK(t3);
|
|
33
|
+
let t4;
|
|
34
|
+
if ($[3] !== input) {
|
|
35
|
+
t4 = bridgeInfoQueryKey(input);
|
|
36
|
+
$[3] = input;
|
|
37
|
+
$[4] = t4;
|
|
38
|
+
} else {
|
|
39
|
+
t4 = $[4];
|
|
40
|
+
}
|
|
41
|
+
let t5;
|
|
42
|
+
if ($[5] !== input || $[6] !== sdk) {
|
|
43
|
+
t5 = (t62) => {
|
|
44
|
+
const {
|
|
45
|
+
signal
|
|
46
|
+
} = t62;
|
|
47
|
+
const bridgeInfo = sdk.getBridgeInfo(input, {
|
|
48
|
+
signal
|
|
49
|
+
});
|
|
50
|
+
return bridgeInfo;
|
|
51
|
+
};
|
|
52
|
+
$[5] = input;
|
|
53
|
+
$[6] = sdk;
|
|
54
|
+
$[7] = t5;
|
|
55
|
+
} else {
|
|
56
|
+
t5 = $[7];
|
|
57
|
+
}
|
|
58
|
+
const t6 = query?.enabled ?? true;
|
|
59
|
+
let t7;
|
|
60
|
+
if ($[8] !== query || $[9] !== t4 || $[10] !== t5 || $[11] !== t6) {
|
|
61
|
+
t7 = {
|
|
62
|
+
queryKey: t4,
|
|
63
|
+
queryFn: t5,
|
|
64
|
+
staleTime: Infinity,
|
|
65
|
+
gcTime: Infinity,
|
|
66
|
+
...query,
|
|
67
|
+
enabled: t6
|
|
68
|
+
};
|
|
69
|
+
$[8] = query;
|
|
70
|
+
$[9] = t4;
|
|
71
|
+
$[10] = t5;
|
|
72
|
+
$[11] = t6;
|
|
73
|
+
$[12] = t7;
|
|
74
|
+
} else {
|
|
75
|
+
t7 = $[12];
|
|
76
|
+
}
|
|
77
|
+
return useQuery(t7);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export { useBridgeInfoQuery };
|
|
81
|
+
//# sourceMappingURL=useBridgeInfo.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useBridgeInfo.js","sources":["../../../../../../../src/hooks/swap/prices/delta/queries/bridgeInfo/useBridgeInfo.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport { useQuery } from \"@tanstack/react-query\";\nimport { bridgeInfoQueryKey, defaultInputParams } from \"./common\";\nimport type {\n BridgeInfoQueryInput,\n BridgeInfoQueryKeyType,\n BridgeInfoQueryResult,\n BridgeInfoReturn,\n} from \"./types\";\n\nexport type BridgeInfoMode = \"swap\" | \"limit\";\n\nexport function useBridgeInfoQuery<TData = BridgeInfoReturn>({\n query,\n input = defaultInputParams,\n}: BridgeInfoQueryInput<TData> = {}): BridgeInfoQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId: 1 }); // chain doesn't matter for bridge info\n\n return useQuery<BridgeInfoReturn, Error, TData, BridgeInfoQueryKeyType>({\n queryKey: bridgeInfoQueryKey(input),\n queryFn: ({ signal }) => {\n const bridgeInfo = sdk.getBridgeInfo(input, { signal });\n return bridgeInfo;\n },\n // never changes during App session\n staleTime: Infinity,\n gcTime: Infinity,\n ...query,\n enabled: query?.enabled ?? true,\n });\n}\n"],"names":["useBridgeInfoQuery","t0","$","_c","t1","undefined","query","input","t2","defaultInputParams","t3","Symbol","for","chainId","sdk","useDeltaSDK","t4","bridgeInfoQueryKey","t5","t6","signal","bridgeInfo","getBridgeInfo","enabled","t7","queryKey","queryFn","staleTime","Infinity","gcTime","useQuery"],"mappings":";;;;;AAYO,SAAAA,mBAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAA,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAF,CAAAA,QAAAD,EAAAA,EAAA;AAAsDG,IAAAA,EAAAA,GAAAH,EAAAA,KAAAI,MAAAA,GAAA,EAG3B,GAH2BJ,EAAAA;AAG1BC,IAAAA,CAAAA,MAAAD,EAAAA;AAAAC,IAAAA,CAAAA,MAAAE,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAF,EAAA,CAAA,CAAA;AAAA,EAAA;AAH0B,EAAA,MAAA;AAAA,IAAAI,KAAAA;AAAAA,IAAAC,KAAAA,EAAAC;AAAAA,GAAA,GAAAJ,EAAAA;AAE3D,EAAA,MAAAG,KAAAA,GAAAC,EAAAA,KAAAH,MAAAA,GAAAI,kBAAAA,GAAAD,EAAAA;AAA0B,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAAR,EAAA,CAAA,CAAA,KAAAS,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAEEF,IAAAA,EAAAA,GAAA;AAAA,MAAAG,OAAAA,EAAW;AAAA,KAAE;AAACX,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAA,EAAA;AAA1C,EAAA,MAAA;AAAA,IAAAY;AAAAA,GAAA,GAAgBC,YAAYL,EAAc,CAAA;AAAE,EAAA,IAAAM,EAAAA;AAAA,EAAA,IAAAd,CAAAA,QAAAK,KAAAA,EAAA;AAGhCS,IAAAA,EAAAA,GAAAC,mBAAmBV,KAAK,CAAA;AAACL,IAAAA,CAAAA,MAAAK,KAAAA;AAAAL,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAgB,EAAAA;AAAA,EAAA,IAAAhB,EAAA,CAAA,CAAA,KAAAK,SAAAL,CAAAA,QAAAY,GAAAA,EAAA;AAC1BI,IAAAA,EAAAA,GAAAC,CAAAA,GAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAC;AAAAA,OAAA,GAAAD,GAAAA;AACR,MAAA,MAAAE,UAAAA,GAAmBP,GAAAA,CAAGQ,aAAAA,CAAef,KAAAA,EAAO;AAAA,QAAAa;AAAAA,OAAU,CAAA;AAAE,MAAA,OACjDC,UAAAA;AAAAA,IAAU,CAAA;AAClBnB,IAAAA,CAAAA,MAAAK,KAAAA;AAAAL,IAAAA,CAAAA,MAAAY,GAAAA;AAAAZ,IAAAA,CAAAA,MAAAgB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAhB,EAAA,CAAA,CAAA;AAAA,EAAA;AAKQ,EAAA,MAAAiB,EAAAA,GAAAb,OAAKiB,OAAAA,IAAL,IAAA;AAAsB,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAtB,CAAAA,CAAA,CAAA,CAAA,KAAAI,KAAAA,IAAAJ,EAAA,CAAA,CAAA,KAAAc,EAAAA,IAAAd,CAAAA,CAAA,EAAA,CAAA,KAAAgB,EAAAA,IAAAhB,CAAAA,SAAAiB,EAAAA,EAAA;AAVuCK,IAAAA,EAAAA,GAAA;AAAA,MAAAC,QAAAA,EAC5DT,EAAAA;AAAAA,MAAyBU,OAAAA,EAC1BR,EAAAA;AAAAA,MAGRS,SAAAA,EAEUC,QAAAA;AAAAA,MAAQC,MAAAA,EACXD,QAAAA;AAAAA,MAAQ,GACbtB,KAAAA;AAAAA,MAAKiB,OAAAA,EACCJ;AAAAA,KACX;AAACjB,IAAAA,CAAAA,MAAAI,KAAAA;AAAAJ,IAAAA,CAAAA,MAAAc,EAAAA;AAAAd,IAAAA,CAAAA,OAAAgB,EAAAA;AAAAhB,IAAAA,CAAAA,OAAAiB,EAAAA;AAAAjB,IAAAA,CAAAA,OAAAsB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAtB,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAXM4B,SAAiEN,EAWvE,CAAA;AAAC;;;;"}
|
|
@@ -76,6 +76,9 @@ export declare function useDeltaPriceQueryKey({ priceParams, chainId, destChainI
|
|
|
76
76
|
srcDecimals: number;
|
|
77
77
|
destDecimals?: number | undefined;
|
|
78
78
|
side?: ("SELL" | "BUY") | undefined;
|
|
79
|
+
includeBridges?: string[] | undefined;
|
|
80
|
+
excludeBridges?: string[] | undefined;
|
|
81
|
+
allowBridgeAndSwap?: boolean | undefined;
|
|
79
82
|
} & {
|
|
80
83
|
destChainId?: number;
|
|
81
84
|
};
|
|
@@ -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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"}
|
|
@@ -216,6 +216,7 @@ function useDeltaPriceQueryKey({
|
|
|
216
216
|
side: priceParams.side,
|
|
217
217
|
includeAgents: priceParams.includeAgents,
|
|
218
218
|
excludeAgents: priceParams.excludeAgents,
|
|
219
|
+
allowBridgeAndSwap: priceParams.allowBridgeAndSwap,
|
|
219
220
|
destChainId
|
|
220
221
|
};
|
|
221
222
|
const queryKey = [DeltaPriceQueryKeyPrefix, chainId, sanitizedPriceParams];
|
|
@@ -223,7 +224,7 @@ function useDeltaPriceQueryKey({
|
|
|
223
224
|
queryKey,
|
|
224
225
|
sanitizedPriceParams
|
|
225
226
|
};
|
|
226
|
-
}, [priceParams.beneficiary, priceParams.destDecimals, priceParams.destToken, priceParams.excludeAgents, priceParams.includeAgents, priceParams.partner, priceParams.side, priceParams.srcDecimals, priceParams.srcToken, priceParams.userAddress, chainId, debouncedAmount, destChainId]);
|
|
227
|
+
}, [priceParams.beneficiary, priceParams.destDecimals, priceParams.destToken, priceParams.excludeAgents, priceParams.includeAgents, priceParams.partner, priceParams.side, priceParams.srcDecimals, priceParams.srcToken, priceParams.userAddress, priceParams.allowBridgeAndSwap, chainId, debouncedAmount, destChainId]);
|
|
227
228
|
}
|
|
228
229
|
|
|
229
230
|
export { DeltaPriceQueryKeyPrefix, getLastDeltaPrice, isBridgePrice, isDataDeltaOrBridgePrice, isDeltaPrice, isLastDeltaPriceQueryInError, useDeltaPriceQuery, useDeltaPriceQueryForPrice, useDeltaPriceQueryKey, useSubscribeToDeltaPrice };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDeltaPriceQuery.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n Query,\n QueryClient,\n QueryObserver,\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useDebouncedValue } from \"@tanstack/react-pacer/debouncer\";\nimport type {\n DeltaPrice,\n BridgePrice,\n DeltaPriceParams as DParams,\n OptimalRate,\n} from \"@velora-dex/sdk\";\nimport { assert, type MarkOptional } from \"ts-essentials\";\nimport { useMemo } from \"react\";\n\n// overload is easier with input.destChainId\ntype RequiredDeltaPriceParams = Omit<DParams, \"destChainId\">;\ntype DeltaPriceParams = MarkOptional<\n RequiredDeltaPriceParams,\n \"destToken\" | \"destDecimals\" // destToken is not available in SwapForm initially\n>;\n\ntype DeltaQueryParams<TData = DeltaPrice | BridgePrice> = Omit<\n UseQueryOptions<DeltaPrice | BridgePrice, Error, TData, DeltaPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaQueryResult<TData = DeltaPrice> = UseQueryResult<TData, Error>;\n\ntype DeltaPriceQueryInput<TData = DeltaPrice> = {\n priceParams: DeltaPriceParams;\n query?: DeltaQueryParams<TData>;\n chainId: number;\n timeout?: number;\n};\n\nexport const DeltaPriceQueryKeyPrefix = \"swap/prices/delta\";\n\nexport type DeltaPriceQueryKey = readonly [\n base: typeof DeltaPriceQueryKeyPrefix,\n chainId: number,\n priceParams: DeltaPriceParams & {\n destChainId?: number;\n },\n];\n\n/**\n * 1. With destChainId: number -> returns BridgePrice\n * 2. With destChainId?: undefined -> returns DeltaPrice\n * 3. With destChainId?: number -> returns DeltaPrice | BridgePrice\n */\nexport function useDeltaPriceQuery<TData = BridgePrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: undefined;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({\n priceParams: _priceParams,\n query,\n chainId,\n timeout,\n destChainId,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n} {\n const { sdk } = useDeltaSDK({ chainId });\n\n const queryEnabled = query?.enabled ?? true;\n\n const { queryKey, sanitizedPriceParams } = useDeltaPriceQueryKey({\n priceParams: _priceParams,\n chainId,\n destChainId,\n });\n\n const result = useQuery<\n DeltaPrice | BridgePrice,\n Error,\n TData,\n DeltaPriceQueryKey\n >({\n queryKey,\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getDeltaPrice(sanitizedPriceParams, {\n signal,\n timeout,\n });\n return price;\n },\n ...query,\n enabled: queryEnabled && isPriceParamsValid(sanitizedPriceParams),\n });\n\n return { result, queryKey };\n}\n\nfunction isPriceParamsValid(\n priceParams: DeltaPriceParams\n): priceParams is RequiredDeltaPriceParams {\n return (\n !!priceParams.destToken &&\n !!priceParams.destDecimals &&\n Number(priceParams.amount) > 0\n );\n}\n\nexport function isDeltaPrice(\n price: OptimalRate | DeltaPrice\n): price is DeltaPrice {\n return \"bridge\" in price;\n}\n\nexport function isBridgePrice(\n price: DeltaPrice | BridgePrice\n): price is BridgePrice {\n return price.bridge.destinationChainId !== 0;\n}\n\ntype GetDeltaPriceQueryForPriceInput = {\n price: DeltaPrice | BridgePrice;\n chainId: number;\n};\n\ntype DeltaPriceQuery = Query<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n>;\n\ntype GetDeltaPriceQueryForPrice = (\n input: GetDeltaPriceQueryForPriceInput\n) =>\n | Query<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n >\n | undefined;\n\n// get query for a given deltaPrice\nexport function useDeltaPriceQueryForPrice(): GetDeltaPriceQueryForPrice {\n const queryClient = useQueryClient();\n\n return ({ chainId, price }) => {\n const queryKey: [DeltaPriceQueryKey[0], DeltaPriceQueryKey[1]] = [\n DeltaPriceQueryKeyPrefix,\n chainId,\n ];\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice\n >({\n queryKey,\n exact: false,\n predicate: (query) => {\n return query.state.data === price;\n },\n });\n\n return query as DeltaPriceQuery | undefined;\n };\n}\n\ntype SubscribeToDeltaPriceInput = {\n queryKey: DeltaPriceQueryKey;\n onData?: (data: DeltaPrice | BridgePrice) => void;\n onError?: (error: Error) => void;\n};\n\ntype SubscribeToDeltaPriceResult = (\n input: SubscribeToDeltaPriceInput\n) => () => void;\n\n// independently subscribe to a price query\nexport function useSubscribeToDeltaPrice(): SubscribeToDeltaPriceResult {\n const queryClient = useQueryClient();\n\n return ({ queryKey, onData, onError }) => {\n const observer = new QueryObserver<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n >(queryClient, {\n queryKey,\n // only receive updates from existing subscriptions\n enabled: false,\n });\n\n // return unsubscribe function\n return observer.subscribe((result) => {\n if (result.error) {\n onError?.(result.error);\n return;\n }\n if (result.data) {\n onData?.(result.data);\n }\n });\n };\n}\n\nfunction getLastDeltaPriceQuery(\n queryClient: QueryClient\n):\n | Query<DeltaPrice | BridgePrice, Error, DeltaPrice | BridgePrice>\n | undefined {\n return queryClient\n .getQueryCache()\n .find<DeltaPrice | BridgePrice, Error, DeltaPrice | BridgePrice>({\n queryKey: [DeltaPriceQueryKeyPrefix],\n exact: false,\n type: \"active\", // only the most recent query will be active\n });\n}\n\nexport function getLastDeltaPrice(\n queryClient: QueryClient\n): DeltaPrice | BridgePrice | undefined {\n const query = getLastDeltaPriceQuery(queryClient);\n\n return query?.state.data;\n}\n\nexport function isLastDeltaPriceQueryInError(\n queryClient: QueryClient\n): boolean {\n const query = getLastDeltaPriceQuery(queryClient);\n const error = query?.state.error;\n return !!error;\n}\n\nexport function isDataDeltaOrBridgePrice(\n price: unknown\n): price is DeltaPrice | BridgePrice {\n return (\n typeof price === \"object\" &&\n price !== null &&\n \"bridge\" in price &&\n \"srcToken\" in price &&\n \"destToken\" in price &&\n \"srcAmount\" in price &&\n \"destAmount\" in price\n );\n}\n\nexport function useDeltaPriceQueryKey({\n priceParams,\n chainId,\n destChainId,\n}: Pick<DeltaPriceQueryInput, \"priceParams\" | \"chainId\"> & {\n destChainId?: number;\n}) {\n \"use no memo\";\n\n // amount tends to change fast during input\n const [debouncedAmount] = useDebouncedValue(priceParams.amount, {\n wait: 500,\n });\n\n return useMemo(() => {\n // avoid passing unnecessary params to url?search and queryKey\n const sanitizedPriceParams: DeltaPriceParams & {\n destChainId?: number;\n } = {\n amount: debouncedAmount,\n srcToken: priceParams.srcToken,\n destToken: priceParams.destToken,\n srcDecimals: priceParams.srcDecimals,\n destDecimals: priceParams.destDecimals,\n userAddress: priceParams.userAddress,\n beneficiary: priceParams.beneficiary,\n partner: priceParams.partner,\n side: priceParams.side,\n includeAgents: priceParams.includeAgents,\n excludeAgents: priceParams.excludeAgents,\n destChainId: destChainId,\n };\n\n const queryKey: DeltaPriceQueryKey = [\n DeltaPriceQueryKeyPrefix,\n chainId,\n sanitizedPriceParams,\n ];\n\n return { queryKey, sanitizedPriceParams };\n }, [\n priceParams.beneficiary,\n priceParams.destDecimals,\n priceParams.destToken,\n priceParams.excludeAgents,\n priceParams.includeAgents,\n priceParams.partner,\n priceParams.side,\n priceParams.srcDecimals,\n priceParams.srcToken,\n priceParams.userAddress,\n chainId,\n debouncedAmount,\n destChainId,\n ]);\n}\n"],"names":["DeltaPriceQueryKeyPrefix","useDeltaPriceQuery","t0","$","_c","priceParams","_priceParams","query","chainId","timeout","destChainId","t1","sdk","useDeltaSDK","queryEnabled","enabled","t2","queryKey","sanitizedPriceParams","useDeltaPriceQueryKey","t3","t4","signal","assert","isPriceParamsValid","price","getDeltaPrice","t5","queryFn","result","useQuery","t6","destToken","destDecimals","Number","amount","isDeltaPrice","isBridgePrice","bridge","destinationChainId","useDeltaPriceQueryForPrice","queryClient","useQueryClient","queryCache","getQueryCache","query_0","find","exact","predicate","state","data","useSubscribeToDeltaPrice","onData","onError","observer","QueryObserver","subscribe","error","getLastDeltaPriceQuery","type","getLastDeltaPrice","isLastDeltaPriceQueryInError","isDataDeltaOrBridgePrice","debouncedAmount","useDebouncedValue","wait","useMemo","srcToken","srcDecimals","userAddress","beneficiary","partner","side","includeAgents","excludeAgents"],"mappings":";;;;;;;AAwCO,MAAMA,wBAAAA,GAA2B;AAgDjC,SAAAC,mBAAAC,EAAAA,EAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAA8D,EAAA,MAAA;AAAA,IAAAC,WAAAA,EAAAC,YAAAA;AAAAA,IAAAC,KAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAR,EAAAA;AAQpE,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAR,CAAAA,QAAAK,OAAAA,EAAA;AAI6BG,IAAAA,EAAAA,GAAA;AAAA,MAAAH;AAAAA,KAAU;AAACL,IAAAA,CAAAA,MAAAK,OAAAA;AAAAL,IAAAA,CAAAA,MAAAQ,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAR,EAAA,CAAA,CAAA;AAAA,EAAA;AAAvC,EAAA,MAAA;AAAA,IAAAS;AAAAA,GAAA,GAAgBC,YAAYF,EAAW,CAAA;AAEvC,EAAA,MAAAG,YAAAA,GAAqBP,OAAKQ,OAAAA,IAAL,IAAA;AAAuB,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAb,CAAAA,CAAA,CAAA,CAAA,KAAAG,YAAAA,IAAAH,CAAAA,QAAAK,OAAAA,IAAAL,CAAAA,CAAA,CAAA,CAAA,KAAAO,WAAAA,EAAA;AAEqBM,IAAAA,EAAAA,GAAA;AAAA,MAAAX,WAAAA,EAClDC,YAAAA;AAAAA,MAAYE,OAAAA;AAAAA,MAAAE;AAAAA,KAG3B;AAACP,IAAAA,CAAAA,MAAAG,YAAAA;AAAAH,IAAAA,CAAAA,MAAAK,OAAAA;AAAAL,IAAAA,CAAAA,MAAAO,WAAAA;AAAAP,IAAAA,CAAAA,MAAAa,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAb,EAAA,CAAA,CAAA;AAAA,EAAA;AAJD,EAAA,MAAA;AAAA,IAAAc,QAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAA2CC,sBAAsBH,EAIhE,CAAA;AAAE,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAAjB,CAAAA,CAAA,CAAA,CAAA,KAAAe,oBAAAA,IAAAf,CAAAA,QAAAS,GAAAA,IAAAT,CAAAA,CAAA,CAAA,CAAA,KAAAM,OAAAA,EAAA;AASQW,IAAAA,EAAAA,GAAAC,CAAAA,GAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAC;AAAAA,OAAA,GAAAD,GAAAA;AACRE,MAAAA,MAAAA,CAAOC,kBAAAA,CAAmBN,oBAAoB,CAAA,EAAG,uBAAuB,CAAA;AACxE,MAAA,MAAAO,KAAAA,GAAcb,GAAAA,CAAGc,aAAAA,CAAeR,oBAAAA,EAAsB;AAAA,QAAAI,MAAAA;AAAAA,QAAAb;AAAAA,OAGrD,CAAA;AAAE,MAAA,OACIgB,KAAAA;AAAAA,IAAK,CAAA;AACbtB,IAAAA,CAAAA,MAAAe,oBAAAA;AAAAf,IAAAA,CAAAA,MAAAS,GAAAA;AAAAT,IAAAA,CAAAA,MAAAM,OAAAA;AAAAN,IAAAA,CAAAA,MAAAiB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAjB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAkB,EAAAA;AAAA,EAAA,IAAAlB,EAAA,EAAA,CAAA,KAAAW,gBAAAX,CAAAA,SAAAe,oBAAAA,EAAA;AAEQG,IAAAA,EAAAA,GAAAP,YAAAA,IAAgBU,mBAAmBN,oBAAoB,CAAA;AAACf,IAAAA,CAAAA,OAAAW,YAAAA;AAAAX,IAAAA,CAAAA,OAAAe,oBAAAA;AAAAf,IAAAA,CAAAA,OAAAkB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAlB,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAwB,EAAAA;AAAA,EAAA,IAAAxB,CAAAA,CAAA,EAAA,CAAA,KAAAI,KAAAA,IAAAJ,EAAA,EAAA,CAAA,KAAAc,QAAAA,IAAAd,CAAAA,CAAA,EAAA,CAAA,KAAAiB,EAAAA,IAAAjB,CAAAA,SAAAkB,EAAAA,EAAA;AAXjEM,IAAAA,EAAAA,GAAA;AAAA,MAAAV,QAAAA;AAAAA,MAAAW,OAAAA,EAESR,EAAAA;AAAAA,MAOR,GACEb,KAAAA;AAAAA,MAAKQ,OAAAA,EACCM;AAAAA,KACX;AAAClB,IAAAA,CAAAA,OAAAI,KAAAA;AAAAJ,IAAAA,CAAAA,OAAAc,QAAAA;AAAAd,IAAAA,CAAAA,OAAAiB,EAAAA;AAAAjB,IAAAA,CAAAA,OAAAkB,EAAAA;AAAAlB,IAAAA,CAAAA,OAAAwB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAxB,EAAA,EAAA,CAAA;AAAA,EAAA;AAjBD,EAAA,MAAA0B,MAAAA,GAAeC,SAKbH,EAYD,CAAA;AAAE,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAA5B,EAAA,EAAA,CAAA,KAAAc,YAAAd,CAAAA,SAAA0B,MAAAA,EAAA;AAEIE,IAAAA,EAAAA,GAAA;AAAA,MAAAF,MAAAA;AAAAA,MAAAZ;AAAAA,KAAmB;AAACd,IAAAA,CAAAA,OAAAc,QAAAA;AAAAd,IAAAA,CAAAA,OAAA0B,MAAAA;AAAA1B,IAAAA,CAAAA,OAAA4B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA5B,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAApB4B,EAAAA;AAAoB;AAG7B,SAASP,mBACPnB,WAAAA,EACyC;AACzC,EAAA,OACE,CAAC,CAACA,WAAAA,CAAY2B,SAAAA,IACd,CAAC,CAAC3B,WAAAA,CAAY4B,YAAAA,IACdC,MAAAA,CAAO7B,WAAAA,CAAY8B,MAAM,CAAA,GAAI,CAAA;AAEjC;AAEO,SAASC,aACdX,KAAAA,EACqB;AACrB,EAAA,OAAO,QAAA,IAAYA,KAAAA;AACrB;AAEO,SAASY,cACdZ,KAAAA,EACsB;AACtB,EAAA,OAAOA,KAAAA,CAAMa,OAAOC,kBAAAA,KAAuB,CAAA;AAC7C;AA0BO,SAAAC,0BAAAA,GAAA;AAAA,EAAA,MAAArC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAAqC,cAAoBC,cAAAA,EAAe;AAAE,EAAA,IAAAxC,EAAAA;AAAA,EAAA,IAAAC,CAAAA,QAAAsC,WAAAA,EAAA;AAE9BvC,IAAAA,EAAAA,GAAAS,CAAAA,EAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAH,OAAAA;AAAAA,QAAAiB;AAAAA,OAAA,GAAAd,EAAAA;AACN,MAAA,MAAAM,QAAAA,GAAiE,CAC/DjB,wBAAAA,EACAQ,OAAO,CAAA;AAET,MAAA,MAAAmC,UAAAA,GAAmBF,YAAWG,aAAAA,EAAe;AAC7C,MAAA,MAAAC,OAAAA,GAAcF,WAAUG,IAAAA,CAItB;AAAA,QAAA7B,QAAAA;AAAAA,QAAA8B,KAAAA,EAEO,KAAA;AAAA,QAAKC,SAAAA,EACDzC,CAAAA,KAAAA,KACFA,KAAAA,CAAK0C,KAAAA,CAAMC,IAAAA,KAAUzB;AAAAA,OAE/B,CAAA;AAAE,MAAA,OAEIlB,OAAAA;AAAAA,IAAoC,CAAA;AAC5CJ,IAAAA,CAAAA,MAAAsC,WAAAA;AAAAtC,IAAAA,CAAAA,MAAAD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAC,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAnBMD,EAAAA;AAmBN;AAcI,SAAAiD,wBAAAA,GAAA;AAAA,EAAA,MAAAhD,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACL,EAAA,MAAAqC,cAAoBC,cAAAA,EAAe;AAAE,EAAA,IAAAxC,EAAAA;AAAA,EAAA,IAAAC,CAAAA,QAAAsC,WAAAA,EAAA;AAE9BvC,IAAAA,EAAAA,GAAAS,CAAAA,EAAAA,KAAA;AAAC,MAAA,MAAA;AAAA,QAAAM,QAAAA;AAAAA,QAAAmC,MAAAA;AAAAA,QAAAC;AAAAA,OAAA,GAAA1C,EAAAA;AACN,MAAA,MAAA2C,QAAAA,GAAiB,IAAIC,aAAAA,CAMnBd,WAAAA,EAAa;AAAA,QAAAxB,QAAAA;AAAAA,QAAAF,OAAAA,EAGJ;AAAA,OACV,CAAA;AAAE,MAAA,OAGIuC,QAAAA,CAAQE,UAAW3B,CAAAA,MAAAA,KAAA;AACxB,QAAA,IAAIA,OAAM4B,KAAAA,EAAM;AACdJ,UAAAA,OAAAA,GAAUxB,OAAM4B,KAAM,CAAA;AAAC,UAAA;AAAA,QAAA;AAGzB,QAAA,IAAI5B,OAAMqB,IAAAA,EAAK;AACbE,UAAAA,MAAAA,GAASvB,OAAMqB,IAAK,CAAA;AAAA,QAAC;AAAA,MACtB,CACF,CAAA;AAAA,IAAC,CAAA;AACH/C,IAAAA,CAAAA,MAAAsC,WAAAA;AAAAtC,IAAAA,CAAAA,MAAAD,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAC,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAvBMD,EAAAA;AAuBN;AAGH,SAASwD,uBACPjB,WAAAA,EAGY;AACZ,EAAA,OAAOA,WAAAA,CACJG,aAAAA,EAAc,CACdE,IAAAA,CAAgE;AAAA,IAC/D7B,QAAAA,EAAU,CAACjB,wBAAwB,CAAA;AAAA,IACnC+C,KAAAA,EAAO,KAAA;AAAA,IACPY,IAAAA,EAAM;AAAA;AAAA,GACP,CAAA;AACL;AAEO,SAASC,kBACdnB,WAAAA,EACsC;AACtC,EAAA,MAAMlC,KAAAA,GAAQmD,uBAAuBjB,WAAW,CAAA;AAEhD,EAAA,OAAOlC,OAAO0C,KAAAA,CAAMC,IAAAA;AACtB;AAEO,SAASW,6BACdpB,WAAAA,EACS;AACT,EAAA,MAAMlC,KAAAA,GAAQmD,uBAAuBjB,WAAW,CAAA;AAChD,EAAA,MAAMgB,KAAAA,GAAQlD,OAAO0C,KAAAA,CAAMQ,KAAAA;AAC3B,EAAA,OAAO,CAAC,CAACA,KAAAA;AACX;AAEO,SAASK,yBACdrC,KAAAA,EACmC;AACnC,EAAA,OACE,OAAOA,KAAAA,KAAU,QAAA,IACjBA,KAAAA,KAAU,IAAA,IACV,QAAA,IAAYA,KAAAA,IACZ,UAAA,IAAcA,KAAAA,IACd,WAAA,IAAeA,KAAAA,IACf,WAAA,IAAeA,SACf,YAAA,IAAgBA,KAAAA;AAEpB;AAEO,SAASN,qBAAAA,CAAsB;AAAA,EACpCd,WAAAA;AAAAA,EACAG,OAAAA;AAAAA,EACAE;AAGF,CAAA,EAAG;AACD,EAAA,aAAA;AAGA,EAAA,MAAM,CAACqD,eAAe,CAAA,GAAIC,iBAAAA,CAAkB3D,YAAY8B,MAAAA,EAAQ;AAAA,IAC9D8B,IAAAA,EAAM;AAAA,GACP,CAAA;AAED,EAAA,OAAOC,QAAQ,MAAM;AAEnB,IAAA,MAAMhD,oBAAAA,GAEF;AAAA,MACFiB,MAAAA,EAAQ4B,eAAAA;AAAAA,MACRI,UAAU9D,WAAAA,CAAY8D,QAAAA;AAAAA,MACtBnC,WAAW3B,WAAAA,CAAY2B,SAAAA;AAAAA,MACvBoC,aAAa/D,WAAAA,CAAY+D,WAAAA;AAAAA,MACzBnC,cAAc5B,WAAAA,CAAY4B,YAAAA;AAAAA,MAC1BoC,aAAahE,WAAAA,CAAYgE,WAAAA;AAAAA,MACzBC,aAAajE,WAAAA,CAAYiE,WAAAA;AAAAA,MACzBC,SAASlE,WAAAA,CAAYkE,OAAAA;AAAAA,MACrBC,MAAMnE,WAAAA,CAAYmE,IAAAA;AAAAA,MAClBC,eAAepE,WAAAA,CAAYoE,aAAAA;AAAAA,MAC3BC,eAAerE,WAAAA,CAAYqE,aAAAA;AAAAA,MAC3BhE;AAAAA,KACF;AAEA,IAAA,MAAMO,QAAAA,GAA+B,CACnCjB,wBAAAA,EACAQ,OAAAA,EACAU,oBAAoB,CAAA;AAGtB,IAAA,OAAO;AAAA,MAAED,QAAAA;AAAAA,MAAUC;AAAAA,KAAqB;AAAA,EAC1C,CAAA,EAAG,CACDb,WAAAA,CAAYiE,WAAAA,EACZjE,WAAAA,CAAY4B,cACZ5B,WAAAA,CAAY2B,SAAAA,EACZ3B,WAAAA,CAAYqE,aAAAA,EACZrE,WAAAA,CAAYoE,aAAAA,EACZpE,YAAYkE,OAAAA,EACZlE,WAAAA,CAAYmE,IAAAA,EACZnE,WAAAA,CAAY+D,WAAAA,EACZ/D,WAAAA,CAAY8D,QAAAA,EACZ9D,WAAAA,CAAYgE,WAAAA,EACZ7D,OAAAA,EACAuD,eAAAA,EACArD,WAAW,CACZ,CAAA;AACH;;;;"}
|
|
1
|
+
{"version":3,"file":"useDeltaPriceQuery.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n Query,\n QueryClient,\n QueryObserver,\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useDebouncedValue } from \"@tanstack/react-pacer/debouncer\";\nimport type {\n DeltaPrice,\n BridgePrice,\n DeltaPriceParams as DParams,\n OptimalRate,\n} from \"@velora-dex/sdk\";\nimport { assert, type MarkOptional } from \"ts-essentials\";\nimport { useMemo } from \"react\";\n\n// overload is easier with input.destChainId\ntype RequiredDeltaPriceParams = Omit<DParams, \"destChainId\">;\ntype DeltaPriceParams = MarkOptional<\n RequiredDeltaPriceParams,\n \"destToken\" | \"destDecimals\" // destToken is not available in SwapForm initially\n>;\n\ntype DeltaQueryParams<TData = DeltaPrice | BridgePrice> = Omit<\n UseQueryOptions<DeltaPrice | BridgePrice, Error, TData, DeltaPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaQueryResult<TData = DeltaPrice> = UseQueryResult<TData, Error>;\n\ntype DeltaPriceQueryInput<TData = DeltaPrice> = {\n priceParams: DeltaPriceParams;\n query?: DeltaQueryParams<TData>;\n chainId: number;\n timeout?: number;\n};\n\nexport const DeltaPriceQueryKeyPrefix = \"swap/prices/delta\";\n\nexport type DeltaPriceQueryKey = readonly [\n base: typeof DeltaPriceQueryKeyPrefix,\n chainId: number,\n priceParams: DeltaPriceParams & {\n destChainId?: number;\n },\n];\n\n/**\n * 1. With destChainId: number -> returns BridgePrice\n * 2. With destChainId?: undefined -> returns DeltaPrice\n * 3. With destChainId?: number -> returns DeltaPrice | BridgePrice\n */\nexport function useDeltaPriceQuery<TData = BridgePrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: undefined;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n};\nexport function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({\n priceParams: _priceParams,\n query,\n chainId,\n timeout,\n destChainId,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: number;\n}): {\n result: DeltaQueryResult<TData>;\n queryKey: DeltaPriceQueryKey;\n} {\n const { sdk } = useDeltaSDK({ chainId });\n\n const queryEnabled = query?.enabled ?? true;\n\n const { queryKey, sanitizedPriceParams } = useDeltaPriceQueryKey({\n priceParams: _priceParams,\n chainId,\n destChainId,\n });\n\n const result = useQuery<\n DeltaPrice | BridgePrice,\n Error,\n TData,\n DeltaPriceQueryKey\n >({\n queryKey,\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getDeltaPrice(sanitizedPriceParams, {\n signal,\n timeout,\n });\n return price;\n },\n ...query,\n enabled: queryEnabled && isPriceParamsValid(sanitizedPriceParams),\n });\n\n return { result, queryKey };\n}\n\nfunction isPriceParamsValid(\n priceParams: DeltaPriceParams\n): priceParams is RequiredDeltaPriceParams {\n return (\n !!priceParams.destToken &&\n !!priceParams.destDecimals &&\n Number(priceParams.amount) > 0\n );\n}\n\nexport function isDeltaPrice(\n price: OptimalRate | DeltaPrice\n): price is DeltaPrice {\n return \"bridge\" in price;\n}\n\nexport function isBridgePrice(\n price: DeltaPrice | BridgePrice\n): price is BridgePrice {\n return price.bridge.destinationChainId !== 0;\n}\n\ntype GetDeltaPriceQueryForPriceInput = {\n price: DeltaPrice | BridgePrice;\n chainId: number;\n};\n\ntype DeltaPriceQuery = Query<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n>;\n\ntype GetDeltaPriceQueryForPrice = (\n input: GetDeltaPriceQueryForPriceInput\n) =>\n | Query<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n >\n | undefined;\n\n// get query for a given deltaPrice\nexport function useDeltaPriceQueryForPrice(): GetDeltaPriceQueryForPrice {\n const queryClient = useQueryClient();\n\n return ({ chainId, price }) => {\n const queryKey: [DeltaPriceQueryKey[0], DeltaPriceQueryKey[1]] = [\n DeltaPriceQueryKeyPrefix,\n chainId,\n ];\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice\n >({\n queryKey,\n exact: false,\n predicate: (query) => {\n return query.state.data === price;\n },\n });\n\n return query as DeltaPriceQuery | undefined;\n };\n}\n\ntype SubscribeToDeltaPriceInput = {\n queryKey: DeltaPriceQueryKey;\n onData?: (data: DeltaPrice | BridgePrice) => void;\n onError?: (error: Error) => void;\n};\n\ntype SubscribeToDeltaPriceResult = (\n input: SubscribeToDeltaPriceInput\n) => () => void;\n\n// independently subscribe to a price query\nexport function useSubscribeToDeltaPrice(): SubscribeToDeltaPriceResult {\n const queryClient = useQueryClient();\n\n return ({ queryKey, onData, onError }) => {\n const observer = new QueryObserver<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n >(queryClient, {\n queryKey,\n // only receive updates from existing subscriptions\n enabled: false,\n });\n\n // return unsubscribe function\n return observer.subscribe((result) => {\n if (result.error) {\n onError?.(result.error);\n return;\n }\n if (result.data) {\n onData?.(result.data);\n }\n });\n };\n}\n\nfunction getLastDeltaPriceQuery(\n queryClient: QueryClient\n):\n | Query<DeltaPrice | BridgePrice, Error, DeltaPrice | BridgePrice>\n | undefined {\n return queryClient\n .getQueryCache()\n .find<DeltaPrice | BridgePrice, Error, DeltaPrice | BridgePrice>({\n queryKey: [DeltaPriceQueryKeyPrefix],\n exact: false,\n type: \"active\", // only the most recent query will be active\n });\n}\n\nexport function getLastDeltaPrice(\n queryClient: QueryClient\n): DeltaPrice | BridgePrice | undefined {\n const query = getLastDeltaPriceQuery(queryClient);\n\n return query?.state.data;\n}\n\nexport function isLastDeltaPriceQueryInError(\n queryClient: QueryClient\n): boolean {\n const query = getLastDeltaPriceQuery(queryClient);\n const error = query?.state.error;\n return !!error;\n}\n\nexport function isDataDeltaOrBridgePrice(\n price: unknown\n): price is DeltaPrice | BridgePrice {\n return (\n typeof price === \"object\" &&\n price !== null &&\n \"bridge\" in price &&\n \"srcToken\" in price &&\n \"destToken\" in price &&\n \"srcAmount\" in price &&\n \"destAmount\" in price\n );\n}\n\nexport function useDeltaPriceQueryKey({\n priceParams,\n chainId,\n destChainId,\n}: Pick<DeltaPriceQueryInput, \"priceParams\" | \"chainId\"> & {\n destChainId?: number;\n}) {\n \"use no memo\";\n\n // amount tends to change fast during input\n const [debouncedAmount] = useDebouncedValue(priceParams.amount, {\n wait: 500,\n });\n\n return useMemo(() => {\n // avoid passing unnecessary params to url?search and queryKey\n const sanitizedPriceParams: DeltaPriceParams & {\n destChainId?: number;\n } = {\n amount: debouncedAmount,\n srcToken: priceParams.srcToken,\n destToken: priceParams.destToken,\n srcDecimals: priceParams.srcDecimals,\n destDecimals: priceParams.destDecimals,\n userAddress: priceParams.userAddress,\n beneficiary: priceParams.beneficiary,\n partner: priceParams.partner,\n side: priceParams.side,\n includeAgents: priceParams.includeAgents,\n excludeAgents: priceParams.excludeAgents,\n allowBridgeAndSwap: priceParams.allowBridgeAndSwap,\n destChainId: destChainId,\n };\n\n const queryKey: DeltaPriceQueryKey = [\n DeltaPriceQueryKeyPrefix,\n chainId,\n sanitizedPriceParams,\n ];\n\n return { queryKey, sanitizedPriceParams };\n }, [\n priceParams.beneficiary,\n priceParams.destDecimals,\n priceParams.destToken,\n priceParams.excludeAgents,\n priceParams.includeAgents,\n priceParams.partner,\n priceParams.side,\n priceParams.srcDecimals,\n priceParams.srcToken,\n priceParams.userAddress,\n priceParams.allowBridgeAndSwap,\n chainId,\n debouncedAmount,\n destChainId,\n ]);\n}\n"],"names":["DeltaPriceQueryKeyPrefix","useDeltaPriceQuery","t0","$","_c","priceParams","_priceParams","query","chainId","timeout","destChainId","t1","sdk","useDeltaSDK","queryEnabled","enabled","t2","queryKey","sanitizedPriceParams","useDeltaPriceQueryKey","t3","t4","signal","assert","isPriceParamsValid","price","getDeltaPrice","t5","queryFn","result","useQuery","t6","destToken","destDecimals","Number","amount","isDeltaPrice","isBridgePrice","bridge","destinationChainId","useDeltaPriceQueryForPrice","queryClient","useQueryClient","queryCache","getQueryCache","query_0","find","exact","predicate","state","data","useSubscribeToDeltaPrice","onData","onError","observer","QueryObserver","subscribe","error","getLastDeltaPriceQuery","type","getLastDeltaPrice","isLastDeltaPriceQueryInError","isDataDeltaOrBridgePrice","debouncedAmount","useDebouncedValue","wait","useMemo","srcToken","srcDecimals","userAddress","beneficiary","partner","side","includeAgents","excludeAgents","allowBridgeAndSwap"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePricesParams.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;
|
|
1
|
+
{"version":3,"file":"usePricesParams.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAI5E,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAQ5D,MAAM,MAAM,gBAAgB,GAAG,YAAY,CACzC,YAAY,CACV,IAAI,CACF,eAAe,EACb,UAAU,GACV,WAAW,GACX,QAAQ,GACR,aAAa,GACb,MAAM,GACN,aAAa,GACb,cAAc,GACd,SAAS,GACT,mBAAmB,GACnB,wBAAwB,GACxB,yBAAyB,GACzB,qBAAqB,CACxB,EACD,WAAW,CACZ,EACD,aAAa,GAAG,MAAM,CACvB,CAAC;AAIF,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG;IACrD,WAAW,EAAE,gBAAgB,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC,CAwDA"}
|
|
@@ -4,14 +4,12 @@ import '@tanstack/react-pacer/debouncer';
|
|
|
4
4
|
import '@tanstack/react-query';
|
|
5
5
|
import 'react';
|
|
6
6
|
import 'ts-essentials';
|
|
7
|
-
import { payInputAmountWeiAtom, receiveInputAmountWeiAtom } from '../../../core/inputs/state/inputAmountAtom.js';
|
|
8
7
|
import { useAtomValue } from '../../../core/store.js';
|
|
9
8
|
import { useAccount } from 'wagmi';
|
|
10
9
|
import { useSwapSide } from '../../../components/widget/SwapModeSwitcher/state/swapSideAtom.js';
|
|
11
|
-
import { useIsCrossChain } from '../../../core/state/isCrosschainAtom.js';
|
|
12
10
|
import { useTokenTaxFee } from '../../tokens/useTokenTaxFee.js';
|
|
13
11
|
import { usePartner } from '../../usePartner.js';
|
|
14
|
-
import { tradeModeToTokenAtoms } from '../../../core/inputs/state/common.js';
|
|
12
|
+
import { tradeModeToTokenAtoms, tradeModeToPayAmountWeiAtom, tradeModeToReceiveAmountWeiAtom } from '../../../core/inputs/state/common.js';
|
|
15
13
|
import { useWidgetConfig } from '../../../core/state/configAtom.js';
|
|
16
14
|
|
|
17
15
|
function usePricesParams(tradeMode) {
|
|
@@ -22,8 +20,10 @@ function usePricesParams(tradeMode) {
|
|
|
22
20
|
} = tradeModeToTokenAtoms[tradeMode];
|
|
23
21
|
const fromToken = useAtomValue(tokenFromAtom);
|
|
24
22
|
const toToken = useAtomValue(tokenToAtom);
|
|
25
|
-
const
|
|
26
|
-
const
|
|
23
|
+
const payAmountWeiAtom = tradeModeToPayAmountWeiAtom[tradeMode];
|
|
24
|
+
const receiveAmountWeiAtom = tradeModeToReceiveAmountWeiAtom[tradeMode];
|
|
25
|
+
const payAmountWei = useAtomValue(payAmountWeiAtom);
|
|
26
|
+
const receiveAmountWei = useAtomValue(receiveAmountWeiAtom) ?? "0";
|
|
27
27
|
let t0;
|
|
28
28
|
if ($[0] !== fromToken.address || $[1] !== fromToken.network) {
|
|
29
29
|
t0 = {
|
|
@@ -79,8 +79,9 @@ function usePricesParams(tradeMode) {
|
|
|
79
79
|
} = useAccount();
|
|
80
80
|
const widgetConfig = useWidgetConfig();
|
|
81
81
|
const partner = usePartner();
|
|
82
|
-
const isCrossChain =
|
|
83
|
-
const
|
|
82
|
+
const isCrossChain = !!toToken && fromToken.network !== toToken.network;
|
|
83
|
+
const swapSide = useSwapSide();
|
|
84
|
+
const side = tradeMode === "swap" ? swapSide : "SELL";
|
|
84
85
|
const amount = side === "SELL" ? payAmountWei : receiveAmountWei;
|
|
85
86
|
const t6 = toToken?.address;
|
|
86
87
|
const t7 = toToken?.decimals;
|