@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.
Files changed (141) hide show
  1. package/dist/components/SearchInput/SearchInput.d.ts +9 -0
  2. package/dist/components/SearchInput/SearchInput.d.ts.map +1 -0
  3. package/dist/components/SearchInput/SearchInput.js +41 -0
  4. package/dist/components/SearchInput/SearchInput.js.map +1 -0
  5. package/dist/components/widget/AppHeader/AppHeader.d.ts.map +1 -1
  6. package/dist/components/widget/AppHeader/AppHeader.js +6 -3
  7. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  8. package/dist/components/widget/BridgeList/BridgeProtocolsList.d.ts.map +1 -1
  9. package/dist/components/widget/BridgeList/BridgeProtocolsList.js +28 -47
  10. package/dist/components/widget/BridgeList/BridgeProtocolsList.js.map +1 -1
  11. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.d.ts.map +1 -1
  12. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js +18 -40
  13. package/dist/components/widget/Dialog/SelectTokenDialog/TokenSearch.js.map +1 -1
  14. package/dist/components/widget/EnabledExchanges/EnabledExchanges.d.ts +3 -0
  15. package/dist/components/widget/EnabledExchanges/EnabledExchanges.d.ts.map +1 -0
  16. package/dist/components/widget/EnabledExchanges/EnabledExchanges.js +81 -0
  17. package/dist/components/widget/EnabledExchanges/EnabledExchanges.js.map +1 -0
  18. package/dist/components/widget/EnabledExchanges/EnabledExchangesList.d.ts +9 -0
  19. package/dist/components/widget/EnabledExchanges/EnabledExchangesList.d.ts.map +1 -0
  20. package/dist/components/widget/EnabledExchanges/EnabledExchangesList.js +40 -0
  21. package/dist/components/widget/EnabledExchanges/EnabledExchangesList.js.map +1 -0
  22. package/dist/components/widget/EnabledExchanges/types.d.ts +7 -0
  23. package/dist/components/widget/EnabledExchanges/types.d.ts.map +1 -0
  24. package/dist/components/widget/EnabledList/EnabledList.d.ts +18 -0
  25. package/dist/components/widget/EnabledList/EnabledList.d.ts.map +1 -0
  26. package/dist/components/widget/EnabledList/EnabledList.js +56 -0
  27. package/dist/components/widget/EnabledList/EnabledList.js.map +1 -0
  28. package/dist/components/widget/ListItem/ListItemWithSwitch.d.ts +7 -0
  29. package/dist/components/widget/ListItem/ListItemWithSwitch.d.ts.map +1 -0
  30. package/dist/components/widget/ListItem/ListItemWithSwitch.js +29 -0
  31. package/dist/components/widget/ListItem/ListItemWithSwitch.js.map +1 -0
  32. package/dist/components/widget/NetworkWithIcon/NetworkWithIcon.js +3 -3
  33. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/EnabledExchangesParameters.d.ts +14 -0
  34. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/EnabledExchangesParameters.d.ts.map +1 -0
  35. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/EnabledExchangesParameters.js +39 -0
  36. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/EnabledExchangesParameters.js.map +1 -0
  37. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/useDraftEnabledExchangesState.d.ts +11 -0
  38. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/useDraftEnabledExchangesState.d.ts.map +1 -0
  39. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/useDraftEnabledExchangesState.js +28 -0
  40. package/dist/components/widget/TradeParameters/EnabledExchangesParameters/useDraftEnabledExchangesState.js.map +1 -0
  41. package/dist/components/widget/TradeParameters/TradeParameters.d.ts.map +1 -1
  42. package/dist/components/widget/TradeParameters/TradeParameters.js +61 -53
  43. package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
  44. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.d.ts.map +1 -1
  45. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js +14 -12
  46. package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
  47. package/dist/components/widget/TradeParameters/state/enabledExchanges/constants.d.ts +3 -0
  48. package/dist/components/widget/TradeParameters/state/enabledExchanges/constants.d.ts.map +1 -0
  49. package/dist/components/widget/TradeParameters/state/enabledExchanges/constants.js +7 -0
  50. package/dist/components/widget/TradeParameters/state/enabledExchanges/constants.js.map +1 -0
  51. package/dist/components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily.d.ts +14 -0
  52. package/dist/components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily.d.ts.map +1 -0
  53. package/dist/components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily.js +14 -0
  54. package/dist/components/widget/TradeParameters/state/enabledExchanges/disabledDexesAtomFamily.js.map +1 -0
  55. package/dist/components/widget/TradeParameters/state/enabledExchanges/types.d.ts +7 -0
  56. package/dist/components/widget/TradeParameters/state/enabledExchanges/types.d.ts.map +1 -0
  57. package/dist/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes.d.ts +24 -0
  58. package/dist/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes.d.ts.map +1 -0
  59. package/dist/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes.js +36 -0
  60. package/dist/components/widget/TradeParameters/state/enabledExchanges/useDisabledDexes.js.map +1 -0
  61. package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.d.ts +17 -1
  62. package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.d.ts.map +1 -1
  63. package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js +38 -13
  64. package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js.map +1 -1
  65. package/dist/components/widget/TradeParameters/state/types.d.ts +4 -0
  66. package/dist/components/widget/TradeParameters/state/types.d.ts.map +1 -1
  67. package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts +2 -0
  68. package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts.map +1 -1
  69. package/dist/components/widget/TradeParameters/useTempTradeParameters.js +114 -82
  70. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  71. package/dist/core/limit/useLimitRate.d.ts.map +1 -1
  72. package/dist/core/limit/useLimitRate.js +44 -43
  73. package/dist/core/limit/useLimitRate.js.map +1 -1
  74. package/dist/core/screen/screenByType.d.ts +1 -0
  75. package/dist/core/screen/screenByType.d.ts.map +1 -1
  76. package/dist/core/screen/screenByType.js +8 -6
  77. package/dist/core/screen/screenByType.js.map +1 -1
  78. package/dist/core/screen/state/hooks/useSetScreen.d.ts +2 -0
  79. package/dist/core/screen/state/hooks/useSetScreen.d.ts.map +1 -1
  80. package/dist/core/screen/state/hooks/useSetScreen.js +12 -4
  81. package/dist/core/screen/state/hooks/useSetScreen.js.map +1 -1
  82. package/dist/core/state/enabledChainsAtom.js +13 -13
  83. package/dist/events/getters/settings.d.ts.map +1 -1
  84. package/dist/events/getters/settings.js +18 -15
  85. package/dist/events/getters/settings.js.map +1 -1
  86. package/dist/events/types/common.d.ts +2 -0
  87. package/dist/events/types/common.d.ts.map +1 -1
  88. package/dist/hooks/swap/prices/delta/mutations/twap/usePreSignAndSubmitTwapOrder.js +4 -4
  89. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts.map +1 -1
  90. package/dist/hooks/swap/prices/delta/orders/unposted/index.js +9 -14
  91. package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -1
  92. package/dist/hooks/swap/prices/delta/orders/unposted/storage.js +1 -5
  93. package/dist/hooks/swap/prices/delta/orders/unposted/storage.js.map +1 -1
  94. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +8 -11
  95. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -1
  96. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +1 -1
  97. package/dist/hooks/swap/prices/market/queries/dexesList/types.d.ts +15 -0
  98. package/dist/hooks/swap/prices/market/queries/dexesList/types.d.ts.map +1 -0
  99. package/dist/hooks/swap/prices/market/queries/dexesList/useDexesList.d.ts +4 -0
  100. package/dist/hooks/swap/prices/market/queries/dexesList/useDexesList.d.ts.map +1 -0
  101. package/dist/hooks/swap/prices/market/queries/dexesList/useDexesList.js +37 -0
  102. package/dist/hooks/swap/prices/market/queries/dexesList/useDexesList.js.map +1 -0
  103. package/dist/hooks/swap/prices/usePricesParams.d.ts +2 -1
  104. package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
  105. package/dist/hooks/swap/prices/usePricesParams.js +13 -8
  106. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  107. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  108. package/dist/hooks/swap/prices/useSwapPrices.js +88 -83
  109. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  110. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.d.ts.map +1 -1
  111. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js +24 -32
  112. package/dist/hooks/swap/tradeFlow/common/factory/depositAndSubmitOrderFactory.js.map +1 -1
  113. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.d.ts.map +1 -1
  114. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js +33 -39
  115. package/dist/hooks/swap/tradeFlow/common/factory/preSignAndSubmitOrderFactory.js.map +1 -1
  116. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +19 -19
  117. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
  118. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +26 -26
  119. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  120. package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
  121. package/dist/hooks/swap/tradeFlow/useMarketFlow.js +180 -177
  122. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  123. package/dist/hooks/useSDK.d.ts +2 -2
  124. package/dist/hooks/useSDK.d.ts.map +1 -1
  125. package/dist/hooks/useSDK.js +30 -30
  126. package/dist/hooks/useSDK.js.map +1 -1
  127. package/dist/lib/constants/dexes.d.ts +3 -0
  128. package/dist/lib/constants/dexes.d.ts.map +1 -0
  129. package/dist/lib/constants/dexes.js +16 -0
  130. package/dist/lib/constants/dexes.js.map +1 -0
  131. package/dist/lib/utils/dexes.d.ts +1 -0
  132. package/dist/lib/utils/dexes.d.ts.map +1 -1
  133. package/dist/lib/utils/dexes.js +6 -2
  134. package/dist/lib/utils/dexes.js.map +1 -1
  135. package/dist/lib/utils/explorer.js +12 -12
  136. package/dist/lib/web3/wagmi/config.d.ts +18 -0
  137. package/dist/lib/web3/wagmi/config.d.ts.map +1 -1
  138. package/dist/lib/web3/wagmi/config.js +6 -19
  139. package/dist/lib/web3/wagmi/config.js.map +1 -1
  140. package/dist/styles.css +1 -1
  141. 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 { usePricesParams as o } from "../../hooks/swap/prices/usePricesParams.js";
