@velora-dex/widget 0.6.1-dev.4 → 0.6.1-dev.5
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Warnings.d.ts","sourceRoot":"","sources":["../../src/core/Warnings.tsx"],"names":[],"mappings":"AA+BA,eAAO,MAAM,aAAa,sDAwBzB,CAAC;
|
|
1
|
+
{"version":3,"file":"Warnings.d.ts","sourceRoot":"","sources":["../../src/core/Warnings.tsx"],"names":[],"mappings":"AA+BA,eAAO,MAAM,aAAa,sDAwBzB,CAAC;AAuNF,eAAO,MAAM,iBAAiB,+CA2B7B,CAAC;AA0DF,eAAO,MAAM,YAAY,+CAOxB,CAAC"}
|
package/dist/core/Warnings.js
CHANGED
|
@@ -47,67 +47,67 @@ var T = { root: "mt-4" }, E = () => {
|
|
|
47
47
|
children: "Degen Mode"
|
|
48
48
|
}), e[0] = t, e[1] = n), n;
|
|
49
49
|
}, O = { root: "mt-4 border-1 border-secondary-radical-red-1 rounded-xs bg-[rgba(255,43,82,0.05)] text-secondary-radical-red-1" }, k = (r) => {
|
|
50
|
-
let a = b(
|
|
51
|
-
a[0] !== o.address || a[1] !== o.network ? (
|
|
50
|
+
let a = b(19), { tokenFrom: o, tokenTo: l, priceImpactPercent: u, tradeMode: f } = r, p = f === "twap", m = f === "swap", h = i(), { enableDegenMode: g } = n(), _ = e(t), v = e(s), y = e(c), w;
|
|
51
|
+
a[0] !== o.address || a[1] !== o.network ? (w = {
|
|
52
52
|
token: o.address,
|
|
53
53
|
chainId: o.network
|
|
54
|
-
}, a[0] = o.address, a[1] = o.network, a[2] =
|
|
55
|
-
let { data:
|
|
56
|
-
a[3] !==
|
|
57
|
-
token:
|
|
58
|
-
chainId:
|
|
59
|
-
}, a[3] =
|
|
60
|
-
let { data:
|
|
61
|
-
if (!
|
|
62
|
-
if (!
|
|
54
|
+
}, a[0] = o.address, a[1] = o.network, a[2] = w) : w = a[2];
|
|
55
|
+
let { data: T } = d(w), E = l?.address, O = l?.network || o.network, k;
|
|
56
|
+
a[3] !== E || a[4] !== O ? (k = {
|
|
57
|
+
token: E,
|
|
58
|
+
chainId: O
|
|
59
|
+
}, a[3] = E, a[4] = O, a[5] = k) : k = a[5];
|
|
60
|
+
let { data: A } = d(k), j = g && !h && (u == null ? !0 : u < 50);
|
|
61
|
+
if (!(T && A) && m) {
|
|
62
|
+
if (!j) return null;
|
|
63
63
|
let e;
|
|
64
64
|
return a[6] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ C("div", { children: [
|
|
65
65
|
"Ape in anyway with ",
|
|
66
66
|
/* @__PURE__ */ S(D, {}),
|
|
67
|
-
" enabled."
|
|
67
|
+
" enabled (Not recommended)."
|
|
68
68
|
] }), a[6] = e) : e = a[6], e;
|
|
69
69
|
}
|
|
70
|
-
let
|
|
71
|
-
a[7] !==
|
|
72
|
-
className: "underline cursor-pointer",
|
|
73
|
-
onClick: () => {
|
|
74
|
-
m("limit"), h(o), g(l);
|
|
75
|
-
},
|
|
76
|
-
children: "Limit Order"
|
|
77
|
-
}), a[7] = h, a[8] = g, a[9] = m, a[10] = o, a[11] = l, a[12] = k) : k = a[12];
|
|
78
|
-
let A;
|
|
79
|
-
a[13] === O ? A = a[14] : (A = O ? /* @__PURE__ */ C(x, { children: [
|
|
80
|
-
", or ape in anyway with ",
|
|
81
|
-
/* @__PURE__ */ S(D, {}),
|
|
82
|
-
" enabled."
|
|
83
|
-
] }) : ".", a[13] = O, a[14] = A);
|
|
84
|
-
let j;
|
|
85
|
-
return a[15] !== k || a[16] !== A ? (j = /* @__PURE__ */ C("div", { children: [
|
|
70
|
+
let M;
|
|
71
|
+
a[7] !== p || a[8] !== v || a[9] !== y || a[10] !== _ || a[11] !== o || a[12] !== l ? (M = p ? "Consider increasing the Order Split for a safer price impact" : /* @__PURE__ */ C(x, { children: [
|
|
86
72
|
"Use a",
|
|
87
73
|
" ",
|
|
88
|
-
|
|
74
|
+
/* @__PURE__ */ S("span", {
|
|
75
|
+
className: "underline cursor-pointer",
|
|
76
|
+
onClick: () => {
|
|
77
|
+
_("limit"), v(o), y(l);
|
|
78
|
+
},
|
|
79
|
+
children: "Limit Order"
|
|
80
|
+
}),
|
|
89
81
|
" ",
|
|
90
|
-
"for a better fill"
|
|
91
|
-
|
|
92
|
-
|
|
82
|
+
"for a better fill"
|
|
83
|
+
] }), a[7] = p, a[8] = v, a[9] = y, a[10] = _, a[11] = o, a[12] = l, a[13] = M) : M = a[13];
|
|
84
|
+
let N;
|
|
85
|
+
a[14] === j ? N = a[15] : (N = j ? /* @__PURE__ */ C(x, { children: [
|
|
86
|
+
", or ape in anyway with ",
|
|
87
|
+
/* @__PURE__ */ S(D, {}),
|
|
88
|
+
" enabled (Not recommended)."
|
|
89
|
+
] }) : ".", a[14] = j, a[15] = N);
|
|
90
|
+
let P;
|
|
91
|
+
return a[16] !== M || a[17] !== N ? (P = /* @__PURE__ */ C("div", { children: [M, N] }), a[16] = M, a[17] = N, a[18] = P) : P = a[18], P;
|
|
93
92
|
}, A = (e) => {
|
|
94
|
-
let t = b(
|
|
93
|
+
let t = b(9), { title: n, priceImpactPercent: r, tradeMode: i } = e, { tokenFrom: a, tokenTo: o } = l(i);
|
|
95
94
|
if (!o) return null;
|
|
96
95
|
let s;
|
|
97
96
|
t[0] === Symbol.for("react.memo_cache_sentinel") ? (s = /* @__PURE__ */ S(w, { size: 18 }), t[0] = s) : s = t[0];
|
|
98
97
|
let c;
|
|
99
|
-
t[1] !== r || t[2] !== a || t[3] !== o ? (c = /* @__PURE__ */ S(k, {
|
|
98
|
+
t[1] !== r || t[2] !== a || t[3] !== o || t[4] !== i ? (c = /* @__PURE__ */ S(k, {
|
|
100
99
|
tokenFrom: a,
|
|
101
100
|
tokenTo: o,
|
|
102
|
-
priceImpactPercent: r
|
|
103
|
-
|
|
101
|
+
priceImpactPercent: r,
|
|
102
|
+
tradeMode: i
|
|
103
|
+
}), t[1] = r, t[2] = a, t[3] = o, t[4] = i, t[5] = c) : c = t[5];
|
|
104
104
|
let u;
|
|
105
|
-
return t[
|
|
105
|
+
return t[6] !== c || t[7] !== n ? (u = /* @__PURE__ */ S(h, {
|
|
106
106
|
title: n,
|
|
107
107
|
iconReplacement: s,
|
|
108
108
|
message: c,
|
|
109
109
|
classes: O
|
|
110
|
-
}), t[
|
|
110
|
+
}), t[6] = c, t[7] = n, t[8] = u) : u = t[8], u;
|
|
111
111
|
}, j = () => {
|
|
112
112
|
let e = b(1), t;
|
|
113
113
|
return e[0] === Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ S(m, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Warnings.js","names":["useCurrentChainConfig","Warning","WarningWithTitle","useSetOpenDrawer","useUnsupportedLimitChain","useUnsupportedOtcChain","useDegenMode","useWidgetConfig","useCurrentSwapPriceError","useCurrentTwapPriceError","useSwapTokenTo","useSetAtom","userTradeModeAtom","TradeMode","useWidgetTokens","selectLimitTokenFromAtom","selectLimitTokenToAtom","Token","TriangleAlert","DEGEN_MODE_MAX_IMPACT","useIsTokenSupportedInDeltaQuery","useTwapTokenTo","PriceImpactResult","useTwapSliceTooShort","TWAP_MIN_SLICE_INTERVAL_S","Duration","warningClasses","root","WidgetWarning","$","_c","chainConfig","chainName","name","limitNotSupported","otcNotSupported","t0","t1","DegenModeText","setOpenDrawer","swapWidgetWarningClasses","const","EnableDegenModeMessage","tokenFrom","tokenTo","priceImpactPercent","degenMode","enableDegenMode","setTradeMode","setLimitTokenFrom","setLimitTokenTo","address","network","token","chainId","data","isTokenFromSupported","t2","t3","t4","isTokenToSupported","belowThreshold","undefined","showEnableDegenModeMessage","t5","Symbol","for","t6","t7","EnableDegenModeWarning","title","tradeMode","DegenModeEnabledWarning","message","warningMessageByReason","highPriceImpact","unavailablePriceImpact","GenericPriceImpactWarning","priceImpact","isMaxImpactReachedError","isNoUsdPriceError","showSinglePriceImpactWarning","isHighImpact","isUnavailable","SwapWidgetWarning","isNoLiquidityError","isDeltaNoAvailableBridgeOptionsError","isDeltaNoAvailablePricesError","isDeltaUnsupportedTokenError","getPriceImpact","TwapPriceImpactWarning","isNoAvailableBridgeOptionsError","isNoAvailablePricesError","isUnsupportedTokenError","TwapSliceIntervalWarning","isSliceTooShort","TwapWarnings"],"sources":["../../src/core/Warnings.tsx"],"sourcesContent":["import { useCurrentChainConfig } from \"@/hooks/useCurrentChain\";\nimport { Warning, WarningWithTitle } from \"@/components/widget/Warning/Warning\";\nimport { useSetOpenDrawer } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport { useWidgetConfig } from \"./state/configAtom\";\nimport { useCurrentSwapPriceError } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useCurrentTwapPriceError } from \"@/hooks/swap/prices/useTwapPrices\";\nimport { useSwapTokenTo } from \"./inputs/state/selectedTokenAtom\";\nimport { useSetAtom } from \"./store\";\nimport { userTradeModeAtom, type TradeMode } from \"./state/tradeModeAtom\";\nimport { useWidgetTokens } from \"./inputs/state/common\";\nimport {\n selectLimitTokenFromAtom,\n selectLimitTokenToAtom,\n} from \"./limit/state/selectedTokenActionsAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { TriangleAlert } from \"lucide-react\";\nimport { DEGEN_MODE_MAX_IMPACT } from \"@/hooks/swap/prices/constants\";\nimport { useIsTokenSupportedInDeltaQuery } from \"@/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta\";\nimport { useTwapTokenTo } from \"./twap/state/twapTokenAtoms\";\nimport type { PriceImpactResult } from \"@/lib/utils/priceImpact\";\nimport { useTwapSliceTooShort } from \"./twap/state/twapParamsAtom\";\nimport { TWAP_MIN_SLICE_INTERVAL_S } from \"./twap/state/constants\";\nimport { Duration } from \"@/components/widget/Duration/Duration\";\n\nconst warningClasses = {\n root: \"mt-4\",\n};\n\nexport const WidgetWarning = () => {\n const chainConfig = useCurrentChainConfig();\n const chainName = chainConfig.name;\n\n const limitNotSupported = useUnsupportedLimitChain();\n const otcNotSupported = useUnsupportedOtcChain();\n\n if (limitNotSupported)\n return (\n <Warning\n message={`Limit Orders are not available yet on ${chainName}`}\n classes={warningClasses}\n />\n );\n\n if (otcNotSupported)\n return (\n <Warning\n message={`OTC Orders are not available yet on ${chainName}`}\n classes={warningClasses}\n />\n );\n\n return null;\n};\n\nconst DegenModeText = () => {\n const setOpenDrawer = useSetOpenDrawer();\n return (\n <span\n className=\"underline cursor-pointer\"\n onClick={() => {\n setOpenDrawer(\"trade-parameters-drawer\");\n }}\n >\n Degen Mode\n </span>\n );\n};\n\nconst swapWidgetWarningClasses = {\n root: \"mt-4 border-1 border-secondary-radical-red-1 rounded-xs bg-[rgba(255,43,82,0.05)] text-secondary-radical-red-1\",\n} as const;\n\nconst EnableDegenModeMessage = ({\n tokenFrom,\n tokenTo,\n priceImpactPercent,\n}: {\n tokenFrom: Token;\n tokenTo: Token;\n priceImpactPercent?: number;\n}) => {\n const degenMode = useDegenMode();\n const { enableDegenMode } = useWidgetConfig();\n\n const setTradeMode = useSetAtom(userTradeModeAtom);\n\n const setLimitTokenFrom = useSetAtom(selectLimitTokenFromAtom);\n const setLimitTokenTo = useSetAtom(selectLimitTokenToAtom);\n\n const { data: isTokenFromSupported } = useIsTokenSupportedInDeltaQuery({\n token: tokenFrom.address,\n chainId: tokenFrom.network,\n });\n const { data: isTokenToSupported } = useIsTokenSupportedInDeltaQuery({\n token: tokenTo?.address,\n chainId: tokenTo?.network || tokenFrom.network,\n });\n\n const belowThreshold =\n priceImpactPercent == undefined\n ? true\n : priceImpactPercent < DEGEN_MODE_MAX_IMPACT;\n const showEnableDegenModeMessage =\n enableDegenMode && !degenMode && belowThreshold;\n\n // doesn't make sense to switch the user to Limit\n if (!isTokenFromSupported || !isTokenToSupported) {\n if (!showEnableDegenModeMessage) return null;\n return (\n <div>\n Ape in anyway with <DegenModeText /> enabled.\n </div>\n );\n }\n\n return (\n <div>\n Use a{\" \"}\n <span\n className=\"underline cursor-pointer\"\n onClick={() => {\n setTradeMode(\"limit\");\n setLimitTokenFrom(tokenFrom);\n setLimitTokenTo(tokenTo);\n }}\n >\n Limit Order\n </span>{\" \"}\n for a better fill\n {showEnableDegenModeMessage ? (\n <>\n , or ape in anyway with <DegenModeText /> enabled.\n </>\n ) : (\n \".\"\n )}\n </div>\n );\n};\n\nconst EnableDegenModeWarning = ({\n title,\n priceImpactPercent,\n tradeMode,\n}: {\n title: string;\n priceImpactPercent?: number;\n tradeMode: TradeMode;\n}) => {\n const { tokenFrom, tokenTo } = useWidgetTokens(tradeMode);\n\n if (!tokenTo) {\n return null;\n }\n\n return (\n <WarningWithTitle\n title={title}\n iconReplacement={<TriangleAlert size={18} />}\n message={\n <EnableDegenModeMessage\n tokenFrom={tokenFrom}\n tokenTo={tokenTo}\n priceImpactPercent={priceImpactPercent}\n />\n }\n classes={swapWidgetWarningClasses}\n />\n );\n};\n\nconst DegenModeEnabledWarning = () => {\n return (\n <Warning\n message={\"You have turned on Degen Mode. Be cautious.\"}\n iconReplacement={<TriangleAlert size={18} />}\n classes={{\n ...swapWidgetWarningClasses,\n message: \"text-sm\",\n }}\n />\n );\n};\n\nconst warningMessageByReason = {\n highPriceImpact:\n // explicit threshold breach, more severe warning\n \"High price impact — expect heavy slippage.\",\n unavailablePriceImpact:\n // unable to calculate price impact, more generic warning\n \"Price impact couldn't be calculated.\",\n} as const;\n\nconst GenericPriceImpactWarning = ({\n tokenTo,\n priceImpact,\n isMaxImpactReachedError,\n isNoUsdPriceError,\n showSinglePriceImpactWarning,\n tradeMode,\n}: {\n tokenTo?: Token;\n priceImpact: PriceImpactResult;\n isMaxImpactReachedError: boolean;\n isNoUsdPriceError: boolean;\n showSinglePriceImpactWarning?: boolean;\n tradeMode: TradeMode;\n}) => {\n const degenMode = useDegenMode();\n\n if (!tokenTo) {\n return null;\n }\n\n if (showSinglePriceImpactWarning) {\n return (\n <Warning\n message={warningMessageByReason.unavailablePriceImpact}\n iconReplacement={<TriangleAlert size={18} />}\n classes={{\n ...swapWidgetWarningClasses,\n message: \"text-sm\",\n }}\n />\n );\n }\n\n if (priceImpact.isHighImpact || isMaxImpactReachedError) {\n return (\n <EnableDegenModeWarning\n title={warningMessageByReason.highPriceImpact}\n priceImpactPercent={priceImpact.priceImpact}\n tradeMode={tradeMode}\n />\n );\n }\n if (priceImpact.isUnavailable || isNoUsdPriceError) {\n return (\n <EnableDegenModeWarning\n title={warningMessageByReason.unavailablePriceImpact}\n priceImpactPercent={priceImpact.priceImpact}\n tradeMode={tradeMode}\n />\n );\n }\n\n if (degenMode) {\n return <DegenModeEnabledWarning />;\n }\n\n return null;\n};\n\nexport const SwapWidgetWarning = () => {\n const tokenTo = useSwapTokenTo();\n const {\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoLiquidityError,\n isDeltaNoAvailableBridgeOptionsError,\n isDeltaNoAvailablePricesError,\n isDeltaUnsupportedTokenError,\n getPriceImpact,\n } = useCurrentSwapPriceError();\n\n return (\n <GenericPriceImpactWarning\n tokenTo={tokenTo}\n priceImpact={getPriceImpact()}\n isMaxImpactReachedError={isMaxImpactReachedError}\n isNoUsdPriceError={isNoUsdPriceError}\n showSinglePriceImpactWarning={\n isNoLiquidityError ||\n isDeltaNoAvailableBridgeOptionsError ||\n isDeltaNoAvailablePricesError ||\n isDeltaUnsupportedTokenError\n }\n tradeMode=\"swap\"\n />\n );\n};\n\nconst TwapPriceImpactWarning = () => {\n const tokenTo = useTwapTokenTo();\n const {\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoAvailableBridgeOptionsError,\n isNoAvailablePricesError,\n isUnsupportedTokenError,\n getPriceImpact,\n } = useCurrentTwapPriceError();\n\n return (\n <GenericPriceImpactWarning\n tokenTo={tokenTo}\n priceImpact={getPriceImpact()}\n isMaxImpactReachedError={isMaxImpactReachedError}\n isNoUsdPriceError={isNoUsdPriceError}\n tradeMode=\"twap\"\n showSinglePriceImpactWarning={\n isUnsupportedTokenError ||\n isNoAvailablePricesError ||\n isNoAvailableBridgeOptionsError\n }\n />\n );\n};\n\nconst TwapSliceIntervalWarning = () => {\n const isSliceTooShort = useTwapSliceTooShort();\n\n if (!isSliceTooShort) {\n return null;\n }\n\n return (\n <Warning\n message={\n <>\n Each TWAP slice must be at least{\" \"}\n <Duration\n timeMs={TWAP_MIN_SLICE_INTERVAL_S * 1000}\n showSeconds\n classes={{\n root: \"inline-flex text-xs text-secondary-orange-peel-1 dark:text-secondary-orange-peel-1\",\n }}\n />{\" \"}\n apart\n </>\n }\n classes={{\n root: \"mt-4\",\n }}\n />\n );\n};\n\nexport const TwapWarnings = () => {\n return (\n <div className=\"flex flex-col\">\n <TwapSliceIntervalWarning />\n <TwapPriceImpactWarning />\n </div>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Warnings.js","names":["useCurrentChainConfig","Warning","WarningWithTitle","useSetOpenDrawer","useUnsupportedLimitChain","useUnsupportedOtcChain","useDegenMode","useWidgetConfig","useCurrentSwapPriceError","useCurrentTwapPriceError","useSwapTokenTo","useSetAtom","userTradeModeAtom","TradeMode","useWidgetTokens","selectLimitTokenFromAtom","selectLimitTokenToAtom","Token","TriangleAlert","DEGEN_MODE_MAX_IMPACT","useIsTokenSupportedInDeltaQuery","useTwapTokenTo","PriceImpactResult","useTwapSliceTooShort","TWAP_MIN_SLICE_INTERVAL_S","Duration","warningClasses","root","WidgetWarning","$","_c","chainConfig","chainName","name","limitNotSupported","otcNotSupported","t0","t1","DegenModeText","setOpenDrawer","swapWidgetWarningClasses","const","EnableDegenModeMessage","tokenFrom","tokenTo","priceImpactPercent","tradeMode","isTwap","isSwap","degenMode","enableDegenMode","setTradeMode","setLimitTokenFrom","setLimitTokenTo","address","network","token","chainId","data","isTokenFromSupported","t2","t3","t4","isTokenToSupported","belowThreshold","undefined","showEnableDegenModeMessage","canDoLimitOrder","t5","Symbol","for","t6","t7","EnableDegenModeWarning","title","DegenModeEnabledWarning","message","warningMessageByReason","highPriceImpact","unavailablePriceImpact","GenericPriceImpactWarning","priceImpact","isMaxImpactReachedError","isNoUsdPriceError","showSinglePriceImpactWarning","isHighImpact","isUnavailable","SwapWidgetWarning","isNoLiquidityError","isDeltaNoAvailableBridgeOptionsError","isDeltaNoAvailablePricesError","isDeltaUnsupportedTokenError","getPriceImpact","TwapPriceImpactWarning","isNoAvailableBridgeOptionsError","isNoAvailablePricesError","isUnsupportedTokenError","TwapSliceIntervalWarning","isSliceTooShort","TwapWarnings"],"sources":["../../src/core/Warnings.tsx"],"sourcesContent":["import { useCurrentChainConfig } from \"@/hooks/useCurrentChain\";\nimport { Warning, WarningWithTitle } from \"@/components/widget/Warning/Warning\";\nimport { useSetOpenDrawer } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\nimport { useWidgetConfig } from \"./state/configAtom\";\nimport { useCurrentSwapPriceError } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { useCurrentTwapPriceError } from \"@/hooks/swap/prices/useTwapPrices\";\nimport { useSwapTokenTo } from \"./inputs/state/selectedTokenAtom\";\nimport { useSetAtom } from \"./store\";\nimport { userTradeModeAtom, type TradeMode } from \"./state/tradeModeAtom\";\nimport { useWidgetTokens } from \"./inputs/state/common\";\nimport {\n selectLimitTokenFromAtom,\n selectLimitTokenToAtom,\n} from \"./limit/state/selectedTokenActionsAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { TriangleAlert } from \"lucide-react\";\nimport { DEGEN_MODE_MAX_IMPACT } from \"@/hooks/swap/prices/constants\";\nimport { useIsTokenSupportedInDeltaQuery } from \"@/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta\";\nimport { useTwapTokenTo } from \"./twap/state/twapTokenAtoms\";\nimport type { PriceImpactResult } from \"@/lib/utils/priceImpact\";\nimport { useTwapSliceTooShort } from \"./twap/state/twapParamsAtom\";\nimport { TWAP_MIN_SLICE_INTERVAL_S } from \"./twap/state/constants\";\nimport { Duration } from \"@/components/widget/Duration/Duration\";\n\nconst warningClasses = {\n root: \"mt-4\",\n};\n\nexport const WidgetWarning = () => {\n const chainConfig = useCurrentChainConfig();\n const chainName = chainConfig.name;\n\n const limitNotSupported = useUnsupportedLimitChain();\n const otcNotSupported = useUnsupportedOtcChain();\n\n if (limitNotSupported)\n return (\n <Warning\n message={`Limit Orders are not available yet on ${chainName}`}\n classes={warningClasses}\n />\n );\n\n if (otcNotSupported)\n return (\n <Warning\n message={`OTC Orders are not available yet on ${chainName}`}\n classes={warningClasses}\n />\n );\n\n return null;\n};\n\nconst DegenModeText = () => {\n const setOpenDrawer = useSetOpenDrawer();\n return (\n <span\n className=\"underline cursor-pointer\"\n onClick={() => {\n setOpenDrawer(\"trade-parameters-drawer\");\n }}\n >\n Degen Mode\n </span>\n );\n};\n\nconst swapWidgetWarningClasses = {\n root: \"mt-4 border-1 border-secondary-radical-red-1 rounded-xs bg-[rgba(255,43,82,0.05)] text-secondary-radical-red-1\",\n} as const;\n\nconst EnableDegenModeMessage = ({\n tokenFrom,\n tokenTo,\n priceImpactPercent,\n tradeMode,\n}: {\n tokenFrom: Token;\n tokenTo: Token;\n priceImpactPercent?: number;\n tradeMode: TradeMode;\n}) => {\n const isTwap = tradeMode === \"twap\";\n const isSwap = tradeMode === \"swap\";\n\n const degenMode = useDegenMode();\n const { enableDegenMode } = useWidgetConfig();\n\n const setTradeMode = useSetAtom(userTradeModeAtom);\n\n const setLimitTokenFrom = useSetAtom(selectLimitTokenFromAtom);\n const setLimitTokenTo = useSetAtom(selectLimitTokenToAtom);\n\n const { data: isTokenFromSupported } = useIsTokenSupportedInDeltaQuery({\n token: tokenFrom.address,\n chainId: tokenFrom.network,\n });\n const { data: isTokenToSupported } = useIsTokenSupportedInDeltaQuery({\n token: tokenTo?.address,\n chainId: tokenTo?.network || tokenFrom.network,\n });\n\n const belowThreshold =\n priceImpactPercent == undefined\n ? true\n : priceImpactPercent < DEGEN_MODE_MAX_IMPACT;\n const showEnableDegenModeMessage =\n enableDegenMode && !degenMode && belowThreshold;\n\n // doesn't make sense to switch the user to Limit if tokens aren't supported in Delta\n const canDoLimitOrder = isTokenFromSupported && isTokenToSupported;\n\n if (!canDoLimitOrder && isSwap) {\n if (!showEnableDegenModeMessage) return null;\n return (\n <div>\n Ape in anyway with <DegenModeText /> enabled (Not recommended).\n </div>\n );\n }\n\n return (\n <div>\n {isTwap ? (\n \"Consider increasing the Order Split for a safer price impact\"\n ) : (\n <>\n Use a{\" \"}\n <span\n className=\"underline cursor-pointer\"\n onClick={() => {\n setTradeMode(\"limit\");\n setLimitTokenFrom(tokenFrom);\n setLimitTokenTo(tokenTo);\n }}\n >\n Limit Order\n </span>{\" \"}\n for a better fill\n </>\n )}\n {showEnableDegenModeMessage ? (\n <>\n , or ape in anyway with <DegenModeText /> enabled (Not recommended).\n </>\n ) : (\n \".\"\n )}\n </div>\n );\n};\n\nconst EnableDegenModeWarning = ({\n title,\n priceImpactPercent,\n tradeMode,\n}: {\n title: string;\n priceImpactPercent?: number;\n tradeMode: TradeMode;\n}) => {\n const { tokenFrom, tokenTo } = useWidgetTokens(tradeMode);\n\n if (!tokenTo) {\n return null;\n }\n\n return (\n <WarningWithTitle\n title={title}\n iconReplacement={<TriangleAlert size={18} />}\n message={\n <EnableDegenModeMessage\n tokenFrom={tokenFrom}\n tokenTo={tokenTo}\n priceImpactPercent={priceImpactPercent}\n tradeMode={tradeMode}\n />\n }\n classes={swapWidgetWarningClasses}\n />\n );\n};\n\nconst DegenModeEnabledWarning = () => {\n return (\n <Warning\n message={\"You have turned on Degen Mode. Be cautious.\"}\n iconReplacement={<TriangleAlert size={18} />}\n classes={{\n ...swapWidgetWarningClasses,\n message: \"text-sm\",\n }}\n />\n );\n};\n\nconst warningMessageByReason = {\n highPriceImpact:\n // explicit threshold breach, more severe warning\n \"High price impact — expect heavy slippage.\",\n unavailablePriceImpact:\n // unable to calculate price impact, more generic warning\n \"Price impact couldn't be calculated.\",\n} as const;\n\nconst GenericPriceImpactWarning = ({\n tokenTo,\n priceImpact,\n isMaxImpactReachedError,\n isNoUsdPriceError,\n showSinglePriceImpactWarning,\n tradeMode,\n}: {\n tokenTo?: Token;\n priceImpact: PriceImpactResult;\n isMaxImpactReachedError: boolean;\n isNoUsdPriceError: boolean;\n showSinglePriceImpactWarning?: boolean;\n tradeMode: TradeMode;\n}) => {\n const degenMode = useDegenMode();\n\n if (!tokenTo) {\n return null;\n }\n\n if (showSinglePriceImpactWarning) {\n return (\n <Warning\n message={warningMessageByReason.unavailablePriceImpact}\n iconReplacement={<TriangleAlert size={18} />}\n classes={{\n ...swapWidgetWarningClasses,\n message: \"text-sm\",\n }}\n />\n );\n }\n\n if (priceImpact.isHighImpact || isMaxImpactReachedError) {\n return (\n <EnableDegenModeWarning\n title={warningMessageByReason.highPriceImpact}\n priceImpactPercent={priceImpact.priceImpact}\n tradeMode={tradeMode}\n />\n );\n }\n if (priceImpact.isUnavailable || isNoUsdPriceError) {\n return (\n <EnableDegenModeWarning\n title={warningMessageByReason.unavailablePriceImpact}\n priceImpactPercent={priceImpact.priceImpact}\n tradeMode={tradeMode}\n />\n );\n }\n\n if (degenMode) {\n return <DegenModeEnabledWarning />;\n }\n\n return null;\n};\n\nexport const SwapWidgetWarning = () => {\n const tokenTo = useSwapTokenTo();\n const {\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoLiquidityError,\n isDeltaNoAvailableBridgeOptionsError,\n isDeltaNoAvailablePricesError,\n isDeltaUnsupportedTokenError,\n getPriceImpact,\n } = useCurrentSwapPriceError();\n\n return (\n <GenericPriceImpactWarning\n tokenTo={tokenTo}\n priceImpact={getPriceImpact()}\n isMaxImpactReachedError={isMaxImpactReachedError}\n isNoUsdPriceError={isNoUsdPriceError}\n showSinglePriceImpactWarning={\n isNoLiquidityError ||\n isDeltaNoAvailableBridgeOptionsError ||\n isDeltaNoAvailablePricesError ||\n isDeltaUnsupportedTokenError\n }\n tradeMode=\"swap\"\n />\n );\n};\n\nconst TwapPriceImpactWarning = () => {\n const tokenTo = useTwapTokenTo();\n const {\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoAvailableBridgeOptionsError,\n isNoAvailablePricesError,\n isUnsupportedTokenError,\n getPriceImpact,\n } = useCurrentTwapPriceError();\n\n return (\n <GenericPriceImpactWarning\n tokenTo={tokenTo}\n priceImpact={getPriceImpact()}\n isMaxImpactReachedError={isMaxImpactReachedError}\n isNoUsdPriceError={isNoUsdPriceError}\n tradeMode=\"twap\"\n showSinglePriceImpactWarning={\n isUnsupportedTokenError ||\n isNoAvailablePricesError ||\n isNoAvailableBridgeOptionsError\n }\n />\n );\n};\n\nconst TwapSliceIntervalWarning = () => {\n const isSliceTooShort = useTwapSliceTooShort();\n\n if (!isSliceTooShort) {\n return null;\n }\n\n return (\n <Warning\n message={\n <>\n Each TWAP slice must be at least{\" \"}\n <Duration\n timeMs={TWAP_MIN_SLICE_INTERVAL_S * 1000}\n showSeconds\n classes={{\n root: \"inline-flex text-xs text-secondary-orange-peel-1 dark:text-secondary-orange-peel-1\",\n }}\n />{\" \"}\n apart\n </>\n }\n classes={{\n root: \"mt-4\",\n }}\n />\n );\n};\n\nexport const TwapWarnings = () => {\n return (\n <div className=\"flex flex-col\">\n <TwapSliceIntervalWarning />\n <TwapPriceImpactWarning />\n </div>\n );\n};\n"],"mappings":"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"}
|