@velora-dex/widget 0.2.0 → 0.2.2

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 (203) hide show
  1. package/README.md +3 -3
  2. package/dist/assets/price-impact.svg.js +12 -0
  3. package/dist/assets/price-impact.svg.js.map +1 -0
  4. package/dist/components/ui/accordion.js +1 -1
  5. package/dist/components/ui/accordion.js.map +1 -1
  6. package/dist/components/ui/progress.d.ts.map +1 -1
  7. package/dist/components/ui/progress.js.map +1 -1
  8. package/dist/components/web3/AccountButton.d.ts.map +1 -1
  9. package/dist/components/web3/AccountButton.js +24 -27
  10. package/dist/components/web3/AccountButton.js.map +1 -1
  11. package/dist/components/web3/ConnectedWallet/ConnectedWallet.d.ts.map +1 -1
  12. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js +103 -133
  13. package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -1
  14. package/dist/components/widget/AppHeader/AppHeader.d.ts.map +1 -1
  15. package/dist/components/widget/AppHeader/AppHeader.js +39 -33
  16. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  17. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts +3 -1
  18. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.d.ts.map +1 -1
  19. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +70 -64
  20. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  21. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.d.ts +3 -1
  22. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.d.ts.map +1 -1
  23. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js +39 -21
  24. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/RegularTokenList.js.map +1 -1
  25. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.d.ts.map +1 -1
  26. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js +1 -1
  27. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
  28. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js +1 -1
  29. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListRow.js.map +1 -1
  30. package/dist/components/widget/Drawer/index.d.ts.map +1 -1
  31. package/dist/components/widget/Drawer/index.js +119 -54
  32. package/dist/components/widget/Drawer/index.js.map +1 -1
  33. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
  34. package/dist/components/widget/Drawer/state/useDrawerControls.js +5 -0
  35. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  36. package/dist/components/widget/ImportToken/ImportToken.d.ts.map +1 -1
  37. package/dist/components/widget/ImportToken/ImportToken.js +1 -1
  38. package/dist/components/widget/ImportToken/ImportToken.js.map +1 -1
  39. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.js +4 -4
  40. package/dist/components/widget/LimitOrdersDrawer/LimitOrderDetails/Controls.js.map +1 -1
  41. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.d.ts.map +1 -1
  42. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js +21 -18
  43. package/dist/components/widget/LimitOrdersDrawer/LimitOrderListItem.js.map +1 -1
  44. package/dist/components/widget/NetworkSwitcher/types.d.ts +1 -0
  45. package/dist/components/widget/NetworkSwitcher/types.d.ts.map +1 -1
  46. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.d.ts.map +1 -1
  47. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.js +33 -39
  48. package/dist/components/widget/OtcOrdersDrawer/OtcOrderDetails/OtcOrderDetails.js.map +1 -1
  49. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.d.ts.map +1 -1
  50. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js +1 -1
  51. package/dist/components/widget/RowVirtualizer/RowVirtualizerFixed.js.map +1 -1
  52. package/dist/components/widget/SelectToken/SelectTokenButton.d.ts +6 -2
  53. package/dist/components/widget/SelectToken/SelectTokenButton.d.ts.map +1 -1
  54. package/dist/components/widget/SelectToken/SelectTokenButton.js +117 -109
  55. package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
  56. package/dist/components/widget/SelectToken/types.d.ts +3 -1
  57. package/dist/components/widget/SelectToken/types.d.ts.map +1 -1
  58. package/dist/components/widget/TokenInput/index.d.ts.map +1 -1
  59. package/dist/components/widget/TokenInput/index.js +102 -141
  60. package/dist/components/widget/TokenInput/index.js.map +1 -1
  61. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.d.ts +1 -1
  62. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.d.ts.map +1 -1
  63. package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
  64. package/dist/configurator/Configurator.d.ts.map +1 -1
  65. package/dist/configurator/components/FormPropsInputs.d.ts +1 -1
  66. package/dist/configurator/components/FormPropsInputs.d.ts.map +1 -1
  67. package/dist/core/ConnectWalletDrawerButton.d.ts.map +1 -1
  68. package/dist/core/ConnectWalletDrawerButton.js +48 -26
  69. package/dist/core/ConnectWalletDrawerButton.js.map +1 -1
  70. package/dist/core/Toaster.js +1 -1
  71. package/dist/core/Toaster.js.map +1 -1
  72. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts +1 -0
  73. package/dist/core/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
  74. package/dist/core/button/hooks/useWidgetButtonExtraProps.js +90 -50
  75. package/dist/core/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
  76. package/dist/core/index.d.ts.map +1 -1
  77. package/dist/core/index.js +98 -90
  78. package/dist/core/index.js.map +1 -1
  79. package/dist/core/inputs/state/common.d.ts +2 -2
  80. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts +1 -14
  81. package/dist/core/inputs/state/setTokenByAddressAtom.d.ts.map +1 -1
  82. package/dist/core/inputs/state/setTokenByAddressAtom.js.map +1 -1
  83. package/dist/core/inputs/state/types.d.ts +15 -0
  84. package/dist/core/inputs/state/types.d.ts.map +1 -0
  85. package/dist/core/limit/state/selectedTokenActionsAtom.d.ts.map +1 -1
  86. package/dist/core/limit/state/selectedTokenActionsAtom.js.map +1 -1
  87. package/dist/core/limit/state/selectedTokenAtom.d.ts.map +1 -1
  88. package/dist/core/limit/state/selectedTokenAtom.js +5 -1
  89. package/dist/core/limit/state/selectedTokenAtom.js.map +1 -1
  90. package/dist/core/limit/useLimitTokenToInputProps.d.ts +7 -0
  91. package/dist/core/limit/useLimitTokenToInputProps.d.ts.map +1 -1
  92. package/dist/core/limit/useLimitTokenToInputProps.js +167 -23
  93. package/dist/core/limit/useLimitTokenToInputProps.js.map +1 -1
  94. package/dist/core/otc/state/selectedTokenAtom.d.ts.map +1 -1
  95. package/dist/core/otc/state/selectedTokenAtom.js +3 -1
  96. package/dist/core/otc/state/selectedTokenAtom.js.map +1 -1
  97. package/dist/core/otc/useOtcTokenToInputProps.d.ts.map +1 -1
  98. package/dist/core/otc/useOtcTokenToInputProps.js +42 -16
  99. package/dist/core/otc/useOtcTokenToInputProps.js.map +1 -1
  100. package/dist/core/state/configActionsAtom.d.ts.map +1 -1
  101. package/dist/core/state/configActionsAtom.js +3 -1
  102. package/dist/core/state/configActionsAtom.js.map +1 -1
  103. package/dist/core/state/configAtom.d.ts +4 -2
  104. package/dist/core/state/configAtom.d.ts.map +1 -1
  105. package/dist/core/state/configAtom.js +4 -2
  106. package/dist/core/state/configAtom.js.map +1 -1
  107. package/dist/core/state/widgetEventsAtom.d.ts.map +1 -1
  108. package/dist/core/state/widgetEventsAtom.js +55 -41
  109. package/dist/core/state/widgetEventsAtom.js.map +1 -1
  110. package/dist/core/swapDetails/fees.d.ts.map +1 -1
  111. package/dist/core/swapDetails/fees.js +4 -2
  112. package/dist/core/swapDetails/fees.js.map +1 -1
  113. package/dist/core/swapDetails/orderRouting.d.ts.map +1 -1
  114. package/dist/core/swapDetails/orderRouting.js +7 -3
  115. package/dist/core/swapDetails/orderRouting.js.map +1 -1
  116. package/dist/core/swapDetails/priceImpact.d.ts +3 -1
  117. package/dist/core/swapDetails/priceImpact.d.ts.map +1 -1
  118. package/dist/core/swapDetails/priceImpact.js +6 -2
  119. package/dist/core/swapDetails/priceImpact.js.map +1 -1
  120. package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
  121. package/dist/core/swapDetails/useSwapDetailsListProps.js +155 -42
  122. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  123. package/dist/core/swapDetails/youGet.d.ts.map +1 -1
  124. package/dist/core/swapDetails/youGet.js +5 -2
  125. package/dist/core/swapDetails/youGet.js.map +1 -1
  126. package/dist/core/types.d.ts +4 -1
  127. package/dist/core/types.d.ts.map +1 -1
  128. package/dist/events/getters/limit.d.ts.map +1 -1
  129. package/dist/events/getters/limit.js +3 -2
  130. package/dist/events/getters/limit.js.map +1 -1
  131. package/dist/events/getters/otc.d.ts.map +1 -1
  132. package/dist/events/getters/otc.js +3 -2
  133. package/dist/events/getters/otc.js.map +1 -1
  134. package/dist/events/getters/swap.d.ts.map +1 -1
  135. package/dist/events/getters/swap.js +3 -2
  136. package/dist/events/getters/swap.js.map +1 -1
  137. package/dist/events/hooks/useOnWalletConnect.d.ts.map +1 -1
  138. package/dist/events/hooks/useOnWalletConnect.js +2 -0
  139. package/dist/events/hooks/useOnWalletConnect.js.map +1 -1
  140. package/dist/events/types/common.d.ts +3 -2
  141. package/dist/events/types/common.d.ts.map +1 -1
  142. package/dist/events/types/connectWallet.d.ts +2 -0
  143. package/dist/events/types/connectWallet.d.ts.map +1 -1
  144. package/dist/events/types/index.d.ts +5 -2
  145. package/dist/events/types/index.d.ts.map +1 -1
  146. package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts +4 -4
  147. package/dist/hooks/otc/mutations/useCancelLimitOrder.d.ts.map +1 -1
  148. package/dist/hooks/otc/mutations/useCancelLimitOrder.js +2 -2
  149. package/dist/hooks/otc/mutations/useCancelLimitOrder.js.map +1 -1
  150. package/dist/hooks/otc/mutations/useCreateLimitOrder.d.ts +2 -2
  151. package/dist/hooks/otc/mutations/useCreateLimitOrder.d.ts.map +1 -1
  152. package/dist/hooks/otc/mutations/useCreateLimitOrder.js +2 -2
  153. package/dist/hooks/otc/mutations/useCreateLimitOrder.js.map +1 -1
  154. package/dist/hooks/otc/mutations/useFillOrder.d.ts +5 -5
  155. package/dist/hooks/otc/mutations/useFillOrder.d.ts.map +1 -1
  156. package/dist/hooks/otc/mutations/useFillOrder.js.map +1 -1
  157. package/dist/hooks/swap/prices/delta/bridge/useBridgedDeposit.d.ts.map +1 -1
  158. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts +2 -2
  159. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.d.ts.map +1 -1
  160. package/dist/hooks/swap/prices/delta/mutations/useCancelLimitDeltaOrders.js.map +1 -1
  161. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +2 -2
  162. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  163. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js +2 -2
  164. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  165. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts +2 -2
  166. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.d.ts.map +1 -1
  167. package/dist/hooks/swap/prices/delta/mutations/useCreatePreSignableDeltaOrder.js.map +1 -1
  168. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts +2 -2
  169. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.d.ts.map +1 -1
  170. package/dist/hooks/swap/prices/delta/mutations/usePostDeltaOrder.js.map +1 -1
  171. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.d.ts.map +1 -1
  172. package/dist/hooks/swap/prices/delta/queries/useWatchDeltaOrder.js.map +1 -1
  173. package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts +2 -2
  174. package/dist/hooks/swap/prices/market/mutations/useBuildTx.d.ts.map +1 -1
  175. package/dist/hooks/swap/prices/market/mutations/useBuildTx.js.map +1 -1
  176. package/dist/hooks/swap/prices/useSwapPrices.d.ts.map +1 -1
  177. package/dist/hooks/swap/prices/useSwapPrices.js +15 -1
  178. package/dist/hooks/swap/prices/useSwapPrices.js.map +1 -1
  179. package/dist/hooks/tokens/data/useCombineTokensWithFetched.d.ts +7 -1
  180. package/dist/hooks/tokens/data/useCombineTokensWithFetched.d.ts.map +1 -1
  181. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js +81 -67
  182. package/dist/hooks/tokens/data/useCombineTokensWithFetched.js.map +1 -1
  183. package/dist/hooks/tokens/useAllTokensWithFilter.js +1 -1
  184. package/dist/hooks/tokens/useAllTokensWithFilter.js.map +1 -1
  185. package/dist/index.d.ts +5 -1
  186. package/dist/index.d.ts.map +1 -1
  187. package/dist/lib/utils/tradeFlow.d.ts +3 -0
  188. package/dist/lib/utils/tradeFlow.d.ts.map +1 -0
  189. package/dist/lib/utils/tradeFlow.js +12 -0
  190. package/dist/lib/utils/tradeFlow.js.map +1 -0
  191. package/dist/lib/utils/useDateNow.d.ts +2 -0
  192. package/dist/lib/utils/useDateNow.d.ts.map +1 -0
  193. package/dist/lib/utils/useDateNow.js +7 -0
  194. package/dist/lib/utils/useDateNow.js.map +1 -0
  195. package/dist/lib/web3/privy/config.js +1 -1
  196. package/dist/lib/web3/wagmi/config.js +1 -1
  197. package/dist/styles.css +20 -17
  198. package/dist/tokens/state/addImportedTokenAtom.d.ts.map +1 -1
  199. package/dist/tokens/state/addImportedTokenAtom.js +6 -23
  200. package/dist/tokens/state/addImportedTokenAtom.js.map +1 -1
  201. package/package.json +8 -7
  202. package/dist/components/widget/TokenInput/EmptyInput.js +0 -58
  203. package/dist/components/widget/TokenInput/EmptyInput.js.map +0 -1