7
- import { c as s } from "react-compiler-runtime";
8
- import { useMemo as c } from "react";
9
- import { formatUnits as l, parseUnits as u } from "viem";
10
- import d from "big.js";
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 f = 6e4 * 5, p = (t) => {
13
- let i = s(15), { enabled: a, refetchInterval: c, tradeMode: l } = t, d = a === void 0 ? !0 : a, p = c === void 0 ? f : c, m = e(r[l].tokenFromAtom), { priceParams: h, chainId: g } = o(l), _;
14
- i[0] === m.decimals ? _ = i[1] : (_ = u("1", m.decimals).toString(), i[0] = m.decimals, i[1] = _);
15
- let v;
16
- i[2] !== h || i[3] !== _ ? (v = {
17
- ...h,
18
- amount: _,
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] = h, i[3] = _, i[4] = v) : v = i[4];
22
- let y = v, b;
23
- i[5] !== d || i[6] !== p ? (b = {
24
- enabled: d,
25
- refetchInterval: p,
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[5] = d, i[6] = p, i[7] = b) : b = i[7];
30
- let x;
31
- i[8] !== g || i[9] !== y || i[10] !== b ? (x = {
32
- priceParams: y,
33
- chainId: g,
34
- query: b
35
- }, i[8] = g, i[9] = y, i[10] = b, i[11] = x) : x = i[11];
36
- let { result: S } = n(x), C;
37
- return i[12] !== S.data || i[13] !== S.isLoading ? (C = {
38
- price: S.data,
39
- isLoading: S.isLoading
40
- }, i[12] = S.data, i[13] = S.isLoading, i[14] = C) : C = i[14], C;
41
- }, m = (e) => {
42
- let n = s(17), { enabled: r, refetchInterval: i, tradeMode: a } = e, c = r === void 0 ? !0 : r, l = i === void 0 ? 1e4 : i, { priceParams: u, chainId: d, destChainId: f, isCrossChain: p } = o(a), m = c && a === "limit", h;
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
- }, h = (e) => {
75
- let { tokenFrom: t, tokenTo: n } = i(e), { data: r, isLoading: o } = a(t, { refetchInterval: f }), { data: s, isLoading: u } = a(n, { refetchInterval: f }), h = o || u, g = e === "limit" && n && n.network !== t.network, _ = !!(r && s), { price: v, isLoading: y } = p({
76
- enabled: !_ && !h && !g,
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 } = m({
79
+ }), { price: b, isLoading: x } = h({
79
80
  enabled: g,
80
81
  tradeMode: e
81
- }), S = h || y;
82
- return c(() => {
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 = l(BigInt(b.srcAmount), t.decimals), a = l(BigInt(b.receivedDestAmount), n.decimals);
88
- return r === "0" || a === "0" ? (e = "0", i = "0") : (e = d(a).div(r).toFixed(), i = d(r).div(a).toFixed()), {
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 = d(r.price).div(s.price).toFixed(), i = d(s.price).div(r.price).toFixed());
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 = l(BigInt(v.srcAmount), t.decimals), a = l(BigInt(v.destAmount), n.decimals);
98
- e = d(a).div(r).toFixed(), i = d(r).div(a).toFixed();
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 { m as useDeltaSwapPriceForLimit, h as useLimitRate };
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":"AAMA,eAAO,MAAM,YAAY;;;;;;CAMxB,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"}
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 { TradeOverviewScreen as i } from "../../components/widget/TradeOverview/TradeOverviewScreen.js";
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 a = {
8
+ var o = {
8
9
  selectToken: r,
9
- tradeOverview: i,
10
+ tradeOverview: a,
10
11
  activities: e,
11
12
  compareQuotes: n,
12
- bridgePreferences: t
13
- }, o = ["selectToken", "activities"];
13
+ bridgePreferences: t,
14
+ enabledExchanges: i
15
+ }, s = ["selectToken", "activities"];
14
16
  //#endregion
15
- export { a as screenByType, o as screenTypesClosableByOutsideClick };
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":";;;;;;AAMA,IAAaK,IAAe;CAC1BC,aAAaH;CACbI,eAAeH;CACfI,YAAYR;CACZS,eAAeP;CACfQ,mBAAmBT;CACpB,EAaYiB,IAAkD,CAC7D,eACA,aACD"}
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;AAEhG,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,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAGF,eAAO,MAAM,YAAY,QAAO,kBAwD/B,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(19), i = e(t), a;
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
- return r[12] !== o || r[13] !== f || r[14] !== g || r[15] !== m || r[16] !== c || r[17] !== u ? (_ = {
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
- }, r[12] = o, r[13] = f, r[14] = g, r[15] = m, r[16] = c, r[17] = u, r[18] = _) : _ = r[18], _;
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":";;;;AAkBA,IAAaa,UAAe;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAC1BC,IAAkBhB,EAAWG,EAAW,EAACc;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,KAAAX,MAAA;AAGzES,IAAU;GAAAG,YACI;GAAaZ;GAE1B,CAAC;IACHO,EAAA,KAAAE,GAAAF,EAAA,KAAAI;CAPD,IAAAZ,IAA2EY,GAOzEE;AAAA,CAAAN,EAAA,OAAAE,IAQCI,IAAAN,EAAA,MALDM,KAAAC,MAAA;AACEL,IAAU;GAAAG,YACI;GAAeZ,aAC3BA;GACD,CAAC;IACHO,EAAA,KAAAE,GAAAF,EAAA,KAAAM;CANH,IAAAZ,IACEY,GAKEE;AAAA,CAAAR,EAAA,OAAAE,IAQDM,IAAAR,EAAA,MALDQ,UAAA;AACEN,IAAU;GAAAG,YACI;GAAYZ,aACX,EAAC;GACf,CAAC;IACHO,EAAA,KAAAE,GAAAF,EAAA,KAAAQ;CANH,IAAAb,IACEa,GAKEC;AAAA,CAAAT,EAAA,OAAAE,IAQDO,IAAAT,EAAA,MALDS,UAAA;AACEP,IAAU;GAAAG,YACI;GAAeZ,aACd,EAAC;GACf,CAAC;IACHO,EAAA,KAAAE,GAAAF,EAAA,KAAAS;CANH,IAAAb,IACEa,GAKEC;AAAA,CAAAV,EAAA,QAAAE,IAQDQ,IAAAV,EAAA,OALDU,KAAAC,MAAA;AACET,IAAU;GAAAG,YACI;GAAmBZ,aAC/BA;GACD,CAAC;IACHO,EAAA,MAAAE,GAAAF,EAAA,MAAAU;CANH,IAAAb,IACEa,GAKEE;AASH,QATGZ,EAAA,QAAAF,KAAAE,EAAA,QAAAL,KAAAK,EAAA,QAAAH,KAAAG,EAAA,QAAAJ,KAAAI,EAAA,QAAAR,KAAAQ,EAAA,QAAAN,KAEGkB,IAAA;EAAAd;EAAAN;EAAAE;EAAAC;EAAAC;EAAAC;EAON,EAAAG,EAAA,MAAAF,GAAAE,EAAA,MAAAL,GAAAK,EAAA,MAAAH,GAAAG,EAAA,MAAAJ,GAAAI,EAAA,MAAAR,GAAAQ,EAAA,MAAAN,GAAAM,EAAA,MAAAY,KAAAA,IAAAZ,EAAA,KAPMY"}
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 { CHAINS_WITH_DELTA as n } from "../../lib/constants/delta.js";
4
- import { destChainsAtom as r, srcChainsAtom as i } from "./configAtom.js";
5
- import { getLogger as a } from "../logger.js";
6
- import { supportedChainIds as o } from "../../lib/web3/wagmi/constants.js";
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, n) {
13
- if (e.length === 0) return o;
14
- let r = Array.from(new Set(e)), i = [], a = r.filter((e) => {
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 || i.push(e), t;
17
- }), c = !t(a);
18
- return i.length > 0 && !c && n?.warn(`Specified unsupported IDs. Supported chain IDs are: ${o.join(", ")}`), c ? (n?.warn(`All specified IDs are unsupported. Supported IDs are: ${o.join(", ")}`), o) : a;
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 = a("ChainsState"), p = u((e) => d(e(i), f)), m = u((e) => d(e(r), f)), h = u((e) => {
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 n.includes(e);
34
+ return r.includes(e);
35
35
  }
36
36
  function C(e) {
37
- return n.includes(e);
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;AASpC,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAkB3D"}
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 { gasPresetAtom as t } from "../../components/widget/TradeParameters/state/gasPresetParamAtom.js";
3
- import { slippageParamAtom as n } from "../../components/widget/TradeParameters/state/slippageParamAtom.js";
4
- import { eip1559EnabledAtom as r } from "../../components/widget/TradeParameters/state/eip1559ParamAtom.js";
5
- import { degenModeParamAtom as i } from "../../components/widget/TradeParameters/state/degenModeParamAtom.js";
6
- import { bridgePreferenceAtom as a } from "../../components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js";
7
- import { disabledBridgesAtom as o } from "../../components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js";
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 s(s) {
11
+ function l(l) {
10
12
  return {
11
- slippageTolerance: s(n),
12
- transactionSpeed: s(t),
13
- swapMode: s(e),
14
- eip1559Enabled: s(r),
15
- degenMode: s(i),
16
- bridgePreference: s(a),
17
- disabledBridges: s(o)
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 { s as getSettingsState };
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":";;;;;;;;AAUA,SAAgBS,EAAiBC,GAA4B;AAS3D,QAAO;EACLC,mBATwBD,EAAIP,EAAkB;EAU9CS,kBATuBF,EAAIR,EAAc;EAUzCW,UATeH,EAAIJ,EAAa;EAUhCQ,gBATqBJ,EAAIN,EAAmB;EAU5CW,WATgBL,EAAIL,EAAmB;EAUvCW,kBATuBN,EAAIH,EAAqB;EAUhDU,iBATsBP,EAAIF,EAAoB;EAU/C"}
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":"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"}
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 { deltaOrdersQueryKey as te } from "../../queries/useDeltaOrders.js";
4
- import { useConnectedSafe as ne } from "../../../../../connectors/useIsConnectedSafe.js";
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 = ne(), f;
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: te({ userAddress: e.user }),
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;AAED,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
+ {"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, saveUnpostedOrder as r } from "./storage.js";
3
- import { processUnpostedOrder as i } from "./utils.js";
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 a(r) {
6
- if (r.length === 0) return;
5
+ function i(i) {
6
+ if (i.length === 0) return;
7
7
  t.log("post orders", {
8
- count: r.length,
9
- orders: r
8
+ count: i.length,
9
+ orders: i
10
10
  });
11
11
  let a = [];
12
- return r.forEach((r, o) => {
12
+ return i.forEach((i, o) => {
13
13
  let s = setTimeout(() => {
14
- n(r.orderHash), i(r).then((e) => t.log("result", e)).catch(t.error);
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 { o as guardUnpostedDeltaOrder, a as postUnpostedOrders };
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;;;AAIpC,eAAsBC,EAEpB,EAAEV,UAAOW,SAA2D;AACpExB,GAAkBa,EAAM;CACxB,IAAMc,IAAS,MAAMH,GAAI;AAEzB,QADAzB,EAAoBc,EAAMI,UAAU,EAC7BU"}
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, s as removeUnpostedOrder, o as saveUnpostedOrder };
30
+ export { a as getUnpostedOrders, o as removeUnpostedOrder };
35
31
 
36
32
  //# sourceMappingURL=storage.js.map