@dynamic-labs/sdk-react-core 2.1.0-alpha.2 → 2.1.0-alpha.4

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 (113) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/package.cjs +2 -2
  3. package/package.js +2 -2
  4. package/package.json +13 -14
  5. package/src/index.cjs +0 -2
  6. package/src/index.d.ts +1 -1
  7. package/src/index.js +0 -1
  8. package/src/lib/Main.cjs +5 -0
  9. package/src/lib/Main.js +5 -0
  10. package/src/lib/components/Alert/Alert.cjs +2 -2
  11. package/src/lib/components/Alert/Alert.js +2 -2
  12. package/src/lib/components/Alert/Alert.types.d.ts +1 -0
  13. package/src/lib/components/EmailForm/EmailForm.cjs +1 -1
  14. package/src/lib/components/EmailForm/EmailForm.js +1 -1
  15. package/src/lib/components/PhoneNumberField/PhoneNumberField.cjs +1 -1
  16. package/src/lib/components/PhoneNumberField/PhoneNumberField.js +1 -1
  17. package/src/lib/components/RadioButton/RadioButton.cjs +14 -0
  18. package/src/lib/components/RadioButton/RadioButton.d.ts +5 -0
  19. package/src/lib/components/RadioButton/RadioButton.js +10 -0
  20. package/src/lib/components/RadioButton/index.d.ts +1 -0
  21. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.cjs +1 -1
  22. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.d.ts +2 -1
  23. package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.js +1 -1
  24. package/src/lib/components/index.d.ts +1 -0
  25. package/src/lib/context/DynamicContext/DynamicContext.cjs +1 -0
  26. package/src/lib/context/DynamicContext/DynamicContext.js +1 -0
  27. package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.cjs +2 -2
  28. package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.js +2 -2
  29. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.cjs +5 -2
  30. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.js +5 -2
  31. package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.cjs +2 -1
  32. package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.d.ts +1 -1
  33. package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.js +2 -1
  34. package/src/lib/context/ViewContext/ViewContext.cjs +2 -2
  35. package/src/lib/context/ViewContext/ViewContext.js +2 -2
  36. package/src/lib/context/ViewContext/types/index.d.ts +7 -2
  37. package/src/lib/data/api/user/user.cjs +16 -0
  38. package/src/lib/data/api/user/user.js +16 -1
  39. package/src/lib/events/dynamicEvents.d.ts +1 -1
  40. package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +6 -0
  41. package/src/lib/layout/DynamicAuthLayout/Header/header.js +6 -0
  42. package/src/lib/locale/en/translation.cjs +44 -3
  43. package/src/lib/locale/en/translation.d.ts +43 -2
  44. package/src/lib/locale/en/translation.js +44 -3
  45. package/src/lib/shared/types/dynamicEventsCallbacks.d.ts +2 -1
  46. package/src/lib/styles/index.shadow.cjs +1 -1
  47. package/src/lib/styles/index.shadow.js +1 -1
  48. package/src/lib/utils/constants/errors.cjs +0 -2
  49. package/src/lib/utils/constants/errors.js +1 -2
  50. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.cjs +11 -9
  51. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.d.ts +6 -2
  52. package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.js +12 -10
  53. package/src/lib/utils/functions/findTurnkeyWallet/index.d.ts +1 -1
  54. package/src/lib/utils/functions/index.d.ts +1 -0
  55. package/src/lib/utils/functions/serializeWalletConnectors/index.d.ts +1 -0
  56. package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.cjs +32 -0
  57. package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.d.ts +2 -0
  58. package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.js +28 -0
  59. package/src/lib/utils/hooks/index.d.ts +1 -0
  60. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +4 -1
  61. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +4 -1
  62. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs +1 -1
  63. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js +1 -1
  64. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.cjs +8 -0
  65. package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.js +8 -0
  66. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +7 -8
  67. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.d.ts +10 -1
  68. package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +7 -8
  69. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.cjs +1 -1
  70. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.js +1 -1
  71. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.cjs +1 -1
  72. package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.js +1 -1
  73. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.cjs +137 -25
  74. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.d.ts +17 -7
  75. package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.js +140 -28
  76. package/src/lib/utils/hooks/useMergeUserAccounts/index.d.ts +1 -0
  77. package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.cjs +99 -0
  78. package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.d.ts +4 -0
  79. package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.js +95 -0
  80. package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.cjs +6 -13
  81. package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.d.ts +1 -3
  82. package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.js +6 -12
  83. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +5 -0
  84. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +6 -1
  85. package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.cjs +25 -2
  86. package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.js +25 -2
  87. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +2 -4
  88. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.d.ts +2 -1
  89. package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +2 -4
  90. package/src/lib/views/CollectUserDataView/UserDataFields/UserField/UserField.cjs +3 -3
  91. package/src/lib/views/CollectUserDataView/UserDataFields/UserField/UserField.js +3 -3
  92. package/src/lib/views/CollectUserDataView/useFields.cjs +1 -0
  93. package/src/lib/views/CollectUserDataView/useFields.d.ts +2 -0
  94. package/src/lib/views/CollectUserDataView/useFields.js +1 -0
  95. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.cjs +2 -2
  96. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.js +2 -2
  97. package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.cjs +126 -0
  98. package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.d.ts +6 -0
  99. package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.js +122 -0
  100. package/src/lib/views/MergeUserAccountsConflictsView/index.d.ts +1 -0
  101. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.cjs +123 -0
  102. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.d.ts +4 -0
  103. package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.js +119 -0
  104. package/src/lib/views/MergeUserAccountsView/index.d.ts +1 -0
  105. package/src/lib/views/Passkey/utils/createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.cjs +1 -1
  106. package/src/lib/views/Passkey/utils/createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.js +1 -1
  107. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.cjs +1 -1
  108. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.js +1 -1
  109. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs +7 -7
  110. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.js +7 -7
  111. package/src/lib/views/viewToComponentMap.cjs +4 -0
  112. package/src/lib/views/viewToComponentMap.d.ts +2 -0
  113. package/src/lib/views/viewToComponentMap.js +4 -0
