@dynamic-labs/sdk-react-core 4.12.0 → 4.12.1

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 (21) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +11 -11
  5. package/src/lib/styles/index.shadow.cjs +1 -1
  6. package/src/lib/styles/index.shadow.js +1 -1
  7. package/src/lib/utils/functions/usingV3Wallets/usingV3Wallets.cjs +14 -0
  8. package/src/lib/utils/functions/usingV3Wallets/usingV3Wallets.d.ts +2 -0
  9. package/src/lib/utils/functions/usingV3Wallets/usingV3Wallets.js +10 -0
  10. package/src/lib/utils/hooks/useIsLoadingEmbeddedWallet/useIsLoadingEmbeddedWallet.cjs +110 -0
  11. package/src/lib/utils/hooks/useIsLoadingEmbeddedWallet/useIsLoadingEmbeddedWallet.d.ts +3 -0
  12. package/src/lib/utils/hooks/useIsLoadingEmbeddedWallet/useIsLoadingEmbeddedWallet.js +106 -0
  13. package/src/lib/views/EmailVerification/EmailVerification.cjs +8 -5
  14. package/src/lib/views/EmailVerification/EmailVerification.js +8 -5
  15. package/src/lib/widgets/DynamicWidget/components/ActiveWalletBalance/ActiveWalletBalance.cjs +3 -3
  16. package/src/lib/widgets/DynamicWidget/components/ActiveWalletBalance/ActiveWalletBalance.d.ts +5 -1
  17. package/src/lib/widgets/DynamicWidget/components/ActiveWalletBalance/ActiveWalletBalance.js +3 -3
  18. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +1 -1
  19. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +1 -1
  20. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.cjs +5 -5
  21. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.js +5 -5
