@dynamic-labs/sdk-react-core 1.0.0-alpha.7 → 1.0.0-alpha.8
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 +12 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +9 -9
- package/src/lib/components/NeedHelpSection/NeedHelpSection.cjs +1 -1
- package/src/lib/components/NeedHelpSection/NeedHelpSection.js +1 -1
- package/src/lib/components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.cjs +68 -0
- package/src/lib/components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.d.ts +6 -0
- package/src/lib/components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.js +64 -0
- package/src/lib/components/PasskeyCreatedSuccessBanner/index.d.ts +1 -0
- package/src/lib/components/SecureTurnkeyWalletCard/SecureTurnkeyWalletCard.cjs +24 -0
- package/src/lib/components/SecureTurnkeyWalletCard/SecureTurnkeyWalletCard.d.ts +6 -0
- package/src/lib/components/SecureTurnkeyWalletCard/SecureTurnkeyWalletCard.js +20 -0
- package/src/lib/components/SecureTurnkeyWalletCard/index.d.ts +1 -0
- package/src/lib/components/SendBalanceForm/SendBalanceForm.cjs +4 -1
- package/src/lib/components/SendBalanceForm/SendBalanceForm.js +4 -1
- package/src/lib/components/SyncPasskeyFlow/SyncPasskeyFlow.cjs +5 -2
- package/src/lib/components/SyncPasskeyFlow/SyncPasskeyFlow.js +5 -2
- package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.cjs +6 -2
- package/src/lib/components/TransactionConfirmationPageLayout/TransactionConfirmationPageLayout.js +6 -2
- package/src/lib/components/index.d.ts +2 -0
- package/src/lib/context/DynamicContext/DynamicContext.cjs +7 -1
- package/src/lib/context/DynamicContext/DynamicContext.js +7 -1
- package/src/lib/context/DynamicContext/hooks/index.d.ts +1 -0
- package/src/lib/context/DynamicContext/hooks/useShowPasskeyCreateSuccess/index.d.ts +1 -0
- package/src/lib/context/DynamicContext/hooks/useShowPasskeyCreateSuccess/useShowPasskeyCreateSuccess.cjs +23 -0
- package/src/lib/context/DynamicContext/hooks/useShowPasskeyCreateSuccess/useShowPasskeyCreateSuccess.d.ts +4 -0
- package/src/lib/context/DynamicContext/hooks/useShowPasskeyCreateSuccess/useShowPasskeyCreateSuccess.js +19 -0
- package/src/lib/context/DynamicContext/types/index.d.ts +2 -0
- package/src/lib/data/api.cjs +14 -11
- package/src/lib/data/api.d.ts +2 -2
- package/src/lib/data/api.js +14 -11
- package/src/lib/locale/en/translation.cjs +70 -0
- package/src/lib/locale/en/translation.d.ts +70 -0
- package/src/lib/locale/en/translation.js +70 -0
- package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.cjs +6 -2
- package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.js +6 -2
- package/src/lib/styles/index.shadow.cjs +1 -1
- package/src/lib/styles/index.shadow.js +1 -1
- package/src/lib/utils/hooks/index.d.ts +1 -0
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/index.d.ts +1 -0
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs +83 -0
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.d.ts +15 -0
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js +79 -0
- package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.cjs +11 -3
- package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.js +11 -3
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +57 -33
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.d.ts +1 -1
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +57 -33
- package/src/lib/utils/hooks/useIsTurnkeyWallet/index.d.ts +1 -0
- package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.cjs +37 -0
- package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.d.ts +6 -0
- package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.js +33 -0
- package/src/lib/views/AccountExistsView/AccountExistsView.cjs +1 -1
- package/src/lib/views/AccountExistsView/AccountExistsView.js +1 -1
- package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.cjs +1 -1
- package/src/lib/views/EmailWalletOTPVerificationView/EmailWalletOTPVerificationView.js +1 -1
- package/src/lib/views/LoginView/sections/SocialSignInSection/MagicSocialSignIn/MagicSocialSignIn.cjs +1 -1
- package/src/lib/views/LoginView/sections/SocialSignInSection/MagicSocialSignIn/MagicSocialSignIn.js +1 -1
- package/src/lib/views/LoginView/sections/SocialSignInSection/SocialSignInSection.cjs +2 -5
- package/src/lib/views/LoginView/sections/SocialSignInSection/SocialSignInSection.js +2 -5
- package/src/lib/views/LoginView/useLoginView.cjs +101 -84
- package/src/lib/views/LoginView/useLoginView.js +102 -85
- package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.cjs +20 -50
- package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.d.ts +1 -6
- package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.js +20 -50
- package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.cjs +7 -2
- package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.js +7 -2
- package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.cjs +11 -7
- package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.js +11 -7
- package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.cjs +8 -10
- package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.js +8 -10
- package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.cjs +56 -0
- package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.d.ts +13 -0
- package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.js +52 -0
- package/src/lib/views/Passkey/utils/createPregeneratedWallet/index.d.ts +1 -0
- package/src/lib/views/Passkey/utils/index.d.ts +1 -0
- package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.cjs +1 -1
- package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.js +1 -1
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +4 -1
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +4 -1
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs +2 -1
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js +2 -1
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.cjs +8 -5
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetWalletHeader/DynamicWidgetWalletHeader.js +8 -5
- package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/components/EmailOTPConnectorPendingSignModalContent/EmailOTPConnectorPendingSignModalContent.js +1 -1
- package/src/lib/widgets/DynamicWidget/components/EmptyWallets/EmptyWallets.cjs +11 -2
- package/src/lib/widgets/DynamicWidget/components/EmptyWallets/EmptyWallets.js +11 -2
- package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/ManagePasskeysWidgetView.cjs +2 -1
- package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/ManagePasskeysWidgetView.js +2 -1
- package/src/lib/utils/functions/getEnabledProviders/index.cjs +0 -7
- package/src/lib/utils/functions/getEnabledProviders/index.js +0 -3
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { __awaiter } from '../../../../../_virtual/_tslib.js';
|
|
2
|
+
import { createEmbeddedWalletWithPasskey } from '../../../views/Passkey/utils/createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.js';
|
|
3
|
+
import { findPasskeyEmailWalletConnector } from '../../../views/Passkey/utils/findPasskeyEmailWalletConnector/findPasskeyEmailWalletConnector.js';
|
|
4
|
+
import { createPregeneratedWallet } from '../../../views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.js';
|
|
5
|
+
import { createUserProfile } from '../../functions/createUserProfile/createUserProfile.js';
|
|
6
|
+
import '@dynamic-labs/sdk-api';
|
|
7
|
+
import { logger } from '../../../shared/logger.js';
|
|
8
|
+
import '@dynamic-labs/iconic';
|
|
9
|
+
import '@dynamic-labs/wallet-connector-core';
|
|
10
|
+
import 'react/jsx-runtime';
|
|
11
|
+
import '../../../context/ViewContext/ViewContext.js';
|
|
12
|
+
import 'react';
|
|
13
|
+
import '@dynamic-labs/wallet-book';
|
|
14
|
+
import '../../constants/colors.js';
|
|
15
|
+
import '../../../shared/utils/classes/storage/localStorage.js';
|
|
16
|
+
import 'viem';
|
|
17
|
+
import '@dynamic-labs/utils';
|
|
18
|
+
import '../../../shared/consts/index.js';
|
|
19
|
+
import '@dynamic-labs/multi-wallet';
|
|
20
|
+
import { storeAuthToken } from '../../functions/storeAuthToken/index.js';
|
|
21
|
+
import { findSmartWallet, initializeSmartWallet } from '../useWalletConnectors/utils/smartWallet/smartWallet.js';
|
|
22
|
+
import { useInternalDynamicContext } from '../../../context/DynamicContext/useInternalDynamicContext.js';
|
|
23
|
+
import { useMutation } from '../useMutation/useMutation.js';
|
|
24
|
+
|
|
25
|
+
const useCreateDynamicEmbeddedWalletMutation = () => {
|
|
26
|
+
const { setPrimaryWalletId, internalEvents, setCallback, setUser, user, setShowAuthFlow, } = useInternalDynamicContext();
|
|
27
|
+
const { mutate: createDynamicEmbeddedWalletMutation, isLoading, error, } = useMutation(({ authToken, decodedJwt, environmentId, wallets, withAuthenticator, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
28
|
+
var _a;
|
|
29
|
+
const createEmbeddedWalletMethodToUse = withAuthenticator
|
|
30
|
+
? createEmbeddedWalletWithPasskey
|
|
31
|
+
: createPregeneratedWallet;
|
|
32
|
+
const { embeddedWalletVerifiedCredential, jwt, decodedJwt: updatedDecodedJwt, walletConnector, } = yield createEmbeddedWalletMethodToUse({
|
|
33
|
+
authToken,
|
|
34
|
+
environmentId,
|
|
35
|
+
user: user !== null && user !== void 0 ? user : createUserProfile(decodedJwt),
|
|
36
|
+
walletConnector: findPasskeyEmailWalletConnector(wallets),
|
|
37
|
+
});
|
|
38
|
+
const passkeyWallet = {
|
|
39
|
+
address: (yield walletConnector.fetchPublicAddress()) || '',
|
|
40
|
+
chain: walletConnector.connectedChain || '',
|
|
41
|
+
connected: true,
|
|
42
|
+
connector: walletConnector,
|
|
43
|
+
id: embeddedWalletVerifiedCredential.id,
|
|
44
|
+
};
|
|
45
|
+
internalEvents.current.emit('embeddedWalletCreated', passkeyWallet);
|
|
46
|
+
const smartWallet = findSmartWallet(embeddedWalletVerifiedCredential, updatedDecodedJwt.verifiedCredentials);
|
|
47
|
+
if (smartWallet) {
|
|
48
|
+
yield initializeSmartWallet({
|
|
49
|
+
account: smartWallet,
|
|
50
|
+
verifiedCredentials: updatedDecodedJwt.verifiedCredentials,
|
|
51
|
+
walletOptions: wallets,
|
|
52
|
+
});
|
|
53
|
+
setPrimaryWalletId(smartWallet.id);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
setPrimaryWalletId(embeddedWalletVerifiedCredential.id);
|
|
57
|
+
}
|
|
58
|
+
storeAuthToken(jwt);
|
|
59
|
+
setUser(createUserProfile(updatedDecodedJwt));
|
|
60
|
+
setShowAuthFlow(false);
|
|
61
|
+
const turnkeyVerifiedCredentials = (_a = updatedDecodedJwt === null || updatedDecodedJwt === void 0 ? void 0 : updatedDecodedJwt.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'));
|
|
62
|
+
setCallback('embeddedWalletCreated', {
|
|
63
|
+
email: (turnkeyVerifiedCredentials === null || turnkeyVerifiedCredentials === void 0 ? void 0 : turnkeyVerifiedCredentials.email) || '',
|
|
64
|
+
verifiedCredential: turnkeyVerifiedCredentials,
|
|
65
|
+
});
|
|
66
|
+
}), {
|
|
67
|
+
onFailure: (err) => {
|
|
68
|
+
logger.error('Failed to create embedded wallet', err);
|
|
69
|
+
internalEvents.current.emit('embeddedWalletFailed', err);
|
|
70
|
+
},
|
|
71
|
+
});
|
|
72
|
+
return {
|
|
73
|
+
createDynamicEmbeddedWalletMutation,
|
|
74
|
+
error,
|
|
75
|
+
isLoading,
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export { useCreateDynamicEmbeddedWalletMutation };
|
|
@@ -5,9 +5,11 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
var reactI18next = require('react-i18next');
|
|
7
7
|
var iconic = require('@dynamic-labs/iconic');
|
|
8
|
+
var useIsTurnkeyWallet = require('../useIsTurnkeyWallet/useIsTurnkeyWallet.cjs');
|
|
8
9
|
|
|
9
10
|
const useDynamicLayoutData = ({ view, authMode, }) => {
|
|
10
11
|
const { t } = reactI18next.useTranslation();
|
|
12
|
+
const { isTurnkeyWalletWithoutAuthenticator } = useIsTurnkeyWallet.useIsTurnkeyWallet();
|
|
11
13
|
if (view === 'no-access') {
|
|
12
14
|
const headerData = {
|
|
13
15
|
heading: t('dyn_no_access.title'),
|
|
@@ -67,13 +69,19 @@ const useDynamicLayoutData = ({ view, authMode, }) => {
|
|
|
67
69
|
heading: 'Update Network',
|
|
68
70
|
},
|
|
69
71
|
'passkey-recovery-bundle': {
|
|
70
|
-
heading:
|
|
72
|
+
heading: isTurnkeyWalletWithoutAuthenticator
|
|
73
|
+
? t('dyn_passkey_secure_modal.code.title')
|
|
74
|
+
: t('dyn_passkey_recovery.code.title'),
|
|
71
75
|
},
|
|
72
76
|
'passkey-recovery-complete': {
|
|
73
|
-
heading:
|
|
77
|
+
heading: isTurnkeyWalletWithoutAuthenticator
|
|
78
|
+
? t('dyn_passkey_secure_modal.complete.title')
|
|
79
|
+
: t('dyn_passkey_recovery.complete.title'),
|
|
74
80
|
},
|
|
75
81
|
'passkey-recovery-start': {
|
|
76
|
-
heading:
|
|
82
|
+
heading: isTurnkeyWalletWithoutAuthenticator
|
|
83
|
+
? t('dyn_passkey_secure_modal.start.title')
|
|
84
|
+
: t('dyn_passkey_recovery.start.title'),
|
|
77
85
|
},
|
|
78
86
|
'pending-connect': {
|
|
79
87
|
heading: t('dyn_login.connect_wallet.title'),
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { useTranslation } from 'react-i18next';
|
|
3
3
|
import { WalletConnectIcon } from '@dynamic-labs/iconic';
|
|
4
|
+
import { useIsTurnkeyWallet } from '../useIsTurnkeyWallet/useIsTurnkeyWallet.js';
|
|
4
5
|
|
|
5
6
|
const useDynamicLayoutData = ({ view, authMode, }) => {
|
|
6
7
|
const { t } = useTranslation();
|
|
8
|
+
const { isTurnkeyWalletWithoutAuthenticator } = useIsTurnkeyWallet();
|
|
7
9
|
if (view === 'no-access') {
|
|
8
10
|
const headerData = {
|
|
9
11
|
heading: t('dyn_no_access.title'),
|
|
@@ -63,13 +65,19 @@ const useDynamicLayoutData = ({ view, authMode, }) => {
|
|
|
63
65
|
heading: 'Update Network',
|
|
64
66
|
},
|
|
65
67
|
'passkey-recovery-bundle': {
|
|
66
|
-
heading:
|
|
68
|
+
heading: isTurnkeyWalletWithoutAuthenticator
|
|
69
|
+
? t('dyn_passkey_secure_modal.code.title')
|
|
70
|
+
: t('dyn_passkey_recovery.code.title'),
|
|
67
71
|
},
|
|
68
72
|
'passkey-recovery-complete': {
|
|
69
|
-
heading:
|
|
73
|
+
heading: isTurnkeyWalletWithoutAuthenticator
|
|
74
|
+
? t('dyn_passkey_secure_modal.complete.title')
|
|
75
|
+
: t('dyn_passkey_recovery.complete.title'),
|
|
70
76
|
},
|
|
71
77
|
'passkey-recovery-start': {
|
|
72
|
-
heading:
|
|
78
|
+
heading: isTurnkeyWalletWithoutAuthenticator
|
|
79
|
+
? t('dyn_passkey_secure_modal.start.title')
|
|
80
|
+
: t('dyn_passkey_recovery.start.title'),
|
|
73
81
|
},
|
|
74
82
|
'pending-connect': {
|
|
75
83
|
heading: t('dyn_login.connect_wallet.title'),
|
|
@@ -26,11 +26,13 @@ var getUserWalletsFromVerifiedCredentials = require('../../functions/getUserWall
|
|
|
26
26
|
var isEmbeddedWalletPresent = require('../../functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.cjs');
|
|
27
27
|
var isTurnkeyEnabled = require('../../functions/isTurnkeyEnabled/isTurnkeyEnabled.cjs');
|
|
28
28
|
var smartWallet = require('../useWalletConnectors/utils/smartWallet/smartWallet.cjs');
|
|
29
|
+
var useCreateDynamicEmbeddedWalletMutation = require('../useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs');
|
|
29
30
|
|
|
30
31
|
// Hook exposed to customers and used internally to trigger embedded wallet creation
|
|
31
32
|
const useEmbeddedWallet = () => {
|
|
32
|
-
const { projectSettings, onboardingOnlyJwt, setPrimaryWalletId, wallets, internalSetShowAuthFlow, internalEvents, primaryWallet, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
33
|
+
const { projectSettings, onboardingOnlyJwt, setPrimaryWalletId, wallets, internalSetShowAuthFlow, internalEvents, primaryWallet, environmentId, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
33
34
|
const { setView } = ViewContext.useViewContext();
|
|
35
|
+
const { createDynamicEmbeddedWalletMutation } = useCreateDynamicEmbeddedWalletMutation.useCreateDynamicEmbeddedWalletMutation();
|
|
34
36
|
const userHasEmbeddedWallet = () => {
|
|
35
37
|
var _a;
|
|
36
38
|
const jwt = (_a = getAuthToken.getAuthToken()) !== null && _a !== void 0 ? _a : onboardingOnlyJwt;
|
|
@@ -39,36 +41,25 @@ const useEmbeddedWallet = () => {
|
|
|
39
41
|
}
|
|
40
42
|
return isEmbeddedWalletPresent.isEmbeddedWalletPresent(jwt);
|
|
41
43
|
};
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
}
|
|
56
|
-
internalSetShowAuthFlow(false);
|
|
57
|
-
const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials.findEmbeddedWalletFromVerifiedCredentials(jwt);
|
|
58
|
-
// if user logged in with MM for example, just continue the flow
|
|
59
|
-
if (!embeddedWalletVerifiedCredential) {
|
|
60
|
-
return Promise.resolve(primaryWallet);
|
|
61
|
-
}
|
|
62
|
-
// if user already has embedded wallet, returns it
|
|
63
|
-
return returnEmbeddedWallet(jwt, embeddedWalletVerifiedCredential);
|
|
44
|
+
const startPregeneratedWalletCreationFlow = React.useCallback((jwt, decodedJwt) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
45
|
+
createDynamicEmbeddedWalletMutation({
|
|
46
|
+
authToken: jwt,
|
|
47
|
+
decodedJwt,
|
|
48
|
+
environmentId,
|
|
49
|
+
wallets,
|
|
50
|
+
withAuthenticator: false,
|
|
51
|
+
});
|
|
52
|
+
internalSetShowAuthFlow(false); // close email otp pin modal
|
|
53
|
+
return new Promise((resolve, reject) => {
|
|
54
|
+
internalEvents.current.once('embeddedWalletCreated', (wallet) => resolve(wallet));
|
|
55
|
+
internalEvents.current.once('embeddedWalletFailed', (error) => reject(error));
|
|
56
|
+
});
|
|
64
57
|
}), [
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
onboardingOnlyJwt,
|
|
68
|
-
projectSettings,
|
|
69
|
-
setPrimaryWalletId,
|
|
70
|
-
setView,
|
|
58
|
+
createDynamicEmbeddedWalletMutation,
|
|
59
|
+
environmentId,
|
|
71
60
|
wallets,
|
|
61
|
+
internalSetShowAuthFlow,
|
|
62
|
+
internalEvents,
|
|
72
63
|
]);
|
|
73
64
|
const startEmbeddedWalletCreationFlow = () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
74
65
|
internalSetShowAuthFlow(true);
|
|
@@ -88,12 +79,12 @@ const useEmbeddedWallet = () => {
|
|
|
88
79
|
});
|
|
89
80
|
});
|
|
90
81
|
const returnEmbeddedWallet = (jwt, embeddedWalletVerifiedCredential) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
91
|
-
var _b, _c
|
|
82
|
+
var _a, _b, _c;
|
|
92
83
|
const decodedJwt = decodeJwt.decodeJwt(jwt);
|
|
93
84
|
const turnkeyWallet = findTurnkeyWallet.findTurnkeyWallet(wallets);
|
|
94
85
|
// if user already has embedded wallet, set it as primary wallet
|
|
95
86
|
if (decodedJwt) {
|
|
96
|
-
(
|
|
87
|
+
(_a = turnkeyWallet === null || turnkeyWallet === void 0 ? void 0 : turnkeyWallet.walletConnector) === null || _a === void 0 ? void 0 : _a.setVerifiedCredentials(decodedJwt.verifiedCredentials);
|
|
97
88
|
const smartWallet$1 = smartWallet.findSmartWallet(embeddedWalletVerifiedCredential, decodedJwt.verifiedCredentials);
|
|
98
89
|
if (smartWallet$1) {
|
|
99
90
|
yield smartWallet.initializeSmartWallet({
|
|
@@ -108,14 +99,47 @@ const useEmbeddedWallet = () => {
|
|
|
108
99
|
}
|
|
109
100
|
}
|
|
110
101
|
const passkeyWallet = {
|
|
111
|
-
address: (yield ((
|
|
112
|
-
chain: ((
|
|
102
|
+
address: (yield ((_b = turnkeyWallet === null || turnkeyWallet === void 0 ? void 0 : turnkeyWallet.walletConnector) === null || _b === void 0 ? void 0 : _b.fetchPublicAddress())) || '',
|
|
103
|
+
chain: ((_c = turnkeyWallet === null || turnkeyWallet === void 0 ? void 0 : turnkeyWallet.walletConnector) === null || _c === void 0 ? void 0 : _c.connectedChain) || '',
|
|
113
104
|
connected: true,
|
|
114
105
|
connector: (turnkeyWallet === null || turnkeyWallet === void 0 ? void 0 : turnkeyWallet.walletConnector) || {},
|
|
115
106
|
id: embeddedWalletVerifiedCredential.id,
|
|
116
107
|
};
|
|
117
108
|
return Promise.resolve(passkeyWallet);
|
|
118
109
|
});
|
|
110
|
+
const createEmbeddedWallet = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
111
|
+
var _d, _e, _f;
|
|
112
|
+
const jwt = (_d = getAuthToken.getAuthToken()) !== null && _d !== void 0 ? _d : onboardingOnlyJwt;
|
|
113
|
+
const decodedJwt = decodeJwt.decodeJwt(jwt);
|
|
114
|
+
if (!jwt || !decodedJwt) {
|
|
115
|
+
throw new Error('User is not logged in');
|
|
116
|
+
}
|
|
117
|
+
if (!isTurnkeyEnabled.isTurnkeyEnabled(projectSettings)) {
|
|
118
|
+
throw new Error('Passkey embedded wallet is not enabled. Go to the dashboard and make sure to have both Turnkey/Passkey Embedded wallets and at least one EVM network enabled. Also, check if EthereumWalletConnectors is in the DynamicContextProvider > settings > walletConnectors.');
|
|
119
|
+
}
|
|
120
|
+
const userWaletsCredentials = getUserWalletsFromVerifiedCredentials.getUserWalletsFromVerifiedCredentials(jwt);
|
|
121
|
+
// if user doesn't have a wallet yet, show the passkey view to create an embedded wallet
|
|
122
|
+
if (!(userWaletsCredentials === null || userWaletsCredentials === void 0 ? void 0 : userWaletsCredentials.length)) {
|
|
123
|
+
if (((_f = (_e = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWalletSecurityMethods) === null || _e === void 0 ? void 0 : _e.length) !== null && _f !== void 0 ? _f : 0) === 0) {
|
|
124
|
+
return startPregeneratedWalletCreationFlow(jwt, decodedJwt);
|
|
125
|
+
}
|
|
126
|
+
return startEmbeddedWalletCreationFlow();
|
|
127
|
+
}
|
|
128
|
+
internalSetShowAuthFlow(false);
|
|
129
|
+
const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials.findEmbeddedWalletFromVerifiedCredentials(jwt);
|
|
130
|
+
// if user logged in with MM for example, just continue the flow
|
|
131
|
+
if (!embeddedWalletVerifiedCredential) {
|
|
132
|
+
return Promise.resolve(primaryWallet);
|
|
133
|
+
}
|
|
134
|
+
// if user already has embedded wallet, returns it
|
|
135
|
+
return returnEmbeddedWallet(jwt, embeddedWalletVerifiedCredential);
|
|
136
|
+
}), [
|
|
137
|
+
internalSetShowAuthFlow,
|
|
138
|
+
onboardingOnlyJwt,
|
|
139
|
+
projectSettings,
|
|
140
|
+
startPregeneratedWalletCreationFlow,
|
|
141
|
+
primaryWallet,
|
|
142
|
+
]);
|
|
119
143
|
return {
|
|
120
144
|
createEmbeddedWallet,
|
|
121
145
|
userHasEmbeddedWallet,
|
|
@@ -22,11 +22,13 @@ import { getUserWalletsFromVerifiedCredentials } from '../../functions/getUserWa
|
|
|
22
22
|
import { isEmbeddedWalletPresent } from '../../functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.js';
|
|
23
23
|
import { isTurnkeyEnabled } from '../../functions/isTurnkeyEnabled/isTurnkeyEnabled.js';
|
|
24
24
|
import { findSmartWallet, initializeSmartWallet } from '../useWalletConnectors/utils/smartWallet/smartWallet.js';
|
|
25
|
+
import { useCreateDynamicEmbeddedWalletMutation } from '../useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js';
|
|
25
26
|
|
|
26
27
|
// Hook exposed to customers and used internally to trigger embedded wallet creation
|
|
27
28
|
const useEmbeddedWallet = () => {
|
|
28
|
-
const { projectSettings, onboardingOnlyJwt, setPrimaryWalletId, wallets, internalSetShowAuthFlow, internalEvents, primaryWallet, } = useInternalDynamicContext();
|
|
29
|
+
const { projectSettings, onboardingOnlyJwt, setPrimaryWalletId, wallets, internalSetShowAuthFlow, internalEvents, primaryWallet, environmentId, } = useInternalDynamicContext();
|
|
29
30
|
const { setView } = useViewContext();
|
|
31
|
+
const { createDynamicEmbeddedWalletMutation } = useCreateDynamicEmbeddedWalletMutation();
|
|
30
32
|
const userHasEmbeddedWallet = () => {
|
|
31
33
|
var _a;
|
|
32
34
|
const jwt = (_a = getAuthToken()) !== null && _a !== void 0 ? _a : onboardingOnlyJwt;
|
|
@@ -35,36 +37,25 @@ const useEmbeddedWallet = () => {
|
|
|
35
37
|
}
|
|
36
38
|
return isEmbeddedWalletPresent(jwt);
|
|
37
39
|
};
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
}
|
|
52
|
-
internalSetShowAuthFlow(false);
|
|
53
|
-
const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials(jwt);
|
|
54
|
-
// if user logged in with MM for example, just continue the flow
|
|
55
|
-
if (!embeddedWalletVerifiedCredential) {
|
|
56
|
-
return Promise.resolve(primaryWallet);
|
|
57
|
-
}
|
|
58
|
-
// if user already has embedded wallet, returns it
|
|
59
|
-
return returnEmbeddedWallet(jwt, embeddedWalletVerifiedCredential);
|
|
40
|
+
const startPregeneratedWalletCreationFlow = useCallback((jwt, decodedJwt) => __awaiter(void 0, void 0, void 0, function* () {
|
|
41
|
+
createDynamicEmbeddedWalletMutation({
|
|
42
|
+
authToken: jwt,
|
|
43
|
+
decodedJwt,
|
|
44
|
+
environmentId,
|
|
45
|
+
wallets,
|
|
46
|
+
withAuthenticator: false,
|
|
47
|
+
});
|
|
48
|
+
internalSetShowAuthFlow(false); // close email otp pin modal
|
|
49
|
+
return new Promise((resolve, reject) => {
|
|
50
|
+
internalEvents.current.once('embeddedWalletCreated', (wallet) => resolve(wallet));
|
|
51
|
+
internalEvents.current.once('embeddedWalletFailed', (error) => reject(error));
|
|
52
|
+
});
|
|
60
53
|
}), [
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
onboardingOnlyJwt,
|
|
64
|
-
projectSettings,
|
|
65
|
-
setPrimaryWalletId,
|
|
66
|
-
setView,
|
|
54
|
+
createDynamicEmbeddedWalletMutation,
|
|
55
|
+
environmentId,
|
|
67
56
|
wallets,
|
|
57
|
+
internalSetShowAuthFlow,
|
|
58
|
+
internalEvents,
|
|
68
59
|
]);
|
|
69
60
|
const startEmbeddedWalletCreationFlow = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
70
61
|
internalSetShowAuthFlow(true);
|
|
@@ -84,12 +75,12 @@ const useEmbeddedWallet = () => {
|
|
|
84
75
|
});
|
|
85
76
|
});
|
|
86
77
|
const returnEmbeddedWallet = (jwt, embeddedWalletVerifiedCredential) => __awaiter(void 0, void 0, void 0, function* () {
|
|
87
|
-
var _b, _c
|
|
78
|
+
var _a, _b, _c;
|
|
88
79
|
const decodedJwt = decodeJwt(jwt);
|
|
89
80
|
const turnkeyWallet = findTurnkeyWallet(wallets);
|
|
90
81
|
// if user already has embedded wallet, set it as primary wallet
|
|
91
82
|
if (decodedJwt) {
|
|
92
|
-
(
|
|
83
|
+
(_a = turnkeyWallet === null || turnkeyWallet === void 0 ? void 0 : turnkeyWallet.walletConnector) === null || _a === void 0 ? void 0 : _a.setVerifiedCredentials(decodedJwt.verifiedCredentials);
|
|
93
84
|
const smartWallet = findSmartWallet(embeddedWalletVerifiedCredential, decodedJwt.verifiedCredentials);
|
|
94
85
|
if (smartWallet) {
|
|
95
86
|
yield initializeSmartWallet({
|
|
@@ -104,14 +95,47 @@ const useEmbeddedWallet = () => {
|
|
|
104
95
|
}
|
|
105
96
|
}
|
|
106
97
|
const passkeyWallet = {
|
|
107
|
-
address: (yield ((
|
|
108
|
-
chain: ((
|
|
98
|
+
address: (yield ((_b = turnkeyWallet === null || turnkeyWallet === void 0 ? void 0 : turnkeyWallet.walletConnector) === null || _b === void 0 ? void 0 : _b.fetchPublicAddress())) || '',
|
|
99
|
+
chain: ((_c = turnkeyWallet === null || turnkeyWallet === void 0 ? void 0 : turnkeyWallet.walletConnector) === null || _c === void 0 ? void 0 : _c.connectedChain) || '',
|
|
109
100
|
connected: true,
|
|
110
101
|
connector: (turnkeyWallet === null || turnkeyWallet === void 0 ? void 0 : turnkeyWallet.walletConnector) || {},
|
|
111
102
|
id: embeddedWalletVerifiedCredential.id,
|
|
112
103
|
};
|
|
113
104
|
return Promise.resolve(passkeyWallet);
|
|
114
105
|
});
|
|
106
|
+
const createEmbeddedWallet = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
107
|
+
var _d, _e, _f;
|
|
108
|
+
const jwt = (_d = getAuthToken()) !== null && _d !== void 0 ? _d : onboardingOnlyJwt;
|
|
109
|
+
const decodedJwt = decodeJwt(jwt);
|
|
110
|
+
if (!jwt || !decodedJwt) {
|
|
111
|
+
throw new Error('User is not logged in');
|
|
112
|
+
}
|
|
113
|
+
if (!isTurnkeyEnabled(projectSettings)) {
|
|
114
|
+
throw new Error('Passkey embedded wallet is not enabled. Go to the dashboard and make sure to have both Turnkey/Passkey Embedded wallets and at least one EVM network enabled. Also, check if EthereumWalletConnectors is in the DynamicContextProvider > settings > walletConnectors.');
|
|
115
|
+
}
|
|
116
|
+
const userWaletsCredentials = getUserWalletsFromVerifiedCredentials(jwt);
|
|
117
|
+
// if user doesn't have a wallet yet, show the passkey view to create an embedded wallet
|
|
118
|
+
if (!(userWaletsCredentials === null || userWaletsCredentials === void 0 ? void 0 : userWaletsCredentials.length)) {
|
|
119
|
+
if (((_f = (_e = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWalletSecurityMethods) === null || _e === void 0 ? void 0 : _e.length) !== null && _f !== void 0 ? _f : 0) === 0) {
|
|
120
|
+
return startPregeneratedWalletCreationFlow(jwt, decodedJwt);
|
|
121
|
+
}
|
|
122
|
+
return startEmbeddedWalletCreationFlow();
|
|
123
|
+
}
|
|
124
|
+
internalSetShowAuthFlow(false);
|
|
125
|
+
const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials(jwt);
|
|
126
|
+
// if user logged in with MM for example, just continue the flow
|
|
127
|
+
if (!embeddedWalletVerifiedCredential) {
|
|
128
|
+
return Promise.resolve(primaryWallet);
|
|
129
|
+
}
|
|
130
|
+
// if user already has embedded wallet, returns it
|
|
131
|
+
return returnEmbeddedWallet(jwt, embeddedWalletVerifiedCredential);
|
|
132
|
+
}), [
|
|
133
|
+
internalSetShowAuthFlow,
|
|
134
|
+
onboardingOnlyJwt,
|
|
135
|
+
projectSettings,
|
|
136
|
+
startPregeneratedWalletCreationFlow,
|
|
137
|
+
primaryWallet,
|
|
138
|
+
]);
|
|
115
139
|
return {
|
|
116
140
|
createEmbeddedWallet,
|
|
117
141
|
userHasEmbeddedWallet,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useIsTurnkeyWallet } from './useIsTurnkeyWallet';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var useInternalDynamicContext = require('../../../context/DynamicContext/useInternalDynamicContext.cjs');
|
|
6
|
+
|
|
7
|
+
const useIsTurnkeyWallet = () => {
|
|
8
|
+
var _a;
|
|
9
|
+
const { primaryWallet, user } = useInternalDynamicContext.useInternalDynamicContext();
|
|
10
|
+
const getTurnkeyVerifiedCredential = () => {
|
|
11
|
+
if (!primaryWallet || !user) {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
const isPrimaryWalletTurnkey = primaryWallet.connector.key.startsWith('turnkey');
|
|
15
|
+
if (!isPrimaryWalletTurnkey) {
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
const primaryWalletId = primaryWallet.id;
|
|
19
|
+
const turnkeyVC = user.verifiedCredentials.find((vc) => vc.id === primaryWalletId);
|
|
20
|
+
if (!turnkeyVC) {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
return turnkeyVC;
|
|
24
|
+
};
|
|
25
|
+
const turnkeyVerifiedCredential = getTurnkeyVerifiedCredential();
|
|
26
|
+
const isTurnkeyWallet = Boolean(turnkeyVerifiedCredential);
|
|
27
|
+
const hasTurnkeyVerifiedCredentialAuthenticator = Boolean((_a = turnkeyVerifiedCredential === null || turnkeyVerifiedCredential === void 0 ? void 0 : turnkeyVerifiedCredential.walletProperties) === null || _a === void 0 ? void 0 : _a.isAuthenticatorAttached);
|
|
28
|
+
const isTurnkeyWalletWithoutAuthenticator = isTurnkeyWallet && !hasTurnkeyVerifiedCredentialAuthenticator;
|
|
29
|
+
return {
|
|
30
|
+
hasTurnkeyVerifiedCredentialAuthenticator,
|
|
31
|
+
isTurnkeyWallet,
|
|
32
|
+
isTurnkeyWalletWithoutAuthenticator,
|
|
33
|
+
turnkeyVerifiedCredential,
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
exports.useIsTurnkeyWallet = useIsTurnkeyWallet;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const useIsTurnkeyWallet: () => {
|
|
2
|
+
hasTurnkeyVerifiedCredentialAuthenticator: boolean;
|
|
3
|
+
isTurnkeyWallet: boolean;
|
|
4
|
+
isTurnkeyWalletWithoutAuthenticator: boolean;
|
|
5
|
+
turnkeyVerifiedCredential: import("@dynamic-labs/sdk-api").JwtVerifiedCredential | undefined;
|
|
6
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { useInternalDynamicContext } from '../../../context/DynamicContext/useInternalDynamicContext.js';
|
|
2
|
+
|
|
3
|
+
const useIsTurnkeyWallet = () => {
|
|
4
|
+
var _a;
|
|
5
|
+
const { primaryWallet, user } = useInternalDynamicContext();
|
|
6
|
+
const getTurnkeyVerifiedCredential = () => {
|
|
7
|
+
if (!primaryWallet || !user) {
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
const isPrimaryWalletTurnkey = primaryWallet.connector.key.startsWith('turnkey');
|
|
11
|
+
if (!isPrimaryWalletTurnkey) {
|
|
12
|
+
return undefined;
|
|
13
|
+
}
|
|
14
|
+
const primaryWalletId = primaryWallet.id;
|
|
15
|
+
const turnkeyVC = user.verifiedCredentials.find((vc) => vc.id === primaryWalletId);
|
|
16
|
+
if (!turnkeyVC) {
|
|
17
|
+
return undefined;
|
|
18
|
+
}
|
|
19
|
+
return turnkeyVC;
|
|
20
|
+
};
|
|
21
|
+
const turnkeyVerifiedCredential = getTurnkeyVerifiedCredential();
|
|
22
|
+
const isTurnkeyWallet = Boolean(turnkeyVerifiedCredential);
|
|
23
|
+
const hasTurnkeyVerifiedCredentialAuthenticator = Boolean((_a = turnkeyVerifiedCredential === null || turnkeyVerifiedCredential === void 0 ? void 0 : turnkeyVerifiedCredential.walletProperties) === null || _a === void 0 ? void 0 : _a.isAuthenticatorAttached);
|
|
24
|
+
const isTurnkeyWalletWithoutAuthenticator = isTurnkeyWallet && !hasTurnkeyVerifiedCredentialAuthenticator;
|
|
25
|
+
return {
|
|
26
|
+
hasTurnkeyVerifiedCredentialAuthenticator,
|
|
27
|
+
isTurnkeyWallet,
|
|
28
|
+
isTurnkeyWalletWithoutAuthenticator,
|
|
29
|
+
turnkeyVerifiedCredential,
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export { useIsTurnkeyWallet };
|
|
@@ -49,13 +49,13 @@ require('../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
|
|
|
49
49
|
require('yup');
|
|
50
50
|
require('../../components/UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.cjs');
|
|
51
51
|
require('@dynamic-labs/types');
|
|
52
|
+
var useMutation = require('../../utils/hooks/useMutation/useMutation.cjs');
|
|
52
53
|
require('../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
|
|
53
54
|
require('../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
|
|
54
55
|
require('formik');
|
|
55
56
|
require('../../components/IconButton/IconButton.cjs');
|
|
56
57
|
require('../../components/Alert/Alert.cjs');
|
|
57
58
|
require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
|
|
58
|
-
var useMutation = require('../../utils/hooks/useMutation/useMutation.cjs');
|
|
59
59
|
var useFindSocialIcon = require('../../utils/hooks/useFindSocialIcon/useFindSocialIcon.cjs');
|
|
60
60
|
var IconListTile = require('../../components/IconListTile/IconListTile.cjs');
|
|
61
61
|
require('../../components/InlineWidget/InlineWidget.cjs');
|
|
@@ -45,13 +45,13 @@ import '../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
|
|
|
45
45
|
import 'yup';
|
|
46
46
|
import '../../components/UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.js';
|
|
47
47
|
import '@dynamic-labs/types';
|
|
48
|
+
import { useMutation } from '../../utils/hooks/useMutation/useMutation.js';
|
|
48
49
|
import '../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
|
|
49
50
|
import '../../context/UserFieldEditorContext/UserFieldEditorContext.js';
|
|
50
51
|
import 'formik';
|
|
51
52
|
import '../../components/IconButton/IconButton.js';
|
|
52
53
|
import '../../components/Alert/Alert.js';
|
|
53
54
|
import '../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
|
|
54
|
-
import { useMutation } from '../../utils/hooks/useMutation/useMutation.js';
|
|
55
55
|
import { useFindSocialIcon } from '../../utils/hooks/useFindSocialIcon/useFindSocialIcon.js';
|
|
56
56
|
import { IconListTile } from '../../components/IconListTile/IconListTile.js';
|
|
57
57
|
import '../../components/InlineWidget/InlineWidget.js';
|
|
@@ -40,6 +40,7 @@ require('../../components/Popper/PopperContext/PopperContext.cjs');
|
|
|
40
40
|
require('react-focus-lock');
|
|
41
41
|
require('formik');
|
|
42
42
|
require('yup');
|
|
43
|
+
var useMutation = require('../../utils/hooks/useMutation/useMutation.cjs');
|
|
43
44
|
require('../../components/OverlayCard/OverlayCard.context.cjs');
|
|
44
45
|
require('../../context/FooterAnimationContext/index.cjs');
|
|
45
46
|
require('../../context/MockContext/MockContext.cjs');
|
|
@@ -57,7 +58,6 @@ require('@dynamic-labs/types');
|
|
|
57
58
|
require('../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
|
|
58
59
|
require('../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
|
|
59
60
|
require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
|
|
60
|
-
var useMutation = require('../../utils/hooks/useMutation/useMutation.cjs');
|
|
61
61
|
|
|
62
62
|
const EmailWalletOTPVerificationView = () => {
|
|
63
63
|
const { setView } = ViewContext.useViewContext();
|
|
@@ -36,6 +36,7 @@ import '../../components/Popper/PopperContext/PopperContext.js';
|
|
|
36
36
|
import 'react-focus-lock';
|
|
37
37
|
import 'formik';
|
|
38
38
|
import 'yup';
|
|
39
|
+
import { useMutation } from '../../utils/hooks/useMutation/useMutation.js';
|
|
39
40
|
import '../../components/OverlayCard/OverlayCard.context.js';
|
|
40
41
|
import '../../context/FooterAnimationContext/index.js';
|
|
41
42
|
import '../../context/MockContext/MockContext.js';
|
|
@@ -53,7 +54,6 @@ import '@dynamic-labs/types';
|
|
|
53
54
|
import '../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
|
|
54
55
|
import '../../context/UserFieldEditorContext/UserFieldEditorContext.js';
|
|
55
56
|
import '../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
|
|
56
|
-
import { useMutation } from '../../utils/hooks/useMutation/useMutation.js';
|
|
57
57
|
|
|
58
58
|
const EmailWalletOTPVerificationView = () => {
|
|
59
59
|
const { setView } = useViewContext();
|
package/src/lib/views/LoginView/sections/SocialSignInSection/MagicSocialSignIn/MagicSocialSignIn.cjs
CHANGED
|
@@ -46,13 +46,13 @@ require('../../../../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs')
|
|
|
46
46
|
require('yup');
|
|
47
47
|
require('../../../../../components/UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.cjs');
|
|
48
48
|
require('@dynamic-labs/types');
|
|
49
|
+
var useMutation = require('../../../../../utils/hooks/useMutation/useMutation.cjs');
|
|
49
50
|
require('../../../../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.cjs');
|
|
50
51
|
require('../../../../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
|
|
51
52
|
require('formik');
|
|
52
53
|
require('../../../../../components/IconButton/IconButton.cjs');
|
|
53
54
|
require('../../../../../components/Alert/Alert.cjs');
|
|
54
55
|
require('../../../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
|
|
55
|
-
var useMutation = require('../../../../../utils/hooks/useMutation/useMutation.cjs');
|
|
56
56
|
require('../../../../../components/InlineWidget/InlineWidget.cjs');
|
|
57
57
|
require('../../../../../components/MenuList/Dropdown/Dropdown.cjs');
|
|
58
58
|
require('../../../../../components/Popper/Popper/Popper.cjs');
|
package/src/lib/views/LoginView/sections/SocialSignInSection/MagicSocialSignIn/MagicSocialSignIn.js
CHANGED
|
@@ -42,13 +42,13 @@ import '../../../../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
|
|
|
42
42
|
import 'yup';
|
|
43
43
|
import '../../../../../components/UserProfile/parts/UserProfileField/components/VerifiedEmailIcon/VerifiedEmailIcon.js';
|
|
44
44
|
import '@dynamic-labs/types';
|
|
45
|
+
import { useMutation } from '../../../../../utils/hooks/useMutation/useMutation.js';
|
|
45
46
|
import '../../../../../utils/hooks/useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
|
|
46
47
|
import '../../../../../context/UserFieldEditorContext/UserFieldEditorContext.js';
|
|
47
48
|
import 'formik';
|
|
48
49
|
import '../../../../../components/IconButton/IconButton.js';
|
|
49
50
|
import '../../../../../components/Alert/Alert.js';
|
|
50
51
|
import '../../../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
|
|
51
|
-
import { useMutation } from '../../../../../utils/hooks/useMutation/useMutation.js';
|
|
52
52
|
import '../../../../../components/InlineWidget/InlineWidget.js';
|
|
53
53
|
import '../../../../../components/MenuList/Dropdown/Dropdown.js';
|
|
54
54
|
import '../../../../../components/Popper/Popper/Popper.js';
|
|
@@ -32,16 +32,13 @@ const SocialSignInSection = ({ sectionData, collapsedLayout, }) => {
|
|
|
32
32
|
numOfItemsToDisplay: sectionData.numOfItemsToDisplay,
|
|
33
33
|
};
|
|
34
34
|
const isMagicEnabled = isProviderEnabled.isProviderEnabled(providers, sdkApi.ProviderEnum.MagicLink);
|
|
35
|
-
const isDynamicEnabled = isProviderEnabled.isProviderEnabled(providers, sdkApi.ProviderEnum.Dynamic) ||
|
|
36
|
-
isProviderEnabled.isProviderEnabled(providers, sdkApi.ProviderEnum.EmailOnly);
|
|
37
35
|
if (isMagicEnabled &&
|
|
38
36
|
((_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.socialSignIn) === null || _b === void 0 ? void 0 : _b.signInProvider) ===
|
|
39
37
|
sdkApi.SignInProviderEnum.MagicLink) {
|
|
40
38
|
return jsxRuntime.jsx(MagicSocialSignIn.MagicSocialSignIn, Object.assign({}, componentProps));
|
|
41
39
|
}
|
|
42
|
-
if (
|
|
43
|
-
|
|
44
|
-
sdkApi.SignInProviderEnum.Dynamic) {
|
|
40
|
+
if (((_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.socialSignIn) === null || _c === void 0 ? void 0 : _c.signInProvider) ===
|
|
41
|
+
sdkApi.SignInProviderEnum.Dynamic) {
|
|
45
42
|
return jsxRuntime.jsx(DynamicSocialSignIn.DynamicSocialSignIn, Object.assign({}, componentProps));
|
|
46
43
|
}
|
|
47
44
|
logger.logger.error('Failed to render SocialSignInSection - no sign in provider enabled');
|