@aurora-is-near/intents-swap-widget 3.24.1 → 3.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (99) hide show
  1. package/dist/{config-DMLDiA0V.js → config-6S9JcYY_.js} +319 -318
  2. package/dist/config-6S9JcYY_.js.map +1 -0
  3. package/dist/config.d.ts +10 -0
  4. package/dist/config.js +1 -1
  5. package/dist/errors.js +1 -1
  6. package/dist/ext/alchemy/index.js +1 -1
  7. package/dist/ext/index.js +1 -1
  8. package/dist/features/BalanceRpcLoader/TokenBalanceLoader.js +1 -1
  9. package/dist/features/BalanceRpcLoader/index.js +1 -1
  10. package/dist/features/BalanceRpcLoader/useTokenBalanceRpc.js +1 -1
  11. package/dist/features/ChainsDropdown/index.js +1 -1
  12. package/dist/features/ChainsSelector/index.js +1 -1
  13. package/dist/features/DepositMethodSwitcher.js +1 -1
  14. package/dist/features/ErrorBoundary.js +1 -1
  15. package/dist/features/ExternalDeposit.js +1 -1
  16. package/dist/features/SendAddress/index.js +1 -1
  17. package/dist/features/SendAddress/useNotification.js +1 -1
  18. package/dist/features/SubmitButton/index.js +1 -1
  19. package/dist/features/SuccessScreen/index.js +1 -1
  20. package/dist/features/SuccessScreen/useSummaryItemsCount.js +1 -1
  21. package/dist/features/SwapDirectionSwitcher.js +1 -1
  22. package/dist/features/SwapQuote/SwapQuote.js +1 -1
  23. package/dist/features/SwapQuote/index.js +1 -1
  24. package/dist/features/TokenInput/TokenInput.js +1 -1
  25. package/dist/features/TokenInput/TokenInputEmpty.js +1 -1
  26. package/dist/features/TokenInput/TokenInputSource.js +1 -1
  27. package/dist/features/TokenInput/TokenInputTarget.js +1 -1
  28. package/dist/features/TokenInput/WalletBalance.js +1 -1
  29. package/dist/features/TokenInput/hooks/index.js +1 -1
  30. package/dist/features/TokenInput/hooks/useTokenInputBalance.js +1 -1
  31. package/dist/features/TokenInput/index.js +1 -1
  32. package/dist/features/TokensList/TokenItem.js +1 -1
  33. package/dist/features/TokensList/TokensList.js +1 -1
  34. package/dist/features/TokensList/index.js +1 -1
  35. package/dist/features/TokensModal.js +1 -1
  36. package/dist/features/WalletCompatibilityCheck/WalletCompatibilityModal.js +1 -1
  37. package/dist/features/WalletCompatibilityCheck/index.js +1 -1
  38. package/dist/features/index.js +1 -1
  39. package/dist/hooks/index.js +1 -1
  40. package/dist/hooks/useAllTokens.js +1 -1
  41. package/dist/hooks/useChains.js +1 -1
  42. package/dist/hooks/useCompatibilityCheck.js +1 -1
  43. package/dist/hooks/useDefaultToken.js +1 -1
  44. package/dist/hooks/useExternalDepositStatus/index.js +1 -1
  45. package/dist/hooks/useExternalDepositStatus/usePoaExternalDepositStatus.js +1 -1
  46. package/dist/hooks/useIntentsBalance.js +1 -1
  47. package/dist/hooks/useIsCompatibilityCheckRequired.js +1 -1
  48. package/dist/hooks/useMakeDepositAddress.js +1 -1
  49. package/dist/hooks/useMakeIntentsTransfer.js +1 -1
  50. package/dist/hooks/useMakeNEARFtTransferCall.js +1 -1
  51. package/dist/hooks/useMakeQuote.js +1 -1
  52. package/dist/hooks/useMakeQuoteTransfer.js +1 -1
  53. package/dist/hooks/useMakeTransfer.js +1 -1
  54. package/dist/hooks/useMergedBalance.js +1 -1
  55. package/dist/hooks/useSwitchChain.js +1 -1
  56. package/dist/hooks/useTheme.js +1 -1
  57. package/dist/hooks/useTokenInputPair.js +1 -1
  58. package/dist/hooks/useTokens.js +1 -1
  59. package/dist/hooks/useTokensFiltered.js +1 -1
  60. package/dist/hooks/useTokensIntentsUnique.js +1 -1
  61. package/dist/index.js +1 -1
  62. package/dist/machine/effects/index.js +1 -1
  63. package/dist/machine/effects/useAlchemyBalanceEffect.js +1 -1
  64. package/dist/machine/effects/useBalancesUpdateEffect.js +1 -1
  65. package/dist/machine/effects/useMakeQuoteEffect.js +1 -1
  66. package/dist/machine/effects/useSelectedTokensEffect.js +1 -1
  67. package/dist/machine/effects/useSetTokenBalanceEffect.js +1 -1
  68. package/dist/machine/effects/useSetTokenIntentsTargetEffect.js +1 -1
  69. package/dist/machine/effects/useWalletConnEffect.js +1 -1
  70. package/dist/machine/events/index.js +1 -1
  71. package/dist/machine/events/tokenSelect.js +1 -1
  72. package/dist/machine/events/validateInputAndMoveTo.js +1 -1
  73. package/dist/machine/events/validateInputs.js +1 -1
  74. package/dist/machine/index.js +1 -1
  75. package/dist/machine/snap.js +1 -1
  76. package/dist/machine/subscriptions/checkers/isSendAddressAsConnected.js +1 -1
  77. package/dist/machine/subscriptions/index.js +1 -1
  78. package/dist/theme/ThemeProvider.js +1 -1
  79. package/dist/types/config.d.ts +2 -1
  80. package/dist/utils/intents/signers/near.js +1 -1
  81. package/dist/utils/intents/signers/privy.js +1 -1
  82. package/dist/utils/near/getNearNep141StorageBalance.js +1 -1
  83. package/dist/widgets/Widget/WidgetContent.js +1 -1
  84. package/dist/widgets/WidgetDeposit/WidgetDepositContent.js +81 -77
  85. package/dist/widgets/WidgetDeposit/WidgetDepositContent.js.map +1 -1
  86. package/dist/widgets/WidgetDeposit/WidgetDepositSkeleton.js +1 -1
  87. package/dist/widgets/WidgetSwap/WidgetSwapContent.js +101 -90
  88. package/dist/widgets/WidgetSwap/WidgetSwapContent.js.map +1 -1
  89. package/dist/widgets/WidgetSwap/WidgetSwapSkeleton.js +1 -1
  90. package/dist/widgets/WidgetWithdraw/WidgetWithdrawContent.js +97 -90
  91. package/dist/widgets/WidgetWithdraw/WidgetWithdrawContent.js.map +1 -1
  92. package/dist/widgets/WidgetWithdraw/WidgetWithdrawSkeleton.js +1 -1
  93. package/package.json +1 -1
  94. package/src/machine/effects/useSelectedTokensEffect.ts +8 -2
  95. package/src/types/config.ts +2 -1
  96. package/src/widgets/WidgetDeposit/WidgetDepositContent.tsx +19 -9
  97. package/src/widgets/WidgetSwap/WidgetSwapContent.tsx +24 -19
  98. package/src/widgets/WidgetWithdraw/WidgetWithdrawContent.tsx +22 -7
  99. package/dist/config-DMLDiA0V.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  import "react";
