@velora-dex/widget 0.7.4-dev.1 → 0.8.1-dev.0
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/SearchInput/SearchInput.d.ts +9 -0
- package/dist/components/SearchInput/SearchInput.d.ts.map +1 -0
- package/dist/components/SearchInput/SearchInput.js +41 -0
- package/dist/components/SearchInput/SearchInput.js.map +1 -0
- package/dist/components/widget/AppHeader/AppHeader.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/AppHeader.js +6 -3
- package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
- package/dist/components/widget/BridgeList/BridgeProtocolsList.d.ts.map +1 -1
- package/dist/components/widget/BridgeList/BridgeProtocolsList.js +28 -47
- package/dist/components/widget/BridgeList/BridgeProtocolsList.js.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js +18 -40
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
- package/dist/components/widget/EnabledExchanges/EnabledExchanges.d.ts +3 -0
- package/dist/components/widget/EnabledExchanges/EnabledExchanges.d.ts.map +1 -0
- package/dist/components/widget/EnabledExchanges/EnabledExchanges.js +81 -0
- package/dist/components/widget/EnabledExchanges/EnabledExchanges.js.map +1 -0
- package/dist/components/widget/EnabledExchanges/EnabledExchangesList.d.ts +9 -0
- package/dist/components/widget/EnabledExchanges/EnabledExchangesList.d.ts.map +1 -0
- package/dist/components/widget/EnabledExchanges/EnabledExchangesList.js +40 -0
- package/dist/components/widget/EnabledExchanges/EnabledExchangesList.js.map +1 -0
- package/dist/components/widget/EnabledExchanges/types.d.ts +7 -0
- package/dist/components/widget/EnabledExchanges/types.d.ts.map +1 -0
- package/dist/components/widget/EnabledList/EnabledList.d.ts +18 -0
- package/dist/components/widget/EnabledList/EnabledList.d.ts.map +1 -0
- package/dist/components/widget/EnabledList/EnabledList.js +56 -0
- package/dist/components/widget/EnabledList/EnabledList.js.map +1 -0
- package/dist/components/widget/ListItem/ListItemWithSwitch.d.ts +7 -0
- package/dist/components/widget/ListItem/ListItemWithSwitch.d.ts.map +1 -0
- package/dist/components/widget/ListItem/ListItemWithSwitch.js +29 -0
- package/dist/components/widget/ListItem/ListItemWithSwitch.js.map +1 -0
- package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js +3 -3
- package/dist/components/widget/TradeParameters/EnabledExchangesParameters/EnabledExchangesParameters.d.ts +14 -0
- package/dist/components/widget/TradeParameters/EnabledExchangesParameters/EnabledExchangesParameters.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/EnabledExchangesParameters/EnabledExchangesParameters.js +39 -0
- package/dist/components/widget/TradeParameters/EnabledExchangesParameters/EnabledExchangesParameters.js.map +1 -0
- package/dist/components/widget/TradeParameters/EnabledExchangesParameters/useDraftEnabledExchangesState.d.ts +11 -0
- package/dist/components/widget/TradeParameters/EnabledExchangesParameters/useDraftEnabledExchangesState.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/EnabledExchangesParameters/useDraftEnabledExchangesState.js +28 -0
- package/dist/components/widget/TradeParameters/EnabledExchangesParameters/useDraftEnabledExchangesState.js.map +1 -0
- package/dist/components/widget/TradeParameters/TradeParameters.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/TradeParameters.js +61 -53
- package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
- package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js +14 -12
- package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/enabledExchanges/constants.d.ts +3 -0
- package/dist/components/widget/TradeParameters/state/enabledExchanges/constants.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/state/enabledExchanges/constants.js +7 -0
- package/dist/components/widget/TradeParameters/state/enabledExchanges/constants.js.map +1 -0
- package/dist/components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily.d.ts +14 -0
- package/dist/components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily.js +14 -0
- package/dist/components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily.js.map +1 -0
- package/dist/components/widget/TradeParameters/state/enabledExchanges/types.d.ts +7 -0
- package/dist/components/widget/TradeParameters/state/enabledExchanges/types.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes.d.ts +24 -0
- package/dist/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes.js +36 -0
- package/dist/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes.js.map +1 -0
- package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.d.ts +17 -1
- package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js +38 -13
- package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/types.d.ts +4 -0
- package/dist/components/widget/TradeParameters/state/types.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts +2 -0
- package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/useTempTradeParameters.js +114 -82
- package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
- package/dist/core/limit/useLimitRate.d.ts.map +1 -1
- package/dist/core/limit/useLimitRate.js +44 -43
- package/dist/core/limit/useLimitRate.js.map +1 -1
- package/dist/core/screen/screenByType.d.ts +1 -0
- package/dist/core/screen/screenByType.d.ts.map +1 -1
- package/dist/core/screen/screenByType.js +8 -6
- package/dist/core/screen/screenByType.js.map +1 -1
- package/dist/core/screen/state/hooks/useSetScreen.d.ts +2 -0
- package/dist/core/screen/state/hooks/useSetScreen.d.ts.map +1 -1
- package/dist/core/screen/state/hooks/useSetScreen.js +12 -4
- package/dist/core/screen/state/hooks/useSetScreen.js.map +1 -1
- package/dist/core/state/enabledChainsAtom.js +13 -13
- package/dist/events/getters/settings.d.ts.map +1 -1
- package/dist/events/getters/settings.js +18 -15
- package/dist/events/getters/settings.js.map +1 -1
- package/dist/events/types/common.d.ts +2 -0
- package/dist/events/types/common.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js +4 -4
- package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/index.js +9 -14
- package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/storage.js +1 -5
- package/dist/hooks/swap/prices/delta/orders/unposted/storage.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +8 -11
- package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +1 -1
- package/dist/hooks/swap/prices/market/queries/dexesList/types.d.ts +15 -0
- package/dist/hooks/swap/prices/market/queries/dexesList/types.d.ts.map +1 -0
- package/dist/hooks/swap/prices/market/queries/dexesList/useDexesList.d.ts +4 -0
- package/dist/hooks/swap/prices/market/queries/dexesList/useDexesList.d.ts.map +1 -0
- package/dist/hooks/swap/prices/market/queries/dexesList/useDexesList.js +37 -0
- package/dist/hooks/swap/prices/market/queries/dexesList/useDexesList.js.map +1 -0
- package/dist/hooks/swap/prices/usePricesParams.d.ts +2 -1
- package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js +13 -8
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
- package/dist/hooks/swap/prices/useSwapPrices.js +88 -83
- package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +24 -32
- package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js +33 -39
- package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +19 -19
- package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +26 -26
- package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js +180 -177
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
- package/dist/hooks/useSDK.d.ts +2 -2
- package/dist/hooks/useSDK.d.ts.map +1 -1
- package/dist/hooks/useSDK.js +30 -30
- package/dist/hooks/useSDK.js.map +1 -1
- package/dist/lib/constants/dexes.d.ts +3 -0
- package/dist/lib/constants/dexes.d.ts.map +1 -0
- package/dist/lib/constants/dexes.js +16 -0
- package/dist/lib/constants/dexes.js.map +1 -0
- package/dist/lib/utils/dexes.d.ts +1 -0
- package/dist/lib/utils/dexes.d.ts.map +1 -1
- package/dist/lib/utils/dexes.js +6 -2
- package/dist/lib/utils/dexes.js.map +1 -1
- package/dist/lib/utils/explorer.js +12 -12
- package/dist/lib/web3/wagmi/config.d.ts +18 -0
- package/dist/lib/web3/wagmi/config.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/config.js +6 -19
- package/dist/lib/web3/wagmi/config.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +4 -1
|
@@ -3,43 +3,44 @@ import { useDeltaPriceQuery as t } from "../../hooks/swap/prices/delta/queries/u
|
|
|
3
3
|
import { useMarketPriceQuery as n } from "../../hooks/swap/prices/market/queries/useMarketPriceQuery.js";
|
|
4
4
|
import { tradeModeToTokenAtoms as r, useWidgetTokens as i } from "../inputs/state/common.js";
|
|
5
5
|
import { useTokenPrice as a } from "../../hooks/tokens/prices/useTokenPrices.js";
|
|
6
|
-
import {
|
|
7
|
-
import { c
|
|
8
|
-
import { useMemo as
|
|
9
|
-
import { formatUnits as
|
|
10
|
-
import
|
|
6
|
+
import { useExtraMarketPriceParams as o, usePricesParams as s } from "../../hooks/swap/prices/usePricesParams.js";
|
|
7
|
+
import { c } from "react-compiler-runtime";
|
|
8
|
+
import { useMemo as l } from "react";
|
|
9
|
+
import { formatUnits as u, parseUnits as d } from "viem";
|
|
10
|
+
import f from "big.js";
|
|
11
11
|
//#region src/core/limit/useLimitRate.ts
|
|
12
|
-
var
|
|
13
|
-
let i =
|
|
14
|
-
i[0] ===
|
|
15
|
-
let
|
|
16
|
-
i[2] !==
|
|
17
|
-
...
|
|
18
|
-
|
|
12
|
+
var p = 6e4 * 5, m = (t) => {
|
|
13
|
+
let i = c(16), { enabled: a, refetchInterval: l, tradeMode: u } = t, f = a === void 0 ? !0 : a, m = l === void 0 ? p : l, h = e(r[u].tokenFromAtom), { priceParams: g, chainId: _ } = s(u), v = o(), y;
|
|
14
|
+
i[0] === h.decimals ? y = i[1] : (y = d("1", h.decimals).toString(), i[0] = h.decimals, i[1] = y);
|
|
15
|
+
let b;
|
|
16
|
+
i[2] !== v || i[3] !== g || i[4] !== y ? (b = {
|
|
17
|
+
...g,
|
|
18
|
+
...v,
|
|
19
|
+
amount: y,
|
|
19
20
|
side: "SELL",
|
|
20
21
|
ignoreBadUsdPrice: !0
|
|
21
|
-
}, i[2] =
|
|
22
|
-
let
|
|
23
|
-
i[
|
|
24
|
-
enabled:
|
|
25
|
-
refetchInterval:
|
|
22
|
+
}, i[2] = v, i[3] = g, i[4] = y, i[5] = b) : b = i[5];
|
|
23
|
+
let x = b, S;
|
|
24
|
+
i[6] !== f || i[7] !== m ? (S = {
|
|
25
|
+
enabled: f,
|
|
26
|
+
refetchInterval: m,
|
|
26
27
|
retry: !1,
|
|
27
28
|
refetchOnWindowFocus: !1,
|
|
28
29
|
refetchOnMount: !1
|
|
29
|
-
}, i[
|
|
30
|
-
let
|
|
31
|
-
i[
|
|
32
|
-
priceParams:
|
|
33
|
-
chainId:
|
|
34
|
-
query:
|
|
35
|
-
}, i[
|
|
36
|
-
let { result:
|
|
37
|
-
return i[
|
|
38
|
-
price:
|
|
39
|
-
isLoading:
|
|
40
|
-
}, i[
|
|
41
|
-
},
|
|
42
|
-
let n =
|
|
30
|
+
}, i[6] = f, i[7] = m, i[8] = S) : S = i[8];
|
|
31
|
+
let C;
|
|
32
|
+
i[9] !== _ || i[10] !== x || i[11] !== S ? (C = {
|
|
33
|
+
priceParams: x,
|
|
34
|
+
chainId: _,
|
|
35
|
+
query: S
|
|
36
|
+
}, i[9] = _, i[10] = x, i[11] = S, i[12] = C) : C = i[12];
|
|
37
|
+
let { result: w } = n(C), T;
|
|
38
|
+
return i[13] !== w.data || i[14] !== w.isLoading ? (T = {
|
|
39
|
+
price: w.data,
|
|
40
|
+
isLoading: w.isLoading
|
|
41
|
+
}, i[13] = w.data, i[14] = w.isLoading, i[15] = T) : T = i[15], T;
|
|
42
|
+
}, h = (e) => {
|
|
43
|
+
let n = c(17), { enabled: r, refetchInterval: i, tradeMode: a } = e, o = r === void 0 ? !0 : r, l = i === void 0 ? 1e4 : i, { priceParams: u, chainId: d, destChainId: f, isCrossChain: p } = s(a), m = o && a === "limit", h;
|
|
43
44
|
n[0] === u ? h = n[1] : (h = {
|
|
44
45
|
...u,
|
|
45
46
|
side: "SELL",
|
|
@@ -71,31 +72,31 @@ var f = 6e4 * 5, p = (t) => {
|
|
|
71
72
|
isLoading: x.isLoading,
|
|
72
73
|
error: x.error
|
|
73
74
|
}, n[13] = x.data, n[14] = x.error, n[15] = x.isLoading, n[16] = S) : S = n[16], S;
|
|
74
|
-
},
|
|
75
|
-
let { tokenFrom: t, tokenTo: n } = i(e), { data: r, isLoading: o } = a(t, { refetchInterval:
|
|
76
|
-
enabled: !_ && !
|
|
75
|
+
}, g = (e) => {
|
|
76
|
+
let { tokenFrom: t, tokenTo: n } = i(e), { data: r, isLoading: o } = a(t, { refetchInterval: p }), { data: s, isLoading: c } = a(n, { refetchInterval: p }), d = o || c, g = e === "limit" && n && n.network !== t.network, _ = !!(r && s), { price: v, isLoading: y } = m({
|
|
77
|
+
enabled: !_ && !d && !g,
|
|
77
78
|
tradeMode: e
|
|
78
|
-
}), { price: b, isLoading: x } =
|
|
79
|
+
}), { price: b, isLoading: x } = h({
|
|
79
80
|
enabled: g,
|
|
80
81
|
tradeMode: e
|
|
81
|
-
}), S =
|
|
82
|
-
return
|
|
82
|
+
}), S = d || y;
|
|
83
|
+
return l(() => {
|
|
83
84
|
if (!n) return { isLoading: S };
|
|
84
85
|
let e, i;
|
|
85
86
|
if (g) {
|
|
86
87
|
if (!b) return { isLoading: x };
|
|
87
|
-
let r =
|
|
88
|
-
return r === "0" || a === "0" ? (e = "0", i = "0") : (e =
|
|
88
|
+
let r = u(BigInt(b.srcAmount), t.decimals), a = u(BigInt(b.receivedDestAmount), n.decimals);
|
|
89
|
+
return r === "0" || a === "0" ? (e = "0", i = "0") : (e = f(a).div(r).toFixed(), i = f(r).div(a).toFixed()), {
|
|
89
90
|
rates: {
|
|
90
91
|
rate: e,
|
|
91
92
|
rateReversed: i
|
|
92
93
|
},
|
|
93
94
|
isLoading: x
|
|
94
95
|
};
|
|
95
|
-
} else if (_) r.price === 0 || s.price === 0 ? (e = "0", i = "0") : (e =
|
|
96
|
+
} else if (_) r.price === 0 || s.price === 0 ? (e = "0", i = "0") : (e = f(r.price).div(s.price).toFixed(), i = f(s.price).div(r.price).toFixed());
|
|
96
97
|
else if (v) {
|
|
97
|
-
let r =
|
|
98
|
-
e =
|
|
98
|
+
let r = u(BigInt(v.srcAmount), t.decimals), a = u(BigInt(v.destAmount), n.decimals);
|
|
99
|
+
e = f(a).div(r).toFixed(), i = f(r).div(a).toFixed();
|
|
99
100
|
}
|
|
100
101
|
return !e || !i ? { isLoading: S } : {
|
|
101
102
|
rates: {
|
|
@@ -118,6 +119,6 @@ var f = 6e4 * 5, p = (t) => {
|
|
|
118
119
|
]);
|
|
119
120
|
};
|
|
120
121
|
//#endregion
|
|
121
|
-
export {
|
|
122
|
+
export { h as useDeltaSwapPriceForLimit, g as useLimitRate };
|
|
122
123
|
|
|
123
124
|
//# sourceMappingURL=useLimitRate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useLimitRate.js","names":["useMarketPriceQuery","usePricesParams","FetchPriceParams","useTokenPrice","Big","parseUnits","formatUnits","useWidgetTokens","UseLimitRateResult","useAtomValue","tradeModeToTokenAtoms","useMemo","useDeltaPriceQuery","PRICE_REFETCH_INTERVAL","useSwapPriceForLimit","t0","$","_c","enabled","t1","refetchInterval","t2","tradeMode","undefined","tokenFrom","tokenFromAtom","priceParams","chainId","t3","decimals","toString","t4","amount","side","const","ignoreBadUsdPrice","priceParamsWithAmount","t5","retry","refetchOnWindowFocus","refetchOnMount","t6","query","result","marketPriceQuery","t7","data","isLoading","price","useDeltaSwapPriceForLimit","destChainId","isCrossChain","queryEnabled","crosschainPriceParams","isLimitOrder","allowBridgeAndSwap","deltaPriceQuery","error","useLimitRate","tokenTo","tokenFromPrice","isTokenFromPriceLoading","tokenToPrice","isTokenToPriceLoading","areFiatPricesLoading","isCrosschainLOrder","network","fiatPricesAvailable","fetchSwapPrice","swapPrice","isSwapPriceLoading","deltaCrosschainPrice","isDeltaCrosschainPriceLoading","isNonDeltaLoading","rate","rateReversed","srcUnits","BigInt","srcAmount","destUnits","receivedDestAmount","div","toFixed","rates","destAmount"],"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 \"@/core/store\";\nimport { tradeModeToTokenAtoms } from \"../inputs/state/common\";\nimport { useMemo } from \"react\";\nimport { useDeltaPriceQuery } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\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 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\nexport const useDeltaSwapPriceForLimit = ({\n enabled = true,\n refetchInterval = 10_000,\n tradeMode,\n}: {\n enabled?: boolean;\n refetchInterval?: number;\n tradeMode: \"limit\" | \"otc\";\n}) => {\n const { priceParams, chainId, destChainId, isCrossChain } =\n usePricesParams(tradeMode);\n\n // should fetch delta price for crosschain limit order?\n const queryEnabled = enabled && tradeMode === \"limit\";\n\n const crosschainPriceParams: FetchPriceParams = {\n // keep Limit tokenFrom amount because its gas sensitive\n ...priceParams,\n side: \"SELL\" as const,\n ignoreBadUsdPrice: true,\n };\n\n const isLimitOrder = tradeMode === \"limit\";\n\n // disable price routes for crosschain limit orders, as destChain-side swaps are not supported\n const allowBridgeAndSwap = isCrossChain && isLimitOrder ? false : undefined;\n\n const { result: deltaPriceQuery } = useDeltaPriceQuery({\n priceParams: {\n ...crosschainPriceParams,\n allowBridgeAndSwap,\n },\n chainId,\n destChainId,\n query: {\n enabled: queryEnabled,\n refetchInterval,\n retry: false,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n },\n });\n\n return {\n price: deltaPriceQuery.data,\n isLoading: deltaPriceQuery.isLoading,\n error: deltaPriceQuery.error,\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, {\n refetchInterval: PRICE_REFETCH_INTERVAL,\n });\n const { data: tokenToPrice, isLoading: isTokenToPriceLoading } =\n useTokenPrice(tokenTo, {\n refetchInterval: PRICE_REFETCH_INTERVAL,\n });\n\n const areFiatPricesLoading = isTokenFromPriceLoading || isTokenToPriceLoading;\n\n // for crosschain limit orders, use the delta price query to correctly set the starting price,\n // accounting for bridge fees, because ex. 1USDC=1USDT will never be possible\n const isCrosschainLOrder =\n tradeMode === \"limit\" && tokenTo && tokenTo.network !== tokenFrom.network;\n\n const fiatPricesAvailable = !!(tokenFromPrice && tokenToPrice);\n const fetchSwapPrice =\n !fiatPricesAvailable && !areFiatPricesLoading && !isCrosschainLOrder;\n\n const { price: swapPrice, isLoading: isSwapPriceLoading } =\n useSwapPriceForLimit({\n enabled: fetchSwapPrice,\n tradeMode,\n });\n\n const {\n price: deltaCrosschainPrice,\n isLoading: isDeltaCrosschainPriceLoading,\n } = useDeltaSwapPriceForLimit({\n enabled: isCrosschainLOrder,\n tradeMode,\n });\n\n const isNonDeltaLoading = areFiatPricesLoading || isSwapPriceLoading;\n\n return useMemo(() => {\n if (!tokenTo) {\n return { isLoading: isNonDeltaLoading };\n }\n\n let rate: string | undefined = undefined;\n let rateReversed: string | undefined = undefined;\n if (isCrosschainLOrder) {\n if (!deltaCrosschainPrice) {\n return { isLoading: isDeltaCrosschainPriceLoading };\n }\n const srcUnits = formatUnits(\n BigInt(deltaCrosschainPrice.srcAmount),\n tokenFrom.decimals\n );\n const destUnits = formatUnits(\n // amount on destChain accounting for decimals\n BigInt(deltaCrosschainPrice.receivedDestAmount),\n tokenTo.decimals\n );\n if (srcUnits === \"0\" || destUnits === \"0\") {\n rate = \"0\";\n rateReversed = \"0\";\n } else {\n rate = Big(destUnits).div(srcUnits).toFixed();\n rateReversed = Big(srcUnits).div(destUnits).toFixed();\n }\n\n return {\n rates: { rate, rateReversed },\n // for Crosschain price we care only about its loading state, not all others\n isLoading: isDeltaCrosschainPriceLoading,\n };\n } else if (fiatPricesAvailable) {\n if (tokenFromPrice.price === 0 || tokenToPrice.price === 0) {\n rate = \"0\";\n rateReversed = \"0\";\n } else {\n rate = Big(tokenFromPrice.price).div(tokenToPrice.price).toFixed();\n rateReversed = Big(tokenToPrice.price)\n .div(tokenFromPrice.price)\n .toFixed();\n }\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: isNonDeltaLoading };\n }\n\n return {\n rates: { rate, rateReversed },\n isLoading: isNonDeltaLoading,\n };\n }, [\n fiatPricesAvailable,\n isNonDeltaLoading,\n swapPrice,\n tokenFrom.decimals,\n tokenFromPrice?.price,\n tokenTo,\n tokenToPrice?.price,\n isCrosschainLOrder,\n deltaCrosschainPrice,\n isDeltaCrosschainPriceLoading,\n ]);\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useLimitRate.js","names":["useMarketPriceQuery","useExtraMarketPriceParams","usePricesParams","FetchPriceParams","useTokenPrice","Big","parseUnits","formatUnits","useWidgetTokens","UseLimitRateResult","useAtomValue","tradeModeToTokenAtoms","useMemo","useDeltaPriceQuery","PRICE_REFETCH_INTERVAL","useSwapPriceForLimit","t0","$","_c","enabled","t1","refetchInterval","t2","tradeMode","undefined","tokenFrom","tokenFromAtom","priceParams","chainId","extraPriceParams","t3","decimals","toString","t4","amount","side","const","ignoreBadUsdPrice","priceParamsWithAmount","t5","retry","refetchOnWindowFocus","refetchOnMount","t6","query","result","marketPriceQuery","t7","data","isLoading","price","useDeltaSwapPriceForLimit","destChainId","isCrossChain","queryEnabled","crosschainPriceParams","isLimitOrder","allowBridgeAndSwap","deltaPriceQuery","error","useLimitRate","tokenTo","tokenFromPrice","isTokenFromPriceLoading","tokenToPrice","isTokenToPriceLoading","areFiatPricesLoading","isCrosschainLOrder","network","fiatPricesAvailable","fetchSwapPrice","swapPrice","isSwapPriceLoading","deltaCrosschainPrice","isDeltaCrosschainPriceLoading","isNonDeltaLoading","rate","rateReversed","srcUnits","BigInt","srcAmount","destUnits","receivedDestAmount","div","toFixed","rates","destAmount"],"sources":["../../../src/core/limit/useLimitRate.ts"],"sourcesContent":["import { useMarketPriceQuery } from \"@/hooks/swap/prices/market/queries/useMarketPriceQuery\";\nimport {\n useExtraMarketPriceParams,\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 \"@/core/store\";\nimport { tradeModeToTokenAtoms } from \"../inputs/state/common\";\nimport { useMemo } from \"react\";\nimport { useDeltaPriceQuery } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\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 const extraPriceParams = useExtraMarketPriceParams();\n\n const priceParamsWithAmount: FetchPriceParams = {\n ...priceParams,\n ...extraPriceParams,\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 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\nexport const useDeltaSwapPriceForLimit = ({\n enabled = true,\n refetchInterval = 10_000,\n tradeMode,\n}: {\n enabled?: boolean;\n refetchInterval?: number;\n tradeMode: \"limit\" | \"otc\";\n}) => {\n const { priceParams, chainId, destChainId, isCrossChain } =\n usePricesParams(tradeMode);\n\n // should fetch delta price for crosschain limit order?\n const queryEnabled = enabled && tradeMode === \"limit\";\n\n const crosschainPriceParams: FetchPriceParams = {\n // keep Limit tokenFrom amount because its gas sensitive\n ...priceParams,\n side: \"SELL\" as const,\n ignoreBadUsdPrice: true,\n };\n\n const isLimitOrder = tradeMode === \"limit\";\n\n // disable price routes for crosschain limit orders, as destChain-side swaps are not supported\n const allowBridgeAndSwap = isCrossChain && isLimitOrder ? false : undefined;\n\n const { result: deltaPriceQuery } = useDeltaPriceQuery({\n priceParams: {\n ...crosschainPriceParams,\n allowBridgeAndSwap,\n },\n chainId,\n destChainId,\n query: {\n enabled: queryEnabled,\n refetchInterval,\n retry: false,\n refetchOnWindowFocus: false,\n refetchOnMount: false,\n },\n });\n\n return {\n price: deltaPriceQuery.data,\n isLoading: deltaPriceQuery.isLoading,\n error: deltaPriceQuery.error,\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, {\n refetchInterval: PRICE_REFETCH_INTERVAL,\n });\n const { data: tokenToPrice, isLoading: isTokenToPriceLoading } =\n useTokenPrice(tokenTo, {\n refetchInterval: PRICE_REFETCH_INTERVAL,\n });\n\n const areFiatPricesLoading = isTokenFromPriceLoading || isTokenToPriceLoading;\n\n // for crosschain limit orders, use the delta price query to correctly set the starting price,\n // accounting for bridge fees, because ex. 1USDC=1USDT will never be possible\n const isCrosschainLOrder =\n tradeMode === \"limit\" && tokenTo && tokenTo.network !== tokenFrom.network;\n\n const fiatPricesAvailable = !!(tokenFromPrice && tokenToPrice);\n const fetchSwapPrice =\n !fiatPricesAvailable && !areFiatPricesLoading && !isCrosschainLOrder;\n\n const { price: swapPrice, isLoading: isSwapPriceLoading } =\n useSwapPriceForLimit({\n enabled: fetchSwapPrice,\n tradeMode,\n });\n\n const {\n price: deltaCrosschainPrice,\n isLoading: isDeltaCrosschainPriceLoading,\n } = useDeltaSwapPriceForLimit({\n enabled: isCrosschainLOrder,\n tradeMode,\n });\n\n const isNonDeltaLoading = areFiatPricesLoading || isSwapPriceLoading;\n\n return useMemo(() => {\n if (!tokenTo) {\n return { isLoading: isNonDeltaLoading };\n }\n\n let rate: string | undefined = undefined;\n let rateReversed: string | undefined = undefined;\n if (isCrosschainLOrder) {\n if (!deltaCrosschainPrice) {\n return { isLoading: isDeltaCrosschainPriceLoading };\n }\n const srcUnits = formatUnits(\n BigInt(deltaCrosschainPrice.srcAmount),\n tokenFrom.decimals\n );\n const destUnits = formatUnits(\n // amount on destChain accounting for decimals\n BigInt(deltaCrosschainPrice.receivedDestAmount),\n tokenTo.decimals\n );\n if (srcUnits === \"0\" || destUnits === \"0\") {\n rate = \"0\";\n rateReversed = \"0\";\n } else {\n rate = Big(destUnits).div(srcUnits).toFixed();\n rateReversed = Big(srcUnits).div(destUnits).toFixed();\n }\n\n return {\n rates: { rate, rateReversed },\n // for Crosschain price we care only about its loading state, not all others\n isLoading: isDeltaCrosschainPriceLoading,\n };\n } else if (fiatPricesAvailable) {\n if (tokenFromPrice.price === 0 || tokenToPrice.price === 0) {\n rate = \"0\";\n rateReversed = \"0\";\n } else {\n rate = Big(tokenFromPrice.price).div(tokenToPrice.price).toFixed();\n rateReversed = Big(tokenToPrice.price)\n .div(tokenFromPrice.price)\n .toFixed();\n }\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: isNonDeltaLoading };\n }\n\n return {\n rates: { rate, rateReversed },\n isLoading: isNonDeltaLoading,\n };\n }, [\n fiatPricesAvailable,\n isNonDeltaLoading,\n swapPrice,\n tokenFrom.decimals,\n tokenFromPrice?.price,\n tokenTo,\n tokenToPrice?.price,\n isCrosschainLOrder,\n deltaCrosschainPrice,\n isDeltaCrosschainPriceLoading,\n ]);\n};\n"],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ export declare const screenByType: {
|
|
|
4
4
|
activities: () => import("react/jsx-runtime").JSX.Element;
|
|
5
5
|
compareQuotes: () => import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
bridgePreferences: ({ onGoBack: _onGoBack, onClose: _onClose, initialBridgePreference, initialDisabledBridges, }: import('../../components/widget/BridgePreferences/types').BridgePreferencesScreenProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
enabledExchanges: ({ onGoBack: _onGoBack, onClose: _onClose, initialDisabledDexes, }: import('../../components/widget/EnabledExchanges/types').EnabledExchangesScreenProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
8
|
};
|
|
8
9
|
export type ScreenType = keyof typeof screenByType;
|
|
9
10
|
export type FilledScreenState = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenByType.d.ts","sourceRoot":"","sources":["../../../src/core/screen/screenByType.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"screenByType.d.ts","sourceRoot":"","sources":["../../../src/core/screen/screenByType.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY;;;;;;;CAOxB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,YAAY,CAAC;AAInD,MAAM,MAAM,iBAAiB,GAAG;KAC7B,IAAI,IAAI,UAAU,GAAG;QACpB,UAAU,EAAE,IAAI,CAAC;QACjB,WAAW,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,OAAO,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;KAChE;CACF,CAAC,UAAU,CAAC,CAAC;AAEd,eAAO,MAAM,iCAAiC,EAAE,UAAU,EAGzD,CAAC"}
|
|
@@ -2,16 +2,18 @@ import { ActivitiesScreen as e } from "../../components/widget/AppHeader/Activit
|
|
|
2
2
|
import { BridgePreferencesScreen as t } from "../../components/widget/BridgePreferences/BridgePreferences.js";
|
|
3
3
|
import { CompareQuotesScreen as n } from "../../components/widget/CompareQuotes/CompareQuotes.js";
|
|
4
4
|
import { SelectTokenScreen as r } from "../../components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js";
|
|
5
|
-
import {
|
|
5
|
+
import { EnabledExchangesScreen as i } from "../../components/widget/EnabledExchanges/EnabledExchanges.js";
|
|
6
|
+
import { TradeOverviewScreen as a } from "../../components/widget/TradeOverview/TradeOverviewScreen.js";
|
|
6
7
|
//#region src/core/screen/screenByType.ts
|
|
7
|
-
var
|
|
8
|
+
var o = {
|
|
8
9
|
selectToken: r,
|
|
9
|
-
tradeOverview:
|
|
10
|
+
tradeOverview: a,
|
|
10
11
|
activities: e,
|
|
11
12
|
compareQuotes: n,
|
|
12
|
-
bridgePreferences: t
|
|
13
|
-
|
|
13
|
+
bridgePreferences: t,
|
|
14
|
+
enabledExchanges: i
|
|
15
|
+
}, s = ["selectToken", "activities"];
|
|
14
16
|
//#endregion
|
|
15
|
-
export {
|
|
17
|
+
export { o as screenByType, s as screenTypesClosableByOutsideClick };
|
|
16
18
|
|
|
17
19
|
//# sourceMappingURL=screenByType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenByType.js","names":["ActivitiesScreen","BridgePreferencesScreen","CompareQuotesScreen","SelectTokenScreen","TradeOverviewScreen","screenByType","selectToken","tradeOverview","activities","compareQuotes","bridgePreferences","ScreenType","FilledScreenState","screenType","Type","screenProps","React","ComponentProps","screenTypesClosableByOutsideClick"],"sources":["../../../src/core/screen/screenByType.ts"],"sourcesContent":["import { ActivitiesScreen } from \"@/components/widget/AppHeader/Activities/ActivitiesScreen\";\nimport { BridgePreferencesScreen } from \"@/components/widget/BridgePreferences/BridgePreferences\";\nimport { CompareQuotesScreen } from \"@/components/widget/CompareQuotes/CompareQuotes\";\nimport { SelectTokenScreen } from \"@/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog\";\nimport { TradeOverviewScreen } from \"@/components/widget/TradeOverview/TradeOverviewScreen\";\n\nexport const screenByType = {\n selectToken: SelectTokenScreen,\n tradeOverview: TradeOverviewScreen,\n activities: ActivitiesScreen,\n compareQuotes: CompareQuotesScreen,\n bridgePreferences: BridgePreferencesScreen,\n};\n\nexport type ScreenType = keyof typeof screenByType;\n\n// makes a union with exactly matching `{screenType, screenProps: {[screenType]: screenTypeProps}}`,\n// so that setScreen can only be used with one specific screenType per call\nexport type FilledScreenState = {\n [Type in ScreenType]: {\n screenType: Type;\n screenProps: React.ComponentProps<(typeof screenByType)[Type]>;\n };\n}[ScreenType];\n\nexport const screenTypesClosableByOutsideClick: ScreenType[] = [\n \"selectToken\",\n \"activities\",\n];\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"screenByType.js","names":["ActivitiesScreen","BridgePreferencesScreen","CompareQuotesScreen","SelectTokenScreen","EnabledExchangesScreen","TradeOverviewScreen","screenByType","selectToken","tradeOverview","activities","compareQuotes","bridgePreferences","enabledExchanges","ScreenType","FilledScreenState","screenType","Type","screenProps","React","ComponentProps","screenTypesClosableByOutsideClick"],"sources":["../../../src/core/screen/screenByType.ts"],"sourcesContent":["import { ActivitiesScreen } from \"@/components/widget/AppHeader/Activities/ActivitiesScreen\";\nimport { BridgePreferencesScreen } from \"@/components/widget/BridgePreferences/BridgePreferences\";\nimport { CompareQuotesScreen } from \"@/components/widget/CompareQuotes/CompareQuotes\";\nimport { SelectTokenScreen } from \"@/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog\";\nimport { EnabledExchangesScreen } from \"@/components/widget/EnabledExchanges/EnabledExchanges\";\nimport { TradeOverviewScreen } from \"@/components/widget/TradeOverview/TradeOverviewScreen\";\n\nexport const screenByType = {\n selectToken: SelectTokenScreen,\n tradeOverview: TradeOverviewScreen,\n activities: ActivitiesScreen,\n compareQuotes: CompareQuotesScreen,\n bridgePreferences: BridgePreferencesScreen,\n enabledExchanges: EnabledExchangesScreen,\n};\n\nexport type ScreenType = keyof typeof screenByType;\n\n// makes a union with exactly matching `{screenType, screenProps: {[screenType]: screenTypeProps}}`,\n// so that setScreen can only be used with one specific screenType per call\nexport type FilledScreenState = {\n [Type in ScreenType]: {\n screenType: Type;\n screenProps: React.ComponentProps<(typeof screenByType)[Type]>;\n };\n}[ScreenType];\n\nexport const screenTypesClosableByOutsideClick: ScreenType[] = [\n \"selectToken\",\n \"activities\",\n];\n"],"mappings":";;;;;;;AAOA,IAAaM,IAAe;CAC1BC,aAAaJ;CACbK,eAAeH;CACfI,YAAYT;CACZU,eAAeR;CACfS,mBAAmBV;CACnBW,kBAAkBR;CACnB,EAaYgB,IAAkD,CAC7D,eACA,aACD"}
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { SelectTokenScreenProps } from '../../../../components/widget/Dialog/SelectTokenDialog/SelectTokenDialog';
|
|
2
2
|
import { TradeOverviewScreenProps } from '../../../../components/widget/TradeOverview/TradeOverviewScreen';
|
|
3
3
|
import { BridgePreferencesScreenProps } from '../../../../components/widget/BridgePreferences/types';
|
|
4
|
+
import { EnabledExchangesScreenProps } from '../../../../components/widget/EnabledExchanges/types';
|
|
4
5
|
export type UseSetScreenResult = {
|
|
5
6
|
showSelectTokenScreen: (screenProps: SelectTokenScreenProps) => void;
|
|
6
7
|
showTradeOverviewScreen: (screenProps: TradeOverviewScreenProps) => void;
|
|
7
8
|
showActivitiesScreen: () => void;
|
|
8
9
|
showCompareQuotesScreen: () => void;
|
|
9
10
|
showBridgePreferencesScreen: (screenProps: BridgePreferencesScreenProps) => void;
|
|
11
|
+
showEnabledExchangesScreen: (screenProps: EnabledExchangesScreenProps) => void;
|
|
10
12
|
closeScreen: () => void;
|
|
11
13
|
};
|
|
12
14
|
export declare const useSetScreen: () => UseSetScreenResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSetScreen.d.ts","sourceRoot":"","sources":["../../../../../src/core/screen/state/hooks/useSetScreen.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAC;AAC7G,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AAEtG,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"useSetScreen.d.ts","sourceRoot":"","sources":["../../../../../src/core/screen/state/hooks/useSetScreen.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gEAAgE,CAAC;AAC7G,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uDAAuD,CAAC;AAEtG,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,6CAA6C,CAAC;AAChG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4CAA4C,CAAC;AAE9F,MAAM,MAAM,kBAAkB,GAAG;IAC/B,qBAAqB,EAAE,CAAC,WAAW,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACrE,uBAAuB,EAAE,CAAC,WAAW,EAAE,wBAAwB,KAAK,IAAI,CAAC;IACzE,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,uBAAuB,EAAE,MAAM,IAAI,CAAC;IACpC,2BAA2B,EAAE,CAC3B,WAAW,EAAE,4BAA4B,KACtC,IAAI,CAAC;IACV,0BAA0B,EAAE,CAC1B,WAAW,EAAE,2BAA2B,KACrC,IAAI,CAAC;IACV,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAGF,eAAO,MAAM,YAAY,QAAO,kBAiE/B,CAAC"}
|
|
@@ -3,7 +3,7 @@ import { screenAtom as t } from "../screenAtom.js";
|
|
|
3
3
|
import { c as n } from "react-compiler-runtime";
|
|
4
4
|
//#region src/core/screen/state/hooks/useSetScreen.ts
|
|
5
5
|
var r = () => {
|
|
6
|
-
let r = n(
|
|
6
|
+
let r = n(22), i = e(t), a;
|
|
7
7
|
r[0] === i ? a = r[1] : (a = () => {
|
|
8
8
|
i(null);
|
|
9
9
|
}, r[0] = i, r[1] = a);
|
|
@@ -43,14 +43,22 @@ var r = () => {
|
|
|
43
43
|
});
|
|
44
44
|
}, r[10] = i, r[11] = h);
|
|
45
45
|
let g = h, _;
|
|
46
|
-
|
|
46
|
+
r[12] === i ? _ = r[13] : (_ = (e) => {
|
|
47
|
+
i({
|
|
48
|
+
screenType: "enabledExchanges",
|
|
49
|
+
screenProps: e
|
|
50
|
+
});
|
|
51
|
+
}, r[12] = i, r[13] = _);
|
|
52
|
+
let v = _, y;
|
|
53
|
+
return r[14] !== o || r[15] !== f || r[16] !== g || r[17] !== m || r[18] !== v || r[19] !== c || r[20] !== u ? (y = {
|
|
47
54
|
closeScreen: o,
|
|
48
55
|
showSelectTokenScreen: c,
|
|
49
56
|
showTradeOverviewScreen: u,
|
|
50
57
|
showActivitiesScreen: f,
|
|
51
58
|
showCompareQuotesScreen: m,
|
|
52
|
-
showBridgePreferencesScreen: g
|
|
53
|
-
|
|
59
|
+
showBridgePreferencesScreen: g,
|
|
60
|
+
showEnabledExchangesScreen: v
|
|
61
|
+
}, r[14] = o, r[15] = f, r[16] = g, r[17] = m, r[18] = v, r[19] = c, r[20] = u, r[21] = y) : y = r[21], y;
|
|
54
62
|
};
|
|
55
63
|
//#endregion
|
|
56
64
|
export { r as useSetScreen };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSetScreen.js","names":["useSetAtom","SelectTokenScreenProps","TradeOverviewScreenProps","screenAtom","BridgePreferencesScreenProps","UseSetScreenResult","showSelectTokenScreen","screenProps","showTradeOverviewScreen","showActivitiesScreen","showCompareQuotesScreen","showBridgePreferencesScreen","closeScreen","useSetScreen","$","_c","setScreen","t0","t1","screenType","t2","screenProps_0","t3","t4","t5","screenProps_1","t6"],"sources":["../../../../../src/core/screen/state/hooks/useSetScreen.ts"],"sourcesContent":["import { useSetAtom } from \"@/core/store\";\nimport type { SelectTokenScreenProps } from \"@/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog\";\nimport type { TradeOverviewScreenProps } from \"@/components/widget/TradeOverview/TradeOverviewScreen\";\nimport { screenAtom } from \"../screenAtom\";\nimport type { BridgePreferencesScreenProps } from \"@/components/widget/BridgePreferences/types\";\n\nexport type UseSetScreenResult = {\n showSelectTokenScreen: (screenProps: SelectTokenScreenProps) => void;\n showTradeOverviewScreen: (screenProps: TradeOverviewScreenProps) => void;\n showActivitiesScreen: () => void;\n showCompareQuotesScreen: () => void;\n showBridgePreferencesScreen: (\n screenProps: BridgePreferencesScreenProps\n ) => void;\n closeScreen: () => void;\n};\n\n// Uses useSetAtom to avoid subscribing to atom changes (only provides setters, not values)\nexport const useSetScreen = (): UseSetScreenResult => {\n const setScreen = useSetAtom(screenAtom);\n\n const closeScreen = () => {\n setScreen(null);\n };\n\n const showSelectTokenScreen: UseSetScreenResult[\"showSelectTokenScreen\"] = (\n screenProps\n ) => {\n setScreen({\n screenType: \"selectToken\",\n screenProps,\n });\n };\n\n const showTradeOverviewScreen: UseSetScreenResult[\"showTradeOverviewScreen\"] =\n (screenProps) => {\n setScreen({\n screenType: \"tradeOverview\",\n screenProps,\n });\n };\n\n const showActivitiesScreen: UseSetScreenResult[\"showActivitiesScreen\"] =\n () => {\n setScreen({\n screenType: \"activities\",\n screenProps: {},\n });\n };\n\n const showCompareQuotesScreen: UseSetScreenResult[\"showCompareQuotesScreen\"] =\n () => {\n setScreen({\n screenType: \"compareQuotes\",\n screenProps: {},\n });\n };\n\n const showBridgePreferencesScreen: UseSetScreenResult[\"showBridgePreferencesScreen\"] =\n (screenProps) => {\n setScreen({\n screenType: \"bridgePreferences\",\n screenProps,\n });\n };\n\n return {\n closeScreen,\n showSelectTokenScreen,\n showTradeOverviewScreen,\n showActivitiesScreen,\n showCompareQuotesScreen,\n showBridgePreferencesScreen,\n };\n};\n"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"useSetScreen.js","names":["useSetAtom","SelectTokenScreenProps","TradeOverviewScreenProps","screenAtom","BridgePreferencesScreenProps","EnabledExchangesScreenProps","UseSetScreenResult","showSelectTokenScreen","screenProps","showTradeOverviewScreen","showActivitiesScreen","showCompareQuotesScreen","showBridgePreferencesScreen","showEnabledExchangesScreen","closeScreen","useSetScreen","$","_c","setScreen","t0","t1","screenType","t2","screenProps_0","t3","t4","t5","screenProps_1","t6","screenProps_2","t7"],"sources":["../../../../../src/core/screen/state/hooks/useSetScreen.ts"],"sourcesContent":["import { useSetAtom } from \"@/core/store\";\nimport type { SelectTokenScreenProps } from \"@/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog\";\nimport type { TradeOverviewScreenProps } from \"@/components/widget/TradeOverview/TradeOverviewScreen\";\nimport { screenAtom } from \"../screenAtom\";\nimport type { BridgePreferencesScreenProps } from \"@/components/widget/BridgePreferences/types\";\nimport type { EnabledExchangesScreenProps } from \"@/components/widget/EnabledExchanges/types\";\n\nexport type UseSetScreenResult = {\n showSelectTokenScreen: (screenProps: SelectTokenScreenProps) => void;\n showTradeOverviewScreen: (screenProps: TradeOverviewScreenProps) => void;\n showActivitiesScreen: () => void;\n showCompareQuotesScreen: () => void;\n showBridgePreferencesScreen: (\n screenProps: BridgePreferencesScreenProps\n ) => void;\n showEnabledExchangesScreen: (\n screenProps: EnabledExchangesScreenProps\n ) => void;\n closeScreen: () => void;\n};\n\n// Uses useSetAtom to avoid subscribing to atom changes (only provides setters, not values)\nexport const useSetScreen = (): UseSetScreenResult => {\n const setScreen = useSetAtom(screenAtom);\n\n const closeScreen = () => {\n setScreen(null);\n };\n\n const showSelectTokenScreen: UseSetScreenResult[\"showSelectTokenScreen\"] = (\n screenProps\n ) => {\n setScreen({\n screenType: \"selectToken\",\n screenProps,\n });\n };\n\n const showTradeOverviewScreen: UseSetScreenResult[\"showTradeOverviewScreen\"] =\n (screenProps) => {\n setScreen({\n screenType: \"tradeOverview\",\n screenProps,\n });\n };\n\n const showActivitiesScreen: UseSetScreenResult[\"showActivitiesScreen\"] =\n () => {\n setScreen({\n screenType: \"activities\",\n screenProps: {},\n });\n };\n\n const showCompareQuotesScreen: UseSetScreenResult[\"showCompareQuotesScreen\"] =\n () => {\n setScreen({\n screenType: \"compareQuotes\",\n screenProps: {},\n });\n };\n\n const showBridgePreferencesScreen: UseSetScreenResult[\"showBridgePreferencesScreen\"] =\n (screenProps) => {\n setScreen({\n screenType: \"bridgePreferences\",\n screenProps,\n });\n };\n\n const showEnabledExchangesScreen: UseSetScreenResult[\"showEnabledExchangesScreen\"] =\n (screenProps) => {\n setScreen({\n screenType: \"enabledExchanges\",\n screenProps,\n });\n };\n\n return {\n closeScreen,\n showSelectTokenScreen,\n showTradeOverviewScreen,\n showActivitiesScreen,\n showCompareQuotesScreen,\n showBridgePreferencesScreen,\n showEnabledExchangesScreen,\n };\n};\n"],"mappings":";;;;AAsBA,IAAae,UAAe;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAC1BC,IAAkBlB,EAAWG,EAAW,EAACgB;AAAA,CAAAH,EAAA,OAAAE,IAIxCC,IAAAH,EAAA,MAFmBG,UAAA;AAClBD,IAAU,KAAK;IAChBF,EAAA,KAAAE,GAAAF,EAAA,KAAAG;CAFD,IAAAL,IAAoBK,GAElBC;AAAA,CAAAJ,EAAA,OAAAE,IASDE,IAAAJ,EAAA,MAP0EI,KAAAZ,MAAA;AAGzEU,IAAU;GAAAG,YACI;GAAab;GAE1B,CAAC;IACHQ,EAAA,KAAAE,GAAAF,EAAA,KAAAI;CAPD,IAAAb,IAA2Ea,GAOzEE;AAAA,CAAAN,EAAA,OAAAE,IAQCI,IAAAN,EAAA,MALDM,KAAAC,MAAA;AACEL,IAAU;GAAAG,YACI;GAAeb,aAC3BA;GACD,CAAC;IACHQ,EAAA,KAAAE,GAAAF,EAAA,KAAAM;CANH,IAAAb,IACEa,GAKEE;AAAA,CAAAR,EAAA,OAAAE,IAQDM,IAAAR,EAAA,MALDQ,UAAA;AACEN,IAAU;GAAAG,YACI;GAAYb,aACX,EAAC;GACf,CAAC;IACHQ,EAAA,KAAAE,GAAAF,EAAA,KAAAQ;CANH,IAAAd,IACEc,GAKEC;AAAA,CAAAT,EAAA,OAAAE,IAQDO,IAAAT,EAAA,MALDS,UAAA;AACEP,IAAU;GAAAG,YACI;GAAeb,aACd,EAAC;GACf,CAAC;IACHQ,EAAA,KAAAE,GAAAF,EAAA,KAAAS;CANH,IAAAd,IACEc,GAKEC;AAAA,CAAAV,EAAA,QAAAE,IAQDQ,IAAAV,EAAA,OALDU,KAAAC,MAAA;AACET,IAAU;GAAAG,YACI;GAAmBb,aAC/BA;GACD,CAAC;IACHQ,EAAA,MAAAE,GAAAF,EAAA,MAAAU;CANH,IAAAd,IACEc,GAKEE;AAAA,CAAAZ,EAAA,QAAAE,IAQDU,IAAAZ,EAAA,OALDY,KAAAC,MAAA;AACEX,IAAU;GAAAG,YACI;GAAkBb,aAC9BA;GACD,CAAC;IACHQ,EAAA,MAAAE,GAAAF,EAAA,MAAAY;CANH,IAAAf,IACEe,GAKEE;AAUH,QAVGd,EAAA,QAAAF,KAAAE,EAAA,QAAAN,KAAAM,EAAA,QAAAJ,KAAAI,EAAA,QAAAL,KAAAK,EAAA,QAAAH,KAAAG,EAAA,QAAAT,KAAAS,EAAA,QAAAP,KAEGqB,IAAA;EAAAhB;EAAAP;EAAAE;EAAAC;EAAAC;EAAAC;EAAAC;EAQN,EAAAG,EAAA,MAAAF,GAAAE,EAAA,MAAAN,GAAAM,EAAA,MAAAJ,GAAAI,EAAA,MAAAL,GAAAK,EAAA,MAAAH,GAAAG,EAAA,MAAAT,GAAAS,EAAA,MAAAP,GAAAO,EAAA,MAAAc,KAAAA,IAAAd,EAAA,KARMc"}
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { useAtomValue as e } from "../store.js";
|
|
2
2
|
import { isFilledArray as t } from "../../lib/utils/tuple.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
3
|
+
import { supportedChainIds as n } from "../../lib/web3/wagmi/constants.js";
|
|
4
|
+
import { CHAINS_WITH_DELTA as r } from "../../lib/constants/delta.js";
|
|
5
|
+
import { destChainsAtom as i, srcChainsAtom as a } from "./configAtom.js";
|
|
6
|
+
import { getLogger as o } from "../logger.js";
|
|
7
7
|
import { isSupportedChainId as s } from "../../lib/web3/wagmi/utils.js";
|
|
8
8
|
import { CHAINS_WITH_OTC as c } from "../../lib/constants/otc.js";
|
|
9
9
|
import { c as l } from "react-compiler-runtime";
|
|
10
10
|
import { atom as u } from "jotai";
|
|
11
11
|
//#region src/core/state/enabledChainsAtom.ts
|
|
12
|
-
function d(e,
|
|
13
|
-
if (e.length === 0) return
|
|
14
|
-
let
|
|
12
|
+
function d(e, r) {
|
|
13
|
+
if (e.length === 0) return n;
|
|
14
|
+
let i = Array.from(new Set(e)), a = [], o = i.filter((e) => {
|
|
15
15
|
let t = s(e);
|
|
16
|
-
return t ||
|
|
17
|
-
}), c = !t(
|
|
18
|
-
return
|
|
16
|
+
return t || a.push(e), t;
|
|
17
|
+
}), c = !t(o);
|
|
18
|
+
return a.length > 0 && !c && r?.warn(`Specified unsupported IDs. Supported chain IDs are: ${n.join(", ")}`), c ? (r?.warn(`All specified IDs are unsupported. Supported IDs are: ${n.join(", ")}`), n) : o;
|
|
19
19
|
}
|
|
20
|
-
var f =
|
|
20
|
+
var f = o("ChainsState"), p = u((e) => d(e(a), f)), m = u((e) => d(e(i), f)), h = u((e) => {
|
|
21
21
|
let t = e(p), n = e(m);
|
|
22
22
|
return d([...t, ...n]);
|
|
23
23
|
}), g = () => e(p), _ = () => e(m), v = () => e(h), y = () => {
|
|
@@ -31,10 +31,10 @@ var f = a("ChainsState"), p = u((e) => d(e(i), f)), m = u((e) => d(e(r), f)), h
|
|
|
31
31
|
return e[0] === t ? n = e[1] : (n = t.filter(w), e[0] = t, e[1] = n), n;
|
|
32
32
|
};
|
|
33
33
|
function S(e) {
|
|
34
|
-
return
|
|
34
|
+
return r.includes(e);
|
|
35
35
|
}
|
|
36
36
|
function C(e) {
|
|
37
|
-
return
|
|
37
|
+
return r.includes(e);
|
|
38
38
|
}
|
|
39
39
|
function w(e) {
|
|
40
40
|
return c.includes(e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/events/getters/settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/events/getters/settings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAWpC,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAoB3D"}
|
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import { swapModeAtom as e } from "../../components/widget/SwapModeSwitcher/state/swapModeAtom.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
2
|
+
import { wagmiConfig as t } from "../../lib/web3/wagmi/config.js";
|
|
3
|
+
import { gasPresetAtom as n } from "../../components/widget/TradeParameters/state/gasPresetParamAtom.js";
|
|
4
|
+
import { slippageParamAtom as r } from "../../components/widget/TradeParameters/state/slippageParamAtom.js";
|
|
5
|
+
import { eip1559EnabledAtom as i } from "../../components/widget/TradeParameters/state/eip1559ParamAtom.js";
|
|
6
|
+
import { degenModeParamAtom as a } from "../../components/widget/TradeParameters/state/degenModeParamAtom.js";
|
|
7
|
+
import { bridgePreferenceAtom as o } from "../../components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js";
|
|
8
|
+
import { disabledBridgesAtom as s } from "../../components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js";
|
|
9
|
+
import { disabledDexesAtomFamily as c } from "../../components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily.js";
|
|
8
10
|
//#region src/events/getters/settings.ts
|
|
9
|
-
function
|
|
11
|
+
function l(l) {
|
|
10
12
|
return {
|
|
11
|
-
slippageTolerance:
|
|
12
|
-
transactionSpeed:
|
|
13
|
-
swapMode:
|
|
14
|
-
eip1559Enabled:
|
|
15
|
-
degenMode:
|
|
16
|
-
bridgePreference:
|
|
17
|
-
disabledBridges: s
|
|
13
|
+
slippageTolerance: l(r),
|
|
14
|
+
transactionSpeed: l(n),
|
|
15
|
+
swapMode: l(e),
|
|
16
|
+
eip1559Enabled: l(i),
|
|
17
|
+
degenMode: l(a),
|
|
18
|
+
bridgePreference: l(o),
|
|
19
|
+
disabledBridges: l(s),
|
|
20
|
+
disabledDexes: l(c(t.state.chainId))
|
|
18
21
|
};
|
|
19
22
|
}
|
|
20
23
|
//#endregion
|
|
21
|
-
export {
|
|
24
|
+
export { l as getSettingsState };
|
|
22
25
|
|
|
23
26
|
//# sourceMappingURL=settings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","names":["SettingsState","Getter","gasPresetAtom","slippageParamAtom","eip1559EnabledAtom","degenModeParamAtom","swapModeAtom","bridgePreferenceAtom","disabledBridgesAtom","getSettingsState","get","slippageTolerance","transactionSpeed","swapMode","eip1559Enabled","degenMode","bridgePreference","disabledBridges"],"sources":["../../../src/events/getters/settings.ts"],"sourcesContent":["import type { SettingsState } from \"../types/common\";\nimport type { Getter } from \"jotai\";\nimport { gasPresetAtom } from \"@/components/widget/TradeParameters/state/gasPresetParamAtom\";\nimport { slippageParamAtom } from \"@/components/widget/TradeParameters/state/slippageParamAtom\";\nimport { eip1559EnabledAtom } from \"@/components/widget/TradeParameters/state/eip1559ParamAtom\";\nimport { degenModeParamAtom } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { bridgePreferenceAtom } from \"@/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom\";\nimport { disabledBridgesAtom } from \"@/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom\";\n\nexport function getSettingsState(get: Getter): SettingsState {\n const slippageTolerance = get(slippageParamAtom);\n const transactionSpeed = get(gasPresetAtom);\n const swapMode = get(swapModeAtom);\n const eip1559Enabled = get(eip1559EnabledAtom);\n const degenMode = get(degenModeParamAtom);\n const bridgePreference = get(bridgePreferenceAtom);\n const disabledBridges = get(disabledBridgesAtom);\n\n return {\n slippageTolerance,\n transactionSpeed,\n swapMode,\n eip1559Enabled,\n degenMode,\n bridgePreference,\n disabledBridges,\n };\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"settings.js","names":["SettingsState","Getter","wagmiConfig","gasPresetAtom","slippageParamAtom","eip1559EnabledAtom","degenModeParamAtom","swapModeAtom","bridgePreferenceAtom","disabledBridgesAtom","disabledDexesAtomFamily","getSettingsState","get","slippageTolerance","transactionSpeed","swapMode","eip1559Enabled","degenMode","bridgePreference","disabledBridges","disabledDexes","state","chainId"],"sources":["../../../src/events/getters/settings.ts"],"sourcesContent":["import type { SettingsState } from \"../types/common\";\nimport type { Getter } from \"jotai\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport { gasPresetAtom } from \"@/components/widget/TradeParameters/state/gasPresetParamAtom\";\nimport { slippageParamAtom } from \"@/components/widget/TradeParameters/state/slippageParamAtom\";\nimport { eip1559EnabledAtom } from \"@/components/widget/TradeParameters/state/eip1559ParamAtom\";\nimport { degenModeParamAtom } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport { swapModeAtom } from \"@/components/widget/SwapModeSwitcher/state/swapModeAtom\";\nimport { bridgePreferenceAtom } from \"@/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom\";\nimport { disabledBridgesAtom } from \"@/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom\";\nimport { disabledDexesAtomFamily } from \"@/components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily\";\n\nexport function getSettingsState(get: Getter): SettingsState {\n const slippageTolerance = get(slippageParamAtom);\n const transactionSpeed = get(gasPresetAtom);\n const swapMode = get(swapModeAtom);\n const eip1559Enabled = get(eip1559EnabledAtom);\n const degenMode = get(degenModeParamAtom);\n const bridgePreference = get(bridgePreferenceAtom);\n const disabledBridges = get(disabledBridgesAtom);\n const disabledDexes = get(disabledDexesAtomFamily(wagmiConfig.state.chainId));\n\n return {\n slippageTolerance,\n transactionSpeed,\n swapMode,\n eip1559Enabled,\n degenMode,\n bridgePreference,\n disabledBridges,\n disabledDexes,\n };\n}\n"],"mappings":";;;;;;;;;;AAYA,SAAgBW,EAAiBC,GAA4B;AAU3D,QAAO;EACLC,mBAVwBD,EAAIR,EAAkB;EAW9CU,kBAVuBF,EAAIT,EAAc;EAWzCY,UAVeH,EAAIL,EAAa;EAWhCS,gBAVqBJ,EAAIP,EAAmB;EAW5CY,WAVgBL,EAAIN,EAAmB;EAWvCY,kBAVuBN,EAAIJ,EAAqB;EAWhDW,iBAVsBP,EAAIH,EAAoB;EAW9CW,eAVoBR,EAAIF,EAAwBR,EAAYmB,MAAMC,QAAQ,CAAC;EAW5E"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { SwapMode } from '../../components/widget/SwapModeSwitcher/state/types';
|
|
2
2
|
import { MinTradeFlowToken } from '../../components/widget/TradeOverview';
|
|
3
3
|
import { BridgePreference, DisabledBridges } from '../../components/widget/TradeParameters/state/bridgePreferences/types';
|
|
4
|
+
import { DisabledDexes } from '../../components/widget/TradeParameters/state/enabledExchanges/types';
|
|
4
5
|
import { TradeMode } from '../../core/state/tradeModeAtom';
|
|
5
6
|
import { UserGasPreset } from '../../hooks/gas/types';
|
|
6
7
|
import { SupportedChainId } from '../../lib/web3/wagmi/types';
|
|
@@ -46,6 +47,7 @@ export type SettingsState = {
|
|
|
46
47
|
swapMode: SwapMode;
|
|
47
48
|
eip1559Enabled: boolean;
|
|
48
49
|
degenMode: boolean;
|
|
50
|
+
disabledDexes: DisabledDexes;
|
|
49
51
|
} & BridgePreferencesState;
|
|
50
52
|
export type AccountState = {
|
|
51
53
|
address?: Address;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/events/types/common.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EAChB,MAAM,mEAAmE,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,gBAAgB,CAAC;IAC7B,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG;IAC3C,IAAI,EAAE,aAAa,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG;IAC3C,IAAI,EAAE,aAAa,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG,cAAc,GAAG;IAC/C,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,eAAe,EAAE,eAAe,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,aAAa,CAAC;IAChC,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/events/types/common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { useEnsureContractsQuery as e } from "../../../market/queries/useSpenderAndContracts.js";
|
|
2
2
|
import { useCanBatchTxs as ee } from "../../../../../batch/useCanBatchTxs.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { useConnectedSafe as te } from "../../../../../connectors/useIsConnectedSafe.js";
|
|
4
|
+
import { deltaOrdersQueryKey as ne } from "../../queries/useDeltaOrders.js";
|
|
5
5
|
import { useAwaitCalls as re, useEnsureCallsStatus as ie } from "../../../../../batch/useAwaitCalls.js";
|
|
6
6
|
import { useBatchWithApproveTxs as ae } from "../../../../../batch/useBatchWithApproveTxs.js";
|
|
7
7
|
import { useSendBatchTx as oe } from "../../../../../batch/useSendBatchTx.js";
|
|
@@ -12,7 +12,7 @@ import { c as n } from "react-compiler-runtime";
|
|
|
12
12
|
import { useQueryClient as le } from "@tanstack/react-query";
|
|
13
13
|
//#region src/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.ts
|
|
14
14
|
function r(r) {
|
|
15
|
-
let i = n(78), { chainId: a, account: o, logger: s, viemClient: c } = r, l = le(), { forCurrentChain: u } = ee(), d =
|
|
15
|
+
let i = n(78), { chainId: a, account: o, logger: s, viemClient: c } = r, l = le(), { forCurrentChain: u } = ee(), d = te(), f;
|
|
16
16
|
i[0] !== a || i[1] !== c ? (f = {
|
|
17
17
|
chainId: a,
|
|
18
18
|
client: c
|
|
@@ -58,7 +58,7 @@ function r(r) {
|
|
|
58
58
|
let A = k, j;
|
|
59
59
|
i[27] !== s || i[28] !== l ? (j = (e) => {
|
|
60
60
|
s.log("Create Twap Order success", e), l.invalidateQueries({
|
|
61
|
-
queryKey:
|
|
61
|
+
queryKey: ne({ userAddress: e.user }),
|
|
62
62
|
exact: !1
|
|
63
63
|
});
|
|
64
64
|
}, i[27] = s, i[28] = l, i[29] = j) : j = i[29];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/hooks/swap/prices/delta/orders/unposted/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,aAAa,EAAE,4BAwBjE;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/hooks/swap/prices/delta/orders/unposted/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAG7C,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,aAAa,EAAE,4BAwBjE;AAGD,wBAAsB,uBAAuB,CAC3C,MAAM,SAAS,YAAY,EAC3B,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,EAAE,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;CAAE,mBAKnE"}
|
|
@@ -1,29 +1,24 @@
|
|
|
1
1
|
import { RETRY_DELAY_MS as e, logger as t } from "./const.js";
|
|
2
|
-
import { removeUnpostedOrder as n
|
|
3
|
-
import { processUnpostedOrder as
|
|
2
|
+
import { removeUnpostedOrder as n } from "./storage.js";
|
|
3
|
+
import { processUnpostedOrder as r } from "./utils.js";
|
|
4
4
|
//#region src/hooks/swap/prices/delta/orders/unposted/index.ts
|
|
5
|
-
function
|
|
6
|
-
if (
|
|
5
|
+
function i(i) {
|
|
6
|
+
if (i.length === 0) return;
|
|
7
7
|
t.log("post orders", {
|
|
8
|
-
count:
|
|
9
|
-
orders:
|
|
8
|
+
count: i.length,
|
|
9
|
+
orders: i
|
|
10
10
|
});
|
|
11
11
|
let a = [];
|
|
12
|
-
return
|
|
12
|
+
return i.forEach((i, o) => {
|
|
13
13
|
let s = setTimeout(() => {
|
|
14
|
-
n(
|
|
14
|
+
n(i.orderHash), r(i).then((e) => t.log("result", e)).catch(t.error);
|
|
15
15
|
}, o * e);
|
|
16
16
|
a.push(s);
|
|
17
17
|
}), () => {
|
|
18
18
|
a.forEach(clearTimeout);
|
|
19
19
|
};
|
|
20
20
|
}
|
|
21
|
-
async function o({ order: e, cb: t }) {
|
|
22
|
-
r(e);
|
|
23
|
-
let i = await t();
|
|
24
|
-
return n(e.orderHash), i;
|
|
25
|
-
}
|
|
26
21
|
//#endregion
|
|
27
|
-
export {
|
|
22
|
+
export { i as postUnpostedOrders };
|
|
28
23
|
|
|
29
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["DeltaAuction","logger","RETRY_DELAY_MS","removeUnpostedOrder","saveUnpostedOrder","UnpostedOrder","processUnpostedOrder","postUnpostedOrders","unpostedOrders","length","log","count","orders","timeoutIds","NodeJS","Timeout","forEach","order","index","timeoutId","setTimeout","orderHash","then","catch","error","push","clearTimeout","guardUnpostedDeltaOrder","cb","Promise","TOrder","posted"],"sources":["../../../../../../../src/hooks/swap/prices/delta/orders/unposted/index.ts"],"sourcesContent":["import type { DeltaAuction } from \"@velora-dex/sdk\";\nimport { logger, RETRY_DELAY_MS } from \"./const\";\nimport { removeUnpostedOrder, saveUnpostedOrder } from \"./storage\";\nimport type { UnpostedOrder } from \"./types\";\nimport { processUnpostedOrder } from \"./utils\";\n\nexport function postUnpostedOrders(unpostedOrders: UnpostedOrder[]) {\n if (unpostedOrders.length === 0) return;\n logger.log(\"post orders\", {\n count: unpostedOrders.length,\n orders: unpostedOrders,\n });\n\n const timeoutIds: NodeJS.Timeout[] = [];\n // process each order with a small staggered delay to avoid overwhelming the API\n unpostedOrders.forEach((order, index) => {\n const timeoutId = setTimeout(() => {\n // eagerly remove the order from storage\n removeUnpostedOrder(order.orderHash);\n // and retry each order no more than once\n processUnpostedOrder(order)\n .then((order) => logger.log(\"result\", order))\n .catch(logger.error);\n }, index * RETRY_DELAY_MS);\n timeoutIds.push(timeoutId);\n });\n\n return () => {\n timeoutIds.forEach(clearTimeout);\n };\n}\n\nexport async function guardUnpostedDeltaOrder<\n TOrder extends DeltaAuction,\n>({ order, cb }: { order: UnpostedOrder; cb: () => Promise<TOrder> }) {\n saveUnpostedOrder(order);\n const posted = await cb();\n removeUnpostedOrder(order.orderHash);\n return posted;\n}\n"],"mappings":";;;;AAMA,SAAgBO,EAAmBC,GAAiC;AAClE,KAAIA,EAAeC,WAAW,EAAG;AACjCR,GAAOS,IAAI,eAAe;EACxBC,OAAOH,EAAeC;EACtBG,QAAQJ;EACT,CAAC;CAEF,IAAMK,IAA+B,EAAE;AAcvC,QAZAL,EAAeQ,SAASC,GAAOC,MAAU;EACvC,IAAMC,IAAYC,iBAAiB;AAIjCd,GAFAH,EAAoBc,EAAMI,UAAU,EAEpCf,EAAqBW,EAAM,CACxBK,MAAML,MAAUhB,EAAOS,IAAI,UAAUO,EAAM,CAAC,CAC5CM,MAAMtB,EAAOuB,MAAM;KACrBN,IAAQhB,EAAe;AAC1BW,IAAWY,KAAKN,EAAU;GAC1B,QAEW;AACXN,IAAWG,QAAQU,aAAa
|
|
1
|
+
{"version":3,"file":"index.js","names":["DeltaAuction","logger","RETRY_DELAY_MS","removeUnpostedOrder","saveUnpostedOrder","UnpostedOrder","processUnpostedOrder","postUnpostedOrders","unpostedOrders","length","log","count","orders","timeoutIds","NodeJS","Timeout","forEach","order","index","timeoutId","setTimeout","orderHash","then","catch","error","push","clearTimeout","guardUnpostedDeltaOrder","cb","Promise","TOrder","posted"],"sources":["../../../../../../../src/hooks/swap/prices/delta/orders/unposted/index.ts"],"sourcesContent":["import type { DeltaAuction } from \"@velora-dex/sdk\";\nimport { logger, RETRY_DELAY_MS } from \"./const\";\nimport { removeUnpostedOrder, saveUnpostedOrder } from \"./storage\";\nimport type { UnpostedOrder } from \"./types\";\nimport { processUnpostedOrder } from \"./utils\";\n\nexport function postUnpostedOrders(unpostedOrders: UnpostedOrder[]) {\n if (unpostedOrders.length === 0) return;\n logger.log(\"post orders\", {\n count: unpostedOrders.length,\n orders: unpostedOrders,\n });\n\n const timeoutIds: NodeJS.Timeout[] = [];\n // process each order with a small staggered delay to avoid overwhelming the API\n unpostedOrders.forEach((order, index) => {\n const timeoutId = setTimeout(() => {\n // eagerly remove the order from storage\n removeUnpostedOrder(order.orderHash);\n // and retry each order no more than once\n processUnpostedOrder(order)\n .then((order) => logger.log(\"result\", order))\n .catch(logger.error);\n }, index * RETRY_DELAY_MS);\n timeoutIds.push(timeoutId);\n });\n\n return () => {\n timeoutIds.forEach(clearTimeout);\n };\n}\n\n// @TODO get rid of the whole unposted orders logic as it is no longer used\nexport async function guardUnpostedDeltaOrder<\n TOrder extends DeltaAuction,\n>({ order, cb }: { order: UnpostedOrder; cb: () => Promise<TOrder> }) {\n saveUnpostedOrder(order);\n const posted = await cb();\n removeUnpostedOrder(order.orderHash);\n return posted;\n}\n"],"mappings":";;;;AAMA,SAAgBO,EAAmBC,GAAiC;AAClE,KAAIA,EAAeC,WAAW,EAAG;AACjCR,GAAOS,IAAI,eAAe;EACxBC,OAAOH,EAAeC;EACtBG,QAAQJ;EACT,CAAC;CAEF,IAAMK,IAA+B,EAAE;AAcvC,QAZAL,EAAeQ,SAASC,GAAOC,MAAU;EACvC,IAAMC,IAAYC,iBAAiB;AAIjCd,GAFAH,EAAoBc,EAAMI,UAAU,EAEpCf,EAAqBW,EAAM,CACxBK,MAAML,MAAUhB,EAAOS,IAAI,UAAUO,EAAM,CAAC,CAC5CM,MAAMtB,EAAOuB,MAAM;KACrBN,IAAQhB,EAAe;AAC1BW,IAAWY,KAAKN,EAAU;GAC1B,QAEW;AACXN,IAAWG,QAAQU,aAAa"}
|
|
@@ -23,14 +23,10 @@ function a() {
|
|
|
23
23
|
};
|
|
24
24
|
}
|
|
25
25
|
function o(e) {
|
|
26
|
-
let t = i();
|
|
27
|
-
t.some((t) => t.orderHash.toLowerCase() === e.orderHash.toLowerCase()) || localStorage.setItem(r, JSON.stringify([...t, e]));
|
|
28
|
-
}
|
|
29
|
-
function s(e) {
|
|
30
26
|
let t = i();
|
|
31
27
|
localStorage.setItem(r, JSON.stringify(t.filter((t) => t.orderHash.toLowerCase() !== e.toLowerCase())));
|
|
32
28
|
}
|
|
33
29
|
//#endregion
|
|
34
|
-
export { a as getUnpostedOrders,
|
|
30
|
+
export { a as getUnpostedOrders, o as removeUnpostedOrder };
|
|
35
31
|
|
|
36
32
|
//# sourceMappingURL=storage.js.map
|