@velora-dex/widget 0.4.12-dev.3 → 0.4.12

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 (205) hide show
  1. package/dist/components/widget/BridgeList/BridgeListItem.d.ts.map +1 -1
  2. package/dist/components/widget/BridgeList/BridgeListItem.js +1 -1
  3. package/dist/components/widget/BridgeList/BridgeListItem.js.map +1 -1
  4. package/dist/components/widget/BridgeList/hooks.d.ts.map +1 -1
  5. package/dist/components/widget/BridgeList/hooks.js +3 -13
  6. package/dist/components/widget/BridgeList/hooks.js.map +1 -1
  7. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.d.ts.map +1 -1
  8. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js +3 -3
  9. package/dist/components/widget/LimitOrderItem/LimitOrderListItem.js.map +1 -1
  10. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.d.ts.map +1 -1
  11. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js +1 -1
  12. package/dist/components/widget/SwapModeSwitcher/state/swapModeActionsAtom.js.map +1 -1
  13. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.d.ts.map +1 -1
  14. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js +0 -5
  15. package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js.map +1 -1
  16. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
  17. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +40 -37
  18. package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
  19. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
  20. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +36 -34
  21. package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
  22. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts +6 -1
  23. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.d.ts.map +1 -1
  24. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js +45 -30
  25. package/dist/components/widget/TradeOverview/utils/useSwapAmountsWithSlippage.js.map +1 -1
  26. package/dist/components/widget/TradeParameters/DegenModeConfirmation.d.ts.map +1 -1
  27. package/dist/components/widget/TradeParameters/DegenModeConfirmation.js +6 -3
  28. package/dist/components/widget/TradeParameters/DegenModeConfirmation.js.map +1 -1
  29. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.d.ts +1 -1
  30. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.d.ts.map +1 -1
  31. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js +2 -5
  32. package/dist/components/widget/TradeParameters/state/bridgePreferences/bridgePreferenceAtom.js.map +1 -1
  33. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.d.ts +1 -1
  34. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.d.ts.map +1 -1
  35. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js +2 -5
  36. package/dist/components/widget/TradeParameters/state/bridgePreferences/disabledBridgesAtom.js.map +1 -1
  37. package/dist/components/widget/TradeParameters/state/constants.d.ts +3 -0
  38. package/dist/components/widget/TradeParameters/state/constants.d.ts.map +1 -1
  39. package/dist/components/widget/TradeParameters/state/constants.js +4 -1
  40. package/dist/components/widget/TradeParameters/state/constants.js.map +1 -1
  41. package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.d.ts +1 -1
  42. package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.d.ts.map +1 -1
  43. package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js +1 -1
  44. package/dist/components/widget/TradeParameters/state/deltaParamActionsAtom.js.map +1 -1
  45. package/dist/components/widget/TradeParameters/state/deltaParamAtom.d.ts +1 -4
  46. package/dist/components/widget/TradeParameters/state/deltaParamAtom.d.ts.map +1 -1
  47. package/dist/components/widget/TradeParameters/state/deltaParamAtom.js +4 -3
  48. package/dist/components/widget/TradeParameters/state/deltaParamAtom.js.map +1 -1
  49. package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.d.ts +1 -4
  50. package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.d.ts.map +1 -1
  51. package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.js +4 -3
  52. package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.js.map +1 -1
  53. package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.d.ts +2 -6
  54. package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.d.ts.map +1 -1
  55. package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js +4 -3
  56. package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js.map +1 -1
  57. package/dist/components/widget/TradeParameters/state/slippageParamAtom.d.ts +3 -2
  58. package/dist/components/widget/TradeParameters/state/slippageParamAtom.d.ts.map +1 -1
  59. package/dist/components/widget/TradeParameters/state/slippageParamAtom.js +9 -3
  60. package/dist/components/widget/TradeParameters/state/slippageParamAtom.js.map +1 -1
  61. package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.d.ts +5 -0
  62. package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.d.ts.map +1 -0
  63. package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js +32 -0
  64. package/dist/components/widget/TradeParameters/state/tradePreferencesAtom.js.map +1 -0
  65. package/dist/components/widget/TradeParameters/state/types.d.ts +11 -0
  66. package/dist/components/widget/TradeParameters/state/types.d.ts.map +1 -0
  67. package/dist/components/widget/TradeParameters/useTempTradeParameters.d.ts.map +1 -1
  68. package/dist/components/widget/TradeParameters/useTempTradeParameters.js +6 -7
  69. package/dist/components/widget/TradeParameters/useTempTradeParameters.js.map +1 -1
  70. package/dist/components/widget/Warning/Warning.d.ts +3 -2
  71. package/dist/components/widget/Warning/Warning.d.ts.map +1 -1
  72. package/dist/components/widget/Warning/Warning.js +74 -50
  73. package/dist/components/widget/Warning/Warning.js.map +1 -1
  74. package/dist/components/widget/Warning/types.d.ts +2 -1
  75. package/dist/components/widget/Warning/types.d.ts.map +1 -1
  76. package/dist/configurator/state/themeAtom.d.ts +1 -1
  77. package/dist/core/Updaters.d.ts.map +1 -1
  78. package/dist/core/Updaters.js +2 -0
  79. package/dist/core/Updaters.js.map +1 -1
  80. package/dist/core/Warnings.d.ts.map +1 -1
  81. package/dist/core/Warnings.js +174 -72
  82. package/dist/core/Warnings.js.map +1 -1
  83. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  84. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +43 -34
  85. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  86. package/dist/core/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
  87. package/dist/core/inputs/hooks/useTokenToInputProps.js +7 -11
  88. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  89. package/dist/core/limit/state/limitInputAmountAtom.js +1 -1
  90. package/dist/core/limit/state/limitInputAmountAtom.js.map +1 -1
  91. package/dist/core/limit/useLimitPriceInputProps.d.ts.map +1 -1
  92. package/dist/core/limit/useLimitPriceInputProps.js +53 -72
  93. package/dist/core/limit/useLimitPriceInputProps.js.map +1 -1
  94. package/dist/core/swapDetails/priceImpact.d.ts +2 -3
  95. package/dist/core/swapDetails/priceImpact.d.ts.map +1 -1
  96. package/dist/core/swapDetails/priceImpact.js +4 -16
  97. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  98. package/dist/core/swapDetails/useSwapDetailsListProps.js +82 -80
  99. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  100. package/dist/hooks/permit/utils/deadlines.js +1 -1
  101. package/dist/hooks/permit/utils/deadlines.js.map +1 -1
  102. package/dist/hooks/swap/prices/constants.d.ts +1 -0
  103. package/dist/hooks/swap/prices/constants.d.ts.map +1 -1
  104. package/dist/hooks/swap/prices/constants.js +2 -1
  105. package/dist/hooks/swap/prices/constants.js.map +1 -1
  106. package/dist/hooks/swap/prices/delta/bridge/utils.js +0 -2
  107. package/dist/hooks/swap/prices/delta/bridge/utils.js.map +1 -1
  108. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  109. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js +15 -0
  110. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  111. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts +1 -0
  112. package/dist/hooks/swap/prices/delta/mutations/utils.d.ts.map +1 -1
  113. package/dist/hooks/swap/prices/delta/mutations/utils.js +10 -1
  114. package/dist/hooks/swap/prices/delta/mutations/utils.js.map +1 -1
  115. package/dist/hooks/swap/prices/delta/orders/types.d.ts +1 -1
  116. package/dist/hooks/swap/prices/delta/orders/types.d.ts.map +1 -1
  117. package/dist/hooks/swap/prices/delta/orders/unposted/const.d.ts +5 -0
  118. package/dist/hooks/swap/prices/delta/orders/unposted/const.d.ts.map +1 -0
  119. package/dist/hooks/swap/prices/delta/orders/unposted/const.js +8 -0
  120. package/dist/hooks/swap/prices/delta/orders/unposted/const.js.map +1 -0
  121. package/dist/hooks/swap/prices/delta/orders/unposted/effect.d.ts +2 -0
  122. package/dist/hooks/swap/prices/delta/orders/unposted/effect.d.ts.map +1 -0
  123. package/dist/hooks/swap/prices/delta/orders/unposted/effect.js +28 -0
  124. package/dist/hooks/swap/prices/delta/orders/unposted/effect.js.map +1 -0
  125. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts +8 -0
  126. package/dist/hooks/swap/prices/delta/orders/unposted/index.d.ts.map +1 -0
  127. package/dist/hooks/swap/prices/delta/orders/unposted/index.js +34 -0
  128. package/dist/hooks/swap/prices/delta/orders/unposted/index.js.map +1 -0
  129. package/dist/hooks/swap/prices/delta/orders/unposted/storage.d.ts +8 -0
  130. package/dist/hooks/swap/prices/delta/orders/unposted/storage.d.ts.map +1 -0
  131. package/dist/hooks/swap/prices/delta/orders/unposted/storage.js +47 -0
  132. package/dist/hooks/swap/prices/delta/orders/unposted/storage.js.map +1 -0
  133. package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts +16 -0
  134. package/dist/hooks/swap/prices/delta/orders/unposted/types.d.ts.map +1 -0
  135. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts +3 -0
  136. package/dist/hooks/swap/prices/delta/orders/unposted/utils.d.ts.map +1 -0
  137. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js +103 -0
  138. package/dist/hooks/swap/prices/delta/orders/unposted/utils.js.map +1 -0
  139. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +7 -0
  140. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  141. package/dist/hooks/swap/prices/delta/orders/utils.js +10 -4
  142. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  143. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts +9 -4
  144. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts.map +1 -1
  145. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js +19 -1
  146. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.js.map +1 -1
  147. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +1 -0
  148. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  149. package/dist/hooks/swap/prices/factory.d.ts +7 -0
  150. package/dist/hooks/swap/prices/factory.d.ts.map +1 -0
  151. package/dist/hooks/swap/prices/factory.js +35 -0
  152. package/dist/hooks/swap/prices/factory.js.map +1 -0
  153. package/dist/hooks/swap/prices/market/queries/errors.d.ts +8 -3
  154. package/dist/hooks/swap/prices/market/queries/errors.d.ts.map +1 -1
  155. package/dist/hooks/swap/prices/market/queries/errors.js +7 -3
  156. package/dist/hooks/swap/prices/market/queries/errors.js.map +1 -1
  157. package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
  158. package/dist/hooks/swap/prices/usePricesParams.js +2 -1
  159. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  160. package/dist/hooks/swap/prices/useSwapPrices.d.ts +3 -1
  161. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  162. package/dist/hooks/swap/prices/useSwapPrices.js +107 -64
  163. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  164. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts +1 -0
  165. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -1
  166. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +49 -39
  167. package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -1
  168. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.d.ts.map +1 -1
  169. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js +17 -9
  170. package/dist/hooks/swap/tradeFlow/common/useDepositAndSubmitDeltaOrder.js.map +1 -1
  171. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.d.ts.map +1 -1
  172. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js +21 -35
  173. package/dist/hooks/swap/tradeFlow/common/usePreSignAndSubmitDeltaOrder.js.map +1 -1
  174. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  175. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +17 -5
  176. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  177. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js +1 -0
  178. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  179. package/dist/hooks/useSDK.js +2 -34
  180. package/dist/hooks/useSDK.js.map +1 -1
  181. package/dist/lib/utils/priceImpact.d.ts +5 -1
  182. package/dist/lib/utils/priceImpact.d.ts.map +1 -1
  183. package/dist/lib/utils/priceImpact.js +1 -1
  184. package/dist/lib/utils/priceImpact.js.map +1 -1
  185. package/dist/tokens/lists/lists.json.d.ts +78 -17
  186. package/dist/tokens/lists/lists.json.js +1 -337
  187. package/dist/tokens/lists/lists.json.js.map +1 -1
  188. package/dist/tokens/state/importedTokensAtom.d.ts +1 -1
  189. package/dist/transactions/state/transactionsAtom.d.ts +2 -1
  190. package/dist/transactions/state/transactionsAtom.d.ts.map +1 -1
  191. package/dist/transactions/state/transactionsAtom.js +6 -2
  192. package/dist/transactions/state/transactionsAtom.js.map +1 -1
  193. package/dist/transactions/types.d.ts +1 -0
  194. package/dist/transactions/types.d.ts.map +1 -1
  195. package/dist/transactions/utils.d.ts +2 -1
  196. package/dist/transactions/utils.d.ts.map +1 -1
  197. package/dist/transactions/utils.js +4 -1
  198. package/dist/transactions/utils.js.map +1 -1
  199. package/package.json +2 -2
  200. package/dist/components/widget/TradeParameters/state/resetParamsAtom.d.ts +0 -4
  201. package/dist/components/widget/TradeParameters/state/resetParamsAtom.d.ts.map +0 -1
  202. package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.d.ts +0 -4
  203. package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.d.ts.map +0 -1
  204. package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.js +0 -12
  205. package/dist/components/widget/TradeParameters/state/slippageParamActionsAtom.js.map +0 -1
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { d as distExports } from '../_virtual/index.js';
3
3
  import { useCurrentChainConfig } from '../hooks/useCurrentChain.js';