2
2
  import "../../hooks/useWalletAddressForToken.js";
3
- import { I as f } from "../../config-DMLDiA0V.js";
3
+ import { I as f } from "../../config-6S9JcYY_.js";
4
4
  import "../guards/index.js";
5
5
  import "../machine.js";
6
6
  import "../events/utils/fireEvent.js";
@@ -3,7 +3,7 @@ import "./tokenSelectRotate.js";
3
3
  import "./errorSet.js";
4
4
  import "./quoteSet.js";
5
5
  import "./addressSet.js";
6
- import { _ as b } from "../../config-DMLDiA0V.js";
6
+ import { _ as b } from "../../config-6S9JcYY_.js";
7
7
  import "./tokenSetAmount.js";
8
8
  import "./quoteSetStatus.js";
9
9
  import "./depositTypeSet.js";
@@ -1,6 +1,6 @@
1
1
  import "valtio";
2
2
  import "./tokenSelectRotate.js";
3
- import { Z as p } from "../../config-DMLDiA0V.js";
3
+ import { Z as p } from "../../config-6S9JcYY_.js";
4
4
  import "../../utils/notReachable.js";
5
5
  export {
6
6
  p as tokenSelect
@@ -1,4 +1,4 @@
1
- import { O as m } from "../../config-DMLDiA0V.js";
1
+ import { O as m } from "../../config-6S9JcYY_.js";
2
2
  import "ethers";
3
3
  import "../machine.js";
4
4
  import "../guards/checks/isDryQuote.js";
@@ -3,7 +3,7 @@ import "../../utils/near/checkNearAccountExists.js";
3
3
  import "../../utils/checkers/isNotEmptyAmount.js";
4
4
  import "../../utils/checkers/isValidBigint.js";
5
5
  import "../../utils/near/isNearAddress.js";
6
- import { K as I, L as d, N as u } from "../../config-DMLDiA0V.js";
6
+ import { K as I, L as d, N as u } from "../../config-6S9JcYY_.js";
7
7
  import "../guards/index.js";
8
8
  import "../machine.js";
9
9
  import "../guards/checks/isBalanceSufficient.js";
@@ -1,4 +1,4 @@
1
- import { r as o, u as t, a as r, c as a, b as f } from "../config-DMLDiA0V.js";
1
+ import { r as o, u as t, a as r, c as a, b as f } from "../config-6S9JcYY_.js";
2
2
  import { guardStates as S } from "./guards/index.js";
3
3
  import { machine as n, moveTo as u } from "./machine.js";
4
4
  import { fireEvent as i } from "./events/utils/fireEvent.js";
@@ -2,7 +2,7 @@ import "valtio";
2
2
  import "derive-valtio";
3
3
  import "./computed/getIsNativeNearDeposit.js";
4
4
  import "./computed/getIsDirectTokenOnNearDeposit.js";
5
- import { u as h, a as b, b as d } from "../config-DMLDiA0V.js";
5
+ import { u as h, a as b, b as d } from "../config-6S9JcYY_.js";
6
6
  import "./machine.js";
7
7
  import "./guards/index.js";
8
8
  import "./computed/getUsdTradeDelta.js";
@@ -1,5 +1,5 @@
1
1
  import "valtio";
2
- import { V as o } from "../../../config-DMLDiA0V.js";
2
+ import { V as o } from "../../../config-6S9JcYY_.js";
3
3
  export {
4
4
  o as isSendAddressAsConnected
5
5
  };
@@ -5,7 +5,7 @@ import "./checkers/isOnlyErrorChanged.js";
5
5
  import "./checkers/isValidInitialState.js";
6
6
  import "./checkers/isWalletDisconnected.js";
7
7
  import "./checkers/isSendAddressForbidden.js";
8
- import { X as g, Y as u } from "../../config-DMLDiA0V.js";
8
+ import { X as g, Y as u } from "../../config-6S9JcYY_.js";
9
9
  import "./checkers/isAmountChangedFromQuote.js";
10
10
  import "ethers";
11
11
  import "../machine.js";
@@ -1,7 +1,7 @@
1
1
  import "react/jsx-runtime";
2
2
  import "react";
3
3
  import "./createColorPalette.js";
4
- import { C as i, ad as p } from "../config-DMLDiA0V.js";
4
+ import { C as i, ad as p } from "../config-6S9JcYY_.js";
5
5
  export {
6
6
  i as ThemeContext,
7
7
  p as ThemeProvider
@@ -1,5 +1,5 @@
1
1
  import { Quote, QuoteRequest } from '@defuse-protocol/one-click-sdk-typescript';
2
- import { Chains } from './chain';
2
+ import { Chains, ChainsFilters } from './chain';
3
3
  import { SimpleToken, Token } from './token';
4
4
  import { FetchQuoteOptions } from './quote';
5
5
  export type WalletAddresses = Partial<Record<Chains | 'default', string | null>>;
@@ -33,6 +33,7 @@ export type WidgetConfig = {
33
33
  allowedSourceChainsList?: Chains[];
34
34
  allowedTargetChainsList?: Chains[];
35
35
  topChainShortcuts?: (intentsAccountType?: IntentsAccountType) => [Chains, Chains, Chains, Chains];
36
+ chainsFilter?: ChainsFilters;
36
37
  fetchQuote?: (data: QuoteRequest, options: FetchQuoteOptions) => Promise<Quote>;
37
38
  fetchSourceTokens?: () => Promise<SimpleToken[]>;
38
39
  fetchTargetTokens?: () => Promise<SimpleToken[]>;
@@ -1,6 +1,6 @@
1
1
  import "../../../index-DEq3oXQF.js";
2
2
  import "@defuse-protocol/intents-sdk";
3
- import { a2 as o } from "../../../config-DMLDiA0V.js";
3
+ import { a2 as o } from "../../../config-6S9JcYY_.js";
4
4
  export {
5
5
  o as createNearWalletSigner
6
6
  };
@@ -1,5 +1,5 @@
1
1
  import "@defuse-protocol/internal-utils";
2
- import { a1 as i } from "../../../config-DMLDiA0V.js";
2
+ import { a1 as i } from "../../../config-6S9JcYY_.js";
3
3
  export {
4
4
  i as IntentSignerPrivy
5
5
  };
@@ -2,7 +2,7 @@ import "../../index-DEq3oXQF.js";
2
2
  import "zod";
3
3
  import "./decodeQueryResult.js";
4
4
  import "./rpc.js";
5
- import { $ as m } from "../../config-DMLDiA0V.js";
5
+ import { $ as m } from "../../config-6S9JcYY_.js";
6
6
  export {
7
7
  m as getNearNep141StorageBalance
8
8
  };
@@ -4,7 +4,7 @@ import { WidgetTabs as g } from "../../components/WidgetTabs.js";
4
4
  import { WidgetSwapContent as h } from "../WidgetSwap/WidgetSwapContent.js";
5
5
  import { WidgetDepositContent as T } from "../WidgetDeposit/WidgetDepositContent.js";
6
6
  import { WidgetWithdrawContent as W } from "../WidgetWithdraw/WidgetWithdrawContent.js";
7
- import { y as C } from "../../config-DMLDiA0V.js";
7
+ import { y as C } from "../../config-6S9JcYY_.js";
8
8
  const j = ({ onMsg: d, makeTransfer: o, ...s }) => {
9
9
  const [f, r] = p(!0), [a, c] = p("swap"), { enableAccountAbstraction: n } = C(), w = (t) => {
10
10
  c(t);
@@ -1,9 +1,9 @@
1
- import { jsx as t, jsxs as _ } from "react/jsx-runtime";
2
- import { useState as y, useEffect as p, useCallback as B } from "react";
3
- import { useTokenModal as R } from "../../hooks/useTokenModal.js";
4
- import { useTypedTranslation as A } from "../../localisation.js";
5
- import { WidgetDepositSkeleton as b } from "./WidgetDepositSkeleton.js";
6
- import { b as F, u as q, y as j, n as N, c as O, p as Q, o as U, S as K } from "../../config-DMLDiA0V.js";
1
+ import { jsx as t, jsxs as b } from "react/jsx-runtime";
2
+ import { useState as S, useEffect as u, useCallback as R, useMemo as A } from "react";
3
+ import { useTokenModal as q } from "../../hooks/useTokenModal.js";
4
+ import { useTypedTranslation as j } from "../../localisation.js";
5
+ import { WidgetDepositSkeleton as x } from "./WidgetDepositSkeleton.js";
6
+ import { b as N, u as O, y as Q, n as U, c as K, p as P, o as z, S as G } from "../../config-6S9JcYY_.js";
7
7
  import "@tanstack/react-query";
8
8
  import "@headlessui/react";
9
9
  import "@material-symbols-svg/react-rounded/icons/chevron-left";
@@ -15,20 +15,20 @@ import { notReachable as r } from "../../utils/notReachable.js";
15
15
  import "use-debounce";
16
16
  import "@material-symbols-svg/react-rounded/icons/wand-shine";
17
17
  import "../../components/Input.js";
18
- import { Banner as P } from "../../components/Banner.js";
19
- import { isDebug as z } from "../../utils/checkers/isDebug.js";
18
+ import { Banner as H } from "../../components/Banner.js";
19
+ import { isDebug as J } from "../../utils/checkers/isDebug.js";
20
20
  import "viem";
21
21
  import "ethers";
22
22
  import "../../machine/machine.js";
23
- import { fireEvent as u } from "../../machine/events/utils/fireEvent.js";
24
- import { SuccessScreen as G } from "../../features/SuccessScreen/index.js";
25
- import { TokensModal as H } from "../../features/TokensModal.js";
23
+ import { fireEvent as m } from "../../machine/events/utils/fireEvent.js";
24
+ import { SuccessScreen as L } from "../../features/SuccessScreen/index.js";
25
+ import { TokensModal as V } from "../../features/TokensModal.js";
26
26
  import "@material-symbols-svg/react-rounded/icons/arrow-downward";
27
27
  import "@material-symbols-svg/react-rounded/icons/progress-activity";
28
- import { ExternalDeposit as J } from "../../features/ExternalDeposit.js";
29
- import { DepositMethodSwitcher as L } from "../../features/DepositMethodSwitcher.js";
30
- import { WalletCompatibilityCheck as V } from "../../features/WalletCompatibilityCheck/index.js";
31
- import { BlockingError as X } from "../../components/BlockingError.js";
28
+ import { ExternalDeposit as X } from "../../features/ExternalDeposit.js";
29
+ import { DepositMethodSwitcher as Y } from "../../features/DepositMethodSwitcher.js";
30
+ import { WalletCompatibilityCheck as Z } from "../../features/WalletCompatibilityCheck/index.js";
31
+ import { BlockingError as $ } from "../../components/BlockingError.js";
32
32
  import "copy-text-to-clipboard";
33
33
  import "@material-symbols-svg/react-rounded/icons/content-copy";
34
34
  import "../../components/InputAmount.js";
@@ -48,29 +48,30 @@ import "@defuse-protocol/one-click-sdk-typescript";
48
48
  import "axios";
49
49
  import "../../network.js";
50
50
  import "viem/chains";
51
- import { useTokenInputPair as Y } from "../../hooks/useTokenInputPair.js";
52
- import { useIsCompatibilityCheckRequired as Z } from "../../hooks/useIsCompatibilityCheckRequired.js";
51
+ import { useTokenInputPair as ee } from "../../hooks/useTokenInputPair.js";
52
+ import { useIsCompatibilityCheckRequired as te } from "../../hooks/useIsCompatibilityCheckRequired.js";
53
53
  import "browser-or-node";
54
- const Ze = ({
55
- providers: m,
54
+ const tt = ({
55
+ providers: f,
56
56
  onMsg: n,
57
- makeTransfer: S,
58
- isLoading: T
57
+ makeTransfer: T,
58
+ isLoading: w
59
59
  }) => {
60
- const { ctx: o } = F(), { t: i } = A(), { isDirectNearTokenWithdrawal: w } = q(), {
61
- alchemyApiKey: x,
62
- refetchQuoteInterval: C,
63
- intentsAccountType: g,
64
- onWalletSignout: D
65
- } = j(), { onChangeAmount: E, onChangeToken: f } = Y(), { status: d, refetch: v } = N(), { tokenModalOpen: s, updateTokenModalState: a } = R({ onMsg: n }), k = Z(), [W, l] = y(!1);
66
- p(() => {
67
- k && l(!0);
68
- }, [k]);
69
- const [h, c] = y(), I = B(
60
+ const { ctx: o } = N(), { t: i } = j(), { isDirectNearTokenWithdrawal: C } = O(), {
61
+ chainsFilter: a,
62
+ alchemyApiKey: g,
63
+ refetchQuoteInterval: D,
64
+ intentsAccountType: E,
65
+ onWalletSignout: W
66
+ } = Q(), { onChangeAmount: v, onChangeToken: d } = ee(), { status: k, refetch: M } = U(), { tokenModalOpen: s, updateTokenModalState: l } = q({ onMsg: n }), h = te(), [F, c] = S(!1);
67
+ u(() => {
68
+ h && c(!0);
69
+ }, [h]);
70
+ const [_, p] = S(), I = R(
70
71
  (e) => {
71
72
  switch (e.type) {
72
73
  case "on_successful_transfer":
73
- c(e.transferResult);
74
+ p(e.transferResult);
74
75
  break;
75
76
  case "on_transaction_received":
76
77
  break;
@@ -80,41 +81,47 @@ const Ze = ({
80
81
  },
81
82
  []
82
83
  );
83
- p(() => (u("reset", { clearWalletAddress: !0 }), () => {
84
- u("depositTypeSet", { isExternal: !1 });
85
- }), []), O({
86
- debug: z(),
84
+ u(() => (m("reset", { clearWalletAddress: !0 }), () => {
85
+ m("depositTypeSet", { isExternal: !1 });
86
+ }), []), K({
87
+ debug: J(),
87
88
  listenTo: [
88
89
  "checkWalletConnection",
89
90
  "setSourceTokenBalance",
90
91
  "setSourceTokenIntentsTarget",
91
92
  ["setDefaultSelectedTokens", { skipIntents: !0 }],
92
- ["makeQuote", { message: void 0, refetchQuoteInterval: C }],
93
- ["setBalancesUsingAlchemyExt", { alchemyApiKey: x }]
93
+ ["makeQuote", { message: void 0, refetchQuoteInterval: D }],
94
+ ["setBalancesUsingAlchemyExt", { alchemyApiKey: g }]
94
95
  ]
95
- }), p(() => {
96
+ }), u(() => {
96
97
  n?.({
97
98
  type: "on_change_deposit_type",
98
99
  isExternal: o.isDepositFromExternalWallet
99
100
  });
100
101
  }, [o.isDepositFromExternalWallet]);
101
- const M = () => {
102
- u("reset", { clearWalletAddress: !1, keepSelectedTokens: !0 });
102
+ const y = A(() => a || {
103
+ source: {
104
+ intents: "none",
105
+ external: o.isDepositFromExternalWallet ? "all" : "wallet-supported"
106
+ },
107
+ target: { intents: "all", external: "none" }
108
+ }, [a, o.isDepositFromExternalWallet]), B = () => {
109
+ m("reset", { clearWalletAddress: !1, keepSelectedTokens: !0 });
103
110
  };
104
- if (T || d !== "error" && !o.sourceToken)
105
- return /* @__PURE__ */ t(b, {});
106
- if (W)
111
+ if (w || k !== "error" && !o.sourceToken)
112
+ return /* @__PURE__ */ t(x, {});
113
+ if (F)
107
114
  return /* @__PURE__ */ t(
108
- V,
115
+ Z,
109
116
  {
110
- providers: m,
117
+ providers: f,
111
118
  onMsg: (e) => {
112
119
  switch (e.type) {
113
120
  case "on_sign_out":
114
- D?.(g), l(!1);
121
+ W?.(E), c(!1);
115
122
  break;
116
123
  case "on_close":
117
- l(!1);
124
+ c(!1);
118
125
  break;
119
126
  default:
120
127
  r(e.type);
@@ -122,16 +129,16 @@ const Ze = ({
122
129
  }
123
130
  }
124
131
  );
125
- if (o.state === "transfer_success" && h)
132
+ if (o.state === "transfer_success" && _)
126
133
  return /* @__PURE__ */ t(
127
- G,
134
+ L,
128
135
  {
129
- ...h,
136
+ ..._,
130
137
  title: i("transfer.success.deposit.title", "Deposit successful"),
131
138
  onMsg: (e) => {
132
139
  switch (e.type) {
133
140
  case "on_dismiss_success":
134
- c(void 0), M();
141
+ p(void 0), B();
135
142
  break;
136
143
  default:
137
144
  r(e.type);
@@ -139,60 +146,57 @@ const Ze = ({
139
146
  }
140
147
  }
141
148
  );
142
- switch (d) {
149
+ switch (k) {
143
150
  case "error":
144
151
  return /* @__PURE__ */ t(
145
- X,
152
+ $,
146
153
  {
147
154
  message: "Couldn't load tokens list.",
148
- onClickRetry: v
155
+ onClickRetry: M
149
156
  }
150
157
  );
151
158
  case "success":
152
159
  return s !== "none" ? /* @__PURE__ */ t(
153
- H,
160
+ V,
154
161
  {
155
162
  showBalances: !0,
156
163
  showChainsSelector: !0,
157
164
  variant: s,
158
165
  groupTokens: s === "source",
159
- chainsFilter: s === "source" ? {
160
- intents: "none",
161
- external: o.isDepositFromExternalWallet ? "all" : "wallet-supported"
162
- } : { intents: "all", external: "none" },
166
+ chainsFilter: s === "source" ? y.source : y.target,
163
167
  onMsg: (e) => {
164
168
  switch (e.type) {
165
169
  case "on_select_token":
166
- f(s, e.token), a("none"), n?.({
170
+ d(s, e.token), l("none"), n?.({
167
171
  type: e.type,
168
172
  token: e.token,
169
173
  variant: s
170
174
  });
171
175
  break;
172
176
  case "on_dismiss_tokens_modal":
173
- a("none");
177
+ l("none");
174
178
  break;
175
179
  default:
176
180
  r(e);
177
181
  }
178
182
  }
179
183
  }
180
- ) : /* @__PURE__ */ _("div", { className: "gap-sw-2xl flex flex-col", children: [
184
+ ) : /* @__PURE__ */ b("div", { className: "gap-sw-2xl flex flex-col", children: [
181
185
  /* @__PURE__ */ t(
182
- Q.Source,
186
+ P.Source,
183
187
  {
184
188
  showBalance: !o.isDepositFromExternalWallet,
185
189
  heading: i("tokenInput.heading.source.deposit", "Sell"),
186
190
  onMsg: (e) => {
187
191
  switch (e.type) {
188
192
  case "on_select_token":
189
- f("source", e.token);
193
+ d("source", e.token);
190
194
  break;
191
195
  case "on_change_amount":
192
- E("source", e.amount);
196
+ v("source", e.amount);
193
197
  break;
194
198
  case "on_click_select_token":
195
- a("source");
199
+ l("source");
196
200
  break;
197
201
  default:
198
202
  r(e);
@@ -200,10 +204,10 @@ const Ze = ({
200
204
  }
201
205
  }
202
206
  ),
203
- /* @__PURE__ */ t(L, { children: ({ isExternal: e }) => e ? /* @__PURE__ */ _("div", { className: "gap-sw-2xl flex flex-col justify-between", children: [
204
- /* @__PURE__ */ t(J, { onMsg: I }),
207
+ /* @__PURE__ */ t(Y, { children: ({ isExternal: e }) => e ? /* @__PURE__ */ b("div", { className: "gap-sw-2xl flex flex-col justify-between", children: [
208
+ /* @__PURE__ */ t(X, { onMsg: I }),
205
209
  (o.state === "quote_success_internal" || o.state === "quote_success_external") && /* @__PURE__ */ t(
206
- P,
210
+ H,
207
211
  {
208
212
  multiline: !0,
209
213
  variant: "warn",
@@ -211,25 +215,25 @@ const Ze = ({
211
215
  }
212
216
  )
213
217
  ] }) : null }),
214
- !w && /* @__PURE__ */ t(U, {}),
218
+ !C && /* @__PURE__ */ t(z, {}),
215
219
  /* @__PURE__ */ t(
216
- K,
220
+ G,
217
221
  {
218
- providers: m,
219
- makeTransfer: S,
222
+ providers: f,
223
+ makeTransfer: T,
220
224
  label: i("submit.active.deposit", "Deposit now"),
221
225
  onSuccess: (e) => {
222
- c(e), n?.({ type: "on_transfer_success" });
226
+ p(e), n?.({ type: "on_transfer_success" });
223
227
  }
224
228
  }
225
229
  )
226
230
  ] });
227
231
  case "pending":
228
232
  default:
229
- return /* @__PURE__ */ t(b, {});
233
+ return /* @__PURE__ */ t(x, {});
230
234
  }
231
235
  };
232
236
  export {
233
- Ze as WidgetDepositContent
237
+ tt as WidgetDepositContent
234
238
  };
235
239
  //# sourceMappingURL=WidgetDepositContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"WidgetDepositContent.js","sources":["../../../src/widgets/WidgetDeposit/WidgetDepositContent.tsx"],"sourcesContent":["import { useCallback, useEffect, useState } from 'react';\n\nimport type { CommonWidgetProps, TokenInputType } from '../types';\nimport { useTokenModal } from '../../hooks/useTokenModal';\nimport { useTypedTranslation } from '../../localisation';\nimport { WidgetDepositSkeleton } from './WidgetDepositSkeleton';\nimport {\n DepositMethodSwitcher,\n ExternalDeposit,\n SubmitButton,\n SuccessScreen,\n SwapQuote,\n TokenInput,\n TokensModal,\n} from '@/features';\n\nimport { Banner, BlockingError } from '@/components';\nimport { WalletCompatibilityCheck } from '@/features/WalletCompatibilityCheck';\n\nimport { useStoreSideEffects } from '@/machine/effects';\nimport { useComputedSnapshot, useUnsafeSnapshot } from '@/machine/snap';\nimport { fireEvent } from '@/machine/events/utils/fireEvent';\n\nimport {\n useIsCompatibilityCheckRequired,\n useTokenInputPair,\n useTokens,\n} from '@/hooks';\nimport { useConfig } from '@/config';\n\nimport { isDebug, notReachable } from '@/utils';\n\nimport type { Token, TransferResult } from '@/types';\n\nexport type Msg =\n | { type: 'on_select_token'; token: Token; variant: TokenInputType }\n | { type: 'on_change_deposit_type'; isExternal: boolean }\n | { type: 'on_transfer_success' }\n | { type: 'on_tokens_modal_toggled'; isOpen: boolean };\n\nexport type Props = CommonWidgetProps<Msg>;\n\nexport const WidgetDepositContent = ({\n providers,\n onMsg,\n makeTransfer,\n isLoading,\n}: Props) => {\n const { ctx } = useUnsafeSnapshot();\n const { t } = useTypedTranslation();\n const { isDirectNearTokenWithdrawal } = useComputedSnapshot();\n const {\n alchemyApiKey,\n refetchQuoteInterval,\n intentsAccountType,\n onWalletSignout,\n } = useConfig();\n\n const { onChangeAmount, onChangeToken } = useTokenInputPair();\n const { status: tokensStatus, refetch: refetchTokens } = useTokens();\n const { tokenModalOpen, updateTokenModalState } = useTokenModal({ onMsg });\n\n const isCompatibilityCheckRequired = useIsCompatibilityCheckRequired();\n const [isCompatibilityOpen, setIsCompatibilityOpen] = useState(false);\n\n useEffect(() => {\n if (isCompatibilityCheckRequired) {\n setIsCompatibilityOpen(true);\n }\n }, [isCompatibilityCheckRequired]);\n\n const [transferResult, setTransferResult] = useState<\n TransferResult | undefined\n >();\n\n const handleExternalDepositMsg = useCallback(\n (\n msg:\n | { type: 'on_transaction_received' }\n | { type: 'on_successful_transfer'; transferResult: TransferResult },\n ) => {\n switch (msg.type) {\n case 'on_successful_transfer':\n setTransferResult(msg.transferResult);\n break;\n case 'on_transaction_received':\n // Transaction received, no action needed\n break;\n default:\n notReachable(msg);\n }\n },\n [],\n );\n\n useEffect(() => {\n fireEvent('reset', { clearWalletAddress: true });\n\n return () => {\n fireEvent('depositTypeSet', { isExternal: false });\n };\n }, []);\n\n useStoreSideEffects({\n debug: isDebug(),\n listenTo: [\n 'checkWalletConnection',\n 'setSourceTokenBalance',\n 'setSourceTokenIntentsTarget',\n ['setDefaultSelectedTokens', { skipIntents: true }],\n ['makeQuote', { message: undefined, refetchQuoteInterval }],\n ['setBalancesUsingAlchemyExt', { alchemyApiKey }],\n ],\n });\n\n useEffect(() => {\n onMsg?.({\n type: 'on_change_deposit_type',\n isExternal: ctx.isDepositFromExternalWallet,\n });\n }, [ctx.isDepositFromExternalWallet]);\n\n const onBackToSwap = () => {\n fireEvent('reset', { clearWalletAddress: false, keepSelectedTokens: true });\n };\n\n if (!!isLoading || (tokensStatus !== 'error' && !ctx.sourceToken)) {\n return <WidgetDepositSkeleton />;\n }\n\n if (isCompatibilityOpen) {\n return (\n <WalletCompatibilityCheck\n providers={providers}\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_sign_out':\n onWalletSignout?.(intentsAccountType);\n setIsCompatibilityOpen(false);\n break;\n case 'on_close':\n setIsCompatibilityOpen(false);\n break;\n default:\n notReachable(msg.type);\n }\n }}\n />\n );\n }\n\n if (ctx.state === 'transfer_success' && !!transferResult) {\n return (\n <SuccessScreen\n {...transferResult}\n title={t('transfer.success.deposit.title', 'Deposit successful')}\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_dismiss_success':\n setTransferResult(undefined);\n onBackToSwap();\n break;\n default:\n notReachable(msg.type);\n }\n }}\n />\n );\n }\n\n switch (tokensStatus) {\n case 'error':\n return (\n <BlockingError\n message=\"Couldn't load tokens list.\"\n onClickRetry={refetchTokens}\n />\n );\n\n case 'success': {\n if (tokenModalOpen !== 'none') {\n return (\n <TokensModal\n showBalances\n showChainsSelector\n variant={tokenModalOpen}\n groupTokens={tokenModalOpen === 'source'}\n chainsFilter={\n tokenModalOpen === 'source'\n ? {\n intents: 'none',\n external: ctx.isDepositFromExternalWallet\n ? 'all'\n : 'wallet-supported',\n }\n : { intents: 'all', external: 'none' }\n }\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_select_token':\n onChangeToken(tokenModalOpen, msg.token);\n updateTokenModalState('none');\n onMsg?.({\n type: msg.type,\n token: msg.token,\n variant: tokenModalOpen,\n });\n break;\n case 'on_dismiss_tokens_modal':\n updateTokenModalState('none');\n break;\n default:\n notReachable(msg);\n }\n }}\n />\n );\n }\n\n return (\n <div className=\"gap-sw-2xl flex flex-col\">\n <TokenInput.Source\n showBalance={!ctx.isDepositFromExternalWallet}\n heading={t('tokenInput.heading.source.deposit', 'Sell')}\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_select_token':\n onChangeToken('source', msg.token);\n break;\n case 'on_change_amount':\n onChangeAmount('source', msg.amount);\n break;\n case 'on_click_select_token':\n updateTokenModalState('source');\n break;\n default:\n notReachable(msg);\n }\n }}\n />\n\n <DepositMethodSwitcher>\n {({ isExternal }) =>\n isExternal ? (\n <div className=\"gap-sw-2xl flex flex-col justify-between\">\n <ExternalDeposit onMsg={handleExternalDepositMsg} />\n {(ctx.state === 'quote_success_internal' ||\n ctx.state === 'quote_success_external') && (\n <Banner\n multiline\n variant=\"warn\"\n message=\"Match the token, amount and network entered above in your wallet. Incorrect values will cause the deposit to fail and be refunded.\"\n />\n )}\n </div>\n ) : null\n }\n </DepositMethodSwitcher>\n\n {!isDirectNearTokenWithdrawal && <SwapQuote />}\n\n <SubmitButton\n providers={providers}\n makeTransfer={makeTransfer}\n label={t('submit.active.deposit', 'Deposit now')}\n onSuccess={(transfer) => {\n setTransferResult(transfer);\n onMsg?.({ type: 'on_transfer_success' });\n }}\n />\n </div>\n );\n }\n\n case 'pending':\n default:\n return <WidgetDepositSkeleton />;\n }\n};\n"],"names":["WidgetDepositContent","providers","onMsg","makeTransfer","isLoading","ctx","useUnsafeSnapshot","t","useTypedTranslation","isDirectNearTokenWithdrawal","useComputedSnapshot","alchemyApiKey","refetchQuoteInterval","intentsAccountType","onWalletSignout","useConfig","onChangeAmount","onChangeToken","useTokenInputPair","tokensStatus","refetchTokens","useTokens","tokenModalOpen","updateTokenModalState","useTokenModal","isCompatibilityCheckRequired","useIsCompatibilityCheckRequired","isCompatibilityOpen","setIsCompatibilityOpen","useState","useEffect","transferResult","setTransferResult","handleExternalDepositMsg","useCallback","msg","notReachable","fireEvent","useStoreSideEffects","isDebug","onBackToSwap","WidgetDepositSkeleton","jsx","WalletCompatibilityCheck","SuccessScreen","BlockingError","TokensModal","jsxs","TokenInput","DepositMethodSwitcher","isExternal","ExternalDeposit","Banner","SwapQuote","SubmitButton","transfer"],"mappings":"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"}
1
+ {"version":3,"file":"WidgetDepositContent.js","sources":["../../../src/widgets/WidgetDeposit/WidgetDepositContent.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport type { CommonWidgetProps, TokenInputType } from '../types';\nimport { useTokenModal } from '../../hooks/useTokenModal';\nimport { useTypedTranslation } from '../../localisation';\nimport { WidgetDepositSkeleton } from './WidgetDepositSkeleton';\nimport {\n DepositMethodSwitcher,\n ExternalDeposit,\n SubmitButton,\n SuccessScreen,\n SwapQuote,\n TokenInput,\n TokensModal,\n} from '@/features';\n\nimport { Banner, BlockingError } from '@/components';\nimport { WalletCompatibilityCheck } from '@/features/WalletCompatibilityCheck';\n\nimport { useStoreSideEffects } from '@/machine/effects';\nimport { useComputedSnapshot, useUnsafeSnapshot } from '@/machine/snap';\nimport { fireEvent } from '@/machine/events/utils/fireEvent';\n\nimport {\n useIsCompatibilityCheckRequired,\n useTokenInputPair,\n useTokens,\n} from '@/hooks';\nimport { useConfig } from '@/config';\n\nimport { isDebug, notReachable } from '@/utils';\n\nimport type { ChainsFilters, Token, TransferResult } from '@/types';\n\nexport type Msg =\n | { type: 'on_select_token'; token: Token; variant: TokenInputType }\n | { type: 'on_change_deposit_type'; isExternal: boolean }\n | { type: 'on_transfer_success' }\n | { type: 'on_tokens_modal_toggled'; isOpen: boolean };\n\nexport type Props = CommonWidgetProps<Msg>;\n\nexport const WidgetDepositContent = ({\n providers,\n onMsg,\n makeTransfer,\n isLoading,\n}: Props) => {\n const { ctx } = useUnsafeSnapshot();\n const { t } = useTypedTranslation();\n const { isDirectNearTokenWithdrawal } = useComputedSnapshot();\n const {\n chainsFilter: customChainsFilter,\n alchemyApiKey,\n refetchQuoteInterval,\n intentsAccountType,\n onWalletSignout,\n } = useConfig();\n\n const { onChangeAmount, onChangeToken } = useTokenInputPair();\n const { status: tokensStatus, refetch: refetchTokens } = useTokens();\n const { tokenModalOpen, updateTokenModalState } = useTokenModal({ onMsg });\n\n const isCompatibilityCheckRequired = useIsCompatibilityCheckRequired();\n const [isCompatibilityOpen, setIsCompatibilityOpen] = useState(false);\n\n useEffect(() => {\n if (isCompatibilityCheckRequired) {\n setIsCompatibilityOpen(true);\n }\n }, [isCompatibilityCheckRequired]);\n\n const [transferResult, setTransferResult] = useState<\n TransferResult | undefined\n >();\n\n const handleExternalDepositMsg = useCallback(\n (\n msg:\n | { type: 'on_transaction_received' }\n | { type: 'on_successful_transfer'; transferResult: TransferResult },\n ) => {\n switch (msg.type) {\n case 'on_successful_transfer':\n setTransferResult(msg.transferResult);\n break;\n case 'on_transaction_received':\n // Transaction received, no action needed\n break;\n default:\n notReachable(msg);\n }\n },\n [],\n );\n\n useEffect(() => {\n fireEvent('reset', { clearWalletAddress: true });\n\n return () => {\n fireEvent('depositTypeSet', { isExternal: false });\n };\n }, []);\n\n useStoreSideEffects({\n debug: isDebug(),\n listenTo: [\n 'checkWalletConnection',\n 'setSourceTokenBalance',\n 'setSourceTokenIntentsTarget',\n ['setDefaultSelectedTokens', { skipIntents: true }],\n ['makeQuote', { message: undefined, refetchQuoteInterval }],\n ['setBalancesUsingAlchemyExt', { alchemyApiKey }],\n ],\n });\n\n useEffect(() => {\n onMsg?.({\n type: 'on_change_deposit_type',\n isExternal: ctx.isDepositFromExternalWallet,\n });\n }, [ctx.isDepositFromExternalWallet]);\n\n const chainsFilters = useMemo((): ChainsFilters => {\n if (customChainsFilter) {\n return customChainsFilter;\n }\n\n return {\n source: {\n intents: 'none',\n external: ctx.isDepositFromExternalWallet ? 'all' : 'wallet-supported',\n },\n target: { intents: 'all', external: 'none' },\n };\n }, [customChainsFilter, ctx.isDepositFromExternalWallet]);\n\n const onBackToSwap = () => {\n fireEvent('reset', { clearWalletAddress: false, keepSelectedTokens: true });\n };\n\n if (!!isLoading || (tokensStatus !== 'error' && !ctx.sourceToken)) {\n return <WidgetDepositSkeleton />;\n }\n\n if (isCompatibilityOpen) {\n return (\n <WalletCompatibilityCheck\n providers={providers}\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_sign_out':\n onWalletSignout?.(intentsAccountType);\n setIsCompatibilityOpen(false);\n break;\n case 'on_close':\n setIsCompatibilityOpen(false);\n break;\n default:\n notReachable(msg.type);\n }\n }}\n />\n );\n }\n\n if (ctx.state === 'transfer_success' && !!transferResult) {\n return (\n <SuccessScreen\n {...transferResult}\n title={t('transfer.success.deposit.title', 'Deposit successful')}\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_dismiss_success':\n setTransferResult(undefined);\n onBackToSwap();\n break;\n default:\n notReachable(msg.type);\n }\n }}\n />\n );\n }\n\n switch (tokensStatus) {\n case 'error':\n return (\n <BlockingError\n message=\"Couldn't load tokens list.\"\n onClickRetry={refetchTokens}\n />\n );\n\n case 'success': {\n if (tokenModalOpen !== 'none') {\n return (\n <TokensModal\n showBalances\n showChainsSelector\n variant={tokenModalOpen}\n groupTokens={tokenModalOpen === 'source'}\n chainsFilter={\n tokenModalOpen === 'source'\n ? chainsFilters.source\n : chainsFilters.target\n }\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_select_token':\n onChangeToken(tokenModalOpen, msg.token);\n updateTokenModalState('none');\n onMsg?.({\n type: msg.type,\n token: msg.token,\n variant: tokenModalOpen,\n });\n break;\n case 'on_dismiss_tokens_modal':\n updateTokenModalState('none');\n break;\n default:\n notReachable(msg);\n }\n }}\n />\n );\n }\n\n return (\n <div className=\"gap-sw-2xl flex flex-col\">\n <TokenInput.Source\n showBalance={!ctx.isDepositFromExternalWallet}\n heading={t('tokenInput.heading.source.deposit', 'Sell')}\n onMsg={(msg) => {\n switch (msg.type) {\n case 'on_select_token':\n onChangeToken('source', msg.token);\n break;\n case 'on_change_amount':\n onChangeAmount('source', msg.amount);\n break;\n case 'on_click_select_token':\n updateTokenModalState('source');\n break;\n default:\n notReachable(msg);\n }\n }}\n />\n\n <DepositMethodSwitcher>\n {({ isExternal }) =>\n isExternal ? (\n <div className=\"gap-sw-2xl flex flex-col justify-between\">\n <ExternalDeposit onMsg={handleExternalDepositMsg} />\n {(ctx.state === 'quote_success_internal' ||\n ctx.state === 'quote_success_external') && (\n <Banner\n multiline\n variant=\"warn\"\n message=\"Match the token, amount and network entered above in your wallet. Incorrect values will cause the deposit to fail and be refunded.\"\n />\n )}\n </div>\n ) : null\n }\n </DepositMethodSwitcher>\n\n {!isDirectNearTokenWithdrawal && <SwapQuote />}\n\n <SubmitButton\n providers={providers}\n makeTransfer={makeTransfer}\n label={t('submit.active.deposit', 'Deposit now')}\n onSuccess={(transfer) => {\n setTransferResult(transfer);\n onMsg?.({ type: 'on_transfer_success' });\n }}\n />\n </div>\n );\n }\n\n case 'pending':\n default:\n return <WidgetDepositSkeleton />;\n }\n};\n"],"names":["WidgetDepositContent","providers","onMsg","makeTransfer","isLoading","ctx","useUnsafeSnapshot","t","useTypedTranslation","isDirectNearTokenWithdrawal","useComputedSnapshot","customChainsFilter","alchemyApiKey","refetchQuoteInterval","intentsAccountType","onWalletSignout","useConfig","onChangeAmount","onChangeToken","useTokenInputPair","tokensStatus","refetchTokens","useTokens","tokenModalOpen","updateTokenModalState","useTokenModal","isCompatibilityCheckRequired","useIsCompatibilityCheckRequired","isCompatibilityOpen","setIsCompatibilityOpen","useState","useEffect","transferResult","setTransferResult","handleExternalDepositMsg","useCallback","msg","notReachable","fireEvent","useStoreSideEffects","isDebug","chainsFilters","useMemo","onBackToSwap","WidgetDepositSkeleton","jsx","WalletCompatibilityCheck","SuccessScreen","BlockingError","TokensModal","jsxs","TokenInput","DepositMethodSwitcher","isExternal","ExternalDeposit","Banner","SwapQuote","SubmitButton","transfer"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { jsxs as o, jsx as e } from "react/jsx-runtime";
2
2
  import a from "clsx";
3
3
  import { SkeletonBox as s } from "../../components/SkeletonBox.js";
4
- import { y as i } from "../../config-DMLDiA0V.js";
4
+ import { y as i } from "../../config-6S9JcYY_.js";
5
5
  const p = () => {
6
6
  const { hideTokenInputHeadings: l } = i();
7
7
  return /* @__PURE__ */ o("div", { className: "w-full gap-sw-xl relative flex flex-col", children: [