@dynamic-labs/sdk-react-core 2.1.0-alpha.7 → 2.1.0-alpha.9

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 (102) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/package.cjs +2 -2
  3. package/package.js +2 -2
  4. package/package.json +13 -13
  5. package/src/lib/components/Portal/Portal.cjs +2 -1
  6. package/src/lib/components/Portal/Portal.js +2 -1
  7. package/src/lib/components/SandboxIndicatorWrapper/SandboxIndicatorWrapper.d.ts +0 -2
  8. package/src/lib/components/Toolkit/components/index.d.ts +0 -6
  9. package/src/lib/components/Tooltip/Tooltip.cjs +2 -1
  10. package/src/lib/components/Tooltip/Tooltip.js +2 -1
  11. package/src/lib/context/DynamicContext/DynamicContext.cjs +5 -2
  12. package/src/lib/context/DynamicContext/DynamicContext.js +5 -2
  13. package/src/lib/context/DynamicContext/types/index.d.ts +0 -1
  14. package/src/lib/data/api/wallets/wallets.cjs +21 -5
  15. package/src/lib/data/api/wallets/wallets.d.ts +4 -0
  16. package/src/lib/data/api/wallets/wallets.js +21 -6
  17. package/src/lib/shared/utils/classes/storage/localStorage.cjs +2 -2
  18. package/src/lib/shared/utils/classes/storage/localStorage.js +2 -2
  19. package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.cjs +14 -0
  20. package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.d.ts +3 -0
  21. package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.js +10 -0
  22. package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/index.d.ts +1 -0
  23. package/src/lib/utils/functions/createUserProfile/createUserProfile.cjs +1 -2
  24. package/src/lib/utils/functions/createUserProfile/createUserProfile.js +1 -2
  25. package/src/lib/utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.cjs +3 -4
  26. package/src/lib/utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.d.ts +1 -1
  27. package/src/lib/utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.js +4 -5
  28. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.cjs +1 -1
  29. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.d.ts +3 -1
  30. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.js +1 -1
  31. package/src/lib/utils/functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.cjs +5 -5
  32. package/src/lib/utils/functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.d.ts +3 -2
  33. package/src/lib/utils/functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.js +5 -5
  34. package/src/lib/utils/functions/hasEmbeddedWallet/hasEmbeddedWallet.cjs +7 -2
  35. package/src/lib/utils/functions/hasEmbeddedWallet/hasEmbeddedWallet.js +7 -2
  36. package/src/lib/utils/functions/index.d.ts +1 -1
  37. package/src/lib/utils/hooks/useConfirmationModal/useConfirmationModal.cjs +2 -1
  38. package/src/lib/utils/hooks/useConfirmationModal/useConfirmationModal.js +2 -1
  39. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs +16 -11
  40. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.d.ts +7 -2
  41. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js +16 -11
  42. package/src/lib/utils/hooks/useDynamicScopes/useDynamicScopes.cjs +3 -3
  43. package/src/lib/utils/hooks/useDynamicScopes/useDynamicScopes.js +3 -3
  44. package/src/lib/utils/hooks/useElementById/useElementById.cjs +33 -18
  45. package/src/lib/utils/hooks/useElementById/useElementById.d.ts +3 -1
  46. package/src/lib/utils/hooks/useElementById/useElementById.js +33 -18
  47. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +9 -4
  48. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.d.ts +6 -3
  49. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +9 -4
  50. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.cjs +6 -6
  51. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.d.ts +1 -1
  52. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.js +6 -6
  53. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.cjs +7 -7
  54. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.d.ts +2 -2
  55. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.js +7 -7
  56. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.cjs +24 -27
  57. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.d.ts +6 -3
  58. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.js +24 -27
  59. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.cjs +16 -11
  60. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.d.ts +4 -1
  61. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.js +16 -11
  62. package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.cjs +2 -2
  63. package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.js +2 -2
  64. package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.cjs +2 -1
  65. package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.js +2 -1
  66. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.cjs +13 -4
  67. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.d.ts +10 -2
  68. package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.js +13 -4
  69. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.cjs +2 -3
  70. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.js +2 -3
  71. package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/EmbeddedAuthChoiceCards.cjs +2 -1
  72. package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/EmbeddedAuthChoiceCards.js +2 -1
  73. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.cjs +5 -4
  74. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.d.ts +6 -1
  75. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.js +5 -4
  76. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.cjs +2 -1
  77. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.js +2 -1
  78. package/src/lib/views/Passkey/utils/{createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.cjs → createEmbeddedWalletRequest/createEmbeddedWalletRequest.cjs} +17 -18
  79. package/src/lib/views/Passkey/utils/{createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.d.ts → createEmbeddedWalletRequest/createEmbeddedWalletRequest.d.ts} +7 -3
  80. package/src/lib/views/Passkey/utils/{createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.js → createEmbeddedWalletRequest/createEmbeddedWalletRequest.js} +17 -18
  81. package/src/lib/views/Passkey/utils/createEmbeddedWalletRequest/index.d.ts +1 -0
  82. package/src/lib/views/Passkey/utils/index.d.ts +1 -2
  83. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs +2 -2
  84. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.js +2 -2
  85. package/src/lib/views/WalletList/WalletList.cjs +3 -6
  86. package/src/lib/views/WalletList/WalletList.js +3 -6
  87. package/src/lib/views/WalletLockedView/WalletLockedView.cjs +2 -8
  88. package/src/lib/views/WalletLockedView/WalletLockedView.js +2 -8
  89. package/src/lib/views/viewToComponentMap.d.ts +4 -2
  90. package/src/lib/widgets/DynamicWidget/components/PromptModal/PromptModal.cjs +2 -1
  91. package/src/lib/widgets/DynamicWidget/components/PromptModal/PromptModal.js +2 -1
  92. package/src/lib/widgets/DynamicWidget/hooks/useFetchNameService/useFetchNameService.cjs +1 -1
  93. package/src/lib/widgets/DynamicWidget/hooks/useFetchNameService/useFetchNameService.js +1 -1
  94. package/src/lib/utils/functions/isEmbeddedWalletPresent/index.d.ts +0 -1
  95. package/src/lib/utils/functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.cjs +0 -19
  96. package/src/lib/utils/functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.d.ts +0 -1
  97. package/src/lib/utils/functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.js +0 -15
  98. package/src/lib/views/Passkey/utils/createEmbeddedWalletWithPasskey/index.d.ts +0 -1
  99. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.cjs +0 -65
  100. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.d.ts +0 -16
  101. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.js +0 -61
  102. package/src/lib/views/Passkey/utils/createPregeneratedWallet/index.d.ts +0 -1