4
- import { Warning, WarningWithTitle } from '../components/widget/Warning/Warning.js';
4
+ import { WarningWithTitle, Warning } from '../components/widget/Warning/Warning.js';
5
5
  import { useSetOpenDrawer } from '../components/widget/Drawer/state/useDrawerControls.js';
6
6
  import { useUnsupportedLimitChain } from './limit/useLimitNotSupported.js';
7
7
  import { useUnsupportedOtcChain } from './otc/useOtcNotSupported.js';
@@ -13,6 +13,9 @@ import { useSetAtom } from './store.js';
13
13
  import { userTradeModeAtom } from './state/tradeModeAtom.js';
14
14
  import { useWidgetTokens } from './inputs/state/common.js';
15
15
  import { selectLimitTokenFromAtom, selectLimitTokenToAtom } from './limit/state/selectedTokenActionsAtom.js';
16
+ import { TriangleAlert } from 'lucide-react';
17
+ import { DEGEN_MODE_MAX_IMPACT } from '../hooks/swap/prices/constants.js';
18
+ import { useIsTokenSupportedInDeltaQuery } from '../hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js';
16
19
 
17
20
  const warningClasses = {
18
21
  root: "mt-4"
@@ -49,77 +52,140 @@ const WidgetWarning = () => {
49
52
  }
50
53
  return null;
51
54
  };
55
+ const DegenModeText = () => {
56
+ const $ = distExports.c(2);
57
+ const setOpenDrawer = useSetOpenDrawer();
58
+ let t0;
59
+ if ($[0] !== setOpenDrawer) {
60
+ t0 = /* @__PURE__ */ jsx("span", { className: "underline cursor-pointer", onClick: () => {
61
+ setOpenDrawer("trade-parameters-drawer");
62
+ }, children: "Degen Mode" });
63
+ $[0] = setOpenDrawer;
64
+ $[1] = t0;
65
+ } else {
66
+ t0 = $[1];
67
+ }
68
+ return t0;
69
+ };
52
70
  const swapWidgetWarningClasses = {
53
71
  root: "mt-4 border-1 border-secondary-radical-red-1 rounded-xs bg-[rgba(255,43,82,0.05)] text-secondary-radical-red-1"
54
72
  };
