@dynamic-labs/sdk-react-core 1.0.4 → 1.0.6

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 (110) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +10 -10
  5. package/src/index.cjs +1 -1
  6. package/src/index.js +1 -1
  7. package/src/lib/Main.cjs +25 -10
  8. package/src/lib/Main.js +25 -10
  9. package/src/lib/components/IconWithSpinner/IconWithSpinner.cjs +1 -1
  10. package/src/lib/components/IconWithSpinner/IconWithSpinner.js +1 -1
  11. package/src/lib/components/IconWithSpinner/Spinner/Spinner.cjs +1 -1
  12. package/src/lib/components/IconWithSpinner/Spinner/Spinner.js +1 -1
  13. package/src/lib/components/IconWithStatus/IconWithStatus.cjs +1 -1
  14. package/src/lib/components/IconWithStatus/IconWithStatus.js +1 -1
  15. package/src/lib/components/NetworkPicker/components/EvmNetworkControl/EvmNetworkControl.cjs +4 -1
  16. package/src/lib/components/NetworkPicker/components/EvmNetworkControl/EvmNetworkControl.js +4 -1
  17. package/src/lib/components/SendBalanceForm/SendBalanceForm.cjs +1 -1
  18. package/src/lib/components/SendBalanceForm/SendBalanceForm.js +1 -1
  19. package/src/lib/components/UserProfileForm/UserProfileForm.cjs +1 -1
  20. package/src/lib/components/UserProfileForm/UserProfileForm.js +1 -1
  21. package/src/lib/context/DynamicContext/DynamicContext.cjs +2 -0
  22. package/src/lib/context/DynamicContext/DynamicContext.js +2 -0
  23. package/src/lib/context/DynamicContext/hooks/useEmailLoginState/useEmailLoginState.cjs +1 -1
  24. package/src/lib/context/DynamicContext/hooks/useEmailLoginState/useEmailLoginState.js +1 -1
  25. package/src/lib/layout/DynamicAuthLayout/DefaultFooter/DefaultFooter.cjs +12 -0
  26. package/src/lib/layout/DynamicAuthLayout/DefaultFooter/DefaultFooter.d.ts +6 -0
  27. package/src/lib/layout/DynamicAuthLayout/DefaultFooter/DefaultFooter.js +8 -0
  28. package/src/lib/layout/DynamicAuthLayout/DefaultFooter/index.d.ts +1 -0
  29. package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.cjs +1 -3
  30. package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.js +1 -3
  31. package/src/lib/shared/utils/functions/isUserLinkingWallet/isUserLinkingWallet.cjs +1 -2
  32. package/src/lib/shared/utils/functions/isUserLinkingWallet/isUserLinkingWallet.js +1 -2
  33. package/src/lib/styles/index.shadow.cjs +1 -1
  34. package/src/lib/styles/index.shadow.js +1 -1
  35. package/src/lib/utils/functions/getWalletIdentifier/getWalletIdentifier.cjs +7 -0
  36. package/src/lib/utils/functions/getWalletIdentifier/getWalletIdentifier.d.ts +2 -0
  37. package/src/lib/utils/functions/getWalletIdentifier/getWalletIdentifier.js +3 -0
  38. package/src/lib/utils/functions/getWalletIdentifier/index.d.ts +1 -0
  39. package/src/lib/utils/functions/index.d.ts +5 -3
  40. package/src/lib/utils/hooks/authenticationHooks/useEmailVerificationRequest/useEmailVerificationRequest.cjs +1 -28
  41. package/src/lib/utils/hooks/authenticationHooks/useEmailVerificationRequest/useEmailVerificationRequest.js +1 -28
  42. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +3 -2
  43. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +3 -2
  44. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.cjs +1 -1
  45. package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.js +1 -1
  46. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs +1 -1
  47. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js +1 -1
  48. package/src/lib/utils/hooks/useEmailProvider/useEmailProvider.cjs +6 -5
  49. package/src/lib/utils/hooks/useEmailProvider/useEmailProvider.d.ts +2 -0
  50. package/src/lib/utils/hooks/useEmailProvider/useEmailProvider.js +6 -6
  51. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +0 -3
  52. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +0 -3
  53. package/src/lib/utils/hooks/useHandleUnlinkWallet/useHandleUnlinkWallet.cjs +7 -1
  54. package/src/lib/utils/hooks/useHandleUnlinkWallet/useHandleUnlinkWallet.d.ts +4 -2
  55. package/src/lib/utils/hooks/useHandleUnlinkWallet/useHandleUnlinkWallet.js +7 -1
  56. package/src/lib/utils/hooks/useKYCFlag/useKYCFlag.cjs +1 -1
  57. package/src/lib/utils/hooks/useKYCFlag/useKYCFlag.js +1 -1
  58. package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.cjs +1 -1
  59. package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.js +1 -1
  60. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.cjs +1 -1
  61. package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.js +1 -1
  62. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +15 -21
  63. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +15 -21
  64. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs +4 -26
  65. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js +4 -26
  66. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +2 -1
  67. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +2 -1
  68. package/src/lib/utils/hooks/useWalletConnectorOptions/utils/verifyMagicIsSetup/verifyMagicIsSetup.cjs +1 -1
  69. package/src/lib/utils/hooks/useWalletConnectorOptions/utils/verifyMagicIsSetup/verifyMagicIsSetup.js +1 -1
  70. package/src/lib/utils/hooks/useWalletConnectorOptions/utils/verifyZeroDevIsSetup/verifyZeroDevIsSetup.cjs +1 -1
  71. package/src/lib/utils/hooks/useWalletConnectorOptions/utils/verifyZeroDevIsSetup/verifyZeroDevIsSetup.js +1 -1
  72. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.cjs +7 -3
  73. package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.js +7 -3
  74. package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.cjs +1 -1
  75. package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.js +1 -1
  76. package/src/lib/utils/hooks/useWalletsConnectionState/useWalletsConnectionState.cjs +10 -6
  77. package/src/lib/utils/hooks/useWalletsConnectionState/useWalletsConnectionState.js +10 -6
  78. package/src/lib/views/EmailVerification/EmailVerification.cjs +23 -34
  79. package/src/lib/views/EmailVerification/EmailVerification.js +23 -34
  80. package/src/lib/views/LoginView/LoginView.cjs +6 -1
  81. package/src/lib/views/LoginView/LoginView.js +6 -1
  82. package/src/lib/views/LoginView/sections/EmailSignInSection/LoginEmailForm.cjs +3 -4
  83. package/src/lib/views/LoginView/sections/EmailSignInSection/LoginEmailForm.js +3 -4
  84. package/src/lib/views/LoginView/sections/SocialSignInSection/SocialSignInSection.cjs +1 -1
  85. package/src/lib/views/LoginView/sections/SocialSignInSection/SocialSignInSection.js +1 -1
  86. package/src/lib/views/LoginView/useLoginView.cjs +1 -1
  87. package/src/lib/views/LoginView/useLoginView.js +1 -1
  88. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.cjs +1 -1
  89. package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.js +1 -1
  90. package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.cjs +1 -1
  91. package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.js +1 -1
  92. package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.cjs +2 -2
  93. package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.js +2 -2
  94. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.cjs +1 -1
  95. package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.js +1 -1
  96. package/src/lib/views/Passkey/utils/findEmailOtpWalletConnector/findEmailOtpWalletConnector.cjs +17 -0
  97. package/src/lib/views/Passkey/utils/findEmailOtpWalletConnector/findEmailOtpWalletConnector.d.ts +3 -0
  98. package/src/lib/views/Passkey/utils/findEmailOtpWalletConnector/findEmailOtpWalletConnector.js +13 -0
  99. package/src/lib/views/Passkey/utils/findEmailOtpWalletConnector/index.d.ts +1 -0
  100. package/src/lib/views/Passkey/utils/index.d.ts +1 -0
  101. package/src/lib/views/QrCodeView/QrCodeView.cjs +1 -1
  102. package/src/lib/views/QrCodeView/QrCodeView.js +1 -1
  103. package/src/lib/views/WalletList/WalletList.cjs +6 -7
  104. package/src/lib/views/WalletList/WalletList.js +6 -7
  105. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +2 -2
  106. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +2 -2
  107. package/src/lib/widgets/DynamicWidget/components/WalletIconWithStatus/WalletIconWithStatus.cjs +1 -1
  108. package/src/lib/widgets/DynamicWidget/components/WalletIconWithStatus/WalletIconWithStatus.js +1 -1
  109. package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.cjs +1 -6
  110. package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.js +1 -6
