@dynamic-labs/sdk-react-core 2.1.0-alpha.30 → 2.1.0-alpha.31
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 +10 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +13 -13
- package/src/lib/components/SyncAuthFlow/SyncAuthFlow.cjs +2 -1
- package/src/lib/components/SyncAuthFlow/SyncAuthFlow.js +2 -1
- package/src/lib/context/DynamicContext/DynamicContext.cjs +6 -9
- package/src/lib/context/DynamicContext/DynamicContext.d.ts +1 -0
- package/src/lib/context/DynamicContext/DynamicContext.js +6 -9
- package/src/lib/context/DynamicContext/types/index.d.ts +2 -3
- package/src/lib/context/PasskeyContext/PasskeyContext.cjs +3 -5
- package/src/lib/context/PasskeyContext/PasskeyContext.js +3 -5
- package/src/lib/shared/types/dynamicHandlers.d.ts +13 -0
- package/src/lib/utils/hooks/index.d.ts +1 -0
- package/src/lib/utils/hooks/useSyncOnboardingFlow/index.d.ts +1 -0
- package/src/lib/utils/hooks/useSyncOnboardingFlow/useSyncOnboardingFlow.cjs +190 -0
- package/src/lib/utils/hooks/useSyncOnboardingFlow/useSyncOnboardingFlow.d.ts +1 -0
- package/src/lib/utils/hooks/useSyncOnboardingFlow/useSyncOnboardingFlow.js +186 -0
- package/src/lib/utils/hooks/useUserAuth/useUserAuth.cjs +10 -31
- package/src/lib/utils/hooks/useUserAuth/useUserAuth.d.ts +5 -1
- package/src/lib/utils/hooks/useUserAuth/useUserAuth.js +10 -31
- package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.cjs +9 -2
- package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.js +9 -2
- package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedAuthFlow/DynamicEmbeddedAuthFlow.cjs +4 -6
- package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedAuthFlow/DynamicEmbeddedAuthFlow.js +4 -6
- package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedWidget.cjs +3 -85
- package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedWidget.js +3 -85
- package/src/lib/widgets/DynamicWidget/DynamicWidget.cjs +1 -7
- package/src/lib/widgets/DynamicWidget/DynamicWidget.js +2 -8
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
|
|
2
|
+
## [2.1.0-alpha.31](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.30...v2.1.0-alpha.31) (2024-05-31)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
* export solana private keys in the correct format ([#5809](https://github.com/dynamic-labs/DynamicAuth/issues/5809)) ([08ac1f8](https://github.com/dynamic-labs/DynamicAuth/commit/08ac1f87bb02ad07fd1fc1f544fdcc64ebe635b8))
|
|
8
|
+
* magiceden evm network switching ([#5800](https://github.com/dynamic-labs/DynamicAuth/issues/5800)) ([9b86797](https://github.com/dynamic-labs/DynamicAuth/commit/9b8679735f3db4b33bb57409c3a69adf2beb82aa))
|
|
9
|
+
* pass all signing inputs to createPsbtOptions ([#5798](https://github.com/dynamic-labs/DynamicAuth/issues/5798)) ([628ad4f](https://github.com/dynamic-labs/DynamicAuth/commit/628ad4f8c161496a0610ecbc3052735f8ceae98d))
|
|
10
|
+
* trigger onboarding async ([#5805](https://github.com/dynamic-labs/DynamicAuth/issues/5805)) ([2c1f98c](https://github.com/dynamic-labs/DynamicAuth/commit/2c1f98c0d91422f75e2d6d32ea4a27c2bc8d8376))
|
|
11
|
+
|
|
2
12
|
## [2.1.0-alpha.30](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.29...v2.1.0-alpha.30) (2024-05-31)
|
|
3
13
|
|
|
4
14
|
|
package/package.cjs
CHANGED
package/package.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/sdk-react-core",
|
|
3
|
-
"version": "2.1.0-alpha.
|
|
3
|
+
"version": "2.1.0-alpha.31",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/dynamic-labs/dynamic-auth.git",
|
|
@@ -17,18 +17,18 @@
|
|
|
17
17
|
"react-i18next": "13.5.0",
|
|
18
18
|
"yup": "0.32.11",
|
|
19
19
|
"react-international-phone": "4.2.5",
|
|
20
|
-
"@dynamic-labs/iconic": "2.1.0-alpha.
|
|
21
|
-
"@dynamic-labs/logger": "2.1.0-alpha.
|
|
22
|
-
"@dynamic-labs/multi-wallet": "2.1.0-alpha.
|
|
23
|
-
"@dynamic-labs/rpc-provider-ethereum": "2.1.0-alpha.
|
|
24
|
-
"@dynamic-labs/rpc-provider-solana": "2.1.0-alpha.
|
|
25
|
-
"@dynamic-labs/rpc-providers": "2.1.0-alpha.
|
|
26
|
-
"@dynamic-labs/store": "2.1.0-alpha.
|
|
27
|
-
"@dynamic-labs/types": "2.1.0-alpha.
|
|
28
|
-
"@dynamic-labs/utils": "2.1.0-alpha.
|
|
29
|
-
"@dynamic-labs/viem-utils": "2.1.0-alpha.
|
|
30
|
-
"@dynamic-labs/wallet-book": "2.1.0-alpha.
|
|
31
|
-
"@dynamic-labs/wallet-connector-core": "2.1.0-alpha.
|
|
20
|
+
"@dynamic-labs/iconic": "2.1.0-alpha.31",
|
|
21
|
+
"@dynamic-labs/logger": "2.1.0-alpha.31",
|
|
22
|
+
"@dynamic-labs/multi-wallet": "2.1.0-alpha.31",
|
|
23
|
+
"@dynamic-labs/rpc-provider-ethereum": "2.1.0-alpha.31",
|
|
24
|
+
"@dynamic-labs/rpc-provider-solana": "2.1.0-alpha.31",
|
|
25
|
+
"@dynamic-labs/rpc-providers": "2.1.0-alpha.31",
|
|
26
|
+
"@dynamic-labs/store": "2.1.0-alpha.31",
|
|
27
|
+
"@dynamic-labs/types": "2.1.0-alpha.31",
|
|
28
|
+
"@dynamic-labs/utils": "2.1.0-alpha.31",
|
|
29
|
+
"@dynamic-labs/viem-utils": "2.1.0-alpha.31",
|
|
30
|
+
"@dynamic-labs/wallet-book": "2.1.0-alpha.31",
|
|
31
|
+
"@dynamic-labs/wallet-connector-core": "2.1.0-alpha.31",
|
|
32
32
|
"eventemitter3": "5.0.1"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
@@ -77,10 +77,11 @@ require('../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
|
|
|
77
77
|
require('../../views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
|
|
78
78
|
require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
|
|
79
79
|
var useSyncEmbeddedWalletFlow = require('../../utils/hooks/useSyncEmbeddedWalletFlow/useSyncEmbeddedWalletFlow.cjs');
|
|
80
|
+
var useSyncOnboardingFlow = require('../../utils/hooks/useSyncOnboardingFlow/useSyncOnboardingFlow.cjs');
|
|
80
81
|
|
|
81
82
|
const SyncAuthFlow = () => {
|
|
83
|
+
useSyncOnboardingFlow.useSyncOnboardingFlow();
|
|
82
84
|
useSyncEmbeddedWalletFlow.useSyncEmbeddedWalletFlow();
|
|
83
|
-
// TODO: add useSyncOnboardingFlow here
|
|
84
85
|
return null;
|
|
85
86
|
};
|
|
86
87
|
|
|
@@ -73,10 +73,11 @@ import '../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
|
|
|
73
73
|
import '../../views/TransactionConfirmationView/helpers/transactionErrorMessage.js';
|
|
74
74
|
import '../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
|
|
75
75
|
import { useSyncEmbeddedWalletFlow } from '../../utils/hooks/useSyncEmbeddedWalletFlow/useSyncEmbeddedWalletFlow.js';
|
|
76
|
+
import { useSyncOnboardingFlow } from '../../utils/hooks/useSyncOnboardingFlow/useSyncOnboardingFlow.js';
|
|
76
77
|
|
|
77
78
|
const SyncAuthFlow = () => {
|
|
79
|
+
useSyncOnboardingFlow();
|
|
78
80
|
useSyncEmbeddedWalletFlow();
|
|
79
|
-
// TODO: add useSyncOnboardingFlow here
|
|
80
81
|
return null;
|
|
81
82
|
};
|
|
82
83
|
|
|
@@ -138,7 +138,7 @@ const DynamicContext = React.createContext(undefined);
|
|
|
138
138
|
/** The context provider itself we only use internally */
|
|
139
139
|
const InnerDynamicContextProvider = ({ children, theme, settings: settings$1, locale: locale$1, }) => {
|
|
140
140
|
var _a, _b, _c, _d, _e, _f;
|
|
141
|
-
const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, coinbaseWalletPreference, enableConnectOnlyFallback = false, deepLinkPreference: deepLinkPreferenceProp = 'native', bridgeChains, cssOverrides, defaultNumberOfWalletsToShow = values.DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displaySiweStatement = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, walletsFilter, logLevel = 'WARN', mobileExperience = 'in-app-browser', notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, socialProvidersFilter, showLockedWalletView = false, walletConnectPreferredChains, walletConnectorExtensions, recommendedWallets, hideEmbeddedWalletTransactionUIs, handlers, } = settings$1;
|
|
141
|
+
const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, coinbaseWalletPreference, enableConnectOnlyFallback = false, deepLinkPreference: deepLinkPreferenceProp = 'native', bridgeChains, cssOverrides, defaultNumberOfWalletsToShow = values.DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displaySiweStatement = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, walletsFilter, logLevel = 'WARN', mobileExperience = 'in-app-browser', notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, socialProvidersFilter, showLockedWalletView = false, walletConnectPreferredChains, walletConnectorExtensions, recommendedWallets, hideEmbeddedWalletTransactionUIs, handlers, headless = false, } = settings$1;
|
|
142
142
|
localStorage.LocalStorage.setSuffix(settings$1.localStorageSuffix);
|
|
143
143
|
/**
|
|
144
144
|
* initialize global store
|
|
@@ -247,9 +247,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings: settings$1, lo
|
|
|
247
247
|
const [requiredWalletsConnected, setRequiredWalletsConnected] = React.useState(false);
|
|
248
248
|
const isUserAuthenticated = Boolean(authMode === 'connect-and-sign' ? user : requiredWalletsConnected);
|
|
249
249
|
const isRenderingEmbeddedAuthFlow = React.useRef(false);
|
|
250
|
-
// we need to know when the widget has finished loadingbefore calling the auth flow
|
|
251
|
-
// or it may cause issues with the embedded widget version showing a modal twice
|
|
252
|
-
const [dynamicWidgetHasLoaded, setDynamicWidgetHasLoaded] = React.useState(false);
|
|
253
250
|
const [showAuthFlow, setShowAuthFlow] = useShowAuthFlow.useShowAuthFlow({
|
|
254
251
|
isAuthenticated: isUserAuthenticated,
|
|
255
252
|
isMultiWalletEnabled: multiWallet,
|
|
@@ -449,7 +446,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings: settings$1, lo
|
|
|
449
446
|
desktopUri,
|
|
450
447
|
disconnectWallet,
|
|
451
448
|
displaySiweStatement,
|
|
452
|
-
dynamicWidgetHasLoaded,
|
|
453
449
|
enableConnectOnlyFallback,
|
|
454
450
|
environmentId,
|
|
455
451
|
events,
|
|
@@ -458,6 +454,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings: settings$1, lo
|
|
|
458
454
|
handleLogOut,
|
|
459
455
|
handleUnlinkWallet: authMode === 'connect-only' ? disconnectWallet : handleUnlinkWallet,
|
|
460
456
|
handlers,
|
|
457
|
+
headless,
|
|
461
458
|
i18nSDKInstance,
|
|
462
459
|
isAuthenticated,
|
|
463
460
|
isBridgeFlow,
|
|
@@ -504,7 +501,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings: settings$1, lo
|
|
|
504
501
|
setCallback,
|
|
505
502
|
setDefaultTabIndex,
|
|
506
503
|
setDesktopUri,
|
|
507
|
-
setDynamicWidgetHasLoaded,
|
|
508
504
|
setIsSingleWalletAccount,
|
|
509
505
|
setLegacyIsVerifying,
|
|
510
506
|
setLogInWithEmail,
|
|
@@ -549,8 +545,10 @@ const InnerDynamicContextProvider = ({ children, theme, settings: settings$1, lo
|
|
|
549
545
|
accessDeniedMessagePrimary,
|
|
550
546
|
accessDeniedMessageSecondary,
|
|
551
547
|
accountSwitchState,
|
|
548
|
+
handlers,
|
|
552
549
|
appLogoUrl,
|
|
553
550
|
appName,
|
|
551
|
+
defaultTabIndex,
|
|
554
552
|
authMode,
|
|
555
553
|
authorizationViewDisplayOrder,
|
|
556
554
|
awaitingSignatureState,
|
|
@@ -566,11 +564,9 @@ const InnerDynamicContextProvider = ({ children, theme, settings: settings$1, lo
|
|
|
566
564
|
customTermsOfServices,
|
|
567
565
|
debugError,
|
|
568
566
|
defaultNumberOfWalletsToShow,
|
|
569
|
-
defaultTabIndex,
|
|
570
567
|
desktopUri,
|
|
571
568
|
disconnectWallet,
|
|
572
569
|
displaySiweStatement,
|
|
573
|
-
dynamicWidgetHasLoaded,
|
|
574
570
|
enableConnectOnlyFallback,
|
|
575
571
|
environmentId,
|
|
576
572
|
events,
|
|
@@ -579,6 +575,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings: settings$1, lo
|
|
|
579
575
|
handleLogOut,
|
|
580
576
|
handleUnlinkWallet,
|
|
581
577
|
handlers,
|
|
578
|
+
headless,
|
|
582
579
|
i18nSDKInstance,
|
|
583
580
|
isAuthenticated,
|
|
584
581
|
isBridgeFlow,
|
|
@@ -586,6 +583,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings: settings$1, lo
|
|
|
586
583
|
isSingleWalletAccount,
|
|
587
584
|
legacyIsVerifying,
|
|
588
585
|
user,
|
|
586
|
+
unauthenticatedUser,
|
|
589
587
|
linkedOrConnectedWallets,
|
|
590
588
|
loadingNetwork,
|
|
591
589
|
loginWithEmail,
|
|
@@ -645,7 +643,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings: settings$1, lo
|
|
|
645
643
|
termsOfServiceUrl,
|
|
646
644
|
theme,
|
|
647
645
|
toolkitEnabled,
|
|
648
|
-
unauthenticatedUser,
|
|
649
646
|
walletConnectorOptions,
|
|
650
647
|
walletUiUtils,
|
|
651
648
|
walletsFilter,
|
|
@@ -49,6 +49,7 @@ export interface DynamicContextProps {
|
|
|
49
49
|
*/
|
|
50
50
|
flowNetwork?: 'testnet' | 'mainnet';
|
|
51
51
|
handlers?: DynamicHandlers;
|
|
52
|
+
headless?: boolean;
|
|
52
53
|
hideEmbeddedWalletTransactionUIs?: boolean;
|
|
53
54
|
initialAuthenticationMode?: AuthModeType;
|
|
54
55
|
localStorageSuffix?: string;
|
|
@@ -134,7 +134,7 @@ const DynamicContext = createContext(undefined);
|
|
|
134
134
|
/** The context provider itself we only use internally */
|
|
135
135
|
const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) => {
|
|
136
136
|
var _a, _b, _c, _d, _e, _f;
|
|
137
|
-
const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, coinbaseWalletPreference, enableConnectOnlyFallback = false, deepLinkPreference: deepLinkPreferenceProp = 'native', bridgeChains, cssOverrides, defaultNumberOfWalletsToShow = DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displaySiweStatement = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, walletsFilter, logLevel = 'WARN', mobileExperience = 'in-app-browser', notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, socialProvidersFilter, showLockedWalletView = false, walletConnectPreferredChains, walletConnectorExtensions, recommendedWallets, hideEmbeddedWalletTransactionUIs, handlers, } = settings;
|
|
137
|
+
const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, coinbaseWalletPreference, enableConnectOnlyFallback = false, deepLinkPreference: deepLinkPreferenceProp = 'native', bridgeChains, cssOverrides, defaultNumberOfWalletsToShow = DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displaySiweStatement = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, walletsFilter, logLevel = 'WARN', mobileExperience = 'in-app-browser', notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, socialProvidersFilter, showLockedWalletView = false, walletConnectPreferredChains, walletConnectorExtensions, recommendedWallets, hideEmbeddedWalletTransactionUIs, handlers, headless = false, } = settings;
|
|
138
138
|
LocalStorage.setSuffix(settings.localStorageSuffix);
|
|
139
139
|
/**
|
|
140
140
|
* initialize global store
|
|
@@ -243,9 +243,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
243
243
|
const [requiredWalletsConnected, setRequiredWalletsConnected] = useState(false);
|
|
244
244
|
const isUserAuthenticated = Boolean(authMode === 'connect-and-sign' ? user : requiredWalletsConnected);
|
|
245
245
|
const isRenderingEmbeddedAuthFlow = useRef(false);
|
|
246
|
-
// we need to know when the widget has finished loadingbefore calling the auth flow
|
|
247
|
-
// or it may cause issues with the embedded widget version showing a modal twice
|
|
248
|
-
const [dynamicWidgetHasLoaded, setDynamicWidgetHasLoaded] = useState(false);
|
|
249
246
|
const [showAuthFlow, setShowAuthFlow] = useShowAuthFlow({
|
|
250
247
|
isAuthenticated: isUserAuthenticated,
|
|
251
248
|
isMultiWalletEnabled: multiWallet,
|
|
@@ -445,7 +442,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
445
442
|
desktopUri,
|
|
446
443
|
disconnectWallet,
|
|
447
444
|
displaySiweStatement,
|
|
448
|
-
dynamicWidgetHasLoaded,
|
|
449
445
|
enableConnectOnlyFallback,
|
|
450
446
|
environmentId,
|
|
451
447
|
events,
|
|
@@ -454,6 +450,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
454
450
|
handleLogOut,
|
|
455
451
|
handleUnlinkWallet: authMode === 'connect-only' ? disconnectWallet : handleUnlinkWallet,
|
|
456
452
|
handlers,
|
|
453
|
+
headless,
|
|
457
454
|
i18nSDKInstance,
|
|
458
455
|
isAuthenticated,
|
|
459
456
|
isBridgeFlow,
|
|
@@ -500,7 +497,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
500
497
|
setCallback,
|
|
501
498
|
setDefaultTabIndex,
|
|
502
499
|
setDesktopUri,
|
|
503
|
-
setDynamicWidgetHasLoaded,
|
|
504
500
|
setIsSingleWalletAccount,
|
|
505
501
|
setLegacyIsVerifying,
|
|
506
502
|
setLogInWithEmail,
|
|
@@ -545,8 +541,10 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
545
541
|
accessDeniedMessagePrimary,
|
|
546
542
|
accessDeniedMessageSecondary,
|
|
547
543
|
accountSwitchState,
|
|
544
|
+
handlers,
|
|
548
545
|
appLogoUrl,
|
|
549
546
|
appName,
|
|
547
|
+
defaultTabIndex,
|
|
550
548
|
authMode,
|
|
551
549
|
authorizationViewDisplayOrder,
|
|
552
550
|
awaitingSignatureState,
|
|
@@ -562,11 +560,9 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
562
560
|
customTermsOfServices,
|
|
563
561
|
debugError,
|
|
564
562
|
defaultNumberOfWalletsToShow,
|
|
565
|
-
defaultTabIndex,
|
|
566
563
|
desktopUri,
|
|
567
564
|
disconnectWallet,
|
|
568
565
|
displaySiweStatement,
|
|
569
|
-
dynamicWidgetHasLoaded,
|
|
570
566
|
enableConnectOnlyFallback,
|
|
571
567
|
environmentId,
|
|
572
568
|
events,
|
|
@@ -575,6 +571,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
575
571
|
handleLogOut,
|
|
576
572
|
handleUnlinkWallet,
|
|
577
573
|
handlers,
|
|
574
|
+
headless,
|
|
578
575
|
i18nSDKInstance,
|
|
579
576
|
isAuthenticated,
|
|
580
577
|
isBridgeFlow,
|
|
@@ -582,6 +579,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
582
579
|
isSingleWalletAccount,
|
|
583
580
|
legacyIsVerifying,
|
|
584
581
|
user,
|
|
582
|
+
unauthenticatedUser,
|
|
585
583
|
linkedOrConnectedWallets,
|
|
586
584
|
loadingNetwork,
|
|
587
585
|
loginWithEmail,
|
|
@@ -641,7 +639,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
641
639
|
termsOfServiceUrl,
|
|
642
640
|
theme,
|
|
643
641
|
toolkitEnabled,
|
|
644
|
-
unauthenticatedUser,
|
|
645
642
|
walletConnectorOptions,
|
|
646
643
|
walletUiUtils,
|
|
647
644
|
walletsFilter,
|
|
@@ -83,8 +83,6 @@ export interface IDynamicContext {
|
|
|
83
83
|
desktopUri: string;
|
|
84
84
|
disconnectWallet: (walletId: string) => void;
|
|
85
85
|
displaySiweStatement: boolean;
|
|
86
|
-
/** Tracks wether the dynamic widget or embedded widget has rendered */
|
|
87
|
-
dynamicWidgetHasLoaded: boolean;
|
|
88
86
|
enableConnectOnlyFallback?: boolean;
|
|
89
87
|
environmentId: string;
|
|
90
88
|
events?: DynamicEventsCallbacks;
|
|
@@ -93,6 +91,8 @@ export interface IDynamicContext {
|
|
|
93
91
|
handleLogOut: () => Promise<void>;
|
|
94
92
|
handleUnlinkWallet: (walletId: string) => Promise<void> | void;
|
|
95
93
|
handlers?: DynamicHandlers;
|
|
94
|
+
/** Flag for customer to set when using dynamic fully headless */
|
|
95
|
+
headless?: boolean;
|
|
96
96
|
isAuthenticated: boolean;
|
|
97
97
|
isBridgeFlow: boolean;
|
|
98
98
|
isProjectSettingsLoading: boolean;
|
|
@@ -145,7 +145,6 @@ export interface IDynamicContext {
|
|
|
145
145
|
setBridgeOnboardingCompleted: (value: boolean | ((val: boolean) => boolean)) => void;
|
|
146
146
|
setCallback: SetCallbackType;
|
|
147
147
|
setDesktopUri: Dispatch<SetStateAction<string>>;
|
|
148
|
-
setDynamicWidgetHasLoaded: Dispatch<SetStateAction<boolean>>;
|
|
149
148
|
setIsSingleWalletAccount: Dispatch<SetStateAction<boolean>>;
|
|
150
149
|
/** Legacy setter for legacyIsVerifying
|
|
151
150
|
* @deprecated Should be removed asap.
|
|
@@ -25,7 +25,6 @@ var useInternalDynamicContext = require('../DynamicContext/useDynamicContext/use
|
|
|
25
25
|
require('../CaptchaContext/CaptchaContext.cjs');
|
|
26
26
|
require('../ErrorContext/ErrorContext.cjs');
|
|
27
27
|
require('@dynamic-labs/multi-wallet');
|
|
28
|
-
var getMinAuthToken = require('../../utils/functions/getMinAuthToken/getMinAuthToken.cjs');
|
|
29
28
|
require('react-international-phone');
|
|
30
29
|
require('viem');
|
|
31
30
|
require('viem/chains');
|
|
@@ -89,7 +88,7 @@ const PasskeyContextProviderWithBrowser = ({ children, }) => {
|
|
|
89
88
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
90
89
|
const { userHasEmbeddedWallet } = useEmbeddedWallet.useEmbeddedWallet();
|
|
91
90
|
const { isTurnkeyWallet, isTurnkeyWalletWithoutAuthenticator, hasRecoveryEmail, } = useIsTurnkeyWallet.useIsTurnkeyWallet();
|
|
92
|
-
const { environmentId, projectSettings } = useInternalDynamicContext.useInternalDynamicContext();
|
|
91
|
+
const { environmentId, projectSettings, user } = useInternalDynamicContext.useInternalDynamicContext();
|
|
93
92
|
// state for when passkey list needs to re-render
|
|
94
93
|
const [passkeyEdited, setPasskeyEdited] = React.useState(false);
|
|
95
94
|
// states to pass into rename passkey popup
|
|
@@ -121,7 +120,6 @@ const PasskeyContextProviderWithBrowser = ({ children, }) => {
|
|
|
121
120
|
isTurnkeyWalletWithoutAuthenticator,
|
|
122
121
|
hasRecoveryEmail,
|
|
123
122
|
]);
|
|
124
|
-
const userJwt = getMinAuthToken.getMinAuthToken();
|
|
125
123
|
// It fetches user passkeys if user has embedded wallet
|
|
126
124
|
const getUserPasskeysResult = usePromise.usePromise(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
127
125
|
const data = yield embeddedWallets.getUserPasskeys({
|
|
@@ -129,8 +127,8 @@ const PasskeyContextProviderWithBrowser = ({ children, }) => {
|
|
|
129
127
|
});
|
|
130
128
|
return data.passkeys;
|
|
131
129
|
}), {
|
|
132
|
-
deps: [environmentId,
|
|
133
|
-
enabled: Boolean(environmentId &&
|
|
130
|
+
deps: [environmentId, user, userHasEmbeddedWallet(), passkeyEdited],
|
|
131
|
+
enabled: Boolean(environmentId && user && userHasEmbeddedWallet()),
|
|
134
132
|
});
|
|
135
133
|
// Returns true if user has passkeys for current origin
|
|
136
134
|
const userHasPasskeysForCurrentOrigin = React.useMemo(() => {
|
|
@@ -21,7 +21,6 @@ import { useInternalDynamicContext } from '../DynamicContext/useDynamicContext/u
|
|
|
21
21
|
import '../CaptchaContext/CaptchaContext.js';
|
|
22
22
|
import '../ErrorContext/ErrorContext.js';
|
|
23
23
|
import '@dynamic-labs/multi-wallet';
|
|
24
|
-
import { getMinAuthToken } from '../../utils/functions/getMinAuthToken/getMinAuthToken.js';
|
|
25
24
|
import 'react-international-phone';
|
|
26
25
|
import 'viem';
|
|
27
26
|
import 'viem/chains';
|
|
@@ -85,7 +84,7 @@ const PasskeyContextProviderWithBrowser = ({ children, }) => {
|
|
|
85
84
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
86
85
|
const { userHasEmbeddedWallet } = useEmbeddedWallet();
|
|
87
86
|
const { isTurnkeyWallet, isTurnkeyWalletWithoutAuthenticator, hasRecoveryEmail, } = useIsTurnkeyWallet();
|
|
88
|
-
const { environmentId, projectSettings } = useInternalDynamicContext();
|
|
87
|
+
const { environmentId, projectSettings, user } = useInternalDynamicContext();
|
|
89
88
|
// state for when passkey list needs to re-render
|
|
90
89
|
const [passkeyEdited, setPasskeyEdited] = useState(false);
|
|
91
90
|
// states to pass into rename passkey popup
|
|
@@ -117,7 +116,6 @@ const PasskeyContextProviderWithBrowser = ({ children, }) => {
|
|
|
117
116
|
isTurnkeyWalletWithoutAuthenticator,
|
|
118
117
|
hasRecoveryEmail,
|
|
119
118
|
]);
|
|
120
|
-
const userJwt = getMinAuthToken();
|
|
121
119
|
// It fetches user passkeys if user has embedded wallet
|
|
122
120
|
const getUserPasskeysResult = usePromise(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
123
121
|
const data = yield getUserPasskeys({
|
|
@@ -125,8 +123,8 @@ const PasskeyContextProviderWithBrowser = ({ children, }) => {
|
|
|
125
123
|
});
|
|
126
124
|
return data.passkeys;
|
|
127
125
|
}), {
|
|
128
|
-
deps: [environmentId,
|
|
129
|
-
enabled: Boolean(environmentId &&
|
|
126
|
+
deps: [environmentId, user, userHasEmbeddedWallet(), passkeyEdited],
|
|
127
|
+
enabled: Boolean(environmentId && user && userHasEmbeddedWallet()),
|
|
130
128
|
});
|
|
131
129
|
// Returns true if user has passkeys for current origin
|
|
132
130
|
const userHasPasskeysForCurrentOrigin = useMemo(() => {
|
|
@@ -1,9 +1,22 @@
|
|
|
1
1
|
import { UserProfile } from '@dynamic-labs/types';
|
|
2
2
|
import { Wallet } from './wallets';
|
|
3
3
|
export type HandleConnectedWallet = (wallet: Partial<Wallet>) => Promise<boolean>;
|
|
4
|
+
export type UserOnboardingFieldRequest = {
|
|
5
|
+
key: string;
|
|
6
|
+
required: boolean;
|
|
7
|
+
isCustom: boolean;
|
|
8
|
+
label?: string;
|
|
9
|
+
};
|
|
10
|
+
export type UserOnboardingFieldResponse = {
|
|
11
|
+
key: string;
|
|
12
|
+
value: string;
|
|
13
|
+
isCustom: boolean;
|
|
14
|
+
};
|
|
15
|
+
export type HandleUserOnboarding = (missingFields: UserOnboardingFieldRequest[]) => Promise<UserOnboardingFieldResponse[]>;
|
|
4
16
|
export type DynamicHandlers = {
|
|
5
17
|
handleVerifiedUser?: (params: {
|
|
6
18
|
user: UserProfile;
|
|
7
19
|
}) => Promise<void>;
|
|
8
20
|
handleConnectedWallet?: HandleConnectedWallet;
|
|
21
|
+
handleUserOnboarding?: HandleUserOnboarding;
|
|
9
22
|
};
|
|
@@ -56,3 +56,4 @@ export { useTokenBalances } from './useTokenBalances';
|
|
|
56
56
|
export { useUserAuth } from './useUserAuth';
|
|
57
57
|
export { useSwitchWallet } from './useSwitchWallet';
|
|
58
58
|
export { useSyncEmbeddedWalletFlow } from './useSyncEmbeddedWalletFlow';
|
|
59
|
+
export { useSyncOnboardingFlow } from './useSyncOnboardingFlow';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useSyncOnboardingFlow } from './useSyncOnboardingFlow';
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
var _tslib = require('../../../../../_virtual/_tslib.cjs');
|
|
7
|
+
var React = require('react');
|
|
8
|
+
var sdkApiCore = require('@dynamic-labs/sdk-api-core');
|
|
9
|
+
var useDynamicEvents = require('../events/useDynamicEvents/useDynamicEvents.cjs');
|
|
10
|
+
require('../../../context/DynamicContext/DynamicContext.cjs');
|
|
11
|
+
var logger = require('../../../shared/logger.cjs');
|
|
12
|
+
require('@dynamic-labs/iconic');
|
|
13
|
+
require('@dynamic-labs/wallet-connector-core');
|
|
14
|
+
require('react/jsx-runtime');
|
|
15
|
+
var ViewContext = require('../../../context/ViewContext/ViewContext.cjs');
|
|
16
|
+
require('@dynamic-labs/wallet-book');
|
|
17
|
+
require('../../constants/colors.cjs');
|
|
18
|
+
require('../../constants/values.cjs');
|
|
19
|
+
require('../../../shared/utils/classes/storage/localStorage.cjs');
|
|
20
|
+
require('@dynamic-labs/utils');
|
|
21
|
+
require('../../../shared/consts/index.cjs');
|
|
22
|
+
require('../../../context/CaptchaContext/CaptchaContext.cjs');
|
|
23
|
+
require('../../../context/ErrorContext/ErrorContext.cjs');
|
|
24
|
+
require('@dynamic-labs/multi-wallet');
|
|
25
|
+
require('react-international-phone');
|
|
26
|
+
require('viem');
|
|
27
|
+
require('viem/chains');
|
|
28
|
+
require('../../../config/ApiEndpoint.cjs');
|
|
29
|
+
require('@dynamic-labs/store');
|
|
30
|
+
require('../../../locale/locale.cjs');
|
|
31
|
+
require('../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
|
|
32
|
+
require('../../../context/AccountExistsContext/AccountExistsContext.cjs');
|
|
33
|
+
require('../../../context/UserWalletsContext/UserWalletsContext.cjs');
|
|
34
|
+
require('../../../events/dynamicEvents.cjs');
|
|
35
|
+
var VerificationContext = require('../../../context/VerificationContext/VerificationContext.cjs');
|
|
36
|
+
require('react-dom');
|
|
37
|
+
require('../../../context/WalletContext/WalletContext.cjs');
|
|
38
|
+
require('../../../context/ThemeContext/ThemeContext.cjs');
|
|
39
|
+
require('../useUserUpdateRequest/useUpdateUser/userFieldsSchema.cjs');
|
|
40
|
+
require('@dynamic-labs/types');
|
|
41
|
+
var useUserAuth = require('../useUserAuth/useUserAuth.cjs');
|
|
42
|
+
require('yup');
|
|
43
|
+
require('../../../context/MockContext/MockContext.cjs');
|
|
44
|
+
require('../../../views/CollectUserDataView/useFields.cjs');
|
|
45
|
+
var useUserUpdateRequest = require('../useUserUpdateRequest/useUserUpdateRequest.cjs');
|
|
46
|
+
require('../../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
|
|
47
|
+
require('../../../context/FieldsStateContext/FieldsStateContext.cjs');
|
|
48
|
+
require('@dynamic-labs/rpc-providers');
|
|
49
|
+
require('react-i18next');
|
|
50
|
+
require('../../../components/Alert/Alert.cjs');
|
|
51
|
+
require('../../../components/ShadowDOM/ShadowDOM.cjs');
|
|
52
|
+
require('../../../components/IconButton/IconButton.cjs');
|
|
53
|
+
require('../../../components/InlineWidget/InlineWidget.cjs');
|
|
54
|
+
require('../../../components/Input/Input.cjs');
|
|
55
|
+
require('../../../components/IsBrowser/IsBrowser.cjs');
|
|
56
|
+
require('../../../components/MenuList/Dropdown/Dropdown.cjs');
|
|
57
|
+
require('../../../components/Transition/ZoomTransition/ZoomTransition.cjs');
|
|
58
|
+
require('../../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
|
|
59
|
+
require('../../../components/Transition/OpacityTransition/OpacityTransition.cjs');
|
|
60
|
+
require('../../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.cjs');
|
|
61
|
+
require('../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.cjs');
|
|
62
|
+
require('../../../components/Popper/Popper/Popper.cjs');
|
|
63
|
+
require('../../../components/Popper/PopperContext/PopperContext.cjs');
|
|
64
|
+
require('react-focus-lock');
|
|
65
|
+
require('qrcode');
|
|
66
|
+
require('formik');
|
|
67
|
+
require('../../../views/WalletList/WalletList.cjs');
|
|
68
|
+
require('../../../context/SocialRedirectContext/SocialRedirectContext.cjs');
|
|
69
|
+
require('../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
|
|
70
|
+
require('@hcaptcha/react-hcaptcha');
|
|
71
|
+
require('../../../context/LoadingContext/LoadingContext.cjs');
|
|
72
|
+
require('../../../context/FooterAnimationContext/index.cjs');
|
|
73
|
+
require('../../../views/LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.cjs');
|
|
74
|
+
require('../../../context/WalletGroupContext/WalletGroupContext.cjs');
|
|
75
|
+
require('../../../context/MfaSettingsContext/MfaSettingsContext.cjs');
|
|
76
|
+
require('../../../context/IpConfigurationContext/IpConfigurationContext.cjs');
|
|
77
|
+
require('../../../context/PasskeyContext/PasskeyContext.cjs');
|
|
78
|
+
require('../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
|
|
79
|
+
require('../../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
|
|
80
|
+
require('../../../views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
|
|
81
|
+
require('../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
|
|
82
|
+
var useInternalDynamicContext = require('../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
|
|
83
|
+
|
|
84
|
+
const useSyncOnboardingFlow = () => {
|
|
85
|
+
const { setShowAuthFlow, unauthenticatedUser, handlers, headless, sdkHasLoaded, setSelectedWalletConnectorKey, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
86
|
+
const { setView } = ViewContext.useViewContext();
|
|
87
|
+
const { updateUser } = useUserUpdateRequest.useUserUpdateRequestInternal({
|
|
88
|
+
validationSchemaStripUnknown: false,
|
|
89
|
+
});
|
|
90
|
+
const { completeAuth, handleAuthError } = useUserAuth.useUserAuth({});
|
|
91
|
+
const { displayedDestination: formattedPhone } = VerificationContext.useVerification();
|
|
92
|
+
const triggeredOnboarding = React.useRef(false);
|
|
93
|
+
useDynamicEvents.useInternalDynamicEvents('logout', () => {
|
|
94
|
+
triggeredOnboarding.current = false;
|
|
95
|
+
});
|
|
96
|
+
// this is used to trigger onboarding flow
|
|
97
|
+
// either by headless or dynamic widget
|
|
98
|
+
// it will be triggered when user has missing fields
|
|
99
|
+
// either on login or refreshing the page
|
|
100
|
+
React.useEffect(() => {
|
|
101
|
+
var _a;
|
|
102
|
+
const handleHeadlessOnboarding = () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
103
|
+
var _b;
|
|
104
|
+
if (!(handlers === null || handlers === void 0 ? void 0 : handlers.handleUserOnboarding) ||
|
|
105
|
+
!((_b = unauthenticatedUser === null || unauthenticatedUser === void 0 ? void 0 : unauthenticatedUser.missingFields) === null || _b === void 0 ? void 0 : _b.length)) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
triggeredOnboarding.current = true;
|
|
109
|
+
try {
|
|
110
|
+
const missingFieldsRequestInput = unauthenticatedUser.missingFields.map((field) => ({
|
|
111
|
+
isCustom: field.type === 'custom',
|
|
112
|
+
key: field.name,
|
|
113
|
+
label: field.label,
|
|
114
|
+
required: field.required,
|
|
115
|
+
}));
|
|
116
|
+
const onboardingResponse = yield handlers.handleUserOnboarding(missingFieldsRequestInput);
|
|
117
|
+
const userFields = {};
|
|
118
|
+
const customFields = Object.assign({}, unauthenticatedUser === null || unauthenticatedUser === void 0 ? void 0 : unauthenticatedUser.metadata);
|
|
119
|
+
onboardingResponse.forEach((field) => {
|
|
120
|
+
if (field.isCustom) {
|
|
121
|
+
customFields[field.key] = field.value;
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
userFields[field.key] = field.value;
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
yield completeAuth({
|
|
128
|
+
updateJwtFunction: () => _tslib.__awaiter(void 0, void 0, void 0, function* () { return updateUser(Object.assign(Object.assign({}, userFields), { metadata: customFields })); }),
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
logger.logger.error('Error handling user onboarding', error);
|
|
133
|
+
handleAuthError(error, {});
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
const handleOnboarding = () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
137
|
+
triggeredOnboarding.current = true;
|
|
138
|
+
setShowAuthFlow(true);
|
|
139
|
+
const lastVerifiedCredential = unauthenticatedUser === null || unauthenticatedUser === void 0 ? void 0 : unauthenticatedUser.verifiedCredentials.find((vc) => vc.id === (unauthenticatedUser === null || unauthenticatedUser === void 0 ? void 0 : unauthenticatedUser.lastVerifiedCredentialId));
|
|
140
|
+
if (lastVerifiedCredential === null || lastVerifiedCredential === void 0 ? void 0 : lastVerifiedCredential.walletName) {
|
|
141
|
+
setSelectedWalletConnectorKey(lastVerifiedCredential === null || lastVerifiedCredential === void 0 ? void 0 : lastVerifiedCredential.walletName);
|
|
142
|
+
}
|
|
143
|
+
switch (lastVerifiedCredential === null || lastVerifiedCredential === void 0 ? void 0 : lastVerifiedCredential.format) {
|
|
144
|
+
case sdkApiCore.JwtVerifiedCredentialFormatEnum.Email:
|
|
145
|
+
case sdkApiCore.JwtVerifiedCredentialFormatEnum.Oauth:
|
|
146
|
+
setView('collect-user-data-login-no-wallet', {
|
|
147
|
+
userIdentification: 'email',
|
|
148
|
+
});
|
|
149
|
+
break;
|
|
150
|
+
case sdkApiCore.JwtVerifiedCredentialFormatEnum.PhoneNumber:
|
|
151
|
+
setView('collect-user-data-login-no-wallet', {
|
|
152
|
+
userIdentification: 'phoneNumber',
|
|
153
|
+
userIdentificationOverride: formattedPhone,
|
|
154
|
+
});
|
|
155
|
+
break;
|
|
156
|
+
default:
|
|
157
|
+
setView('collect-user-data');
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
if (!sdkHasLoaded ||
|
|
161
|
+
triggeredOnboarding.current ||
|
|
162
|
+
!((_a = unauthenticatedUser === null || unauthenticatedUser === void 0 ? void 0 : unauthenticatedUser.missingFields) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
163
|
+
return;
|
|
164
|
+
}
|
|
165
|
+
if (handlers === null || handlers === void 0 ? void 0 : handlers.handleUserOnboarding) {
|
|
166
|
+
handleHeadlessOnboarding();
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
if (headless) {
|
|
170
|
+
logger.logger.error('No onboarding handler found. Please add a handleUserOnboarding handler to your dynamic provider settings.');
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
handleOnboarding();
|
|
174
|
+
return;
|
|
175
|
+
}, [
|
|
176
|
+
sdkHasLoaded,
|
|
177
|
+
unauthenticatedUser,
|
|
178
|
+
handlers,
|
|
179
|
+
completeAuth,
|
|
180
|
+
updateUser,
|
|
181
|
+
headless,
|
|
182
|
+
setShowAuthFlow,
|
|
183
|
+
setView,
|
|
184
|
+
formattedPhone,
|
|
185
|
+
handleAuthError,
|
|
186
|
+
setSelectedWalletConnectorKey,
|
|
187
|
+
]);
|
|
188
|
+
};
|
|
189
|
+
|
|
190
|
+
exports.useSyncOnboardingFlow = useSyncOnboardingFlow;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const useSyncOnboardingFlow: () => void;
|