55
73
  const EnableDegenModeMessage = (t0) => {
56
- const $ = distExports.c(12);
74
+ const $ = distExports.c(18);
57
75
  const {
58
76
  tokenFrom,
59
- tokenTo
77
+ tokenTo,
78
+ priceImpactPercent
60
79
  } = t0;
61
80
  const degenMode = useDegenMode();
62
81
  const {
63
82
  enableDegenMode
64
83
  } = useWidgetConfig();
65
- const setOpenDrawer = useSetOpenDrawer();
66
84
  const setTradeMode = useSetAtom(userTradeModeAtom);
67
85
  const setLimitTokenFrom = useSetAtom(selectLimitTokenFromAtom);
68
86
  const setLimitTokenTo = useSetAtom(selectLimitTokenToAtom);
69
- const showEnableDegenModeMessage = enableDegenMode && !degenMode;
70
87
  let t1;
71
- if ($[0] !== setLimitTokenFrom || $[1] !== setLimitTokenTo || $[2] !== setTradeMode || $[3] !== tokenFrom || $[4] !== tokenTo) {
72
- t1 = /* @__PURE__ */ jsx("span", { className: "underline cursor-pointer", onClick: () => {
88
+ if ($[0] !== tokenFrom.address || $[1] !== tokenFrom.network) {
89
+ t1 = {
90
+ token: tokenFrom.address,
91
+ chainId: tokenFrom.network
92
+ };
93
+ $[0] = tokenFrom.address;
94
+ $[1] = tokenFrom.network;
95
+ $[2] = t1;
96
+ } else {
97
+ t1 = $[2];
98
+ }
99
+ const {
100
+ data: isTokenFromSupported
101
+ } = useIsTokenSupportedInDeltaQuery(t1);
102
+ const t2 = tokenTo?.address;
103
+ const t3 = tokenTo?.network || tokenFrom.network;
104
+ let t4;
105
+ if ($[3] !== t2 || $[4] !== t3) {
106
+ t4 = {
107
+ token: t2,
108
+ chainId: t3
109
+ };
110
+ $[3] = t2;
111
+ $[4] = t3;
112
+ $[5] = t4;
113
+ } else {
114
+ t4 = $[5];
115
+ }
116
+ const {
117
+ data: isTokenToSupported
118
+ } = useIsTokenSupportedInDeltaQuery(t4);
119
+ const belowThreshold = priceImpactPercent == void 0 ? true : priceImpactPercent < DEGEN_MODE_MAX_IMPACT;
120
+ const showEnableDegenModeMessage = enableDegenMode && !degenMode && belowThreshold;
121
+ if (!isTokenFromSupported || !isTokenToSupported) {
122
+ if (!showEnableDegenModeMessage) {
123
+ return null;
124
+ }
125
+ let t52;
126
+ if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
127
+ t52 = /* @__PURE__ */ jsxs("div", { children: [
128
+ "Ape in anyway with ",
129
+ /* @__PURE__ */ jsx(DegenModeText, {}),
130
+ " enabled."
131
+ ] });
132
+ $[6] = t52;
133
+ } else {
134
+ t52 = $[6];
135
+ }
136
+ return t52;
137
+ }
138
+ let t5;
139
+ if ($[7] !== setLimitTokenFrom || $[8] !== setLimitTokenTo || $[9] !== setTradeMode || $[10] !== tokenFrom || $[11] !== tokenTo) {
140
+ t5 = /* @__PURE__ */ jsx("span", { className: "underline cursor-pointer", onClick: () => {
73
141
  setTradeMode("limit");
74
142
  setLimitTokenFrom(tokenFrom);
75
143
  setLimitTokenTo(tokenTo);
76
144
  }, children: "Limit Order" });
77
- $[0] = setLimitTokenFrom;
78
- $[1] = setLimitTokenTo;
79
- $[2] = setTradeMode;
80
- $[3] = tokenFrom;
81
- $[4] = tokenTo;
82
- $[5] = t1;
145
+ $[7] = setLimitTokenFrom;
146
+ $[8] = setLimitTokenTo;
147
+ $[9] = setTradeMode;
148
+ $[10] = tokenFrom;
149
+ $[11] = tokenTo;
150
+ $[12] = t5;
83
151
  } else {
84
- t1 = $[5];
152
+ t5 = $[12];
85
153
  }
86
- let t2;
87
- if ($[6] !== setOpenDrawer || $[7] !== showEnableDegenModeMessage) {
88
- t2 = showEnableDegenModeMessage ? /* @__PURE__ */ jsxs(Fragment, { children: [
89
- ", or ape in anyway with",
90
- " ",
91
- /* @__PURE__ */ jsx("span", { className: "underline cursor-pointer", onClick: () => setOpenDrawer("trade-parameters-drawer"), children: "Degen Mode" }),
92
- " ",
93
- "enabled."
154
+ let t6;
155
+ if ($[13] !== showEnableDegenModeMessage) {
156
+ t6 = showEnableDegenModeMessage ? /* @__PURE__ */ jsxs(Fragment, { children: [
157
+ ", or ape in anyway with ",
158
+ /* @__PURE__ */ jsx(DegenModeText, {}),
159
+ " enabled."
94
160
  ] }) : ".";
95
- $[6] = setOpenDrawer;
96
- $[7] = showEnableDegenModeMessage;
97
- $[8] = t2;
161
+ $[13] = showEnableDegenModeMessage;
162
+ $[14] = t6;
98
163
  } else {
99
- t2 = $[8];
164
+ t6 = $[14];
100
165
  }
101
- let t3;
102
- if ($[9] !== t1 || $[10] !== t2) {
103
- t3 = /* @__PURE__ */ jsxs("div", { children: [
166
+ let t7;
167
+ if ($[15] !== t5 || $[16] !== t6) {
168
+ t7 = /* @__PURE__ */ jsxs("div", { children: [
104
169
  "Use a",
105
170
  " ",
106
- t1,
171
+ t5,
107
172
  " ",
108
173
  "for a better fill",
109
- t2
174
+ t6
110
175
  ] });
111
- $[9] = t1;
112
- $[10] = t2;
113
- $[11] = t3;
176
+ $[15] = t5;
177
+ $[16] = t6;
178
+ $[17] = t7;
114
179
  } else {
115
- t3 = $[11];
180
+ t7 = $[17];
116
181
  }
117
- return t3;
182
+ return t7;
118
183
  };
119
184
  const EnableDegenModeWarning = (t0) => {
120
- const $ = distExports.c(6);
185
+ const $ = distExports.c(8);
121
186
  const {
122
- title
187
+ title,
188
+ priceImpactPercent
123
189
  } = t0;
124
190
  const {
125
191
  tokenFrom,
@@ -129,30 +195,41 @@ const EnableDegenModeWarning = (t0) => {
129
195
  return null;
130
196
  }
131
197
  let t1;
132
- if ($[0] !== tokenFrom || $[1] !== tokenTo) {
133
- t1 = /* @__PURE__ */ jsx(EnableDegenModeMessage, { tokenFrom, tokenTo });
134
- $[0] = tokenFrom;
135
- $[1] = tokenTo;
136
- $[2] = t1;
198
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
199
+ t1 = /* @__PURE__ */ jsx(TriangleAlert, { size: 18 });
200
+ $[0] = t1;
137
201
  } else {
138
- t1 = $[2];
202
+ t1 = $[0];
139
203
  }
140
204
  let t2;
141
- if ($[3] !== t1 || $[4] !== title) {
142
- t2 = /* @__PURE__ */ jsx(WarningWithTitle, { title, message: t1, classes: swapWidgetWarningClasses });
143
- $[3] = t1;
144
- $[4] = title;
205
+ if ($[1] !== priceImpactPercent || $[2] !== tokenFrom || $[3] !== tokenTo) {
206
+ t2 = /* @__PURE__ */ jsx(EnableDegenModeMessage, { tokenFrom, tokenTo, priceImpactPercent });
207
+ $[1] = priceImpactPercent;
208
+ $[2] = tokenFrom;
209
+ $[3] = tokenTo;
210
+ $[4] = t2;
211
+ } else {
212
+ t2 = $[4];
213
+ }
214
+ let t3;
215
+ if ($[5] !== t2 || $[6] !== title) {
216
+ t3 = /* @__PURE__ */ jsx(WarningWithTitle, { title, iconReplacement: t1, message: t2, classes: swapWidgetWarningClasses });
145
217
  $[5] = t2;
218
+ $[6] = title;
219
+ $[7] = t3;
146
220
  } else {
147
- t2 = $[5];
221
+ t3 = $[7];
148
222
  }
149
- return t2;
223
+ return t3;
150
224
  };
151
225
  const DegenModeEnabledWarning = () => {
152
226
  const $ = distExports.c(1);
153
227
  let t0;
154
228
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
155
- t0 = /* @__PURE__ */ jsx(Warning, { message: "You have turned on Degen Mode. Be cautious.", classes: swapWidgetWarningClasses });
229
+ t0 = /* @__PURE__ */ jsx(Warning, { message: "You have turned on Degen Mode. Be cautious.", iconReplacement: /* @__PURE__ */ jsx(TriangleAlert, { size: 18 }), classes: {
230
+ ...swapWidgetWarningClasses,
231
+ message: "text-sm"
232
+ } });
156
233
  $[0] = t0;
157
234
  } else {
158
235
  t0 = $[0];
@@ -170,46 +247,71 @@ const warningMessageByReason = {
170
247
  )
171
248
  };
172
249
  const SwapWidgetWarning = () => {
173
- const $ = distExports.c(3);
250
+ const $ = distExports.c(8);
174
251
  const degenMode = useDegenMode();
175
252
  const tokenTo = useSwapTokenTo();
176
253
  const {
177
254
  isMaxImpactReachedError,
178
255
  isNoUsdPriceError,
179
- priceImpact
256
+ isNoLiquidityError,
257
+ getPriceImpact
180
258
  } = useCurrentSwapPriceError();
181
259
  if (!tokenTo) {
182
260
  return null;
183
261
  }
184
- if (priceImpact?.isHighImpact || isMaxImpactReachedError) {
185
- let t0;
262
+ if (isNoLiquidityError) {
263
+ let t02;
186
264
  if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
187
- t0 = /* @__PURE__ */ jsx(EnableDegenModeWarning, { title: warningMessageByReason.highPriceImpact });
188
- $[0] = t0;
265
+ t02 = /* @__PURE__ */ jsx(Warning, { message: warningMessageByReason.unavailablePriceImpact, iconReplacement: /* @__PURE__ */ jsx(TriangleAlert, { size: 18 }), classes: {
266
+ ...swapWidgetWarningClasses,
267
+ message: "text-sm"
268
+ } });
269
+ $[0] = t02;
189
270
  } else {
190
- t0 = $[0];
271
+ t02 = $[0];
191
272
  }
192
- return t0;
273
+ return t02;
193
274
  }
194
- if (priceImpact?.isUnavailable || isNoUsdPriceError) {
195
- let t0;
196
- if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
197
- t0 = /* @__PURE__ */ jsx(EnableDegenModeWarning, { title: warningMessageByReason.unavailablePriceImpact });
198
- $[1] = t0;
275
+ let t0;
276
+ if ($[1] !== getPriceImpact) {
277
+ t0 = getPriceImpact();
278
+ $[1] = getPriceImpact;
279
+ $[2] = t0;
280
+ } else {
281
+ t0 = $[2];
282
+ }
283
+ const priceImpact = t0;
284
+ if (priceImpact.isHighImpact || isMaxImpactReachedError) {
285
+ let t1;
286
+ if ($[3] !== priceImpact.priceImpact) {
287
+ t1 = /* @__PURE__ */ jsx(EnableDegenModeWarning, { title: warningMessageByReason.highPriceImpact, priceImpactPercent: priceImpact.priceImpact });
288
+ $[3] = priceImpact.priceImpact;
289
+ $[4] = t1;
199
290
  } else {
200
- t0 = $[1];
291
+ t1 = $[4];
201
292
  }
202
- return t0;
293
+ return t1;
294
+ }
295
+ if (priceImpact.isUnavailable || isNoUsdPriceError) {
296
+ let t1;
297
+ if ($[5] !== priceImpact.priceImpact) {
298
+ t1 = /* @__PURE__ */ jsx(EnableDegenModeWarning, { title: warningMessageByReason.unavailablePriceImpact, priceImpactPercent: priceImpact.priceImpact });
299
+ $[5] = priceImpact.priceImpact;
300
+ $[6] = t1;
301
+ } else {
302
+ t1 = $[6];
303
+ }
304
+ return t1;
203
305
  }
204
306
  if (degenMode) {
205
- let t0;
206
- if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
207
- t0 = /* @__PURE__ */ jsx(DegenModeEnabledWarning, {});
208
- $[2] = t0;
307
+ let t1;
308
+ if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
309
+ t1 = /* @__PURE__ */ jsx(DegenModeEnabledWarning, {});
310
+ $[7] = t1;
209
311
  } else {
210
- t0 = $[2];
312
+ t1 = $[7];
211
313
  }
212
- return t0;
314
+ return t1;
213
315
  }
214
316
  return null;
215
317
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Warnings.js","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 { useSwapTokenTo } from \"./inputs/state/selectedTokenAtom\";\nimport { useSetAtom } from \"./store\";\nimport { userTradeModeAtom } 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\";\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 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};\n\nconst EnableDegenModeMessage = ({\n tokenFrom,\n tokenTo,\n}: {\n tokenFrom: Token;\n tokenTo: Token;\n}) => {\n const degenMode = useDegenMode();\n const { enableDegenMode } = useWidgetConfig();\n\n const setOpenDrawer = useSetOpenDrawer();\n const setTradeMode = useSetAtom(userTradeModeAtom);\n\n const setLimitTokenFrom = useSetAtom(selectLimitTokenFromAtom);\n const setLimitTokenTo = useSetAtom(selectLimitTokenToAtom);\n\n const showEnableDegenModeMessage = enableDegenMode && !degenMode;\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{\" \"}\n <span\n className=\"underline cursor-pointer\"\n onClick={() => setOpenDrawer(\"trade-parameters-drawer\")}\n >\n Degen Mode\n </span>{\" \"}\n enabled.\n </>\n ) : (\n \".\"\n )}\n </div>\n );\n};\n\nconst EnableDegenModeWarning = ({ title }: { title: string }) => {\n const { tokenFrom, tokenTo } = useWidgetTokens(\"swap\");\n\n if (!tokenTo) {\n return null;\n }\n\n return (\n <WarningWithTitle\n title={title}\n message={\n <EnableDegenModeMessage tokenFrom={tokenFrom} tokenTo={tokenTo} />\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 classes={swapWidgetWarningClasses}\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\nexport const SwapWidgetWarning = () => {\n const degenMode = useDegenMode();\n\n const tokenTo = useSwapTokenTo();\n const { isMaxImpactReachedError, isNoUsdPriceError, priceImpact } =\n useCurrentSwapPriceError();\n\n if (!tokenTo) {\n return null;\n }\n\n if (priceImpact?.isHighImpact || isMaxImpactReachedError) {\n return (\n <EnableDegenModeWarning title={warningMessageByReason.highPriceImpact} />\n );\n }\n if (priceImpact?.isUnavailable || isNoUsdPriceError) {\n return (\n <EnableDegenModeWarning\n title={warningMessageByReason.unavailablePriceImpact}\n />\n );\n }\n\n if (degenMode) {\n return <DegenModeEnabledWarning />;\n }\n\n return null;\n};\n"],"names":["warningClasses","root","WidgetWarning","$","_c","chainConfig","useCurrentChainConfig","chainName","name","limitNotSupported","useUnsupportedLimitChain","otcNotSupported","useUnsupportedOtcChain","t0","t1","swapWidgetWarningClasses","EnableDegenModeMessage","tokenFrom","tokenTo","degenMode","useDegenMode","enableDegenMode","useWidgetConfig","setOpenDrawer","useSetOpenDrawer","setTradeMode","useSetAtom","userTradeModeAtom","setLimitTokenFrom","selectLimitTokenFromAtom","setLimitTokenTo","selectLimitTokenToAtom","showEnableDegenModeMessage","t2","t3","EnableDegenModeWarning","title","useWidgetTokens","DegenModeEnabledWarning","Symbol","for","warningMessageByReason","highPriceImpact","unavailablePriceImpact","SwapWidgetWarning","useSwapTokenTo","isMaxImpactReachedError","isNoUsdPriceError","priceImpact","useCurrentSwapPriceError","isHighImpact","isUnavailable"],"mappings":";;;;;;;;;;;;;;;;AAkBA,MAAMA,cAAAA,GAAiB;AAAA,EACrBC,IAAAA,EAAM;AACR,CAAA;AAEO,MAAMC,gBAAgBA,MAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAC3B,EAAA,MAAAC,cAAoBC,qBAAAA,EAAsB;AAC1C,EAAA,MAAAC,YAAkBF,WAAAA,CAAWG,IAAAA;AAE7B,EAAA,MAAAC,oBAA0BC,wBAAAA,EAAyB;AACnD,EAAA,MAAAC,kBAAwBC,sBAAAA,EAAuB;AAE/C,EAAA,IAAIH,iBAAAA,EAAiB;AAGN,IAAA,MAAAI,EAAAA,GAAA,yCAAyCN,SAAS,CAAA,CAAA;AAAE,IAAA,IAAAO,EAAAA;AAAA,IAAA,IAAAX,CAAAA,QAAAU,EAAAA,EAAA;AAD/DC,MAAAA,EAAAA,mBAAA,GAAA,CAAC,OAAA,EAAA,EACU,OAAA,EAAAD,EAAAA,EACAb,SAAAA,cAAAA,EAAc,CAAA;AACvBG,MAAAA,CAAAA,MAAAU,EAAAA;AAAAV,MAAAA,CAAAA,MAAAW,EAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,IAAA;AAAA,IAAA,OAHFW,EAAAA;AAAAA,EAGE;AAGN,EAAA,IAAIH,eAAAA,EAAe;AAGJ,IAAA,MAAAE,EAAAA,GAAA,uCAAuCN,SAAS,CAAA,CAAA;AAAE,IAAA,IAAAO,EAAAA;AAAA,IAAA,IAAAX,CAAAA,QAAAU,EAAAA,EAAA;AAD7DC,MAAAA,EAAAA,mBAAA,GAAA,CAAC,OAAA,EAAA,EACU,OAAA,EAAAD,EAAAA,EACAb,SAAAA,cAAAA,EAAc,CAAA;AACvBG,MAAAA,CAAAA,MAAAU,EAAAA;AAAAV,MAAAA,CAAAA,MAAAW,EAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,IAAA;AAAA,IAAA,OAHFW,EAAAA;AAAAA,EAGE;AACF,EAAA,OAEG,IAAA;AAAI;AAGb,MAAMC,wBAAAA,GAA2B;AAAA,EAC/Bd,IAAAA,EAAM;AACR,CAAA;AAEA,MAAMe,yBAAyBH,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAV,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAa,SAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAAAL,EAAAA;AAO9B,EAAA,MAAAM,YAAkBC,YAAAA,EAAa;AAC/B,EAAA,MAAA;AAAA,IAAAC;AAAAA,MAA4BC,eAAAA,EAAgB;AAE5C,EAAA,MAAAC,gBAAsBC,gBAAAA,EAAiB;AACvC,EAAA,MAAAC,YAAAA,GAAqBC,WAAWC,iBAAiB,CAAA;AAEjD,EAAA,MAAAC,iBAAAA,GAA0BF,WAAWG,wBAAwB,CAAA;AAC7D,EAAA,MAAAC,eAAAA,GAAwBJ,WAAWK,sBAAsB,CAAA;AAEzD,EAAA,MAAAC,0BAAAA,GAAmCX,mBAAA,CAAoBF,SAAAA;AAAU,EAAA,IAAAL,EAAAA;AAAA,EAAA,IAAAX,EAAA,CAAA,CAAA,KAAAyB,qBAAAzB,CAAAA,CAAA,CAAA,MAAA2B,eAAAA,IAAA3B,CAAAA,CAAA,CAAA,CAAA,KAAAsB,YAAAA,IAAAtB,EAAA,CAAA,CAAA,KAAAc,aAAAd,CAAAA,QAAAe,OAAAA,EAAA;AAK7DJ,IAAAA,EAAAA,iCACY,SAAA,EAAA,0BAAA,EACD,SAAA,MAAA;AACPW,MAAAA,YAAAA,CAAa,OAAO,CAAA;AACpBG,MAAAA,iBAAAA,CAAkBX,SAAS,CAAA;AAC3Ba,MAAAA,eAAAA,CAAgBZ,OAAO,CAAA;AAAA,IAAC,GAE3B,QAAA,EAAA,aAAA,EAED,CAAA;AAAOf,IAAAA,CAAAA,MAAAyB,iBAAAA;AAAAzB,IAAAA,CAAAA,MAAA2B,eAAAA;AAAA3B,IAAAA,CAAAA,MAAAsB,YAAAA;AAAAtB,IAAAA,CAAAA,MAAAc,SAAAA;AAAAd,IAAAA,CAAAA,MAAAe,OAAAA;AAAAf,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA8B,EAAAA;AAAA,EAAA,IAAA9B,EAAA,CAAA,CAAA,KAAAoB,iBAAApB,CAAAA,QAAA6B,0BAAAA,EAAA;AAENC,IAAAA,EAAAA,GAAAD,6CAAA,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,MAAA,yBAAA;AAAA,MACwB,GAAA;AAAA,sBACxB,GAAA,CAAA,UACY,SAAA,EAAA,0BAAA,EACD,SAAA,MAAMT,aAAAA,CAAc,yBAAyB,CAAA,EACvD,QAAA,EAAA,YAAA,EAED,CAAA;AAAA,MAAQ,GAAA;AAAA,MAAI;AAAA,KAAA,EAEd,CAAA,GAVD,GAAA;AAaApB,IAAAA,CAAAA,MAAAoB,aAAAA;AAAApB,IAAAA,CAAAA,MAAA6B,0BAAAA;AAAA7B,IAAAA,CAAAA,MAAA8B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA9B,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA+B,EAAAA;AAAA,EAAA,IAAA/B,EAAA,CAAA,CAAA,KAAAW,MAAAX,CAAAA,SAAA8B,EAAAA,EAAA;AA1BHC,IAAAA,EAAAA,wBAAA,KAAA,EAAA,EAAK,QAAA,EAAA;AAAA,MAAA,OAAA;AAAA,MACG,GAAA;AAAA,MACNpB,EAAAA;AAAAA,MASQ,GAAA;AAAA,MAAI,mBAAA;AAAA,MAEXmB;AAAAA,KAAAA,EAcH,CAAA;AAAM9B,IAAAA,CAAAA,MAAAW,EAAAA;AAAAX,IAAAA,CAAAA,OAAA8B,EAAAA;AAAA9B,IAAAA,CAAAA,OAAA+B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA/B,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OA3BN+B,EAAAA;AA2BM,CAAA;AAIV,MAAMC,yBAAyBtB,CAAAA,EAAAA,KAAA;AAAA,EAAA,MAAAV,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAC,EAAA,MAAA;AAAA,IAAAgC;AAAAA,GAAA,GAAAvB,EAAAA;AAC9B,EAAA,MAAA;AAAA,IAAAI,SAAAA;AAAAA,IAAAC;AAAAA,GAAA,GAA+BmB,gBAAgB,MAAM,CAAA;AAErD,EAAA,IAAI,CAACnB,OAAAA,EAAO;AAAA,IAAA,OACH,IAAA;AAAA,EAAI;AACZ,EAAA,IAAAJ,EAAAA;AAAA,EAAA,IAAAX,EAAA,CAAA,CAAA,KAAAc,aAAAd,CAAAA,QAAAe,OAAAA,EAAA;AAMKJ,IAAAA,EAAAA,mBAAA,GAAA,CAAC,sBAAA,EAAA,EAAkCG,SAAAA,EAAoBC,OAAAA,EAAO,CAAA;AAAIf,IAAAA,CAAAA,MAAAc,SAAAA;AAAAd,IAAAA,CAAAA,MAAAe,OAAAA;AAAAf,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAA8B,EAAAA;AAAA,EAAA,IAAA9B,EAAA,CAAA,CAAA,KAAAW,MAAAX,CAAAA,QAAAiC,KAAAA,EAAA;AAHtEH,IAAAA,EAAAA,uBAAC,gBAAA,EAAA,EACQG,KAAAA,EAEL,OAAA,EAAAtB,EAAAA,EAEOC,SAAAA,wBAAAA,EAAwB,CAAA;AACjCZ,IAAAA,CAAAA,MAAAW,EAAAA;AAAAX,IAAAA,CAAAA,MAAAiC,KAAAA;AAAAjC,IAAAA,CAAAA,MAAA8B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA9B,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OANF8B,EAAAA;AAME,CAAA;AAIN,MAAMK,0BAA0BA,MAAA;AAAA,EAAA,MAAAnC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAAA,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAV,EAAA,CAAA,CAAA,KAAAoC,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAE5B3B,IAAAA,EAAAA,mBAAA,GAAA,CAAC,OAAA,EAAA,EACU,OAAA,EAAA,6CAAA,EACAE,SAAAA,wBAAAA,EAAwB,CAAA;AACjCZ,IAAAA,CAAAA,MAAAU,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAV,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAHFU,EAAAA;AAGE,CAAA;AAIN,MAAM4B,sBAAAA,GAAyB;AAAA,EAC7BC,eAAAA;AAAAA;AAAAA,IAEE;AAAA,GAAA;AAAA,EACFC,sBAAAA;AAAAA;AAAAA,IAEE;AAAA;AACJ,CAAA;AAEO,MAAMC,oBAAoBA,MAAA;AAAA,EAAA,MAAAzC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAC/B,EAAA,MAAAe,YAAkBC,YAAAA,EAAa;AAE/B,EAAA,MAAAF,UAAgB2B,cAAAA,EAAe;AAC/B,EAAA,MAAA;AAAA,IAAAC,uBAAAA;AAAAA,IAAAC,iBAAAA;AAAAA,IAAAC;AAAAA,MACEC,wBAAAA,EAAyB;AAE3B,EAAA,IAAI,CAAC/B,OAAAA,EAAO;AAAA,IAAA,OACH,IAAA;AAAA,EAAI;AAGb,EAAA,IAAI8B,WAAAA,EAAWE,gBAAXJ,uBAAAA,EAAoD;AAAA,IAAA,IAAAjC,EAAAA;AAAA,IAAA,IAAAV,EAAA,CAAA,CAAA,KAAAoC,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAEpD3B,MAAAA,EAAAA,mBAAA,GAAA,CAAC,sBAAA,EAAA,EAA8B,KAAA,EAAA4B,sBAAAA,CAAsBC,eAAAA,EAAgB,CAAA;AAAIvC,MAAAA,CAAAA,MAAAU,EAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,EAAAA,GAAAV,EAAA,CAAA,CAAA;AAAA,IAAA;AAAA,IAAA,OAAzEU,EAAAA;AAAAA,EAAyE;AAG7E,EAAA,IAAImC,WAAAA,EAAWG,iBAAXJ,iBAAAA,EAA+C;AAAA,IAAA,IAAAlC,EAAAA;AAAA,IAAA,IAAAV,EAAA,CAAA,CAAA,KAAAoC,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAE/C3B,MAAAA,EAAAA,mBAAA,GAAA,CAAC,sBAAA,EAAA,EACQ,KAAA,EAAA4B,sBAAAA,CAAsBE,sBAAAA,EAAuB,CAAA;AACpDxC,MAAAA,CAAAA,MAAAU,EAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,EAAAA,GAAAV,EAAA,CAAA,CAAA;AAAA,IAAA;AAAA,IAAA,OAFFU,EAAAA;AAAAA,EAEE;AAIN,EAAA,IAAIM,SAAAA,EAAS;AAAA,IAAA,IAAAN,EAAAA;AAAA,IAAA,IAAAV,EAAA,CAAA,CAAA,KAAAoC,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AACJ3B,MAAAA,EAAAA,uBAAC,uBAAA,EAAA,EAAuB,CAAA;AAAGV,MAAAA,CAAAA,MAAAU,EAAAA;AAAAA,IAAA,CAAA,MAAA;AAAAA,MAAAA,EAAAA,GAAAV,EAAA,CAAA,CAAA;AAAA,IAAA;AAAA,IAAA,OAA3BU,EAAAA;AAAAA,EAA2B;AACnC,EAAA,OAEM,IAAA;AAAI;;;;"}
1
+ {"version":3,"file":"Warnings.js","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 { useSwapTokenTo } from \"./inputs/state/selectedTokenAtom\";\nimport { useSetAtom } from \"./store\";\nimport { userTradeModeAtom } 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\";\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}: {\n title: string;\n priceImpactPercent?: number;\n}) => {\n const { tokenFrom, tokenTo } = useWidgetTokens(\"swap\");\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\nexport const SwapWidgetWarning = () => {\n const degenMode = useDegenMode();\n\n const tokenTo = useSwapTokenTo();\n const {\n isMaxImpactReachedError,\n isNoUsdPriceError,\n isNoLiquidityError,\n getPriceImpact,\n } = useCurrentSwapPriceError();\n\n if (!tokenTo) {\n return null;\n }\n\n if (isNoLiquidityError) {\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 const priceImpact = getPriceImpact();\n\n if (priceImpact.isHighImpact || isMaxImpactReachedError) {\n return (\n <EnableDegenModeWarning\n title={warningMessageByReason.highPriceImpact}\n priceImpactPercent={priceImpact.priceImpact}\n />\n );\n }\n if (priceImpact.isUnavailable || isNoUsdPriceError) {\n return (\n <EnableDegenModeWarning\n title={warningMessageByReason.unavailablePriceImpact}\n priceImpactPercent={priceImpact.priceImpact}\n />\n );\n }\n\n if (degenMode) {\n return <DegenModeEnabledWarning />;\n }\n\n return null;\n};\n"],"names":["warningClasses","root","WidgetWarning","$","_c","chainConfig","useCurrentChainConfig","chainName","name","limitNotSupported","useUnsupportedLimitChain","otcNotSupported","useUnsupportedOtcChain","t0","t1","DegenModeText","setOpenDrawer","useSetOpenDrawer","swapWidgetWarningClasses","EnableDegenModeMessage","tokenFrom","tokenTo","priceImpactPercent","degenMode","useDegenMode","enableDegenMode","useWidgetConfig","setTradeMode","useSetAtom","userTradeModeAtom","setLimitTokenFrom","selectLimitTokenFromAtom","setLimitTokenTo","selectLimitTokenToAtom","address","network","token","chainId","data","isTokenFromSupported","useIsTokenSupportedInDeltaQuery","t2","t3","t4","isTokenToSupported","belowThreshold","undefined","DEGEN_MODE_MAX_IMPACT","showEnableDegenModeMessage","t5","Symbol","for","t6","t7","EnableDegenModeWarning","title","useWidgetTokens","DegenModeEnabledWarning","message","warningMessageByReason","highPriceImpact","unavailablePriceImpact","SwapWidgetWarning","useSwapTokenTo","isMaxImpactReachedError","isNoUsdPriceError","isNoLiquidityError","getPriceImpact","useCurrentSwapPriceError","priceImpact","isHighImpact","isUnavailable"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useWidgetButtonExtraProps.d.ts","sourceRoot":"","sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAMlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAuE5D,KAAK,kBAAkB,GAAG;IACxB,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AACF,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAIF,wBAAgB,yBAAyB,CAAC,EACxC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAqD7D;AAED,wBAAgB,wBAAwB,CAAC,EACvC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAgE7D;AAED,wBAAgB,sBAAsB,CAAC,EACrC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAyC7D"}
1
+ {"version":3,"file":"useWidgetButtonExtraProps.d.ts","sourceRoot":"","sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAMlD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAuE5D,KAAK,kBAAkB,GAAG;IACxB,SAAS,CAAC,EAAE,KAAK,CAAC;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AACF,KAAK,mBAAmB,GAAG;IACzB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAIF,wBAAgB,yBAAyB,CAAC,EACxC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAwD7D;AAED,wBAAgB,wBAAwB,CAAC,EACvC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAgE7D;AAED,wBAAgB,sBAAsB,CAAC,EACrC,SAAS,EACT,OAAO,GACR,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC,GAAG,mBAAmB,CAyC7D"}
@@ -82,7 +82,7 @@ function useWidgetButtonConditions(t0) {
82
82
  }
83
83
  const dangerSwapBtnClassName = "bg-secondary-radical-red-1";
84
84
  function useWidgetButtonExtraProps(t0) {
85
- const $ = distExports.c(18);
85
+ const $ = distExports.c(20);
86
86
  const {
87
87
  tokenFrom,
88
88
  tokenTo
@@ -119,32 +119,41 @@ function useWidgetButtonExtraProps(t0) {
119
119
  price,
120
120
  priceMode,
121
121
  cachedError,
122
- priceImpact
122
+ getPriceImpact
123
123
  } = useCurrentSwapPriceError(t2);
124
124
  const degenMode = useDegenMode();
125
- const isDangerSwap = !!price && !!(priceImpact?.isHighImpact || priceImpact?.isUnavailable);
125
+ let t3;
126
+ if ($[4] !== getPriceImpact) {
127
+ t3 = getPriceImpact();
128
+ $[4] = getPriceImpact;
129
+ $[5] = t3;
130
+ } else {
131
+ t3 = $[5];
132
+ }
133
+ const priceImpact = t3;
134
+ const isDangerSwap = !!price && !!(priceImpact.isHighImpact || priceImpact.isUnavailable);
126
135
  const isAccountContract = useIsAccountContract().data?.isContract;
127
136
  const isCrosschain = useIsCrossChain();
128
137
  const receiver = useSwapReceiverAddressValue();
129
138
  if (!isConnected) {
130
- let t32;
131
- if ($[4] !== isConnected) {
132
- t32 = {
139
+ let t42;
140
+ if ($[6] !== isConnected) {
141
+ t42 = {
133
142
  disabled: false,
134
143
  isConnected
135
144
  };
136
- $[4] = isConnected;
137
- $[5] = t32;
145
+ $[6] = isConnected;
146
+ $[7] = t42;
138
147
  } else {
139
- t32 = $[5];
148
+ t42 = $[7];
140
149
  }
141
- return t32;
150
+ return t42;
142
151
  }
143
152
  const receiverRequiredButNotSet = !!isAccountContract && isCrosschain && !receiver;
144
153
  const disabled = wrongNetwork || tokensAreSame || isTokenFromInsufficientBalance || receiverRequiredButNotSet || !degenMode && isDangerSwap;
145
- let t3;
146
- if ($[6] !== cachedError || $[7] !== isDangerSwap || $[8] !== isTokenFromInsufficientBalance || $[9] !== priceMode || $[10] !== receiverRequiredButNotSet || $[11] !== wrongNetwork) {
147
- t3 = getSwapButtonLabelOverride({
154
+ let t4;
155
+ if ($[8] !== cachedError || $[9] !== isDangerSwap || $[10] !== isTokenFromInsufficientBalance || $[11] !== priceMode || $[12] !== receiverRequiredButNotSet || $[13] !== wrongNetwork) {
156
+ t4 = getSwapButtonLabelOverride({
148
157
  isDangerSwap,
149
158
  priceMode,
150
159
  priceError: cachedError,
@@ -152,35 +161,35 @@ function useWidgetButtonExtraProps(t0) {
152
161
  isTokenFromInsufficientBalance,
153
162
  receiverRequiredButNotSet
154
163
  });
155
- $[6] = cachedError;
156
- $[7] = isDangerSwap;
157
- $[8] = isTokenFromInsufficientBalance;
158
- $[9] = priceMode;
159
- $[10] = receiverRequiredButNotSet;
160
- $[11] = wrongNetwork;
161
- $[12] = t3;
164
+ $[8] = cachedError;
165
+ $[9] = isDangerSwap;
166
+ $[10] = isTokenFromInsufficientBalance;
167
+ $[11] = priceMode;
168
+ $[12] = receiverRequiredButNotSet;
169
+ $[13] = wrongNetwork;
170
+ $[14] = t4;
162
171
  } else {
163
- t3 = $[12];
172
+ t4 = $[14];
164
173
  }
165
- const labelOverride = t3;
166
- const t4 = isDangerSwap ? dangerSwapBtnClassName : void 0;
167
- let t5;
168
- if ($[13] !== disabled || $[14] !== isConnected || $[15] !== labelOverride || $[16] !== t4) {
169
- t5 = {
174
+ const labelOverride = t4;
175
+ const t5 = isDangerSwap ? dangerSwapBtnClassName : void 0;
176
+ let t6;
177
+ if ($[15] !== disabled || $[16] !== isConnected || $[17] !== labelOverride || $[18] !== t5) {
178
+ t6 = {
170
179
  disabled,
171
180
  labelOverride,
172
181
  isConnected,
173
- className: t4
182
+ className: t5
174
183
  };
175
- $[13] = disabled;
176
- $[14] = isConnected;
177
- $[15] = labelOverride;
178
- $[16] = t4;
179
- $[17] = t5;
184
+ $[15] = disabled;
185
+ $[16] = isConnected;
186
+ $[17] = labelOverride;
187
+ $[18] = t5;
188
+ $[19] = t6;
180
189
  } else {
181
- t5 = $[17];
190
+ t6 = $[19];
182
191
  }
183
- return t5;
192
+ return t6;
184
193
  }
185
194
  function useLimitButtonExtraProps(t0) {
186
195
  const $ = distExports.c(16);
@@ -1 +1 @@
1
- {"version":3,"file":"useWidgetButtonExtraProps.js","sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"sourcesContent":["import { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useCurrentSwapPriceError } from \"@/hooks/swap/prices/useSwapPrices\";\n\nimport { useIsTokenFromInsufficientBalance } from \"@/hooks/tokens/balances/useIsInsufficientTokenBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useOtcReceiverAddressValue } from \"@/core/otc/state/receiverAddressAtom\";\nimport { useUnsupportedLimitChain } from \"@/core/limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"@/core/otc/useOtcNotSupported\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { useUnsupportedLimitTokens } from \"@/core/limit/useLimitTokenToInputProps\";\nimport { useDeltaSwapPriceForLimit } from \"@/core/limit/useLimitRate\";\nimport { useLimitReceiverAddressValue } from \"@/core/limit/state/receiverAddressAtom\";\nimport { useChainMatches } from \"@/hooks/useChainMatches\";\nimport { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\n\nconst errorMessageByApiErrorMessage: Record<string, string> = {\n ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT: \"Price Impact Too High\",\n \"No routes found with enough liquidity\": \"No Liquidity\",\n \"Bad USD price\": \"Price Error\",\n};\n\ntype GetButtonLabelOverrideBaseInput = {\n priceMode?: \"market\" | \"delta\";\n priceError?: Error | null;\n wrongNetwork: boolean;\n isTokenFromInsufficientBalance: boolean;\n receiverRequiredButNotSet?: boolean;\n};\n\nfunction getButtonLabelOverrideBase({\n priceMode,\n priceError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n}: GetButtonLabelOverrideBaseInput) {\n if (priceMode === \"market\" && priceError)\n return errorMessageByApiErrorMessage[priceError.message];\n\n if (wrongNetwork) return \"You are on the wrong network\";\n if (isTokenFromInsufficientBalance) return \"Insufficient funds\";\n if (receiverRequiredButNotSet) return \"Add a receiving address\";\n}\n\nfunction getSwapButtonLabelOverride({\n isDangerSwap,\n ...baseParams\n}: {\n isDangerSwap?: boolean;\n} & GetButtonLabelOverrideBaseInput): string | undefined {\n const baseOverride = getButtonLabelOverrideBase(baseParams);\n if (baseOverride) return baseOverride;\n if (isDangerSwap) return \"Swap Anyway\";\n}\n\nfunction useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode,\n}: UseExtraPropsInput) {\n const { walletChainMatchesAppChain, isConnected } = useChainMatches();\n\n const wrongNetwork = !walletChainMatchesAppChain;\n\n // protection against same tokens, because we cannot rely on setTokenAtom() to handle ALL possible cases\n const tokensAreSame =\n tokenFrom && tokenTo && areTokensSame(tokenFrom, tokenTo);\n\n const isTokenFromInsufficientBalance =\n useIsTokenFromInsufficientBalance(tradeMode);\n\n return {\n isConnected,\n wrongNetwork,\n tokensAreSame,\n isTokenFromInsufficientBalance,\n };\n}\n\ntype UseExtraPropsInput = {\n tokenFrom?: Token;\n tokenTo?: Token;\n tradeMode: TradeMode;\n};\ntype UseExtraPropsReturn = {\n disabled: boolean;\n labelOverride?: string;\n className?: string;\n isConnected: boolean;\n};\n\nconst dangerSwapBtnClassName = \"bg-secondary-radical-red-1\";\n\nexport function useWidgetButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"swap\",\n });\n\n const { price, priceMode, cachedError, priceImpact } =\n useCurrentSwapPriceError({\n enabled: false,\n });\n const degenMode = useDegenMode();\n const isDangerSwap =\n !!price && !!(priceImpact?.isHighImpact || priceImpact?.isUnavailable);\n\n const isAccountContract = useIsAccountContract().data?.isContract;\n const isCrosschain = useIsCrossChain();\n const receiver = useSwapReceiverAddressValue();\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const receiverRequiredButNotSet =\n !!isAccountContract && isCrosschain && !receiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n receiverRequiredButNotSet ||\n (!degenMode && isDangerSwap);\n\n const labelOverride = getSwapButtonLabelOverride({\n isDangerSwap,\n priceMode,\n priceError: cachedError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n });\n\n return {\n disabled,\n labelOverride,\n isConnected,\n className: isDangerSwap ? dangerSwapBtnClassName : undefined,\n };\n}\n\nexport function useLimitButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"limit\",\n });\n const unsupportedChain = useUnsupportedLimitChain();\n\n const { unsupportedTokens } = useUnsupportedLimitTokens();\n\n const isCrosschain =\n tokenFrom && tokenTo && tokenFrom.network !== tokenTo.network;\n\n const isCrosschainLimitOrder = isCrosschain;\n\n const { error: limitPriceError } = useDeltaSwapPriceForLimit({\n // DeltaPrice is required for crosschain Limit orders only\n tradeMode: \"limit\",\n enabled: false,\n });\n\n const priceError = isCrosschainLimitOrder ? limitPriceError : undefined;\n\n const limitReceiverAddress = useLimitReceiverAddressValue();\n const isAccountContract = useIsAccountContract().data?.isContract;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n const connectedButNoReceiver = !limitReceiverAddress;\n\n const receiverRequiredButNotSet =\n // require receiver address filled when wallet=Smart Contract and Order is crosschain\n !!isAccountContract && !!isCrosschain && connectedButNoReceiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n !!unsupportedTokens ||\n !!priceError ||\n receiverRequiredButNotSet;\n\n const labelOverride = getButtonLabelOverrideBase({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n priceError,\n priceMode: \"delta\",\n });\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n return {\n disabled,\n labelOverride,\n className,\n isConnected,\n };\n}\n\nexport function useOtcButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"otc\",\n });\n\n const otcReceiverAddress = useOtcReceiverAddressValue();\n const unsupportedChain = useUnsupportedOtcChain();\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const connectedButNoReceiver = isConnected && !otcReceiverAddress;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n connectedButNoReceiver;\n\n const labelOverride = getButtonLabelOverrideBase({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet: connectedButNoReceiver, // receiver always required for OTC\n });\n\n return {\n labelOverride,\n disabled,\n className,\n isConnected,\n };\n}\n"],"names":["errorMessageByApiErrorMessage","ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT","getButtonLabelOverrideBase","priceMode","priceError","wrongNetwork","isTokenFromInsufficientBalance","receiverRequiredButNotSet","message","getSwapButtonLabelOverride","isDangerSwap","baseParams","baseOverride","useWidgetButtonConditions","t0","$","_c","tokenFrom","tokenTo","tradeMode","walletChainMatchesAppChain","isConnected","useChainMatches","t1","areTokensSame","tokensAreSame","useIsTokenFromInsufficientBalance","t2","dangerSwapBtnClassName","useWidgetButtonExtraProps","Symbol","for","enabled","price","cachedError","priceImpact","useCurrentSwapPriceError","degenMode","useDegenMode","isHighImpact","isUnavailable","isAccountContract","useIsAccountContract","data","isContract","isCrosschain","useIsCrossChain","receiver","useSwapReceiverAddressValue","t3","disabled","labelOverride","t4","undefined","t5","className","useLimitButtonExtraProps","unsupportedChain","useUnsupportedLimitChain","unsupportedTokens","useUnsupportedLimitTokens","network","isCrosschainLimitOrder","error","limitPriceError","useDeltaSwapPriceForLimit","limitReceiverAddress","useLimitReceiverAddressValue","connectedButNoReceiver","useOtcButtonExtraProps","otcReceiverAddress","useOtcReceiverAddressValue","useUnsupportedOtcChain"],"mappings":"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"}
1
+ {"version":3,"file":"useWidgetButtonExtraProps.js","sources":["../../../../src/core/button/hooks/useWidgetButtonExtraProps.ts"],"sourcesContent":["import { useSwapReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useIsAccountContract } from \"@/hooks/getCode/useIsAccountContract\";\nimport { useCurrentSwapPriceError } from \"@/hooks/swap/prices/useSwapPrices\";\n\nimport { useIsTokenFromInsufficientBalance } from \"@/hooks/tokens/balances/useIsInsufficientTokenBalance\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { areTokensSame } from \"@/tokens/utils/areTokensSame\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useOtcReceiverAddressValue } from \"@/core/otc/state/receiverAddressAtom\";\nimport { useUnsupportedLimitChain } from \"@/core/limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"@/core/otc/useOtcNotSupported\";\nimport type { TradeMode } from \"@/core/state/tradeModeAtom\";\nimport { useUnsupportedLimitTokens } from \"@/core/limit/useLimitTokenToInputProps\";\nimport { useDeltaSwapPriceForLimit } from \"@/core/limit/useLimitRate\";\nimport { useLimitReceiverAddressValue } from \"@/core/limit/state/receiverAddressAtom\";\nimport { useChainMatches } from \"@/hooks/useChainMatches\";\nimport { useDegenMode } from \"@/components/widget/TradeParameters/state/degenModeParamAtom\";\n\nconst errorMessageByApiErrorMessage: Record<string, string> = {\n ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT: \"Price Impact Too High\",\n \"No routes found with enough liquidity\": \"No Liquidity\",\n \"Bad USD price\": \"Price Error\",\n};\n\ntype GetButtonLabelOverrideBaseInput = {\n priceMode?: \"market\" | \"delta\";\n priceError?: Error | null;\n wrongNetwork: boolean;\n isTokenFromInsufficientBalance: boolean;\n receiverRequiredButNotSet?: boolean;\n};\n\nfunction getButtonLabelOverrideBase({\n priceMode,\n priceError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n}: GetButtonLabelOverrideBaseInput) {\n if (priceMode === \"market\" && priceError)\n return errorMessageByApiErrorMessage[priceError.message];\n\n if (wrongNetwork) return \"You are on the wrong network\";\n if (isTokenFromInsufficientBalance) return \"Insufficient funds\";\n if (receiverRequiredButNotSet) return \"Add a receiving address\";\n}\n\nfunction getSwapButtonLabelOverride({\n isDangerSwap,\n ...baseParams\n}: {\n isDangerSwap?: boolean;\n} & GetButtonLabelOverrideBaseInput): string | undefined {\n const baseOverride = getButtonLabelOverrideBase(baseParams);\n if (baseOverride) return baseOverride;\n if (isDangerSwap) return \"Swap Anyway\";\n}\n\nfunction useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode,\n}: UseExtraPropsInput) {\n const { walletChainMatchesAppChain, isConnected } = useChainMatches();\n\n const wrongNetwork = !walletChainMatchesAppChain;\n\n // protection against same tokens, because we cannot rely on setTokenAtom() to handle ALL possible cases\n const tokensAreSame =\n tokenFrom && tokenTo && areTokensSame(tokenFrom, tokenTo);\n\n const isTokenFromInsufficientBalance =\n useIsTokenFromInsufficientBalance(tradeMode);\n\n return {\n isConnected,\n wrongNetwork,\n tokensAreSame,\n isTokenFromInsufficientBalance,\n };\n}\n\ntype UseExtraPropsInput = {\n tokenFrom?: Token;\n tokenTo?: Token;\n tradeMode: TradeMode;\n};\ntype UseExtraPropsReturn = {\n disabled: boolean;\n labelOverride?: string;\n className?: string;\n isConnected: boolean;\n};\n\nconst dangerSwapBtnClassName = \"bg-secondary-radical-red-1\";\n\nexport function useWidgetButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"swap\",\n });\n\n const { price, priceMode, cachedError, getPriceImpact } =\n useCurrentSwapPriceError({\n enabled: false,\n });\n const degenMode = useDegenMode();\n\n const priceImpact = getPriceImpact();\n\n const isDangerSwap =\n !!price && !!(priceImpact.isHighImpact || priceImpact.isUnavailable);\n\n const isAccountContract = useIsAccountContract().data?.isContract;\n const isCrosschain = useIsCrossChain();\n const receiver = useSwapReceiverAddressValue();\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const receiverRequiredButNotSet =\n !!isAccountContract && isCrosschain && !receiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n receiverRequiredButNotSet ||\n (!degenMode && isDangerSwap);\n\n const labelOverride = getSwapButtonLabelOverride({\n isDangerSwap,\n priceMode,\n priceError: cachedError,\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n });\n\n return {\n disabled,\n labelOverride,\n isConnected,\n className: isDangerSwap ? dangerSwapBtnClassName : undefined,\n };\n}\n\nexport function useLimitButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"limit\",\n });\n const unsupportedChain = useUnsupportedLimitChain();\n\n const { unsupportedTokens } = useUnsupportedLimitTokens();\n\n const isCrosschain =\n tokenFrom && tokenTo && tokenFrom.network !== tokenTo.network;\n\n const isCrosschainLimitOrder = isCrosschain;\n\n const { error: limitPriceError } = useDeltaSwapPriceForLimit({\n // DeltaPrice is required for crosschain Limit orders only\n tradeMode: \"limit\",\n enabled: false,\n });\n\n const priceError = isCrosschainLimitOrder ? limitPriceError : undefined;\n\n const limitReceiverAddress = useLimitReceiverAddressValue();\n const isAccountContract = useIsAccountContract().data?.isContract;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n const connectedButNoReceiver = !limitReceiverAddress;\n\n const receiverRequiredButNotSet =\n // require receiver address filled when wallet=Smart Contract and Order is crosschain\n !!isAccountContract && !!isCrosschain && connectedButNoReceiver;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n !!unsupportedTokens ||\n !!priceError ||\n receiverRequiredButNotSet;\n\n const labelOverride = getButtonLabelOverrideBase({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet,\n priceError,\n priceMode: \"delta\",\n });\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n return {\n disabled,\n labelOverride,\n className,\n isConnected,\n };\n}\n\nexport function useOtcButtonExtraProps({\n tokenFrom,\n tokenTo,\n}: Omit<UseExtraPropsInput, \"tradeMode\">): UseExtraPropsReturn {\n const {\n wrongNetwork,\n isTokenFromInsufficientBalance,\n tokensAreSame,\n isConnected,\n } = useWidgetButtonConditions({\n tokenFrom,\n tokenTo,\n tradeMode: \"otc\",\n });\n\n const otcReceiverAddress = useOtcReceiverAddressValue();\n const unsupportedChain = useUnsupportedOtcChain();\n\n const className = unsupportedChain ? \"pointer-events-none\" : undefined;\n\n if (!isConnected) {\n return { disabled: false, isConnected };\n }\n\n const connectedButNoReceiver = isConnected && !otcReceiverAddress;\n\n const disabled =\n wrongNetwork ||\n tokensAreSame ||\n isTokenFromInsufficientBalance ||\n connectedButNoReceiver;\n\n const labelOverride = getButtonLabelOverrideBase({\n wrongNetwork,\n isTokenFromInsufficientBalance,\n receiverRequiredButNotSet: connectedButNoReceiver, // receiver always required for OTC\n });\n\n return {\n labelOverride,\n disabled,\n className,\n isConnected,\n };\n}\n"],"names":["errorMessageByApiErrorMessage","ESTIMATED_LOSS_GREATER_THAN_MAX_IMPACT","getButtonLabelOverrideBase","priceMode","priceError","wrongNetwork","isTokenFromInsufficientBalance","receiverRequiredButNotSet","message","getSwapButtonLabelOverride","isDangerSwap","baseParams","baseOverride","useWidgetButtonConditions","t0","$","_c","tokenFrom","tokenTo","tradeMode","walletChainMatchesAppChain","isConnected","useChainMatches","t1","areTokensSame","tokensAreSame","useIsTokenFromInsufficientBalance","t2","dangerSwapBtnClassName","useWidgetButtonExtraProps","Symbol","for","enabled","price","cachedError","getPriceImpact","useCurrentSwapPriceError","degenMode","useDegenMode","t3","priceImpact","isHighImpact","isUnavailable","isAccountContract","useIsAccountContract","data","isContract","isCrosschain","useIsCrossChain","receiver","useSwapReceiverAddressValue","t4","disabled","labelOverride","t5","undefined","t6","className","useLimitButtonExtraProps","unsupportedChain","useUnsupportedLimitChain","unsupportedTokens","useUnsupportedLimitTokens","network","isCrosschainLimitOrder","error","limitPriceError","useDeltaSwapPriceForLimit","limitReceiverAddress","useLimitReceiverAddressValue","connectedButNoReceiver","useOtcButtonExtraProps","otcReceiverAddress","useOtcReceiverAddressValue","useUnsupportedOtcChain"],"mappings":"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"}