@dynamic-labs/sdk-react-core 0.18.100-viem.12 → 0.18.100-viem.14
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 +27 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +8 -8
- package/src/lib/context/DynamicContext/DynamicContext.cjs +13 -5
- package/src/lib/context/DynamicContext/DynamicContext.d.ts +1 -0
- package/src/lib/context/DynamicContext/DynamicContext.js +13 -5
- package/src/lib/context/DynamicContext/helpers.cjs +2 -2
- package/src/lib/context/DynamicContext/helpers.d.ts +2 -1
- package/src/lib/context/DynamicContext/helpers.js +2 -2
- package/src/lib/context/DynamicContext/hooks/useSetShowAuthFlowWithInit/useSetShowAuthFlowWithInit.cjs +5 -2
- package/src/lib/context/DynamicContext/hooks/useSetShowAuthFlowWithInit/useSetShowAuthFlowWithInit.d.ts +4 -2
- package/src/lib/context/DynamicContext/hooks/useSetShowAuthFlowWithInit/useSetShowAuthFlowWithInit.js +5 -2
- package/src/lib/context/DynamicContext/types/index.d.ts +3 -0
- package/src/lib/context/ViewContext/ViewContext.d.ts +1 -1
- package/src/lib/context/WalletContext/WalletContext.cjs +2 -16
- package/src/lib/context/WalletContext/WalletContext.js +2 -16
- package/src/lib/shared/types/index.d.ts +4 -0
- package/src/lib/utils/functions/getDynamicLayoutData/getDynamicLayoutData.cjs +6 -1
- package/src/lib/utils/functions/getDynamicLayoutData/getDynamicLayoutData.js +6 -1
- package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.cjs +6 -2
- package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.js +6 -2
- package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.cjs +9 -4
- package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.d.ts +1 -19
- package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.js +9 -4
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +13 -3
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +13 -3
- package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.cjs +3 -3
- package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.js +3 -3
- package/src/lib/views/viewToComponentMap.cjs +1 -0
- package/src/lib/views/viewToComponentMap.js +1 -0
- package/src/lib/widgets/DynamicBridgeWidget/views/EditProfileView/EditProfileView.cjs +3 -3
- package/src/lib/widgets/DynamicBridgeWidget/views/EditProfileView/EditProfileView.js +3 -3
- package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.cjs +3 -3
- package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.js +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,31 @@
|
|
|
1
1
|
|
|
2
|
+
### [0.18.100-viem.14](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.100-viem.13...v0.18.100-viem.14) (2023-09-05)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* add onSignedMessage callback ([#3214](https://github.com/dynamic-labs/DynamicAuth/issues/3214)) ([92fd070](https://github.com/dynamic-labs/DynamicAuth/commit/92fd070c8edabce5ed991cfd92b3745c7afb0b43))
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
* prefer mainnet chain id when connecting with WCv2 ([#3220](https://github.com/dynamic-labs/DynamicAuth/issues/3220)) ([55eb097](https://github.com/dynamic-labs/DynamicAuth/commit/55eb09739f4c8912a9de2198f69cd925923270c4))
|
|
13
|
+
|
|
14
|
+
### [0.18.100-viem.13](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.100-viem.12...v0.18.100-viem.13) (2023-09-01)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Features
|
|
18
|
+
|
|
19
|
+
* add option to disable the locked wallet view ([#3187](https://github.com/dynamic-labs/DynamicAuth/issues/3187)) ([aa70fb5](https://github.com/dynamic-labs/DynamicAuth/commit/aa70fb52bb185e27fdb311b0e0dd10166a83d60a))
|
|
20
|
+
* migrate starknet version to v5 ([#3198](https://github.com/dynamic-labs/DynamicAuth/issues/3198)) ([e5b24ea](https://github.com/dynamic-labs/DynamicAuth/commit/e5b24ea86ce58f83a539d8ef8adc6fb0c77bd51a))
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
### Bug Fixes
|
|
24
|
+
|
|
25
|
+
* show the multi wallet list when opening the auth flow to authenticated users ([#3165](https://github.com/dynamic-labs/DynamicAuth/issues/3165)) ([b7a7110](https://github.com/dynamic-labs/DynamicAuth/commit/b7a71106a730925dc44abbd0e3aedf5ce3f5ca39)), closes [#3134](https://github.com/dynamic-labs/DynamicAuth/issues/3134) [#3152](https://github.com/dynamic-labs/DynamicAuth/issues/3152) [#3168](https://github.com/dynamic-labs/DynamicAuth/issues/3168)
|
|
26
|
+
* sign message for embedded wallet when auth mode is connect only ([#3195](https://github.com/dynamic-labs/DynamicAuth/issues/3195)) ([6cdee66](https://github.com/dynamic-labs/DynamicAuth/commit/6cdee661d45877c3d78744d115a675d114d62091))
|
|
27
|
+
* verify email OTP when email is updated ([#3168](https://github.com/dynamic-labs/DynamicAuth/issues/3168)) ([641eeb6](https://github.com/dynamic-labs/DynamicAuth/commit/641eeb685b0c9d77cc72912f29b137c699c192f0))
|
|
28
|
+
|
|
2
29
|
### [0.18.100-viem.12](https://github.com/dynamic-labs/DynamicAuth/compare/v0.18.100-viem.11...v0.18.100-viem.12) (2023-08-30)
|
|
3
30
|
|
|
4
31
|
|
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": "0.18.100-viem.
|
|
3
|
+
"version": "0.18.100-viem.14",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/dynamic-labs/DynamicAuth.git",
|
|
@@ -15,13 +15,13 @@
|
|
|
15
15
|
"yup": "0.32.11",
|
|
16
16
|
"formik": "2.2.9",
|
|
17
17
|
"qrcode": "1.5.1",
|
|
18
|
-
"@dynamic-labs/logger": "0.18.100-viem.
|
|
19
|
-
"@dynamic-labs/multi-wallet": "0.18.100-viem.
|
|
20
|
-
"@dynamic-labs/rpc-providers": "0.18.100-viem.
|
|
21
|
-
"@dynamic-labs/types": "0.18.100-viem.
|
|
22
|
-
"@dynamic-labs/utils": "0.18.100-viem.
|
|
23
|
-
"@dynamic-labs/wallet-book": "0.18.100-viem.
|
|
24
|
-
"@dynamic-labs/wallet-connector-core": "0.18.100-viem.
|
|
18
|
+
"@dynamic-labs/logger": "0.18.100-viem.14",
|
|
19
|
+
"@dynamic-labs/multi-wallet": "0.18.100-viem.14",
|
|
20
|
+
"@dynamic-labs/rpc-providers": "0.18.100-viem.14",
|
|
21
|
+
"@dynamic-labs/types": "0.18.100-viem.14",
|
|
22
|
+
"@dynamic-labs/utils": "0.18.100-viem.14",
|
|
23
|
+
"@dynamic-labs/wallet-book": "0.18.100-viem.14",
|
|
24
|
+
"@dynamic-labs/wallet-connector-core": "0.18.100-viem.14",
|
|
25
25
|
"eventemitter3": "5.0.1"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
@@ -101,7 +101,7 @@ const EMPTY_INITIAL_USER = undefined;
|
|
|
101
101
|
const DynamicContext = React.createContext(undefined);
|
|
102
102
|
const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
103
103
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
104
|
-
const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, deepLinkPreference = 'native', walletsByChain, cssOverrides, defaultNumberOfWalletsToShow = values.DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displaySiweStatement = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, localStorageSuffix, eventsCallbacks, evmNetworks, walletsFilter, logLevel = 'WARN', notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, socialProvidersFilter, } = settings;
|
|
104
|
+
const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, deepLinkPreference = 'native', walletsByChain, cssOverrides, defaultNumberOfWalletsToShow = values.DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displaySiweStatement = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, localStorageSuffix, eventsCallbacks, evmNetworks, walletsFilter, logLevel = 'WARN', notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, socialProvidersFilter, showLockedWalletView = true, } = settings;
|
|
105
105
|
// The following event related methods are temporary and should be removed after QNTM-180 is done
|
|
106
106
|
// ============ START REMOVE AFTER QNTM-180 ============
|
|
107
107
|
const internalEventsRef = React.useRef(internalEvents.getInternalEvents());
|
|
@@ -235,7 +235,9 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
235
235
|
walletBook: walletBook$1,
|
|
236
236
|
});
|
|
237
237
|
const setShowAuthFlowWithInit = useSetShowAuthFlowWithInit.useSetShowAuthFlowWithInit({
|
|
238
|
+
isMultiWalletEnabled: multiWallet,
|
|
238
239
|
setShowAuthFlow,
|
|
240
|
+
user,
|
|
239
241
|
wallets,
|
|
240
242
|
});
|
|
241
243
|
// until user completes onboarding, jwt is only stored in onboardingOnlyJwt
|
|
@@ -452,6 +454,7 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
452
454
|
? unlinkConnectedWallet
|
|
453
455
|
: handleUnlinkWallet,
|
|
454
456
|
internalEvents: internalEventsRef,
|
|
457
|
+
internalSetShowAuthFlow: setShowAuthFlow,
|
|
455
458
|
isAuthenticated,
|
|
456
459
|
isBridgeFlow,
|
|
457
460
|
isFullyConnected,
|
|
@@ -514,6 +517,7 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
514
517
|
showAuthFlow,
|
|
515
518
|
showBridgeWidget,
|
|
516
519
|
showDynamicUserProfile,
|
|
520
|
+
showLockedWalletView,
|
|
517
521
|
showQrcodeModal,
|
|
518
522
|
showWidgetStatePopup,
|
|
519
523
|
signWithEmailWalletName,
|
|
@@ -568,13 +572,12 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
568
572
|
handleUnlinkWallet,
|
|
569
573
|
isAuthenticated,
|
|
570
574
|
isBridgeFlow,
|
|
575
|
+
isFullyConnected,
|
|
571
576
|
isProjectSettingsLoading,
|
|
572
577
|
isSingleWalletAccount,
|
|
573
|
-
isFullyConnected,
|
|
574
578
|
isVerificationInProgress,
|
|
575
|
-
primaryWallet,
|
|
576
|
-
secondaryWallets,
|
|
577
579
|
legacyIsVerifying,
|
|
580
|
+
linkedWallets,
|
|
578
581
|
loadingNetwork,
|
|
579
582
|
loginWithEmail,
|
|
580
583
|
multiWallet,
|
|
@@ -587,6 +590,7 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
587
590
|
imageUserInAccessList,
|
|
588
591
|
onboardingImageUrl,
|
|
589
592
|
policiesConsentInnerComponent,
|
|
593
|
+
primaryWallet,
|
|
590
594
|
primaryWalletId,
|
|
591
595
|
privacyPolicyUrl,
|
|
592
596
|
projectSettings,
|
|
@@ -594,12 +598,15 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
594
598
|
removeConnectedWalletsInfo,
|
|
595
599
|
rpcProviders,
|
|
596
600
|
sdkHasLoaded,
|
|
601
|
+
secondaryWallets,
|
|
597
602
|
selectedWalletConnector,
|
|
598
603
|
selectedWalletWithAction,
|
|
604
|
+
sendWagmiSettings,
|
|
599
605
|
setAuthMode,
|
|
600
606
|
setAuthorizationViewDisplayOrder,
|
|
601
607
|
setCallback,
|
|
602
608
|
setIsFullyConnected,
|
|
609
|
+
setIsVerificationInProgress,
|
|
603
610
|
setLogInWithEmail,
|
|
604
611
|
setMultiWallet,
|
|
605
612
|
setMultiWalletWidgetState,
|
|
@@ -614,6 +621,7 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
614
621
|
showAuthFlow,
|
|
615
622
|
showBridgeWidget,
|
|
616
623
|
showDynamicUserProfile,
|
|
624
|
+
showLockedWalletView,
|
|
617
625
|
showQrcodeModal,
|
|
618
626
|
showWidgetStatePopup,
|
|
619
627
|
signWithEmailWalletName,
|
|
@@ -631,7 +639,6 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
631
639
|
walletsByChain,
|
|
632
640
|
walletsFilter,
|
|
633
641
|
walletsToConnectByChain,
|
|
634
|
-
linkedWallets,
|
|
635
642
|
]);
|
|
636
643
|
React.useEffect(() => {
|
|
637
644
|
const addPrefetch = (attr) => {
|
|
@@ -679,6 +686,7 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
679
686
|
connectedWallets,
|
|
680
687
|
isBridgeFlow,
|
|
681
688
|
isFullyConnected,
|
|
689
|
+
isMultiWalletEnabled: multiWallet,
|
|
682
690
|
loginWithEmail,
|
|
683
691
|
}), children: jsxRuntime.jsx(AccountExistsContext.AccountExistsContextProvider, { children: jsxRuntime.jsx(WalletContext.WalletContextProvider, { canSync: didConnectedStateLoad, children: jsxRuntime.jsx(QrCodeContext.QrCodeContextProvider, { children: jsxRuntime.jsx(EmailVerificationContext.EmailVerificationContextProvider, { children: jsxRuntime.jsx(ErrorContext.ErrorContextProvider, { children: jsxRuntime.jsx(DynamicWidgetContext.DynamicWidgetContextProvider, { children: jsxRuntime.jsx(DynamicBridgeWidgetContext.DynamicBridgeWidgetContextProvider, { children: jsxRuntime.jsx(CaptchaContext.CaptchaContextProvider, { children: jsxRuntime.jsx(FundingContext.FundingContextProvider, { children: jsxRuntime.jsx(AccessDeniedContext.AccessDeniedContextProvider, { children: jsxRuntime.jsx(SendBalanceContext.SendBalanceContextProvider, { children: jsxRuntime.jsxs(WalletGroupContext.WalletGroupContextProvider, { children: [jsxRuntime.jsx(app.DynamicAuthFlow, {}), jsxRuntime.jsx(Toolkit.Toolkit, {}), jsxRuntime.jsx(FundingWidget.FundingWidget, {}), jsxRuntime.jsx(OAuthIFrameContainer.OAuthIFrameContainer, {}), confirmationModal, children] }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }));
|
|
684
692
|
};
|
|
@@ -97,7 +97,7 @@ const EMPTY_INITIAL_USER = undefined;
|
|
|
97
97
|
const DynamicContext = createContext(undefined);
|
|
98
98
|
const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
99
99
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
100
|
-
const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, deepLinkPreference = 'native', walletsByChain, cssOverrides, defaultNumberOfWalletsToShow = DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displaySiweStatement = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, localStorageSuffix, eventsCallbacks, evmNetworks, walletsFilter, logLevel = 'WARN', notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, socialProvidersFilter, } = settings;
|
|
100
|
+
const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, deepLinkPreference = 'native', walletsByChain, cssOverrides, defaultNumberOfWalletsToShow = DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displaySiweStatement = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, localStorageSuffix, eventsCallbacks, evmNetworks, walletsFilter, logLevel = 'WARN', notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, socialProvidersFilter, showLockedWalletView = true, } = settings;
|
|
101
101
|
// The following event related methods are temporary and should be removed after QNTM-180 is done
|
|
102
102
|
// ============ START REMOVE AFTER QNTM-180 ============
|
|
103
103
|
const internalEventsRef = useRef(getInternalEvents());
|
|
@@ -231,7 +231,9 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
231
231
|
walletBook,
|
|
232
232
|
});
|
|
233
233
|
const setShowAuthFlowWithInit = useSetShowAuthFlowWithInit({
|
|
234
|
+
isMultiWalletEnabled: multiWallet,
|
|
234
235
|
setShowAuthFlow,
|
|
236
|
+
user,
|
|
235
237
|
wallets,
|
|
236
238
|
});
|
|
237
239
|
// until user completes onboarding, jwt is only stored in onboardingOnlyJwt
|
|
@@ -448,6 +450,7 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
448
450
|
? unlinkConnectedWallet
|
|
449
451
|
: handleUnlinkWallet,
|
|
450
452
|
internalEvents: internalEventsRef,
|
|
453
|
+
internalSetShowAuthFlow: setShowAuthFlow,
|
|
451
454
|
isAuthenticated,
|
|
452
455
|
isBridgeFlow,
|
|
453
456
|
isFullyConnected,
|
|
@@ -510,6 +513,7 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
510
513
|
showAuthFlow,
|
|
511
514
|
showBridgeWidget,
|
|
512
515
|
showDynamicUserProfile,
|
|
516
|
+
showLockedWalletView,
|
|
513
517
|
showQrcodeModal,
|
|
514
518
|
showWidgetStatePopup,
|
|
515
519
|
signWithEmailWalletName,
|
|
@@ -564,13 +568,12 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
564
568
|
handleUnlinkWallet,
|
|
565
569
|
isAuthenticated,
|
|
566
570
|
isBridgeFlow,
|
|
571
|
+
isFullyConnected,
|
|
567
572
|
isProjectSettingsLoading,
|
|
568
573
|
isSingleWalletAccount,
|
|
569
|
-
isFullyConnected,
|
|
570
574
|
isVerificationInProgress,
|
|
571
|
-
primaryWallet,
|
|
572
|
-
secondaryWallets,
|
|
573
575
|
legacyIsVerifying,
|
|
576
|
+
linkedWallets,
|
|
574
577
|
loadingNetwork,
|
|
575
578
|
loginWithEmail,
|
|
576
579
|
multiWallet,
|
|
@@ -583,6 +586,7 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
583
586
|
imageUserInAccessList,
|
|
584
587
|
onboardingImageUrl,
|
|
585
588
|
policiesConsentInnerComponent,
|
|
589
|
+
primaryWallet,
|
|
586
590
|
primaryWalletId,
|
|
587
591
|
privacyPolicyUrl,
|
|
588
592
|
projectSettings,
|
|
@@ -590,12 +594,15 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
590
594
|
removeConnectedWalletsInfo,
|
|
591
595
|
rpcProviders,
|
|
592
596
|
sdkHasLoaded,
|
|
597
|
+
secondaryWallets,
|
|
593
598
|
selectedWalletConnector,
|
|
594
599
|
selectedWalletWithAction,
|
|
600
|
+
sendWagmiSettings,
|
|
595
601
|
setAuthMode,
|
|
596
602
|
setAuthorizationViewDisplayOrder,
|
|
597
603
|
setCallback,
|
|
598
604
|
setIsFullyConnected,
|
|
605
|
+
setIsVerificationInProgress,
|
|
599
606
|
setLogInWithEmail,
|
|
600
607
|
setMultiWallet,
|
|
601
608
|
setMultiWalletWidgetState,
|
|
@@ -610,6 +617,7 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
610
617
|
showAuthFlow,
|
|
611
618
|
showBridgeWidget,
|
|
612
619
|
showDynamicUserProfile,
|
|
620
|
+
showLockedWalletView,
|
|
613
621
|
showQrcodeModal,
|
|
614
622
|
showWidgetStatePopup,
|
|
615
623
|
signWithEmailWalletName,
|
|
@@ -627,7 +635,6 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
627
635
|
walletsByChain,
|
|
628
636
|
walletsFilter,
|
|
629
637
|
walletsToConnectByChain,
|
|
630
|
-
linkedWallets,
|
|
631
638
|
]);
|
|
632
639
|
useEffect(() => {
|
|
633
640
|
const addPrefetch = (attr) => {
|
|
@@ -675,6 +682,7 @@ const DynamicContextProvider = ({ children, theme, settings, }) => {
|
|
|
675
682
|
connectedWallets,
|
|
676
683
|
isBridgeFlow,
|
|
677
684
|
isFullyConnected,
|
|
685
|
+
isMultiWalletEnabled: multiWallet,
|
|
678
686
|
loginWithEmail,
|
|
679
687
|
}), children: jsx(AccountExistsContextProvider, { children: jsx(WalletContextProvider, { canSync: didConnectedStateLoad, children: jsx(QrCodeContextProvider, { children: jsx(EmailVerificationContextProvider, { children: jsx(ErrorContextProvider, { children: jsx(DynamicWidgetContextProvider, { children: jsx(DynamicBridgeWidgetContextProvider, { children: jsx(CaptchaContextProvider, { children: jsx(FundingContextProvider, { children: jsx(AccessDeniedContextProvider, { children: jsx(SendBalanceContextProvider, { children: jsxs(WalletGroupContextProvider, { children: [jsx(DynamicAuthFlow, {}), jsx(Toolkit, {}), jsx(FundingWidget, {}), jsx(OAuthIFrameContainer, {}), confirmationModal, children] }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }) }));
|
|
680
688
|
};
|
|
@@ -54,12 +54,12 @@ const initExpirationTime = (logout) => {
|
|
|
54
54
|
const expiryTimeout = Math.min(expirationTimeInMs, 2147483647);
|
|
55
55
|
logoutTimer = setTimeout(logout, expiryTimeout);
|
|
56
56
|
};
|
|
57
|
-
const getInitialView = ({ connectedWallets, loginWithEmail, isBridgeFlow, isFullyConnected, }) => {
|
|
57
|
+
const getInitialView = ({ connectedWallets, loginWithEmail, isBridgeFlow, isFullyConnected, isMultiWalletEnabled, }) => {
|
|
58
58
|
if (loginWithEmail) {
|
|
59
59
|
return 'login-with-email-or-wallet';
|
|
60
60
|
}
|
|
61
61
|
if (isFullyConnected) {
|
|
62
|
-
return 'wallet-list';
|
|
62
|
+
return isMultiWalletEnabled ? 'multi-wallet-wallet-list' : 'wallet-list';
|
|
63
63
|
}
|
|
64
64
|
if (isBridgeFlow && !connectedWallets.length) {
|
|
65
65
|
return 'bridge-welcome';
|
|
@@ -2,9 +2,10 @@ import { Wallet } from '../../shared';
|
|
|
2
2
|
import { ViewType } from '../ViewContext';
|
|
3
3
|
export declare const isAuthTokenExpired: (token: string) => boolean;
|
|
4
4
|
export declare const initExpirationTime: (logout: VoidFunction) => void;
|
|
5
|
-
export declare const getInitialView: ({ connectedWallets, loginWithEmail, isBridgeFlow, isFullyConnected, }: {
|
|
5
|
+
export declare const getInitialView: ({ connectedWallets, loginWithEmail, isBridgeFlow, isFullyConnected, isMultiWalletEnabled, }: {
|
|
6
6
|
connectedWallets: Wallet[];
|
|
7
7
|
loginWithEmail: boolean;
|
|
8
8
|
isBridgeFlow: boolean;
|
|
9
9
|
isFullyConnected: boolean;
|
|
10
|
+
isMultiWalletEnabled: boolean;
|
|
10
11
|
}) => ViewType;
|
|
@@ -50,12 +50,12 @@ const initExpirationTime = (logout) => {
|
|
|
50
50
|
const expiryTimeout = Math.min(expirationTimeInMs, 2147483647);
|
|
51
51
|
logoutTimer = setTimeout(logout, expiryTimeout);
|
|
52
52
|
};
|
|
53
|
-
const getInitialView = ({ connectedWallets, loginWithEmail, isBridgeFlow, isFullyConnected, }) => {
|
|
53
|
+
const getInitialView = ({ connectedWallets, loginWithEmail, isBridgeFlow, isFullyConnected, isMultiWalletEnabled, }) => {
|
|
54
54
|
if (loginWithEmail) {
|
|
55
55
|
return 'login-with-email-or-wallet';
|
|
56
56
|
}
|
|
57
57
|
if (isFullyConnected) {
|
|
58
|
-
return 'wallet-list';
|
|
58
|
+
return isMultiWalletEnabled ? 'multi-wallet-wallet-list' : 'wallet-list';
|
|
59
59
|
}
|
|
60
60
|
if (isBridgeFlow && !connectedWallets.length) {
|
|
61
61
|
return 'bridge-welcome';
|
|
@@ -12,15 +12,18 @@ var React = require('react');
|
|
|
12
12
|
* "Connect" button in the WalletConnect modal, there is a uri ready to go
|
|
13
13
|
* to immediately trigger the deep link on mobile
|
|
14
14
|
*/
|
|
15
|
-
const useSetShowAuthFlowWithInit = ({ setShowAuthFlow, wallets, }) => {
|
|
15
|
+
const useSetShowAuthFlowWithInit = ({ setShowAuthFlow, wallets, user, isMultiWalletEnabled, }) => {
|
|
16
16
|
const setShowAuthFlowWithInit = React.useCallback((value) => {
|
|
17
17
|
var _a;
|
|
18
18
|
if (value) {
|
|
19
|
+
// if the uer is already signed in but multiwallet is not enabled, do not change state
|
|
20
|
+
if (user && !isMultiWalletEnabled)
|
|
21
|
+
return;
|
|
19
22
|
(_a = wallets
|
|
20
23
|
.find((wallet) => wallet.walletConnector.key === 'walletconnect')) === null || _a === void 0 ? void 0 : _a.walletConnector.init();
|
|
21
24
|
}
|
|
22
25
|
setShowAuthFlow(value);
|
|
23
|
-
}, [setShowAuthFlow, wallets]);
|
|
26
|
+
}, [setShowAuthFlow, wallets, user, isMultiWalletEnabled]);
|
|
24
27
|
return setShowAuthFlowWithInit;
|
|
25
28
|
};
|
|
26
29
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Dispatch, SetStateAction } from 'react';
|
|
2
|
-
import { WalletOption } from '../../../../shared';
|
|
2
|
+
import { UserProfile, WalletOption } from '../../../../shared';
|
|
3
3
|
/**
|
|
4
4
|
* this hook wraps `setShowAuthFlow`. WalletConnect requires initialization
|
|
5
5
|
* before we can connect a wallet. The goal here is that when a user clicks
|
|
@@ -8,7 +8,9 @@ import { WalletOption } from '../../../../shared';
|
|
|
8
8
|
* "Connect" button in the WalletConnect modal, there is a uri ready to go
|
|
9
9
|
* to immediately trigger the deep link on mobile
|
|
10
10
|
*/
|
|
11
|
-
export declare const useSetShowAuthFlowWithInit: ({ setShowAuthFlow, wallets, }: {
|
|
11
|
+
export declare const useSetShowAuthFlowWithInit: ({ setShowAuthFlow, wallets, user, isMultiWalletEnabled, }: {
|
|
12
12
|
setShowAuthFlow: Dispatch<SetStateAction<boolean>>;
|
|
13
13
|
wallets: WalletOption[];
|
|
14
|
+
user?: UserProfile | undefined;
|
|
15
|
+
isMultiWalletEnabled?: boolean | undefined;
|
|
14
16
|
}) => Dispatch<SetStateAction<boolean>>;
|
|
@@ -8,15 +8,18 @@ import { useCallback } from 'react';
|
|
|
8
8
|
* "Connect" button in the WalletConnect modal, there is a uri ready to go
|
|
9
9
|
* to immediately trigger the deep link on mobile
|
|
10
10
|
*/
|
|
11
|
-
const useSetShowAuthFlowWithInit = ({ setShowAuthFlow, wallets, }) => {
|
|
11
|
+
const useSetShowAuthFlowWithInit = ({ setShowAuthFlow, wallets, user, isMultiWalletEnabled, }) => {
|
|
12
12
|
const setShowAuthFlowWithInit = useCallback((value) => {
|
|
13
13
|
var _a;
|
|
14
14
|
if (value) {
|
|
15
|
+
// if the uer is already signed in but multiwallet is not enabled, do not change state
|
|
16
|
+
if (user && !isMultiWalletEnabled)
|
|
17
|
+
return;
|
|
15
18
|
(_a = wallets
|
|
16
19
|
.find((wallet) => wallet.walletConnector.key === 'walletconnect')) === null || _a === void 0 ? void 0 : _a.walletConnector.init();
|
|
17
20
|
}
|
|
18
21
|
setShowAuthFlow(value);
|
|
19
|
-
}, [setShowAuthFlow, wallets]);
|
|
22
|
+
}, [setShowAuthFlow, wallets, user, isMultiWalletEnabled]);
|
|
20
23
|
return setShowAuthFlowWithInit;
|
|
21
24
|
};
|
|
22
25
|
|
|
@@ -98,6 +98,8 @@ export interface IDynamicContext {
|
|
|
98
98
|
setSelectedWalletConnector: (connector: WalletConnector | null) => void;
|
|
99
99
|
setSelectedWalletWithAction: (walletWithAction: WalletWithAction | null) => void;
|
|
100
100
|
setShowAuthFlow: Dispatch<SetStateAction<boolean>>;
|
|
101
|
+
/** The unwrapped version of setShowAuthFlow. See useSetShowAuthFlowWithInit.ts for context */
|
|
102
|
+
internalSetShowAuthFlow: Dispatch<SetStateAction<boolean>>;
|
|
101
103
|
setShowDynamicUserProfile: Dispatch<SetStateAction<boolean>>;
|
|
102
104
|
setShowQrcodeModal: Dispatch<SetStateAction<boolean>>;
|
|
103
105
|
setShowWidgetStatePopup: Dispatch<SetStateAction<boolean>>;
|
|
@@ -113,6 +115,7 @@ export interface IDynamicContext {
|
|
|
113
115
|
* The boolean value representing the state of displaying the bridge widget
|
|
114
116
|
*/
|
|
115
117
|
showBridgeWidget: boolean;
|
|
118
|
+
showLockedWalletView?: boolean;
|
|
116
119
|
showQrcodeModal: boolean;
|
|
117
120
|
showWidgetStatePopup: boolean;
|
|
118
121
|
signWithEmailWalletName?: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SetStateAction, Dispatch, PropsWithChildren, FC } from 'react';
|
|
2
|
-
export type ViewType = 'captcha' | 'chainalysis-blocked-wallet' | 'collect-user-data' | 'collect-user-data-login-with-email' | 'login-with-email-or-wallet-full-wallet-list' | 'login-with-email-or-wallet' | 'login-with-email-verification' | 'network-not-supported' | 'network-not-supported-manual' | 'no-access' | 'no-qr-not-installed' | 'pending-connect' | 'pending-signature-without-back-button' | 'pending-signature' | 'qr-code' | 'update-email' | 'verify-email' | 'wallet-connect-mobile-wallets-list' | 'wallet-list' | 'wallet-sign' | 'wallet-used' | 'wallet-group' | 'wait-for-email-confirmation-view' | 'email-wallet-otp-verification-view' | 'social-redirect-view' | 'wallet-locked-view' | 'social-wrong-account' | 'gate-blocked-wallet' | 'bridge-welcome' | 'bridge-summary' | 'bridge-next-wallet-connection' | 'account-exists' | 'merge-user-accounts';
|
|
2
|
+
export type ViewType = 'captcha' | 'chainalysis-blocked-wallet' | 'collect-user-data' | 'collect-user-data-login-with-email' | 'login-with-email-or-wallet-full-wallet-list' | 'login-with-email-or-wallet' | 'login-with-email-verification' | 'network-not-supported' | 'network-not-supported-manual' | 'no-access' | 'no-qr-not-installed' | 'pending-connect' | 'pending-signature-without-back-button' | 'pending-signature' | 'qr-code' | 'update-email' | 'verify-email' | 'wallet-connect-mobile-wallets-list' | 'wallet-list' | 'multi-wallet-wallet-list' | 'wallet-sign' | 'wallet-used' | 'wallet-group' | 'wait-for-email-confirmation-view' | 'email-wallet-otp-verification-view' | 'social-redirect-view' | 'wallet-locked-view' | 'social-wrong-account' | 'gate-blocked-wallet' | 'bridge-welcome' | 'bridge-summary' | 'bridge-next-wallet-connection' | 'account-exists' | 'merge-user-accounts';
|
|
3
3
|
export type ViewContextProps = {
|
|
4
4
|
setView: Dispatch<SetStateAction<ViewType>>;
|
|
5
5
|
view: ViewType;
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
var React = require('react');
|
|
7
|
-
|
|
7
|
+
require('../DynamicContext/DynamicContext.cjs');
|
|
8
8
|
require('@dynamic-labs/sdk-api');
|
|
9
9
|
require('../../shared/logger.cjs');
|
|
10
10
|
require('@dynamic-labs/iconic');
|
|
@@ -26,21 +26,7 @@ var useSyncPrimaryWallet = require('../../utils/hooks/multiWallet/useSyncPrimary
|
|
|
26
26
|
|
|
27
27
|
const WalletContext = React.createContext(undefined);
|
|
28
28
|
const WalletContextProvider = ({ children, canSync, }) => {
|
|
29
|
-
|
|
30
|
-
useSyncPrimaryWallet.useSyncPrimaryWallet({
|
|
31
|
-
authMode,
|
|
32
|
-
canSync,
|
|
33
|
-
computeConnectedStateForWallets,
|
|
34
|
-
connectWallet,
|
|
35
|
-
handleLogOut,
|
|
36
|
-
multiWalletWidgetState,
|
|
37
|
-
primaryWallet,
|
|
38
|
-
secondaryWallets,
|
|
39
|
-
setMultiWalletWidgetState,
|
|
40
|
-
setPrimaryWallet,
|
|
41
|
-
setShowWidgetStatePopup,
|
|
42
|
-
showWidgetStatePopup,
|
|
43
|
-
});
|
|
29
|
+
useSyncPrimaryWallet.useSyncPrimaryWallet(canSync);
|
|
44
30
|
const value = undefined;
|
|
45
31
|
return (jsxRuntime.jsx(WalletContext.Provider, { value: value, children: children }));
|
|
46
32
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { createContext } from 'react';
|
|
3
|
-
import
|
|
3
|
+
import '../DynamicContext/DynamicContext.js';
|
|
4
4
|
import '@dynamic-labs/sdk-api';
|
|
5
5
|
import '../../shared/logger.js';
|
|
6
6
|
import '@dynamic-labs/iconic';
|
|
@@ -22,21 +22,7 @@ import { useSyncPrimaryWallet } from '../../utils/hooks/multiWallet/useSyncPrima
|
|
|
22
22
|
|
|
23
23
|
const WalletContext = createContext(undefined);
|
|
24
24
|
const WalletContextProvider = ({ children, canSync, }) => {
|
|
25
|
-
|
|
26
|
-
useSyncPrimaryWallet({
|
|
27
|
-
authMode,
|
|
28
|
-
canSync,
|
|
29
|
-
computeConnectedStateForWallets,
|
|
30
|
-
connectWallet,
|
|
31
|
-
handleLogOut,
|
|
32
|
-
multiWalletWidgetState,
|
|
33
|
-
primaryWallet,
|
|
34
|
-
secondaryWallets,
|
|
35
|
-
setMultiWalletWidgetState,
|
|
36
|
-
setPrimaryWallet,
|
|
37
|
-
setShowWidgetStatePopup,
|
|
38
|
-
showWidgetStatePopup,
|
|
39
|
-
});
|
|
25
|
+
useSyncPrimaryWallet(canSync);
|
|
40
26
|
const value = undefined;
|
|
41
27
|
return (jsx(WalletContext.Provider, { value: value, children: children }));
|
|
42
28
|
};
|
|
@@ -142,6 +142,10 @@ export type DynamicRPCProviders = {
|
|
|
142
142
|
solanaProviders: SolanaRpcProvider[] | undefined;
|
|
143
143
|
};
|
|
144
144
|
export type DynamicEventsCallbacks = {
|
|
145
|
+
onSignedMessage?: (params: {
|
|
146
|
+
messageToSign: string;
|
|
147
|
+
signedMessage: string;
|
|
148
|
+
}) => void;
|
|
145
149
|
onAuthFlowClose?: () => void;
|
|
146
150
|
onAuthFlowOpen?: () => void;
|
|
147
151
|
onAuthSuccess?: OnAuthSuccess;
|
|
@@ -44,10 +44,15 @@ const getDynamicLayoutData = ({ view }) => {
|
|
|
44
44
|
'login-with-email-or-wallet-full-wallet-list': {
|
|
45
45
|
heading: 'Select your wallet',
|
|
46
46
|
},
|
|
47
|
+
'multi-wallet-wallet-list': {
|
|
48
|
+
heading: 'Link a new wallet',
|
|
49
|
+
},
|
|
47
50
|
'wallet-connect-mobile-wallets-list': {
|
|
48
51
|
heading: (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(iconic.WalletConnectIcon, { style: { height: '1.5rem', width: '1.5rem' } }), ' ', "WalletConnect wallets"] })),
|
|
49
52
|
},
|
|
50
|
-
'wallet-list': {
|
|
53
|
+
'wallet-list': {
|
|
54
|
+
heading: 'Select your wallet',
|
|
55
|
+
},
|
|
51
56
|
'wallet-sign': { heading: 'Sign to confirm transfer' },
|
|
52
57
|
};
|
|
53
58
|
const helpHeaderData = helpHeaderMap[view];
|
|
@@ -40,10 +40,15 @@ const getDynamicLayoutData = ({ view }) => {
|
|
|
40
40
|
'login-with-email-or-wallet-full-wallet-list': {
|
|
41
41
|
heading: 'Select your wallet',
|
|
42
42
|
},
|
|
43
|
+
'multi-wallet-wallet-list': {
|
|
44
|
+
heading: 'Link a new wallet',
|
|
45
|
+
},
|
|
43
46
|
'wallet-connect-mobile-wallets-list': {
|
|
44
47
|
heading: (jsxs(Fragment, { children: [jsx(WalletConnectIcon, { style: { height: '1.5rem', width: '1.5rem' } }), ' ', "WalletConnect wallets"] })),
|
|
45
48
|
},
|
|
46
|
-
'wallet-list': {
|
|
49
|
+
'wallet-list': {
|
|
50
|
+
heading: 'Select your wallet',
|
|
51
|
+
},
|
|
47
52
|
'wallet-sign': { heading: 'Sign to confirm transfer' },
|
|
48
53
|
};
|
|
49
54
|
const helpHeaderData = helpHeaderMap[view];
|
package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.cjs
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var _tslib = require('../../../../../../_virtual/_tslib.cjs');
|
|
6
|
+
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
6
7
|
var useInternalDynamicContext = require('../../../../context/DynamicContext/useInternalDynamicContext.cjs');
|
|
7
8
|
var ViewContext = require('../../../../context/ViewContext/ViewContext.cjs');
|
|
8
9
|
var ErrorContext = require('../../../../context/ErrorContext/ErrorContext.cjs');
|
|
@@ -10,7 +11,6 @@ var useVerifyWallet = require('../../useVerifyWallet/useVerifyWallet.cjs');
|
|
|
10
11
|
require('@dynamic-labs/sdk-api');
|
|
11
12
|
var logger = require('../../../../shared/logger.cjs');
|
|
12
13
|
require('@dynamic-labs/iconic');
|
|
13
|
-
require('@dynamic-labs/wallet-connector-core');
|
|
14
14
|
require('react/jsx-runtime');
|
|
15
15
|
require('react');
|
|
16
16
|
require('@dynamic-labs/wallet-book');
|
|
@@ -23,7 +23,7 @@ require('../../../../shared/consts/index.cjs');
|
|
|
23
23
|
const useSignConnectOnlyUser = () => {
|
|
24
24
|
const { setView } = ViewContext.useViewContext();
|
|
25
25
|
const { setErrorMessage } = ErrorContext.useErrorContext();
|
|
26
|
-
const { connectWallet, consumeNonce, displaySiweStatement, projectSettings, environmentId, setIsSingleWalletAccount, setShowAuthFlow, setSelectedWalletConnector, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
26
|
+
const { connectWallet, consumeNonce, displaySiweStatement, projectSettings, environmentId, setIsSingleWalletAccount, setShowAuthFlow, setSelectedWalletConnector, walletUiUtils, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
27
27
|
const verifyWallet = useVerifyWallet.useVerifyWallet({
|
|
28
28
|
consumeNonce,
|
|
29
29
|
displaySiweStatement,
|
|
@@ -33,6 +33,10 @@ const useSignConnectOnlyUser = () => {
|
|
|
33
33
|
});
|
|
34
34
|
return ({ walletConnector, fetchPublicAddressOpts = undefined, }) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
35
35
|
try {
|
|
36
|
+
if (walletConnectorCore.isEmbeddedConnector(walletConnector) &&
|
|
37
|
+
!walletConnectorCore.isBloctoConnector(walletConnector)) {
|
|
38
|
+
walletUiUtils.disabledConfirmationOnce();
|
|
39
|
+
}
|
|
36
40
|
// Prepare states to show the pending signature view (without back button)
|
|
37
41
|
// We need this because in connect-only we don't want to show wallet-list
|
|
38
42
|
// We don't want to show the back button in the pending signature view
|
package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { __awaiter } from '../../../../../../_virtual/_tslib.js';
|
|
2
|
+
import { isEmbeddedConnector, isBloctoConnector } from '@dynamic-labs/wallet-connector-core';
|
|
2
3
|
import { useInternalDynamicContext } from '../../../../context/DynamicContext/useInternalDynamicContext.js';
|
|
3
4
|
import { useViewContext } from '../../../../context/ViewContext/ViewContext.js';
|
|
4
5
|
import { useErrorContext } from '../../../../context/ErrorContext/ErrorContext.js';
|
|
@@ -6,7 +7,6 @@ import { useVerifyWallet } from '../../useVerifyWallet/useVerifyWallet.js';
|
|
|
6
7
|
import '@dynamic-labs/sdk-api';
|
|
7
8
|
import { logger } from '../../../../shared/logger.js';
|
|
8
9
|
import '@dynamic-labs/iconic';
|
|
9
|
-
import '@dynamic-labs/wallet-connector-core';
|
|
10
10
|
import 'react/jsx-runtime';
|
|
11
11
|
import 'react';
|
|
12
12
|
import '@dynamic-labs/wallet-book';
|
|
@@ -19,7 +19,7 @@ import '../../../../shared/consts/index.js';
|
|
|
19
19
|
const useSignConnectOnlyUser = () => {
|
|
20
20
|
const { setView } = useViewContext();
|
|
21
21
|
const { setErrorMessage } = useErrorContext();
|
|
22
|
-
const { connectWallet, consumeNonce, displaySiweStatement, projectSettings, environmentId, setIsSingleWalletAccount, setShowAuthFlow, setSelectedWalletConnector, } = useInternalDynamicContext();
|
|
22
|
+
const { connectWallet, consumeNonce, displaySiweStatement, projectSettings, environmentId, setIsSingleWalletAccount, setShowAuthFlow, setSelectedWalletConnector, walletUiUtils, } = useInternalDynamicContext();
|
|
23
23
|
const verifyWallet = useVerifyWallet({
|
|
24
24
|
consumeNonce,
|
|
25
25
|
displaySiweStatement,
|
|
@@ -29,6 +29,10 @@ const useSignConnectOnlyUser = () => {
|
|
|
29
29
|
});
|
|
30
30
|
return ({ walletConnector, fetchPublicAddressOpts = undefined, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
31
31
|
try {
|
|
32
|
+
if (isEmbeddedConnector(walletConnector) &&
|
|
33
|
+
!isBloctoConnector(walletConnector)) {
|
|
34
|
+
walletUiUtils.disabledConfirmationOnce();
|
|
35
|
+
}
|
|
32
36
|
// Prepare states to show the pending signature view (without back button)
|
|
33
37
|
// We need this because in connect-only we don't want to show wallet-list
|
|
34
38
|
// We don't want to show the back button in the pending signature view
|
|
@@ -10,8 +10,8 @@ var ViewContext = require('../../../../context/ViewContext/ViewContext.cjs');
|
|
|
10
10
|
var useInternalDynamicContext = require('../../../../context/DynamicContext/useInternalDynamicContext.cjs');
|
|
11
11
|
var errors = require('../../../constants/errors.cjs');
|
|
12
12
|
|
|
13
|
-
const useSyncPrimaryWallet = (
|
|
14
|
-
const { setShowAuthFlow, isAuthenticated } = useInternalDynamicContext.useInternalDynamicContext();
|
|
13
|
+
const useSyncPrimaryWallet = (canSync = true) => {
|
|
14
|
+
const { setShowAuthFlow, isAuthenticated, authMode, computeConnectedStateForWallets, connectWallet, handleLogOut, multiWalletWidgetState, primaryWallet, secondaryWallets, setMultiWalletWidgetState, setPrimaryWallet, setShowWidgetStatePopup, showLockedWalletView, showWidgetStatePopup, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
15
15
|
const { setView } = ViewContext.useViewContext();
|
|
16
16
|
const handlePrimaryWalletNotActive = React.useCallback((connectedAddress) => {
|
|
17
17
|
if (!primaryWallet)
|
|
@@ -97,8 +97,12 @@ const useSyncPrimaryWallet = ({ connectWallet, computeConnectedStateForWallets,
|
|
|
97
97
|
handleLogOut();
|
|
98
98
|
return;
|
|
99
99
|
}
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
if (showLockedWalletView) {
|
|
101
|
+
setShowAuthFlow(true);
|
|
102
|
+
setView('wallet-locked-view');
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
handleLogOut();
|
|
102
106
|
}
|
|
103
107
|
});
|
|
104
108
|
}, [
|
|
@@ -115,6 +119,7 @@ const useSyncPrimaryWallet = ({ connectWallet, computeConnectedStateForWallets,
|
|
|
115
119
|
setShowAuthFlow,
|
|
116
120
|
authMode,
|
|
117
121
|
isAuthenticated,
|
|
122
|
+
showLockedWalletView,
|
|
118
123
|
]);
|
|
119
124
|
};
|
|
120
125
|
|
|
@@ -1,19 +1 @@
|
|
|
1
|
-
|
|
2
|
-
import { FetchPublicAddressOpts, WalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
3
|
-
import { AuthModeType, MultiWalletWidgetState, Wallet } from '../../../../shared/types';
|
|
4
|
-
import { MultiWalletWidgetStateSetter } from '../useMultiWalletWidgetState';
|
|
5
|
-
export type UseSyncPrimaryWalletArgs = {
|
|
6
|
-
canSync?: boolean;
|
|
7
|
-
connectWallet: (walletConnector: WalletConnector, fetchPublicAddressOpts?: FetchPublicAddressOpts, shouldCallCallback?: boolean) => Promise<string | undefined>;
|
|
8
|
-
computeConnectedStateForWallets: () => Promise<void>;
|
|
9
|
-
handleLogOut: () => Promise<void>;
|
|
10
|
-
multiWalletWidgetState: MultiWalletWidgetState;
|
|
11
|
-
primaryWallet: Wallet | null;
|
|
12
|
-
secondaryWallets: Wallet[];
|
|
13
|
-
setMultiWalletWidgetState: MultiWalletWidgetStateSetter;
|
|
14
|
-
setPrimaryWallet: (walletId: string) => Promise<void>;
|
|
15
|
-
setShowWidgetStatePopup: Dispatch<SetStateAction<boolean>>;
|
|
16
|
-
showWidgetStatePopup: boolean;
|
|
17
|
-
authMode: AuthModeType;
|
|
18
|
-
};
|
|
19
|
-
export declare const useSyncPrimaryWallet: ({ connectWallet, computeConnectedStateForWallets, handleLogOut, multiWalletWidgetState, primaryWallet, secondaryWallets, setMultiWalletWidgetState, setPrimaryWallet, setShowWidgetStatePopup, showWidgetStatePopup, canSync, authMode, }: UseSyncPrimaryWalletArgs) => void;
|
|
1
|
+
export declare const useSyncPrimaryWallet: (canSync?: boolean) => void;
|
|
@@ -6,8 +6,8 @@ import { useViewContext } from '../../../../context/ViewContext/ViewContext.js';
|
|
|
6
6
|
import { useInternalDynamicContext } from '../../../../context/DynamicContext/useInternalDynamicContext.js';
|
|
7
7
|
import { MISSING_ADDRESS_ERROR } from '../../../constants/errors.js';
|
|
8
8
|
|
|
9
|
-
const useSyncPrimaryWallet = (
|
|
10
|
-
const { setShowAuthFlow, isAuthenticated } = useInternalDynamicContext();
|
|
9
|
+
const useSyncPrimaryWallet = (canSync = true) => {
|
|
10
|
+
const { setShowAuthFlow, isAuthenticated, authMode, computeConnectedStateForWallets, connectWallet, handleLogOut, multiWalletWidgetState, primaryWallet, secondaryWallets, setMultiWalletWidgetState, setPrimaryWallet, setShowWidgetStatePopup, showLockedWalletView, showWidgetStatePopup, } = useInternalDynamicContext();
|
|
11
11
|
const { setView } = useViewContext();
|
|
12
12
|
const handlePrimaryWalletNotActive = useCallback((connectedAddress) => {
|
|
13
13
|
if (!primaryWallet)
|
|
@@ -93,8 +93,12 @@ const useSyncPrimaryWallet = ({ connectWallet, computeConnectedStateForWallets,
|
|
|
93
93
|
handleLogOut();
|
|
94
94
|
return;
|
|
95
95
|
}
|
|
96
|
-
|
|
97
|
-
|
|
96
|
+
if (showLockedWalletView) {
|
|
97
|
+
setShowAuthFlow(true);
|
|
98
|
+
setView('wallet-locked-view');
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
handleLogOut();
|
|
98
102
|
}
|
|
99
103
|
});
|
|
100
104
|
}, [
|
|
@@ -111,6 +115,7 @@ const useSyncPrimaryWallet = ({ connectWallet, computeConnectedStateForWallets,
|
|
|
111
115
|
setShowAuthFlow,
|
|
112
116
|
authMode,
|
|
113
117
|
isAuthenticated,
|
|
118
|
+
showLockedWalletView,
|
|
114
119
|
]);
|
|
115
120
|
};
|
|
116
121
|
|
|
@@ -38,7 +38,7 @@ const useVerifyWallet = ({ consumeNonce, displaySiweStatement, environmentId, pr
|
|
|
38
38
|
const { setExistentAccountData } = AccountExistsContext.useAccountExistsContext();
|
|
39
39
|
const { setView, goToInitialView } = ViewContext.useViewContext();
|
|
40
40
|
const { setErrorMessage, setError } = ErrorContext.useErrorContext();
|
|
41
|
-
const { setUser, multiWalletWidgetState, debugError, multiWallet: multiWalletEnabled, appName, primaryWalletId, setCallback, setShowAuthFlow, setPrimaryWalletId, siweStatement, connectedWallet, authMode, setOnboardingOnlyJwt, authToken, setAuthMode, removeConnectedWalletsInfo, setIsVerificationInProgress, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
41
|
+
const { setUser, multiWalletWidgetState, debugError, multiWallet: multiWalletEnabled, appName, primaryWalletId, setCallback, setShowAuthFlow, setPrimaryWalletId, siweStatement, connectedWallet, authMode, setOnboardingOnlyJwt, authToken, setAuthMode, removeConnectedWalletsInfo, setIsVerificationInProgress, eventsCallbacks, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
42
42
|
// If the user is not already logged it means that we only need to verify
|
|
43
43
|
// We need this boolean for the part of the logic where we already persisted a new authToken,
|
|
44
44
|
// and need to distinguish between logic for verify or linking.
|
|
@@ -68,7 +68,7 @@ const useVerifyWallet = ({ consumeNonce, displaySiweStatement, environmentId, pr
|
|
|
68
68
|
if (Jwt === undefined)
|
|
69
69
|
throw new utils.DynamicError('Could not obtain a valid JWT');
|
|
70
70
|
// TODO DYN-523: add verification here that the JWT is valid with the publicKey
|
|
71
|
-
return Jwt;
|
|
71
|
+
return { Jwt, verifyArgs };
|
|
72
72
|
});
|
|
73
73
|
// Overrides the stored primary wallet id when the
|
|
74
74
|
// user logs in for the first time.
|
|
@@ -143,13 +143,23 @@ const useVerifyWallet = ({ consumeNonce, displaySiweStatement, environmentId, pr
|
|
|
143
143
|
}
|
|
144
144
|
};
|
|
145
145
|
return ({ walletConnector, fetchPublicAddressOpts, publicWalletAddress, captchaToken, oauth, }) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
146
|
+
var _a;
|
|
146
147
|
const walletProvider = getWalletProvider.getWalletProvider(walletConnector);
|
|
147
148
|
try {
|
|
148
149
|
setIsVerificationInProgress(true);
|
|
149
|
-
const Jwt = yield generateJWT(walletConnector, walletProvider, fetchPublicAddressOpts, publicWalletAddress, captchaToken, oauth);
|
|
150
|
+
const { Jwt, verifyArgs } = yield generateJWT(walletConnector, walletProvider, fetchPublicAddressOpts, publicWalletAddress, captchaToken, oauth);
|
|
150
151
|
const decodedJwt = decodeJwt.decodeJwt(Jwt);
|
|
151
152
|
if (decodedJwt === undefined)
|
|
152
153
|
throw new utils.DynamicError('Invalid token!');
|
|
154
|
+
try {
|
|
155
|
+
(_a = eventsCallbacks === null || eventsCallbacks === void 0 ? void 0 : eventsCallbacks.onSignedMessage) === null || _a === void 0 ? void 0 : _a.call(eventsCallbacks, {
|
|
156
|
+
messageToSign: verifyArgs.messageToSign,
|
|
157
|
+
signedMessage: verifyArgs.signedMessage,
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
catch (_b) {
|
|
161
|
+
logger.logger.warn('Error calling onSignedMessage callback');
|
|
162
|
+
}
|
|
153
163
|
const user = yield createUserProfile.createUserProfile(decodedJwt);
|
|
154
164
|
const isKycRequired = decodedJwt.missingFields.length;
|
|
155
165
|
setOnboardingOnlyJwt(Jwt);
|
|
@@ -34,7 +34,7 @@ const useVerifyWallet = ({ consumeNonce, displaySiweStatement, environmentId, pr
|
|
|
34
34
|
const { setExistentAccountData } = useAccountExistsContext();
|
|
35
35
|
const { setView, goToInitialView } = useViewContext();
|
|
36
36
|
const { setErrorMessage, setError } = useErrorContext();
|
|
37
|
-
const { setUser, multiWalletWidgetState, debugError, multiWallet: multiWalletEnabled, appName, primaryWalletId, setCallback, setShowAuthFlow, setPrimaryWalletId, siweStatement, connectedWallet, authMode, setOnboardingOnlyJwt, authToken, setAuthMode, removeConnectedWalletsInfo, setIsVerificationInProgress, } = useInternalDynamicContext();
|
|
37
|
+
const { setUser, multiWalletWidgetState, debugError, multiWallet: multiWalletEnabled, appName, primaryWalletId, setCallback, setShowAuthFlow, setPrimaryWalletId, siweStatement, connectedWallet, authMode, setOnboardingOnlyJwt, authToken, setAuthMode, removeConnectedWalletsInfo, setIsVerificationInProgress, eventsCallbacks, } = useInternalDynamicContext();
|
|
38
38
|
// If the user is not already logged it means that we only need to verify
|
|
39
39
|
// We need this boolean for the part of the logic where we already persisted a new authToken,
|
|
40
40
|
// and need to distinguish between logic for verify or linking.
|
|
@@ -64,7 +64,7 @@ const useVerifyWallet = ({ consumeNonce, displaySiweStatement, environmentId, pr
|
|
|
64
64
|
if (Jwt === undefined)
|
|
65
65
|
throw new DynamicError('Could not obtain a valid JWT');
|
|
66
66
|
// TODO DYN-523: add verification here that the JWT is valid with the publicKey
|
|
67
|
-
return Jwt;
|
|
67
|
+
return { Jwt, verifyArgs };
|
|
68
68
|
});
|
|
69
69
|
// Overrides the stored primary wallet id when the
|
|
70
70
|
// user logs in for the first time.
|
|
@@ -139,13 +139,23 @@ const useVerifyWallet = ({ consumeNonce, displaySiweStatement, environmentId, pr
|
|
|
139
139
|
}
|
|
140
140
|
};
|
|
141
141
|
return ({ walletConnector, fetchPublicAddressOpts, publicWalletAddress, captchaToken, oauth, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
142
|
+
var _a;
|
|
142
143
|
const walletProvider = getWalletProvider(walletConnector);
|
|
143
144
|
try {
|
|
144
145
|
setIsVerificationInProgress(true);
|
|
145
|
-
const Jwt = yield generateJWT(walletConnector, walletProvider, fetchPublicAddressOpts, publicWalletAddress, captchaToken, oauth);
|
|
146
|
+
const { Jwt, verifyArgs } = yield generateJWT(walletConnector, walletProvider, fetchPublicAddressOpts, publicWalletAddress, captchaToken, oauth);
|
|
146
147
|
const decodedJwt = decodeJwt(Jwt);
|
|
147
148
|
if (decodedJwt === undefined)
|
|
148
149
|
throw new DynamicError('Invalid token!');
|
|
150
|
+
try {
|
|
151
|
+
(_a = eventsCallbacks === null || eventsCallbacks === void 0 ? void 0 : eventsCallbacks.onSignedMessage) === null || _a === void 0 ? void 0 : _a.call(eventsCallbacks, {
|
|
152
|
+
messageToSign: verifyArgs.messageToSign,
|
|
153
|
+
signedMessage: verifyArgs.signedMessage,
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
catch (_b) {
|
|
157
|
+
logger.warn('Error calling onSignedMessage callback');
|
|
158
|
+
}
|
|
149
159
|
const user = yield createUserProfile(decodedJwt);
|
|
150
160
|
const isKycRequired = decodedJwt.missingFields.length;
|
|
151
161
|
setOnboardingOnlyJwt(Jwt);
|
|
@@ -48,7 +48,7 @@ var index = require('../UserDataFields/index.cjs');
|
|
|
48
48
|
var useUserDataForm = require('../../../utils/hooks/useUserDataForm/useUserDataForm.cjs');
|
|
49
49
|
|
|
50
50
|
const OnboardingUserDataForm = ({ children, userProfile, disableSubmit, }) => {
|
|
51
|
-
const { policiesConsentInnerComponent, onboardingOnlyJwt,
|
|
51
|
+
const { policiesConsentInnerComponent, onboardingOnlyJwt, internalSetShowAuthFlow, setCallback, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
52
52
|
const { setView, view } = ViewContext.useViewContext();
|
|
53
53
|
const decodedJwt = decodeJwt.decodeJwt(onboardingOnlyJwt);
|
|
54
54
|
const { updateUser } = useUserUpdateRequest.useUserUpdateRequestInternal({
|
|
@@ -67,9 +67,9 @@ const OnboardingUserDataForm = ({ children, userProfile, disableSubmit, }) => {
|
|
|
67
67
|
setView(view);
|
|
68
68
|
return;
|
|
69
69
|
}
|
|
70
|
-
|
|
70
|
+
internalSetShowAuthFlow(false);
|
|
71
71
|
setCallback('authSuccess');
|
|
72
|
-
}), [setCallback,
|
|
72
|
+
}), [setCallback, internalSetShowAuthFlow, setView, updateUser]);
|
|
73
73
|
const { fetch: loading, formikInitialValues, formikValidationSchema, enforcePolicies, onFormSubmit, } = useUserDataForm.useUserDataForm({
|
|
74
74
|
fields: (decodedJwt === null || decodedJwt === void 0 ? void 0 : decodedJwt.missingFields) || [],
|
|
75
75
|
onSubmit,
|
|
@@ -44,7 +44,7 @@ import { UserDataFields } from '../UserDataFields/index.js';
|
|
|
44
44
|
import { useUserDataForm } from '../../../utils/hooks/useUserDataForm/useUserDataForm.js';
|
|
45
45
|
|
|
46
46
|
const OnboardingUserDataForm = ({ children, userProfile, disableSubmit, }) => {
|
|
47
|
-
const { policiesConsentInnerComponent, onboardingOnlyJwt,
|
|
47
|
+
const { policiesConsentInnerComponent, onboardingOnlyJwt, internalSetShowAuthFlow, setCallback, } = useInternalDynamicContext();
|
|
48
48
|
const { setView, view } = useViewContext();
|
|
49
49
|
const decodedJwt = decodeJwt(onboardingOnlyJwt);
|
|
50
50
|
const { updateUser } = useUserUpdateRequestInternal({
|
|
@@ -63,9 +63,9 @@ const OnboardingUserDataForm = ({ children, userProfile, disableSubmit, }) => {
|
|
|
63
63
|
setView(view);
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
66
|
-
|
|
66
|
+
internalSetShowAuthFlow(false);
|
|
67
67
|
setCallback('authSuccess');
|
|
68
|
-
}), [setCallback,
|
|
68
|
+
}), [setCallback, internalSetShowAuthFlow, setView, updateUser]);
|
|
69
69
|
const { fetch: loading, formikInitialValues, formikValidationSchema, enforcePolicies, onFormSubmit, } = useUserDataForm({
|
|
70
70
|
fields: (decodedJwt === null || decodedJwt === void 0 ? void 0 : decodedJwt.missingFields) || [],
|
|
71
71
|
onSubmit,
|
|
@@ -46,6 +46,7 @@ const viewToComponentMap = {
|
|
|
46
46
|
'login-with-email-or-wallet-full-wallet-list': jsxRuntime.jsx(WalletList.WalletList, {}),
|
|
47
47
|
'login-with-email-verification': jsxRuntime.jsx(EmailVerification.EmailVerification, {}),
|
|
48
48
|
'merge-user-accounts': jsxRuntime.jsx(MergeUserAccountsView.MergeUserAccountsView, {}),
|
|
49
|
+
'multi-wallet-wallet-list': jsxRuntime.jsx(WalletList.WalletList, {}),
|
|
49
50
|
'network-not-supported': jsxRuntime.jsx(NetworkNotSupported.NetworkNotSupported, {}),
|
|
50
51
|
'network-not-supported-manual': jsxRuntime.jsx(NetworkNotSupportedSwitchManual.NetworkNotSupportedSwitchManual, {}),
|
|
51
52
|
'no-access': jsxRuntime.jsx(NoAccess.NoAccess, {}),
|
|
@@ -42,6 +42,7 @@ const viewToComponentMap = {
|
|
|
42
42
|
'login-with-email-or-wallet-full-wallet-list': jsx(WalletList, {}),
|
|
43
43
|
'login-with-email-verification': jsx(EmailVerification, {}),
|
|
44
44
|
'merge-user-accounts': jsx(MergeUserAccountsView, {}),
|
|
45
|
+
'multi-wallet-wallet-list': jsx(WalletList, {}),
|
|
45
46
|
'network-not-supported': jsx(NetworkNotSupported, {}),
|
|
46
47
|
'network-not-supported-manual': jsx(NetworkNotSupportedSwitchManual, {}),
|
|
47
48
|
'no-access': jsx(NoAccess, {}),
|
|
@@ -14,7 +14,7 @@ var UserProfileForm = require('../../../../components/UserProfileForm/UserProfil
|
|
|
14
14
|
const EditProfileView = () => {
|
|
15
15
|
const { setView } = ViewContext.useViewContext();
|
|
16
16
|
const { goToProfileView } = DynamicBridgeWidgetContext.useDynamicBridgeWidgetContext();
|
|
17
|
-
const {
|
|
17
|
+
const { internalSetShowAuthFlow } = useInternalDynamicContext.useInternalDynamicContext();
|
|
18
18
|
const { updateUser } = useUserUpdateRequest.useUserUpdateRequestInternal({
|
|
19
19
|
validationSchemaStripUnknown: true,
|
|
20
20
|
});
|
|
@@ -22,10 +22,10 @@ const EditProfileView = () => {
|
|
|
22
22
|
const { isEmailVerificationRequired } = yield updateUser(formValues);
|
|
23
23
|
goToProfileView();
|
|
24
24
|
if (isEmailVerificationRequired) {
|
|
25
|
-
|
|
25
|
+
internalSetShowAuthFlow(true);
|
|
26
26
|
setView('verify-email');
|
|
27
27
|
}
|
|
28
|
-
}), [goToProfileView,
|
|
28
|
+
}), [goToProfileView, internalSetShowAuthFlow, setView, updateUser]);
|
|
29
29
|
return (jsxRuntime.jsx(UserProfileForm.UserProfileForm, { onEditProfileSubmit: onEditProfileFormSubmit, onEditProfileCancel: goToProfileView }));
|
|
30
30
|
};
|
|
31
31
|
|
|
@@ -10,7 +10,7 @@ import { UserProfileForm } from '../../../../components/UserProfileForm/UserProf
|
|
|
10
10
|
const EditProfileView = () => {
|
|
11
11
|
const { setView } = useViewContext();
|
|
12
12
|
const { goToProfileView } = useDynamicBridgeWidgetContext();
|
|
13
|
-
const {
|
|
13
|
+
const { internalSetShowAuthFlow } = useInternalDynamicContext();
|
|
14
14
|
const { updateUser } = useUserUpdateRequestInternal({
|
|
15
15
|
validationSchemaStripUnknown: true,
|
|
16
16
|
});
|
|
@@ -18,10 +18,10 @@ const EditProfileView = () => {
|
|
|
18
18
|
const { isEmailVerificationRequired } = yield updateUser(formValues);
|
|
19
19
|
goToProfileView();
|
|
20
20
|
if (isEmailVerificationRequired) {
|
|
21
|
-
|
|
21
|
+
internalSetShowAuthFlow(true);
|
|
22
22
|
setView('verify-email');
|
|
23
23
|
}
|
|
24
|
-
}), [goToProfileView,
|
|
24
|
+
}), [goToProfileView, internalSetShowAuthFlow, setView, updateUser]);
|
|
25
25
|
return (jsx(UserProfileForm, { onEditProfileSubmit: onEditProfileFormSubmit, onEditProfileCancel: goToProfileView }));
|
|
26
26
|
};
|
|
27
27
|
|
|
@@ -50,7 +50,7 @@ var UserProfileForm = require('../../../../components/UserProfileForm/UserProfil
|
|
|
50
50
|
|
|
51
51
|
const EditProfileView = ({ rootClassName, }) => {
|
|
52
52
|
const { setView } = ViewContext.useViewContext();
|
|
53
|
-
const {
|
|
53
|
+
const { internalSetShowAuthFlow } = useInternalDynamicContext.useInternalDynamicContext();
|
|
54
54
|
const { goToProfileView } = DynamicWidgetContext.useWidgetContext();
|
|
55
55
|
const { updateUser } = useUserUpdateRequest.useUserUpdateRequestInternal({
|
|
56
56
|
validationSchemaStripUnknown: true,
|
|
@@ -59,10 +59,10 @@ const EditProfileView = ({ rootClassName, }) => {
|
|
|
59
59
|
const { isEmailVerificationRequired } = yield updateUser(formValues);
|
|
60
60
|
goToProfileView();
|
|
61
61
|
if (isEmailVerificationRequired) {
|
|
62
|
-
|
|
62
|
+
internalSetShowAuthFlow(true);
|
|
63
63
|
setView('verify-email');
|
|
64
64
|
}
|
|
65
|
-
}), [goToProfileView,
|
|
65
|
+
}), [goToProfileView, internalSetShowAuthFlow, setView, updateUser]);
|
|
66
66
|
const isKYCEnabled = useKYCFlag.useKYCFlag();
|
|
67
67
|
const isMultiWalletEnabled = useMultiWalletFlag.useMultiWalletFlag();
|
|
68
68
|
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [!isMultiWalletEnabled && isKYCEnabled && (jsxRuntime.jsx(Typography.Typography, { weight: 'regular', color: 'secondary', variant: 'body_normal', className: 'dynamic-widget-edit-profile-view__profile-title', children: "My profile" })), jsxRuntime.jsx(UserProfileForm.UserProfileForm, { formClassName: rootClassName, onEditProfileSubmit: onEditProfileFormSubmit, onEditProfileCancel: goToProfileView })] }));
|
|
@@ -46,7 +46,7 @@ import { UserProfileForm } from '../../../../components/UserProfileForm/UserProf
|
|
|
46
46
|
|
|
47
47
|
const EditProfileView = ({ rootClassName, }) => {
|
|
48
48
|
const { setView } = useViewContext();
|
|
49
|
-
const {
|
|
49
|
+
const { internalSetShowAuthFlow } = useInternalDynamicContext();
|
|
50
50
|
const { goToProfileView } = useWidgetContext();
|
|
51
51
|
const { updateUser } = useUserUpdateRequestInternal({
|
|
52
52
|
validationSchemaStripUnknown: true,
|
|
@@ -55,10 +55,10 @@ const EditProfileView = ({ rootClassName, }) => {
|
|
|
55
55
|
const { isEmailVerificationRequired } = yield updateUser(formValues);
|
|
56
56
|
goToProfileView();
|
|
57
57
|
if (isEmailVerificationRequired) {
|
|
58
|
-
|
|
58
|
+
internalSetShowAuthFlow(true);
|
|
59
59
|
setView('verify-email');
|
|
60
60
|
}
|
|
61
|
-
}), [goToProfileView,
|
|
61
|
+
}), [goToProfileView, internalSetShowAuthFlow, setView, updateUser]);
|
|
62
62
|
const isKYCEnabled = useKYCFlag();
|
|
63
63
|
const isMultiWalletEnabled = useMultiWalletFlag();
|
|
64
64
|
return (jsxs(Fragment, { children: [!isMultiWalletEnabled && isKYCEnabled && (jsx(Typography, { weight: 'regular', color: 'secondary', variant: 'body_normal', className: 'dynamic-widget-edit-profile-view__profile-title', children: "My profile" })), jsx(UserProfileForm, { formClassName: rootClassName, onEditProfileSubmit: onEditProfileFormSubmit, onEditProfileCancel: goToProfileView })] }));
|