@dynamic-labs/sdk-react-core 2.1.0-alpha.1 → 2.1.0-alpha.11
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 +92 -0
- package/package.cjs +2 -2
- package/package.js +2 -2
- package/package.json +13 -14
- package/src/index.cjs +8 -2
- package/src/index.d.ts +2 -1
- package/src/index.js +4 -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/chains/balances.cjs +38 -0
- package/src/lib/data/api/chains/balances.d.ts +8 -0
- package/src/lib/data/api/chains/balances.js +34 -0
- package/src/lib/data/api/chains/index.d.ts +1 -0
- 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/types/general.d.ts +1 -0
- 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 +2 -2
- package/src/lib/utils/constants/errors.d.ts +1 -0
- package/src/lib/utils/constants/errors.js +2 -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 +2 -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 +46 -11
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.d.ts +23 -2
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +46 -11
- 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 +13 -9
- package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.d.ts +3 -2
- package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.js +13 -9
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.cjs +4 -0
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.d.ts +2 -0
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.js +3 -1
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.cjs +192 -50
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.d.ts +26 -8
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.js +197 -55
- 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/useTokenBalances/index.d.ts +1 -0
- package/src/lib/utils/hooks/useTokenBalances/useTokenBalances.cjs +141 -0
- package/src/lib/utils/hooks/useTokenBalances/useTokenBalances.d.ts +12 -0
- package/src/lib/utils/hooks/useTokenBalances/useTokenBalances.js +137 -0
- 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/EmbeddedRevealView/EmbeddedRevealView.cjs +1 -1
- package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.js +1 -1
- package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.cjs +6 -5
- package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.js +6 -5
- 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
|
@@ -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,
|
|
@@ -43,6 +43,7 @@ require('../../../context/VerificationContext/VerificationContext.cjs');
|
|
|
43
43
|
require('react-dom');
|
|
44
44
|
require('../../../context/WalletContext/WalletContext.cjs');
|
|
45
45
|
var useIsTurnkeyWallet = require('../../../utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.cjs');
|
|
46
|
+
var turnkeyExport = require('../utils/turnkeyExport/turnkeyExport.cjs');
|
|
46
47
|
var usePromise = require('../../../utils/hooks/usePromise/usePromise.cjs');
|
|
47
48
|
require('../../../context/ThemeContext/ThemeContext.cjs');
|
|
48
49
|
var useMutation = require('../../../utils/hooks/useMutation/useMutation.cjs');
|
|
@@ -88,7 +89,6 @@ require('qrcode');
|
|
|
88
89
|
require('../../WalletList/WalletList.cjs');
|
|
89
90
|
require('../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
|
|
90
91
|
require('@hcaptcha/react-hcaptcha');
|
|
91
|
-
var turnkeyExport = require('../utils/turnkeyExport/turnkeyExport.cjs');
|
|
92
92
|
var constants = require('../constants.cjs');
|
|
93
93
|
require('../../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.cjs');
|
|
94
94
|
|
|
@@ -39,6 +39,7 @@ import '../../../context/VerificationContext/VerificationContext.js';
|
|
|
39
39
|
import 'react-dom';
|
|
40
40
|
import '../../../context/WalletContext/WalletContext.js';
|
|
41
41
|
import { useIsTurnkeyWallet } from '../../../utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.js';
|
|
42
|
+
import { cleanupExport, exportCredential, initExport } from '../utils/turnkeyExport/turnkeyExport.js';
|
|
42
43
|
import { usePromise } from '../../../utils/hooks/usePromise/usePromise.js';
|
|
43
44
|
import '../../../context/ThemeContext/ThemeContext.js';
|
|
44
45
|
import { useMutation } from '../../../utils/hooks/useMutation/useMutation.js';
|
|
@@ -84,7 +85,6 @@ import 'qrcode';
|
|
|
84
85
|
import '../../WalletList/WalletList.js';
|
|
85
86
|
import '../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
|
|
86
87
|
import '@hcaptcha/react-hcaptcha';
|
|
87
|
-
import { cleanupExport, exportCredential, initExport } from '../utils/turnkeyExport/turnkeyExport.js';
|
|
88
88
|
import { iframeContainerId, iframeElementId } from '../constants.js';
|
|
89
89
|
import '../../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.js';
|
|
90
90
|
|
|
@@ -21,18 +21,19 @@ require('../../../../shared/consts/index.cjs');
|
|
|
21
21
|
require('../../../../config/ApiEndpoint.cjs');
|
|
22
22
|
var embeddedWallets = require('../../../../data/api/embeddedWallets/embeddedWallets.cjs');
|
|
23
23
|
require('../../../../locale/locale.cjs');
|
|
24
|
+
var errors = require('../../../../utils/constants/errors.cjs');
|
|
24
25
|
|
|
25
26
|
const initExport = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ iframeContainer, iframeElementId, wallet, }) {
|
|
26
27
|
var _b;
|
|
27
28
|
if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
|
|
28
29
|
!(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
|
|
29
30
|
!walletConnectorCore.isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
|
|
30
|
-
throw new utils.DynamicError('
|
|
31
|
+
throw new utils.DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings', errors.INVALID_WALLET_DATA);
|
|
31
32
|
}
|
|
32
33
|
const turnkeyExportHandler = (_b = wallet.connector) === null || _b === void 0 ? void 0 : _b.getExportHandler();
|
|
33
34
|
const publicKey = yield turnkeyExportHandler.initExport(iframeContainer, iframeElementId);
|
|
34
35
|
if (!publicKey) {
|
|
35
|
-
throw new utils.DynamicError('Something went wrong');
|
|
36
|
+
throw new utils.DynamicError('Something went wrong', errors.ERROR_PROCESSING_REVEAL_REQUEST);
|
|
36
37
|
}
|
|
37
38
|
return turnkeyExportHandler;
|
|
38
39
|
});
|
|
@@ -48,7 +49,7 @@ const handleExportInitCheck = ({ authToken, userEmail, wallet, }) => {
|
|
|
48
49
|
if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
|
|
49
50
|
!(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
|
|
50
51
|
!walletConnectorCore.isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
|
|
51
|
-
throw new utils.DynamicError('
|
|
52
|
+
throw new utils.DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
|
|
52
53
|
}
|
|
53
54
|
const connector = wallet.connector;
|
|
54
55
|
connector.setEmail(userEmail);
|
|
@@ -86,7 +87,7 @@ const exportCredential = (_c) => _tslib.__awaiter(void 0, [_c], void 0, function
|
|
|
86
87
|
const turnkeyExportHandler = connector.getExportHandler();
|
|
87
88
|
const targetPublicKey = turnkeyExportHandler.publicKey;
|
|
88
89
|
if (!targetPublicKey) {
|
|
89
|
-
throw new utils.DynamicError('Must initialize export first');
|
|
90
|
+
throw new utils.DynamicError('Must initialize export first', errors.ERROR_PROCESSING_REVEAL_REQUEST);
|
|
90
91
|
}
|
|
91
92
|
// calls turnkey export api
|
|
92
93
|
let newActivity;
|
|
@@ -123,7 +124,7 @@ const exportCredential = (_c) => _tslib.__awaiter(void 0, [_c], void 0, function
|
|
|
123
124
|
exportBundle = res === null || res === void 0 ? void 0 : res.exportBundle;
|
|
124
125
|
}
|
|
125
126
|
if (!exportBundle) {
|
|
126
|
-
throw new utils.DynamicError('Invalid export response');
|
|
127
|
+
throw new utils.DynamicError('Invalid export response', errors.ERROR_PROCESSING_REVEAL_REQUEST);
|
|
127
128
|
}
|
|
128
129
|
if (address || privateKeyId) {
|
|
129
130
|
return turnkeyExportHandler.verifyExportPrivateKey(exportBundle);
|
|
@@ -17,18 +17,19 @@ import '../../../../shared/consts/index.js';
|
|
|
17
17
|
import '../../../../config/ApiEndpoint.js';
|
|
18
18
|
import { exportEmbeddedWallet } from '../../../../data/api/embeddedWallets/embeddedWallets.js';
|
|
19
19
|
import '../../../../locale/locale.js';
|
|
20
|
+
import { INVALID_WALLET_DATA, ERROR_PROCESSING_REVEAL_REQUEST } from '../../../../utils/constants/errors.js';
|
|
20
21
|
|
|
21
22
|
const initExport = (_a) => __awaiter(void 0, [_a], void 0, function* ({ iframeContainer, iframeElementId, wallet, }) {
|
|
22
23
|
var _b;
|
|
23
24
|
if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
|
|
24
25
|
!(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
|
|
25
26
|
!isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
|
|
26
|
-
throw new DynamicError('
|
|
27
|
+
throw new DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings', INVALID_WALLET_DATA);
|
|
27
28
|
}
|
|
28
29
|
const turnkeyExportHandler = (_b = wallet.connector) === null || _b === void 0 ? void 0 : _b.getExportHandler();
|
|
29
30
|
const publicKey = yield turnkeyExportHandler.initExport(iframeContainer, iframeElementId);
|
|
30
31
|
if (!publicKey) {
|
|
31
|
-
throw new DynamicError('Something went wrong');
|
|
32
|
+
throw new DynamicError('Something went wrong', ERROR_PROCESSING_REVEAL_REQUEST);
|
|
32
33
|
}
|
|
33
34
|
return turnkeyExportHandler;
|
|
34
35
|
});
|
|
@@ -44,7 +45,7 @@ const handleExportInitCheck = ({ authToken, userEmail, wallet, }) => {
|
|
|
44
45
|
if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
|
|
45
46
|
!(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
|
|
46
47
|
!isPasskeyWalletConnector(wallet === null || wallet === void 0 ? void 0 : wallet.connector)) {
|
|
47
|
-
throw new DynamicError('
|
|
48
|
+
throw new DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
|
|
48
49
|
}
|
|
49
50
|
const connector = wallet.connector;
|
|
50
51
|
connector.setEmail(userEmail);
|
|
@@ -82,7 +83,7 @@ const exportCredential = (_c) => __awaiter(void 0, [_c], void 0, function* ({ au
|
|
|
82
83
|
const turnkeyExportHandler = connector.getExportHandler();
|
|
83
84
|
const targetPublicKey = turnkeyExportHandler.publicKey;
|
|
84
85
|
if (!targetPublicKey) {
|
|
85
|
-
throw new DynamicError('Must initialize export first');
|
|
86
|
+
throw new DynamicError('Must initialize export first', ERROR_PROCESSING_REVEAL_REQUEST);
|
|
86
87
|
}
|
|
87
88
|
// calls turnkey export api
|
|
88
89
|
let newActivity;
|
|
@@ -119,7 +120,7 @@ const exportCredential = (_c) => __awaiter(void 0, [_c], void 0, function* ({ au
|
|
|
119
120
|
exportBundle = res === null || res === void 0 ? void 0 : res.exportBundle;
|
|
120
121
|
}
|
|
121
122
|
if (!exportBundle) {
|
|
122
|
-
throw new DynamicError('Invalid export response');
|
|
123
|
+
throw new DynamicError('Invalid export response', ERROR_PROCESSING_REVEAL_REQUEST);
|
|
123
124
|
}
|
|
124
125
|
if (address || privateKeyId) {
|
|
125
126
|
return turnkeyExportHandler.verifyExportPrivateKey(exportBundle);
|
|
@@ -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';
|