@@ -3,6 +3,7 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
+ var _tslib = require('../../../../../_virtual/_tslib.cjs');
6
7
  var React = require('react');
7
8
  require('@dynamic-labs/sdk-api-core');
8
9
  require('../../../shared/logger.cjs');
@@ -19,19 +20,27 @@ var useLocalStorage = require('../../../shared/utils/hooks/useLocalStorage/useLo
19
20
  require('@dynamic-labs/utils');
20
21
  require('../../../shared/consts/index.cjs');
21
22
  var primaryWalletIdValidator = require('../useWalletConnectors/utils/primaryWalletIdValidator/primaryWalletIdValidator.cjs');
22
- require('../../../../../_virtual/_tslib.cjs');
23
23
  require('@dynamic-labs/multi-wallet');
24
24
  require('react-international-phone');
25
25
  require('viem');
26
26
  require('viem/chains');
27
27
  require('../../../config/ApiEndpoint.cjs');
28
28
  require('../../../locale/locale.cjs');
29
+ var wallets = require('../../../data/api/wallets/wallets.cjs');
30
+ var updateJWTAndCreateUserProfile = require('../../functions/updateJWTAndCreateUserProfile/updateJWTAndCreateUserProfile.cjs');
29
31
 
30
- const usePrimaryWalletId = () => {
32
+ const usePrimaryWalletId = ({ minAuthToken, environmentId, setUser, }) => {
31
33
  const [primaryWalletId, setPrimaryWalletIdState, clearPrimaryWalletId] = useLocalStorage.useLocalStorage(localStorage.PRIMARY_WALLET_ID, undefined, primaryWalletIdValidator.primaryWalletIdValidator);
32
- const setPrimaryWalletId = React.useCallback((walletId) => {
34
+ const setPrimaryWalletId = React.useCallback((walletId) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
33
35
  setPrimaryWalletIdState(walletId);
34
- }, [setPrimaryWalletIdState]);
36
+ if (minAuthToken) {
37
+ const response = yield wallets.storeSelectedWallet({ environmentId, walletId }, minAuthToken);
38
+ // only update userProfile, authToken, and minAuthToken when response is valid from storeSelectedWallet
39
+ if (response) {
40
+ setUser(updateJWTAndCreateUserProfile.updateJWTAndCreateUserProfile(response.jwt, response.minifiedJwt));
41
+ }
42
+ }
43
+ }), [setPrimaryWalletIdState]);
35
44
  return {
36
45
  clearPrimaryWalletId,
37
46
  primaryWalletId,
@@ -1,5 +1,13 @@
1
- export declare const usePrimaryWalletId: () => {
1
+ import { Dispatch, SetStateAction } from 'react';
2
+ import { UserProfile } from '@dynamic-labs/types';
3
+ type Props = {
4
+ setUser: Dispatch<SetStateAction<UserProfile | undefined>>;
5
+ environmentId: string;
6
+ minAuthToken: string | undefined;
7
+ };
8
+ export declare const usePrimaryWalletId: ({ minAuthToken, environmentId, setUser, }: Props) => {
2
9
  clearPrimaryWalletId: () => void;
3
10
  primaryWalletId: string | undefined;
4
- setPrimaryWalletId: (walletId: string) => void;
11
+ setPrimaryWalletId: (walletId: string) => Promise<void>;
5
12
  };
13
+ export {};
@@ -1,4 +1,5 @@
1
1
  'use client'
2
+ import { __awaiter } from '../../../../../_virtual/_tslib.js';
2
3
  import { useCallback } from 'react';
3
4
  import '@dynamic-labs/sdk-api-core';
4
5
  import '../../../shared/logger.js';
@@ -15,19 +16,27 @@ import { useLocalStorage } from '../../../shared/utils/hooks/useLocalStorage/use
15
16
  import '@dynamic-labs/utils';
16
17
  import '../../../shared/consts/index.js';
17
18
  import { primaryWalletIdValidator } from '../useWalletConnectors/utils/primaryWalletIdValidator/primaryWalletIdValidator.js';
18
- import '../../../../../_virtual/_tslib.js';
19
19
  import '@dynamic-labs/multi-wallet';
20
20
  import 'react-international-phone';
21
21
  import 'viem';
22
22
  import 'viem/chains';
23
23
  import '../../../config/ApiEndpoint.js';
24
24
  import '../../../locale/locale.js';
25
+ import { storeSelectedWallet } from '../../../data/api/wallets/wallets.js';
26
+ import { updateJWTAndCreateUserProfile } from '../../functions/updateJWTAndCreateUserProfile/updateJWTAndCreateUserProfile.js';
25
27
 
26
- const usePrimaryWalletId = () => {
28
+ const usePrimaryWalletId = ({ minAuthToken, environmentId, setUser, }) => {
27
29
  const [primaryWalletId, setPrimaryWalletIdState, clearPrimaryWalletId] = useLocalStorage(PRIMARY_WALLET_ID, undefined, primaryWalletIdValidator);
28
- const setPrimaryWalletId = useCallback((walletId) => {
30
+ const setPrimaryWalletId = useCallback((walletId) => __awaiter(void 0, void 0, void 0, function* () {
29
31
  setPrimaryWalletIdState(walletId);
30
- }, [setPrimaryWalletIdState]);
32
+ if (minAuthToken) {
33
+ const response = yield storeSelectedWallet({ environmentId, walletId }, minAuthToken);
34
+ // only update userProfile, authToken, and minAuthToken when response is valid from storeSelectedWallet
35
+ if (response) {
36
+ setUser(updateJWTAndCreateUserProfile(response.jwt, response.minifiedJwt));
37
+ }
38
+ }
39
+ }), [setPrimaryWalletIdState]);
31
40
  return {
32
41
  clearPrimaryWalletId,
33
42
  primaryWalletId,
@@ -82,8 +82,7 @@ require('../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection
82
82
  // The component notifies the user about the required manual network change,
83
83
  // as the wallet does not support programmatic network change.
84
84
  const NetworkNotSupportedSwitchManual = () => {
85
- var _a, _b;
86
- const { user, selectedWalletConnector: walletConnector } = useInternalDynamicContext.useInternalDynamicContext();
85
+ const { selectedWalletConnector: walletConnector } = useInternalDynamicContext.useInternalDynamicContext();
87
86
  useNetworkNotSupported.useNetworkNotSupported();
88
87
  const { t } = reactI18next.useTranslation();
89
88
  const iconSize = 80;
@@ -92,7 +91,7 @@ const NetworkNotSupportedSwitchManual = () => {
92
91
  width: pixelToRem.pixelToRem(iconSize * IconWithSpinner.iconRatio),
93
92
  } }));
94
93
  const walletConnectorNetworks = getWalletConnectorNetworks.getWalletConnectorNetworks(walletConnector);
95
- return (jsxRuntime.jsxs("div", { "data-testid": 'network-not-supported', className: 'network-not-supported-switch-manual', children: [jsxRuntime.jsx("div", { className: 'network-not-supported-switch-manual__img-container', children: ((_a = user === null || user === void 0 ? void 0 : user.ens) === null || _a === void 0 ? void 0 : _a.avatar) ? (jsxRuntime.jsx("div", { className: 'network-not-supported-switch-manual__network-container', children: jsxRuntime.jsx("img", { src: (_b = user === null || user === void 0 ? void 0 : user.ens) === null || _b === void 0 ? void 0 : _b.avatar, alt: 'user ens avatar', className: 'network-not-supported-switch-manual__img' }) })) : (jsxRuntime.jsx("div", { className: 'network-not-supported-switch-manual__network-container', children: jsxRuntime.jsx(IconWithSpinner.IconWithSpinner, { Icon: icon, iconSize: iconSize, isSpinning: true }) })) }), jsxRuntime.jsxs("div", { className: 'network-not-supported-switch-manual__content', children: [jsxRuntime.jsx(Typography.Typography, { className: 'network-not-supported-switch-manual__title', weight: 'medium', variant: 'title', color: 'primary', copykey: 'dyn_network_not_supported_manual_switch.title', children: t('dyn_network_not_supported_manual_switch.title') }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', color: 'secondary', copykey: walletConnectorNetworks.length
94
+ return (jsxRuntime.jsxs("div", { "data-testid": 'network-not-supported', className: 'network-not-supported-switch-manual', children: [jsxRuntime.jsx("div", { className: 'network-not-supported-switch-manual__img-container', children: jsxRuntime.jsx("div", { className: 'network-not-supported-switch-manual__network-container', children: jsxRuntime.jsx(IconWithSpinner.IconWithSpinner, { Icon: icon, iconSize: iconSize, isSpinning: true }) }) }), jsxRuntime.jsxs("div", { className: 'network-not-supported-switch-manual__content', children: [jsxRuntime.jsx(Typography.Typography, { className: 'network-not-supported-switch-manual__title', weight: 'medium', variant: 'title', color: 'primary', copykey: 'dyn_network_not_supported_manual_switch.title', children: t('dyn_network_not_supported_manual_switch.title') }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', color: 'secondary', copykey: walletConnectorNetworks.length
96
95
  ? 'dyn_network_not_supported_manual_switch.subtitle_network_defined'
97
96
  : 'dyn_network_not_supported_manual_switch.subtitle_no_network_defined', children: walletConnectorNetworks.length
98
97
  ? t('dyn_network_not_supported_manual_switch.subtitle_network_defined', { network: walletConnectorNetworks[0].name })
@@ -78,8 +78,7 @@ import '../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.
78
78
  // The component notifies the user about the required manual network change,
79
79
  // as the wallet does not support programmatic network change.
80
80
  const NetworkNotSupportedSwitchManual = () => {
81
- var _a, _b;
82
- const { user, selectedWalletConnector: walletConnector } = useInternalDynamicContext();
81
+ const { selectedWalletConnector: walletConnector } = useInternalDynamicContext();
83
82
  useNetworkNotSupported();
84
83
  const { t } = useTranslation();
85
84
  const iconSize = 80;
@@ -88,7 +87,7 @@ const NetworkNotSupportedSwitchManual = () => {
88
87
  width: pixelToRem(iconSize * iconRatio),
89
88
  } }));
90
89
  const walletConnectorNetworks = getWalletConnectorNetworks(walletConnector);
91
- return (jsxs("div", { "data-testid": 'network-not-supported', className: 'network-not-supported-switch-manual', children: [jsx("div", { className: 'network-not-supported-switch-manual__img-container', children: ((_a = user === null || user === void 0 ? void 0 : user.ens) === null || _a === void 0 ? void 0 : _a.avatar) ? (jsx("div", { className: 'network-not-supported-switch-manual__network-container', children: jsx("img", { src: (_b = user === null || user === void 0 ? void 0 : user.ens) === null || _b === void 0 ? void 0 : _b.avatar, alt: 'user ens avatar', className: 'network-not-supported-switch-manual__img' }) })) : (jsx("div", { className: 'network-not-supported-switch-manual__network-container', children: jsx(IconWithSpinner, { Icon: icon, iconSize: iconSize, isSpinning: true }) })) }), jsxs("div", { className: 'network-not-supported-switch-manual__content', children: [jsx(Typography, { className: 'network-not-supported-switch-manual__title', weight: 'medium', variant: 'title', color: 'primary', copykey: 'dyn_network_not_supported_manual_switch.title', children: t('dyn_network_not_supported_manual_switch.title') }), jsx(Typography, { variant: 'body_normal', color: 'secondary', copykey: walletConnectorNetworks.length
90
+ return (jsxs("div", { "data-testid": 'network-not-supported', className: 'network-not-supported-switch-manual', children: [jsx("div", { className: 'network-not-supported-switch-manual__img-container', children: jsx("div", { className: 'network-not-supported-switch-manual__network-container', children: jsx(IconWithSpinner, { Icon: icon, iconSize: iconSize, isSpinning: true }) }) }), jsxs("div", { className: 'network-not-supported-switch-manual__content', children: [jsx(Typography, { className: 'network-not-supported-switch-manual__title', weight: 'medium', variant: 'title', color: 'primary', copykey: 'dyn_network_not_supported_manual_switch.title', children: t('dyn_network_not_supported_manual_switch.title') }), jsx(Typography, { variant: 'body_normal', color: 'secondary', copykey: walletConnectorNetworks.length
92
91
  ? 'dyn_network_not_supported_manual_switch.subtitle_network_defined'
93
92
  : 'dyn_network_not_supported_manual_switch.subtitle_no_network_defined', children: walletConnectorNetworks.length
94
93
  ? t('dyn_network_not_supported_manual_switch.subtitle_network_defined', { network: walletConnectorNetworks[0].name })
@@ -88,7 +88,8 @@ const EmbeddedAuthChoiceCards = ({ currentAction, supportedAuthenticators, }) =>
88
88
  const { projectSettings } = useInternalDynamicContext.useInternalDynamicContext();
89
89
  const { t } = reactI18next.useTranslation();
90
90
  const { initAuthMethod, isLoading } = useInitEmbeddedWalletAuthMethod.useInitEmbeddedWalletAuthMethod();
91
- const iframeContainerRef = useElementById.useElementById(constants.iframeContainerId);
91
+ const { createRootElement } = useElementById.useElementById();
92
+ const iframeContainerRef = createRootElement(constants.iframeContainerId);
92
93
  const supportedAuthenticatorsMap = {
93
94
  email: {
94
95
  badgeKey: 'dyn_embedded_authenticator.email.badge',
@@ -84,7 +84,8 @@ const EmbeddedAuthChoiceCards = ({ currentAction, supportedAuthenticators, }) =>
84
84
  const { projectSettings } = useInternalDynamicContext();
85
85
  const { t } = useTranslation();
86
86
  const { initAuthMethod, isLoading } = useInitEmbeddedWalletAuthMethod();
87
- const iframeContainerRef = useElementById(iframeContainerId);
87
+ const { createRootElement } = useElementById();
88
+ const iframeContainerRef = createRootElement(iframeContainerId);
88
89
  const supportedAuthenticatorsMap = {
89
90
  email: {
90
91
  badgeKey: 'dyn_embedded_authenticator.email.badge',
@@ -88,11 +88,11 @@ require('../../TransactionConfirmationView/helpers/transactionErrorMessage.cjs')
88
88
  require('../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
89
89
  var useInternalDynamicContext = require('../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
90
90
 
91
- const PasskeyIntroView = () => {
91
+ const PasskeyIntroView = ({ chains }) => {
92
92
  var _a;
93
- const { walletConnectorOptions, environmentId, handleLogOut, onboardingOnlyJwt, decodedAuthToken, } = useInternalDynamicContext.useInternalDynamicContext();
94
- const isEmailRecoveryFlow = ((_a = decodedAuthToken === null || decodedAuthToken === void 0 ? void 0 : decodedAuthToken.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.length) === 1 &&
95
- !getUserVerifiedCredentialType.getUserVerifiedCredentialType(decodedAuthToken, sdkApiCore.JwtVerifiedCredentialFormatEnum.Email);
93
+ const { walletConnectorOptions, environmentId, handleLogOut, onboardingOnlyJwt, user, } = useInternalDynamicContext.useInternalDynamicContext();
94
+ const isEmailRecoveryFlow = ((_a = user === null || user === void 0 ? void 0 : user.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.length) === 1 &&
95
+ !getUserVerifiedCredentialType.getUserVerifiedCredentialType(user, sdkApiCore.JwtVerifiedCredentialFormatEnum.Email);
96
96
  const { t } = reactI18next.useTranslation();
97
97
  // TODO(GVTY-1137): send a metric when we detect passkeys are not enabled by the browser/device
98
98
  // we removed enforcing this check since we were getting false negatives
@@ -112,6 +112,7 @@ const PasskeyIntroView = () => {
112
112
  setCreateWalletWithAuthenticator(withAuthenticator);
113
113
  yield createDynamicEmbeddedWalletMutation({
114
114
  authToken: jwt,
115
+ chains,
115
116
  decodedJwt,
116
117
  environmentId,
117
118
  walletConnectorOptions,
@@ -1,2 +1,7 @@
1
1
  import { FC } from 'react';
2
- export declare const PasskeyIntroView: FC;
2
+ import { ChainEnum } from '@dynamic-labs/sdk-api-core';
3
+ type PasskeyIntroViewProps = {
4
+ chains?: ChainEnum[];
5
+ };
6
+ export declare const PasskeyIntroView: FC<PasskeyIntroViewProps>;
7
+ export {};
@@ -84,11 +84,11 @@ import '../../TransactionConfirmationView/helpers/transactionErrorMessage.js';
84
84
  import '../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
85
85
  import { useInternalDynamicContext } from '../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
86
86
 
87
- const PasskeyIntroView = () => {
87
+ const PasskeyIntroView = ({ chains }) => {
88
88
  var _a;
89
- const { walletConnectorOptions, environmentId, handleLogOut, onboardingOnlyJwt, decodedAuthToken, } = useInternalDynamicContext();
90
- const isEmailRecoveryFlow = ((_a = decodedAuthToken === null || decodedAuthToken === void 0 ? void 0 : decodedAuthToken.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.length) === 1 &&
91
- !getUserVerifiedCredentialType(decodedAuthToken, JwtVerifiedCredentialFormatEnum.Email);
89
+ const { walletConnectorOptions, environmentId, handleLogOut, onboardingOnlyJwt, user, } = useInternalDynamicContext();
90
+ const isEmailRecoveryFlow = ((_a = user === null || user === void 0 ? void 0 : user.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.length) === 1 &&
91
+ !getUserVerifiedCredentialType(user, JwtVerifiedCredentialFormatEnum.Email);
92
92
  const { t } = useTranslation();
93
93
  // TODO(GVTY-1137): send a metric when we detect passkeys are not enabled by the browser/device
94
94
  // we removed enforcing this check since we were getting false negatives
@@ -108,6 +108,7 @@ const PasskeyIntroView = () => {
108
108
  setCreateWalletWithAuthenticator(withAuthenticator);
109
109
  yield createDynamicEmbeddedWalletMutation({
110
110
  authToken: jwt,
111
+ chains,
111
112
  decodedJwt,
112
113
  environmentId,
113
114
  walletConnectorOptions,
@@ -91,7 +91,8 @@ const PasskeyInitRecovery = ({ authenticatorType, }) => {
91
91
  const { setShowAuthFlow } = useInternalDynamicContext.useInternalDynamicContext();
92
92
  const { isTurnkeyWalletWithoutAuthenticator } = useIsTurnkeyWallet.useIsTurnkeyWallet();
93
93
  const { initAuthMethod, isLoading, error } = useInitEmbeddedWalletAuthMethod.useInitEmbeddedWalletAuthMethod();
94
- const iframeContainerRef = useElementById.useElementById(constants.iframeContainerId);
94
+ const { createRootElement } = useElementById.useElementById();
95
+ const iframeContainerRef = createRootElement(constants.iframeContainerId);
95
96
  const { t } = reactI18next.useTranslation();
96
97
  const errorText = React.useMemo(() => {
97
98
  if (!error) {
@@ -87,7 +87,8 @@ const PasskeyInitRecovery = ({ authenticatorType, }) => {
87
87
  const { setShowAuthFlow } = useInternalDynamicContext();
88
88
  const { isTurnkeyWalletWithoutAuthenticator } = useIsTurnkeyWallet();
89
89
  const { initAuthMethod, isLoading, error } = useInitEmbeddedWalletAuthMethod();
90
- const iframeContainerRef = useElementById(iframeContainerId);
90
+ const { createRootElement } = useElementById();
91
+ const iframeContainerRef = createRootElement(iframeContainerId);
91
92
  const { t } = useTranslation();
92
93
  const errorText = useMemo(() => {
93
94
  if (!error) {
@@ -24,11 +24,11 @@ require('../../../../locale/locale.cjs');
24
24
  var findEmbeddedWalletFromVerifiedCredentials = require('../../../../utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.cjs');
25
25
  require('@dynamic-labs/multi-wallet');
26
26
  require('react-international-phone');
27
+ var addPasskeyIdentifierToWalletConnector = require('../../../../utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.cjs');
27
28
  require('viem');
28
29
  require('viem/chains');
29
30
 
30
- const createEmbeddedWalletWithPasskey = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ user, walletConnector, environmentId, authToken, chains, }) {
31
- var _b;
31
+ const createEmbeddedWalletRequest = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ user, walletConnector, environmentId, authToken, chains, webAuthnAttestation, withAuthenticator, }) {
32
32
  if (!authToken) {
33
33
  throw new utils.DynamicError('Auth token is not defined');
34
34
  }
@@ -39,27 +39,26 @@ const createEmbeddedWalletWithPasskey = (_a) => _tslib.__awaiter(void 0, [_a], v
39
39
  throw new utils.DynamicError('User is not defined');
40
40
  }
41
41
  walletConnector.setEmail(user.email);
42
- if (!user.email) {
43
- const passkeyIdentifier = user.phoneNumber ||
44
- ((_b = user.verifiedCredentials.find((vc) => vc.oauthDisplayName)) === null || _b === void 0 ? void 0 : _b.oauthDisplayName) ||
45
- '';
46
- walletConnector.setPasskeyIdentifier(passkeyIdentifier);
42
+ let authenticatorBody;
43
+ if (withAuthenticator || webAuthnAttestation !== undefined) {
44
+ if (!user.email) {
45
+ addPasskeyIdentifierToWalletConnector.addPasskeyIdentifierToWalletConnector(walletConnector, user);
46
+ }
47
+ const { attestation, challenge, displayName } = webAuthnAttestation || (yield walletConnector.getWebAuthnAttestation());
48
+ authenticatorBody = {
49
+ attestation: attestation,
50
+ challenge,
51
+ passkeyAlias: displayName,
52
+ };
47
53
  }
48
- const { attestation, challenge, displayName } = yield walletConnector.getWebAuthnAttestation();
49
- const signersResponse = yield embeddedWallets.createTurnkeyEmbeddedWallet({
50
- attestation: attestation,
51
- chains,
52
- challenge,
53
- environmentId,
54
- passkeyAlias: displayName,
55
- userJwt: authToken,
56
- });
54
+ const signersResponse = yield embeddedWallets.createTurnkeyEmbeddedWallet(Object.assign({ chains,
55
+ environmentId, userJwt: authToken }, authenticatorBody));
57
56
  const { jwt } = signersResponse;
58
57
  const decodedJwt = decodeJwt.decodeJwt(jwt);
59
58
  if (decodedJwt === undefined)
60
59
  throw new utils.DynamicError('Invalid token!');
61
60
  const primaryChain = walletConnector.connectedChain;
62
- const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials.findEmbeddedWalletFromVerifiedCredentials(jwt, primaryChain);
61
+ const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials.findEmbeddedWalletFromVerifiedCredentials(jwt, [primaryChain]);
63
62
  if (!embeddedWalletVerifiedCredential) {
64
63
  throw new utils.DynamicError('EmbeddedWalletVerifiedCredential not found');
65
64
  }
@@ -73,4 +72,4 @@ const createEmbeddedWalletWithPasskey = (_a) => _tslib.__awaiter(void 0, [_a], v
73
72
  };
74
73
  });
75
74
 
76
- exports.createEmbeddedWalletWithPasskey = createEmbeddedWalletWithPasskey;
75
+ exports.createEmbeddedWalletRequest = createEmbeddedWalletRequest;
@@ -1,16 +1,20 @@
1
1
  import { ChainEnum } from '@dynamic-labs/sdk-api-core';
2
2
  import { UserProfile } from '@dynamic-labs/types';
3
- import { IEmailWalletConnector, IPasskeyWalletConnector } from '@dynamic-labs/wallet-connector-core';
4
- export declare const createEmbeddedWalletWithPasskey: ({ user, walletConnector, environmentId, authToken, chains, }: {
3
+ import { IEmailWalletConnector, IPasskeyWalletConnector, WebAuthnAttestation } from '@dynamic-labs/wallet-connector-core';
4
+ type CreateEmbeddedWalletRequestProps = {
5
5
  authToken: string | undefined;
6
6
  environmentId: string;
7
7
  user: UserProfile | undefined;
8
8
  walletConnector: (IPasskeyWalletConnector & IEmailWalletConnector) | undefined;
9
9
  chains: ChainEnum[];
10
- }) => Promise<{
10
+ webAuthnAttestation?: WebAuthnAttestation;
11
+ withAuthenticator: boolean;
12
+ };
13
+ export declare const createEmbeddedWalletRequest: ({ user, walletConnector, environmentId, authToken, chains, webAuthnAttestation, withAuthenticator, }: CreateEmbeddedWalletRequestProps) => Promise<{
11
14
  decodedJwt: Omit<import("@dynamic-labs/sdk-api-core").DynamicJwt, "jwt">;
12
15
  embeddedWalletVerifiedCredential: import("@dynamic-labs/sdk-api-core").JwtVerifiedCredential;
13
16
  jwt: string;
14
17
  signersResponse: import("@dynamic-labs/sdk-api-core").VerifyResponse;
15
18
  walletConnector: IPasskeyWalletConnector & IEmailWalletConnector;
16
19
  }>;
20
+ export {};
@@ -20,11 +20,11 @@ import '../../../../locale/locale.js';
20
20
  import { findEmbeddedWalletFromVerifiedCredentials } from '../../../../utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.js';
21
21
  import '@dynamic-labs/multi-wallet';
22
22
  import 'react-international-phone';
23
+ import { addPasskeyIdentifierToWalletConnector } from '../../../../utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.js';
23
24
  import 'viem';
24
25
  import 'viem/chains';
25
26
 
26
- const createEmbeddedWalletWithPasskey = (_a) => __awaiter(void 0, [_a], void 0, function* ({ user, walletConnector, environmentId, authToken, chains, }) {
27
- var _b;
27
+ const createEmbeddedWalletRequest = (_a) => __awaiter(void 0, [_a], void 0, function* ({ user, walletConnector, environmentId, authToken, chains, webAuthnAttestation, withAuthenticator, }) {
28
28
  if (!authToken) {
29
29
  throw new DynamicError('Auth token is not defined');
30
30
  }
@@ -35,27 +35,26 @@ const createEmbeddedWalletWithPasskey = (_a) => __awaiter(void 0, [_a], void 0,
35
35
  throw new DynamicError('User is not defined');
36
36
  }
37
37
  walletConnector.setEmail(user.email);
38
- if (!user.email) {
39
- const passkeyIdentifier = user.phoneNumber ||
40
- ((_b = user.verifiedCredentials.find((vc) => vc.oauthDisplayName)) === null || _b === void 0 ? void 0 : _b.oauthDisplayName) ||
41
- '';
42
- walletConnector.setPasskeyIdentifier(passkeyIdentifier);
38
+ let authenticatorBody;
39
+ if (withAuthenticator || webAuthnAttestation !== undefined) {
40
+ if (!user.email) {
41
+ addPasskeyIdentifierToWalletConnector(walletConnector, user);
42
+ }
43
+ const { attestation, challenge, displayName } = webAuthnAttestation || (yield walletConnector.getWebAuthnAttestation());
44
+ authenticatorBody = {
45
+ attestation: attestation,
46
+ challenge,
47
+ passkeyAlias: displayName,
48
+ };
43
49
  }
44
- const { attestation, challenge, displayName } = yield walletConnector.getWebAuthnAttestation();
45
- const signersResponse = yield createTurnkeyEmbeddedWallet({
46
- attestation: attestation,
47
- chains,
48
- challenge,
49
- environmentId,
50
- passkeyAlias: displayName,
51
- userJwt: authToken,
52
- });
50
+ const signersResponse = yield createTurnkeyEmbeddedWallet(Object.assign({ chains,
51
+ environmentId, userJwt: authToken }, authenticatorBody));
53
52
  const { jwt } = signersResponse;
54
53
  const decodedJwt = decodeJwt(jwt);
55
54
  if (decodedJwt === undefined)
56
55
  throw new DynamicError('Invalid token!');
57
56
  const primaryChain = walletConnector.connectedChain;
58
- const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials(jwt, primaryChain);
57
+ const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials(jwt, [primaryChain]);
59
58
  if (!embeddedWalletVerifiedCredential) {
60
59
  throw new DynamicError('EmbeddedWalletVerifiedCredential not found');
61
60
  }
@@ -69,4 +68,4 @@ const createEmbeddedWalletWithPasskey = (_a) => __awaiter(void 0, [_a], void 0,
69
68
  };
70
69
  });
71
70
 
72
- export { createEmbeddedWalletWithPasskey };
71
+ export { createEmbeddedWalletRequest };
@@ -0,0 +1 @@
1
+ export { createEmbeddedWalletRequest } from './createEmbeddedWalletRequest';
@@ -1,4 +1,3 @@
1
- export * from './createEmbeddedWalletWithPasskey';
1
+ export * from './createEmbeddedWalletRequest';
2
2
  export * from './findPasskeyEmailWalletConnector';
3
- export * from './createPregeneratedWallet';
4
3
  export * from './findEmailOtpWalletConnector';
@@ -156,7 +156,7 @@ const completePasskeyRecovery = (_k) => _tslib.__awaiter(void 0, [_k], void 0, f
156
156
  throw new utils.DynamicError('Invalid token!');
157
157
  }
158
158
  const chain = connector.connectedChain;
159
- const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials.findEmbeddedWalletFromVerifiedCredentials(jwt, chain);
159
+ const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials.findEmbeddedWalletFromVerifiedCredentials(jwt, [chain]);
160
160
  if (!embeddedWalletVerifiedCredential) {
161
161
  throw new utils.DynamicError('EmbeddedWalletVerifiedCredential not found');
162
162
  }
@@ -212,7 +212,7 @@ const addNewPasskeyAuthenticator = (_p) => _tslib.__awaiter(void 0, [_p], void 0
212
212
  throw new utils.DynamicError('Invalid token!');
213
213
  }
214
214
  const chain = connector.connectedChain;
215
- const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials.findEmbeddedWalletFromVerifiedCredentials(jwt, chain);
215
+ const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials.findEmbeddedWalletFromVerifiedCredentials(jwt, [chain]);
216
216
  if (!embeddedWalletVerifiedCredential) {
217
217
  throw new utils.DynamicError('EmbeddedWalletVerifiedCredential not found');
218
218
  }
@@ -152,7 +152,7 @@ const completePasskeyRecovery = (_k) => __awaiter(void 0, [_k], void 0, function
152
152
  throw new DynamicError('Invalid token!');
153
153
  }
154
154
  const chain = connector.connectedChain;
155
- const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials(jwt, chain);
155
+ const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials(jwt, [chain]);
156
156
  if (!embeddedWalletVerifiedCredential) {
157
157
  throw new DynamicError('EmbeddedWalletVerifiedCredential not found');
158
158
  }
@@ -208,7 +208,7 @@ const addNewPasskeyAuthenticator = (_p) => __awaiter(void 0, [_p], void 0, funct
208
208
  throw new DynamicError('Invalid token!');
209
209
  }
210
210
  const chain = connector.connectedChain;
211
- const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials(jwt, chain);
211
+ const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials(jwt, [chain]);
212
212
  if (!embeddedWalletVerifiedCredential) {
213
213
  throw new DynamicError('EmbeddedWalletVerifiedCredential not found');
214
214
  }
@@ -21,7 +21,7 @@ require('@dynamic-labs/sdk-api-core');
21
21
  require('../../shared/logger.cjs');
22
22
  require('@dynamic-labs/iconic');
23
23
  require('@dynamic-labs/wallet-connector-core');
24
- var ViewContext = require('../../context/ViewContext/ViewContext.cjs');
24
+ require('../../context/ViewContext/ViewContext.cjs');
25
25
  var localStorage = require('../../shared/utils/classes/storage/localStorage.cjs');
26
26
  require('@dynamic-labs/utils');
27
27
  require('../../shared/consts/index.cjs');
@@ -83,7 +83,6 @@ require('../TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
83
83
  require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
84
84
  var useInternalDynamicContext = require('../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
85
85
  var index = require('../../utils/functions/walletFilters/index.cjs');
86
- var isUserLinkingWallet = require('../../shared/utils/functions/isUserLinkingWallet/isUserLinkingWallet.cjs');
87
86
  var SearchNotFoundMessage = require('./SearchNotFoundMessage/SearchNotFoundMessage.cjs');
88
87
  var WalletListGridTabs = require('./WalletListGridTabs/WalletListGridTabs.cjs');
89
88
  var useTabState = require('./hooks/useTabState.cjs');
@@ -93,10 +92,8 @@ var getEffectiveRecommendedWallets = require('./utils/getEffectiveRecommendedWal
93
92
  localStorage.LocalStorage.setToLS(localStorage$1.WALLET_PICKER_SEARCH_KEY, '');
94
93
  const WalletList = ({ isWalletConnectList = false, }) => {
95
94
  var _a;
96
- const { walletsFilter, signWithEmailWalletName, walletConnectorOptions, projectSettings, defaultNumberOfWalletsToShow, bridgeChainsToConnect, connectedWallets, authMode, multiWallet, user, recommendedWallets, } = useInternalDynamicContext.useInternalDynamicContext();
97
- const { view } = ViewContext.useViewContext();
95
+ const { walletsFilter, signWithEmailWalletName, walletConnectorOptions, projectSettings, defaultNumberOfWalletsToShow, bridgeChainsToConnect, connectedWallets, authMode, multiWallet, recommendedWallets, } = useInternalDynamicContext.useInternalDynamicContext();
98
96
  const { selectedTabIndex, setSelectedTabIndex, selectedTabSettings, tabsItems, } = useTabState.useTabState();
99
- const isLinkingWallet = isUserLinkingWallet.isUserLinkingWallet(user, view.type, false);
100
97
  const { walletBook: walletBook$1 } = walletBook.useWalletBookContext();
101
98
  const { error } = ErrorContext.useErrorContext();
102
99
  const { showDefaultFooter } = useAuthLayoutChecks.useAuthLayoutChecks();
@@ -126,7 +123,7 @@ const WalletList = ({ isWalletConnectList = false, }) => {
126
123
  const isSearchEnabled = Boolean(filterValue) ||
127
124
  (numberOfWallets > defaultNumberOfWalletsToShow &&
128
125
  walletsList.length !== numberOfWallets);
129
- const isTabsEnabled = Boolean((tabsItems === null || tabsItems === void 0 ? void 0 : tabsItems.length) && !isLinkingWallet);
126
+ const isTabsEnabled = Boolean(tabsItems === null || tabsItems === void 0 ? void 0 : tabsItems.length);
130
127
  const walletListScrollRef = React.useRef(null);
131
128
  /* istanbul ignore next */
132
129
  const handleScroll = () => {
@@ -17,7 +17,7 @@ import '@dynamic-labs/sdk-api-core';
17
17
  import '../../shared/logger.js';
18
18
  import '@dynamic-labs/iconic';
19
19
  import '@dynamic-labs/wallet-connector-core';
20
- import { useViewContext } from '../../context/ViewContext/ViewContext.js';
20
+ import '../../context/ViewContext/ViewContext.js';
21
21
  import { LocalStorage } from '../../shared/utils/classes/storage/localStorage.js';
22
22
  import '@dynamic-labs/utils';
23
23
  import '../../shared/consts/index.js';
@@ -79,7 +79,6 @@ import '../TransactionConfirmationView/helpers/transactionErrorMessage.js';
79
79
  import '../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
80
80
  import { useInternalDynamicContext } from '../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
81
81
  import { FilterBridgeChainsName } from '../../utils/functions/walletFilters/index.js';
82
- import { isUserLinkingWallet } from '../../shared/utils/functions/isUserLinkingWallet/isUserLinkingWallet.js';
83
82
  import { SearchNotFoundMessage } from './SearchNotFoundMessage/SearchNotFoundMessage.js';
84
83
  import { WalletListGridTabs } from './WalletListGridTabs/WalletListGridTabs.js';
85
84
  import { useTabState } from './hooks/useTabState.js';
@@ -89,10 +88,8 @@ import { getEffectiveRecommendedWallets } from './utils/getEffectiveRecommendedW
89
88
  LocalStorage.setToLS(WALLET_PICKER_SEARCH_KEY, '');
90
89
  const WalletList = ({ isWalletConnectList = false, }) => {
91
90
  var _a;
92
- const { walletsFilter, signWithEmailWalletName, walletConnectorOptions, projectSettings, defaultNumberOfWalletsToShow, bridgeChainsToConnect, connectedWallets, authMode, multiWallet, user, recommendedWallets, } = useInternalDynamicContext();
93
- const { view } = useViewContext();
91
+ const { walletsFilter, signWithEmailWalletName, walletConnectorOptions, projectSettings, defaultNumberOfWalletsToShow, bridgeChainsToConnect, connectedWallets, authMode, multiWallet, recommendedWallets, } = useInternalDynamicContext();
94
92
  const { selectedTabIndex, setSelectedTabIndex, selectedTabSettings, tabsItems, } = useTabState();
95
- const isLinkingWallet = isUserLinkingWallet(user, view.type, false);
96
93
  const { walletBook } = useWalletBookContext();
97
94
  const { error } = useErrorContext();
98
95
  const { showDefaultFooter } = useAuthLayoutChecks();
@@ -122,7 +119,7 @@ const WalletList = ({ isWalletConnectList = false, }) => {
122
119
  const isSearchEnabled = Boolean(filterValue) ||
123
120
  (numberOfWallets > defaultNumberOfWalletsToShow &&
124
121
  walletsList.length !== numberOfWallets);
125
- const isTabsEnabled = Boolean((tabsItems === null || tabsItems === void 0 ? void 0 : tabsItems.length) && !isLinkingWallet);
122
+ const isTabsEnabled = Boolean(tabsItems === null || tabsItems === void 0 ? void 0 : tabsItems.length);
126
123
  const walletListScrollRef = useRef(null);
127
124
  /* istanbul ignore next */
128
125
  const handleScroll = () => {
@@ -5,9 +5,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var _tslib = require('../../../../_virtual/_tslib.cjs');
7
7
  var jsxRuntime = require('react/jsx-runtime');
8
- var React = require('react');
9
8
  var reactI18next = require('react-i18next');
10
9
  var walletBook = require('@dynamic-labs/wallet-book');
10
+ require('react');
11
11
  require('../../events/dynamicEvents.cjs');
12
12
  require('@dynamic-labs/utils');
13
13
  require('../../context/DynamicContext/DynamicContext.cjs');
@@ -83,14 +83,8 @@ require('../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection
83
83
 
84
84
  const iconSize = 64;
85
85
  const WalletLockedView = () => {
86
- const { handleLogOut, primaryWallet, setShowAuthFlow, appName, authToken } = useInternalDynamicContext.useInternalDynamicContext();
86
+ const { handleLogOut, primaryWallet, setShowAuthFlow, appName } = useInternalDynamicContext.useInternalDynamicContext();
87
87
  const { t } = reactI18next.useTranslation();
88
- React.useEffect(() => {
89
- // when there is no valid session, we want to log user out
90
- if (!authToken) {
91
- handleLogOut();
92
- }
93
- }, [authToken, handleLogOut]);
94
88
  if (!primaryWallet) {
95
89
  return null;
96
90
  }
@@ -1,9 +1,9 @@
1
1
  'use client'
2
2
  import { __awaiter } from '../../../../_virtual/_tslib.js';
3
3
  import { jsx, jsxs } from 'react/jsx-runtime';
4
- import { useEffect } from 'react';
5
4
  import { useTranslation } from 'react-i18next';
6
5
  import { WalletIcon } from '@dynamic-labs/wallet-book';
6
+ import 'react';
7
7
  import '../../events/dynamicEvents.js';
8
8
  import '@dynamic-labs/utils';
9
9
  import '../../context/DynamicContext/DynamicContext.js';
@@ -79,14 +79,8 @@ import '../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.
79
79
 
80
80
  const iconSize = 64;
81
81
  const WalletLockedView = () => {
82
- const { handleLogOut, primaryWallet, setShowAuthFlow, appName, authToken } = useInternalDynamicContext();
82
+ const { handleLogOut, primaryWallet, setShowAuthFlow, appName } = useInternalDynamicContext();
83
83
  const { t } = useTranslation();
84
- useEffect(() => {
85
- // when there is no valid session, we want to log user out
86
- if (!authToken) {
87
- handleLogOut();
88
- }
89
- }, [authToken, handleLogOut]);
90
84
  if (!primaryWallet) {
91
85
  return null;
92
86
  }
@@ -8,7 +8,7 @@ export declare const viewToComponentMap: {
8
8
  'chainalysis-blocked-wallet': () => JSX.Element;
9
9
  'collect-user-data': () => JSX.Element | null;
10
10
  'collect-user-data-login-no-wallet': import("react").FC<{
11
- userIdentification: keyof import("@dynamic-labs/sdk-api-core").UserFields | "chain" | "ens" | "environmentId" | "isAuthenticatedWithAWallet" | "lastVerifiedCredentialId" | "lists" | "newUser" | "sessionId" | "userId" | "verifiedCredentials" | "wallet" | "scope";
11
+ userIdentification: keyof import("@dynamic-labs/sdk-api-core").UserFields | "chain" | "ens" | "wallet" | "isAuthenticatedWithAWallet" | "environmentId" | "lastVerifiedCredentialId" | "lists" | "newUser" | "sessionId" | "userId" | "verifiedCredentials" | "scope";
12
12
  userIdentificationOverride?: string | undefined;
13
13
  }>;
14
14
  'create-password-view': import("react").FC<import("./CreatePasswordView/CreatePasswordView").CreatePasswordViewProps>;
@@ -33,7 +33,9 @@ export declare const viewToComponentMap: {
33
33
  'network-not-supported-manual': import("react").FC;
34
34
  'no-access': () => JSX.Element;
35
35
  'no-qr-not-installed': () => JSX.Element | null;
36
- 'passkey-intro': import("react").FC;
36
+ 'passkey-intro': import("react").FC<{
37
+ chains?: import("@dynamic-labs/sdk-api-core").ChainEnum[] | undefined;
38
+ }>;
37
39
  'passkey-new-domain-detected': import("react").FC;
38
40
  'passkey-recovery-add-email': import("react").FC<import("./Passkey/PasskeyRecovery/AddRecoveryEmail/AddRecoveryEmail").AddRecoveryEmailProps>;
39
41
  'passkey-recovery-bundle': import("react").FC<import("./Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery").PasskeyBundleValidationProps>;
@@ -79,7 +79,8 @@ require('../../../../views/LoginView/sections/PhoneNumberSignInSection/PhoneNumb
79
79
 
80
80
  const PromptModal = ({ children, isShown = true, onClose, }) => {
81
81
  const elementId = 'dynamic-multi-wallet-prompt-modal';
82
- useElementById.useElementById(elementId);
82
+ const { createRootElement } = useElementById.useElementById();
83
+ createRootElement(elementId);
83
84
  return (jsxRuntime.jsx(Portal.Portal, { handleClose: (e) => onClose === null || onClose === void 0 ? void 0 : onClose(e), isShown: isShown, zIndex: index.authModalZIndex, withBackdrop: true, elementId: elementId, children: jsxRuntime.jsx(Modal.Modal, { children: jsxRuntime.jsxs(ModalCard.ModalCard, { children: [onClose && (jsxRuntime.jsx("div", { className: 'prompt-modal__header', children: jsxRuntime.jsx(IconButton.IconButton, { className: 'prompt-modal__close-button', onClick: (e) => onClose(e), type: 'button', "data-testid": 'close-button', children: jsxRuntime.jsx(close.ReactComponent, {}) }) })), jsxRuntime.jsx("div", { className: 'prompt-modal', children: children })] }) }) }));
84
85
  };
85
86