@@ -0,0 +1,99 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var _tslib = require('../../../../../_virtual/_tslib.cjs');
7
+ require('@dynamic-labs/wallet-connector-core');
8
+ require('@dynamic-labs/sdk-api-core');
9
+ require('../../../shared/logger.cjs');
10
+ require('@dynamic-labs/iconic');
11
+ require('react/jsx-runtime');
12
+ require('../../../context/ViewContext/ViewContext.cjs');
13
+ require('react');
14
+ require('@dynamic-labs/wallet-book');
15
+ require('../../constants/colors.cjs');
16
+ require('../../constants/values.cjs');
17
+ require('../../../shared/utils/classes/storage/localStorage.cjs');
18
+ require('@dynamic-labs/utils');
19
+ require('../../../shared/consts/index.cjs');
20
+ require('@dynamic-labs/multi-wallet');
21
+ var getAuthToken = require('../../functions/getAuthToken/getAuthToken.cjs');
22
+ require('react-international-phone');
23
+ require('viem');
24
+ require('viem/chains');
25
+ require('../../../config/ApiEndpoint.cjs');
26
+ require('../../../locale/locale.cjs');
27
+ var user = require('../../../data/api/user/user.cjs');
28
+ var updateJWTAndCreateUserProfile = require('../../functions/updateJWTAndCreateUserProfile/updateJWTAndCreateUserProfile.cjs');
29
+ require('../../../context/DynamicContext/DynamicContext.cjs');
30
+ require('../../../events/dynamicEvents.cjs');
31
+ require('../../../context/CaptchaContext/CaptchaContext.cjs');
32
+ require('../../../context/ErrorContext/ErrorContext.cjs');
33
+ require('../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
34
+ require('../../../context/AccountExistsContext/AccountExistsContext.cjs');
35
+ var UserWalletsContext = require('../../../context/UserWalletsContext/UserWalletsContext.cjs');
36
+ require('../../../context/VerificationContext/VerificationContext.cjs');
37
+ require('react-dom');
38
+ require('../../../context/WalletContext/WalletContext.cjs');
39
+ require('../../../context/ThemeContext/ThemeContext.cjs');
40
+ require('@dynamic-labs/types');
41
+ require('yup');
42
+ require('../../../context/MockContext/MockContext.cjs');
43
+ require('react-i18next');
44
+ require('../../../context/FieldsStateContext/FieldsStateContext.cjs');
45
+ require('../useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
46
+ require('../../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
47
+ require('@dynamic-labs/rpc-providers');
48
+ require('../../../components/Alert/Alert.cjs');
49
+ require('../../../components/ShadowDOM/ShadowDOM.cjs');
50
+ require('../../../components/IconButton/IconButton.cjs');
51
+ require('../../../components/InlineWidget/InlineWidget.cjs');
52
+ require('../../../components/Input/Input.cjs');
53
+ require('../../../components/IsBrowser/IsBrowser.cjs');
54
+ require('../../../components/MenuList/Dropdown/Dropdown.cjs');
55
+ require('../../../components/Transition/ZoomTransition/ZoomTransition.cjs');
56
+ require('../../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
57
+ require('../../../components/Transition/OpacityTransition/OpacityTransition.cjs');
58
+ require('../../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.cjs');
59
+ require('../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.cjs');
60
+ require('../../../components/Popper/Popper/Popper.cjs');
61
+ require('../../../components/Popper/PopperContext/PopperContext.cjs');
62
+ require('react-focus-lock');
63
+ require('qrcode');
64
+ require('formik');
65
+ require('../../../views/WalletList/WalletList.cjs');
66
+ require('../../../context/SocialRedirectContext/SocialRedirectContext.cjs');
67
+ require('../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
68
+ require('@hcaptcha/react-hcaptcha');
69
+ require('../../../context/LoadingContext/LoadingContext.cjs');
70
+ require('../../../context/FooterAnimationContext/index.cjs');
71
+ require('../../../views/LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.cjs');
72
+ require('../../../context/WalletGroupContext/WalletGroupContext.cjs');
73
+ require('../../../context/PasskeyContext/PasskeyContext.cjs');
74
+ require('../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
75
+ require('../../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
76
+ require('../../../views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
77
+ require('../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
78
+ var useInternalDynamicContext = require('../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
79
+
80
+ const useMergeUserAccounts = () => {
81
+ const { environmentId, setShowAuthFlow, setUser } = useInternalDynamicContext.useInternalDynamicContext();
82
+ const { addedWalletsIds } = UserWalletsContext.useInternalUserWallets();
83
+ const mergeUserAccounts = (mergeConflictResolutions) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
84
+ const authToken = getAuthToken.getAuthToken();
85
+ const response = yield user.verifyMergeUsers(authToken, environmentId, mergeConflictResolutions);
86
+ const userProfile = updateJWTAndCreateUserProfile.updateJWTAndCreateUserProfile(response === null || response === void 0 ? void 0 : response.jwt, response === null || response === void 0 ? void 0 : response.minifiedJwt);
87
+ setUser(userProfile);
88
+ const walletId = userProfile.lastVerifiedCredentialId;
89
+ if (walletId) {
90
+ addedWalletsIds.current.push(walletId);
91
+ }
92
+ setShowAuthFlow(false);
93
+ });
94
+ return {
95
+ mergeUserAccounts,
96
+ };
97
+ };
98
+
99
+ exports.useMergeUserAccounts = useMergeUserAccounts;
@@ -0,0 +1,4 @@
1
+ import { MergeUserConflictResolution } from '@dynamic-labs/sdk-api-core';
2
+ export declare const useMergeUserAccounts: () => {
3
+ mergeUserAccounts: (mergeConflictResolutions: MergeUserConflictResolution[]) => Promise<void>;
4
+ };
@@ -0,0 +1,95 @@
1
+ 'use client'
2
+ import { __awaiter } from '../../../../../_virtual/_tslib.js';
3
+ import '@dynamic-labs/wallet-connector-core';
4
+ import '@dynamic-labs/sdk-api-core';
5
+ import '../../../shared/logger.js';
6
+ import '@dynamic-labs/iconic';
7
+ import 'react/jsx-runtime';
8
+ import '../../../context/ViewContext/ViewContext.js';
9
+ import 'react';
10
+ import '@dynamic-labs/wallet-book';
11
+ import '../../constants/colors.js';
12
+ import '../../constants/values.js';
13
+ import '../../../shared/utils/classes/storage/localStorage.js';
14
+ import '@dynamic-labs/utils';
15
+ import '../../../shared/consts/index.js';
16
+ import '@dynamic-labs/multi-wallet';
17
+ import { getAuthToken } from '../../functions/getAuthToken/getAuthToken.js';
18
+ import 'react-international-phone';
19
+ import 'viem';
20
+ import 'viem/chains';
21
+ import '../../../config/ApiEndpoint.js';
22
+ import '../../../locale/locale.js';
23
+ import { verifyMergeUsers } from '../../../data/api/user/user.js';
24
+ import { updateJWTAndCreateUserProfile } from '../../functions/updateJWTAndCreateUserProfile/updateJWTAndCreateUserProfile.js';
25
+ import '../../../context/DynamicContext/DynamicContext.js';
26
+ import '../../../events/dynamicEvents.js';
27
+ import '../../../context/CaptchaContext/CaptchaContext.js';
28
+ import '../../../context/ErrorContext/ErrorContext.js';
29
+ import '../../../context/AccessDeniedContext/AccessDeniedContext.js';
30
+ import '../../../context/AccountExistsContext/AccountExistsContext.js';
31
+ import { useInternalUserWallets } from '../../../context/UserWalletsContext/UserWalletsContext.js';
32
+ import '../../../context/VerificationContext/VerificationContext.js';
33
+ import 'react-dom';
34
+ import '../../../context/WalletContext/WalletContext.js';
35
+ import '../../../context/ThemeContext/ThemeContext.js';
36
+ import '@dynamic-labs/types';
37
+ import 'yup';
38
+ import '../../../context/MockContext/MockContext.js';
39
+ import 'react-i18next';
40
+ import '../../../context/FieldsStateContext/FieldsStateContext.js';
41
+ import '../useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
42
+ import '../../../context/UserFieldEditorContext/UserFieldEditorContext.js';
43
+ import '@dynamic-labs/rpc-providers';
44
+ import '../../../components/Alert/Alert.js';
45
+ import '../../../components/ShadowDOM/ShadowDOM.js';
46
+ import '../../../components/IconButton/IconButton.js';
47
+ import '../../../components/InlineWidget/InlineWidget.js';
48
+ import '../../../components/Input/Input.js';
49
+ import '../../../components/IsBrowser/IsBrowser.js';
50
+ import '../../../components/MenuList/Dropdown/Dropdown.js';
51
+ import '../../../components/Transition/ZoomTransition/ZoomTransition.js';
52
+ import '../../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
53
+ import '../../../components/Transition/OpacityTransition/OpacityTransition.js';
54
+ import '../../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.js';
55
+ import '../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.js';
56
+ import '../../../components/Popper/Popper/Popper.js';
57
+ import '../../../components/Popper/PopperContext/PopperContext.js';
58
+ import 'react-focus-lock';
59
+ import 'qrcode';
60
+ import 'formik';
61
+ import '../../../views/WalletList/WalletList.js';
62
+ import '../../../context/SocialRedirectContext/SocialRedirectContext.js';
63
+ import '../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
64
+ import '@hcaptcha/react-hcaptcha';
65
+ import '../../../context/LoadingContext/LoadingContext.js';
66
+ import '../../../context/FooterAnimationContext/index.js';
67
+ import '../../../views/LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.js';
68
+ import '../../../context/WalletGroupContext/WalletGroupContext.js';
69
+ import '../../../context/PasskeyContext/PasskeyContext.js';
70
+ import '../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
71
+ import '../../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
72
+ import '../../../views/TransactionConfirmationView/helpers/transactionErrorMessage.js';
73
+ import '../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
74
+ import { useInternalDynamicContext } from '../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
75
+
76
+ const useMergeUserAccounts = () => {
77
+ const { environmentId, setShowAuthFlow, setUser } = useInternalDynamicContext();
78
+ const { addedWalletsIds } = useInternalUserWallets();
79
+ const mergeUserAccounts = (mergeConflictResolutions) => __awaiter(void 0, void 0, void 0, function* () {
80
+ const authToken = getAuthToken();
81
+ const response = yield verifyMergeUsers(authToken, environmentId, mergeConflictResolutions);
82
+ const userProfile = updateJWTAndCreateUserProfile(response === null || response === void 0 ? void 0 : response.jwt, response === null || response === void 0 ? void 0 : response.minifiedJwt);
83
+ setUser(userProfile);
84
+ const walletId = userProfile.lastVerifiedCredentialId;
85
+ if (walletId) {
86
+ addedWalletsIds.current.push(walletId);
87
+ }
88
+ setShowAuthFlow(false);
89
+ });
90
+ return {
91
+ mergeUserAccounts,
92
+ };
93
+ };
94
+
95
+ export { useMergeUserAccounts };
@@ -21,6 +21,11 @@ require('../../../../../_virtual/_tslib.cjs');
21
21
  require('../../../config/ApiEndpoint.cjs');
22
22
  var settings = require('../../../data/api/settings/settings.cjs');
23
23
  require('../../../locale/locale.cjs');
24
+ require('@dynamic-labs/multi-wallet');
25
+ require('react-international-phone');
26
+ require('viem');
27
+ require('viem/chains');
28
+ var serializeWalletConnectors = require('../../functions/serializeWalletConnectors/serializeWalletConnectors.cjs');
24
29
 
25
30
  const useSendDynamicProps = ({ settings: settings$1, environmentId, }) => {
26
31
  useEffectOnce.useEffectOnce(() => {
@@ -32,7 +37,7 @@ const useSendDynamicProps = ({ settings: settings$1, environmentId, }) => {
32
37
  settings: Object.assign(Object.assign({}, settings$1), { customPrivacyPolicy: Boolean(settings$1.customPrivacyPolicy), customTermsOfServices: Boolean(settings$1.customTermsOfServices), policiesConsentInnerComponent: Boolean(settings$1.policiesConsentInnerComponent) }),
33
38
  };
34
39
  const serializedEventsCallbacks = serializeEventsCallbacks(settings$1.events);
35
- const serializedWalletConnectors = serializeWalletConnectors(settings$1.walletConnectors);
40
+ const serializedWalletConnectors = serializeWalletConnectors.serializeWalletConnectors(settings$1.walletConnectors);
36
41
  const serializedDynamicContextProps = Object.assign(Object.assign({}, updatedDynamicProps), { settings: Object.assign(Object.assign({}, updatedDynamicProps.settings), { events: serializedEventsCallbacks, walletConnectors: serializedWalletConnectors }) });
37
42
  settings.sendDynamicProps(environmentId, {
38
43
  dynamicContextProps: serializedDynamicContextProps,
@@ -58,17 +63,6 @@ const serializeEventsCallbacks = (events) => {
58
63
  return undefined;
59
64
  }
60
65
  };
61
- const serializeWalletConnectors = (walletConnectors) => {
62
- try {
63
- if (!walletConnectors)
64
- return undefined;
65
- return walletConnectors.map((connector) => connector.name);
66
- }
67
- catch (error) {
68
- logger.logger.error('error serializing walletConnectors', error);
69
- return undefined;
70
- }
71
- };
72
66
  const getFrameworkSettings = () => {
73
67
  var _a;
74
68
  return ({
@@ -84,5 +78,4 @@ const getFrameworkSettings = () => {
84
78
  };
85
79
 
86
80
  exports.serializeEventsCallbacks = serializeEventsCallbacks;
87
- exports.serializeWalletConnectors = serializeWalletConnectors;
88
81
  exports.useSendDynamicProps = useSendDynamicProps;
@@ -1,5 +1,4 @@
1
- import { WalletConnectorsMethod } from '@dynamic-labs/wallet-connector-core';
2
- import { DynamicContextProps } from '../../../..';
1
+ import { DynamicContextProps } from '../../../context/DynamicContext';
3
2
  import { DynamicEventsCallbacks } from '../../../shared';
4
3
  type UseSendDynamicHookProps = {
5
4
  settings: DynamicContextProps['settings'];
@@ -7,5 +6,4 @@ type UseSendDynamicHookProps = {
7
6
  };
8
7
  export declare const useSendDynamicProps: ({ settings, environmentId, }: UseSendDynamicHookProps) => void;
9
8
  export declare const serializeEventsCallbacks: (events: DynamicEventsCallbacks | undefined) => string[] | undefined;
10
- export declare const serializeWalletConnectors: (walletConnectors?: WalletConnectorsMethod[]) => string[] | undefined;
11
9
  export {};
@@ -17,6 +17,11 @@ import '../../../../../_virtual/_tslib.js';
17
17
  import '../../../config/ApiEndpoint.js';
18
18
  import { sendDynamicProps } from '../../../data/api/settings/settings.js';
19
19
  import '../../../locale/locale.js';
20
+ import '@dynamic-labs/multi-wallet';
21
+ import 'react-international-phone';
22
+ import 'viem';
23
+ import 'viem/chains';
24
+ import { serializeWalletConnectors } from '../../functions/serializeWalletConnectors/serializeWalletConnectors.js';
20
25
 
21
26
  const useSendDynamicProps = ({ settings, environmentId, }) => {
22
27
  useEffectOnce(() => {
@@ -54,17 +59,6 @@ const serializeEventsCallbacks = (events) => {
54
59
  return undefined;
55
60
  }
56
61
  };
57
- const serializeWalletConnectors = (walletConnectors) => {
58
- try {
59
- if (!walletConnectors)
60
- return undefined;
61
- return walletConnectors.map((connector) => connector.name);
62
- }
63
- catch (error) {
64
- logger.error('error serializing walletConnectors', error);
65
- return undefined;
66
- }
67
- };
68
62
  const getFrameworkSettings = () => {
69
63
  var _a;
70
64
  return ({
@@ -79,4 +73,4 @@ const getFrameworkSettings = () => {
79
73
  });
80
74
  };
81
75
 
82
- export { serializeEventsCallbacks, serializeWalletConnectors, useSendDynamicProps };
76
+ export { serializeEventsCallbacks, useSendDynamicProps };
@@ -177,6 +177,11 @@ const useVerifyWallet = ({ consumeNonce, displaySiweStatement, environmentId, pr
177
177
  handleDisconnectWallet({ endSession: false, walletConnector });
178
178
  return handleWalletUsedError(e);
179
179
  }
180
+ if (e instanceof utils.MergeAccountsConfirmationError) {
181
+ setView('merge-user-accounts', Object.assign({}, e));
182
+ setShowAuthFlow(true);
183
+ return;
184
+ }
180
185
  if (e instanceof utils.ChainalysisError) {
181
186
  handleDisconnectWallet({ walletConnector });
182
187
  setDeniedAddress(address);
@@ -1,6 +1,6 @@
1
1
  'use client'
2
2
  import { __awaiter } from '../../../../../_virtual/_tslib.js';
3
- import { DynamicError, WalletUsedError, ChainalysisError, GateBlockedError, NoAccessError, AccountExistsError } from '@dynamic-labs/utils';
3
+ import { DynamicError, WalletUsedError, MergeAccountsConfirmationError, ChainalysisError, GateBlockedError, NoAccessError, AccountExistsError } from '@dynamic-labs/utils';
4
4
  import { isSocialWalletConnector } from '@dynamic-labs/wallet-connector-core';
5
5
  import 'react';
6
6
  import '../../../events/dynamicEvents.js';
@@ -173,6 +173,11 @@ const useVerifyWallet = ({ consumeNonce, displaySiweStatement, environmentId, pr
173
173
  handleDisconnectWallet({ endSession: false, walletConnector });
174
174
  return handleWalletUsedError(e);
175
175
  }
176
+ if (e instanceof MergeAccountsConfirmationError) {
177
+ setView('merge-user-accounts', Object.assign({}, e));
178
+ setShowAuthFlow(true);
179
+ return;
180
+ }
176
181
  if (e instanceof ChainalysisError) {
177
182
  handleDisconnectWallet({ walletConnector });
178
183
  setDeniedAddress(address);
@@ -5,9 +5,31 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var React = require('react');
7
7
  var data = require('../../../views/WalletList/data.cjs');
8
+ require('@dynamic-labs/wallet-connector-core');
9
+ require('@dynamic-labs/sdk-api-core');
10
+ require('../../../shared/logger.cjs');
11
+ require('@dynamic-labs/iconic');
12
+ require('react/jsx-runtime');
13
+ require('../../../context/ViewContext/ViewContext.cjs');
14
+ require('@dynamic-labs/wallet-book');
15
+ require('../../constants/colors.cjs');
16
+ require('../../constants/values.cjs');
17
+ require('../../../shared/utils/classes/storage/localStorage.cjs');
18
+ require('@dynamic-labs/utils');
19
+ require('../../../shared/consts/index.cjs');
20
+ require('../../../../../_virtual/_tslib.cjs');
21
+ require('@dynamic-labs/multi-wallet');
22
+ require('react-international-phone');
23
+ require('viem');
24
+ require('viem/chains');
25
+ require('../../../config/ApiEndpoint.cjs');
26
+ require('../../../locale/locale.cjs');
27
+ var serializeWalletConnectors = require('../../functions/serializeWalletConnectors/serializeWalletConnectors.cjs');
8
28
  var verifyRequiredConnectorsAreSetup = require('./utils/verifyRequiredConnectorsAreSetup/verifyRequiredConnectorsAreSetup.cjs');
9
29
 
10
30
  const useWalletConnectorOptions = ({ projectSettings, appLogoUrl, appName, deepLinkPreference, flowNetwork, mobileExperience, networkConfigurations, walletBook, walletUiUtils, walletConnectorsProp, walletConnectPreferredChains, walletConnectorExtensions, }) => {
31
+ const walletConnectorsKey = React.useMemo(() => { var _a; return (_a = serializeWalletConnectors.serializeWalletConnectors(walletConnectorsProp)) === null || _a === void 0 ? void 0 : _a.join(','); }, [walletConnectorsProp]);
32
+ const walletBookLength = React.useMemo(() => Object.keys(walletBook !== null && walletBook !== void 0 ? walletBook : {}).length, [walletBook]);
11
33
  const walletConnectorOptions = React.useMemo(() => {
12
34
  if (!projectSettings ||
13
35
  !Object.keys(walletBook !== null && walletBook !== void 0 ? walletBook : {}).length ||
@@ -31,14 +53,15 @@ const useWalletConnectorOptions = ({ projectSettings, appLogoUrl, appName, deepL
31
53
  walletConnectorExtensions,
32
54
  });
33
55
  // Cannot include walletUiUtils in the dependency array because it will cause an infinite loop
56
+ // eslint-disable-next-line react-hooks/exhaustive-deps
34
57
  }, [
35
58
  appLogoUrl,
36
59
  appName,
37
60
  projectSettings,
38
- walletConnectorsProp,
61
+ walletConnectorsKey,
39
62
  walletConnectPreferredChains,
40
63
  flowNetwork,
41
- Object.keys(walletBook !== null && walletBook !== void 0 ? walletBook : {}).length,
64
+ walletBookLength,
42
65
  networkConfigurations,
43
66
  ]);
44
67
  React.useEffect(() => {
@@ -1,9 +1,31 @@
1
1
  'use client'
2
2
  import { useMemo, useEffect } from 'react';
3
3
  import { getWallets } from '../../../views/WalletList/data.js';
4
+ import '@dynamic-labs/wallet-connector-core';
5
+ import '@dynamic-labs/sdk-api-core';
6
+ import '../../../shared/logger.js';
7
+ import '@dynamic-labs/iconic';
8
+ import 'react/jsx-runtime';
9
+ import '../../../context/ViewContext/ViewContext.js';
10
+ import '@dynamic-labs/wallet-book';
11
+ import '../../constants/colors.js';
12
+ import '../../constants/values.js';
13
+ import '../../../shared/utils/classes/storage/localStorage.js';
14
+ import '@dynamic-labs/utils';
15
+ import '../../../shared/consts/index.js';
16
+ import '../../../../../_virtual/_tslib.js';
17
+ import '@dynamic-labs/multi-wallet';
18
+ import 'react-international-phone';
19
+ import 'viem';
20
+ import 'viem/chains';
21
+ import '../../../config/ApiEndpoint.js';
22
+ import '../../../locale/locale.js';
23
+ import { serializeWalletConnectors } from '../../functions/serializeWalletConnectors/serializeWalletConnectors.js';
4
24
  import { verifyRequiredConnectorsAreSetup } from './utils/verifyRequiredConnectorsAreSetup/verifyRequiredConnectorsAreSetup.js';
5
25
 
6
26
  const useWalletConnectorOptions = ({ projectSettings, appLogoUrl, appName, deepLinkPreference, flowNetwork, mobileExperience, networkConfigurations, walletBook, walletUiUtils, walletConnectorsProp, walletConnectPreferredChains, walletConnectorExtensions, }) => {
27
+ const walletConnectorsKey = useMemo(() => { var _a; return (_a = serializeWalletConnectors(walletConnectorsProp)) === null || _a === void 0 ? void 0 : _a.join(','); }, [walletConnectorsProp]);
28
+ const walletBookLength = useMemo(() => Object.keys(walletBook !== null && walletBook !== void 0 ? walletBook : {}).length, [walletBook]);
7
29
  const walletConnectorOptions = useMemo(() => {
8
30
  if (!projectSettings ||
9
31
  !Object.keys(walletBook !== null && walletBook !== void 0 ? walletBook : {}).length ||
@@ -27,14 +49,15 @@ const useWalletConnectorOptions = ({ projectSettings, appLogoUrl, appName, deepL
27
49
  walletConnectorExtensions,
28
50
  });
29
51
  // Cannot include walletUiUtils in the dependency array because it will cause an infinite loop
52
+ // eslint-disable-next-line react-hooks/exhaustive-deps
30
53
  }, [
31
54
  appLogoUrl,
32
55
  appName,
33
56
  projectSettings,
34
- walletConnectorsProp,
57
+ walletConnectorsKey,
35
58
  walletConnectPreferredChains,
36
59
  flowNetwork,
37
- Object.keys(walletBook !== null && walletBook !== void 0 ? walletBook : {}).length,
60
+ walletBookLength,
38
61
  networkConfigurations,
39
62
  ]);
40
63
  useEffect(() => {
@@ -20,7 +20,7 @@ require('../../../shared/consts/index.cjs');
20
20
  require('../../../events/dynamicEvents.cjs');
21
21
  var useWalletConnectorEvent = require('../events/useWalletConnectorEvent/useWalletConnectorEvent.cjs');
22
22
 
23
- const useWalletEventListeners = ({ handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnectorKey, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, authMode, refreshConnectedWallet, }) => {
23
+ const useWalletEventListeners = ({ disconnectWallet, handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnectorKey, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, authMode, refreshConnectedWallet, }) => {
24
24
  useWalletConnectorEvent.useWalletConnectorEvent(primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector, 'disconnect', () => {
25
25
  logger.logger.debug('primary wallet disconnect');
26
26
  handleLogOut();
@@ -109,13 +109,11 @@ const useWalletEventListeners = ({ handleLogOut, multiWallet, multiWalletWidgetS
109
109
  }));
110
110
  useWalletConnectorEvent.useWalletConnectorEvent(uniqueNonPrimaryWallets, 'disconnect', (affectedConnector) => {
111
111
  logger.logger.debug('secondary wallet disconnect');
112
- // argent sends a disconnect event when the user adds a new account
113
112
  if (authMode === 'connect-only') {
114
113
  // Get all wallets with this connector
115
114
  const affectedWallets = secondaryWallets.filter(({ connector }) => connector.key === affectedConnector.key);
116
115
  for (const wallet of affectedWallets) {
117
- if (wallet.connector.key === 'argentx')
118
- refreshConnectedWallet(wallet.id, wallet.connector);
116
+ disconnectWallet(wallet.id);
119
117
  }
120
118
  }
121
119
  });
@@ -4,6 +4,7 @@ import { IDynamicContext } from '../../../context/DynamicContext/types';
4
4
  import { AuthModeType, MultiWalletWidgetState, Wallet, WalletWithAction } from '../../../shared';
5
5
  import { MultiWalletWidgetStateSetter } from '../multiWallet';
6
6
  export type UseWalletEventListenersArgs = {
7
+ disconnectWallet: (walletId: string) => Promise<void>;
7
8
  handleLogOut(): Promise<void>;
8
9
  multiWallet: boolean;
9
10
  multiWalletWidgetState: MultiWalletWidgetState;
@@ -19,4 +20,4 @@ export type UseWalletEventListenersArgs = {
19
20
  authMode: AuthModeType;
20
21
  refreshConnectedWallet: (walletId: string, walletConnector: WalletConnector, shouldCallCallback?: boolean) => Promise<void>;
21
22
  };
22
- export declare const useWalletEventListeners: ({ handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnectorKey, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, authMode, refreshConnectedWallet, }: UseWalletEventListenersArgs) => void;
23
+ export declare const useWalletEventListeners: ({ disconnectWallet, handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnectorKey, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, authMode, refreshConnectedWallet, }: UseWalletEventListenersArgs) => void;
@@ -16,7 +16,7 @@ import '../../../shared/consts/index.js';
16
16
  import '../../../events/dynamicEvents.js';
17
17
  import { useWalletConnectorEvent } from '../events/useWalletConnectorEvent/useWalletConnectorEvent.js';
18
18
 
19
- const useWalletEventListeners = ({ handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnectorKey, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, authMode, refreshConnectedWallet, }) => {
19
+ const useWalletEventListeners = ({ disconnectWallet, handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnectorKey, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, authMode, refreshConnectedWallet, }) => {
20
20
  useWalletConnectorEvent(primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector, 'disconnect', () => {
21
21
  logger.debug('primary wallet disconnect');
22
22
  handleLogOut();
@@ -105,13 +105,11 @@ const useWalletEventListeners = ({ handleLogOut, multiWallet, multiWalletWidgetS
105
105
  }));
106
106
  useWalletConnectorEvent(uniqueNonPrimaryWallets, 'disconnect', (affectedConnector) => {
107
107
  logger.debug('secondary wallet disconnect');
108
- // argent sends a disconnect event when the user adds a new account
109
108
  if (authMode === 'connect-only') {
110
109
  // Get all wallets with this connector
111
110
  const affectedWallets = secondaryWallets.filter(({ connector }) => connector.key === affectedConnector.key);
112
111
  for (const wallet of affectedWallets) {
113
- if (wallet.connector.key === 'argentx')
114
- refreshConnectedWallet(wallet.id, wallet.connector);
112
+ disconnectWallet(wallet.id);
115
113
  }
116
114
  }
117
115
  });
@@ -78,7 +78,7 @@ require('@hcaptcha/react-hcaptcha');
78
78
  require('../../../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.cjs');
79
79
  var Select = require('../../../../components/Select/Select.cjs');
80
80
 
81
- const UserField = ({ fieldData: { key, label, type }, fieldSettings: { enabled, name, required, verify }, errors, touched, disabled, policiesConsentInnerComponentArray, }) => {
81
+ const UserField = ({ fieldData: { key, label, type, autoComplete }, fieldSettings: { enabled, name, required, verify }, errors, touched, disabled, policiesConsentInnerComponentArray, }) => {
82
82
  if (name === 'tShirtSize') {
83
83
  return (jsxRuntime.jsx(formik.Field, { copykey: key, as: Select.Select, type: type, id: name, name: name, label: label, error: errors[name] && touched[name], selectDataTestId: 'tShirtSizeSelect', message: touched[name] && getDisplayErrorMessage.getDisplayErrorMessage(label, errors[name]), disabled: disabled, children: index.tShirtSizes.map((size) => (jsxRuntime.jsx("option", { value: size, children: size }, size))) }, name));
84
84
  }
@@ -94,10 +94,10 @@ const UserField = ({ fieldData: { key, label, type }, fieldSettings: { enabled,
94
94
  else if (name === 'phoneNumber') {
95
95
  return (jsxRuntime.jsx(formik.Field, { name: name, as: UserPhoneField.UserPhoneField, disabled: disabled, label: label, required: required, error: touched[name] && errors[name]
96
96
  ? getDisplayErrorMessage.getDisplayErrorMessage(label, errors[name])
97
- : undefined, verify: verify }, name));
97
+ : undefined, verify: verify, autoComplete: autoComplete }, name));
98
98
  }
99
99
  else {
100
- return (jsxRuntime.jsx(formik.Field, { copykey: key, disabled: disabled, as: Input.Input, type: type, id: name, name: name, label: label, optional: enabled && !required, error: errors[name] && touched[name], message: touched[name] && getDisplayErrorMessage.getDisplayErrorMessage(label, errors[name]) }, name));
100
+ return (jsxRuntime.jsx(formik.Field, { copykey: key, disabled: disabled, as: Input.Input, type: type, id: name, name: name, label: label, optional: enabled && !required, error: errors[name] && touched[name], message: touched[name] && getDisplayErrorMessage.getDisplayErrorMessage(label, errors[name]), autoComplete: autoComplete }, name));
101
101
  }
102
102
  };
103
103
 
@@ -74,7 +74,7 @@ import '@hcaptcha/react-hcaptcha';
74
74
  import '../../../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.js';
75
75
  import { Select } from '../../../../components/Select/Select.js';
76
76
 
77
- const UserField = ({ fieldData: { key, label, type }, fieldSettings: { enabled, name, required, verify }, errors, touched, disabled, policiesConsentInnerComponentArray, }) => {
77
+ const UserField = ({ fieldData: { key, label, type, autoComplete }, fieldSettings: { enabled, name, required, verify }, errors, touched, disabled, policiesConsentInnerComponentArray, }) => {
78
78
  if (name === 'tShirtSize') {
79
79
  return (jsx(Field, { copykey: key, as: Select, type: type, id: name, name: name, label: label, error: errors[name] && touched[name], selectDataTestId: 'tShirtSizeSelect', message: touched[name] && getDisplayErrorMessage(label, errors[name]), disabled: disabled, children: tShirtSizes.map((size) => (jsx("option", { value: size, children: size }, size))) }, name));
80
80
  }
@@ -90,10 +90,10 @@ const UserField = ({ fieldData: { key, label, type }, fieldSettings: { enabled,
90
90
  else if (name === 'phoneNumber') {
91
91
  return (jsx(Field, { name: name, as: UserPhoneField, disabled: disabled, label: label, required: required, error: touched[name] && errors[name]
92
92
  ? getDisplayErrorMessage(label, errors[name])
93
- : undefined, verify: verify }, name));
93
+ : undefined, verify: verify, autoComplete: autoComplete }, name));
94
94
  }
95
95
  else {
96
- return (jsx(Field, { copykey: key, disabled: disabled, as: Input, type: type, id: name, name: name, label: label, optional: enabled && !required, error: errors[name] && touched[name], message: touched[name] && getDisplayErrorMessage(label, errors[name]) }, name));
96
+ return (jsx(Field, { copykey: key, disabled: disabled, as: Input, type: type, id: name, name: name, label: label, optional: enabled && !required, error: errors[name] && touched[name], message: touched[name] && getDisplayErrorMessage(label, errors[name]), autoComplete: autoComplete }, name));
97
97
  }
98
98
  };
99
99
 
@@ -46,6 +46,7 @@ const useFields = () => {
46
46
  validation: yup.string().oneOf(index.countryCodes.map((c) => c.code)),
47
47
  },
48
48
  email: {
49
+ autoComplete: 'email',
49
50
  key: 'dyn_collect_user_data.fields.email.label',
50
51
  label: t('dyn_collect_user_data.fields.email.label'),
51
52
  type: 'email',
@@ -4,6 +4,7 @@ export type FieldConfig = {
4
4
  key: string;
5
5
  type: string;
6
6
  validation: StringSchema | BooleanSchema;
7
+ autoComplete?: string;
7
8
  };
8
9
  export declare const useFields: () => {
9
10
  fieldsConfig: {
@@ -20,6 +21,7 @@ export declare const useFields: () => {
20
21
  validation: StringSchema<string | undefined, import("yup/lib/types").AnyObject, string | undefined>;
21
22
  };
22
23
  email: {
24
+ autoComplete: string;
23
25
  key: string;
24
26
  label: string;
25
27
  type: string;
@@ -42,6 +42,7 @@ const useFields = () => {
42
42
  validation: string().oneOf(countryCodes.map((c) => c.code)),
43
43
  },
44
44
  email: {
45
+ autoComplete: 'email',
45
46
  key: 'dyn_collect_user_data.fields.email.label',
46
47
  label: t('dyn_collect_user_data.fields.email.label'),
47
48
  type: 'email',
@@ -27,7 +27,7 @@ const initExport = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ i
27
27
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
28
28
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
29
29
  !walletConnectorCore.isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
30
- throw new utils.DynamicError('PasskeyWalletConnector not found');
30
+ throw new utils.DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
31
31
  }
32
32
  const turnkeyExportHandler = (_b = wallet.connector) === null || _b === void 0 ? void 0 : _b.getExportHandler();
33
33
  const publicKey = yield turnkeyExportHandler.initExport(iframeContainer, iframeElementId);
@@ -48,7 +48,7 @@ const handleExportInitCheck = ({ authToken, userEmail, wallet, }) => {
48
48
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
49
49
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
50
50
  !walletConnectorCore.isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
51
- throw new utils.DynamicError('PasskeyWalletConnector not found');
51
+ throw new utils.DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
52
52
  }
53
53
  const connector = wallet.connector;
54
54
  connector.setEmail(userEmail);
@@ -23,7 +23,7 @@ const initExport = (_a) => __awaiter(void 0, [_a], void 0, function* ({ iframeCo
23
23
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
24
24
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
25
25
  !isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
26
- throw new DynamicError('PasskeyWalletConnector not found');
26
+ throw new DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
27
27
  }
28
28
  const turnkeyExportHandler = (_b = wallet.connector) === null || _b === void 0 ? void 0 : _b.getExportHandler();
29
29
  const publicKey = yield turnkeyExportHandler.initExport(iframeContainer, iframeElementId);
@@ -44,7 +44,7 @@ const handleExportInitCheck = ({ authToken, userEmail, wallet, }) => {
44
44
  if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
45
45
  !(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
46
46
  !isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
47
- throw new DynamicError('PasskeyWalletConnector not found');
47
+ throw new DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
48
48
  }
49
49
  const connector = wallet.connector;
50
50
  connector.setEmail(userEmail);