@@ -11,7 +11,10 @@ import { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from '../../lib/constants/time.js'
11
11
  import { toDecimalTrimmed } from '../../lib/utils/toDecimal.js';
12
12
  import { useLimitInputClasses } from './useLimitTokenFromInputProps.js';
13
13
  import { selectLimitTokenToAtom } from './state/selectedTokenActionsAtom.js';
14
- import { useLimitTokenTo } from './state/selectedTokenAtom.js';
14
+ import { useLimitTokenTo, useLimitTokenFrom } from './state/selectedTokenAtom.js';
15
+ import { useIsTokenSupportedInDeltaQuery } from '../../hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta.js';
16
+ import { isFilledArray } from '../../lib/utils/tuple.js';
17
+ import { useChainId } from 'wagmi';
15
18
 
16
19
  const useTokenToBalanceUnit = () => {
17
20
  const $ = distExports.c(5);
@@ -50,36 +53,61 @@ const useTokenToBalanceUnit = () => {
50
53
  return t2;
51
54
  };
52
55
  const useExtraProps = () => {
53
- const $ = distExports.c(5);
56
+ const $ = distExports.c(11);
57
+ const appChainId = useChainId();
54
58
  const setCurrentInput = useSetAtom(currentLimitInputAtom);
55
59
  let t0;
56
- if ($[0] !== setCurrentInput) {
57
- t0 = () => setCurrentInput("to");
58
- $[0] = setCurrentInput;
60
+ if ($[0] !== appChainId) {
61
+ t0 = [appChainId];
62
+ $[0] = appChainId;
59
63
  $[1] = t0;
60
64
  } else {
61
65
  t0 = $[1];
62
66
  }
63
67
  let t1;
64
- if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
65
- t1 = /* @__PURE__ */ jsx("span", { children: "Receive" });
66
- $[2] = t1;
68
+ if ($[2] !== appChainId || $[3] !== t0) {
69
+ t1 = {
70
+ networks: t0,
71
+ selectedNetwork: appChainId,
72
+ disabled: true,
73
+ hidden: true
74
+ };
75
+ $[2] = appChainId;
76
+ $[3] = t0;
77
+ $[4] = t1;
67
78
  } else {
68
- t1 = $[2];
79
+ t1 = $[4];
69
80
  }
70
81
  let t2;
71
- if ($[3] !== t0) {
72
- t2 = {
82
+ if ($[5] !== setCurrentInput) {
83
+ t2 = () => setCurrentInput("to");
84
+ $[5] = setCurrentInput;
85
+ $[6] = t2;
86
+ } else {
87
+ t2 = $[6];
88
+ }
89
+ let t3;
90
+ if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
91
+ t3 = /* @__PURE__ */ jsx("span", { children: "Receive" });
92
+ $[7] = t3;
93
+ } else {
94
+ t3 = $[7];
95
+ }
96
+ let t4;
97
+ if ($[8] !== t1 || $[9] !== t2) {
98
+ t4 = {
99
+ networkSwitcherProps: t1,
73
100
  tokenType: "to",
74
- onFocus: t0,
75
- label: t1
101
+ onFocus: t2,
102
+ label: t3
76
103
  };
77
- $[3] = t0;
78
- $[4] = t2;
104
+ $[8] = t1;
105
+ $[9] = t2;
106
+ $[10] = t4;
79
107
  } else {
80
- t2 = $[4];
108
+ t4 = $[10];
81
109
  }
82
- return t2;
110
+ return t4;
83
111
  };
84
112
  const useTokenToAmountProps = () => {
85
113
  const $ = distExports.c(9);
@@ -124,30 +152,146 @@ const useTokenToAmountProps = () => {
124
152
  }
125
153
  return t1;
126
154
  };
155
+ function useUnsupportedLimitTokens() {
156
+ const $ = distExports.c(14);
157
+ const tokenTo = useLimitTokenTo();
158
+ const tokenFrom = useLimitTokenFrom();
159
+ const t0 = tokenTo?.address;
160
+ const t1 = tokenTo?.network || tokenFrom.network;
161
+ let t2;
162
+ if ($[0] !== t0 || $[1] !== t1) {
163
+ t2 = {
164
+ token: t0,
165
+ chainId: t1
166
+ };
167
+ $[0] = t0;
168
+ $[1] = t1;
169
+ $[2] = t2;
170
+ } else {
171
+ t2 = $[2];
172
+ }
173
+ const {
174
+ data: isDestTokenSupported,
175
+ isLoading: isDestTokenSupportedLoading
176
+ } = useIsTokenSupportedInDeltaQuery(t2);
177
+ let t3;
178
+ if ($[3] !== tokenFrom.address || $[4] !== tokenFrom.network) {
179
+ t3 = {
180
+ token: tokenFrom.address,
181
+ chainId: tokenFrom.network
182
+ };
183
+ $[3] = tokenFrom.address;
184
+ $[4] = tokenFrom.network;
185
+ $[5] = t3;
186
+ } else {
187
+ t3 = $[5];
188
+ }
189
+ const {
190
+ data: isSrcTokenSupported,
191
+ isLoading: isSrcTokenSupportedLoading
192
+ } = useIsTokenSupportedInDeltaQuery(t3);
193
+ let t4;
194
+ if ($[6] !== isDestTokenSupported || $[7] !== isSrcTokenSupported || $[8] !== tokenFrom || $[9] !== tokenTo) {
195
+ const unsupportedTokens = [];
196
+ if (isSrcTokenSupported === false) {
197
+ unsupportedTokens.push(tokenFrom);
198
+ }
199
+ if (isDestTokenSupported === false && tokenTo) {
200
+ unsupportedTokens.push(tokenTo);
201
+ }
202
+ t4 = isFilledArray(unsupportedTokens) ? unsupportedTokens : void 0;
203
+ $[6] = isDestTokenSupported;
204
+ $[7] = isSrcTokenSupported;
205
+ $[8] = tokenFrom;
206
+ $[9] = tokenTo;
207
+ $[10] = t4;
208
+ } else {
209
+ t4 = $[10];
210
+ }
211
+ const t5 = isDestTokenSupportedLoading || isSrcTokenSupportedLoading;
212
+ let t6;
213
+ if ($[11] !== t4 || $[12] !== t5) {
214
+ t6 = {
215
+ unsupportedTokens: t4,
216
+ isLoading: t5
217
+ };
218
+ $[11] = t4;
219
+ $[12] = t5;
220
+ $[13] = t6;
221
+ } else {
222
+ t6 = $[13];
223
+ }
224
+ return t6;
225
+ }
226
+ function useWarningMessage() {
227
+ const $ = distExports.c(6);
228
+ const {
229
+ unsupportedTokens,
230
+ isLoading
231
+ } = useUnsupportedLimitTokens();
232
+ let t0;
233
+ if ($[0] !== unsupportedTokens) {
234
+ t0 = unsupportedTokens ? customUnsupportedTokenMessage(unsupportedTokens) : void 0;
235
+ $[0] = unsupportedTokens;
236
+ $[1] = t0;
237
+ } else {
238
+ t0 = $[1];
239
+ }
240
+ let t1;
241
+ if ($[2] !== isLoading || $[3] !== t0 || $[4] !== unsupportedTokens) {
242
+ t1 = {
243
+ warningMessage: t0,
244
+ unsupportedTokens,
245
+ isLoading
246
+ };
247
+ $[2] = isLoading;
248
+ $[3] = t0;
249
+ $[4] = unsupportedTokens;
250
+ $[5] = t1;
251
+ } else {
252
+ t1 = $[5];
253
+ }
254
+ return t1;
255
+ }
127
256
  const useLimitTokenToInputProps = () => {
128
- const $ = distExports.c(5);
257
+ const $ = distExports.c(6);
129
258
  const extraAmountProps = useTokenToAmountProps();
130
259
  const extraProps = useExtraProps();
131
260
  const tokenBalanceUnit = useTokenToBalanceUnit();
132
261
  const classes = useLimitInputClasses();
262
+ const {
263
+ warningMessage
264
+ } = useWarningMessage();
133
265
  let t0;
134
- if ($[0] !== classes || $[1] !== extraAmountProps || $[2] !== extraProps || $[3] !== tokenBalanceUnit) {
266
+ if ($[0] !== classes || $[1] !== extraAmountProps || $[2] !== extraProps || $[3] !== tokenBalanceUnit || $[4] !== warningMessage) {
135
267
  t0 = {
136
268
  ...extraProps,
137
269
  ...extraAmountProps,
138
270
  tokenBalanceUnit,
139
- classes
271
+ classes,
272
+ warningMessage
140
273
  };
141
274
  $[0] = classes;
142
275
  $[1] = extraAmountProps;
143
276
  $[2] = extraProps;
144
277
  $[3] = tokenBalanceUnit;
145
- $[4] = t0;
278
+ $[4] = warningMessage;
279
+ $[5] = t0;
146
280
  } else {
147
- t0 = $[4];
281
+ t0 = $[5];
148
282
  }
149
283
  return t0;
150
284
  };
285
+ function customUnsupportedTokenMessage(tokens) {
286
+ if (!isFilledArray(tokens)) {
287
+ return;
288
+ }
289
+ if (tokens.length === 1) {
290
+ return `Token ${tokens[0].symbol} is not supported for this order`;
291
+ }
292
+ const tokenSymbols = tokens.map((token) => token.symbol).join(", ");
293
+ return `Tokens ${tokenSymbols} are not supported for this order`;
294
+ }
151
295
 
152
- export { useLimitTokenToInputProps };
296
+ export { useLimitTokenToInputProps, useUnsupportedLimitTokens };
153
297
  //# sourceMappingURL=useLimitTokenToInputProps.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useLimitTokenToInputProps.js","sources":["../../../src/core/limit/useLimitTokenToInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"jotai\";\nimport { limitReceiveInputAmountAtom } from \"./state/limitInputAmountAtom\";\nimport { setLimitReceiveAmountAtom } from \"./state/limitInputActionsAtom\";\nimport { useLogger } from \"../logger\";\nimport type { OnValueChange } from \"react-number-format\";\nimport { useLimitRate } from \"./useLimitRate\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport type { TokenInputExtraProps } from \"../inputs/hooks/types\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useLimitInputClasses } from \"./useLimitTokenFromInputProps\";\nimport { selectLimitTokenToAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenTo } from \"./state/selectedTokenAtom\";\n\nconst useTokenToBalanceUnit = () => {\n const tokenTo = useLimitTokenTo();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenTo,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n const setCurrentInput = useSetAtom(currentLimitInputAtom);\n\n return {\n tokenType: \"to\" as const,\n onFocus: () => setCurrentInput(\"to\"),\n label: <span>Receive</span>,\n };\n};\n\nconst useTokenToAmountProps = (): Pick<\n TokenInputProps,\n \"amount\" | \"isLoading\" | \"token\" | \"onAmountChange\" | \"onTokenSelect\"\n> => {\n const logger = useLogger(\"Limit::TokenTo::AmountProps\");\n const tokenTo = useLimitTokenTo();\n\n const receiveAmount = useAtomValue(limitReceiveInputAmountAtom);\n const setReceiveAmount = useSetAtom(setLimitReceiveAmountAtom);\n\n const { isLoading } = useLimitRate(\"limit\");\n\n const onAmountChange: OnValueChange = (values) => {\n logger.log(\"onAmountChange::values\", values);\n setReceiveAmount(values.value);\n };\n\n const setTokenTo = useSetAtom(selectLimitTokenToAtom);\n\n return {\n amount: receiveAmount,\n isLoading,\n token: tokenTo,\n onAmountChange,\n onTokenSelect: setTokenTo,\n };\n};\n\nexport const useLimitTokenToInputProps = (): TokenInputProps => {\n const extraAmountProps = useTokenToAmountProps();\n const extraProps = useExtraProps();\n const tokenBalanceUnit = useTokenToBalanceUnit();\n const classes = useLimitInputClasses();\n\n return {\n ...extraProps,\n ...extraAmountProps,\n tokenBalanceUnit,\n classes,\n };\n};\n"],"names":["useTokenToBalanceUnit","$","_c","tokenTo","useLimitTokenTo","t0","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","t1","token","queryOptions","balanceUnit","useTokenBalance","t2","toDecimalTrimmed","useExtraProps","setCurrentInput","useSetAtom","currentLimitInputAtom","tokenType","onFocus","label","useTokenToAmountProps","logger","useLogger","receiveAmount","useAtomValue","limitReceiveInputAmountAtom","setReceiveAmount","setLimitReceiveAmountAtom","isLoading","useLimitRate","values","log","value","onAmountChange","setTokenTo","selectLimitTokenToAtom","amount","onTokenSelect","useLimitTokenToInputProps","extraAmountProps","extraProps","tokenBalanceUnit","classes","useLimitInputClasses"],"mappings":";;;;;;;;;;;;;;;AAgBA,MAAMA,wBAAwBA,MAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAC5B,EAAA,MAAAC,UAAgBC,eAAAA,EAAgB;AAAE,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAJ,EAAA,CAAA,CAAA,KAAAK,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAIlBF,IAAAA,EAAAA,GAAA;AAAA,MAAAG,eAAAA,EAAmBC;AAAAA,KAAmC;AAACR,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAT,CAAAA,QAAAE,OAAAA,EAAA;AAF/BO,IAAAA,EAAAA,GAAA;AAAA,MAAAC,KAAAA,EAC/BR,OAAAA;AAAAA,MAAOS,YAAAA,EACAP;AAAAA,KAChB;AAACJ,IAAAA,CAAAA,MAAAE,OAAAA;AAAAF,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAA;AAAA,IAAAY;AAAAA,GAAA,GAAwBC,gBAAgBJ,EAGvC,CAAA;AAAE,EAAA,IAAAK,EAAAA;AAAA,EAAA,IAAAd,CAAAA,QAAAY,WAAAA,EAAA;AAEIE,IAAAA,EAAAA,GAAAC,iBAAiBH,WAAW,CAAA;AAACZ,IAAAA,CAAAA,MAAAY,WAAAA;AAAAZ,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAA7Bc,EAAAA;AAA6B,CAAA;AAGtC,MAAME,gBAAgBA,MAAA;AAAA,EAAA,MAAAhB,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACpB,EAAA,MAAAgB,eAAAA,GAAwBC,WAAWC,qBAAqB,CAAA;AAAE,EAAA,IAAAf,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,QAAAiB,eAAAA,EAAA;AAI/Cb,IAAAA,EAAAA,GAAAA,MAAMa,gBAAgB,IAAI,CAAA;AAACjB,IAAAA,CAAAA,MAAAiB,eAAAA;AAAAjB,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAS,EAAAA;AAAA,EAAA,IAAAT,EAAA,CAAA,CAAA,KAAAK,MAAAA,CAAAC,GAAAA,CAAA,2BAAA,CAAA,EAAA;AAC7BG,IAAAA,EAAAA,mBAAA,GAAA,CAAA,UAAM,QAAA,EAAA,SAAA,EAAO,CAAA;AAAOT,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,IAAAc,EAAAA;AAAA,EAAA,IAAAd,CAAAA,QAAAI,EAAAA,EAAA;AAHtBU,IAAAA,EAAAA,GAAA;AAAA,MAAAM,SAAAA,EACM,IAAA;AAAA,MAAaC,OAAAA,EACfjB,EAAAA;AAAAA,MAA2BkB,KAAAA,EAC7Bb;AAAAA,KACT;AAACT,IAAAA,CAAAA,MAAAI,EAAAA;AAAAJ,IAAAA,CAAAA,MAAAc,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAd,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OAJMc,EAAAA;AAIN,CAAA;AAGH,MAAMS,wBAAwBA,MAAA;AAAA,EAAA,MAAAvB,CAAAA,GAAAC,cAAA,CAAA,CAAA;AAI5B,EAAA,MAAAuB,MAAAA,GAAeC,UAAU,6BAA6B,CAAA;AACtD,EAAA,MAAAvB,UAAgBC,eAAAA,EAAgB;AAEhC,EAAA,MAAAuB,aAAAA,GAAsBC,aAAaC,2BAA2B,CAAA;AAC9D,EAAA,MAAAC,gBAAAA,GAAyBX,WAAWY,yBAAyB,CAAA;AAE7D,EAAA,MAAA;AAAA,IAAAC;AAAAA,GAAA,GAAsBC,aAAa,OAAO,CAAA;AAAE,EAAA,IAAA5B,EAAAA;AAAA,EAAA,IAAAJ,EAAA,CAAA,CAAA,KAAAwB,UAAAxB,CAAAA,QAAA6B,gBAAAA,EAAA;AAENzB,IAAAA,EAAAA,GAAA6B,CAAAA,MAAAA,KAAA;AACpCT,MAAAA,MAAAA,CAAMU,GAAAA,CAAK,0BAA0BD,MAAM,CAAA;AAC3CJ,MAAAA,gBAAAA,CAAiBI,OAAME,KAAM,CAAA;AAAA,IAAC,CAAA;AAC/BnC,IAAAA,CAAAA,MAAAwB,MAAAA;AAAAxB,IAAAA,CAAAA,MAAA6B,gBAAAA;AAAA7B,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAAoC,cAAAA,GAAsChC,EAAAA;AAKtC,EAAA,MAAAiC,UAAAA,GAAmBnB,WAAWoB,sBAAsB,CAAA;AAAE,EAAA,IAAA7B,EAAAA;AAAA,EAAA,IAAAT,EAAA,CAAA,CAAA,KAAA+B,aAAA/B,CAAAA,CAAA,CAAA,MAAAoC,cAAAA,IAAApC,CAAAA,CAAA,CAAA,CAAA,KAAA0B,aAAAA,IAAA1B,EAAA,CAAA,CAAA,KAAAqC,cAAArC,CAAAA,QAAAE,OAAAA,EAAA;AAE/CO,IAAAA,EAAAA,GAAA;AAAA,MAAA8B,MAAAA,EACGb,aAAAA;AAAAA,MAAaK,SAAAA;AAAAA,MAAArB,KAAAA,EAEdR,OAAAA;AAAAA,MAAOkC,cAAAA;AAAAA,MAAAI,aAAAA,EAECH;AAAAA,KACjB;AAACrC,IAAAA,CAAAA,MAAA+B,SAAAA;AAAA/B,IAAAA,CAAAA,MAAAoC,cAAAA;AAAApC,IAAAA,CAAAA,MAAA0B,aAAAA;AAAA1B,IAAAA,CAAAA,MAAAqC,UAAAA;AAAArC,IAAAA,CAAAA,MAAAE,OAAAA;AAAAF,IAAAA,CAAAA,MAAAS,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAT,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OANMS,EAAAA;AAMN,CAAA;AAGI,MAAMgC,4BAA4BA,MAAA;AAAA,EAAA,MAAAzC,CAAAA,GAAAC,cAAA,CAAA,CAAA;AACvC,EAAA,MAAAyC,mBAAyBnB,qBAAAA,EAAsB;AAC/C,EAAA,MAAAoB,aAAmB3B,aAAAA,EAAc;AACjC,EAAA,MAAA4B,mBAAyB7C,qBAAAA,EAAsB;AAC/C,EAAA,MAAA8C,UAAgBC,oBAAAA,EAAqB;AAAE,EAAA,IAAA1C,EAAAA;AAAA,EAAA,IAAAJ,CAAAA,CAAA,CAAA,CAAA,KAAA6C,OAAAA,IAAA7C,EAAA,CAAA,CAAA,KAAA0C,gBAAAA,IAAA1C,CAAAA,CAAA,CAAA,CAAA,KAAA2C,UAAAA,IAAA3C,CAAAA,QAAA4C,gBAAAA,EAAA;AAEhCxC,IAAAA,EAAAA,GAAA;AAAA,MAAA,GACFuC,UAAAA;AAAAA,MAAU,GACVD,gBAAAA;AAAAA,MAAgBE,gBAAAA;AAAAA,MAAAC;AAAAA,KAGrB;AAAC7C,IAAAA,CAAAA,MAAA6C,OAAAA;AAAA7C,IAAAA,CAAAA,MAAA0C,gBAAAA;AAAA1C,IAAAA,CAAAA,MAAA2C,UAAAA;AAAA3C,IAAAA,CAAAA,MAAA4C,gBAAAA;AAAA5C,IAAAA,CAAAA,MAAAI,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAJ,EAAA,CAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OALMI,EAAAA;AAKN;;;;"}
1
+ {"version":3,"file":"useLimitTokenToInputProps.js","sources":["../../../src/core/limit/useLimitTokenToInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"jotai\";\nimport { limitReceiveInputAmountAtom } from \"./state/limitInputAmountAtom\";\nimport { setLimitReceiveAmountAtom } from \"./state/limitInputActionsAtom\";\nimport { useLogger } from \"../logger\";\nimport type { OnValueChange } from \"react-number-format\";\nimport { useLimitRate } from \"./useLimitRate\";\nimport { currentLimitInputAtom } from \"./state/currentLimitInputAtom\";\nimport type { TokenInputExtraProps } from \"../inputs/hooks/types\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useLimitInputClasses } from \"./useLimitTokenFromInputProps\";\nimport { selectLimitTokenToAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useLimitTokenFrom, useLimitTokenTo } from \"./state/selectedTokenAtom\";\nimport { useIsTokenSupportedInDeltaQuery } from \"@/hooks/swap/prices/delta/queries/useIsTokenSupportedInDelta\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { isFilledArray } from \"@/lib/utils/tuple\";\nimport { useChainId } from \"wagmi\";\n\nconst useTokenToBalanceUnit = () => {\n const tokenTo = useLimitTokenTo();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenTo,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n // @TODO change to destChain when implementing Crosschain Delta Limit Orders\n const appChainId = useChainId();\n\n const setCurrentInput = useSetAtom(currentLimitInputAtom);\n\n return {\n networkSwitcherProps: {\n // @TODO provide all necessary networks and other props when implementing Crosschain Delta Limit Orders\n networks: [appChainId],\n selectedNetwork: appChainId,\n disabled: true,\n hidden: true,\n },\n tokenType: \"to\" as const,\n onFocus: () => setCurrentInput(\"to\"),\n label: <span>Receive</span>,\n };\n};\n\nconst useTokenToAmountProps = (): Pick<\n TokenInputProps,\n \"amount\" | \"isLoading\" | \"token\" | \"onAmountChange\" | \"onTokenSelect\"\n> => {\n const logger = useLogger(\"Limit::TokenTo::AmountProps\");\n const tokenTo = useLimitTokenTo();\n\n const receiveAmount = useAtomValue(limitReceiveInputAmountAtom);\n const setReceiveAmount = useSetAtom(setLimitReceiveAmountAtom);\n\n const { isLoading } = useLimitRate(\"limit\");\n\n const onAmountChange: OnValueChange = (values) => {\n logger.log(\"onAmountChange::values\", values);\n setReceiveAmount(values.value);\n };\n\n const setTokenTo = useSetAtom(selectLimitTokenToAtom);\n\n return {\n amount: receiveAmount,\n isLoading,\n token: tokenTo,\n onAmountChange,\n onTokenSelect: setTokenTo,\n };\n};\n\ntype UnsupportedLimitTokensResult = {\n unsupportedTokens?: [Token, Token] | [Token];\n isLoading: boolean;\n};\n\nexport function useUnsupportedLimitTokens(): UnsupportedLimitTokensResult {\n const tokenTo = useLimitTokenTo();\n const tokenFrom = useLimitTokenFrom();\n\n const { data: isDestTokenSupported, isLoading: isDestTokenSupportedLoading } =\n useIsTokenSupportedInDeltaQuery({\n token: tokenTo?.address,\n chainId: tokenTo?.network || tokenFrom.network,\n });\n\n const { data: isSrcTokenSupported, isLoading: isSrcTokenSupportedLoading } =\n useIsTokenSupportedInDeltaQuery({\n token: tokenFrom.address,\n chainId: tokenFrom.network,\n });\n\n const unsupportedTokens: Token[] = [];\n if (isSrcTokenSupported === false) {\n unsupportedTokens.push(tokenFrom);\n }\n if (isDestTokenSupported === false && tokenTo) {\n unsupportedTokens.push(tokenTo);\n }\n\n return {\n unsupportedTokens: isFilledArray(unsupportedTokens)\n ? (unsupportedTokens as UnsupportedLimitTokensResult[\"unsupportedTokens\"])\n : undefined,\n isLoading: isDestTokenSupportedLoading || isSrcTokenSupportedLoading,\n };\n}\n\nfunction useWarningMessage(): UnsupportedLimitTokensResult & {\n warningMessage?: string;\n} {\n const { unsupportedTokens, isLoading } = useUnsupportedLimitTokens();\n return {\n warningMessage: unsupportedTokens\n ? customUnsupportedTokenMessage(unsupportedTokens)\n : undefined,\n unsupportedTokens,\n isLoading,\n };\n}\n\nexport const useLimitTokenToInputProps = (): TokenInputProps => {\n const extraAmountProps = useTokenToAmountProps();\n const extraProps = useExtraProps();\n const tokenBalanceUnit = useTokenToBalanceUnit();\n const classes = useLimitInputClasses();\n const { warningMessage } = useWarningMessage();\n\n return {\n ...extraProps,\n ...extraAmountProps,\n tokenBalanceUnit,\n classes,\n warningMessage,\n };\n};\n\nfunction customUnsupportedTokenMessage(\n tokens: Pick<Token, \"symbol\">[]\n): string | undefined {\n if (!isFilledArray(tokens)) {\n return;\n }\n if (tokens.length === 1) {\n return `Token ${tokens[0].symbol} is not supported for this order`;\n }\n\n const tokenSymbols = tokens.map((token) => token.symbol).join(\", \");\n return `Tokens ${tokenSymbols} are not supported for this order`;\n}\n"],"names":["useTokenToBalanceUnit","$","_c","tokenTo","useLimitTokenTo","t0","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","t1","token","queryOptions","balanceUnit","useTokenBalance","t2","toDecimalTrimmed","useExtraProps","appChainId","useChainId","setCurrentInput","useSetAtom","currentLimitInputAtom","networks","selectedNetwork","disabled","hidden","t3","t4","networkSwitcherProps","tokenType","onFocus","label","useTokenToAmountProps","logger","useLogger","receiveAmount","useAtomValue","limitReceiveInputAmountAtom","setReceiveAmount","setLimitReceiveAmountAtom","isLoading","useLimitRate","values","log","value","onAmountChange","setTokenTo","selectLimitTokenToAtom","amount","onTokenSelect","useUnsupportedLimitTokens","tokenFrom","useLimitTokenFrom","address","network","chainId","data","isDestTokenSupported","isDestTokenSupportedLoading","useIsTokenSupportedInDeltaQuery","isSrcTokenSupported","isSrcTokenSupportedLoading","unsupportedTokens","push","isFilledArray","undefined","t5","t6","useWarningMessage","customUnsupportedTokenMessage","warningMessage","useLimitTokenToInputProps","extraAmountProps","extraProps","tokenBalanceUnit","classes","useLimitInputClasses","tokens","length","symbol","tokenSymbols","map","join"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"selectedTokenAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/otc/state/selectedTokenAtom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAQlD,eAAO,MAAM,gBAAgB;;CAAyB,CAAC;AACvD,eAAO,MAAM,cAAc;;CAAgB,CAAC;AAE5C,eAAO,MAAM,eAAe,aAAuC,CAAC;AACpE,eAAO,MAAM,aAAa,yBAAqC,CAAC;AAEhE,eAAO,MAAM,6BAA6B,GAAI,SAAS,gBAAgB,SAUtE,CAAC"}
1
+ {"version":3,"file":"selectedTokenAtom.d.ts","sourceRoot":"","sources":["../../../../src/core/otc/state/selectedTokenAtom.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAQlD,eAAO,MAAM,gBAAgB;;CAAyB,CAAC;AACvD,eAAO,MAAM,cAAc;;CAAgB,CAAC;AAE5C,eAAO,MAAM,eAAe,aAAuC,CAAC;AACpE,eAAO,MAAM,aAAa,yBAAqC,CAAC;AAEhE,eAAO,MAAM,6BAA6B,GAAI,SAAS,gBAAgB,SAoBtE,CAAC"}
@@ -13,9 +13,11 @@ const useOtcTokenTo = () => {
13
13
  return useAtomValue(otcTokenToAtom);
14
14
  };
15
15
  const syncOtcTokensAfterChainSwitch = (chainId) => {
16
+ const tokenFrom = jotaiStore.get(otcTokenFromAtom);
17
+ const tokenTo = jotaiStore.get(otcTokenToAtom);
18
+ if (tokenFrom.network === chainId && (!tokenTo || tokenTo.network === chainId)) return;
16
19
  const [defaultTokenFrom2, defaultTokenTo] = pickDefaultTokenPair(chainId, "otc");
17
20
  jotaiStore.set(otcTokenFromAtom, defaultTokenFrom2);
18
- const tokenTo = jotaiStore.get(otcTokenToAtom);
19
21
  if (tokenTo) jotaiStore.set(otcTokenToAtom, defaultTokenTo);
20
22
  };
21
23
 
@@ -1 +1 @@
1
- {"version":3,"file":"selectedTokenAtom.js","sources":["../../../../src/core/otc/state/selectedTokenAtom.ts"],"sourcesContent":["import { jotaiStore } from \"@/core/inputs/state/store\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { atom, useAtomValue } from \"jotai\";\n\nconst [defaultTokenFrom] = pickDefaultTokenPair(\n wagmiConfig.state.chainId,\n \"otc\"\n);\n\nexport const otcTokenFromAtom = atom(defaultTokenFrom);\nexport const otcTokenToAtom = atom<Token>();\n\nexport const useOtcTokenFrom = () => useAtomValue(otcTokenFromAtom);\nexport const useOtcTokenTo = () => useAtomValue(otcTokenToAtom);\n\nexport const syncOtcTokensAfterChainSwitch = (chainId: SupportedChainId) => {\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n chainId,\n \"otc\"\n );\n\n jotaiStore.set(otcTokenFromAtom, defaultTokenFrom);\n\n const tokenTo = jotaiStore.get(otcTokenToAtom);\n if (tokenTo) jotaiStore.set(otcTokenToAtom, defaultTokenTo);\n};\n"],"names":["defaultTokenFrom","pickDefaultTokenPair","wagmiConfig","state","chainId","otcTokenFromAtom","atom","otcTokenToAtom","useOtcTokenFrom","useAtomValue","useOtcTokenTo","syncOtcTokensAfterChainSwitch","defaultTokenTo","jotaiStore","set","tokenTo","get"],"mappings":";;;;;AAOA,MAAM,CAACA,gBAAgB,CAAA,GAAIC,qBACzBC,WAAAA,CAAYC,KAAAA,CAAMC,SAClB,KACF,CAAA;AAEO,MAAMC,gBAAAA,GAAmBC,KAAKN,gBAAgB;AAC9C,MAAMO,iBAAiBD,IAAAA;AAEvB,MAAME,kBAAkBA,MAAA;AAAA,EAAA,OAAMC,aAAaJ,gBAAgB,CAAA;AAAC;AAC5D,MAAMK,gBAAgBA,MAAA;AAAA,EAAA,OAAMD,aAAaF,cAAc,CAAA;AAAC;AAExD,MAAMI,6BAAAA,GAAgCA,CAACP,OAAAA,KAA8B;AAC1E,EAAA,MAAM,CAACJ,iBAAAA,EAAkBY,cAAc,CAAA,GAAIX,oBAAAA,CACzCG,SACA,KACF,CAAA;AAEAS,EAAAA,UAAAA,CAAWC,GAAAA,CAAIT,kBAAkBL,iBAAgB,CAAA;AAEjD,EAAA,MAAMe,OAAAA,GAAUF,UAAAA,CAAWG,GAAAA,CAAIT,cAAc,CAAA;AAC7C,EAAA,IAAIQ,OAAAA,EAASF,UAAAA,CAAWC,GAAAA,CAAIP,cAAAA,EAAgBK,cAAc,CAAA;AAC5D;;;;"}
1
+ {"version":3,"file":"selectedTokenAtom.js","sources":["../../../../src/core/otc/state/selectedTokenAtom.ts"],"sourcesContent":["import { jotaiStore } from \"@/core/inputs/state/store\";\nimport { wagmiConfig } from \"@/lib/web3/wagmi/config\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { pickDefaultTokenPair } from \"@/tokens/defaultTokens\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { atom, useAtomValue } from \"jotai\";\n\nconst [defaultTokenFrom] = pickDefaultTokenPair(\n wagmiConfig.state.chainId,\n \"otc\"\n);\n\nexport const otcTokenFromAtom = atom(defaultTokenFrom);\nexport const otcTokenToAtom = atom<Token>();\n\nexport const useOtcTokenFrom = () => useAtomValue(otcTokenFromAtom);\nexport const useOtcTokenTo = () => useAtomValue(otcTokenToAtom);\n\nexport const syncOtcTokensAfterChainSwitch = (chainId: SupportedChainId) => {\n const tokenFrom = jotaiStore.get(otcTokenFromAtom);\n const tokenTo = jotaiStore.get(otcTokenToAtom);\n // token will already be set on new chain, the new token may have been the reason for switchChain\n\n // chains are the same? do nothing\n if (\n tokenFrom.network === chainId &&\n (!tokenTo || tokenTo.network === chainId)\n )\n return;\n\n const [defaultTokenFrom, defaultTokenTo] = pickDefaultTokenPair(\n chainId,\n \"otc\"\n );\n\n jotaiStore.set(otcTokenFromAtom, defaultTokenFrom);\n\n if (tokenTo) jotaiStore.set(otcTokenToAtom, defaultTokenTo);\n};\n"],"names":["defaultTokenFrom","pickDefaultTokenPair","wagmiConfig","state","chainId","otcTokenFromAtom","atom","otcTokenToAtom","useOtcTokenFrom","useAtomValue","useOtcTokenTo","syncOtcTokensAfterChainSwitch","tokenFrom","jotaiStore","get","tokenTo","network","defaultTokenTo","set"],"mappings":";;;;;AAOA,MAAM,CAACA,gBAAgB,CAAA,GAAIC,qBACzBC,WAAAA,CAAYC,KAAAA,CAAMC,SAClB,KACF,CAAA;AAEO,MAAMC,gBAAAA,GAAmBC,KAAKN,gBAAgB;AAC9C,MAAMO,iBAAiBD,IAAAA;AAEvB,MAAME,kBAAkBA,MAAA;AAAA,EAAA,OAAMC,aAAaJ,gBAAgB,CAAA;AAAC;AAC5D,MAAMK,gBAAgBA,MAAA;AAAA,EAAA,OAAMD,aAAaF,cAAc,CAAA;AAAC;AAExD,MAAMI,6BAAAA,GAAgCA,CAACP,OAAAA,KAA8B;AAC1E,EAAA,MAAMQ,SAAAA,GAAYC,UAAAA,CAAWC,GAAAA,CAAIT,gBAAgB,CAAA;AACjD,EAAA,MAAMU,OAAAA,GAAUF,UAAAA,CAAWC,GAAAA,CAAIP,cAAc,CAAA;AAI7C,EAAA,IACEK,UAAUI,OAAAA,KAAYZ,OAAAA,KACrB,CAACW,OAAAA,IAAWA,OAAAA,CAAQC,YAAYZ,OAAAA,CAAAA,EAEjC;AAEF,EAAA,MAAM,CAACJ,iBAAAA,EAAkBiB,cAAc,CAAA,GAAIhB,oBAAAA,CACzCG,SACA,KACF,CAAA;AAEAS,EAAAA,UAAAA,CAAWK,GAAAA,CAAIb,kBAAkBL,iBAAgB,CAAA;AAEjD,EAAA,IAAIe,OAAAA,EAASF,UAAAA,CAAWK,GAAAA,CAAIX,cAAAA,EAAgBU,cAAc,CAAA;AAC5D;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOtcTokenToInputProps.d.ts","sourceRoot":"","sources":["../../../src/core/otc/useOtcTokenToInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAiE5E,eAAO,MAAM,uBAAuB,QAAO,eAY1C,CAAC"}
1
+ {"version":3,"file":"useOtcTokenToInputProps.d.ts","sourceRoot":"","sources":["../../../src/core/otc/useOtcTokenToInputProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sCAAsC,CAAC;AA0E5E,eAAO,MAAM,uBAAuB,QAAO,eAY1C,CAAC"}
@@ -12,6 +12,7 @@ import { toDecimalTrimmed } from '../../lib/utils/toDecimal.js';
12
12
  import { useOtcInputClasses } from './useOtcTokenFromInputProps.js';
13
13
  import { selectOtcTokenToAtom } from './state/selectedTokenActionsAtom.js';
14
14
  import { useOtcTokenTo } from './state/selectedTokenAtom.js';
15
+ import { useChainId } from 'wagmi';
15
16
 
16
17
  const useTokenToBalanceUnit = () => {
17
18
  const $ = distExports.c(5);
@@ -50,36 +51,61 @@ const useTokenToBalanceUnit = () => {
50
51
  return t2;
51
52
  };
52
53
  const useExtraProps = () => {
53
- const $ = distExports.c(5);
54
+ const $ = distExports.c(11);
55
+ const appChainId = useChainId();
54
56
  const setCurrentInput = useSetAtom(currentOtcInputAtom);
55
57
  let t0;
56
- if ($[0] !== setCurrentInput) {
57
- t0 = () => setCurrentInput("to");
58
- $[0] = setCurrentInput;
58
+ if ($[0] !== appChainId) {
59
+ t0 = [appChainId];
60
+ $[0] = appChainId;
59
61
  $[1] = t0;
60
62
  } else {
61
63
  t0 = $[1];
62
64
  }
63
65
  let t1;
64
- if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
65
- t1 = /* @__PURE__ */ jsx("span", { children: "Receive" });
66
- $[2] = t1;
66
+ if ($[2] !== appChainId || $[3] !== t0) {
67
+ t1 = {
68
+ networks: t0,
69
+ selectedNetwork: appChainId,
70
+ disabled: true,
71
+ hidden: true
72
+ };
73
+ $[2] = appChainId;
74
+ $[3] = t0;
75
+ $[4] = t1;
67
76
  } else {
68
- t1 = $[2];
77
+ t1 = $[4];
69
78
  }
70
79
  let t2;
71
- if ($[3] !== t0) {
72
- t2 = {
80
+ if ($[5] !== setCurrentInput) {
81
+ t2 = () => setCurrentInput("to");
82
+ $[5] = setCurrentInput;
83
+ $[6] = t2;
84
+ } else {
85
+ t2 = $[6];
86
+ }
87
+ let t3;
88
+ if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
89
+ t3 = /* @__PURE__ */ jsx("span", { children: "Receive" });
90
+ $[7] = t3;
91
+ } else {
92
+ t3 = $[7];
93
+ }
94
+ let t4;
95
+ if ($[8] !== t1 || $[9] !== t2) {
96
+ t4 = {
97
+ networkSwitcherProps: t1,
73
98
  tokenType: "to",
74
- onFocus: t0,
75
- label: t1
99
+ onFocus: t2,
100
+ label: t3
76
101
  };
77
- $[3] = t0;
78
- $[4] = t2;
102
+ $[8] = t1;
103
+ $[9] = t2;
104
+ $[10] = t4;
79
105
  } else {
80
- t2 = $[4];
106
+ t4 = $[10];
81
107
  }
82
- return t2;
108
+ return t4;
83
109
  };
84
110
  const useTokenToAmountProps = () => {
85
111
  const $ = distExports.c(9);
@@ -1 +1 @@
1
- {"version":3,"file":"useOtcTokenToInputProps.js","sources":["../../../src/core/otc/useOtcTokenToInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"jotai\";\nimport { otcReceiveInputAmountAtom } from \"./state/otcInputAmountAtom\";\nimport { setOtcReceiveAmountAtom } from \"./state/otcInputActionsAtom\";\nimport { useLogger } from \"../logger\";\nimport type { OnValueChange } from \"react-number-format\";\nimport { useLimitRate } from \"../limit/useLimitRate\";\nimport { currentOtcInputAtom } from \"./state/currentOtcInputAtom\";\nimport type { TokenInputExtraProps } from \"../inputs/hooks/types\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useOtcInputClasses } from \"./useOtcTokenFromInputProps\";\nimport { selectOtcTokenToAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useOtcTokenTo } from \"./state/selectedTokenAtom\";\n\nconst useTokenToBalanceUnit = () => {\n const tokenTo = useOtcTokenTo();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenTo,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n const setCurrentInput = useSetAtom(currentOtcInputAtom);\n\n return {\n tokenType: \"to\" as const,\n onFocus: () => setCurrentInput(\"to\"),\n label: <span>Receive</span>,\n };\n};\n\nconst useTokenToAmountProps = (): Pick<\n TokenInputProps,\n \"amount\" | \"isLoading\" | \"token\" | \"onAmountChange\" | \"onTokenSelect\"\n> => {\n const logger = useLogger(\"OTC::TokenTo::AmountProps\");\n const tokenTo = useOtcTokenTo();\n\n const receiveAmount = useAtomValue(otcReceiveInputAmountAtom);\n const setReceiveAmount = useSetAtom(setOtcReceiveAmountAtom);\n\n const { isLoading } = useLimitRate(\"otc\");\n\n const onAmountChange: OnValueChange = (values) => {\n logger.log(\"onAmountChange::values\", values);\n setReceiveAmount(values.value);\n };\n\n const setTokenTo = useSetAtom(selectOtcTokenToAtom);\n\n return {\n amount: receiveAmount,\n isLoading,\n token: tokenTo,\n onAmountChange,\n onTokenSelect: setTokenTo,\n };\n};\n\nexport const useOtcTokenToInputProps = (): TokenInputProps => {\n const extraAmountProps = useTokenToAmountProps();\n const extraProps = useExtraProps();\n const tokenBalanceUnit = useTokenToBalanceUnit();\n const classes = useOtcInputClasses();\n\n return {\n ...extraProps,\n ...extraAmountProps,\n tokenBalanceUnit,\n classes,\n };\n};\n"],"names":["useTokenToBalanceUnit","$","_c","tokenTo","useOtcTokenTo","t0","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","t1","token","queryOptions","balanceUnit","useTokenBalance","t2","toDecimalTrimmed","useExtraProps","setCurrentInput","useSetAtom","currentOtcInputAtom","tokenType","onFocus","label","useTokenToAmountProps","logger","useLogger","receiveAmount","useAtomValue","otcReceiveInputAmountAtom","setReceiveAmount","setOtcReceiveAmountAtom","isLoading","useLimitRate","values","log","value","onAmountChange","setTokenTo","selectOtcTokenToAtom","amount","onTokenSelect","useOtcTokenToInputProps","extraAmountProps","extraProps","tokenBalanceUnit","classes","useOtcInputClasses"],"mappings":"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"}
1
+ {"version":3,"file":"useOtcTokenToInputProps.js","sources":["../../../src/core/otc/useOtcTokenToInputProps.tsx"],"sourcesContent":["import type { TokenInputProps } from \"@/components/widget/TokenInput/types\";\nimport { useAtomValue, useSetAtom } from \"jotai\";\nimport { otcReceiveInputAmountAtom } from \"./state/otcInputAmountAtom\";\nimport { setOtcReceiveAmountAtom } from \"./state/otcInputActionsAtom\";\nimport { useLogger } from \"../logger\";\nimport type { OnValueChange } from \"react-number-format\";\nimport { useLimitRate } from \"../limit/useLimitRate\";\nimport { currentOtcInputAtom } from \"./state/currentOtcInputAtom\";\nimport type { TokenInputExtraProps } from \"../inputs/hooks/types\";\nimport { useTokenBalance } from \"@/hooks/tokens/balances/useTokenBalance\";\nimport { MEDIUM_STALE_TIME_FOR_REACTIVENESS } from \"@/lib/constants/time\";\nimport { toDecimalTrimmed } from \"@/lib/utils/toDecimal\";\nimport { useOtcInputClasses } from \"./useOtcTokenFromInputProps\";\nimport { selectOtcTokenToAtom } from \"./state/selectedTokenActionsAtom\";\nimport { useOtcTokenTo } from \"./state/selectedTokenAtom\";\nimport { useChainId } from \"wagmi\";\n\nconst useTokenToBalanceUnit = () => {\n const tokenTo = useOtcTokenTo();\n\n const { balanceUnit } = useTokenBalance({\n token: tokenTo,\n queryOptions: { refetchInterval: MEDIUM_STALE_TIME_FOR_REACTIVENESS },\n });\n\n return toDecimalTrimmed(balanceUnit);\n};\n\nconst useExtraProps = (): TokenInputExtraProps => {\n const appChainId = useChainId();\n\n const setCurrentInput = useSetAtom(currentOtcInputAtom);\n\n return {\n networkSwitcherProps: {\n networks: [appChainId],\n selectedNetwork: appChainId,\n disabled: true,\n hidden: true,\n },\n tokenType: \"to\" as const,\n onFocus: () => setCurrentInput(\"to\"),\n label: <span>Receive</span>,\n };\n};\n\nconst useTokenToAmountProps = (): Pick<\n TokenInputProps,\n \"amount\" | \"isLoading\" | \"token\" | \"onAmountChange\" | \"onTokenSelect\"\n> => {\n const logger = useLogger(\"OTC::TokenTo::AmountProps\");\n const tokenTo = useOtcTokenTo();\n\n const receiveAmount = useAtomValue(otcReceiveInputAmountAtom);\n const setReceiveAmount = useSetAtom(setOtcReceiveAmountAtom);\n\n const { isLoading } = useLimitRate(\"otc\");\n\n const onAmountChange: OnValueChange = (values) => {\n logger.log(\"onAmountChange::values\", values);\n setReceiveAmount(values.value);\n };\n\n const setTokenTo = useSetAtom(selectOtcTokenToAtom);\n\n return {\n amount: receiveAmount,\n isLoading,\n token: tokenTo,\n onAmountChange,\n onTokenSelect: setTokenTo,\n };\n};\n\nexport const useOtcTokenToInputProps = (): TokenInputProps => {\n const extraAmountProps = useTokenToAmountProps();\n const extraProps = useExtraProps();\n const tokenBalanceUnit = useTokenToBalanceUnit();\n const classes = useOtcInputClasses();\n\n return {\n ...extraProps,\n ...extraAmountProps,\n tokenBalanceUnit,\n classes,\n };\n};\n"],"names":["useTokenToBalanceUnit","$","_c","tokenTo","useOtcTokenTo","t0","Symbol","for","refetchInterval","MEDIUM_STALE_TIME_FOR_REACTIVENESS","t1","token","queryOptions","balanceUnit","useTokenBalance","t2","toDecimalTrimmed","useExtraProps","appChainId","useChainId","setCurrentInput","useSetAtom","currentOtcInputAtom","networks","selectedNetwork","disabled","hidden","t3","t4","networkSwitcherProps","tokenType","onFocus","label","useTokenToAmountProps","logger","useLogger","receiveAmount","useAtomValue","otcReceiveInputAmountAtom","setReceiveAmount","setOtcReceiveAmountAtom","isLoading","useLimitRate","values","log","value","onAmountChange","setTokenTo","selectOtcTokenToAtom","amount","onTokenSelect","useOtcTokenToInputProps","extraAmountProps","extraProps","tokenBalanceUnit","classes","useOtcInputClasses"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"configActionsAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/configActionsAtom.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,eAAe,EAErB,MAAM,cAAc,CAAC;AAStB,eAAO,MAAM,mBAAmB;;CAgD/B,CAAC;AAIF,eAAO,MAAM,gBAAgB;;CAkB3B,CAAC"}
1
+ {"version":3,"file":"configActionsAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/configActionsAtom.ts"],"names":[],"mappings":"AACA,OAAO,EAOL,KAAK,cAAc,EACnB,KAAK,eAAe,EAGrB,MAAM,cAAc,CAAC;AAStB,eAAO,MAAM,mBAAmB;;CAgD/B,CAAC;AAIF,eAAO,MAAM,gBAAgB;;CAsB3B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { atom } from 'jotai';
2
- import { defaultWidgetConfig, widgetConfigAtom, defaultSubConfig, srcChainsAtom, destChainsAtom, tokenListsAtom, tradeModesAtom } from './configAtom.js';
2
+ import { defaultWidgetConfig, widgetConfigAtom, defaultSubConfig, srcChainsAtom, destChainsAtom, tokenListsAtom, tradeModesAtom, excludeUIAtom } from './configAtom.js';
3
3
 
4
4
  const setWidgetConfigAtom = atom(null, (_, set, config) => {
5
5
  const enableDelta = typeof config.enableDelta !== "boolean" ? defaultWidgetConfig.enableDelta : config.enableDelta;
@@ -28,10 +28,12 @@ const setSubConfigAtom = atom(null, (_, set, config) => {
28
28
  const destChains = !Array.isArray(config.destChains) ? defaultSubConfig.destChains : config.destChains;
29
29
  const tokenLists = !Array.isArray(config.tokenLists) ? defaultSubConfig.tokenLists : config.tokenLists;
30
30
  const tradeModes = !Array.isArray(config.tradeModes) ? defaultSubConfig.tradeModes : config.tradeModes;
31
+ const excludeUI = !Array.isArray(config.excludeUI) ? defaultSubConfig.excludeUI : config.excludeUI;
31
32
  set(srcChainsAtom, srcChains);
32
33
  set(destChainsAtom, destChains);
33
34
  set(tokenListsAtom, tokenLists);
34
35
  set(tradeModesAtom, tradeModes);
36
+ set(excludeUIAtom, excludeUI);
35
37
  });
36
38
 
37
39
  export { setSubConfigAtom, setWidgetConfigAtom };
@@ -1 +1 @@
1
- {"version":3,"file":"configActionsAtom.js","sources":["../../../src/core/state/configActionsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport {\n defaultWidgetConfig,\n defaultSubConfig,\n destChainsAtom,\n srcChainsAtom,\n tokenListsAtom,\n widgetConfigAtom,\n type IterableConfig,\n type PrimitiveConfig,\n tradeModesAtom,\n} from \"./configAtom\";\n\n// for each config/subConfig property, determine new value:\n// - if provided in config param is not valid, use default value\n// - otherwise, use provided value\n// this way we avoid overwriting with invalid values\n\n// this atom is used to sync widget config provided via props to the widgetConfigAtom without preserving previous values\n// if user does not provide any of the config properties or config itself, defaults will be used without falling back to the current value\nexport const setWidgetConfigAtom = atom(\n null,\n (_, set, config: PrimitiveConfig) => {\n const enableDelta =\n typeof config.enableDelta !== \"boolean\"\n ? defaultWidgetConfig.enableDelta\n : config.enableDelta;\n const enableCrossChain =\n typeof config.enableCrossChain !== \"boolean\"\n ? defaultWidgetConfig.enableCrossChain\n : config.enableCrossChain;\n const theme =\n config.theme !== \"dark\" && config.theme !== \"light\"\n ? defaultWidgetConfig.theme\n : config.theme;\n const privyAppId =\n typeof config.privyAppId !== \"string\"\n ? defaultWidgetConfig.privyAppId\n : config.privyAppId;\n const privyClientId =\n typeof config.privyClientId !== \"string\"\n ? defaultWidgetConfig.privyClientId\n : config.privyClientId;\n const debug =\n typeof config.debug !== \"boolean\"\n ? defaultWidgetConfig.debug\n : config.debug;\n const widgetMode =\n config.widgetMode !== \"dapp\" && config.widgetMode !== \"standalone\"\n ? defaultWidgetConfig.widgetMode\n : config.widgetMode;\n const ignoreBadUsdPrice =\n typeof config.ignoreBadUsdPrice !== \"boolean\"\n ? defaultWidgetConfig.ignoreBadUsdPrice\n : config.ignoreBadUsdPrice;\n\n set(widgetConfigAtom, {\n theme,\n enableDelta,\n enableCrossChain,\n partner: config.partner, // except for 'partner' which can be set to undefined\n privyAppId,\n privyClientId,\n debug,\n widgetMode,\n ignoreBadUsdPrice,\n });\n }\n);\n\n// this atom is used to sync partial widget config values provided via props to their atoms without preserving previous values\n// if user does not provide any of the config properties or config itself, defaults will be used without falling back to the current value\nexport const setSubConfigAtom = atom(null, (_, set, config: IterableConfig) => {\n const srcChains = !Array.isArray(config.srcChains)\n ? defaultSubConfig.srcChains\n : config.srcChains;\n const destChains = !Array.isArray(config.destChains)\n ? defaultSubConfig.destChains\n : config.destChains;\n const tokenLists = !Array.isArray(config.tokenLists)\n ? defaultSubConfig.tokenLists\n : config.tokenLists;\n const tradeModes = !Array.isArray(config.tradeModes)\n ? defaultSubConfig.tradeModes\n : config.tradeModes;\n\n set(srcChainsAtom, srcChains);\n set(destChainsAtom, destChains);\n set(tokenListsAtom, tokenLists);\n set(tradeModesAtom, tradeModes);\n});\n"],"names":["setWidgetConfigAtom","atom","_","set","config","enableDelta","defaultWidgetConfig","enableCrossChain","theme","privyAppId","privyClientId","debug","widgetMode","ignoreBadUsdPrice","widgetConfigAtom","partner","setSubConfigAtom","srcChains","Array","isArray","defaultSubConfig","destChains","tokenLists","tradeModes","srcChainsAtom","destChainsAtom","tokenListsAtom","tradeModesAtom"],"mappings":";;;AAoBO,MAAMA,sBAAsBC,IAAAA,CACjC,IAAA,EACA,CAACC,CAAAA,EAAGC,KAAKC,MAAAA,KAA4B;AACnC,EAAA,MAAMC,cACJ,OAAOD,MAAAA,CAAOC,gBAAgB,SAAA,GAC1BC,mBAAAA,CAAoBD,cACpBD,MAAAA,CAAOC,WAAAA;AACb,EAAA,MAAME,mBACJ,OAAOH,MAAAA,CAAOG,qBAAqB,SAAA,GAC/BD,mBAAAA,CAAoBC,mBACpBH,MAAAA,CAAOG,gBAAAA;AACb,EAAA,MAAMC,KAAAA,GACJJ,OAAOI,KAAAA,KAAU,MAAA,IAAUJ,OAAOI,KAAAA,KAAU,OAAA,GACxCF,mBAAAA,CAAoBE,KAAAA,GACpBJ,MAAAA,CAAOI,KAAAA;AACb,EAAA,MAAMC,aACJ,OAAOL,MAAAA,CAAOK,eAAe,QAAA,GACzBH,mBAAAA,CAAoBG,aACpBL,MAAAA,CAAOK,UAAAA;AACb,EAAA,MAAMC,gBACJ,OAAON,MAAAA,CAAOM,kBAAkB,QAAA,GAC5BJ,mBAAAA,CAAoBI,gBACpBN,MAAAA,CAAOM,aAAAA;AACb,EAAA,MAAMC,QACJ,OAAOP,MAAAA,CAAOO,UAAU,SAAA,GACpBL,mBAAAA,CAAoBK,QACpBP,MAAAA,CAAOO,KAAAA;AACb,EAAA,MAAMC,UAAAA,GACJR,OAAOQ,UAAAA,KAAe,MAAA,IAAUR,OAAOQ,UAAAA,KAAe,YAAA,GAClDN,mBAAAA,CAAoBM,UAAAA,GACpBR,MAAAA,CAAOQ,UAAAA;AACb,EAAA,MAAMC,oBACJ,OAAOT,MAAAA,CAAOS,sBAAsB,SAAA,GAChCP,mBAAAA,CAAoBO,oBACpBT,MAAAA,CAAOS,iBAAAA;AAEbV,EAAAA,GAAAA,CAAIW,gBAAAA,EAAkB;AAAA,IACpBN,KAAAA;AAAAA,IACAH,WAAAA;AAAAA,IACAE,gBAAAA;AAAAA,IACAQ,SAASX,MAAAA,CAAOW,OAAAA;AAAAA;AAAAA,IAChBN,UAAAA;AAAAA,IACAC,aAAAA;AAAAA,IACAC,KAAAA;AAAAA,IACAC,UAAAA;AAAAA,IACAC;AAAAA,GACD,CAAA;AACH,CACF;AAIO,MAAMG,mBAAmBf,IAAAA,CAAK,IAAA,EAAM,CAACC,CAAAA,EAAGC,KAAKC,MAAAA,KAA2B;AAC7E,EAAA,MAAMa,SAAAA,GAAY,CAACC,KAAAA,CAAMC,OAAAA,CAAQf,OAAOa,SAAS,CAAA,GAC7CG,gBAAAA,CAAiBH,SAAAA,GACjBb,MAAAA,CAAOa,SAAAA;AACX,EAAA,MAAMI,UAAAA,GAAa,CAACH,KAAAA,CAAMC,OAAAA,CAAQf,OAAOiB,UAAU,CAAA,GAC/CD,gBAAAA,CAAiBC,UAAAA,GACjBjB,MAAAA,CAAOiB,UAAAA;AACX,EAAA,MAAMC,UAAAA,GAAa,CAACJ,KAAAA,CAAMC,OAAAA,CAAQf,OAAOkB,UAAU,CAAA,GAC/CF,gBAAAA,CAAiBE,UAAAA,GACjBlB,MAAAA,CAAOkB,UAAAA;AACX,EAAA,MAAMC,UAAAA,GAAa,CAACL,KAAAA,CAAMC,OAAAA,CAAQf,OAAOmB,UAAU,CAAA,GAC/CH,gBAAAA,CAAiBG,UAAAA,GACjBnB,MAAAA,CAAOmB,UAAAA;AAEXpB,EAAAA,GAAAA,CAAIqB,eAAeP,SAAS,CAAA;AAC5Bd,EAAAA,GAAAA,CAAIsB,gBAAgBJ,UAAU,CAAA;AAC9BlB,EAAAA,GAAAA,CAAIuB,gBAAgBJ,UAAU,CAAA;AAC9BnB,EAAAA,GAAAA,CAAIwB,gBAAgBJ,UAAU,CAAA;AAChC,CAAC;;;;"}
1
+ {"version":3,"file":"configActionsAtom.js","sources":["../../../src/core/state/configActionsAtom.ts"],"sourcesContent":["import { atom } from \"jotai\";\nimport {\n defaultWidgetConfig,\n defaultSubConfig,\n destChainsAtom,\n srcChainsAtom,\n tokenListsAtom,\n widgetConfigAtom,\n type IterableConfig,\n type PrimitiveConfig,\n tradeModesAtom,\n excludeUIAtom,\n} from \"./configAtom\";\n\n// for each config/subConfig property, determine new value:\n// - if provided in config param is not valid, use default value\n// - otherwise, use provided value\n// this way we avoid overwriting with invalid values\n\n// this atom is used to sync widget config provided via props to the widgetConfigAtom without preserving previous values\n// if user does not provide any of the config properties or config itself, defaults will be used without falling back to the current value\nexport const setWidgetConfigAtom = atom(\n null,\n (_, set, config: PrimitiveConfig) => {\n const enableDelta =\n typeof config.enableDelta !== \"boolean\"\n ? defaultWidgetConfig.enableDelta\n : config.enableDelta;\n const enableCrossChain =\n typeof config.enableCrossChain !== \"boolean\"\n ? defaultWidgetConfig.enableCrossChain\n : config.enableCrossChain;\n const theme =\n config.theme !== \"dark\" && config.theme !== \"light\"\n ? defaultWidgetConfig.theme\n : config.theme;\n const privyAppId =\n typeof config.privyAppId !== \"string\"\n ? defaultWidgetConfig.privyAppId\n : config.privyAppId;\n const privyClientId =\n typeof config.privyClientId !== \"string\"\n ? defaultWidgetConfig.privyClientId\n : config.privyClientId;\n const debug =\n typeof config.debug !== \"boolean\"\n ? defaultWidgetConfig.debug\n : config.debug;\n const widgetMode =\n config.widgetMode !== \"dapp\" && config.widgetMode !== \"standalone\"\n ? defaultWidgetConfig.widgetMode\n : config.widgetMode;\n const ignoreBadUsdPrice =\n typeof config.ignoreBadUsdPrice !== \"boolean\"\n ? defaultWidgetConfig.ignoreBadUsdPrice\n : config.ignoreBadUsdPrice;\n\n set(widgetConfigAtom, {\n theme,\n enableDelta,\n enableCrossChain,\n partner: config.partner, // except for 'partner' which can be set to undefined\n privyAppId,\n privyClientId,\n debug,\n widgetMode,\n ignoreBadUsdPrice,\n });\n }\n);\n\n// this atom is used to sync partial widget config values provided via props to their atoms without preserving previous values\n// if user does not provide any of the config properties or config itself, defaults will be used without falling back to the current value\nexport const setSubConfigAtom = atom(null, (_, set, config: IterableConfig) => {\n const srcChains = !Array.isArray(config.srcChains)\n ? defaultSubConfig.srcChains\n : config.srcChains;\n const destChains = !Array.isArray(config.destChains)\n ? defaultSubConfig.destChains\n : config.destChains;\n const tokenLists = !Array.isArray(config.tokenLists)\n ? defaultSubConfig.tokenLists\n : config.tokenLists;\n const tradeModes = !Array.isArray(config.tradeModes)\n ? defaultSubConfig.tradeModes\n : config.tradeModes;\n const excludeUI = !Array.isArray(config.excludeUI)\n ? defaultSubConfig.excludeUI\n : config.excludeUI;\n\n set(srcChainsAtom, srcChains);\n set(destChainsAtom, destChains);\n set(tokenListsAtom, tokenLists);\n set(tradeModesAtom, tradeModes);\n set(excludeUIAtom, excludeUI);\n});\n"],"names":["setWidgetConfigAtom","atom","_","set","config","enableDelta","defaultWidgetConfig","enableCrossChain","theme","privyAppId","privyClientId","debug","widgetMode","ignoreBadUsdPrice","widgetConfigAtom","partner","setSubConfigAtom","srcChains","Array","isArray","defaultSubConfig","destChains","tokenLists","tradeModes","excludeUI","srcChainsAtom","destChainsAtom","tokenListsAtom","tradeModesAtom","excludeUIAtom"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import { WidgetConfig } from '../types';
1
+ import { WidgetElements, WidgetConfig } from '../types';
2
2
  import { TradeMode } from './tradeModeAtom';
3
3
  export type PrimitiveConfig = Pick<WidgetConfig, "theme" | "enableDelta" | "enableCrossChain" | "partner" | "privyAppId" | "privyClientId" | "debug" | "widgetMode" | "ignoreBadUsdPrice">;
4
- export type IterableConfig = Pick<WidgetConfig, "srcChains" | "destChains" | "tokenLists" | "tradeModes">;
4
+ export type IterableConfig = Pick<WidgetConfig, "srcChains" | "destChains" | "tokenLists" | "tradeModes" | "excludeUI">;
5
5
  export declare const defaultWidgetConfig: {
6
6
  readonly theme: "light" | "dark";
7
7
  readonly enableDelta: true;
@@ -51,9 +51,11 @@ export declare const defaultSubConfig: {
51
51
  readonly srcChains: never[];
52
52
  readonly destChains: never[];
53
53
  readonly tradeModes: never[];
54
+ readonly excludeUI: never[];
54
55
  };
55
56
  export declare const tokenListsAtom: import('jotai').WritableAtom<string[], [string[]], void>;
56
57
  export declare const srcChainsAtom: import('jotai').WritableAtom<(1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130)[], [(1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130)[]], void>;
57
58
  export declare const destChainsAtom: import('jotai').WritableAtom<(1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130)[], [(1 | 10 | 137 | 56 | 43114 | 42161 | 8453 | 100 | 146 | 130)[]], void>;
58
59
  export declare const tradeModesAtom: import('jotai').WritableAtom<TradeMode[], [TradeMode[]], void>;
60
+ export declare const excludeUIAtom: import('jotai').WritableAtom<WidgetElements[], [WidgetElements[]], void>;
59
61
  //# sourceMappingURL=configAtom.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"configAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/configAtom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAM7C,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,YAAY,EACV,OAAO,GACP,aAAa,GACb,kBAAkB,GAClB,SAAS,GACT,YAAY,GACZ,eAAe,GACf,OAAO,GACP,YAAY,GACZ,mBAAmB,CACtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,YAAY,EACZ,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,CACzD,CAAC;AAcF,eAAO,MAAM,mBAAmB;;;;;;;;;CASI,CAAC;AAErC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;CAAkD,CAAC;AAEhF,eAAO,MAAM,eAAe;;;;;;;;;;CAE3B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;CAKM,CAAC;AAIpC,eAAO,MAAM,cAAc,0DAG1B,CAAC;AACF,eAAO,MAAM,aAAa,sKAGzB,CAAC;AACF,eAAO,MAAM,cAAc,sKAG1B,CAAC;AAEF,eAAO,MAAM,cAAc,gEAG1B,CAAC"}
1
+ {"version":3,"file":"configAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/configAtom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAM7D,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGjD,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,YAAY,EACV,OAAO,GACP,aAAa,GACb,kBAAkB,GAClB,SAAS,GACT,YAAY,GACZ,eAAe,GACf,OAAO,GACP,YAAY,GACZ,mBAAmB,CACtB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,CAC/B,YAAY,EACZ,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,GAAG,WAAW,CACvE,CAAC;AAcF,eAAO,MAAM,mBAAmB;;;;;;;;;CASI,CAAC;AAErC,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;CAAkD,CAAC;AAEhF,eAAO,MAAM,eAAe;;;;;;;;;;CAE3B,CAAC;AAEF,eAAO,MAAM,gBAAgB;;;;;;CAMM,CAAC;AAIpC,eAAO,MAAM,cAAc,0DAG1B,CAAC;AACF,eAAO,MAAM,aAAa,sKAGzB,CAAC;AACF,eAAO,MAAM,cAAc,sKAG1B,CAAC;AAEF,eAAO,MAAM,cAAc,gEAG1B,CAAC;AAEF,eAAO,MAAM,aAAa,0EAGzB,CAAC"}
@@ -22,12 +22,14 @@ const defaultSubConfig = {
22
22
  tokenLists: emptyArray,
23
23
  srcChains: emptyArray,
24
24
  destChains: emptyArray,
25
- tradeModes: emptyArray
25
+ tradeModes: emptyArray,
26
+ excludeUI: emptyArray
26
27
  };
27
28
  const tokenListsAtom = atomWithCompare(defaultSubConfig.tokenLists, unorderedShallowEqual);
28
29
  const srcChainsAtom = atomWithCompare(defaultSubConfig.srcChains, unorderedShallowEqual);
29
30
  const destChainsAtom = atomWithCompare(defaultSubConfig.destChains, unorderedShallowEqual);
30
31
  const tradeModesAtom = atomWithCompare(defaultSubConfig.tradeModes, unorderedShallowEqual);
32
+ const excludeUIAtom = atomWithCompare(defaultSubConfig.excludeUI, unorderedShallowEqual);
31
33
 
32
- export { defaultSubConfig, defaultWidgetConfig, destChainsAtom, srcChainsAtom, tokenListsAtom, tradeModesAtom, useWidgetConfig, widgetConfigAtom };
34
+ export { defaultSubConfig, defaultWidgetConfig, destChainsAtom, excludeUIAtom, srcChainsAtom, tokenListsAtom, tradeModesAtom, useWidgetConfig, widgetConfigAtom };
33
35
  //# sourceMappingURL=configAtom.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"configAtom.js","sources":["../../../src/core/state/configAtom.ts"],"sourcesContent":["import { atom, useAtomValue } from \"jotai\";\nimport type { WidgetConfig } from \"../types\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { atomWithCompare } from \"@/lib/utils/atomWithCompare\";\nimport { unorderedShallowEqual } from \"@/lib/utils\";\nimport { type TradeMode } from \"./tradeModeAtom\";\nimport { getDefaultTheme } from \"@/lib/utils/theme\";\n\nexport type PrimitiveConfig = Pick<\n WidgetConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"partner\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"ignoreBadUsdPrice\"\n>;\n\nexport type IterableConfig = Pick<\n WidgetConfig,\n \"srcChains\" | \"destChains\" | \"tokenLists\" | \"tradeModes\"\n>;\n\ntype PrimitiveConfigState = MarkRequired<\n PrimitiveConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"ignoreBadUsdPrice\"\n>;\n\nexport const defaultWidgetConfig = {\n theme: getDefaultTheme(),\n enableDelta: true,\n enableCrossChain: true,\n privyAppId: import.meta.env.VITE_PRIVY_APP_ID,\n privyClientId: import.meta.env.VITE_PRIVY_CLIENT_ID,\n debug: false,\n widgetMode: \"standalone\",\n ignoreBadUsdPrice: true,\n} as const satisfies PrimitiveConfig;\n\nexport const widgetConfigAtom = atom<PrimitiveConfigState>(defaultWidgetConfig);\n\nexport const useWidgetConfig = () => {\n return useAtomValue(widgetConfigAtom);\n};\n\nexport const defaultSubConfig = {\n tokenLists: emptyArray,\n srcChains: emptyArray,\n destChains: emptyArray,\n tradeModes: emptyArray,\n} as const satisfies IterableConfig;\n\n// independent atoms for each iterable config property\n// with comparison to avoid unnecessary re-renders\nexport const tokenListsAtom = atomWithCompare<string[]>(\n defaultSubConfig.tokenLists,\n unorderedShallowEqual\n);\nexport const srcChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.srcChains,\n unorderedShallowEqual\n);\nexport const destChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.destChains,\n unorderedShallowEqual\n);\n\nexport const tradeModesAtom = atomWithCompare<TradeMode[]>(\n defaultSubConfig.tradeModes,\n unorderedShallowEqual\n);\n"],"names":["defaultWidgetConfig","theme","getDefaultTheme","enableDelta","enableCrossChain","privyAppId","import","privyClientId","debug","widgetMode","ignoreBadUsdPrice","widgetConfigAtom","atom","useWidgetConfig","useAtomValue","defaultSubConfig","tokenLists","emptyArray","srcChains","destChains","tradeModes","tokenListsAtom","atomWithCompare","unorderedShallowEqual","srcChainsAtom","destChainsAtom","tradeModesAtom"],"mappings":";;;;;;AAwCO,MAAMA,mBAAAA,GAAsB;AAAA,EACjCC,OAAOC,eAAAA,EAAgB;AAAA,EACvBC,WAAAA,EAAa,IAAA;AAAA,EACbC,gBAAAA,EAAkB,IAAA;AAAA,EAClBC,UAAAA,EAAYC,2BAAAA;AAAAA,EACZC,aAAAA,EAAeD,sDAAAA;AAAAA,EACfE,KAAAA,EAAO,KAAA;AAAA,EACPC,UAAAA,EAAY,YAAA;AAAA,EACZC,iBAAAA,EAAmB;AACrB;AAEO,MAAMC,gBAAAA,GAAmBC,KAA2BZ,mBAAmB;AAEvE,MAAMa,kBAAkBA,MAAA;AAAA,EAAA,OACtBC,aAAaH,gBAAgB,CAAA;AAAC;AAGhC,MAAMI,gBAAAA,GAAmB;AAAA,EAC9BC,UAAAA,EAAYC,UAAAA;AAAAA,EACZC,SAAAA,EAAWD,UAAAA;AAAAA,EACXE,UAAAA,EAAYF,UAAAA;AAAAA,EACZG,UAAAA,EAAYH;AACd;AAIO,MAAMI,cAAAA,GAAiBC,eAAAA,CAC5BP,gBAAAA,CAAiBC,UAAAA,EACjBO,qBACF;AACO,MAAMC,aAAAA,GAAgBF,eAAAA,CAC3BP,gBAAAA,CAAiBG,SAAAA,EACjBK,qBACF;AACO,MAAME,cAAAA,GAAiBH,eAAAA,CAC5BP,gBAAAA,CAAiBI,UAAAA,EACjBI,qBACF;AAEO,MAAMG,cAAAA,GAAiBJ,eAAAA,CAC5BP,gBAAAA,CAAiBK,UAAAA,EACjBG,qBACF;;;;"}
1
+ {"version":3,"file":"configAtom.js","sources":["../../../src/core/state/configAtom.ts"],"sourcesContent":["import { atom, useAtomValue } from \"jotai\";\nimport type { WidgetElements, WidgetConfig } from \"../types\";\nimport type { MarkRequired } from \"ts-essentials\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { emptyArray } from \"@/lib/constants\";\nimport { atomWithCompare } from \"@/lib/utils/atomWithCompare\";\nimport { unorderedShallowEqual } from \"@/lib/utils\";\nimport { type TradeMode } from \"./tradeModeAtom\";\nimport { getDefaultTheme } from \"@/lib/utils/theme\";\n\nexport type PrimitiveConfig = Pick<\n WidgetConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"partner\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"ignoreBadUsdPrice\"\n>;\n\nexport type IterableConfig = Pick<\n WidgetConfig,\n \"srcChains\" | \"destChains\" | \"tokenLists\" | \"tradeModes\" | \"excludeUI\"\n>;\n\ntype PrimitiveConfigState = MarkRequired<\n PrimitiveConfig,\n | \"theme\"\n | \"enableDelta\"\n | \"enableCrossChain\"\n | \"privyAppId\"\n | \"privyClientId\"\n | \"debug\"\n | \"widgetMode\"\n | \"ignoreBadUsdPrice\"\n>;\n\nexport const defaultWidgetConfig = {\n theme: getDefaultTheme(),\n enableDelta: true,\n enableCrossChain: true,\n privyAppId: import.meta.env.VITE_PRIVY_APP_ID,\n privyClientId: import.meta.env.VITE_PRIVY_CLIENT_ID,\n debug: false,\n widgetMode: \"standalone\",\n ignoreBadUsdPrice: true,\n} as const satisfies PrimitiveConfig;\n\nexport const widgetConfigAtom = atom<PrimitiveConfigState>(defaultWidgetConfig);\n\nexport const useWidgetConfig = () => {\n return useAtomValue(widgetConfigAtom);\n};\n\nexport const defaultSubConfig = {\n tokenLists: emptyArray,\n srcChains: emptyArray,\n destChains: emptyArray,\n tradeModes: emptyArray,\n excludeUI: emptyArray,\n} as const satisfies IterableConfig;\n\n// independent atoms for each iterable config property\n// with comparison to avoid unnecessary re-renders\nexport const tokenListsAtom = atomWithCompare<string[]>(\n defaultSubConfig.tokenLists,\n unorderedShallowEqual\n);\nexport const srcChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.srcChains,\n unorderedShallowEqual\n);\nexport const destChainsAtom = atomWithCompare<SupportedChainId[]>(\n defaultSubConfig.destChains,\n unorderedShallowEqual\n);\n\nexport const tradeModesAtom = atomWithCompare<TradeMode[]>(\n defaultSubConfig.tradeModes,\n unorderedShallowEqual\n);\n\nexport const excludeUIAtom = atomWithCompare<WidgetElements[]>(\n defaultSubConfig.excludeUI,\n unorderedShallowEqual\n);\n"],"names":["defaultWidgetConfig","theme","getDefaultTheme","enableDelta","enableCrossChain","privyAppId","import","privyClientId","debug","widgetMode","ignoreBadUsdPrice","widgetConfigAtom","atom","useWidgetConfig","useAtomValue","defaultSubConfig","tokenLists","emptyArray","srcChains","destChains","tradeModes","excludeUI","tokenListsAtom","atomWithCompare","unorderedShallowEqual","srcChainsAtom","destChainsAtom","tradeModesAtom","excludeUIAtom"],"mappings":";;;;;;AAwCO,MAAMA,mBAAAA,GAAsB;AAAA,EACjCC,OAAOC,eAAAA,EAAgB;AAAA,EACvBC,WAAAA,EAAa,IAAA;AAAA,EACbC,gBAAAA,EAAkB,IAAA;AAAA,EAClBC,UAAAA,EAAYC,2BAAAA;AAAAA,EACZC,aAAAA,EAAeD,sDAAAA;AAAAA,EACfE,KAAAA,EAAO,KAAA;AAAA,EACPC,UAAAA,EAAY,YAAA;AAAA,EACZC,iBAAAA,EAAmB;AACrB;AAEO,MAAMC,gBAAAA,GAAmBC,KAA2BZ,mBAAmB;AAEvE,MAAMa,kBAAkBA,MAAA;AAAA,EAAA,OACtBC,aAAaH,gBAAgB,CAAA;AAAC;AAGhC,MAAMI,gBAAAA,GAAmB;AAAA,EAC9BC,UAAAA,EAAYC,UAAAA;AAAAA,EACZC,SAAAA,EAAWD,UAAAA;AAAAA,EACXE,UAAAA,EAAYF,UAAAA;AAAAA,EACZG,UAAAA,EAAYH,UAAAA;AAAAA,EACZI,SAAAA,EAAWJ;AACb;AAIO,MAAMK,cAAAA,GAAiBC,eAAAA,CAC5BR,gBAAAA,CAAiBC,UAAAA,EACjBQ,qBACF;AACO,MAAMC,aAAAA,GAAgBF,eAAAA,CAC3BR,gBAAAA,CAAiBG,SAAAA,EACjBM,qBACF;AACO,MAAME,cAAAA,GAAiBH,eAAAA,CAC5BR,gBAAAA,CAAiBI,UAAAA,EACjBK,qBACF;AAEO,MAAMG,cAAAA,GAAiBJ,eAAAA,CAC5BR,gBAAAA,CAAiBK,UAAAA,EACjBI,qBACF;AAEO,MAAMI,aAAAA,GAAgBL,eAAAA,CAC3BR,gBAAAA,CAAiBM,SAAAA,EACjBG,qBACF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"widgetEventsAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/widgetEventsAtom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAMxB,eAAO,MAAM,gBAAgB;;CAuL3B,CAAC;AAEH,eAAO,MAAM,eAAe,QAAO,uBAElC,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,YAAY,oBAAoB,SA+BrE,CAAC"}
1
+ {"version":3,"file":"widgetEventsAtom.d.ts","sourceRoot":"","sources":["../../../src/core/state/widgetEventsAtom.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,uBAAuB,EACxB,MAAM,gBAAgB,CAAC;AAMxB,eAAO,MAAM,gBAAgB;;CAqM3B,CAAC;AAEH,eAAO,MAAM,eAAe,QAAO,uBAElC,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,YAAY,oBAAoB,SAiCrE,CAAC"}