@@ -0,0 +1,14 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var sdkApiCore = require('@dynamic-labs/sdk-api-core');
7
+
8
+ const usingV3Wallets = (projectSettings) => {
9
+ var _a, _b;
10
+ return Boolean(((_b = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _a === void 0 ? void 0 : _a.embeddedWallets) === null || _b === void 0 ? void 0 : _b.defaultWalletVersion) ===
11
+ sdkApiCore.EmbeddedWalletVersionEnum.V3);
12
+ };
13
+
14
+ exports.usingV3Wallets = usingV3Wallets;
@@ -0,0 +1,2 @@
1
+ import { ProjectSettings } from '@dynamic-labs/sdk-api-core';
2
+ export declare const usingV3Wallets: (projectSettings?: ProjectSettings) => boolean;
@@ -0,0 +1,10 @@
1
+ 'use client'
2
+ import { EmbeddedWalletVersionEnum } from '@dynamic-labs/sdk-api-core';
3
+
4
+ const usingV3Wallets = (projectSettings) => {
5
+ var _a, _b;
6
+ return Boolean(((_b = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _a === void 0 ? void 0 : _a.embeddedWallets) === null || _b === void 0 ? void 0 : _b.defaultWalletVersion) ===
7
+ EmbeddedWalletVersionEnum.V3);
8
+ };
9
+
10
+ export { usingV3Wallets };
@@ -0,0 +1,110 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var React = require('react');
7
+ var usingV3Wallets = require('../../functions/usingV3Wallets/usingV3Wallets.cjs');
8
+ require('../../../context/DynamicContext/DynamicContext.cjs');
9
+ require('../../../store/state/loadingAndLifecycle/loadingAndLifecycle.cjs');
10
+ require('@dynamic-labs/sdk-api-core');
11
+ require('../../../shared/logger.cjs');
12
+ require('@dynamic-labs/iconic');
13
+ require('@dynamic-labs/wallet-connector-core');
14
+ require('react/jsx-runtime');
15
+ require('../../../context/ViewContext/ViewContext.cjs');
16
+ require('@dynamic-labs/wallet-book');
17
+ require('@dynamic-labs/utils');
18
+ require('../../constants/colors.cjs');
19
+ require('../../constants/values.cjs');
20
+ require('../../../shared/consts/index.cjs');
21
+ require('../../../events/dynamicEvents.cjs');
22
+ require('../../../../../_virtual/_tslib.cjs');
23
+ require('../../../context/CaptchaContext/CaptchaContext.cjs');
24
+ require('../../../context/ErrorContext/ErrorContext.cjs');
25
+ require('@dynamic-labs/multi-wallet');
26
+ require('react-international-phone');
27
+ require('../../../store/state/nonce/nonce.cjs');
28
+ var projectSettings = require('../../../store/state/projectSettings/projectSettings.cjs');
29
+ require('../../../config/ApiEndpoint.cjs');
30
+ require('../../../store/state/user/user.cjs');
31
+ require('../../../locale/locale.cjs');
32
+ require('../../../store/state/dynamicContextProps/dynamicContextProps.cjs');
33
+ require('../../../store/state/primaryWalletId/primaryWalletId.cjs');
34
+ require('../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
35
+ require('../../../context/AccountExistsContext/AccountExistsContext.cjs');
36
+ require('../../../context/UserWalletsContext/UserWalletsContext.cjs');
37
+ require('../../../store/state/connectedWalletsInfo/connectedWalletsInfo.cjs');
38
+ require('../../../context/VerificationContext/VerificationContext.cjs');
39
+ require('react-dom');
40
+ require('../../functions/compareChains/compareChains.cjs');
41
+ require('../../../context/ThemeContext/ThemeContext.cjs');
42
+ require('../useUserUpdateRequest/useUpdateUser/userFieldsSchema.cjs');
43
+ require('bs58');
44
+ require('@dynamic-labs/types');
45
+ require('../../../context/SocialRedirectContext/SocialRedirectContext.cjs');
46
+ require('../../../context/LoadingContext/LoadingContext.cjs');
47
+ require('../../../context/WalletContext/WalletContext.cjs');
48
+ require('../useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.cjs');
49
+ require('yup');
50
+ require('../../../context/MockContext/MockContext.cjs');
51
+ require('../../../views/CollectUserDataView/useFields.cjs');
52
+ require('../../../context/FieldsStateContext/FieldsStateContext.cjs');
53
+ require('../../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
54
+ require('@dynamic-labs/rpc-providers');
55
+ require('../../../store/state/walletOptions/walletOptions.cjs');
56
+ require('react-i18next');
57
+ require('../../../components/Accordion/components/AccordionItem/AccordionItem.cjs');
58
+ require('../../../components/Alert/Alert.cjs');
59
+ require('../../../components/ShadowDOM/ShadowDOM.cjs');
60
+ require('../../../components/IconButton/IconButton.cjs');
61
+ require('../../../components/InlineWidget/InlineWidget.cjs');
62
+ require('../../../components/Input/Input.cjs');
63
+ require('../../../components/IsBrowser/IsBrowser.cjs');
64
+ require('../../../components/MenuList/Dropdown/Dropdown.cjs');
65
+ require('../../../components/OverlayCard/OverlayCard.cjs');
66
+ require('../../../components/Transition/ZoomTransition/ZoomTransition.cjs');
67
+ require('../../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
68
+ require('../../../components/Transition/OpacityTransition/OpacityTransition.cjs');
69
+ require('../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.cjs');
70
+ require('../../../components/Popper/Popper/Popper.cjs');
71
+ require('../../../components/Popper/PopperContext/PopperContext.cjs');
72
+ require('react-focus-lock');
73
+ require('qrcode');
74
+ require('formik');
75
+ require('../useSubdomainCheck/useSubdomainCheck.cjs');
76
+ require('../../../context/WalletGroupContext/WalletGroupContext.cjs');
77
+ require('../../../context/IpConfigurationContext/IpConfigurationContext.cjs');
78
+ require('../../../context/ConnectWithOtpContext/ConnectWithOtpContext.cjs');
79
+ require('../../../context/ConnectWithOtpContext/constants.cjs');
80
+ require('../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
81
+ require('@hcaptcha/react-hcaptcha');
82
+ require('../../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
83
+ require('../../../context/FooterAnimationContext/index.cjs');
84
+ require('../../../context/ErrorContext/hooks/useErrorText/useErrorText.cjs');
85
+ require('../../../context/PasskeyContext/PasskeyContext.cjs');
86
+ require('../../../store/state/sendBalances.cjs');
87
+ require('../../../store/state/connectorsInitializing/connectorsInitializing.cjs');
88
+ require('../../../components/OverlayCardBase/OverlayCardTarget/OverlayCardTarget.cjs');
89
+ require('../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
90
+ require('../../../views/TransactionConfirmationView/TransactionConfirmationView.cjs');
91
+ require('../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
92
+ require('../../../context/OnrampContext/OnrampContext.cjs');
93
+ require('../../../widgets/DynamicWidget/views/ReceiveWalletFunds/ReceiveWalletFunds.cjs');
94
+ require('../../../../index.cjs');
95
+ require('../../../store/state/tokenBalances.cjs');
96
+ require('../../../shared/utils/functions/getInitialUrl/getInitialUrl.cjs');
97
+ var useInternalDynamicContext = require('../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext/useInternalDynamicContext.cjs');
98
+
99
+ const useIsLoadingEmbeddedWallet = () => {
100
+ const { user } = useInternalDynamicContext.useInternalDynamicContext();
101
+ const projectSettings$1 = projectSettings.getProjectSettings();
102
+ const isLoadingEmbeddedWallet = React.useMemo(() => {
103
+ var _a;
104
+ return usingV3Wallets.usingV3Wallets(projectSettings$1) &&
105
+ !((_a = user === null || user === void 0 ? void 0 : user.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.find(({ walletProvider }) => walletProvider === 'embeddedWallet'));
106
+ }, [projectSettings$1, user]);
107
+ return { isLoadingEmbeddedWallet };
108
+ };
109
+
110
+ exports.useIsLoadingEmbeddedWallet = useIsLoadingEmbeddedWallet;
@@ -0,0 +1,3 @@
1
+ export declare const useIsLoadingEmbeddedWallet: () => {
2
+ isLoadingEmbeddedWallet: boolean;
3
+ };
@@ -0,0 +1,106 @@
1
+ 'use client'
2
+ import { useMemo } from 'react';
3
+ import { usingV3Wallets } from '../../functions/usingV3Wallets/usingV3Wallets.js';
4
+ import '../../../context/DynamicContext/DynamicContext.js';
5
+ import '../../../store/state/loadingAndLifecycle/loadingAndLifecycle.js';
6
+ import '@dynamic-labs/sdk-api-core';
7
+ import '../../../shared/logger.js';
8
+ import '@dynamic-labs/iconic';
9
+ import '@dynamic-labs/wallet-connector-core';
10
+ import 'react/jsx-runtime';
11
+ import '../../../context/ViewContext/ViewContext.js';
12
+ import '@dynamic-labs/wallet-book';
13
+ import '@dynamic-labs/utils';
14
+ import '../../constants/colors.js';
15
+ import '../../constants/values.js';
16
+ import '../../../shared/consts/index.js';
17
+ import '../../../events/dynamicEvents.js';
18
+ import '../../../../../_virtual/_tslib.js';
19
+ import '../../../context/CaptchaContext/CaptchaContext.js';
20
+ import '../../../context/ErrorContext/ErrorContext.js';
21
+ import '@dynamic-labs/multi-wallet';
22
+ import 'react-international-phone';
23
+ import '../../../store/state/nonce/nonce.js';
24
+ import { getProjectSettings } from '../../../store/state/projectSettings/projectSettings.js';
25
+ import '../../../config/ApiEndpoint.js';
26
+ import '../../../store/state/user/user.js';
27
+ import '../../../locale/locale.js';
28
+ import '../../../store/state/dynamicContextProps/dynamicContextProps.js';
29
+ import '../../../store/state/primaryWalletId/primaryWalletId.js';
30
+ import '../../../context/AccessDeniedContext/AccessDeniedContext.js';
31
+ import '../../../context/AccountExistsContext/AccountExistsContext.js';
32
+ import '../../../context/UserWalletsContext/UserWalletsContext.js';
33
+ import '../../../store/state/connectedWalletsInfo/connectedWalletsInfo.js';
34
+ import '../../../context/VerificationContext/VerificationContext.js';
35
+ import 'react-dom';
36
+ import '../../functions/compareChains/compareChains.js';
37
+ import '../../../context/ThemeContext/ThemeContext.js';
38
+ import '../useUserUpdateRequest/useUpdateUser/userFieldsSchema.js';
39
+ import 'bs58';
40
+ import '@dynamic-labs/types';
41
+ import '../../../context/SocialRedirectContext/SocialRedirectContext.js';
42
+ import '../../../context/LoadingContext/LoadingContext.js';
43
+ import '../../../context/WalletContext/WalletContext.js';
44
+ import '../useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.js';
45
+ import 'yup';
46
+ import '../../../context/MockContext/MockContext.js';
47
+ import '../../../views/CollectUserDataView/useFields.js';
48
+ import '../../../context/FieldsStateContext/FieldsStateContext.js';
49
+ import '../../../context/UserFieldEditorContext/UserFieldEditorContext.js';
50
+ import '@dynamic-labs/rpc-providers';
51
+ import '../../../store/state/walletOptions/walletOptions.js';
52
+ import 'react-i18next';
53
+ import '../../../components/Accordion/components/AccordionItem/AccordionItem.js';
54
+ import '../../../components/Alert/Alert.js';
55
+ import '../../../components/ShadowDOM/ShadowDOM.js';
56
+ import '../../../components/IconButton/IconButton.js';
57
+ import '../../../components/InlineWidget/InlineWidget.js';
58
+ import '../../../components/Input/Input.js';
59
+ import '../../../components/IsBrowser/IsBrowser.js';
60
+ import '../../../components/MenuList/Dropdown/Dropdown.js';
61
+ import '../../../components/OverlayCard/OverlayCard.js';
62
+ import '../../../components/Transition/ZoomTransition/ZoomTransition.js';
63
+ import '../../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
64
+ import '../../../components/Transition/OpacityTransition/OpacityTransition.js';
65
+ import '../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.js';
66
+ import '../../../components/Popper/Popper/Popper.js';
67
+ import '../../../components/Popper/PopperContext/PopperContext.js';
68
+ import 'react-focus-lock';
69
+ import 'qrcode';
70
+ import 'formik';
71
+ import '../useSubdomainCheck/useSubdomainCheck.js';
72
+ import '../../../context/WalletGroupContext/WalletGroupContext.js';
73
+ import '../../../context/IpConfigurationContext/IpConfigurationContext.js';
74
+ import '../../../context/ConnectWithOtpContext/ConnectWithOtpContext.js';
75
+ import '../../../context/ConnectWithOtpContext/constants.js';
76
+ import '../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
77
+ import '@hcaptcha/react-hcaptcha';
78
+ import '../../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
79
+ import '../../../context/FooterAnimationContext/index.js';
80
+ import '../../../context/ErrorContext/hooks/useErrorText/useErrorText.js';
81
+ import '../../../context/PasskeyContext/PasskeyContext.js';
82
+ import '../../../store/state/sendBalances.js';
83
+ import '../../../store/state/connectorsInitializing/connectorsInitializing.js';
84
+ import '../../../components/OverlayCardBase/OverlayCardTarget/OverlayCardTarget.js';
85
+ import '../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
86
+ import '../../../views/TransactionConfirmationView/TransactionConfirmationView.js';
87
+ import '../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
88
+ import '../../../context/OnrampContext/OnrampContext.js';
89
+ import '../../../widgets/DynamicWidget/views/ReceiveWalletFunds/ReceiveWalletFunds.js';
90
+ import '../../../../index.js';
91
+ import '../../../store/state/tokenBalances.js';
92
+ import '../../../shared/utils/functions/getInitialUrl/getInitialUrl.js';
93
+ import { useInternalDynamicContext } from '../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext/useInternalDynamicContext.js';
94
+
95
+ const useIsLoadingEmbeddedWallet = () => {
96
+ const { user } = useInternalDynamicContext();
97
+ const projectSettings = getProjectSettings();
98
+ const isLoadingEmbeddedWallet = useMemo(() => {
99
+ var _a;
100
+ return usingV3Wallets(projectSettings) &&
101
+ !((_a = user === null || user === void 0 ? void 0 : user.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.find(({ walletProvider }) => walletProvider === 'embeddedWallet'));
102
+ }, [projectSettings, user]);
103
+ return { isLoadingEmbeddedWallet };
104
+ };
105
+
106
+ export { useIsLoadingEmbeddedWallet };
@@ -7,6 +7,7 @@ var _tslib = require('../../../../_virtual/_tslib.cjs');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
8
  var React = require('react');
9
9
  var reactI18next = require('react-i18next');
10
+ var sdkApiCore = require('@dynamic-labs/sdk-api-core');
10
11
  var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
11
12
  var classNames = require('../../utils/functions/classNames/classNames.cjs');
12
13
  require('../../components/Accordion/components/AccordionItem/AccordionItem.cjs');
@@ -15,7 +16,6 @@ var dynamicEvents = require('../../events/dynamicEvents.cjs');
15
16
  require('@dynamic-labs/utils');
16
17
  require('../../context/DynamicContext/DynamicContext.cjs');
17
18
  require('../../store/state/loadingAndLifecycle/loadingAndLifecycle.cjs');
18
- require('@dynamic-labs/sdk-api-core');
19
19
  var logger = require('../../shared/logger.cjs');
20
20
  require('@dynamic-labs/iconic');
21
21
  var check = require('../../shared/assets/check.cjs');
@@ -166,7 +166,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
166
166
  });
167
167
  const { verifyOtp } = useOtpVerificationRequest.useOtpVerificationRequest();
168
168
  const completeSignInFlow = React.useCallback((updateUserProfileResponse) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
169
- var _e, _f, _g, _h, _j, _k;
169
+ var _e, _f, _g, _h, _j, _k, _l, _m;
170
170
  if (updateUserProfileResponse.nextView === 'verified-and-transferred') {
171
171
  setShowTransferMessage === null || setShowTransferMessage === void 0 ? void 0 : setShowTransferMessage(true);
172
172
  }
@@ -198,8 +198,11 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
198
198
  const eoaWallet = primaryWallet && getEOAWallet(primaryWallet);
199
199
  const isSessionKeyCompatible = (primaryWallet && walletConnectorCore.isSessionKeyCompatibleWallet(primaryWallet)) ||
200
200
  (eoaWallet && walletConnectorCore.isSessionKeyCompatibleWallet(eoaWallet));
201
- const isUsingPregeneratedWallets = Boolean(isAutomaticWalletCreation &&
202
- (!((_j = (_h = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _h === void 0 ? void 0 : _h.embeddedWallets) === null || _j === void 0 ? void 0 : _j.forceAuthenticatorAtSignup) ||
201
+ const usingV3Wallets = Boolean(((_j = (_h = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _h === void 0 ? void 0 : _h.embeddedWallets) === null || _j === void 0 ? void 0 : _j.defaultWalletVersion) ===
202
+ sdkApiCore.EmbeddedWalletVersionEnum.V3);
203
+ const isUsingPregeneratedWallets = Boolean(!usingV3Wallets &&
204
+ isAutomaticWalletCreation &&
205
+ (!((_l = (_k = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _k === void 0 ? void 0 : _k.embeddedWallets) === null || _l === void 0 ? void 0 : _l.forceAuthenticatorAtSignup) ||
203
206
  isSessionKeyCompatible));
204
207
  if (isUsingPregeneratedWallets) {
205
208
  const primaryChain = findPrimaryEmbeddedChain.findPrimaryEmbeddedChain(projectSettings);
@@ -221,7 +224,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
221
224
  connector: walletOption.walletConnector,
222
225
  id: embeddedWalletVerifiedCredential.id,
223
226
  isAuthenticated: false,
224
- key: (_k = embeddedWalletVerifiedCredential.walletName) !== null && _k !== void 0 ? _k : '',
227
+ key: (_m = embeddedWalletVerifiedCredential.walletName) !== null && _m !== void 0 ? _m : '',
225
228
  });
226
229
  updatePrimaryWalletId.updatePrimaryWalletId(embeddedWalletVerifiedCredential.id);
227
230
  dynamicEvents.dynamicEvents.emit('embeddedWalletCreated', wallet, embeddedWalletVerifiedCredential, user);
@@ -3,6 +3,7 @@ import { __awaiter } from '../../../../_virtual/_tslib.js';
3
3
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
4
4
  import { useState, useRef, useCallback, useMemo } from 'react';
5
5
  import { useTranslation } from 'react-i18next';
6
+ import { EmbeddedWalletVersionEnum } from '@dynamic-labs/sdk-api-core';
6
7
  import { isSessionKeyCompatibleWallet } from '@dynamic-labs/wallet-connector-core';
7
8
  import { classNames } from '../../utils/functions/classNames/classNames.js';
8
9
  import '../../components/Accordion/components/AccordionItem/AccordionItem.js';
@@ -11,7 +12,6 @@ import { dynamicEvents } from '../../events/dynamicEvents.js';
11
12
  import '@dynamic-labs/utils';
12
13
  import '../../context/DynamicContext/DynamicContext.js';
13
14
  import '../../store/state/loadingAndLifecycle/loadingAndLifecycle.js';
14
- import '@dynamic-labs/sdk-api-core';
15
15
  import { logger } from '../../shared/logger.js';
16
16
  import '@dynamic-labs/iconic';
17
17
  import { ReactComponent as SvgCheck } from '../../shared/assets/check.js';
@@ -162,7 +162,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
162
162
  });
163
163
  const { verifyOtp } = useOtpVerificationRequest();
164
164
  const completeSignInFlow = useCallback((updateUserProfileResponse) => __awaiter(void 0, void 0, void 0, function* () {
165
- var _e, _f, _g, _h, _j, _k;
165
+ var _e, _f, _g, _h, _j, _k, _l, _m;
166
166
  if (updateUserProfileResponse.nextView === 'verified-and-transferred') {
167
167
  setShowTransferMessage === null || setShowTransferMessage === void 0 ? void 0 : setShowTransferMessage(true);
168
168
  }
@@ -194,8 +194,11 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
194
194
  const eoaWallet = primaryWallet && getEOAWallet(primaryWallet);
195
195
  const isSessionKeyCompatible = (primaryWallet && isSessionKeyCompatibleWallet(primaryWallet)) ||
196
196
  (eoaWallet && isSessionKeyCompatibleWallet(eoaWallet));
197
- const isUsingPregeneratedWallets = Boolean(isAutomaticWalletCreation &&
198
- (!((_j = (_h = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _h === void 0 ? void 0 : _h.embeddedWallets) === null || _j === void 0 ? void 0 : _j.forceAuthenticatorAtSignup) ||
197
+ const usingV3Wallets = Boolean(((_j = (_h = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _h === void 0 ? void 0 : _h.embeddedWallets) === null || _j === void 0 ? void 0 : _j.defaultWalletVersion) ===
198
+ EmbeddedWalletVersionEnum.V3);
199
+ const isUsingPregeneratedWallets = Boolean(!usingV3Wallets &&
200
+ isAutomaticWalletCreation &&
201
+ (!((_l = (_k = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _k === void 0 ? void 0 : _k.embeddedWallets) === null || _l === void 0 ? void 0 : _l.forceAuthenticatorAtSignup) ||
199
202
  isSessionKeyCompatible));
200
203
  if (isUsingPregeneratedWallets) {
201
204
  const primaryChain = findPrimaryEmbeddedChain(projectSettings);
@@ -217,7 +220,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
217
220
  connector: walletOption.walletConnector,
218
221
  id: embeddedWalletVerifiedCredential.id,
219
222
  isAuthenticated: false,
220
- key: (_k = embeddedWalletVerifiedCredential.walletName) !== null && _k !== void 0 ? _k : '',
223
+ key: (_m = embeddedWalletVerifiedCredential.walletName) !== null && _m !== void 0 ? _m : '',
221
224
  });
222
225
  updatePrimaryWalletId(embeddedWalletVerifiedCredential.id);
223
226
  dynamicEvents.emit('embeddedWalletCreated', wallet, embeddedWalletVerifiedCredential, user);
@@ -101,7 +101,7 @@ var useInternalDynamicContext = require('../../../../context/DynamicContext/useD
101
101
  var TokenBalanceList = require('./TokenBalanceList/TokenBalanceList.cjs');
102
102
 
103
103
  /** Component to display token balances for the primary wallet */
104
- const ActiveWalletBalance = () => {
104
+ const ActiveWalletBalance = ({ isLoading = false, }) => {
105
105
  var _a;
106
106
  const { t } = reactI18next.useTranslation();
107
107
  /** Controls for the multi asset balance accordion */
@@ -142,14 +142,14 @@ const ActiveWalletBalance = () => {
142
142
  }
143
143
  };
144
144
  const primaryWalletNativeBalance = () => {
145
- if (!primaryWallet || isLoadingTokenBalances) {
145
+ if (!primaryWallet || isLoadingTokenBalances || isLoading) {
146
146
  return jsxRuntime.jsx(Skeleton.Skeleton, { className: 'balance-container__skeleton' });
147
147
  }
148
148
  return canShowFiat ? (jsxRuntime.jsx(Typography.Typography, { variant: 'numbers_display', color: 'primary', children: totalValue === 0 || totalValue >= 0.01
149
149
  ? currencyFormatter.format(parseFloat(totalValue.toFixed(2)))
150
150
  : '<$0.01' })) : (jsxRuntime.jsx(Balance.Balance, { className: 'balance-header__balance', wallet: primaryWallet, network: network, variant: 'numbers_display' }));
151
151
  };
152
- const balanceHeaderTitle = () => (jsxRuntime.jsxs("div", { className: 'balance-header__title', children: [jsxRuntime.jsx(Typography.Typography, { color: 'secondary', variant: 'body_normal', children: t('dyn_active_wallet_info.balance') }), jsxRuntime.jsx("div", { className: 'balance-header__balance', children: primaryWalletNativeBalance() })] }));
152
+ const balanceHeaderTitle = () => (jsxRuntime.jsxs("div", { className: 'balance-header__title', children: [isLoadingTokenBalances || isLoading ? (jsxRuntime.jsx(Skeleton.Skeleton, { className: 'balance-header__title-skeleton' })) : (jsxRuntime.jsx(Typography.Typography, { color: 'secondary', variant: 'body_normal', children: t('dyn_active_wallet_info.balance') })), jsxRuntime.jsx("div", { className: 'balance-header__balance', children: primaryWalletNativeBalance() })] }));
153
153
  const toggleBalanceAccordion = React.useCallback(() => {
154
154
  if (!isLoadingTokenBalances) {
155
155
  setBalanceIsExpanded(!balanceIsExpanded);
@@ -1,3 +1,7 @@
1
1
  /// <reference types="react" />
2
+ type ActiveWalletBalanceProps = {
3
+ isLoading?: boolean;
4
+ };
2
5
  /** Component to display token balances for the primary wallet */
3
- export declare const ActiveWalletBalance: () => JSX.Element;
6
+ export declare const ActiveWalletBalance: ({ isLoading, }: ActiveWalletBalanceProps) => JSX.Element;
7
+ export {};
@@ -97,7 +97,7 @@ import { useInternalDynamicContext } from '../../../../context/DynamicContext/us
97
97
  import { TokenBalanceList } from './TokenBalanceList/TokenBalanceList.js';
98
98
 
99
99
  /** Component to display token balances for the primary wallet */
100
- const ActiveWalletBalance = () => {
100
+ const ActiveWalletBalance = ({ isLoading = false, }) => {
101
101
  var _a;
102
102
  const { t } = useTranslation();
103
103
  /** Controls for the multi asset balance accordion */
@@ -138,14 +138,14 @@ const ActiveWalletBalance = () => {
138
138
  }
139
139
  };
140
140
  const primaryWalletNativeBalance = () => {
141
- if (!primaryWallet || isLoadingTokenBalances) {
141
+ if (!primaryWallet || isLoadingTokenBalances || isLoading) {
142
142
  return jsx(Skeleton, { className: 'balance-container__skeleton' });
143
143
  }
144
144
  return canShowFiat ? (jsx(Typography, { variant: 'numbers_display', color: 'primary', children: totalValue === 0 || totalValue >= 0.01
145
145
  ? currencyFormatter.format(parseFloat(totalValue.toFixed(2)))
146
146
  : '<$0.01' })) : (jsx(Balance, { className: 'balance-header__balance', wallet: primaryWallet, network: network, variant: 'numbers_display' }));
147
147
  };
148
- const balanceHeaderTitle = () => (jsxs("div", { className: 'balance-header__title', children: [jsx(Typography, { color: 'secondary', variant: 'body_normal', children: t('dyn_active_wallet_info.balance') }), jsx("div", { className: 'balance-header__balance', children: primaryWalletNativeBalance() })] }));
148
+ const balanceHeaderTitle = () => (jsxs("div", { className: 'balance-header__title', children: [isLoadingTokenBalances || isLoading ? (jsx(Skeleton, { className: 'balance-header__title-skeleton' })) : (jsx(Typography, { color: 'secondary', variant: 'body_normal', children: t('dyn_active_wallet_info.balance') })), jsx("div", { className: 'balance-header__balance', children: primaryWalletNativeBalance() })] }));
149
149
  const toggleBalanceAccordion = useCallback(() => {
150
150
  if (!isLoadingTokenBalances) {
151
151
  setBalanceIsExpanded(!balanceIsExpanded);
@@ -188,7 +188,7 @@ const ActiveWalletInformation = ({ isLoading = false, }) => {
188
188
  }
189
189
  };
190
190
  if (isLoading) {
191
- return jsxRuntime.jsx(Skeleton.Skeleton, {});
191
+ return (jsxRuntime.jsxs("div", { className: 'active-wallet-information-container active-wallet-information-container--loading', "data-testid": 'active-wallet-information', children: [jsxRuntime.jsx("div", { className: 'active-wallet-information active-wallet-information--loading', children: jsxRuntime.jsxs("div", { className: 'active-wallet-information__header', children: [jsxRuntime.jsx("div", { className: 'active-wallet-information__avatar', children: jsxRuntime.jsx("div", { className: 'active-wallet-information__wallet-img', children: jsxRuntime.jsx(Skeleton.Skeleton, { className: 'active-wallet-information__skeleton-avatar' }) }) }), jsxRuntime.jsxs("div", { className: 'active-wallet-information__details', children: [jsxRuntime.jsxs("div", { className: 'active-wallet-information__addresses-container active-wallet-information__addresses-container--loading', children: [jsxRuntime.jsx("div", { className: 'active-wallet-information__handle-row', children: jsxRuntime.jsx(Skeleton.Skeleton, { className: 'active-wallet-information__skeleton-handle' }) }), jsxRuntime.jsx("div", { className: 'active-wallet-information__handle-row', children: jsxRuntime.jsx(Skeleton.Skeleton, { className: 'active-wallet-information__skeleton-address' }) })] }), !shouldHideNetwork && (jsxRuntime.jsx("div", { className: 'active-wallet-information__network-picker', children: jsxRuntime.jsx(Skeleton.Skeleton, { className: 'active-wallet-information__skeleton-network' }) }))] })] }) }), jsxRuntime.jsx(ActiveWalletBalance.ActiveWalletBalance, { isLoading: isLoading })] }));
192
192
  }
193
193
  return (jsxRuntime.jsxs("div", { className: 'active-wallet-information-container', "data-testid": 'active-wallet-information', children: [jsxRuntime.jsxs("div", { className: 'active-wallet-information', children: [jsxRuntime.jsxs("div", { className: 'active-wallet-information__header', children: [jsxRuntime.jsx("div", { className: 'active-wallet-information__avatar', children: (nameService === null || nameService === void 0 ? void 0 : nameService.avatar) ? (jsxRuntime.jsx("div", { className: 'active-wallet-information__avatar__name-service', children: jsxRuntime.jsx("img", { src: nameService === null || nameService === void 0 ? void 0 : nameService.avatar, alt: '' }) })) : (jsxRuntime.jsx("div", { className: 'active-wallet-information__wallet-img', children: jsxRuntime.jsx(AuthProviderIcon.AuthProviderIcon, { iconSize: ICON_SIZE }) })) }), jsxRuntime.jsxs("div", { className: 'active-wallet-information__details', children: [jsxRuntime.jsx("div", { className: classNames.classNames('active-wallet-information__addresses-container', {
194
194
  'active-wallet-information__addresses-container--centered': !(nameService === null || nameService === void 0 ? void 0 : nameService.name),
@@ -184,7 +184,7 @@ const ActiveWalletInformation = ({ isLoading = false, }) => {
184
184
  }
185
185
  };
186
186
  if (isLoading) {
187
- return jsx(Skeleton, {});
187
+ return (jsxs("div", { className: 'active-wallet-information-container active-wallet-information-container--loading', "data-testid": 'active-wallet-information', children: [jsx("div", { className: 'active-wallet-information active-wallet-information--loading', children: jsxs("div", { className: 'active-wallet-information__header', children: [jsx("div", { className: 'active-wallet-information__avatar', children: jsx("div", { className: 'active-wallet-information__wallet-img', children: jsx(Skeleton, { className: 'active-wallet-information__skeleton-avatar' }) }) }), jsxs("div", { className: 'active-wallet-information__details', children: [jsxs("div", { className: 'active-wallet-information__addresses-container active-wallet-information__addresses-container--loading', children: [jsx("div", { className: 'active-wallet-information__handle-row', children: jsx(Skeleton, { className: 'active-wallet-information__skeleton-handle' }) }), jsx("div", { className: 'active-wallet-information__handle-row', children: jsx(Skeleton, { className: 'active-wallet-information__skeleton-address' }) })] }), !shouldHideNetwork && (jsx("div", { className: 'active-wallet-information__network-picker', children: jsx(Skeleton, { className: 'active-wallet-information__skeleton-network' }) }))] })] }) }), jsx(ActiveWalletBalance, { isLoading: isLoading })] }));
188
188
  }
189
189
  return (jsxs("div", { className: 'active-wallet-information-container', "data-testid": 'active-wallet-information', children: [jsxs("div", { className: 'active-wallet-information', children: [jsxs("div", { className: 'active-wallet-information__header', children: [jsx("div", { className: 'active-wallet-information__avatar', children: (nameService === null || nameService === void 0 ? void 0 : nameService.avatar) ? (jsx("div", { className: 'active-wallet-information__avatar__name-service', children: jsx("img", { src: nameService === null || nameService === void 0 ? void 0 : nameService.avatar, alt: '' }) })) : (jsx("div", { className: 'active-wallet-information__wallet-img', children: jsx(AuthProviderIcon, { iconSize: ICON_SIZE }) })) }), jsxs("div", { className: 'active-wallet-information__details', children: [jsx("div", { className: classNames('active-wallet-information__addresses-container', {
190
190
  'active-wallet-information__addresses-container--centered': !(nameService === null || nameService === void 0 ? void 0 : nameService.name),
@@ -9,7 +9,7 @@ var reactI18next = require('react-i18next');
9
9
  var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
10
10
  require('@dynamic-labs/utils');
11
11
  require('../../../../../components/Accordion/components/AccordionItem/AccordionItem.cjs');
12
- var Alert = require('../../../../../components/Alert/Alert.cjs');
12
+ require('../../../../../components/Alert/Alert.cjs');
13
13
  require('../../../../../events/dynamicEvents.cjs');
14
14
  require('../../../../../../../_virtual/_tslib.cjs');
15
15
  require('../../../../../context/DynamicContext/DynamicContext.cjs');
@@ -51,7 +51,7 @@ require('bs58');
51
51
  require('@dynamic-labs/types');
52
52
  require('../../../../../context/SocialRedirectContext/SocialRedirectContext.cjs');
53
53
  require('../../../../../context/LoadingContext/LoadingContext.cjs');
54
- var WalletContext = require('../../../../../context/WalletContext/WalletContext.cjs');
54
+ require('../../../../../context/WalletContext/WalletContext.cjs');
55
55
  require('../../../../../utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.cjs');
56
56
  require('yup');
57
57
  require('../../../../../context/MockContext/MockContext.cjs');
@@ -80,7 +80,6 @@ require('../../../../../utils/hooks/useSubdomainCheck/useSubdomainCheck.cjs');
80
80
  require('../../../../../store/state/sendBalances.cjs');
81
81
  require('../../../../../components/Input/Input.cjs');
82
82
  require('../../../../../components/OverlayCard/OverlayCard.cjs');
83
- var spinner = require('../../../../../components/Spinner/spinner.cjs');
84
83
  require('../../../../../views/TransactionConfirmationView/TransactionConfirmationView.cjs');
85
84
  require('../../../../../context/PasskeyContext/PasskeyContext.cjs');
86
85
  require('../../../views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
@@ -106,6 +105,7 @@ require('../../../../../components/Popper/PopperContext/PopperContext.cjs');
106
105
  var SecureEmbeddedWalletCard = require('../../../../../components/SecureEmbeddedWalletCard/SecureEmbeddedWalletCard.cjs');
107
106
  var SendBalanceContext = require('../../../../../context/SendBalanceContext/SendBalanceContext.cjs');
108
107
  var ActiveWalletInformation = require('../../ActiveWalletInformation/ActiveWalletInformation.cjs');
108
+ var useIsLoadingEmbeddedWallet = require('../../../../../utils/hooks/useIsLoadingEmbeddedWallet/useIsLoadingEmbeddedWallet.cjs');
109
109
 
110
110
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
111
111
 
@@ -125,7 +125,7 @@ const DynamicWidgetWalletHeader = ({ variant, }) => {
125
125
  const { primaryWallet, user } = useInternalDynamicContext.useInternalDynamicContext();
126
126
  const { open: openSendBalanceModal } = SendBalanceContext.useSendBalance();
127
127
  const { setDynamicWidgetView, setIsOpen } = DynamicWidgetContext.useWidgetContext();
128
- const { isLoadingEmbeddedWallet } = WalletContext.useWalletContext();
128
+ const { isLoadingEmbeddedWallet } = useIsLoadingEmbeddedWallet.useIsLoadingEmbeddedWallet();
129
129
  const { t } = reactI18next.useTranslation();
130
130
  const isSendBalanceEnabled = React.useMemo(() => {
131
131
  const connector = primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector;
@@ -150,7 +150,7 @@ const DynamicWidgetWalletHeader = ({ variant, }) => {
150
150
  return (jsxRuntime.jsx("div", { className: 'dynamic-widget-wallet-header__icon-container', children: jsxRuntime.jsx(UserAvatar.UserAvatar, { user: user }) }));
151
151
  }
152
152
  };
153
- return (jsxRuntime.jsxs("div", { className: 'dynamic-widget-wallet-header', "data-testid": 'dynamic-widget-wallet-header', children: [renderWalletHeader(), isLoadingEmbeddedWallet && (jsxRuntime.jsx("div", { className: 'dynamic-widget-wallet-header__wallet-info', children: jsxRuntime.jsx("div", { className: 'dynamic-widget-wallet-header__wallet-loading', children: jsxRuntime.jsx(Alert.Alert, { variant: 'info', icon: jsxRuntime.jsx(spinner.Spinner, { className: 'button__spinner' }), children: t('dyn_creating_wallet.loading_message') }) }) })), primaryWallet ? (jsxRuntime.jsxs("div", { "data-testid": 'primaryWalletStatus', className: 'dynamic-widget-wallet-header__wallet-info', children: [jsxRuntime.jsx(SecureEmbeddedWalletCard.SecureEmbeddedWalletCard, { className: 'dynamic-widget-wallet-header__wallet-info__secure-wallet' }), jsxRuntime.jsxs("div", { className: 'dynamic-widget-wallet-header__wallet-actions', children: [jsxRuntime.jsx(TypographyButton.TypographyButton, { expanded: true, dataTestId: 'buy-crypto-button', buttonPadding: 'small', buttonVariant: 'primary', onClick: () => setDynamicWidgetView('choose-wallet-funding-method'), startSlot: jsxRuntime.jsx(Icon.Icon, { size: 'small', color: 'text-secondary', children: jsxRuntime.jsx(add.ReactComponent, {}) }), children: t('dyn_widget_header.buttons.deposit_funds') }), isSendBalanceEnabled && (jsxRuntime.jsx(TypographyButton.TypographyButton, { expanded: true, dataTestId: 'send-balance-button', buttonPadding: 'small', buttonVariant: 'primary', onClick: handleOnClickSend, startSlot: jsxRuntime.jsx(Icon.Icon, { size: 'small', color: 'text-secondary', children: jsxRuntime.jsx(send.ReactComponent, {}) }), children: t('dyn_widget_header.buttons.send_funds') })), jsxRuntime.jsx(LinkButton, { connector: primaryWallet.connector })] })] })) : (jsxRuntime.jsx(Typography.Typography, { className: 'dynamic-widget-wallet-header__email', variant: 'body_normal', weight: 'regular', children: !isLoadingEmbeddedWallet && getUserIdentifier.getUserIdentifier(user) }))] }));
153
+ return (jsxRuntime.jsxs("div", { className: 'dynamic-widget-wallet-header', "data-testid": 'dynamic-widget-wallet-header', children: [renderWalletHeader(), primaryWallet ? (jsxRuntime.jsxs("div", { "data-testid": 'primaryWalletStatus', className: 'dynamic-widget-wallet-header__wallet-info', children: [jsxRuntime.jsx(SecureEmbeddedWalletCard.SecureEmbeddedWalletCard, { className: 'dynamic-widget-wallet-header__wallet-info__secure-wallet' }), jsxRuntime.jsxs("div", { className: 'dynamic-widget-wallet-header__wallet-actions', children: [jsxRuntime.jsx(TypographyButton.TypographyButton, { expanded: true, dataTestId: 'buy-crypto-button', buttonPadding: 'small', buttonVariant: 'primary', onClick: () => setDynamicWidgetView('choose-wallet-funding-method'), startSlot: jsxRuntime.jsx(Icon.Icon, { size: 'small', color: 'text-secondary', children: jsxRuntime.jsx(add.ReactComponent, {}) }), children: t('dyn_widget_header.buttons.deposit_funds') }), isSendBalanceEnabled && (jsxRuntime.jsx(TypographyButton.TypographyButton, { expanded: true, dataTestId: 'send-balance-button', buttonPadding: 'small', buttonVariant: 'primary', onClick: handleOnClickSend, startSlot: jsxRuntime.jsx(Icon.Icon, { size: 'small', color: 'text-secondary', children: jsxRuntime.jsx(send.ReactComponent, {}) }), children: t('dyn_widget_header.buttons.send_funds') })), jsxRuntime.jsx(LinkButton, { connector: primaryWallet.connector })] })] })) : (jsxRuntime.jsx(Typography.Typography, { className: 'dynamic-widget-wallet-header__email', variant: 'body_normal', weight: 'regular', children: !isLoadingEmbeddedWallet && getUserIdentifier.getUserIdentifier(user) }))] }));
154
154
  };
155
155
  React__default["default"].memo(DynamicWidgetWalletHeader);
156
156
 
@@ -5,7 +5,7 @@ import { useTranslation } from 'react-i18next';
5
5
  import { isSendBalanceWalletConnector } from '@dynamic-labs/wallet-connector-core';
6
6
  import '@dynamic-labs/utils';
7
7
  import '../../../../../components/Accordion/components/AccordionItem/AccordionItem.js';
8
- import { Alert } from '../../../../../components/Alert/Alert.js';
8
+ import '../../../../../components/Alert/Alert.js';
9
9
  import '../../../../../events/dynamicEvents.js';
10
10
  import '../../../../../../../_virtual/_tslib.js';
11
11
  import '../../../../../context/DynamicContext/DynamicContext.js';
@@ -47,7 +47,7 @@ import 'bs58';
47
47
  import '@dynamic-labs/types';
48
48
  import '../../../../../context/SocialRedirectContext/SocialRedirectContext.js';
49
49
  import '../../../../../context/LoadingContext/LoadingContext.js';
50
- import { useWalletContext } from '../../../../../context/WalletContext/WalletContext.js';
50
+ import '../../../../../context/WalletContext/WalletContext.js';
51
51
  import '../../../../../utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.js';
52
52
  import 'yup';
53
53
  import '../../../../../context/MockContext/MockContext.js';
@@ -76,7 +76,6 @@ import '../../../../../utils/hooks/useSubdomainCheck/useSubdomainCheck.js';
76
76
  import '../../../../../store/state/sendBalances.js';
77
77
  import '../../../../../components/Input/Input.js';
78
78
  import '../../../../../components/OverlayCard/OverlayCard.js';
79
- import { Spinner } from '../../../../../components/Spinner/spinner.js';
80
79
  import '../../../../../views/TransactionConfirmationView/TransactionConfirmationView.js';
81
80
  import '../../../../../context/PasskeyContext/PasskeyContext.js';
82
81
  import '../../../views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
@@ -102,6 +101,7 @@ import '../../../../../components/Popper/PopperContext/PopperContext.js';
102
101
  import { SecureEmbeddedWalletCard } from '../../../../../components/SecureEmbeddedWalletCard/SecureEmbeddedWalletCard.js';
103
102
  import { useSendBalance } from '../../../../../context/SendBalanceContext/SendBalanceContext.js';
104
103
  import { ActiveWalletInformation } from '../../ActiveWalletInformation/ActiveWalletInformation.js';
104
+ import { useIsLoadingEmbeddedWallet } from '../../../../../utils/hooks/useIsLoadingEmbeddedWallet/useIsLoadingEmbeddedWallet.js';
105
105
 
106
106
  const LinkButton = React__default.memo(({ connector }) => {
107
107
  const { setDynamicWidgetView } = useWidgetContext();
@@ -117,7 +117,7 @@ const DynamicWidgetWalletHeader = ({ variant, }) => {
117
117
  const { primaryWallet, user } = useInternalDynamicContext();
118
118
  const { open: openSendBalanceModal } = useSendBalance();
119
119
  const { setDynamicWidgetView, setIsOpen } = useWidgetContext();
120
- const { isLoadingEmbeddedWallet } = useWalletContext();
120
+ const { isLoadingEmbeddedWallet } = useIsLoadingEmbeddedWallet();
121
121
  const { t } = useTranslation();
122
122
  const isSendBalanceEnabled = useMemo(() => {
123
123
  const connector = primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector;
@@ -142,7 +142,7 @@ const DynamicWidgetWalletHeader = ({ variant, }) => {
142
142
  return (jsx("div", { className: 'dynamic-widget-wallet-header__icon-container', children: jsx(UserAvatar, { user: user }) }));
143
143
  }
144
144
  };
145
- return (jsxs("div", { className: 'dynamic-widget-wallet-header', "data-testid": 'dynamic-widget-wallet-header', children: [renderWalletHeader(), isLoadingEmbeddedWallet && (jsx("div", { className: 'dynamic-widget-wallet-header__wallet-info', children: jsx("div", { className: 'dynamic-widget-wallet-header__wallet-loading', children: jsx(Alert, { variant: 'info', icon: jsx(Spinner, { className: 'button__spinner' }), children: t('dyn_creating_wallet.loading_message') }) }) })), primaryWallet ? (jsxs("div", { "data-testid": 'primaryWalletStatus', className: 'dynamic-widget-wallet-header__wallet-info', children: [jsx(SecureEmbeddedWalletCard, { className: 'dynamic-widget-wallet-header__wallet-info__secure-wallet' }), jsxs("div", { className: 'dynamic-widget-wallet-header__wallet-actions', children: [jsx(TypographyButton, { expanded: true, dataTestId: 'buy-crypto-button', buttonPadding: 'small', buttonVariant: 'primary', onClick: () => setDynamicWidgetView('choose-wallet-funding-method'), startSlot: jsx(Icon, { size: 'small', color: 'text-secondary', children: jsx(SvgAdd, {}) }), children: t('dyn_widget_header.buttons.deposit_funds') }), isSendBalanceEnabled && (jsx(TypographyButton, { expanded: true, dataTestId: 'send-balance-button', buttonPadding: 'small', buttonVariant: 'primary', onClick: handleOnClickSend, startSlot: jsx(Icon, { size: 'small', color: 'text-secondary', children: jsx(SvgSend, {}) }), children: t('dyn_widget_header.buttons.send_funds') })), jsx(LinkButton, { connector: primaryWallet.connector })] })] })) : (jsx(Typography, { className: 'dynamic-widget-wallet-header__email', variant: 'body_normal', weight: 'regular', children: !isLoadingEmbeddedWallet && getUserIdentifier(user) }))] }));
145
+ return (jsxs("div", { className: 'dynamic-widget-wallet-header', "data-testid": 'dynamic-widget-wallet-header', children: [renderWalletHeader(), primaryWallet ? (jsxs("div", { "data-testid": 'primaryWalletStatus', className: 'dynamic-widget-wallet-header__wallet-info', children: [jsx(SecureEmbeddedWalletCard, { className: 'dynamic-widget-wallet-header__wallet-info__secure-wallet' }), jsxs("div", { className: 'dynamic-widget-wallet-header__wallet-actions', children: [jsx(TypographyButton, { expanded: true, dataTestId: 'buy-crypto-button', buttonPadding: 'small', buttonVariant: 'primary', onClick: () => setDynamicWidgetView('choose-wallet-funding-method'), startSlot: jsx(Icon, { size: 'small', color: 'text-secondary', children: jsx(SvgAdd, {}) }), children: t('dyn_widget_header.buttons.deposit_funds') }), isSendBalanceEnabled && (jsx(TypographyButton, { expanded: true, dataTestId: 'send-balance-button', buttonPadding: 'small', buttonVariant: 'primary', onClick: handleOnClickSend, startSlot: jsx(Icon, { size: 'small', color: 'text-secondary', children: jsx(SvgSend, {}) }), children: t('dyn_widget_header.buttons.send_funds') })), jsx(LinkButton, { connector: primaryWallet.connector })] })] })) : (jsx(Typography, { className: 'dynamic-widget-wallet-header__email', variant: 'body_normal', weight: 'regular', children: !isLoadingEmbeddedWallet && getUserIdentifier(user) }))] }));
146
146
  };
147
147
  React__default.memo(DynamicWidgetWalletHeader);
148
148