@dynamic-labs/sdk-react-core 2.1.0-alpha.1 → 2.1.0-alpha.10
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.
- package/CHANGELOG.md +79 -0
- package/package.cjs +2 -2
- package/package.js +2 -2
- package/package.json +13 -14
- package/src/index.cjs +6 -2
- package/src/index.d.ts +2 -1
- package/src/index.js +3 -1
- package/src/lib/Main.cjs +7 -0
- package/src/lib/Main.js +7 -0
- package/src/lib/components/Alert/Alert.cjs +2 -2
- package/src/lib/components/Alert/Alert.js +2 -2
- package/src/lib/components/Alert/Alert.types.d.ts +1 -0
- package/src/lib/components/EmailForm/EmailForm.cjs +1 -1
- package/src/lib/components/EmailForm/EmailForm.js +1 -1
- package/src/lib/components/PhoneNumberField/PhoneNumberField.cjs +1 -1
- package/src/lib/components/PhoneNumberField/PhoneNumberField.js +1 -1
- package/src/lib/components/Portal/Portal.cjs +2 -1
- package/src/lib/components/Portal/Portal.js +2 -1
- package/src/lib/components/RadioButton/RadioButton.cjs +14 -0
- package/src/lib/components/RadioButton/RadioButton.d.ts +5 -0
- package/src/lib/components/RadioButton/RadioButton.js +10 -0
- package/src/lib/components/RadioButton/index.d.ts +1 -0
- package/src/lib/components/Tooltip/Tooltip.cjs +2 -1
- package/src/lib/components/Tooltip/Tooltip.js +2 -1
- package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.cjs +1 -1
- package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.d.ts +2 -1
- package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.js +1 -1
- package/src/lib/components/index.d.ts +1 -0
- package/src/lib/context/DynamicContext/DynamicContext.cjs +23 -7
- package/src/lib/context/DynamicContext/DynamicContext.d.ts +5 -0
- package/src/lib/context/DynamicContext/DynamicContext.js +20 -4
- package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.cjs +2 -2
- package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.js +2 -2
- package/src/lib/context/DynamicContext/types/index.d.ts +0 -1
- package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.cjs +5 -2
- package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.js +5 -2
- package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.cjs +2 -1
- package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.d.ts +1 -1
- package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.js +2 -1
- package/src/lib/context/ErrorBoundary/ErrorBoundary.cjs +64 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundary.d.ts +3 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundary.js +60 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundaryBase.cjs +40 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundaryBase.d.ts +14 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundaryBase.js +36 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundaryContext.cjs +24 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundaryContext.d.ts +5 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundaryContext.js +18 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundaryExclude.cjs +17 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundaryExclude.d.ts +4 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundaryExclude.js +13 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundaryInclude.cjs +17 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundaryInclude.d.ts +4 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundaryInclude.js +13 -0
- package/src/lib/context/ErrorBoundary/index.d.ts +3 -0
- package/src/lib/context/ErrorBoundary/types.d.ts +13 -0
- package/src/lib/context/ViewContext/ViewContext.cjs +2 -2
- package/src/lib/context/ViewContext/ViewContext.js +2 -2
- package/src/lib/context/ViewContext/types/index.d.ts +7 -2
- package/src/lib/data/api/user/user.cjs +16 -0
- package/src/lib/data/api/user/user.js +16 -1
- package/src/lib/data/api/wallets/wallets.cjs +26 -6
- package/src/lib/data/api/wallets/wallets.d.ts +4 -0
- package/src/lib/data/api/wallets/wallets.js +26 -7
- package/src/lib/events/dynamicEvents.d.ts +1 -1
- package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +6 -0
- package/src/lib/layout/DynamicAuthLayout/Header/header.js +6 -0
- package/src/lib/locale/en/translation.cjs +45 -4
- package/src/lib/locale/en/translation.d.ts +44 -3
- package/src/lib/locale/en/translation.js +45 -4
- package/src/lib/shared/types/dynamicEventsCallbacks.d.ts +2 -1
- package/src/lib/shared/utils/classes/storage/localStorage.cjs +2 -2
- package/src/lib/shared/utils/classes/storage/localStorage.js +2 -2
- package/src/lib/styles/index.shadow.cjs +1 -1
- package/src/lib/styles/index.shadow.js +1 -1
- package/src/lib/utils/constants/errors.cjs +0 -2
- package/src/lib/utils/constants/errors.js +1 -2
- package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.cjs +14 -0
- package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.d.ts +3 -0
- package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.js +10 -0
- package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/index.d.ts +1 -0
- package/src/lib/utils/functions/createUserProfile/createUserProfile.cjs +1 -2
- package/src/lib/utils/functions/createUserProfile/createUserProfile.js +1 -2
- package/src/lib/utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.cjs +3 -4
- package/src/lib/utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.d.ts +1 -1
- package/src/lib/utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.js +4 -5
- package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.cjs +12 -9
- package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.d.ts +8 -2
- package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.js +13 -10
- package/src/lib/utils/functions/findTurnkeyWallet/index.d.ts +1 -1
- package/src/lib/utils/functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.cjs +5 -5
- package/src/lib/utils/functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.d.ts +3 -2
- package/src/lib/utils/functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.js +5 -5
- package/src/lib/utils/functions/hasEmbeddedWallet/hasEmbeddedWallet.cjs +7 -2
- package/src/lib/utils/functions/hasEmbeddedWallet/hasEmbeddedWallet.js +7 -2
- package/src/lib/utils/functions/index.d.ts +2 -1
- package/src/lib/utils/functions/serializeWalletConnectors/index.d.ts +1 -0
- package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.cjs +32 -0
- package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.d.ts +2 -0
- package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.js +28 -0
- package/src/lib/utils/hooks/index.d.ts +1 -0
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +22 -17
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +22 -17
- package/src/lib/utils/hooks/useConfirmationModal/useConfirmationModal.cjs +2 -1
- package/src/lib/utils/hooks/useConfirmationModal/useConfirmationModal.js +2 -1
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs +22 -18
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.d.ts +7 -2
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js +22 -18
- package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.cjs +8 -0
- package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.js +8 -0
- package/src/lib/utils/hooks/useDynamicScopes/useDynamicScopes.cjs +3 -3
- package/src/lib/utils/hooks/useDynamicScopes/useDynamicScopes.js +3 -3
- package/src/lib/utils/hooks/useElementById/useElementById.cjs +33 -18
- package/src/lib/utils/hooks/useElementById/useElementById.d.ts +3 -1
- package/src/lib/utils/hooks/useElementById/useElementById.js +33 -18
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +14 -10
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.d.ts +14 -2
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +14 -10
- package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.cjs +6 -6
- package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.d.ts +1 -1
- package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.js +6 -6
- package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.cjs +8 -8
- package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.d.ts +2 -2
- package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.js +8 -8
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.cjs +148 -46
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.d.ts +21 -8
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.js +152 -50
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.cjs +45 -18
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.d.ts +4 -1
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.js +45 -18
- package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.cjs +2 -2
- package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.js +2 -2
- package/src/lib/utils/hooks/useMergeUserAccounts/index.d.ts +1 -0
- package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.cjs +99 -0
- package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.d.ts +4 -0
- package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.js +95 -0
- package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.cjs +2 -1
- package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.js +2 -1
- package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.cjs +13 -4
- package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.d.ts +10 -2
- package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.js +13 -4
- package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.cjs +6 -13
- package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.d.ts +1 -3
- package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.js +6 -12
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +5 -0
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +6 -1
- package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.cjs +25 -2
- package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.js +25 -2
- package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +2 -4
- package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.d.ts +2 -1
- package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +2 -4
- package/src/lib/views/CollectUserDataView/UserDataFields/UserField/UserField.cjs +3 -3
- package/src/lib/views/CollectUserDataView/UserDataFields/UserField/UserField.js +3 -3
- package/src/lib/views/CollectUserDataView/useFields.cjs +1 -0
- package/src/lib/views/CollectUserDataView/useFields.d.ts +2 -0
- package/src/lib/views/CollectUserDataView/useFields.js +1 -0
- package/src/lib/views/EmailVerification/EmailVerification.cjs +38 -11
- package/src/lib/views/EmailVerification/EmailVerification.js +38 -11
- package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.cjs +2 -2
- package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.js +2 -2
- package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.cjs +126 -0
- package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.d.ts +6 -0
- package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.js +122 -0
- package/src/lib/views/MergeUserAccountsConflictsView/index.d.ts +1 -0
- package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.cjs +123 -0
- package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.d.ts +4 -0
- package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.js +119 -0
- package/src/lib/views/MergeUserAccountsView/index.d.ts +1 -0
- package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.cjs +3 -3
- package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.js +3 -3
- package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.cjs +2 -3
- package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.js +2 -3
- package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/EmbeddedAuthChoiceCards.cjs +2 -1
- package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/EmbeddedAuthChoiceCards.js +2 -1
- package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.cjs +9 -9
- package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.d.ts +6 -1
- package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.js +9 -9
- package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.cjs +2 -1
- package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.js +2 -1
- package/src/lib/views/Passkey/utils/{createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.cjs → createEmbeddedWalletRequest/createEmbeddedWalletRequest.cjs} +18 -19
- package/src/lib/views/Passkey/utils/{createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.d.ts → createEmbeddedWalletRequest/createEmbeddedWalletRequest.d.ts} +7 -3
- package/src/lib/views/Passkey/utils/{createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.js → createEmbeddedWalletRequest/createEmbeddedWalletRequest.js} +18 -19
- package/src/lib/views/Passkey/utils/createEmbeddedWalletRequest/index.d.ts +1 -0
- package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.cjs +16 -0
- package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.d.ts +2 -0
- package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.js +12 -0
- package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/index.d.ts +1 -0
- package/src/lib/views/Passkey/utils/index.d.ts +1 -2
- package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs +9 -9
- package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.js +9 -9
- package/src/lib/views/WalletList/WalletList.cjs +3 -6
- package/src/lib/views/WalletList/WalletList.js +3 -6
- package/src/lib/views/WalletLockedView/WalletLockedView.cjs +2 -8
- package/src/lib/views/WalletLockedView/WalletLockedView.js +2 -8
- package/src/lib/views/viewToComponentMap.cjs +4 -0
- package/src/lib/views/viewToComponentMap.d.ts +6 -2
- package/src/lib/views/viewToComponentMap.js +4 -0
- package/src/lib/widgets/DynamicWidget/components/PromptModal/PromptModal.cjs +2 -1
- package/src/lib/widgets/DynamicWidget/components/PromptModal/PromptModal.js +2 -1
- package/src/lib/widgets/DynamicWidget/hooks/useFetchNameService/useFetchNameService.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/hooks/useFetchNameService/useFetchNameService.js +1 -1
- package/src/lib/utils/functions/isEmbeddedWalletPresent/index.d.ts +0 -1
- package/src/lib/utils/functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.cjs +0 -19
- package/src/lib/utils/functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.d.ts +0 -1
- package/src/lib/utils/functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.js +0 -15
- package/src/lib/views/Passkey/utils/createEmbeddedWalletWithPasskey/index.d.ts +0 -1
- package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.cjs +0 -65
- package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.d.ts +0 -16
- package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.js +0 -61
- package/src/lib/views/Passkey/utils/createPregeneratedWallet/index.d.ts +0 -1
|
@@ -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;
|
|
@@ -27,6 +27,7 @@ require('../../shared/consts/index.cjs');
|
|
|
27
27
|
var useInternalDynamicContext = require('../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
|
|
28
28
|
require('../../context/CaptchaContext/CaptchaContext.cjs');
|
|
29
29
|
var ErrorContext = require('../../context/ErrorContext/ErrorContext.cjs');
|
|
30
|
+
var findEmbeddedWalletFromVerifiedCredentials = require('../../utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.cjs');
|
|
30
31
|
require('@dynamic-labs/multi-wallet');
|
|
31
32
|
require('react-international-phone');
|
|
32
33
|
var shortenEmail = require('../../shared/utils/functions/shortenEmail/shortenEmail.cjs');
|
|
@@ -100,7 +101,7 @@ require('../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection
|
|
|
100
101
|
const SECONDS_TO_RETRY = 15;
|
|
101
102
|
const sleepToShowSuccessMessage = () => utils.sleep(1500);
|
|
102
103
|
const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _showRetryButton = true, showTransferMessage: _showTransferMessage = false, }) => {
|
|
103
|
-
var _a, _b, _c, _d;
|
|
104
|
+
var _a, _b, _c, _d, _e, _f;
|
|
104
105
|
const [showRetryButton, setShowRetryButton] = React.useState(_showRetryButton);
|
|
105
106
|
const [showTransferMessage, setShowTransferMessage] = React.useState(_showTransferMessage);
|
|
106
107
|
const { handleVerifiedUserWithJWT } = useHandleVerifiedUser.useHandleVerifiedUser();
|
|
@@ -135,7 +136,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
|
|
|
135
136
|
const { createUserProfileByJWT } = useCreateUserProfileByJWTCallback.useCreateUserProfileByJWTCallback();
|
|
136
137
|
const isTurnkeyProviderEnabled = isTurnkeyEnabled.isTurnkeyEnabled(projectSettings);
|
|
137
138
|
const handleComplete = React.useCallback((verificationToken) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
138
|
-
var
|
|
139
|
+
var _g, _h, _j, _k, _l, _m, _o;
|
|
139
140
|
setError(undefined);
|
|
140
141
|
setLoading(true);
|
|
141
142
|
if (!verificationUUID || (!authToken && !onboardingOnlyJwt)) {
|
|
@@ -172,16 +173,41 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
|
|
|
172
173
|
if (isTurnkeyWallet &&
|
|
173
174
|
hasTurnkeyVerifiedCredentialAuthenticator &&
|
|
174
175
|
!hasRecoveryEmail &&
|
|
175
|
-
((
|
|
176
|
+
((_g = updateUserProfileResponse === null || updateUserProfileResponse === void 0 ? void 0 : updateUserProfileResponse.user) === null || _g === void 0 ? void 0 : _g.email)) {
|
|
176
177
|
setUser(updateJWTAndCreateUserProfile.updateJWTAndCreateUserProfile(updateUserProfileResponse.jwt, updateUserProfileResponse.minifiedJwt));
|
|
177
178
|
yield addRecoveryEmail(updateUserProfileResponse.user.email);
|
|
178
179
|
setShowAuthFlow(false);
|
|
179
180
|
return;
|
|
180
181
|
}
|
|
181
|
-
if (isTurnkeyProviderEnabled
|
|
182
|
-
!((
|
|
183
|
-
|
|
184
|
-
|
|
182
|
+
if (isTurnkeyProviderEnabled) {
|
|
183
|
+
const isManualMode = !((_j = (_h = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _h === void 0 ? void 0 : _h.embeddedWallets) === null || _j === void 0 ? void 0 : _j.automaticEmbeddedWalletCreation);
|
|
184
|
+
const isUsingPregeneratedWallets = Boolean(((_l = (_k = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _k === void 0 ? void 0 : _k.embeddedWallets) === null || _l === void 0 ? void 0 : _l.automaticEmbeddedWalletCreation) &&
|
|
185
|
+
!((_o = (_m = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _m === void 0 ? void 0 : _m.embeddedWallets) === null || _o === void 0 ? void 0 : _o.forceAuthenticatorAtSignup));
|
|
186
|
+
if (isUsingPregeneratedWallets) {
|
|
187
|
+
// Pregenerated wallet was created during an
|
|
188
|
+
// additional email validation step as part of onboarding
|
|
189
|
+
// cannot rely on newUser JWT field here due to session being counted twice
|
|
190
|
+
// when authentication happens followed by a separate email kyc step
|
|
191
|
+
const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials.findEmbeddedWalletFromVerifiedCredentials(updateUserProfileResponse.jwt);
|
|
192
|
+
if (!embeddedWalletVerifiedCredential) {
|
|
193
|
+
throw new Error('Could not find an embedded wallet');
|
|
194
|
+
}
|
|
195
|
+
const wallet = {
|
|
196
|
+
address: embeddedWalletVerifiedCredential.address,
|
|
197
|
+
authenticated: false,
|
|
198
|
+
chain: embeddedWalletVerifiedCredential.chain,
|
|
199
|
+
connected: true,
|
|
200
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
201
|
+
// @ts-ignore
|
|
202
|
+
connector: undefined,
|
|
203
|
+
id: embeddedWalletVerifiedCredential.id,
|
|
204
|
+
};
|
|
205
|
+
dynamicEvents.dynamicEvents.emit('embeddedWalletCreated', wallet, embeddedWalletVerifiedCredential, updateUserProfileResponse.jwt);
|
|
206
|
+
}
|
|
207
|
+
if (isUsingPregeneratedWallets || isManualMode) {
|
|
208
|
+
setShowAuthFlow(false);
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
185
211
|
}
|
|
186
212
|
// this function will check turnkey wallet enabled and create wallet if needed
|
|
187
213
|
// if not enabled, it will throw an error.
|
|
@@ -217,7 +243,6 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
|
|
|
217
243
|
hasTurnkeyVerifiedCredentialAuthenticator,
|
|
218
244
|
hasRecoveryEmail,
|
|
219
245
|
isTurnkeyProviderEnabled,
|
|
220
|
-
(_b = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _a === void 0 ? void 0 : _a.embeddedWallets) === null || _b === void 0 ? void 0 : _b.automaticEmbeddedWalletCreation,
|
|
221
246
|
createEmbeddedWallet,
|
|
222
247
|
setOnboardingOnlyJwt,
|
|
223
248
|
setView,
|
|
@@ -226,10 +251,12 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
|
|
|
226
251
|
setUser,
|
|
227
252
|
addRecoveryEmail,
|
|
228
253
|
setShowAuthFlow,
|
|
254
|
+
(_b = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _a === void 0 ? void 0 : _a.embeddedWallets) === null || _b === void 0 ? void 0 : _b.automaticEmbeddedWalletCreation,
|
|
255
|
+
(_d = (_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _c === void 0 ? void 0 : _c.embeddedWallets) === null || _d === void 0 ? void 0 : _d.forceAuthenticatorAtSignup,
|
|
229
256
|
setErrorMessage,
|
|
230
257
|
]);
|
|
231
258
|
const handleEmailLogin = React.useCallback((verificationToken) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
232
|
-
var
|
|
259
|
+
var _p, _q;
|
|
233
260
|
setError(undefined);
|
|
234
261
|
setLoading(true);
|
|
235
262
|
if (!verificationUUID) {
|
|
@@ -264,7 +291,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
|
|
|
264
291
|
yield sleepToShowSuccessMessage();
|
|
265
292
|
yield createUserProfileByJWT(jwt, minifiedJwt);
|
|
266
293
|
if (isTurnkeyProviderEnabled &&
|
|
267
|
-
!((
|
|
294
|
+
!((_q = (_p = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _p === void 0 ? void 0 : _p.embeddedWallets) === null || _q === void 0 ? void 0 : _q.automaticEmbeddedWalletCreation)) {
|
|
268
295
|
setShowAuthFlow(false);
|
|
269
296
|
return;
|
|
270
297
|
}
|
|
@@ -297,7 +324,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
|
|
|
297
324
|
setCallback,
|
|
298
325
|
createUserProfileByJWT,
|
|
299
326
|
isTurnkeyProviderEnabled,
|
|
300
|
-
(
|
|
327
|
+
(_f = (_e = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _e === void 0 ? void 0 : _e.embeddedWallets) === null || _f === void 0 ? void 0 : _f.automaticEmbeddedWalletCreation,
|
|
301
328
|
createEmbeddedWallet,
|
|
302
329
|
setOnboardingOnlyJwt,
|
|
303
330
|
setView,
|
|
@@ -23,6 +23,7 @@ import '../../shared/consts/index.js';
|
|
|
23
23
|
import { useInternalDynamicContext } from '../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
|
|
24
24
|
import '../../context/CaptchaContext/CaptchaContext.js';
|
|
25
25
|
import { useErrorContext } from '../../context/ErrorContext/ErrorContext.js';
|
|
26
|
+
import { findEmbeddedWalletFromVerifiedCredentials } from '../../utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.js';
|
|
26
27
|
import '@dynamic-labs/multi-wallet';
|
|
27
28
|
import 'react-international-phone';
|
|
28
29
|
import { shortenEmail } from '../../shared/utils/functions/shortenEmail/shortenEmail.js';
|
|
@@ -96,7 +97,7 @@ import '../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.
|
|
|
96
97
|
const SECONDS_TO_RETRY = 15;
|
|
97
98
|
const sleepToShowSuccessMessage = () => sleep(1500);
|
|
98
99
|
const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _showRetryButton = true, showTransferMessage: _showTransferMessage = false, }) => {
|
|
99
|
-
var _a, _b, _c, _d;
|
|
100
|
+
var _a, _b, _c, _d, _e, _f;
|
|
100
101
|
const [showRetryButton, setShowRetryButton] = useState(_showRetryButton);
|
|
101
102
|
const [showTransferMessage, setShowTransferMessage] = useState(_showTransferMessage);
|
|
102
103
|
const { handleVerifiedUserWithJWT } = useHandleVerifiedUser();
|
|
@@ -131,7 +132,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
|
|
|
131
132
|
const { createUserProfileByJWT } = useCreateUserProfileByJWTCallback();
|
|
132
133
|
const isTurnkeyProviderEnabled = isTurnkeyEnabled(projectSettings);
|
|
133
134
|
const handleComplete = useCallback((verificationToken) => __awaiter(void 0, void 0, void 0, function* () {
|
|
134
|
-
var
|
|
135
|
+
var _g, _h, _j, _k, _l, _m, _o;
|
|
135
136
|
setError(undefined);
|
|
136
137
|
setLoading(true);
|
|
137
138
|
if (!verificationUUID || (!authToken && !onboardingOnlyJwt)) {
|
|
@@ -168,16 +169,41 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
|
|
|
168
169
|
if (isTurnkeyWallet &&
|
|
169
170
|
hasTurnkeyVerifiedCredentialAuthenticator &&
|
|
170
171
|
!hasRecoveryEmail &&
|
|
171
|
-
((
|
|
172
|
+
((_g = updateUserProfileResponse === null || updateUserProfileResponse === void 0 ? void 0 : updateUserProfileResponse.user) === null || _g === void 0 ? void 0 : _g.email)) {
|
|
172
173
|
setUser(updateJWTAndCreateUserProfile(updateUserProfileResponse.jwt, updateUserProfileResponse.minifiedJwt));
|
|
173
174
|
yield addRecoveryEmail(updateUserProfileResponse.user.email);
|
|
174
175
|
setShowAuthFlow(false);
|
|
175
176
|
return;
|
|
176
177
|
}
|
|
177
|
-
if (isTurnkeyProviderEnabled
|
|
178
|
-
!((
|
|
179
|
-
|
|
180
|
-
|
|
178
|
+
if (isTurnkeyProviderEnabled) {
|
|
179
|
+
const isManualMode = !((_j = (_h = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _h === void 0 ? void 0 : _h.embeddedWallets) === null || _j === void 0 ? void 0 : _j.automaticEmbeddedWalletCreation);
|
|
180
|
+
const isUsingPregeneratedWallets = Boolean(((_l = (_k = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _k === void 0 ? void 0 : _k.embeddedWallets) === null || _l === void 0 ? void 0 : _l.automaticEmbeddedWalletCreation) &&
|
|
181
|
+
!((_o = (_m = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _m === void 0 ? void 0 : _m.embeddedWallets) === null || _o === void 0 ? void 0 : _o.forceAuthenticatorAtSignup));
|
|
182
|
+
if (isUsingPregeneratedWallets) {
|
|
183
|
+
// Pregenerated wallet was created during an
|
|
184
|
+
// additional email validation step as part of onboarding
|
|
185
|
+
// cannot rely on newUser JWT field here due to session being counted twice
|
|
186
|
+
// when authentication happens followed by a separate email kyc step
|
|
187
|
+
const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials(updateUserProfileResponse.jwt);
|
|
188
|
+
if (!embeddedWalletVerifiedCredential) {
|
|
189
|
+
throw new Error('Could not find an embedded wallet');
|
|
190
|
+
}
|
|
191
|
+
const wallet = {
|
|
192
|
+
address: embeddedWalletVerifiedCredential.address,
|
|
193
|
+
authenticated: false,
|
|
194
|
+
chain: embeddedWalletVerifiedCredential.chain,
|
|
195
|
+
connected: true,
|
|
196
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
197
|
+
// @ts-ignore
|
|
198
|
+
connector: undefined,
|
|
199
|
+
id: embeddedWalletVerifiedCredential.id,
|
|
200
|
+
};
|
|
201
|
+
dynamicEvents.emit('embeddedWalletCreated', wallet, embeddedWalletVerifiedCredential, updateUserProfileResponse.jwt);
|
|
202
|
+
}
|
|
203
|
+
if (isUsingPregeneratedWallets || isManualMode) {
|
|
204
|
+
setShowAuthFlow(false);
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
181
207
|
}
|
|
182
208
|
// this function will check turnkey wallet enabled and create wallet if needed
|
|
183
209
|
// if not enabled, it will throw an error.
|
|
@@ -213,7 +239,6 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
|
|
|
213
239
|
hasTurnkeyVerifiedCredentialAuthenticator,
|
|
214
240
|
hasRecoveryEmail,
|
|
215
241
|
isTurnkeyProviderEnabled,
|
|
216
|
-
(_b = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _a === void 0 ? void 0 : _a.embeddedWallets) === null || _b === void 0 ? void 0 : _b.automaticEmbeddedWalletCreation,
|
|
217
242
|
createEmbeddedWallet,
|
|
218
243
|
setOnboardingOnlyJwt,
|
|
219
244
|
setView,
|
|
@@ -222,10 +247,12 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
|
|
|
222
247
|
setUser,
|
|
223
248
|
addRecoveryEmail,
|
|
224
249
|
setShowAuthFlow,
|
|
250
|
+
(_b = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _a === void 0 ? void 0 : _a.embeddedWallets) === null || _b === void 0 ? void 0 : _b.automaticEmbeddedWalletCreation,
|
|
251
|
+
(_d = (_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _c === void 0 ? void 0 : _c.embeddedWallets) === null || _d === void 0 ? void 0 : _d.forceAuthenticatorAtSignup,
|
|
225
252
|
setErrorMessage,
|
|
226
253
|
]);
|
|
227
254
|
const handleEmailLogin = useCallback((verificationToken) => __awaiter(void 0, void 0, void 0, function* () {
|
|
228
|
-
var
|
|
255
|
+
var _p, _q;
|
|
229
256
|
setError(undefined);
|
|
230
257
|
setLoading(true);
|
|
231
258
|
if (!verificationUUID) {
|
|
@@ -260,7 +287,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
|
|
|
260
287
|
yield sleepToShowSuccessMessage();
|
|
261
288
|
yield createUserProfileByJWT(jwt, minifiedJwt);
|
|
262
289
|
if (isTurnkeyProviderEnabled &&
|
|
263
|
-
!((
|
|
290
|
+
!((_q = (_p = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _p === void 0 ? void 0 : _p.embeddedWallets) === null || _q === void 0 ? void 0 : _q.automaticEmbeddedWalletCreation)) {
|
|
264
291
|
setShowAuthFlow(false);
|
|
265
292
|
return;
|
|
266
293
|
}
|
|
@@ -293,7 +320,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
|
|
|
293
320
|
setCallback,
|
|
294
321
|
createUserProfileByJWT,
|
|
295
322
|
isTurnkeyProviderEnabled,
|
|
296
|
-
(
|
|
323
|
+
(_f = (_e = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _e === void 0 ? void 0 : _e.embeddedWallets) === null || _f === void 0 ? void 0 : _f.automaticEmbeddedWalletCreation,
|
|
297
324
|
createEmbeddedWallet,
|
|
298
325
|
setOnboardingOnlyJwt,
|
|
299
326
|
setView,
|
|
@@ -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('
|
|
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('
|
|
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('
|
|
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('
|
|
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);
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
var _tslib = require('../../../../_virtual/_tslib.cjs');
|
|
7
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
8
|
+
var React = require('react');
|
|
9
|
+
var reactI18next = require('react-i18next');
|
|
10
|
+
var sdkApiCore = require('@dynamic-labs/sdk-api-core');
|
|
11
|
+
require('../../events/dynamicEvents.cjs');
|
|
12
|
+
require('@dynamic-labs/utils');
|
|
13
|
+
require('../../context/DynamicContext/DynamicContext.cjs');
|
|
14
|
+
var logger = require('../../shared/logger.cjs');
|
|
15
|
+
require('@dynamic-labs/iconic');
|
|
16
|
+
require('@dynamic-labs/wallet-connector-core');
|
|
17
|
+
require('../../context/ViewContext/ViewContext.cjs');
|
|
18
|
+
require('@dynamic-labs/wallet-book');
|
|
19
|
+
require('../../utils/constants/colors.cjs');
|
|
20
|
+
require('../../utils/constants/values.cjs');
|
|
21
|
+
require('../../shared/utils/classes/storage/localStorage.cjs');
|
|
22
|
+
var capitalize = require('../../shared/utils/functions/capitalize/capitalize.cjs');
|
|
23
|
+
require('../../shared/consts/index.cjs');
|
|
24
|
+
require('../../context/CaptchaContext/CaptchaContext.cjs');
|
|
25
|
+
require('../../context/ErrorContext/ErrorContext.cjs');
|
|
26
|
+
require('@dynamic-labs/multi-wallet');
|
|
27
|
+
require('react-international-phone');
|
|
28
|
+
require('viem');
|
|
29
|
+
require('viem/chains');
|
|
30
|
+
require('../../config/ApiEndpoint.cjs');
|
|
31
|
+
require('../../locale/locale.cjs');
|
|
32
|
+
require('../../context/AccessDeniedContext/AccessDeniedContext.cjs');
|
|
33
|
+
require('../../context/AccountExistsContext/AccountExistsContext.cjs');
|
|
34
|
+
require('../../context/UserWalletsContext/UserWalletsContext.cjs');
|
|
35
|
+
require('../../context/VerificationContext/VerificationContext.cjs');
|
|
36
|
+
require('react-dom');
|
|
37
|
+
require('../../context/WalletContext/WalletContext.cjs');
|
|
38
|
+
require('../../context/ThemeContext/ThemeContext.cjs');
|
|
39
|
+
require('@dynamic-labs/types');
|
|
40
|
+
require('yup');
|
|
41
|
+
require('../../context/MockContext/MockContext.cjs');
|
|
42
|
+
require('../../context/FieldsStateContext/FieldsStateContext.cjs');
|
|
43
|
+
require('../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
|
|
44
|
+
require('../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
|
|
45
|
+
require('@dynamic-labs/rpc-providers');
|
|
46
|
+
var Typography = require('../../components/Typography/Typography.cjs');
|
|
47
|
+
require('../../context/FooterAnimationContext/index.cjs');
|
|
48
|
+
require('../../components/ShadowDOM/ShadowDOM.cjs');
|
|
49
|
+
require('../../components/Transition/ZoomTransition/ZoomTransition.cjs');
|
|
50
|
+
require('../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
|
|
51
|
+
require('../../components/Transition/OpacityTransition/OpacityTransition.cjs');
|
|
52
|
+
require('../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.cjs');
|
|
53
|
+
require('../../context/SocialRedirectContext/SocialRedirectContext.cjs');
|
|
54
|
+
require('../../context/WalletGroupContext/WalletGroupContext.cjs');
|
|
55
|
+
require('../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
|
|
56
|
+
require('react-focus-lock');
|
|
57
|
+
require('../../context/LoadingContext/LoadingContext.cjs');
|
|
58
|
+
require('../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
|
|
59
|
+
require('../../components/IconButton/IconButton.cjs');
|
|
60
|
+
require('../../components/MenuList/Dropdown/Dropdown.cjs');
|
|
61
|
+
require('formik');
|
|
62
|
+
var TypographyButton = require('../../components/TypographyButton/TypographyButton.cjs');
|
|
63
|
+
require('../TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
|
|
64
|
+
var Alert = require('../../components/Alert/Alert.cjs');
|
|
65
|
+
require('../../components/Input/Input.cjs');
|
|
66
|
+
require('../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.cjs');
|
|
67
|
+
require('../../context/PasskeyContext/PasskeyContext.cjs');
|
|
68
|
+
require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
|
|
69
|
+
var useMergeUserAccounts = require('../../utils/hooks/useMergeUserAccounts/useMergeUserAccounts.cjs');
|
|
70
|
+
require('../../components/InlineWidget/InlineWidget.cjs');
|
|
71
|
+
require('../../components/IsBrowser/IsBrowser.cjs');
|
|
72
|
+
require('../../components/Popper/Popper/Popper.cjs');
|
|
73
|
+
require('../../components/Popper/PopperContext/PopperContext.cjs');
|
|
74
|
+
require('qrcode');
|
|
75
|
+
var RadioButton = require('../../components/RadioButton/RadioButton.cjs');
|
|
76
|
+
require('../WalletList/WalletList.cjs');
|
|
77
|
+
require('../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
|
|
78
|
+
require('@hcaptcha/react-hcaptcha');
|
|
79
|
+
require('../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.cjs');
|
|
80
|
+
|
|
81
|
+
const MergeUserAccountsConflictsView = ({ mergeConflicts }) => {
|
|
82
|
+
const { mergeUserAccounts } = useMergeUserAccounts.useMergeUserAccounts();
|
|
83
|
+
const { t } = reactI18next.useTranslation();
|
|
84
|
+
const [error, setError] = React.useState('');
|
|
85
|
+
const mergeResolutions = React.useRef(
|
|
86
|
+
// defaults to current user field values
|
|
87
|
+
Object.fromEntries(mergeConflicts.map(({ field, currentUser }) => [
|
|
88
|
+
`${field.name}_${field.type}`,
|
|
89
|
+
{
|
|
90
|
+
fieldKey: field.name,
|
|
91
|
+
type: field.type || sdkApiCore.KycFieldType.Standard,
|
|
92
|
+
userId: currentUser.userId,
|
|
93
|
+
},
|
|
94
|
+
])));
|
|
95
|
+
const handleMergeConfirm = () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
96
|
+
const parsedMergeResolutions = Object.values(mergeResolutions.current).map(({ fieldKey, type, userId }) => ({
|
|
97
|
+
fieldKey,
|
|
98
|
+
type,
|
|
99
|
+
userId,
|
|
100
|
+
}));
|
|
101
|
+
try {
|
|
102
|
+
yield mergeUserAccounts(parsedMergeResolutions);
|
|
103
|
+
}
|
|
104
|
+
catch (error) {
|
|
105
|
+
logger.logger.error('Error merging user accounts', error);
|
|
106
|
+
setError(t('dyn_merge_user_accounts_conflicts.errors.merge_error'));
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
if (!(mergeConflicts === null || mergeConflicts === void 0 ? void 0 : mergeConflicts.length)) {
|
|
110
|
+
return null;
|
|
111
|
+
}
|
|
112
|
+
const handleOptionChange = (fieldKey, fieldType, userId, isSelected) => {
|
|
113
|
+
setError('');
|
|
114
|
+
if (!isSelected) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
mergeResolutions.current[`${fieldKey}_${fieldType}`] = {
|
|
118
|
+
fieldKey,
|
|
119
|
+
type: fieldType || sdkApiCore.KycFieldType.Standard,
|
|
120
|
+
userId,
|
|
121
|
+
};
|
|
122
|
+
};
|
|
123
|
+
return (jsxRuntime.jsxs("div", { className: 'merge-user-accounts-conflicts__container', children: [error && (jsxRuntime.jsx(Alert.Alert, { icon: 'error', variant: 'error', className: 'merge-user-accounts-conflicts__error', children: error })), jsxRuntime.jsx("div", { className: 'merge-user-accounts-conflicts__fields', children: mergeConflicts.map(({ field, currentUser, fromUser }) => (jsxRuntime.jsxs("div", { className: 'merge-user-accounts-conflicts__fields__item', children: [jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', className: 'merge-user-accounts-conflicts__fields__item__name', children: capitalize.capitalize(field.name) }), jsxRuntime.jsx(RadioButton.RadioButton, { name: field.name, value: currentUser.value, checked: true, className: 'merge-user-accounts-conflicts__fields__item__button', onChange: (e) => handleOptionChange(field.name, field.type, currentUser.userId, e.target.checked), children: currentUser.value }), jsxRuntime.jsx(RadioButton.RadioButton, { name: field.name, value: fromUser.value, className: 'merge-user-accounts-conflicts__fields__item__button', onChange: (e) => handleOptionChange(field.name, field.type, fromUser.userId, e.target.checked), children: fromUser.value })] }, field.name))) }), jsxRuntime.jsx("div", { className: 'merge-user-accounts-conflicts__buttons', children: jsxRuntime.jsx(TypographyButton.TypographyButton, { className: 'merge-user-accounts-conflicts__buttons__button', onClick: handleMergeConfirm, buttonVariant: 'primary', buttonPadding: 'large', expanded: true, copykey: 'dyn_merge_user_accounts_conflicts.confirm_button', children: t('dyn_merge_user_accounts_conflicts.confirm_button') }) })] }));
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
exports.MergeUserAccountsConflictsView = MergeUserAccountsConflictsView;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { MergeUserConflict } from '@dynamic-labs/sdk-api-core';
|
|
3
|
+
export type MergeUserAccountsConflictsViewProps = {
|
|
4
|
+
mergeConflicts: MergeUserConflict[];
|
|
5
|
+
};
|
|
6
|
+
export declare const MergeUserAccountsConflictsView: FC<MergeUserAccountsConflictsViewProps>;
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
import { __awaiter } from '../../../../_virtual/_tslib.js';
|
|
3
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
4
|
+
import { useState, useRef } from 'react';
|
|
5
|
+
import { useTranslation } from 'react-i18next';
|
|
6
|
+
import { KycFieldType } from '@dynamic-labs/sdk-api-core';
|
|
7
|
+
import '../../events/dynamicEvents.js';
|
|
8
|
+
import '@dynamic-labs/utils';
|
|
9
|
+
import '../../context/DynamicContext/DynamicContext.js';
|
|
10
|
+
import { logger } from '../../shared/logger.js';
|
|
11
|
+
import '@dynamic-labs/iconic';
|
|
12
|
+
import '@dynamic-labs/wallet-connector-core';
|
|
13
|
+
import '../../context/ViewContext/ViewContext.js';
|
|
14
|
+
import '@dynamic-labs/wallet-book';
|
|
15
|
+
import '../../utils/constants/colors.js';
|
|
16
|
+
import '../../utils/constants/values.js';
|
|
17
|
+
import '../../shared/utils/classes/storage/localStorage.js';
|
|
18
|
+
import { capitalize } from '../../shared/utils/functions/capitalize/capitalize.js';
|
|
19
|
+
import '../../shared/consts/index.js';
|
|
20
|
+
import '../../context/CaptchaContext/CaptchaContext.js';
|
|
21
|
+
import '../../context/ErrorContext/ErrorContext.js';
|
|
22
|
+
import '@dynamic-labs/multi-wallet';
|
|
23
|
+
import 'react-international-phone';
|
|
24
|
+
import 'viem';
|
|
25
|
+
import 'viem/chains';
|
|
26
|
+
import '../../config/ApiEndpoint.js';
|
|
27
|
+
import '../../locale/locale.js';
|
|
28
|
+
import '../../context/AccessDeniedContext/AccessDeniedContext.js';
|
|
29
|
+
import '../../context/AccountExistsContext/AccountExistsContext.js';
|
|
30
|
+
import '../../context/UserWalletsContext/UserWalletsContext.js';
|
|
31
|
+
import '../../context/VerificationContext/VerificationContext.js';
|
|
32
|
+
import 'react-dom';
|
|
33
|
+
import '../../context/WalletContext/WalletContext.js';
|
|
34
|
+
import '../../context/ThemeContext/ThemeContext.js';
|
|
35
|
+
import '@dynamic-labs/types';
|
|
36
|
+
import 'yup';
|
|
37
|
+
import '../../context/MockContext/MockContext.js';
|
|
38
|
+
import '../../context/FieldsStateContext/FieldsStateContext.js';
|
|
39
|
+
import '../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
|
|
40
|
+
import '../../context/UserFieldEditorContext/UserFieldEditorContext.js';
|
|
41
|
+
import '@dynamic-labs/rpc-providers';
|
|
42
|
+
import { Typography } from '../../components/Typography/Typography.js';
|
|
43
|
+
import '../../context/FooterAnimationContext/index.js';
|
|
44
|
+
import '../../components/ShadowDOM/ShadowDOM.js';
|
|
45
|
+
import '../../components/Transition/ZoomTransition/ZoomTransition.js';
|
|
46
|
+
import '../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
|
|
47
|
+
import '../../components/Transition/OpacityTransition/OpacityTransition.js';
|
|
48
|
+
import '../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.js';
|
|
49
|
+
import '../../context/SocialRedirectContext/SocialRedirectContext.js';
|
|
50
|
+
import '../../context/WalletGroupContext/WalletGroupContext.js';
|
|
51
|
+
import '../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
|
|
52
|
+
import 'react-focus-lock';
|
|
53
|
+
import '../../context/LoadingContext/LoadingContext.js';
|
|
54
|
+
import '../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
|
|
55
|
+
import '../../components/IconButton/IconButton.js';
|
|
56
|
+
import '../../components/MenuList/Dropdown/Dropdown.js';
|
|
57
|
+
import 'formik';
|
|
58
|
+
import { TypographyButton } from '../../components/TypographyButton/TypographyButton.js';
|
|
59
|
+
import '../TransactionConfirmationView/helpers/transactionErrorMessage.js';
|
|
60
|
+
import { Alert } from '../../components/Alert/Alert.js';
|
|
61
|
+
import '../../components/Input/Input.js';
|
|
62
|
+
import '../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.js';
|
|
63
|
+
import '../../context/PasskeyContext/PasskeyContext.js';
|
|
64
|
+
import '../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
|
|
65
|
+
import { useMergeUserAccounts } from '../../utils/hooks/useMergeUserAccounts/useMergeUserAccounts.js';
|
|
66
|
+
import '../../components/InlineWidget/InlineWidget.js';
|
|
67
|
+
import '../../components/IsBrowser/IsBrowser.js';
|
|
68
|
+
import '../../components/Popper/Popper/Popper.js';
|
|
69
|
+
import '../../components/Popper/PopperContext/PopperContext.js';
|
|
70
|
+
import 'qrcode';
|
|
71
|
+
import { RadioButton } from '../../components/RadioButton/RadioButton.js';
|
|
72
|
+
import '../WalletList/WalletList.js';
|
|
73
|
+
import '../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
|
|
74
|
+
import '@hcaptcha/react-hcaptcha';
|
|
75
|
+
import '../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.js';
|
|
76
|
+
|
|
77
|
+
const MergeUserAccountsConflictsView = ({ mergeConflicts }) => {
|
|
78
|
+
const { mergeUserAccounts } = useMergeUserAccounts();
|
|
79
|
+
const { t } = useTranslation();
|
|
80
|
+
const [error, setError] = useState('');
|
|
81
|
+
const mergeResolutions = useRef(
|
|
82
|
+
// defaults to current user field values
|
|
83
|
+
Object.fromEntries(mergeConflicts.map(({ field, currentUser }) => [
|
|
84
|
+
`${field.name}_${field.type}`,
|
|
85
|
+
{
|
|
86
|
+
fieldKey: field.name,
|
|
87
|
+
type: field.type || KycFieldType.Standard,
|
|
88
|
+
userId: currentUser.userId,
|
|
89
|
+
},
|
|
90
|
+
])));
|
|
91
|
+
const handleMergeConfirm = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
92
|
+
const parsedMergeResolutions = Object.values(mergeResolutions.current).map(({ fieldKey, type, userId }) => ({
|
|
93
|
+
fieldKey,
|
|
94
|
+
type,
|
|
95
|
+
userId,
|
|
96
|
+
}));
|
|
97
|
+
try {
|
|
98
|
+
yield mergeUserAccounts(parsedMergeResolutions);
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
logger.error('Error merging user accounts', error);
|
|
102
|
+
setError(t('dyn_merge_user_accounts_conflicts.errors.merge_error'));
|
|
103
|
+
}
|
|
104
|
+
});
|
|
105
|
+
if (!(mergeConflicts === null || mergeConflicts === void 0 ? void 0 : mergeConflicts.length)) {
|
|
106
|
+
return null;
|
|
107
|
+
}
|
|
108
|
+
const handleOptionChange = (fieldKey, fieldType, userId, isSelected) => {
|
|
109
|
+
setError('');
|
|
110
|
+
if (!isSelected) {
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
mergeResolutions.current[`${fieldKey}_${fieldType}`] = {
|
|
114
|
+
fieldKey,
|
|
115
|
+
type: fieldType || KycFieldType.Standard,
|
|
116
|
+
userId,
|
|
117
|
+
};
|
|
118
|
+
};
|
|
119
|
+
return (jsxs("div", { className: 'merge-user-accounts-conflicts__container', children: [error && (jsx(Alert, { icon: 'error', variant: 'error', className: 'merge-user-accounts-conflicts__error', children: error })), jsx("div", { className: 'merge-user-accounts-conflicts__fields', children: mergeConflicts.map(({ field, currentUser, fromUser }) => (jsxs("div", { className: 'merge-user-accounts-conflicts__fields__item', children: [jsx(Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', className: 'merge-user-accounts-conflicts__fields__item__name', children: capitalize(field.name) }), jsx(RadioButton, { name: field.name, value: currentUser.value, checked: true, className: 'merge-user-accounts-conflicts__fields__item__button', onChange: (e) => handleOptionChange(field.name, field.type, currentUser.userId, e.target.checked), children: currentUser.value }), jsx(RadioButton, { name: field.name, value: fromUser.value, className: 'merge-user-accounts-conflicts__fields__item__button', onChange: (e) => handleOptionChange(field.name, field.type, fromUser.userId, e.target.checked), children: fromUser.value })] }, field.name))) }), jsx("div", { className: 'merge-user-accounts-conflicts__buttons', children: jsx(TypographyButton, { className: 'merge-user-accounts-conflicts__buttons__button', onClick: handleMergeConfirm, buttonVariant: 'primary', buttonPadding: 'large', expanded: true, copykey: 'dyn_merge_user_accounts_conflicts.confirm_button', children: t('dyn_merge_user_accounts_conflicts.confirm_button') }) })] }));
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
export { MergeUserAccountsConflictsView };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { MergeUserAccountsConflictsView } from './MergeUserAccountsConflictsView';
|