@@ -25,8 +25,6 @@ require('../../../../context/CaptchaContext/CaptchaContext.cjs');
25
25
  require('../../../../context/ErrorContext/ErrorContext.cjs');
26
26
  require('@dynamic-labs/multi-wallet');
27
27
  require('@dynamic-labs/sdk-api');
28
- var isTurnkeyEnabled = require('../../../functions/isTurnkeyEnabled/isTurnkeyEnabled.cjs');
29
- var index = require('../../../functions/storeAuthToken/index.cjs');
30
28
  require('../../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
31
29
  require('../../../../context/AccountExistsContext/AccountExistsContext.cjs');
32
30
  var useEmailVerificationRequest = require('../../authenticationHooks/useEmailVerificationRequest/useEmailVerificationRequest.cjs');
@@ -56,14 +54,13 @@ const userFieldsSchema = yup.object().shape({
56
54
  username: yup.string(),
57
55
  });
58
56
  const useUpdateUser = (validationSchemaStripUnknown) => {
59
- const { authToken, onboardingOnlyJwt, environmentId, projectSettings, primaryWallet, } = useInternalDynamicContext.useInternalDynamicContext();
60
- const isTurnkeyProviderEnabled = isTurnkeyEnabled.isTurnkeyEnabled(projectSettings);
57
+ const { authToken, onboardingOnlyJwt, environmentId } = useInternalDynamicContext.useInternalDynamicContext();
61
58
  const jwtToken = onboardingOnlyJwt || authToken;
62
59
  const { setVerificationUUID, setEmail } = EmailVerificationContext.useEmailVerificationContext();
63
60
  const { verifyEmail } = useEmailVerificationRequest.useEmailVerificationRequest();
64
61
  const { updateUserProfileByJWT } = useUpdateUserProfileByJWTCallback.useUpdateUserProfileByJWTCallback();
65
62
  return React.useCallback((userFields, userEnvironmentId) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
66
- var _a, _b, _c, _d;
63
+ var _a, _b, _c;
67
64
  // `stripUnknown: true` will automatically strip out any values in the metadata object
68
65
  // so we need to pull out the metadata object here and then re-add it after stripping unknown fields
69
66
  const { metadata } = userFields;
@@ -75,25 +72,6 @@ const useUpdateUser = (validationSchemaStripUnknown) => {
75
72
  const decodedJwt = decodeJwt.decodeJwt(updateUserProfileResponse.jwt);
76
73
  const missingFields = (_a = decodedJwt === null || decodedJwt === void 0 ? void 0 : decodedJwt.missingFields) !== null && _a !== void 0 ? _a : [];
77
74
  const _isEmailVerificationRequired = isEmailVerificationRequired.isEmailVerificationRequired(updateUserProfileResponse);
78
- // This is to handle properly the embedded wallet creation.
79
- // In that case we shouldn't create a user. Only store the JWT in the localstorage
80
- // The user will be created after generating the wallet.
81
- // This should be called only when:
82
- // Turnkey is enabled
83
- // automaticEmbeddedWalletCreation is set to true
84
- // there is no emailVerificationRequired -> it's already verified
85
- // there is no primaryWallet -> it means that the user is already logged in
86
- if (isTurnkeyProviderEnabled &&
87
- ((_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _b === void 0 ? void 0 : _b.automaticEmbeddedWalletCreation) &&
88
- !_isEmailVerificationRequired &&
89
- !primaryWallet) {
90
- index.storeAuthToken(updateUserProfileResponse.jwt);
91
- return {
92
- isEmailVerificationRequired: false,
93
- missingFields,
94
- updateUserProfileResponse,
95
- };
96
- }
97
75
  if (!_isEmailVerificationRequired) {
98
76
  // If email verification is not needed then we can update the user profile immediately.
99
77
  yield updateUserProfileByJWT(updateUserProfileResponse.jwt);
@@ -104,8 +82,8 @@ const useUpdateUser = (validationSchemaStripUnknown) => {
104
82
  };
105
83
  }
106
84
  // We update EmailContext to use this information in the Email Verification view
107
- setEmail((_c = updateUserProfileResponse.emailVerification) === null || _c === void 0 ? void 0 : _c.email);
108
- setVerificationUUID((_d = updateUserProfileResponse.emailVerification) === null || _d === void 0 ? void 0 : _d.verificationUUID);
85
+ setEmail((_b = updateUserProfileResponse.emailVerification) === null || _b === void 0 ? void 0 : _b.email);
86
+ setVerificationUUID((_c = updateUserProfileResponse.emailVerification) === null || _c === void 0 ? void 0 : _c.verificationUUID);
109
87
  // DYN-2046 - Customers have the opportunity to programmatically use our email verification and profile editing.
110
88
  // VerifyEmailFN was scoped to bypass the problem with memoization of the state at the beginning of Promise.
111
89
  // setEmail and setVerificationUUID in the above lines will are not visible in this promise.
@@ -21,8 +21,6 @@ import '../../../../context/CaptchaContext/CaptchaContext.js';
21
21
  import '../../../../context/ErrorContext/ErrorContext.js';
22
22
  import '@dynamic-labs/multi-wallet';
23
23
  import '@dynamic-labs/sdk-api';
24
- import { isTurnkeyEnabled } from '../../../functions/isTurnkeyEnabled/isTurnkeyEnabled.js';
25
- import { storeAuthToken } from '../../../functions/storeAuthToken/index.js';
26
24
  import '../../../../context/AccessDeniedContext/AccessDeniedContext.js';
27
25
  import '../../../../context/AccountExistsContext/AccountExistsContext.js';
28
26
  import { useEmailVerificationRequest } from '../../authenticationHooks/useEmailVerificationRequest/useEmailVerificationRequest.js';
@@ -52,14 +50,13 @@ const userFieldsSchema = object().shape({
52
50
  username: string(),
53
51
  });
54
52
  const useUpdateUser = (validationSchemaStripUnknown) => {
55
- const { authToken, onboardingOnlyJwt, environmentId, projectSettings, primaryWallet, } = useInternalDynamicContext();
56
- const isTurnkeyProviderEnabled = isTurnkeyEnabled(projectSettings);
53
+ const { authToken, onboardingOnlyJwt, environmentId } = useInternalDynamicContext();
57
54
  const jwtToken = onboardingOnlyJwt || authToken;
58
55
  const { setVerificationUUID, setEmail } = useEmailVerificationContext();
59
56
  const { verifyEmail } = useEmailVerificationRequest();
60
57
  const { updateUserProfileByJWT } = useUpdateUserProfileByJWTCallback();
61
58
  return useCallback((userFields, userEnvironmentId) => __awaiter(void 0, void 0, void 0, function* () {
62
- var _a, _b, _c, _d;
59
+ var _a, _b, _c;
63
60
  // `stripUnknown: true` will automatically strip out any values in the metadata object
64
61
  // so we need to pull out the metadata object here and then re-add it after stripping unknown fields
65
62
  const { metadata } = userFields;
@@ -71,25 +68,6 @@ const useUpdateUser = (validationSchemaStripUnknown) => {
71
68
  const decodedJwt = decodeJwt(updateUserProfileResponse.jwt);
72
69
  const missingFields = (_a = decodedJwt === null || decodedJwt === void 0 ? void 0 : decodedJwt.missingFields) !== null && _a !== void 0 ? _a : [];
73
70
  const _isEmailVerificationRequired = isEmailVerificationRequired(updateUserProfileResponse);
74
- // This is to handle properly the embedded wallet creation.
75
- // In that case we shouldn't create a user. Only store the JWT in the localstorage
76
- // The user will be created after generating the wallet.
77
- // This should be called only when:
78
- // Turnkey is enabled
79
- // automaticEmbeddedWalletCreation is set to true
80
- // there is no emailVerificationRequired -> it's already verified
81
- // there is no primaryWallet -> it means that the user is already logged in
82
- if (isTurnkeyProviderEnabled &&
83
- ((_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _b === void 0 ? void 0 : _b.automaticEmbeddedWalletCreation) &&
84
- !_isEmailVerificationRequired &&
85
- !primaryWallet) {
86
- storeAuthToken(updateUserProfileResponse.jwt);
87
- return {
88
- isEmailVerificationRequired: false,
89
- missingFields,
90
- updateUserProfileResponse,
91
- };
92
- }
93
71
  if (!_isEmailVerificationRequired) {
94
72
  // If email verification is not needed then we can update the user profile immediately.
95
73
  yield updateUserProfileByJWT(updateUserProfileResponse.jwt);
@@ -100,8 +78,8 @@ const useUpdateUser = (validationSchemaStripUnknown) => {
100
78
  };
101
79
  }
102
80
  // We update EmailContext to use this information in the Email Verification view
103
- setEmail((_c = updateUserProfileResponse.emailVerification) === null || _c === void 0 ? void 0 : _c.email);
104
- setVerificationUUID((_d = updateUserProfileResponse.emailVerification) === null || _d === void 0 ? void 0 : _d.verificationUUID);
81
+ setEmail((_b = updateUserProfileResponse.emailVerification) === null || _b === void 0 ? void 0 : _b.email);
82
+ setVerificationUUID((_c = updateUserProfileResponse.emailVerification) === null || _c === void 0 ? void 0 : _c.verificationUUID);
105
83
  // DYN-2046 - Customers have the opportunity to programmatically use our email verification and profile editing.
106
84
  // VerifyEmailFN was scoped to bypass the problem with memoization of the state at the beginning of Promise.
107
85
  // setEmail and setVerificationUUID in the above lines will are not visible in this promise.
@@ -38,7 +38,7 @@ const useVerifyWallet = ({ consumeNonce, displaySiweStatement, environmentId, pr
38
38
  const { setExistentAccountData } = AccountExistsContext.useAccountExistsContext();
39
39
  const { setView, goToInitialView } = ViewContext.useViewContext();
40
40
  const { setErrorMessage, setError } = ErrorContext.useErrorContext();
41
- const { setUser, multiWalletWidgetState, debugError, multiWallet: multiWalletEnabled, appName, primaryWalletId, setCallback, setShowAuthFlow, setPrimaryWalletId, siweStatement, connectedWallets, authMode, setOnboardingOnlyJwt, authToken, setAuthMode, removeConnectedWalletsInfo, setIsVerificationInProgress, eventsCallbacks, primaryWallet, } = useInternalDynamicContext.useInternalDynamicContext();
41
+ const { setUser, multiWalletWidgetState, debugError, multiWallet: multiWalletEnabled, appName, primaryWalletId, setCallback, setShowAuthFlow, setPrimaryWalletId, siweStatement, connectedWallets, authMode, setOnboardingOnlyJwt, authToken, setAuthMode, removeConnectedWalletsInfo, setIsVerificationInProgress, eventsCallbacks, primaryWallet, setMultiWalletWidgetState, } = useInternalDynamicContext.useInternalDynamicContext();
42
42
  // If the user is not already logged it means that we only need to verify
43
43
  // We need this boolean for the part of the logic where we already persisted a new authToken,
44
44
  // and need to distinguish between logic for verify or linking.
@@ -179,6 +179,7 @@ const useVerifyWallet = ({ consumeNonce, displaySiweStatement, environmentId, pr
179
179
  }
180
180
  index.storeAuthToken(Jwt);
181
181
  setOnboardingOnlyJwt(undefined);
182
+ setMultiWalletWidgetState('idle');
182
183
  setUser(user); // The user should only be set if no KYC is needed.
183
184
  setShowAuthFlow(false);
184
185
  /* istanbul ignore else */
@@ -34,7 +34,7 @@ const useVerifyWallet = ({ consumeNonce, displaySiweStatement, environmentId, pr
34
34
  const { setExistentAccountData } = useAccountExistsContext();
35
35
  const { setView, goToInitialView } = useViewContext();
36
36
  const { setErrorMessage, setError } = useErrorContext();
37
- const { setUser, multiWalletWidgetState, debugError, multiWallet: multiWalletEnabled, appName, primaryWalletId, setCallback, setShowAuthFlow, setPrimaryWalletId, siweStatement, connectedWallets, authMode, setOnboardingOnlyJwt, authToken, setAuthMode, removeConnectedWalletsInfo, setIsVerificationInProgress, eventsCallbacks, primaryWallet, } = useInternalDynamicContext();
37
+ const { setUser, multiWalletWidgetState, debugError, multiWallet: multiWalletEnabled, appName, primaryWalletId, setCallback, setShowAuthFlow, setPrimaryWalletId, siweStatement, connectedWallets, authMode, setOnboardingOnlyJwt, authToken, setAuthMode, removeConnectedWalletsInfo, setIsVerificationInProgress, eventsCallbacks, primaryWallet, setMultiWalletWidgetState, } = useInternalDynamicContext();
38
38
  // If the user is not already logged it means that we only need to verify
39
39
  // We need this boolean for the part of the logic where we already persisted a new authToken,
40
40
  // and need to distinguish between logic for verify or linking.
@@ -175,6 +175,7 @@ const useVerifyWallet = ({ consumeNonce, displaySiweStatement, environmentId, pr
175
175
  }
176
176
  storeAuthToken(Jwt);
177
177
  setOnboardingOnlyJwt(undefined);
178
+ setMultiWalletWidgetState('idle');
178
179
  setUser(user); // The user should only be set if no KYC is needed.
179
180
  setShowAuthFlow(false);
180
181
  /* istanbul ignore else */
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var sdkApi = require('@dynamic-labs/sdk-api');
6
+ require('@dynamic-labs/wallet-connector-core');
6
7
  require('../../../../../shared/logger.cjs');
7
8
  require('@dynamic-labs/iconic');
8
- require('@dynamic-labs/wallet-connector-core');
9
9
  require('react/jsx-runtime');
10
10
  require('../../../../../context/ViewContext/ViewContext.cjs');
11
11
  require('react');
@@ -1,7 +1,7 @@
1
1
  import { ProviderEnum } from '@dynamic-labs/sdk-api';
2
+ import '@dynamic-labs/wallet-connector-core';
2
3
  import '../../../../../shared/logger.js';
3
4
  import '@dynamic-labs/iconic';
4
- import '@dynamic-labs/wallet-connector-core';
5
5
  import 'react/jsx-runtime';
6
6
  import '../../../../../context/ViewContext/ViewContext.js';
7
7
  import 'react';
@@ -3,9 +3,9 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var sdkApi = require('@dynamic-labs/sdk-api');
6
+ require('@dynamic-labs/wallet-connector-core');
6
7
  require('../../../../../shared/logger.cjs');
7
8
  require('@dynamic-labs/iconic');
8
- require('@dynamic-labs/wallet-connector-core');
9
9
  require('react/jsx-runtime');
10
10
  require('../../../../../context/ViewContext/ViewContext.cjs');
11
11
  require('react');
@@ -1,7 +1,7 @@
1
1
  import { ProviderEnum } from '@dynamic-labs/sdk-api';
2
+ import '@dynamic-labs/wallet-connector-core';
2
3
  import '../../../../../shared/logger.js';
3
4
  import '@dynamic-labs/iconic';
4
- import '@dynamic-labs/wallet-connector-core';
5
5
  import 'react/jsx-runtime';
6
6
  import '../../../../../context/ViewContext/ViewContext.js';
7
7
  import 'react';
@@ -19,6 +19,8 @@ require('viem');
19
19
  require('../../../shared/consts/index.cjs');
20
20
  var isSameWalletName = require('../../functions/isSameWalletName/isSameWalletName.cjs');
21
21
  var useWalletsConnectionState = require('../useWalletsConnectionState/useWalletsConnectionState.cjs');
22
+ require('@dynamic-labs/multi-wallet');
23
+ var getWalletIdentifier = require('../../functions/getWalletIdentifier/getWalletIdentifier.cjs');
22
24
  var reconnectSocialWallet = require('./reconnectSocialWallet.cjs');
23
25
  var createLinkedWalletsFromWalletOptions = require('./utils/createLinkedWalletsFromWalletOptions/createLinkedWalletsFromWalletOptions.cjs');
24
26
  var updateUserWalletsFromLinkedWallets = require('./utils/updateUserWalletsFromLinkedWallets/updateUserWalletsFromLinkedWallets.cjs');
@@ -65,12 +67,14 @@ const useWalletConnectors = ({ authMode, authToken, connectedWallets, walletConn
65
67
  wallet.connector.initEventListener();
66
68
  }), [walletsBasedOnAuthMode]);
67
69
  const { connectedWalletMap, didConnectedStateLoad } = useWalletsConnectionState.useWalletsConnectionState(walletsBasedOnAuthMode);
68
- const wallets = React.useMemo(() => walletsBasedOnAuthMode.map((wallet) => (Object.assign(Object.assign({}, wallet), { connected: Boolean(connectedWalletMap[wallet.id]) }))), [connectedWalletMap, walletsBasedOnAuthMode]);
70
+ const wallets = React.useMemo(() => walletsBasedOnAuthMode.map((wallet) => (Object.assign(Object.assign({}, wallet), { connected: Boolean(connectedWalletMap[getWalletIdentifier.getWalletIdentifier(wallet)]) }))), [connectedWalletMap, walletsBasedOnAuthMode]);
69
71
  const { setUserWallets } = UserWalletsContext.useInternalUserWallets();
70
72
  // Keep userWallets in sync whenever linkedWallets changes
71
73
  React.useEffect(() => {
72
- setUserWallets((userWallets) => updateUserWalletsFromLinkedWallets.updateUserWalletsFromLinkedWallets(userWallets, wallets));
73
- }, [setUserWallets, wallets]);
74
+ setUserWallets((userWallets) => didConnectedStateLoad
75
+ ? updateUserWalletsFromLinkedWallets.updateUserWalletsFromLinkedWallets(userWallets, wallets)
76
+ : userWallets);
77
+ }, [didConnectedStateLoad, setUserWallets, wallets]);
74
78
  const primaryWallet = React.useMemo(() => { var _a; return (_a = wallets.find((wallet) => wallet.id === primaryWalletId)) !== null && _a !== void 0 ? _a : null; }, [primaryWalletId, wallets]);
75
79
  const secondaryWallets = React.useMemo(() => canHaveMultipleWalletsConnected
76
80
  ? wallets.filter((wallet) => wallet.id !== primaryWalletId)
@@ -15,6 +15,8 @@ import 'viem';
15
15
  import '../../../shared/consts/index.js';
16
16
  import { isSameWalletName } from '../../functions/isSameWalletName/isSameWalletName.js';
17
17
  import { useWalletsConnectionState } from '../useWalletsConnectionState/useWalletsConnectionState.js';
18
+ import '@dynamic-labs/multi-wallet';
19
+ import { getWalletIdentifier } from '../../functions/getWalletIdentifier/getWalletIdentifier.js';
18
20
  import { reconnectSocialWallet } from './reconnectSocialWallet.js';
19
21
  import { createLinkedWalletsFromWalletOptions } from './utils/createLinkedWalletsFromWalletOptions/createLinkedWalletsFromWalletOptions.js';
20
22
  import { updateUserWalletsFromLinkedWallets } from './utils/updateUserWalletsFromLinkedWallets/updateUserWalletsFromLinkedWallets.js';
@@ -61,12 +63,14 @@ const useWalletConnectors = ({ authMode, authToken, connectedWallets, walletConn
61
63
  wallet.connector.initEventListener();
62
64
  }), [walletsBasedOnAuthMode]);
63
65
  const { connectedWalletMap, didConnectedStateLoad } = useWalletsConnectionState(walletsBasedOnAuthMode);
64
- const wallets = useMemo(() => walletsBasedOnAuthMode.map((wallet) => (Object.assign(Object.assign({}, wallet), { connected: Boolean(connectedWalletMap[wallet.id]) }))), [connectedWalletMap, walletsBasedOnAuthMode]);
66
+ const wallets = useMemo(() => walletsBasedOnAuthMode.map((wallet) => (Object.assign(Object.assign({}, wallet), { connected: Boolean(connectedWalletMap[getWalletIdentifier(wallet)]) }))), [connectedWalletMap, walletsBasedOnAuthMode]);
65
67
  const { setUserWallets } = useInternalUserWallets();
66
68
  // Keep userWallets in sync whenever linkedWallets changes
67
69
  useEffect(() => {
68
- setUserWallets((userWallets) => updateUserWalletsFromLinkedWallets(userWallets, wallets));
69
- }, [setUserWallets, wallets]);
70
+ setUserWallets((userWallets) => didConnectedStateLoad
71
+ ? updateUserWalletsFromLinkedWallets(userWallets, wallets)
72
+ : userWallets);
73
+ }, [didConnectedStateLoad, setUserWallets, wallets]);
70
74
  const primaryWallet = useMemo(() => { var _a; return (_a = wallets.find((wallet) => wallet.id === primaryWalletId)) !== null && _a !== void 0 ? _a : null; }, [primaryWalletId, wallets]);
71
75
  const secondaryWallets = useMemo(() => canHaveMultipleWalletsConnected
72
76
  ? wallets.filter((wallet) => wallet.id !== primaryWalletId)
@@ -8,10 +8,10 @@ var useInternalDynamicContext = require('../../../context/DynamicContext/useInte
8
8
  var ErrorContext = require('../../../context/ErrorContext/ErrorContext.cjs');
9
9
  var MockContext = require('../../../context/MockContext/MockContext.cjs');
10
10
  var ViewContext = require('../../../context/ViewContext/ViewContext.cjs');
11
+ require('@dynamic-labs/wallet-connector-core');
11
12
  require('@dynamic-labs/sdk-api');
12
13
  require('../../../shared/logger.cjs');
13
14
  require('@dynamic-labs/iconic');
14
- require('@dynamic-labs/wallet-connector-core');
15
15
  require('react/jsx-runtime');
16
16
  require('react');
17
17
  require('@dynamic-labs/wallet-book');
@@ -4,10 +4,10 @@ import { useInternalDynamicContext } from '../../../context/DynamicContext/useIn
4
4
  import { useErrorContext } from '../../../context/ErrorContext/ErrorContext.js';
5
5
  import { useMockContext } from '../../../context/MockContext/MockContext.js';
6
6
  import { useViewContext } from '../../../context/ViewContext/ViewContext.js';
7
+ import '@dynamic-labs/wallet-connector-core';
7
8
  import '@dynamic-labs/sdk-api';
8
9
  import '../../../shared/logger.js';
9
10
  import '@dynamic-labs/iconic';
10
- import '@dynamic-labs/wallet-connector-core';
11
11
  import 'react/jsx-runtime';
12
12
  import 'react';
13
13
  import '@dynamic-labs/wallet-book';
@@ -16,15 +16,18 @@ require('../../../shared/utils/classes/storage/localStorage.cjs');
16
16
  require('viem');
17
17
  require('@dynamic-labs/utils');
18
18
  require('../../../shared/consts/index.cjs');
19
- var useWalletConnectorEvent = require('../useWalletConnectorEvent/useWalletConnectorEvent.cjs');
20
19
  require('@dynamic-labs/multi-wallet');
20
+ var getWalletIdentifier = require('../../functions/getWalletIdentifier/getWalletIdentifier.cjs');
21
21
  var isWalletConnected = require('../../functions/isWalletConnected/isWalletConnected.cjs');
22
22
  var useEventListener = require('../useEventListener/useEventListener.cjs');
23
+ var useWalletConnectorEvent = require('../useWalletConnectorEvent/useWalletConnectorEvent.cjs');
23
24
 
24
25
  const connectedWalletStateReducer = (state, connectedWalletsMap) => {
25
- const isConnectedWalletsMapEmpty = Object.values(connectedWalletsMap).length === 0;
26
- if (isConnectedWalletsMapEmpty && state.didLoad === false) {
27
- return state;
26
+ // When setting to empty, unset load flag
27
+ if (Object.values(connectedWalletsMap).length === 0) {
28
+ if (state.didLoad === false)
29
+ return state;
30
+ return Object.assign(Object.assign({}, state), { connectedWalletsMap, didLoad: false });
28
31
  }
29
32
  return Object.assign(Object.assign({}, state), { connectedWalletsMap, didLoad: true });
30
33
  };
@@ -33,13 +36,13 @@ const useWalletsConnectionState = (wallets) => {
33
36
  connectedWalletsMap: {},
34
37
  didLoad: false,
35
38
  });
36
- const refreshKey = wallets.map(({ id }) => id).join('-');
37
39
  const connectors = wallets.map(({ connector }) => connector);
38
40
  const lastCallTimestamp = React.useRef(0);
39
41
  const computeConnectedStateForWallets = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
40
42
  const connectedWalletsMap = {};
41
43
  yield Promise.all(wallets.map((wallet) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
42
- connectedWalletsMap[wallet.id] = yield isWalletConnected.isWalletConnected(wallet);
44
+ connectedWalletsMap[getWalletIdentifier.getWalletIdentifier(wallet)] =
45
+ yield isWalletConnected.isWalletConnected(wallet);
43
46
  })));
44
47
  setState(connectedWalletsMap);
45
48
  }), [wallets]);
@@ -60,6 +63,7 @@ const useWalletsConnectionState = (wallets) => {
60
63
  useWalletConnectorEvent.useWalletConnectorEvent(connectors, 'accountChange', handleOnEventUpdate);
61
64
  useWalletConnectorEvent.useWalletConnectorEvent(connectors, 'disconnect', handleOnEventUpdate);
62
65
  useWalletConnectorEvent.useWalletConnectorEvent(connectors, 'chainChange', handleOnEventUpdate);
66
+ const refreshKey = wallets.map(getWalletIdentifier.getWalletIdentifier).join('-');
63
67
  React.useEffect(() => {
64
68
  computeConnectedStateForWallets();
65
69
  },
@@ -12,15 +12,18 @@ import '../../../shared/utils/classes/storage/localStorage.js';
12
12
  import 'viem';
13
13
  import '@dynamic-labs/utils';
14
14
  import '../../../shared/consts/index.js';
15
- import { useWalletConnectorEvent } from '../useWalletConnectorEvent/useWalletConnectorEvent.js';
16
15
  import '@dynamic-labs/multi-wallet';
16
+ import { getWalletIdentifier } from '../../functions/getWalletIdentifier/getWalletIdentifier.js';
17
17
  import { isWalletConnected } from '../../functions/isWalletConnected/isWalletConnected.js';
18
18
  import { useEventListener } from '../useEventListener/useEventListener.js';
19
+ import { useWalletConnectorEvent } from '../useWalletConnectorEvent/useWalletConnectorEvent.js';
19
20
 
20
21
  const connectedWalletStateReducer = (state, connectedWalletsMap) => {
21
- const isConnectedWalletsMapEmpty = Object.values(connectedWalletsMap).length === 0;
22
- if (isConnectedWalletsMapEmpty && state.didLoad === false) {
23
- return state;
22
+ // When setting to empty, unset load flag
23
+ if (Object.values(connectedWalletsMap).length === 0) {
24
+ if (state.didLoad === false)
25
+ return state;
26
+ return Object.assign(Object.assign({}, state), { connectedWalletsMap, didLoad: false });
24
27
  }
25
28
  return Object.assign(Object.assign({}, state), { connectedWalletsMap, didLoad: true });
26
29
  };
@@ -29,13 +32,13 @@ const useWalletsConnectionState = (wallets) => {
29
32
  connectedWalletsMap: {},
30
33
  didLoad: false,
31
34
  });
32
- const refreshKey = wallets.map(({ id }) => id).join('-');
33
35
  const connectors = wallets.map(({ connector }) => connector);
34
36
  const lastCallTimestamp = useRef(0);
35
37
  const computeConnectedStateForWallets = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
36
38
  const connectedWalletsMap = {};
37
39
  yield Promise.all(wallets.map((wallet) => __awaiter(void 0, void 0, void 0, function* () {
38
- connectedWalletsMap[wallet.id] = yield isWalletConnected(wallet);
40
+ connectedWalletsMap[getWalletIdentifier(wallet)] =
41
+ yield isWalletConnected(wallet);
39
42
  })));
40
43
  setState(connectedWalletsMap);
41
44
  }), [wallets]);
@@ -56,6 +59,7 @@ const useWalletsConnectionState = (wallets) => {
56
59
  useWalletConnectorEvent(connectors, 'accountChange', handleOnEventUpdate);
57
60
  useWalletConnectorEvent(connectors, 'disconnect', handleOnEventUpdate);
58
61
  useWalletConnectorEvent(connectors, 'chainChange', handleOnEventUpdate);
62
+ const refreshKey = wallets.map(getWalletIdentifier).join('-');
59
63
  useEffect(() => {
60
64
  computeConnectedStateForWallets();
61
65
  },
@@ -27,8 +27,6 @@ var useEffectOnce = require('../../shared/utils/hooks/useEffectOnce/useEffectOnc
27
27
  require('../../shared/consts/index.cjs');
28
28
  require('@dynamic-labs/multi-wallet');
29
29
  require('@dynamic-labs/sdk-api');
30
- var isTurnkeyEnabled = require('../../utils/functions/isTurnkeyEnabled/isTurnkeyEnabled.cjs');
31
- var index = require('../../utils/functions/storeAuthToken/index.cjs');
32
30
  require('../../context/AccessDeniedContext/AccessDeniedContext.cjs');
33
31
  var AccountExistsContext = require('../../context/AccountExistsContext/AccountExistsContext.cjs');
34
32
  var api = require('../../data/api.cjs');
@@ -102,7 +100,6 @@ const EmailVerification = () => {
102
100
  const { loading, setLoading } = LoadingContext.useLoadingContext();
103
101
  const { t } = reactI18next.useTranslation();
104
102
  const { createEmbeddedWallet } = useEmbeddedWallet.useEmbeddedWallet();
105
- const isTurnkeyProviderEnabled = isTurnkeyEnabled.isTurnkeyEnabled(projectSettings);
106
103
  const { remainingSeconds, startCountdown } = useCountdown.useCountdown({
107
104
  callback: () => setRetried(false),
108
105
  seconds: SECONDS_TO_RETRY,
@@ -135,7 +132,7 @@ const EmailVerification = () => {
135
132
  return;
136
133
  }
137
134
  try {
138
- const { nextView, jwt } = yield verifyEmail(verificationToken, verificationUUID);
135
+ const { nextView } = yield verifyEmail(verificationToken, verificationUUID);
139
136
  if (onboardingOnlyJwt) {
140
137
  setOnboardingOnlyJwt(undefined);
141
138
  setCallback('authSuccess');
@@ -144,20 +141,18 @@ const EmailVerification = () => {
144
141
  if (nextView === 'verified-and-transferred') {
145
142
  setShowTransferMessage(true);
146
143
  }
147
- if (isTurnkeyProviderEnabled &&
148
- ((_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _c === void 0 ? void 0 : _c.automaticEmbeddedWalletCreation)) {
149
- try {
150
- index.storeAuthToken(jwt);
151
- // this function will check turnkey wallet enabled and create wallet if needed
152
- // if not enabled, it will throw an error.
153
- yield createEmbeddedWallet();
154
- }
155
- catch (e) {
156
- setShowAuthFlow(false);
157
- }
144
+ if (!((_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _c === void 0 ? void 0 : _c.automaticEmbeddedWalletCreation)) {
145
+ setShowAuthFlow(false);
158
146
  return;
159
147
  }
160
- setShowAuthFlow(false);
148
+ try {
149
+ // this function will check turnkey wallet enabled and create wallet if needed
150
+ // if not enabled, it will throw an error.
151
+ yield createEmbeddedWallet();
152
+ }
153
+ catch (e) {
154
+ setShowAuthFlow(false);
155
+ }
161
156
  }
162
157
  catch (error) {
163
158
  logger.logger.debug(error);
@@ -185,8 +180,8 @@ const EmailVerification = () => {
185
180
  (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _a === void 0 ? void 0 : _a.automaticEmbeddedWalletCreation,
186
181
  createEmbeddedWallet,
187
182
  setShowAuthFlow,
183
+ setErrorMessage,
188
184
  setView,
189
- isTurnkeyProviderEnabled,
190
185
  ]);
191
186
  const handleEmailLogin = React.useCallback((verificationToken) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
192
187
  var _d;
@@ -219,24 +214,19 @@ const EmailVerification = () => {
219
214
  setCallback('authSuccess');
220
215
  // this timeout is set to make sure that the user will see success message
221
216
  yield sleepToShowSuccessMessage();
222
- if (isTurnkeyProviderEnabled &&
223
- ((_d = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _d === void 0 ? void 0 : _d.automaticEmbeddedWalletCreation)) {
224
- try {
225
- // Store the auth token in local storage so it can be used during embedded wallet creation
226
- index.storeAuthToken(jwt);
227
- // this function will check turnkey wallet enabled and create wallet if needed
228
- // if not enabled, it will throw an error.
229
- yield createEmbeddedWallet();
230
- }
231
- catch (e) {
232
- yield createUserProfileByJWT(jwt);
233
- setShowAuthFlow(false);
234
- }
217
+ yield createUserProfileByJWT(jwt);
218
+ if (!((_d = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _d === void 0 ? void 0 : _d.automaticEmbeddedWalletCreation)) {
219
+ setShowAuthFlow(false);
235
220
  return;
236
221
  }
237
- // If not creating embedded wallet automatically, create user profile
238
- yield createUserProfileByJWT(jwt);
239
- setShowAuthFlow(false);
222
+ try {
223
+ // this function will check turnkey wallet enabled and create wallet if needed
224
+ // if not enabled, it will throw an error.
225
+ yield createEmbeddedWallet();
226
+ }
227
+ catch (e) {
228
+ setShowAuthFlow(false);
229
+ }
240
230
  }
241
231
  catch (error) {
242
232
  if (error instanceof utils.NoAccessError) {
@@ -268,7 +258,6 @@ const EmailVerification = () => {
268
258
  setShowAuthFlow,
269
259
  setErrorMessage,
270
260
  setExistentAccountData,
271
- isTurnkeyProviderEnabled,
272
261
  ]);
273
262
  const handleRetry = () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
274
263
  try {
@@ -23,8 +23,6 @@ import { useEffectOnce } from '../../shared/utils/hooks/useEffectOnce/useEffectO
23
23
  import '../../shared/consts/index.js';
24
24
  import '@dynamic-labs/multi-wallet';
25
25
  import '@dynamic-labs/sdk-api';
26
- import { isTurnkeyEnabled } from '../../utils/functions/isTurnkeyEnabled/isTurnkeyEnabled.js';
27
- import { storeAuthToken } from '../../utils/functions/storeAuthToken/index.js';
28
26
  import '../../context/AccessDeniedContext/AccessDeniedContext.js';
29
27
  import { useAccountExistsContext } from '../../context/AccountExistsContext/AccountExistsContext.js';
30
28
  import { signInWithEmailVerification, retryEmailVerification } from '../../data/api.js';
@@ -98,7 +96,6 @@ const EmailVerification = () => {
98
96
  const { loading, setLoading } = useLoadingContext();
99
97
  const { t } = useTranslation();
100
98
  const { createEmbeddedWallet } = useEmbeddedWallet();
101
- const isTurnkeyProviderEnabled = isTurnkeyEnabled(projectSettings);
102
99
  const { remainingSeconds, startCountdown } = useCountdown({
103
100
  callback: () => setRetried(false),
104
101
  seconds: SECONDS_TO_RETRY,
@@ -131,7 +128,7 @@ const EmailVerification = () => {
131
128
  return;
132
129
  }
133
130
  try {
134
- const { nextView, jwt } = yield verifyEmail(verificationToken, verificationUUID);
131
+ const { nextView } = yield verifyEmail(verificationToken, verificationUUID);
135
132
  if (onboardingOnlyJwt) {
136
133
  setOnboardingOnlyJwt(undefined);
137
134
  setCallback('authSuccess');
@@ -140,20 +137,18 @@ const EmailVerification = () => {
140
137
  if (nextView === 'verified-and-transferred') {
141
138
  setShowTransferMessage(true);
142
139
  }
143
- if (isTurnkeyProviderEnabled &&
144
- ((_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _c === void 0 ? void 0 : _c.automaticEmbeddedWalletCreation)) {
145
- try {
146
- storeAuthToken(jwt);
147
- // this function will check turnkey wallet enabled and create wallet if needed
148
- // if not enabled, it will throw an error.
149
- yield createEmbeddedWallet();
150
- }
151
- catch (e) {
152
- setShowAuthFlow(false);
153
- }
140
+ if (!((_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _c === void 0 ? void 0 : _c.automaticEmbeddedWalletCreation)) {
141
+ setShowAuthFlow(false);
154
142
  return;
155
143
  }
156
- setShowAuthFlow(false);
144
+ try {
145
+ // this function will check turnkey wallet enabled and create wallet if needed
146
+ // if not enabled, it will throw an error.
147
+ yield createEmbeddedWallet();
148
+ }
149
+ catch (e) {
150
+ setShowAuthFlow(false);
151
+ }
157
152
  }
158
153
  catch (error) {
159
154
  logger.debug(error);
@@ -181,8 +176,8 @@ const EmailVerification = () => {
181
176
  (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _a === void 0 ? void 0 : _a.automaticEmbeddedWalletCreation,
182
177
  createEmbeddedWallet,
183
178
  setShowAuthFlow,
179
+ setErrorMessage,
184
180
  setView,
185
- isTurnkeyProviderEnabled,
186
181
  ]);
187
182
  const handleEmailLogin = useCallback((verificationToken) => __awaiter(void 0, void 0, void 0, function* () {
188
183
  var _d;
@@ -215,24 +210,19 @@ const EmailVerification = () => {
215
210
  setCallback('authSuccess');
216
211
  // this timeout is set to make sure that the user will see success message
217
212
  yield sleepToShowSuccessMessage();
218
- if (isTurnkeyProviderEnabled &&
219
- ((_d = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _d === void 0 ? void 0 : _d.automaticEmbeddedWalletCreation)) {
220
- try {
221
- // Store the auth token in local storage so it can be used during embedded wallet creation
222
- storeAuthToken(jwt);
223
- // this function will check turnkey wallet enabled and create wallet if needed
224
- // if not enabled, it will throw an error.
225
- yield createEmbeddedWallet();
226
- }
227
- catch (e) {
228
- yield createUserProfileByJWT(jwt);
229
- setShowAuthFlow(false);
230
- }
213
+ yield createUserProfileByJWT(jwt);
214
+ if (!((_d = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _d === void 0 ? void 0 : _d.automaticEmbeddedWalletCreation)) {
215
+ setShowAuthFlow(false);
231
216
  return;
232
217
  }
233
- // If not creating embedded wallet automatically, create user profile
234
- yield createUserProfileByJWT(jwt);
235
- setShowAuthFlow(false);
218
+ try {
219
+ // this function will check turnkey wallet enabled and create wallet if needed
220
+ // if not enabled, it will throw an error.
221
+ yield createEmbeddedWallet();
222
+ }
223
+ catch (e) {
224
+ setShowAuthFlow(false);
225
+ }
236
226
  }
237
227
  catch (error) {
238
228
  if (error instanceof NoAccessError) {
@@ -264,7 +254,6 @@ const EmailVerification = () => {
264
254
  setShowAuthFlow,
265
255
  setErrorMessage,
266
256
  setExistentAccountData,
267
- isTurnkeyProviderEnabled,
268
257
  ]);
269
258
  const handleRetry = () => __awaiter(void 0, void 0, void 0, function* () {
270
259
  try {