@dynamic-labs/sdk-react-core 2.1.0-alpha.22 → 2.1.0-alpha.23
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 +15 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +13 -13
- package/src/index.d.ts +5 -1
- package/src/lib/components/AuthProviderIcon/AuthProviderIcon.cjs +2 -6
- package/src/lib/components/AuthProviderIcon/AuthProviderIcon.js +2 -6
- package/src/lib/components/SyncEmbeddedWalletAuthFlow/SyncEmbeddedWalletAuthFlow.cjs +11 -5
- package/src/lib/components/SyncEmbeddedWalletAuthFlow/SyncEmbeddedWalletAuthFlow.js +11 -5
- package/src/lib/context/DynamicContext/DynamicContext.cjs +8 -17
- package/src/lib/context/DynamicContext/DynamicContext.js +8 -17
- package/src/lib/context/DynamicContext/hooks/useHandleLogout/types.d.ts +0 -1
- package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.cjs +0 -2
- package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.js +1 -3
- package/src/lib/context/DynamicContext/hooks/useIsAuthenticated/index.d.ts +1 -0
- package/src/lib/context/DynamicContext/hooks/useIsAuthenticated/useIsAuthenticated.cjs +37 -0
- package/src/lib/context/DynamicContext/hooks/useIsAuthenticated/useIsAuthenticated.d.ts +1 -0
- package/src/lib/context/DynamicContext/hooks/useIsAuthenticated/useIsAuthenticated.js +33 -0
- package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.cjs +9 -1
- package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.js +9 -1
- package/src/lib/context/DynamicContext/types/index.d.ts +1 -4
- package/src/lib/context/LoadingContext/LoadingContext.cjs +1 -1
- package/src/lib/context/LoadingContext/LoadingContext.js +1 -1
- package/src/lib/context/PhantomRedirectContext/useResponseHandlers.cjs +1 -1
- package/src/lib/context/PhantomRedirectContext/useResponseHandlers.js +1 -1
- package/src/lib/context/SocialRedirectContext/SocialRedirectContext.cjs +1 -1
- package/src/lib/context/SocialRedirectContext/SocialRedirectContext.js +1 -1
- package/src/lib/data/api/api.cjs +1 -3
- package/src/lib/data/api/api.js +1 -3
- package/src/lib/data/api/user/user.cjs +9 -6
- package/src/lib/data/api/user/user.d.ts +5 -5
- package/src/lib/data/api/user/user.js +9 -6
- package/src/lib/data/api/wallets/wallets.cjs +6 -3
- package/src/lib/data/api/wallets/wallets.d.ts +3 -2
- package/src/lib/data/api/wallets/wallets.js +7 -4
- package/src/lib/events/auth.d.ts +38 -0
- package/src/lib/events/dynamicEvents.d.ts +8 -32
- package/src/lib/events/embeddedWallet.d.ts +14 -0
- package/src/lib/events/otp.d.ts +5 -0
- package/src/lib/events/passkey.d.ts +5 -0
- package/src/lib/events/social.d.ts +3 -0
- package/src/lib/events/ui.d.ts +10 -0
- package/src/lib/events/wallets.d.ts +7 -0
- package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +6 -1
- package/src/lib/layout/DynamicAuthLayout/Header/header.js +6 -1
- package/src/lib/shared/types/dynamicEventsCallbacks.d.ts +11 -0
- package/src/lib/store/utils/storeAuthTokenAndUser/storeAuthTokenAndUser.cjs +1 -2
- package/src/lib/store/utils/storeAuthTokenAndUser/storeAuthTokenAndUser.d.ts +6 -2
- package/src/lib/store/utils/storeAuthTokenAndUser/storeAuthTokenAndUser.js +1 -2
- package/src/lib/utils/constants/index.d.ts +1 -1
- package/src/lib/utils/constants/localStorage.cjs +0 -2
- package/src/lib/utils/constants/localStorage.d.ts +0 -1
- package/src/lib/utils/constants/localStorage.js +1 -2
- package/src/lib/utils/functions/index.d.ts +0 -1
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.cjs +1 -1
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.js +1 -1
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.cjs +1 -1
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.js +1 -1
- package/src/lib/utils/hooks/authenticationHooks/useOtpVerificationRequest/useOtpVerificationRequest.cjs +12 -7
- package/src/lib/utils/hooks/authenticationHooks/useOtpVerificationRequest/useOtpVerificationRequest.js +13 -8
- package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.cjs +1 -1
- package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.js +1 -1
- package/src/lib/utils/hooks/events/useDynamicEvents/useDynamicEvents.d.ts +2 -2
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs +1 -2
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.d.ts +1 -2
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js +1 -2
- package/src/lib/utils/hooks/useEmailProvider/useEmailProvider.cjs +29 -14
- package/src/lib/utils/hooks/useEmailProvider/useEmailProvider.js +29 -14
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +4 -3
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +4 -3
- package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.cjs +1 -1
- package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.js +2 -2
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.cjs +4 -5
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.js +5 -6
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.cjs +0 -1
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.js +0 -1
- package/src/lib/utils/hooks/useEmbeddedWalletPassword/useEmbeddedWalletPassword.cjs +2 -2
- package/src/lib/utils/hooks/useEmbeddedWalletPassword/useEmbeddedWalletPassword.js +2 -2
- package/src/lib/utils/hooks/useHandleUnlinkWallet/useHandleUnlinkWallet.cjs +8 -6
- package/src/lib/utils/hooks/useHandleUnlinkWallet/useHandleUnlinkWallet.js +8 -6
- package/src/lib/utils/hooks/useHandleVerificationRequired/useHandleVerificationRequired.cjs +4 -4
- package/src/lib/utils/hooks/useHandleVerificationRequired/useHandleVerificationRequired.d.ts +4 -3
- package/src/lib/utils/hooks/useHandleVerificationRequired/useHandleVerificationRequired.js +4 -4
- package/src/lib/utils/hooks/useHandleVerifiedUser/useHandleVerifiedUser.cjs +1 -16
- package/src/lib/utils/hooks/useHandleVerifiedUser/useHandleVerifiedUser.d.ts +1 -4
- package/src/lib/utils/hooks/useHandleVerifiedUser/useHandleVerifiedUser.js +1 -16
- package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.cjs +1 -1
- package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.js +1 -1
- package/src/lib/utils/hooks/useMfa/useMfa.cjs +37 -20
- package/src/lib/utils/hooks/useMfa/useMfa.js +37 -20
- package/src/lib/utils/hooks/useNetworkNotSupported/useNetworkNotSupported.cjs +1 -1
- package/src/lib/utils/hooks/useNetworkNotSupported/useNetworkNotSupported.js +1 -1
- package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.cjs +13 -12
- package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.js +13 -12
- package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.cjs +6 -11
- package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.d.ts +3 -2
- package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.js +6 -11
- package/src/lib/utils/hooks/useSetWalletConnectorVerifiedCredentials/useSetWalletConnectorVerifiedCredentials.cjs +3 -22
- package/src/lib/utils/hooks/useSetWalletConnectorVerifiedCredentials/useSetWalletConnectorVerifiedCredentials.d.ts +2 -1
- package/src/lib/utils/hooks/useSetWalletConnectorVerifiedCredentials/useSetWalletConnectorVerifiedCredentials.js +3 -22
- package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.cjs +8 -8
- package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.js +8 -8
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +39 -27
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.d.ts +5 -3
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +39 -27
- package/src/lib/utils/hooks/useUserAuth/useUserAuth.cjs +39 -33
- package/src/lib/utils/hooks/useUserAuth/useUserAuth.d.ts +2 -2
- package/src/lib/utils/hooks/useUserAuth/useUserAuth.js +39 -33
- package/src/lib/utils/hooks/useUserAuth/useUserAuth.types.d.ts +7 -24
- package/src/lib/utils/hooks/useUserDataForm/useUserDataForm.cjs +1 -1
- package/src/lib/utils/hooks/useUserDataForm/useUserDataForm.js +1 -1
- package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs +9 -16
- package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js +10 -17
- package/src/lib/utils/hooks/useValidateSession/useValidateSession.cjs +1 -1
- package/src/lib/utils/hooks/useValidateSession/useValidateSession.js +1 -1
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +21 -3
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +21 -3
- package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.cjs +10 -26
- package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.d.ts +1 -2
- package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.js +10 -26
- package/src/lib/views/CollectUserDataView/CollectUserDataView.cjs +4 -6
- package/src/lib/views/CollectUserDataView/CollectUserDataView.js +4 -6
- package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.cjs +3 -5
- package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.js +3 -5
- package/src/lib/views/CollectUserDataViewNoWallet/CollectUserDataViewNoWallet.cjs +3 -5
- package/src/lib/views/CollectUserDataViewNoWallet/CollectUserDataViewNoWallet.js +3 -5
- package/src/lib/views/EmailVerification/EmailVerification.cjs +8 -5
- package/src/lib/views/EmailVerification/EmailVerification.js +8 -5
- package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.cjs +5 -0
- package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.js +5 -0
- package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.cjs +3 -6
- package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.js +3 -6
- package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.cjs +7 -13
- package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.d.ts +3 -3
- package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.js +8 -14
- package/src/lib/views/LoginView/LoginView.cjs +3 -21
- package/src/lib/views/LoginView/LoginView.js +4 -22
- package/src/lib/views/LoginView/sections/PhoneNumberSignInSection/useSubmitPhoneNumber/useSubmitPhoneNumber.cjs +11 -1
- package/src/lib/views/LoginView/sections/PhoneNumberSignInSection/useSubmitPhoneNumber/useSubmitPhoneNumber.js +11 -1
- package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.cjs +3 -3
- package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.js +3 -3
- package/src/lib/views/NoAccess/NoAccess.cjs +2 -2
- package/src/lib/views/NoAccess/NoAccess.js +2 -2
- package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.cjs +2 -8
- package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.js +2 -8
- package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.cjs +3 -3
- package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.js +3 -3
- package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.cjs +1 -2
- package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.js +1 -2
- package/src/lib/views/Passkey/utils/createEmbeddedWalletRequest/createEmbeddedWalletRequest.cjs +1 -4
- package/src/lib/views/Passkey/utils/createEmbeddedWalletRequest/createEmbeddedWalletRequest.d.ts +1 -2
- package/src/lib/views/Passkey/utils/createEmbeddedWalletRequest/createEmbeddedWalletRequest.js +1 -4
- package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs +15 -20
- package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.d.ts +8 -13
- package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.js +15 -20
- package/src/lib/views/SmsVerification/useSmsVerification/useSmsVerification.cjs +11 -8
- package/src/lib/views/SmsVerification/useSmsVerification/useSmsVerification.js +11 -8
- package/src/lib/views/viewToComponentMap.cjs +1 -1
- package/src/lib/views/viewToComponentMap.d.ts +1 -1
- package/src/lib/views/viewToComponentMap.js +1 -1
- package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/context/DynamicWidgetContext.js +1 -1
- package/src/lib/utils/functions/getOnboardingAuthToken/getOnboardingAuthToken.cjs +0 -31
- package/src/lib/utils/functions/getOnboardingAuthToken/getOnboardingAuthToken.d.ts +0 -1
- package/src/lib/utils/functions/getOnboardingAuthToken/getOnboardingAuthToken.js +0 -27
- package/src/lib/utils/functions/getOnboardingAuthToken/index.d.ts +0 -1
- package/src/lib/utils/functions/handleUnlinkHelper/handleUnlinkHelper.cjs +0 -49
- package/src/lib/utils/functions/handleUnlinkHelper/handleUnlinkHelper.d.ts +0 -13
- package/src/lib/utils/functions/handleUnlinkHelper/handleUnlinkHelper.js +0 -45
- package/src/lib/utils/functions/handleUnlinkHelper/index.d.ts +0 -1
|
@@ -13,7 +13,6 @@ type Props = {
|
|
|
13
13
|
setPrimaryWalletId: (walletId: string) => void;
|
|
14
14
|
primaryWalletId: string | undefined;
|
|
15
15
|
user?: UserProfile;
|
|
16
|
-
onboardingOnlyJwt?: string;
|
|
17
16
|
canHaveMultipleWalletsConnected?: boolean;
|
|
18
17
|
};
|
|
19
18
|
export interface UseWalletConnectors {
|
|
@@ -25,5 +24,5 @@ export interface UseWalletConnectors {
|
|
|
25
24
|
showQrcodeModal: boolean;
|
|
26
25
|
wallets: Wallet[];
|
|
27
26
|
}
|
|
28
|
-
export declare const useWalletConnectors: ({ authMode, connectedWallets, walletConnectorOptions, multiWalletWidgetState, setDesktopUri, setMultiWalletWidgetState, setQrcodeUri, primaryWalletId, setPrimaryWalletId, user,
|
|
27
|
+
export declare const useWalletConnectors: ({ authMode, connectedWallets, walletConnectorOptions, multiWalletWidgetState, setDesktopUri, setMultiWalletWidgetState, setQrcodeUri, primaryWalletId, setPrimaryWalletId, user, canHaveMultipleWalletsConnected, }: Props) => UseWalletConnectors;
|
|
29
28
|
export {};
|
|
@@ -4,7 +4,6 @@ import { useState, useMemo, useEffect, useCallback } from 'react';
|
|
|
4
4
|
import { DynamicError } from '@dynamic-labs/utils';
|
|
5
5
|
import { isEmbeddedConnector, isEmailWalletConnector, isSocialWalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
6
6
|
import { useInternalUserWallets } from '../../../context/UserWalletsContext/UserWalletsContext.js';
|
|
7
|
-
import { decodeJwt } from '../../../shared/utils/functions/decodeJwt/decodeJwt.js';
|
|
8
7
|
import '@dynamic-labs/sdk-api-core';
|
|
9
8
|
import { logger } from '../../../shared/logger.js';
|
|
10
9
|
import '@dynamic-labs/iconic';
|
|
@@ -15,7 +14,6 @@ import '../../constants/colors.js';
|
|
|
15
14
|
import '../../constants/values.js';
|
|
16
15
|
import '../../../shared/utils/classes/storage/localStorage.js';
|
|
17
16
|
import '../../../shared/consts/index.js';
|
|
18
|
-
import { createUserProfile } from '../../functions/createUserProfile/createUserProfile.js';
|
|
19
17
|
import '@dynamic-labs/multi-wallet';
|
|
20
18
|
import 'react-international-phone';
|
|
21
19
|
import { getWalletIdentifier } from '../../functions/getWalletIdentifier/getWalletIdentifier.js';
|
|
@@ -29,39 +27,25 @@ import { reconnectSocialWallet } from './reconnectSocialWallet.js';
|
|
|
29
27
|
import { createLinkedWalletsFromWalletOptions } from './utils/createLinkedWalletsFromWalletOptions/createLinkedWalletsFromWalletOptions.js';
|
|
30
28
|
import { updateUserWalletsFromLinkedWallets } from './utils/updateUserWalletsFromLinkedWallets/updateUserWalletsFromLinkedWallets.js';
|
|
31
29
|
|
|
32
|
-
const useWalletConnectors = ({ authMode, connectedWallets, walletConnectorOptions, multiWalletWidgetState, setDesktopUri, setMultiWalletWidgetState, setQrcodeUri, primaryWalletId, setPrimaryWalletId, user,
|
|
30
|
+
const useWalletConnectors = ({ authMode, connectedWallets, walletConnectorOptions, multiWalletWidgetState, setDesktopUri, setMultiWalletWidgetState, setQrcodeUri, primaryWalletId, setPrimaryWalletId, user, canHaveMultipleWalletsConnected, }) => {
|
|
33
31
|
const [showQrcodeModal, setShowQrcodeModal] = useState(false);
|
|
34
32
|
const linkedWallets = useMemo(() => {
|
|
35
|
-
if (!user
|
|
33
|
+
if (!user) {
|
|
36
34
|
return [];
|
|
37
35
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
const decodedJwt = decodeJwt(onboardingOnlyJwt);
|
|
46
|
-
if (!decodedJwt) {
|
|
47
|
-
return [];
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
const onboardingUser = createUserProfile(decodedJwt);
|
|
51
|
-
return createLinkedWalletsFromWalletOptions({
|
|
52
|
-
primaryWalletId,
|
|
53
|
-
user: onboardingUser,
|
|
54
|
-
walletConnectorOptions,
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
}, [user, primaryWalletId, walletConnectorOptions, onboardingOnlyJwt]);
|
|
36
|
+
return createLinkedWalletsFromWalletOptions({
|
|
37
|
+
primaryWalletId,
|
|
38
|
+
user,
|
|
39
|
+
walletConnectorOptions,
|
|
40
|
+
});
|
|
41
|
+
}, [user, primaryWalletId, walletConnectorOptions]);
|
|
58
42
|
const walletsBasedOnAuthMode = useMemo(() => {
|
|
59
43
|
// Before signing the first message we are using connected wallets list
|
|
60
44
|
// This is because we want the first connected wallet to have events applied by useWalletEventListeners
|
|
61
45
|
// In connect-and-sign mode, events are only applied after the message is signed.
|
|
62
46
|
// This change ensures that events will be applied even before the signature.
|
|
63
47
|
// After signing the message user could be undefined in scenarios like OTP
|
|
64
|
-
if (authMode === 'connect-and-sign' &&
|
|
48
|
+
if (authMode === 'connect-and-sign' && user) {
|
|
65
49
|
return linkedWallets;
|
|
66
50
|
}
|
|
67
51
|
/**
|
|
@@ -73,7 +57,7 @@ const useWalletConnectors = ({ authMode, connectedWallets, walletConnectorOption
|
|
|
73
57
|
return linkedWallets;
|
|
74
58
|
}
|
|
75
59
|
return connectedWallets !== null && connectedWallets !== void 0 ? connectedWallets : [];
|
|
76
|
-
}, [authMode, connectedWallets, linkedWallets, user
|
|
60
|
+
}, [authMode, connectedWallets, linkedWallets, user]);
|
|
77
61
|
/**
|
|
78
62
|
* This useEffect is temporary.
|
|
79
63
|
* While the wallet connectors don't use the event emitter, we need to manually
|
|
@@ -26,7 +26,6 @@ require('../../shared/consts/index.cjs');
|
|
|
26
26
|
var useInternalDynamicContext = require('../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
|
|
27
27
|
require('../../context/CaptchaContext/CaptchaContext.cjs');
|
|
28
28
|
require('../../context/ErrorContext/ErrorContext.cjs');
|
|
29
|
-
var createUserProfile = require('../../utils/functions/createUserProfile/createUserProfile.cjs');
|
|
30
29
|
require('@dynamic-labs/multi-wallet');
|
|
31
30
|
require('react-international-phone');
|
|
32
31
|
var isSupportedNetwork = require('../../utils/functions/isSupportedNetwork/isSupportedNetwork.cjs');
|
|
@@ -92,20 +91,19 @@ require('../../context/IpConfigurationContext/IpConfigurationContext.cjs');
|
|
|
92
91
|
|
|
93
92
|
const CollectUserDataView = () => {
|
|
94
93
|
var _a;
|
|
95
|
-
const { appName, projectSettings, network,
|
|
94
|
+
const { appName, projectSettings, network, selectedWalletConnector: walletConnector, handleLogOut, onboardingImageUrl, userWithMissingFields, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
96
95
|
const [isNetworkPickerOpen, setIsNetworkPickerOpen] = React.useState(false);
|
|
97
96
|
const nameService = useFetchNameService.useFetchNameService();
|
|
98
97
|
const { t } = reactI18next.useTranslation();
|
|
99
|
-
if (!walletConnector || !
|
|
98
|
+
if (!walletConnector || !userWithMissingFields) {
|
|
100
99
|
return null;
|
|
101
100
|
}
|
|
102
|
-
const userProfile = createUserProfile.createUserProfile(decodedOnboardingOnlyToken);
|
|
103
101
|
const evmNetworks = walletConnector.evmNetworks || [];
|
|
104
102
|
const _isSupportedNetwork = !network || isSupportedNetwork.isSupportedNetwork({ network, walletConnector });
|
|
105
|
-
const walletAddress = (_a =
|
|
103
|
+
const walletAddress = (_a = userWithMissingFields === null || userWithMissingFields === void 0 ? void 0 : userWithMissingFields.verifiedCredentials.find((verifiedCredential) => verifiedCredential.id === userWithMissingFields.lastVerifiedCredentialId)) === null || _a === void 0 ? void 0 : _a.address;
|
|
106
104
|
return (jsxRuntime.jsxs("div", { className: 'collect-user-data', "data-testid": 'collect-user-data-view', children: [jsxRuntime.jsxs("div", { className: 'collect-user-data__network-container', children: [jsxRuntime.jsxs("div", { className: 'collect-user-data__img-container', children: [(nameService === null || nameService === void 0 ? void 0 : nameService.avatar) ? (jsxRuntime.jsx("img", { src: nameService.avatar, alt: '', className: 'collect-user-data__img collect-user-data__img--rounded' })) : (jsxRuntime.jsx(AuthProviderIcon.AuthProviderIcon, { iconSize: 28 })), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', color: 'primary', weight: 'medium', className: 'collect-user-data__wallet-address', children: (nameService === null || nameService === void 0 ? void 0 : nameService.name) || shortenWalletAddress.shortenWalletAddress(walletAddress, 3, 3) })] }), jsxRuntime.jsx(NetworkPicker.NetworkPicker, { currentNetwork: network, evmNetworks: evmNetworks, connector: walletConnector, showNetworkName: true, isNetworkPickerOpen: isNetworkPickerOpen, setIsNetworkPickerOpen: setIsNetworkPickerOpen, buttonClassName: 'collect-user-data__network-picker-button', mainClassName: 'collect-user-data__network-picker' })] }), onboardingImageUrl && (jsxRuntime.jsx("img", { className: 'collect-user-data__main-img', src: onboardingImageUrl, alt: 'onboarding' })), !_isSupportedNetwork && (jsxRuntime.jsx(ErrorContainer.ErrorContainer, { withIcon: false, className: 'collect-user-data__error--not-supported', copykey: 'dyn_collect_user_data.not_supported_network.error_message', children: t('dyn_collect_user_data.not_supported_network.error_message') })), jsxRuntime.jsxs("div", { className: classNames.classNames('collect-user-data__form', {
|
|
107
105
|
'collect-user-data__form--error': !_isSupportedNetwork,
|
|
108
|
-
}), children: [jsxRuntime.jsx("div", { className: 'collect-user-data__success-icon', children: jsxRuntime.jsx(Icon.Icon, { color: 'text-primary', size: 'large', children: jsxRuntime.jsx(checkConnection.ReactComponent, {}) }) }), jsxRuntime.jsx(OnboardingUserDataForm.OnboardingUserDataForm, { disableSubmit: !_isSupportedNetwork, userProfile:
|
|
106
|
+
}), children: [jsxRuntime.jsx("div", { className: 'collect-user-data__success-icon', children: jsxRuntime.jsx(Icon.Icon, { color: 'text-primary', size: 'large', children: jsxRuntime.jsx(checkConnection.ReactComponent, {}) }) }), jsxRuntime.jsx(OnboardingUserDataForm.OnboardingUserDataForm, { disableSubmit: !_isSupportedNetwork, userProfile: userWithMissingFields, children: !_isSupportedNetwork ? (jsxRuntime.jsxs("div", { className: 'collect-user-data__welcome-container', children: [jsxRuntime.jsx(Typography.Typography, { variant: 'title', color: 'primary', className: 'collect-user-data__welcome-title', copykey: 'dyn_collect_user_data.not_supported_network.title', children: t('dyn_collect_user_data.not_supported_network.title') }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', copykey: 'dyn_collect_user_data.not_supported_network.description', children: t('dyn_collect_user_data.not_supported_network.description') })] })) : (jsxRuntime.jsxs("div", { className: 'collect-user-data__welcome-container', children: [jsxRuntime.jsx(Typography.Typography, { variant: 'title', color: 'primary', className: 'collect-user-data__welcome-title', copykey: 'dyn_collect_user_data.greeting', children: (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general.collectUserDataWelcomeHeader) ||
|
|
109
107
|
t('dyn_collect_user_data.greeting', { appName }) }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', copykey: 'dyn_collect_user_data.description', children: (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general.collectUserDataWelcomeMessage) ||
|
|
110
108
|
t('dyn_collect_user_data.description') })] })) }), jsxRuntime.jsx(TextButton.TextButton, { className: 'collect-user-data__log-out', onClick: handleLogOut, copykey: 'dyn_collect_user_data.log_out_button', children: t('dyn_collect_user_data.log_out_button') })] })] }));
|
|
111
109
|
};
|
|
@@ -22,7 +22,6 @@ import '../../shared/consts/index.js';
|
|
|
22
22
|
import { useInternalDynamicContext } from '../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
|
|
23
23
|
import '../../context/CaptchaContext/CaptchaContext.js';
|
|
24
24
|
import '../../context/ErrorContext/ErrorContext.js';
|
|
25
|
-
import { createUserProfile } from '../../utils/functions/createUserProfile/createUserProfile.js';
|
|
26
25
|
import '@dynamic-labs/multi-wallet';
|
|
27
26
|
import 'react-international-phone';
|
|
28
27
|
import { isSupportedNetwork } from '../../utils/functions/isSupportedNetwork/isSupportedNetwork.js';
|
|
@@ -88,20 +87,19 @@ import '../../context/IpConfigurationContext/IpConfigurationContext.js';
|
|
|
88
87
|
|
|
89
88
|
const CollectUserDataView = () => {
|
|
90
89
|
var _a;
|
|
91
|
-
const { appName, projectSettings, network,
|
|
90
|
+
const { appName, projectSettings, network, selectedWalletConnector: walletConnector, handleLogOut, onboardingImageUrl, userWithMissingFields, } = useInternalDynamicContext();
|
|
92
91
|
const [isNetworkPickerOpen, setIsNetworkPickerOpen] = useState(false);
|
|
93
92
|
const nameService = useFetchNameService();
|
|
94
93
|
const { t } = useTranslation();
|
|
95
|
-
if (!walletConnector || !
|
|
94
|
+
if (!walletConnector || !userWithMissingFields) {
|
|
96
95
|
return null;
|
|
97
96
|
}
|
|
98
|
-
const userProfile = createUserProfile(decodedOnboardingOnlyToken);
|
|
99
97
|
const evmNetworks = walletConnector.evmNetworks || [];
|
|
100
98
|
const _isSupportedNetwork = !network || isSupportedNetwork({ network, walletConnector });
|
|
101
|
-
const walletAddress = (_a =
|
|
99
|
+
const walletAddress = (_a = userWithMissingFields === null || userWithMissingFields === void 0 ? void 0 : userWithMissingFields.verifiedCredentials.find((verifiedCredential) => verifiedCredential.id === userWithMissingFields.lastVerifiedCredentialId)) === null || _a === void 0 ? void 0 : _a.address;
|
|
102
100
|
return (jsxs("div", { className: 'collect-user-data', "data-testid": 'collect-user-data-view', children: [jsxs("div", { className: 'collect-user-data__network-container', children: [jsxs("div", { className: 'collect-user-data__img-container', children: [(nameService === null || nameService === void 0 ? void 0 : nameService.avatar) ? (jsx("img", { src: nameService.avatar, alt: '', className: 'collect-user-data__img collect-user-data__img--rounded' })) : (jsx(AuthProviderIcon, { iconSize: 28 })), jsx(Typography, { variant: 'body_normal', color: 'primary', weight: 'medium', className: 'collect-user-data__wallet-address', children: (nameService === null || nameService === void 0 ? void 0 : nameService.name) || shortenWalletAddress(walletAddress, 3, 3) })] }), jsx(NetworkPicker, { currentNetwork: network, evmNetworks: evmNetworks, connector: walletConnector, showNetworkName: true, isNetworkPickerOpen: isNetworkPickerOpen, setIsNetworkPickerOpen: setIsNetworkPickerOpen, buttonClassName: 'collect-user-data__network-picker-button', mainClassName: 'collect-user-data__network-picker' })] }), onboardingImageUrl && (jsx("img", { className: 'collect-user-data__main-img', src: onboardingImageUrl, alt: 'onboarding' })), !_isSupportedNetwork && (jsx(ErrorContainer, { withIcon: false, className: 'collect-user-data__error--not-supported', copykey: 'dyn_collect_user_data.not_supported_network.error_message', children: t('dyn_collect_user_data.not_supported_network.error_message') })), jsxs("div", { className: classNames('collect-user-data__form', {
|
|
103
101
|
'collect-user-data__form--error': !_isSupportedNetwork,
|
|
104
|
-
}), children: [jsx("div", { className: 'collect-user-data__success-icon', children: jsx(Icon, { color: 'text-primary', size: 'large', children: jsx(SvgCheckConnection, {}) }) }), jsx(OnboardingUserDataForm, { disableSubmit: !_isSupportedNetwork, userProfile:
|
|
102
|
+
}), children: [jsx("div", { className: 'collect-user-data__success-icon', children: jsx(Icon, { color: 'text-primary', size: 'large', children: jsx(SvgCheckConnection, {}) }) }), jsx(OnboardingUserDataForm, { disableSubmit: !_isSupportedNetwork, userProfile: userWithMissingFields, children: !_isSupportedNetwork ? (jsxs("div", { className: 'collect-user-data__welcome-container', children: [jsx(Typography, { variant: 'title', color: 'primary', className: 'collect-user-data__welcome-title', copykey: 'dyn_collect_user_data.not_supported_network.title', children: t('dyn_collect_user_data.not_supported_network.title') }), jsx(Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', copykey: 'dyn_collect_user_data.not_supported_network.description', children: t('dyn_collect_user_data.not_supported_network.description') })] })) : (jsxs("div", { className: 'collect-user-data__welcome-container', children: [jsx(Typography, { variant: 'title', color: 'primary', className: 'collect-user-data__welcome-title', copykey: 'dyn_collect_user_data.greeting', children: (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general.collectUserDataWelcomeHeader) ||
|
|
105
103
|
t('dyn_collect_user_data.greeting', { appName }) }), jsx(Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', copykey: 'dyn_collect_user_data.description', children: (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general.collectUserDataWelcomeMessage) ||
|
|
106
104
|
t('dyn_collect_user_data.description') })] })) }), jsx(TextButton, { className: 'collect-user-data__log-out', onClick: handleLogOut, copykey: 'dyn_collect_user_data.log_out_button', children: t('dyn_collect_user_data.log_out_button') })] })] }));
|
|
107
105
|
};
|
|
@@ -10,7 +10,6 @@ var formik = require('formik');
|
|
|
10
10
|
require('../../../events/dynamicEvents.cjs');
|
|
11
11
|
require('@dynamic-labs/utils');
|
|
12
12
|
require('../../../context/DynamicContext/DynamicContext.cjs');
|
|
13
|
-
var decodeJwt = require('../../../shared/utils/functions/decodeJwt/decodeJwt.cjs');
|
|
14
13
|
require('@dynamic-labs/sdk-api-core');
|
|
15
14
|
require('../../../shared/logger.cjs');
|
|
16
15
|
require('@dynamic-labs/iconic');
|
|
@@ -83,10 +82,9 @@ require('../../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSect
|
|
|
83
82
|
require('../../../context/IpConfigurationContext/IpConfigurationContext.cjs');
|
|
84
83
|
|
|
85
84
|
const OnboardingUserDataForm = ({ children, userProfile, disableSubmit, }) => {
|
|
86
|
-
const { policiesConsentInnerComponent,
|
|
85
|
+
const { policiesConsentInnerComponent, userWithMissingFields } = useInternalDynamicContext.useInternalDynamicContext();
|
|
87
86
|
const { error } = ErrorContext.useErrorContext();
|
|
88
87
|
const { completeAuth } = useUserAuth.useUserAuth({});
|
|
89
|
-
const decodedJwt = decodeJwt.decodeJwt(onboardingOnlyJwt);
|
|
90
88
|
const { updateUser } = useUserUpdateRequest.useUserUpdateRequestInternal({
|
|
91
89
|
validationSchemaStripUnknown: false,
|
|
92
90
|
});
|
|
@@ -96,7 +94,7 @@ const OnboardingUserDataForm = ({ children, userProfile, disableSubmit, }) => {
|
|
|
96
94
|
});
|
|
97
95
|
}), [completeAuth, updateUser]);
|
|
98
96
|
const { fetch: loading, formikInitialValues, formikValidationSchema, enforcePolicies, onFormSubmit, } = useUserDataForm.useUserDataForm({
|
|
99
|
-
fields: (
|
|
97
|
+
fields: (userWithMissingFields === null || userWithMissingFields === void 0 ? void 0 : userWithMissingFields.missingFields) || [],
|
|
100
98
|
onSubmit,
|
|
101
99
|
userProfile,
|
|
102
100
|
});
|
|
@@ -109,7 +107,7 @@ const OnboardingUserDataForm = ({ children, userProfile, disableSubmit, }) => {
|
|
|
109
107
|
(enforcePolicies &&
|
|
110
108
|
(policiesConsentInnerComponentArray === null || policiesConsentInnerComponentArray === void 0 ? void 0 : policiesConsentInnerComponentArray.length) !==
|
|
111
109
|
((_a = values.policiesConsentArray) === null || _a === void 0 ? void 0 : _a.length));
|
|
112
|
-
return (jsxRuntime.jsx(formik.Form, { className: 'user-data-form__form', children: jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [children, error && (jsxRuntime.jsx(Alert.Alert, { icon: 'error', variant: 'error', className: 'user-data-form__error', children: error })), jsxRuntime.jsx(UserDataFields.UserDataFields, { fields:
|
|
110
|
+
return (jsxRuntime.jsx(formik.Form, { className: 'user-data-form__form', children: jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [children, error && (jsxRuntime.jsx(Alert.Alert, { icon: 'error', variant: 'error', className: 'user-data-form__error', children: error })), jsxRuntime.jsx(UserDataFields.UserDataFields, { fields: userWithMissingFields === null || userWithMissingFields === void 0 ? void 0 : userWithMissingFields.missingFields, errors: errors, touched: touched, policiesConsentInnerComponentArray: policiesConsentInnerComponentArray }), jsxRuntime.jsx(TypographyButton.TypographyButton, { type: 'submit', loading: loading, disabled: isSubmitBtnDisabled, buttonVariant: 'primary', expanded: true, buttonPadding: 'login-screen-height', children: "Continue" })] }) }));
|
|
113
111
|
} }));
|
|
114
112
|
};
|
|
115
113
|
|
|
@@ -6,7 +6,6 @@ import { Formik, Form } from 'formik';
|
|
|
6
6
|
import '../../../events/dynamicEvents.js';
|
|
7
7
|
import '@dynamic-labs/utils';
|
|
8
8
|
import '../../../context/DynamicContext/DynamicContext.js';
|
|
9
|
-
import { decodeJwt } from '../../../shared/utils/functions/decodeJwt/decodeJwt.js';
|
|
10
9
|
import '@dynamic-labs/sdk-api-core';
|
|
11
10
|
import '../../../shared/logger.js';
|
|
12
11
|
import '@dynamic-labs/iconic';
|
|
@@ -79,10 +78,9 @@ import '../../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSecti
|
|
|
79
78
|
import '../../../context/IpConfigurationContext/IpConfigurationContext.js';
|
|
80
79
|
|
|
81
80
|
const OnboardingUserDataForm = ({ children, userProfile, disableSubmit, }) => {
|
|
82
|
-
const { policiesConsentInnerComponent,
|
|
81
|
+
const { policiesConsentInnerComponent, userWithMissingFields } = useInternalDynamicContext();
|
|
83
82
|
const { error } = useErrorContext();
|
|
84
83
|
const { completeAuth } = useUserAuth({});
|
|
85
|
-
const decodedJwt = decodeJwt(onboardingOnlyJwt);
|
|
86
84
|
const { updateUser } = useUserUpdateRequestInternal({
|
|
87
85
|
validationSchemaStripUnknown: false,
|
|
88
86
|
});
|
|
@@ -92,7 +90,7 @@ const OnboardingUserDataForm = ({ children, userProfile, disableSubmit, }) => {
|
|
|
92
90
|
});
|
|
93
91
|
}), [completeAuth, updateUser]);
|
|
94
92
|
const { fetch: loading, formikInitialValues, formikValidationSchema, enforcePolicies, onFormSubmit, } = useUserDataForm({
|
|
95
|
-
fields: (
|
|
93
|
+
fields: (userWithMissingFields === null || userWithMissingFields === void 0 ? void 0 : userWithMissingFields.missingFields) || [],
|
|
96
94
|
onSubmit,
|
|
97
95
|
userProfile,
|
|
98
96
|
});
|
|
@@ -105,7 +103,7 @@ const OnboardingUserDataForm = ({ children, userProfile, disableSubmit, }) => {
|
|
|
105
103
|
(enforcePolicies &&
|
|
106
104
|
(policiesConsentInnerComponentArray === null || policiesConsentInnerComponentArray === void 0 ? void 0 : policiesConsentInnerComponentArray.length) !==
|
|
107
105
|
((_a = values.policiesConsentArray) === null || _a === void 0 ? void 0 : _a.length));
|
|
108
|
-
return (jsx(Form, { className: 'user-data-form__form', children: jsxs(Fragment, { children: [children, error && (jsx(Alert, { icon: 'error', variant: 'error', className: 'user-data-form__error', children: error })), jsx(UserDataFields, { fields:
|
|
106
|
+
return (jsx(Form, { className: 'user-data-form__form', children: jsxs(Fragment, { children: [children, error && (jsx(Alert, { icon: 'error', variant: 'error', className: 'user-data-form__error', children: error })), jsx(UserDataFields, { fields: userWithMissingFields === null || userWithMissingFields === void 0 ? void 0 : userWithMissingFields.missingFields, errors: errors, touched: touched, policiesConsentInnerComponentArray: policiesConsentInnerComponentArray }), jsx(TypographyButton, { type: 'submit', loading: loading, disabled: isSubmitBtnDisabled, buttonVariant: 'primary', expanded: true, buttonPadding: 'login-screen-height', children: "Continue" })] }) }));
|
|
109
107
|
} }));
|
|
110
108
|
};
|
|
111
109
|
|
|
@@ -24,7 +24,6 @@ require('../../shared/consts/index.cjs');
|
|
|
24
24
|
var useInternalDynamicContext = require('../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
|
|
25
25
|
require('../../context/CaptchaContext/CaptchaContext.cjs');
|
|
26
26
|
require('../../context/ErrorContext/ErrorContext.cjs');
|
|
27
|
-
var createUserProfile = require('../../utils/functions/createUserProfile/createUserProfile.cjs');
|
|
28
27
|
require('@dynamic-labs/multi-wallet');
|
|
29
28
|
require('react-international-phone');
|
|
30
29
|
var getUserIdentifier = require('../../utils/functions/getUserIdentifier/getUserIdentifier.cjs');
|
|
@@ -87,13 +86,12 @@ require('../../context/IpConfigurationContext/IpConfigurationContext.cjs');
|
|
|
87
86
|
|
|
88
87
|
const CollectUserDataViewNoWallet = ({ userIdentification, userIdentificationOverride }) => {
|
|
89
88
|
var _a;
|
|
90
|
-
const { appName, handleLogOut, projectSettings, onboardingImageUrl,
|
|
89
|
+
const { appName, handleLogOut, projectSettings, onboardingImageUrl, userWithMissingFields, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
91
90
|
const { t } = reactI18next.useTranslation();
|
|
92
|
-
if (!
|
|
91
|
+
if (!userWithMissingFields) {
|
|
93
92
|
return null;
|
|
94
93
|
}
|
|
95
|
-
|
|
96
|
-
return (jsxRuntime.jsxs("div", { className: 'collect-user-data-login-no-wallet', "data-testid": 'collect-user-data-login-no-wallet', children: [onboardingImageUrl && (jsxRuntime.jsx("img", { className: 'collect-user-data-login-no-wallet__main-img', src: onboardingImageUrl, alt: 'onboarding' })), jsxRuntime.jsxs("div", { className: 'collect-user-data-login-no-wallet__user-info-container', children: [jsxRuntime.jsx("div", { className: 'collect-user-data-login-no-wallet__icon-container', children: jsxRuntime.jsx(UserAvatar.UserAvatar, { user: userProfile }) }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', color: 'primary', weight: 'medium', className: 'collect-user-data-login-no-wallet__user-identification', children: (_a = userIdentificationOverride !== null && userIdentificationOverride !== void 0 ? userIdentificationOverride : userProfile[userIdentification]) !== null && _a !== void 0 ? _a : getUserIdentifier.getUserIdentifier(userProfile) })] }), jsxRuntime.jsxs("div", { className: 'collect-user-data-login-no-wallet__form', children: [jsxRuntime.jsx("div", { className: 'collect-user-data-login-no-wallet__success-icon', children: jsxRuntime.jsx(Icon.Icon, { color: 'text-primary', size: 'large', children: jsxRuntime.jsx(checkConnection.ReactComponent, {}) }) }), jsxRuntime.jsx(OnboardingUserDataForm.OnboardingUserDataForm, { userProfile: userProfile, children: jsxRuntime.jsxs("div", { className: 'collect-user-data-login-no-wallet__welcome-container', children: [jsxRuntime.jsx(Typography.Typography, { variant: 'title', color: 'primary', className: 'collect-user-data-login-no-wallet__welcome-title', copykey: 'dyn_collect_user_data.greeting', children: (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general.collectUserDataWelcomeHeader) ||
|
|
94
|
+
return (jsxRuntime.jsxs("div", { className: 'collect-user-data-login-no-wallet', "data-testid": 'collect-user-data-login-no-wallet', children: [onboardingImageUrl && (jsxRuntime.jsx("img", { className: 'collect-user-data-login-no-wallet__main-img', src: onboardingImageUrl, alt: 'onboarding' })), jsxRuntime.jsxs("div", { className: 'collect-user-data-login-no-wallet__user-info-container', children: [jsxRuntime.jsx("div", { className: 'collect-user-data-login-no-wallet__icon-container', children: jsxRuntime.jsx(UserAvatar.UserAvatar, { user: userWithMissingFields }) }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', color: 'primary', weight: 'medium', className: 'collect-user-data-login-no-wallet__user-identification', children: (_a = userIdentificationOverride !== null && userIdentificationOverride !== void 0 ? userIdentificationOverride : userWithMissingFields[userIdentification]) !== null && _a !== void 0 ? _a : getUserIdentifier.getUserIdentifier(userWithMissingFields) })] }), jsxRuntime.jsxs("div", { className: 'collect-user-data-login-no-wallet__form', children: [jsxRuntime.jsx("div", { className: 'collect-user-data-login-no-wallet__success-icon', children: jsxRuntime.jsx(Icon.Icon, { color: 'text-primary', size: 'large', children: jsxRuntime.jsx(checkConnection.ReactComponent, {}) }) }), jsxRuntime.jsx(OnboardingUserDataForm.OnboardingUserDataForm, { userProfile: userWithMissingFields, children: jsxRuntime.jsxs("div", { className: 'collect-user-data-login-no-wallet__welcome-container', children: [jsxRuntime.jsx(Typography.Typography, { variant: 'title', color: 'primary', className: 'collect-user-data-login-no-wallet__welcome-title', copykey: 'dyn_collect_user_data.greeting', children: (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general.collectUserDataWelcomeHeader) ||
|
|
97
95
|
t('dyn_collect_user_data.greeting', { appName }) }), jsxRuntime.jsx(Typography.Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', copykey: 'dyn_collect_user_data.description', children: (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general.collectUserDataWelcomeMessage) ||
|
|
98
96
|
t('dyn_collect_user_data.description') })] }) }), jsxRuntime.jsx(TextButton.TextButton, { className: 'collect-user-data-login-no-wallet__log-out', onClick: handleLogOut, copykey: 'dyn_collect_user_data.log_out_button', children: t('dyn_collect_user_data.log_out_button') })] })] }));
|
|
99
97
|
};
|
|
@@ -20,7 +20,6 @@ import '../../shared/consts/index.js';
|
|
|
20
20
|
import { useInternalDynamicContext } from '../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
|
|
21
21
|
import '../../context/CaptchaContext/CaptchaContext.js';
|
|
22
22
|
import '../../context/ErrorContext/ErrorContext.js';
|
|
23
|
-
import { createUserProfile } from '../../utils/functions/createUserProfile/createUserProfile.js';
|
|
24
23
|
import '@dynamic-labs/multi-wallet';
|
|
25
24
|
import 'react-international-phone';
|
|
26
25
|
import { getUserIdentifier } from '../../utils/functions/getUserIdentifier/getUserIdentifier.js';
|
|
@@ -83,13 +82,12 @@ import '../../context/IpConfigurationContext/IpConfigurationContext.js';
|
|
|
83
82
|
|
|
84
83
|
const CollectUserDataViewNoWallet = ({ userIdentification, userIdentificationOverride }) => {
|
|
85
84
|
var _a;
|
|
86
|
-
const { appName, handleLogOut, projectSettings, onboardingImageUrl,
|
|
85
|
+
const { appName, handleLogOut, projectSettings, onboardingImageUrl, userWithMissingFields, } = useInternalDynamicContext();
|
|
87
86
|
const { t } = useTranslation();
|
|
88
|
-
if (!
|
|
87
|
+
if (!userWithMissingFields) {
|
|
89
88
|
return null;
|
|
90
89
|
}
|
|
91
|
-
|
|
92
|
-
return (jsxs("div", { className: 'collect-user-data-login-no-wallet', "data-testid": 'collect-user-data-login-no-wallet', children: [onboardingImageUrl && (jsx("img", { className: 'collect-user-data-login-no-wallet__main-img', src: onboardingImageUrl, alt: 'onboarding' })), jsxs("div", { className: 'collect-user-data-login-no-wallet__user-info-container', children: [jsx("div", { className: 'collect-user-data-login-no-wallet__icon-container', children: jsx(UserAvatar, { user: userProfile }) }), jsx(Typography, { variant: 'body_normal', color: 'primary', weight: 'medium', className: 'collect-user-data-login-no-wallet__user-identification', children: (_a = userIdentificationOverride !== null && userIdentificationOverride !== void 0 ? userIdentificationOverride : userProfile[userIdentification]) !== null && _a !== void 0 ? _a : getUserIdentifier(userProfile) })] }), jsxs("div", { className: 'collect-user-data-login-no-wallet__form', children: [jsx("div", { className: 'collect-user-data-login-no-wallet__success-icon', children: jsx(Icon, { color: 'text-primary', size: 'large', children: jsx(SvgCheckConnection, {}) }) }), jsx(OnboardingUserDataForm, { userProfile: userProfile, children: jsxs("div", { className: 'collect-user-data-login-no-wallet__welcome-container', children: [jsx(Typography, { variant: 'title', color: 'primary', className: 'collect-user-data-login-no-wallet__welcome-title', copykey: 'dyn_collect_user_data.greeting', children: (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general.collectUserDataWelcomeHeader) ||
|
|
90
|
+
return (jsxs("div", { className: 'collect-user-data-login-no-wallet', "data-testid": 'collect-user-data-login-no-wallet', children: [onboardingImageUrl && (jsx("img", { className: 'collect-user-data-login-no-wallet__main-img', src: onboardingImageUrl, alt: 'onboarding' })), jsxs("div", { className: 'collect-user-data-login-no-wallet__user-info-container', children: [jsx("div", { className: 'collect-user-data-login-no-wallet__icon-container', children: jsx(UserAvatar, { user: userWithMissingFields }) }), jsx(Typography, { variant: 'body_normal', color: 'primary', weight: 'medium', className: 'collect-user-data-login-no-wallet__user-identification', children: (_a = userIdentificationOverride !== null && userIdentificationOverride !== void 0 ? userIdentificationOverride : userWithMissingFields[userIdentification]) !== null && _a !== void 0 ? _a : getUserIdentifier(userWithMissingFields) })] }), jsxs("div", { className: 'collect-user-data-login-no-wallet__form', children: [jsx("div", { className: 'collect-user-data-login-no-wallet__success-icon', children: jsx(Icon, { color: 'text-primary', size: 'large', children: jsx(SvgCheckConnection, {}) }) }), jsx(OnboardingUserDataForm, { userProfile: userWithMissingFields, children: jsxs("div", { className: 'collect-user-data-login-no-wallet__welcome-container', children: [jsx(Typography, { variant: 'title', color: 'primary', className: 'collect-user-data-login-no-wallet__welcome-title', copykey: 'dyn_collect_user_data.greeting', children: (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general.collectUserDataWelcomeHeader) ||
|
|
93
91
|
t('dyn_collect_user_data.greeting', { appName }) }), jsx(Typography, { variant: 'body_normal', weight: 'regular', color: 'secondary', copykey: 'dyn_collect_user_data.description', children: (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.general.collectUserDataWelcomeMessage) ||
|
|
94
92
|
t('dyn_collect_user_data.description') })] }) }), jsx(TextButton, { className: 'collect-user-data-login-no-wallet__log-out', onClick: handleLogOut, copykey: 'dyn_collect_user_data.log_out_button', children: t('dyn_collect_user_data.log_out_button') })] })] }));
|
|
95
93
|
};
|
|
@@ -102,7 +102,7 @@ require('../../context/IpConfigurationContext/IpConfigurationContext.cjs');
|
|
|
102
102
|
const SECONDS_TO_RETRY = 15;
|
|
103
103
|
const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _showRetryButton = true, showTransferMessage: _showTransferMessage = false, }) => {
|
|
104
104
|
var _a, _b, _c, _d;
|
|
105
|
-
const { environmentId,
|
|
105
|
+
const { environmentId, handleLogOut, setUser, setPrimaryWalletId, setShowAuthFlow, projectSettings, user, userWithMissingFields, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
106
106
|
const { view, setView, goToInitialView } = ViewContext.useViewContext();
|
|
107
107
|
const { error, setError, setErrorMessage } = ErrorContext.useErrorContext();
|
|
108
108
|
const { loading, setLoading } = LoadingContext.useLoadingContext();
|
|
@@ -128,7 +128,10 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
|
|
|
128
128
|
useOnUnmount.useOnUnmount(() => {
|
|
129
129
|
if (!callCallbackOnUnmount.current)
|
|
130
130
|
return;
|
|
131
|
-
|
|
131
|
+
const emailString = email$1 !== null && email$1 !== void 0 ? email$1 : '';
|
|
132
|
+
dynamicEvents.dynamicEvents.emit('emailVerificationResult', isValidatedRef.current, emailString);
|
|
133
|
+
if (!isValidatedRef.current)
|
|
134
|
+
dynamicEvents.dynamicEvents.emit('authFailure', { email: emailString, option: emailString, type: 'email' }, 'user-cancelled');
|
|
132
135
|
if (!email$1)
|
|
133
136
|
logger.logger.warn("WARNING: emitted emailVerificationResult with incomplete params because useVerification's displayedDestination was undefined");
|
|
134
137
|
});
|
|
@@ -205,7 +208,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
|
|
|
205
208
|
const handleComplete = React.useCallback((verificationToken) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
206
209
|
setError(undefined);
|
|
207
210
|
setLoading(true);
|
|
208
|
-
if (!verificationUUID || (!
|
|
211
|
+
if (!verificationUUID || (!user && !userWithMissingFields)) {
|
|
209
212
|
yield cancelAuth();
|
|
210
213
|
return;
|
|
211
214
|
}
|
|
@@ -223,14 +226,14 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
|
|
|
223
226
|
setError,
|
|
224
227
|
setLoading,
|
|
225
228
|
verificationUUID,
|
|
226
|
-
authToken,
|
|
227
|
-
onboardingOnlyJwt,
|
|
228
229
|
completeAuth,
|
|
229
230
|
email$1,
|
|
230
231
|
isEmailRecoveryFlow,
|
|
231
232
|
cancelAuth,
|
|
232
233
|
completeSignInFlow,
|
|
233
234
|
verifyOtp,
|
|
235
|
+
user,
|
|
236
|
+
userWithMissingFields,
|
|
234
237
|
]);
|
|
235
238
|
const handleEmailLogin = React.useCallback((verificationToken) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
236
239
|
setError(undefined);
|
|
@@ -98,7 +98,7 @@ import '../../context/IpConfigurationContext/IpConfigurationContext.js';
|
|
|
98
98
|
const SECONDS_TO_RETRY = 15;
|
|
99
99
|
const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _showRetryButton = true, showTransferMessage: _showTransferMessage = false, }) => {
|
|
100
100
|
var _a, _b, _c, _d;
|
|
101
|
-
const { environmentId,
|
|
101
|
+
const { environmentId, handleLogOut, setUser, setPrimaryWalletId, setShowAuthFlow, projectSettings, user, userWithMissingFields, } = useInternalDynamicContext();
|
|
102
102
|
const { view, setView, goToInitialView } = useViewContext();
|
|
103
103
|
const { error, setError, setErrorMessage } = useErrorContext();
|
|
104
104
|
const { loading, setLoading } = useLoadingContext();
|
|
@@ -124,7 +124,10 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
|
|
|
124
124
|
useOnUnmount(() => {
|
|
125
125
|
if (!callCallbackOnUnmount.current)
|
|
126
126
|
return;
|
|
127
|
-
|
|
127
|
+
const emailString = email !== null && email !== void 0 ? email : '';
|
|
128
|
+
dynamicEvents.emit('emailVerificationResult', isValidatedRef.current, emailString);
|
|
129
|
+
if (!isValidatedRef.current)
|
|
130
|
+
dynamicEvents.emit('authFailure', { email: emailString, option: emailString, type: 'email' }, 'user-cancelled');
|
|
128
131
|
if (!email)
|
|
129
132
|
logger.warn("WARNING: emitted emailVerificationResult with incomplete params because useVerification's displayedDestination was undefined");
|
|
130
133
|
});
|
|
@@ -201,7 +204,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
|
|
|
201
204
|
const handleComplete = useCallback((verificationToken) => __awaiter(void 0, void 0, void 0, function* () {
|
|
202
205
|
setError(undefined);
|
|
203
206
|
setLoading(true);
|
|
204
|
-
if (!verificationUUID || (!
|
|
207
|
+
if (!verificationUUID || (!user && !userWithMissingFields)) {
|
|
205
208
|
yield cancelAuth();
|
|
206
209
|
return;
|
|
207
210
|
}
|
|
@@ -219,14 +222,14 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
|
|
|
219
222
|
setError,
|
|
220
223
|
setLoading,
|
|
221
224
|
verificationUUID,
|
|
222
|
-
authToken,
|
|
223
|
-
onboardingOnlyJwt,
|
|
224
225
|
completeAuth,
|
|
225
226
|
email,
|
|
226
227
|
isEmailRecoveryFlow,
|
|
227
228
|
cancelAuth,
|
|
228
229
|
completeSignInFlow,
|
|
229
230
|
verifyOtp,
|
|
231
|
+
user,
|
|
232
|
+
userWithMissingFields,
|
|
230
233
|
]);
|
|
231
234
|
const handleEmailLogin = useCallback((verificationToken) => __awaiter(void 0, void 0, void 0, function* () {
|
|
232
235
|
setError(undefined);
|
|
@@ -97,6 +97,11 @@ const EmailWalletOTPVerificationView = () => {
|
|
|
97
97
|
emailWalletConnector.clearEmail();
|
|
98
98
|
clearStatesOnBackClick();
|
|
99
99
|
setView('login-with-email-or-wallet');
|
|
100
|
+
dynamicEvents.dynamicEvents.emit('authFailure', {
|
|
101
|
+
email,
|
|
102
|
+
option: email,
|
|
103
|
+
type: 'email',
|
|
104
|
+
}, 'user-cancelled');
|
|
100
105
|
};
|
|
101
106
|
const { data: isValid, isLoading, mutate: onSubmit, } = useMutation.useMutation((otp) => emailWalletConnector.verifyOneTimePassword(otp), {
|
|
102
107
|
onFailure: (error) => {
|
|
@@ -93,6 +93,11 @@ const EmailWalletOTPVerificationView = () => {
|
|
|
93
93
|
emailWalletConnector.clearEmail();
|
|
94
94
|
clearStatesOnBackClick();
|
|
95
95
|
setView('login-with-email-or-wallet');
|
|
96
|
+
dynamicEvents.emit('authFailure', {
|
|
97
|
+
email,
|
|
98
|
+
option: email,
|
|
99
|
+
type: 'email',
|
|
100
|
+
}, 'user-cancelled');
|
|
96
101
|
};
|
|
97
102
|
const { data: isValid, isLoading, mutate: onSubmit, } = useMutation((otp) => emailWalletConnector.verifyOneTimePassword(otp), {
|
|
98
103
|
onFailure: (error) => {
|
|
@@ -12,7 +12,6 @@ var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
|
12
12
|
var getProperErrorMessage = require('../../../modals/SignMessageConfirmationModal/getProperErrorMessage.cjs');
|
|
13
13
|
var dynamicEvents = require('../../../events/dynamicEvents.cjs');
|
|
14
14
|
require('../../../context/DynamicContext/DynamicContext.cjs');
|
|
15
|
-
var decodeJwt = require('../../../shared/utils/functions/decodeJwt/decodeJwt.cjs');
|
|
16
15
|
require('@dynamic-labs/sdk-api-core');
|
|
17
16
|
var logger = require('../../../shared/logger.cjs');
|
|
18
17
|
require('@dynamic-labs/iconic');
|
|
@@ -97,15 +96,14 @@ require('../../../context/IpConfigurationContext/IpConfigurationContext.cjs');
|
|
|
97
96
|
|
|
98
97
|
const EmbeddedRevealView = ({ exportPrivateKey, }) => {
|
|
99
98
|
var _a, _b, _c;
|
|
100
|
-
const {
|
|
99
|
+
const { primaryWallet, user, setShowAuthFlow, environmentId } = useInternalDynamicContext.useInternalDynamicContext();
|
|
101
100
|
const { isTurnkeyWallet } = useIsTurnkeyWallet.useIsTurnkeyWallet();
|
|
102
101
|
const { shadowRoot } = ShadowDOM.useShadowDOMContext();
|
|
103
102
|
const { setView } = ViewContext.useViewContext();
|
|
104
103
|
const [acknowledgement1, setAcknowledgement1] = React.useState(false);
|
|
105
104
|
const [hasRevealedCoinbaseMpcKey, setHasRevealedCoinbaseMpcKey] = React.useState(false);
|
|
106
105
|
const iframeContainerRef = React.useRef(null);
|
|
107
|
-
const
|
|
108
|
-
const walletProperties = (_b = (_a = decodedJwt === null || decodedJwt === void 0 ? void 0 : decodedJwt.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'))) === null || _b === void 0 ? void 0 : _b.walletProperties;
|
|
106
|
+
const walletProperties = (_b = (_a = user === null || user === void 0 ? void 0 : user.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'))) === null || _b === void 0 ? void 0 : _b.walletProperties;
|
|
109
107
|
const isTurnkeyHDWallet = walletProperties === null || walletProperties === void 0 ? void 0 : walletProperties.turnkeyHDWalletId;
|
|
110
108
|
const wallet = getEOAWallet.getEOAWallet(primaryWallet, (user === null || user === void 0 ? void 0 : user.verifiedCredentials) || []);
|
|
111
109
|
const isCoinbaseMpcWallet = wallet && walletConnectorCore.isCoinbaseMpcWalletConnector(wallet.connector);
|
|
@@ -142,9 +140,8 @@ const EmbeddedRevealView = ({ exportPrivateKey, }) => {
|
|
|
142
140
|
if (isTurnkeyWallet) {
|
|
143
141
|
return turnkeyExport.exportCredential({
|
|
144
142
|
address: exportPrivateKey ? wallet === null || wallet === void 0 ? void 0 : wallet.address : undefined,
|
|
145
|
-
authToken,
|
|
146
143
|
environmentId,
|
|
147
|
-
|
|
144
|
+
user,
|
|
148
145
|
wallet,
|
|
149
146
|
});
|
|
150
147
|
}
|
|
@@ -8,7 +8,6 @@ import { isCoinbaseMpcWalletConnector } from '@dynamic-labs/wallet-connector-cor
|
|
|
8
8
|
import { getProperErrorMessage } from '../../../modals/SignMessageConfirmationModal/getProperErrorMessage.js';
|
|
9
9
|
import { dynamicEvents } from '../../../events/dynamicEvents.js';
|
|
10
10
|
import '../../../context/DynamicContext/DynamicContext.js';
|
|
11
|
-
import { decodeJwt } from '../../../shared/utils/functions/decodeJwt/decodeJwt.js';
|
|
12
11
|
import '@dynamic-labs/sdk-api-core';
|
|
13
12
|
import { logger } from '../../../shared/logger.js';
|
|
14
13
|
import '@dynamic-labs/iconic';
|
|
@@ -93,15 +92,14 @@ import '../../../context/IpConfigurationContext/IpConfigurationContext.js';
|
|
|
93
92
|
|
|
94
93
|
const EmbeddedRevealView = ({ exportPrivateKey, }) => {
|
|
95
94
|
var _a, _b, _c;
|
|
96
|
-
const {
|
|
95
|
+
const { primaryWallet, user, setShowAuthFlow, environmentId } = useInternalDynamicContext();
|
|
97
96
|
const { isTurnkeyWallet } = useIsTurnkeyWallet();
|
|
98
97
|
const { shadowRoot } = useShadowDOMContext();
|
|
99
98
|
const { setView } = useViewContext();
|
|
100
99
|
const [acknowledgement1, setAcknowledgement1] = useState(false);
|
|
101
100
|
const [hasRevealedCoinbaseMpcKey, setHasRevealedCoinbaseMpcKey] = useState(false);
|
|
102
101
|
const iframeContainerRef = useRef(null);
|
|
103
|
-
const
|
|
104
|
-
const walletProperties = (_b = (_a = decodedJwt === null || decodedJwt === void 0 ? void 0 : decodedJwt.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'))) === null || _b === void 0 ? void 0 : _b.walletProperties;
|
|
102
|
+
const walletProperties = (_b = (_a = user === null || user === void 0 ? void 0 : user.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'))) === null || _b === void 0 ? void 0 : _b.walletProperties;
|
|
105
103
|
const isTurnkeyHDWallet = walletProperties === null || walletProperties === void 0 ? void 0 : walletProperties.turnkeyHDWalletId;
|
|
106
104
|
const wallet = getEOAWallet(primaryWallet, (user === null || user === void 0 ? void 0 : user.verifiedCredentials) || []);
|
|
107
105
|
const isCoinbaseMpcWallet = wallet && isCoinbaseMpcWalletConnector(wallet.connector);
|
|
@@ -138,9 +136,8 @@ const EmbeddedRevealView = ({ exportPrivateKey, }) => {
|
|
|
138
136
|
if (isTurnkeyWallet) {
|
|
139
137
|
return exportCredential({
|
|
140
138
|
address: exportPrivateKey ? wallet === null || wallet === void 0 ? void 0 : wallet.address : undefined,
|
|
141
|
-
authToken,
|
|
142
139
|
environmentId,
|
|
143
|
-
|
|
140
|
+
user,
|
|
144
141
|
wallet,
|
|
145
142
|
});
|
|
146
143
|
}
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
6
6
|
var _tslib = require('../../../../../../_virtual/_tslib.cjs');
|
|
7
7
|
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
8
8
|
var utils = require('@dynamic-labs/utils');
|
|
9
|
-
var decodeJwt = require('../../../../shared/utils/functions/decodeJwt/decodeJwt.cjs');
|
|
10
9
|
require('@dynamic-labs/sdk-api-core');
|
|
11
10
|
require('../../../../shared/logger.cjs');
|
|
12
11
|
require('@dynamic-labs/iconic');
|
|
@@ -42,14 +41,10 @@ const initExport = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ i
|
|
|
42
41
|
}
|
|
43
42
|
return turnkeyExportHandler;
|
|
44
43
|
});
|
|
45
|
-
const handleExportInitCheck = ({
|
|
44
|
+
const handleExportInitCheck = ({ user, wallet, }) => {
|
|
46
45
|
var _a, _b;
|
|
47
|
-
if (!
|
|
48
|
-
throw new utils.DynamicError(
|
|
49
|
-
}
|
|
50
|
-
const decodedJwt = decodeJwt.decodeJwt(authToken);
|
|
51
|
-
if (!decodedJwt) {
|
|
52
|
-
throw new utils.DynamicError('User must be logged in with a valid token');
|
|
46
|
+
if (!user) {
|
|
47
|
+
throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN);
|
|
53
48
|
}
|
|
54
49
|
if (!(wallet === null || wallet === void 0 ? void 0 : wallet.connector) ||
|
|
55
50
|
!(wallet === null || wallet === void 0 ? void 0 : wallet.id) ||
|
|
@@ -57,8 +52,8 @@ const handleExportInitCheck = ({ authToken, userEmail, wallet, }) => {
|
|
|
57
52
|
throw new utils.DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
|
|
58
53
|
}
|
|
59
54
|
const connector = wallet.connector;
|
|
60
|
-
connector.setEmail(
|
|
61
|
-
const walletProperties = (_b = (_a =
|
|
55
|
+
connector.setEmail(user.email);
|
|
56
|
+
const walletProperties = (_b = (_a = user.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'))) === null || _b === void 0 ? void 0 : _b.walletProperties;
|
|
62
57
|
const turnkeyHDWalletId = walletProperties === null || walletProperties === void 0 ? void 0 : walletProperties.turnkeyHDWalletId;
|
|
63
58
|
const privateKeyId = walletProperties === null || walletProperties === void 0 ? void 0 : walletProperties.turnkeyPrivateKeyId;
|
|
64
59
|
const organizationId = walletProperties === null || walletProperties === void 0 ? void 0 : walletProperties.turnkeySubOrganizationId;
|
|
@@ -83,10 +78,9 @@ const extractExportBundle = ({ address, privateKeyId, activity, }) => {
|
|
|
83
78
|
: exportWalletResult;
|
|
84
79
|
return result === null || result === void 0 ? void 0 : result.exportBundle;
|
|
85
80
|
};
|
|
86
|
-
const exportCredential = (_c) => _tslib.__awaiter(void 0, [_c], void 0, function* ({
|
|
81
|
+
const exportCredential = (_c) => _tslib.__awaiter(void 0, [_c], void 0, function* ({ user, wallet, environmentId, address, }) {
|
|
87
82
|
const { connector, turnkeyHDWalletId, privateKeyId, organizationId } = handleExportInitCheck({
|
|
88
|
-
|
|
89
|
-
userEmail,
|
|
83
|
+
user,
|
|
90
84
|
wallet,
|
|
91
85
|
});
|
|
92
86
|
const turnkeyExportHandler = connector.getExportHandler();
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Wallet } from '../../../../shared';
|
|
2
|
+
import { UserProfile } from '../../../../..';
|
|
2
3
|
export declare const initExport: ({ iframeContainer, iframeElementId, wallet, }: {
|
|
3
4
|
iframeContainer: HTMLElement;
|
|
4
5
|
iframeElementId: string;
|
|
@@ -9,9 +10,8 @@ export declare const extractExportBundle: ({ address, privateKeyId, activity, }:
|
|
|
9
10
|
privateKeyId?: string;
|
|
10
11
|
activity: any;
|
|
11
12
|
}) => any;
|
|
12
|
-
export declare const exportCredential: ({
|
|
13
|
-
|
|
14
|
-
userEmail: string | undefined;
|
|
13
|
+
export declare const exportCredential: ({ user, wallet, environmentId, address, }: {
|
|
14
|
+
user: UserProfile | undefined;
|
|
15
15
|
wallet: Wallet | null;
|
|
16
16
|
environmentId: string;
|
|
17
17
|
address?: string;
|