@dynamic-labs/sdk-react-core 1.4.2 → 1.4.3
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 +8 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +11 -11
- package/src/index.cjs +13 -13
- package/src/index.d.ts +289 -9
- package/src/lib/context/DynamicContext/DynamicContext.cjs +20 -22
- package/src/lib/context/DynamicContext/DynamicContext.js +22 -24
- package/src/lib/context/DynamicContext/handleDisconnectWallet/handleDisconnectWallet.cjs +1 -4
- package/src/lib/context/DynamicContext/handleDisconnectWallet/handleDisconnectWallet.d.ts +1 -7
- package/src/lib/context/DynamicContext/handleDisconnectWallet/handleDisconnectWallet.js +1 -4
- package/src/lib/context/DynamicContext/helpers/helpers.cjs +2 -2
- package/src/lib/context/DynamicContext/helpers/helpers.d.ts +2 -2
- package/src/lib/context/DynamicContext/helpers/helpers.js +2 -2
- package/src/lib/context/DynamicContext/hooks/useHandleLogout/types.d.ts +1 -2
- package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.cjs +1 -2
- package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.js +1 -2
- package/src/lib/context/DynamicContext/hooks/useSetShowLinkNewWalletModal/useSetShowLinkNewWalletModal.cjs +1 -1
- package/src/lib/context/DynamicContext/hooks/useSetShowLinkNewWalletModal/useSetShowLinkNewWalletModal.js +1 -1
- package/src/lib/context/DynamicContext/types/index.d.ts +5 -2
- package/src/lib/context/LoadingContext/LoadingContext.cjs +1 -0
- package/src/lib/context/LoadingContext/LoadingContext.js +1 -0
- package/src/lib/data/api.cjs +3 -0
- package/src/lib/data/api.js +4 -1
- package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.cjs +1 -1
- package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.js +1 -1
- package/src/lib/utils/constants/localStorage.cjs +2 -2
- package/src/lib/utils/constants/localStorage.d.ts +1 -1
- package/src/lib/utils/constants/localStorage.js +2 -2
- package/src/lib/utils/hooks/index.d.ts +1 -0
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +4 -1
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +4 -1
- package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.cjs +2 -6
- package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.d.ts +2 -3
- package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.js +2 -6
- package/src/lib/utils/hooks/useHandleWalletsToConnect/useHandleWalletsToConnect.cjs +4 -5
- package/src/lib/utils/hooks/useHandleWalletsToConnect/useHandleWalletsToConnect.js +4 -5
- package/src/lib/utils/hooks/useNetworkNotSupported/index.d.ts +1 -0
- package/src/lib/utils/hooks/useNetworkNotSupported/useNetworkNotSupported.cjs +104 -0
- package/src/lib/utils/hooks/useNetworkNotSupported/useNetworkNotSupported.d.ts +3 -0
- package/src/lib/utils/hooks/useNetworkNotSupported/useNetworkNotSupported.js +100 -0
- package/src/lib/utils/hooks/useUserDataForm/useUserDataForm.cjs +5 -0
- package/src/lib/utils/hooks/useUserDataForm/useUserDataForm.js +6 -1
- package/src/lib/views/NetworkNotSupported/NetworkNotSupported.cjs +9 -31
- package/src/lib/views/NetworkNotSupported/NetworkNotSupported.js +10 -32
- package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.cjs +8 -31
- package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.js +8 -31
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __awaiter } from '../../../../_virtual/_tslib.js';
|
|
2
2
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
-
import { createContext, useState, useRef, useEffect, useCallback
|
|
3
|
+
import { createContext, useState, useRef, useMemo, useEffect, useCallback } from 'react';
|
|
4
4
|
import { I18nextProvider } from 'react-i18next';
|
|
5
5
|
import { getIconicSpriteUrl } from '@dynamic-labs/iconic';
|
|
6
6
|
import { MissingEnvironmentIdError } from '@dynamic-labs/utils';
|
|
@@ -11,7 +11,7 @@ import '../../events/dynamicEvents.js';
|
|
|
11
11
|
import { decodeJwt } from '../../shared/utils/functions/decodeJwt/decodeJwt.js';
|
|
12
12
|
import { ViewContextProvider } from '../ViewContext/ViewContext.js';
|
|
13
13
|
import { logger } from '../../shared/logger.js';
|
|
14
|
-
import {
|
|
14
|
+
import { BRIDGE_ONBOARDING_COMPLETED, AUTH_TOKEN, AUTH_USER, AUTH_MODE, WALLET_PICKER_SEARCH_KEY } from '../../utils/constants/localStorage.js';
|
|
15
15
|
import '../../utils/constants/colors.js';
|
|
16
16
|
import { DEFAULT_NUMBER_OF_WALLETS_TO_SHOW } from '../../utils/constants/values.js';
|
|
17
17
|
import { LocalStorage } from '../../shared/utils/classes/storage/localStorage.js';
|
|
@@ -147,8 +147,8 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
147
147
|
const [onboardingOnlyJwt, setOnboardingOnlyJwt] = useState(undefined);
|
|
148
148
|
// state to track the full connectivity status of the individual's wallets.
|
|
149
149
|
// Set to true once the predetermined number of wallets is connected.
|
|
150
|
-
const [
|
|
151
|
-
const [
|
|
150
|
+
const [bridgeOnboardingCompleted, setBridgeOnboardingCompleted, removeBridgeOnboardingCompleted,] = useLocalStorage(BRIDGE_ONBOARDING_COMPLETED, false);
|
|
151
|
+
const [isFullyConnected, setIsFullyConnected] = useState(false);
|
|
152
152
|
// Allows clients to control widget flow without need to click on AccountControl
|
|
153
153
|
const [showDynamicUserProfile, setShowDynamicUserProfile] = useState(false);
|
|
154
154
|
// Alows clients to control the Bridget Widget flow without need to click on Bridge Widget
|
|
@@ -225,25 +225,18 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
225
225
|
environmentId,
|
|
226
226
|
isBridgeFlow,
|
|
227
227
|
onBeforeConnectSuccessConfirmation: eventsCallbacks === null || eventsCallbacks === void 0 ? void 0 : eventsCallbacks.onBeforeConnectSuccessConfirmation,
|
|
228
|
-
onDisconnect: (
|
|
229
|
-
bridgeChains,
|
|
230
|
-
connectedWalletsInfo,
|
|
228
|
+
onDisconnect: (wallet) => handleDisconnectWallet({
|
|
231
229
|
eventsCallbacks,
|
|
232
|
-
setBridgeChainsToConnect,
|
|
233
230
|
wallet,
|
|
234
231
|
}),
|
|
235
232
|
primaryWalletId,
|
|
236
|
-
removeIsFullyConnected,
|
|
237
233
|
setIsVerificationInProgress,
|
|
238
234
|
setPrimaryWalletId,
|
|
239
235
|
setShowAuthFlow,
|
|
240
236
|
user,
|
|
241
237
|
walletConnectorOptions,
|
|
242
238
|
});
|
|
243
|
-
|
|
244
|
-
const missingChains = getMissingChains(bridgeChains, connectedWalletsInfo);
|
|
245
|
-
setBridgeChainsToConnect(missingChains);
|
|
246
|
-
}, [bridgeChains]);
|
|
239
|
+
const bridgeChainsToConnect = useMemo(() => getMissingChains(bridgeChains, connectedWalletsInfo), [bridgeChains, connectedWalletsInfo]);
|
|
247
240
|
const { selectedWalletConnector, setSelectedWalletConnectorKey } = useSelectedWalletConnector({ walletConnectorOptions });
|
|
248
241
|
//selected wallet to perform an action (become primary, unlink, etc)
|
|
249
242
|
const [selectedWalletWithAction, setSelectedWalletWithAction] = useState(null);
|
|
@@ -265,6 +258,9 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
265
258
|
user,
|
|
266
259
|
walletConnectorOptions,
|
|
267
260
|
});
|
|
261
|
+
useEffect(() => {
|
|
262
|
+
setIsFullyConnected(!(bridgeChainsToConnect === null || bridgeChainsToConnect === void 0 ? void 0 : bridgeChainsToConnect.length) && Boolean(primaryWallet));
|
|
263
|
+
}, [bridgeChainsToConnect, primaryWallet]);
|
|
268
264
|
const walletConnectors = linkedOrConnectedWallets.map((wallet) => wallet.connector);
|
|
269
265
|
const { sdkHasLoaded, setSdkHasLoaded } = useGlobalLoading({
|
|
270
266
|
authMode,
|
|
@@ -297,14 +293,13 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
297
293
|
handleRemoveLsNetworks,
|
|
298
294
|
initialAuthenticationMode,
|
|
299
295
|
isVerificationInProgress,
|
|
296
|
+
removeBridgeOnboardingCompleted,
|
|
300
297
|
removeConnectedNameService,
|
|
301
298
|
removeConnectedWalletsInfo,
|
|
302
|
-
removeIsFullyConnected,
|
|
303
299
|
removeLsSettings,
|
|
304
300
|
removeUser,
|
|
305
301
|
resetLoginWithEmail,
|
|
306
302
|
setAuthMode,
|
|
307
|
-
setBridgeChainsToConnect,
|
|
308
303
|
setIsVerificationInProgress,
|
|
309
304
|
setLegacyIsVerifying,
|
|
310
305
|
setMultiWalletWidgetState,
|
|
@@ -446,6 +441,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
446
441
|
awaitingSignatureState,
|
|
447
442
|
bridgeChains,
|
|
448
443
|
bridgeChainsToConnect,
|
|
444
|
+
bridgeOnboardingCompleted,
|
|
449
445
|
clearStatesOnBackClick,
|
|
450
446
|
connectWallet,
|
|
451
447
|
connectedWallets,
|
|
@@ -499,6 +495,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
499
495
|
privacyPolicyUrl,
|
|
500
496
|
projectSettings,
|
|
501
497
|
qrcodeUri,
|
|
498
|
+
removeBridgeOnboardingCompleted,
|
|
502
499
|
removeConnectedWalletsInfo,
|
|
503
500
|
rpcProviders,
|
|
504
501
|
sdkHasLoaded,
|
|
@@ -508,10 +505,9 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
508
505
|
sendWagmiSettings,
|
|
509
506
|
setAuthMode,
|
|
510
507
|
setAuthorizationViewDisplayOrder,
|
|
511
|
-
|
|
508
|
+
setBridgeOnboardingCompleted,
|
|
512
509
|
setCallback,
|
|
513
510
|
setDesktopUri,
|
|
514
|
-
setIsFullyConnected,
|
|
515
511
|
setIsSingleWalletAccount,
|
|
516
512
|
setIsVerificationInProgress,
|
|
517
513
|
setLegacyIsVerifying,
|
|
@@ -568,6 +564,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
568
564
|
awaitingSignatureState,
|
|
569
565
|
bridgeChains,
|
|
570
566
|
bridgeChainsToConnect,
|
|
567
|
+
bridgeOnboardingCompleted,
|
|
571
568
|
clearStatesOnBackClick,
|
|
572
569
|
connectWallet,
|
|
573
570
|
connectedWallets,
|
|
@@ -575,13 +572,13 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
575
572
|
cssOverrides,
|
|
576
573
|
customPrivacyPolicy,
|
|
577
574
|
customTermsOfServices,
|
|
578
|
-
enableConnectOnlyFallback,
|
|
579
575
|
debugError,
|
|
580
576
|
onboardingOnlyJwt,
|
|
581
577
|
defaultNumberOfWalletsToShow,
|
|
582
578
|
desktopUri,
|
|
583
579
|
disconnectWallet,
|
|
584
580
|
displaySiweStatement,
|
|
581
|
+
enableConnectOnlyFallback,
|
|
585
582
|
environmentId,
|
|
586
583
|
eventsCallbacks,
|
|
587
584
|
getConnectedWalletById,
|
|
@@ -597,7 +594,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
597
594
|
isVerificationInProgress,
|
|
598
595
|
legacyIsVerifying,
|
|
599
596
|
user,
|
|
600
|
-
networkValidationMode,
|
|
601
597
|
linkedOrConnectedWallets,
|
|
602
598
|
loadingNetwork,
|
|
603
599
|
loginWithEmail,
|
|
@@ -605,17 +601,21 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
605
601
|
multiWalletWidgetState,
|
|
606
602
|
network,
|
|
607
603
|
serverNetworkConfigurations,
|
|
604
|
+
networkValidationMode,
|
|
608
605
|
walletsForChainsMap,
|
|
609
606
|
imageUserNotInAccessList,
|
|
610
607
|
notInTheListImageUrl,
|
|
611
608
|
imageUserInAccessList,
|
|
612
609
|
onboardingImageUrl,
|
|
610
|
+
settings.overrides,
|
|
611
|
+
passkeySuccessPopup,
|
|
613
612
|
policiesConsentInnerComponent,
|
|
614
613
|
primaryWallet,
|
|
615
614
|
primaryWalletId,
|
|
616
615
|
privacyPolicyUrl,
|
|
617
616
|
projectSettings,
|
|
618
617
|
qrcodeUri,
|
|
618
|
+
removeBridgeOnboardingCompleted,
|
|
619
619
|
removeConnectedWalletsInfo,
|
|
620
620
|
rpcProviders,
|
|
621
621
|
sdkHasLoaded,
|
|
@@ -625,8 +625,8 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
625
625
|
sendWagmiSettings,
|
|
626
626
|
setAuthMode,
|
|
627
627
|
setAuthorizationViewDisplayOrder,
|
|
628
|
+
setBridgeOnboardingCompleted,
|
|
628
629
|
setCallback,
|
|
629
|
-
setIsFullyConnected,
|
|
630
630
|
setIsVerificationInProgress,
|
|
631
631
|
setLogInWithEmail,
|
|
632
632
|
setMultiWallet,
|
|
@@ -646,7 +646,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
646
646
|
showBridgeWidget,
|
|
647
647
|
showDynamicUserProfile,
|
|
648
648
|
showLockedWalletView,
|
|
649
|
-
passkeySuccessPopup,
|
|
650
649
|
showQrcodeModal,
|
|
651
650
|
showWidgetStatePopup,
|
|
652
651
|
signWithEmailWalletName,
|
|
@@ -661,7 +660,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
661
660
|
walletConnectorOptions,
|
|
662
661
|
walletUiUtils,
|
|
663
662
|
walletsFilter,
|
|
664
|
-
settings.overrides,
|
|
665
663
|
]);
|
|
666
664
|
useEffect(() => {
|
|
667
665
|
const addPrefetch = (attr) => {
|
|
@@ -700,10 +698,10 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
700
698
|
}
|
|
701
699
|
}, [multiWallet, multiWalletWidgetState, showDynamicUserProfile, user]);
|
|
702
700
|
return (jsx(I18nextProvider, { i18n: i18nSDKInstance, children: jsx(DynamicContext.Provider, { value: value, children: jsx(WalletBookContextProvider, { walletBook: walletBook, children: jsx(ThemeContextProvider, { customerTheme: parseTheme(theme, ((_f = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design) === null || _f === void 0 ? void 0 : _f.modal) || undefined), designSettings: projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design, children: jsx(LoadingContextProvider, { children: jsxs(ViewContextProvider, { initialView: getInitialView({
|
|
701
|
+
bridgeOnboardingCompleted,
|
|
703
702
|
connectedWallets,
|
|
704
|
-
isAuthenticated,
|
|
703
|
+
isAuthenticated: isAuthenticated || Boolean(primaryWallet),
|
|
705
704
|
isBridgeFlow,
|
|
706
|
-
isFullyConnected,
|
|
707
705
|
isMultiWalletEnabled: multiWallet,
|
|
708
706
|
}), children: [networkValidationMode === 'always' && jsx(UseNetworkValidation, {}), jsx(CaptchaContextProvider, { children: jsx(AccountExistsContextProvider, { children: jsx(WalletContextProvider, { canSync: didConnectedStateLoad, children: jsx(PasskeyContextProvider, { children: jsx(EmailVerificationContextProvider, { children: jsx(DynamicWidgetContextProvider, { children: jsx(DynamicBridgeWidgetContextProvider, { children: jsx(FundingContextProvider, { children: jsx(AccessDeniedContextProvider, { children: jsx(SendBalanceContextProvider, { children: jsx(WalletGroupContextProvider, { children: jsx(UserFieldEditorContextProvider, { children: jsx(ConnectWithEmailOtpProvider, { children: jsx(PhantomRedirectContextProvider, { children: jsxs(SocialRedirectContextProvider, { children: [jsx(DynamicAuthFlow, {}), jsx(Toolkit, {}), jsx(FundingWidget, {}), jsx(SyncPasskeyFlow, {}), confirmationModal, children] }) }) }) }) }) }) }) }) }) }) }) }) }) }) })] }) }) }) }) }) }));
|
|
709
707
|
};
|
|
@@ -16,12 +16,9 @@ require('../../../shared/utils/classes/storage/localStorage.cjs');
|
|
|
16
16
|
require('viem');
|
|
17
17
|
require('@dynamic-labs/utils');
|
|
18
18
|
require('../../../shared/consts/index.cjs');
|
|
19
|
-
var getMissingChains = require('../../../utils/functions/getMissingChains/getMissingChains.cjs');
|
|
20
19
|
|
|
21
|
-
const handleDisconnectWallet = ({ wallet,
|
|
20
|
+
const handleDisconnectWallet = ({ wallet, eventsCallbacks, }) => {
|
|
22
21
|
var _a;
|
|
23
|
-
const missingChains = getMissingChains.getMissingChains(bridgeChains, connectedWalletsInfo);
|
|
24
|
-
setBridgeChainsToConnect(missingChains);
|
|
25
22
|
// there might not be a wallet to disconnect because
|
|
26
23
|
// the connectedWallets state may never have been initialized.
|
|
27
24
|
// this is because we asyncronously init the connectedWallets,
|
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
import { Dispatch, SetStateAction } from 'react';
|
|
2
1
|
import { DynamicEventsCallbacks, Wallet } from '../../../shared';
|
|
3
|
-
import { ConnectedWalletConnectorType } from '../../../utils/hooks/useConnectWallet/useConnectWallet';
|
|
4
|
-
import { ChainsToConnect } from '../types';
|
|
5
2
|
type HandleDisconnectWalletArgs = {
|
|
6
3
|
wallet?: Wallet;
|
|
7
|
-
connectedWalletsInfo: ConnectedWalletConnectorType[];
|
|
8
|
-
bridgeChains: ChainsToConnect[] | undefined;
|
|
9
|
-
setBridgeChainsToConnect: Dispatch<SetStateAction<ChainsToConnect[] | undefined>>;
|
|
10
4
|
eventsCallbacks?: DynamicEventsCallbacks;
|
|
11
5
|
};
|
|
12
|
-
export declare const handleDisconnectWallet: ({ wallet,
|
|
6
|
+
export declare const handleDisconnectWallet: ({ wallet, eventsCallbacks, }: HandleDisconnectWalletArgs) => void;
|
|
13
7
|
export {};
|
|
@@ -12,12 +12,9 @@ import '../../../shared/utils/classes/storage/localStorage.js';
|
|
|
12
12
|
import 'viem';
|
|
13
13
|
import '@dynamic-labs/utils';
|
|
14
14
|
import '../../../shared/consts/index.js';
|
|
15
|
-
import { getMissingChains } from '../../../utils/functions/getMissingChains/getMissingChains.js';
|
|
16
15
|
|
|
17
|
-
const handleDisconnectWallet = ({ wallet,
|
|
16
|
+
const handleDisconnectWallet = ({ wallet, eventsCallbacks, }) => {
|
|
18
17
|
var _a;
|
|
19
|
-
const missingChains = getMissingChains(bridgeChains, connectedWalletsInfo);
|
|
20
|
-
setBridgeChainsToConnect(missingChains);
|
|
21
18
|
// there might not be a wallet to disconnect because
|
|
22
19
|
// the connectedWallets state may never have been initialized.
|
|
23
20
|
// this is because we asyncronously init the connectedWallets,
|
|
@@ -60,10 +60,10 @@ const initExpirationTime = (logout) => {
|
|
|
60
60
|
const expiryTimeout = Math.min(expirationTimeInMs, 2147483647);
|
|
61
61
|
logoutTimer = setTimeout(logout, expiryTimeout);
|
|
62
62
|
};
|
|
63
|
-
const getInitialView = ({ connectedWallets, isBridgeFlow,
|
|
63
|
+
const getInitialView = ({ connectedWallets, isBridgeFlow, bridgeOnboardingCompleted, isAuthenticated, isMultiWalletEnabled, }) => {
|
|
64
64
|
// when multiwallet enabled, and user wants to link wallet
|
|
65
65
|
// show wallet-list view
|
|
66
|
-
if (
|
|
66
|
+
if (isAuthenticated || bridgeOnboardingCompleted) {
|
|
67
67
|
return {
|
|
68
68
|
type: isMultiWalletEnabled ? 'multi-wallet-wallet-list' : 'wallet-list',
|
|
69
69
|
};
|
|
@@ -4,11 +4,11 @@ import { ChainsToConnect, NetworkValidationMode } from '../types';
|
|
|
4
4
|
export declare const sdkSettingsTimeout: number;
|
|
5
5
|
export declare const isAuthTokenExpired: (token: string) => boolean;
|
|
6
6
|
export declare const initExpirationTime: (logout: VoidFunction) => void;
|
|
7
|
-
export declare const getInitialView: ({ connectedWallets, isBridgeFlow,
|
|
7
|
+
export declare const getInitialView: ({ connectedWallets, isBridgeFlow, bridgeOnboardingCompleted, isAuthenticated, isMultiWalletEnabled, }: {
|
|
8
8
|
connectedWallets: Wallet[];
|
|
9
9
|
isBridgeFlow: boolean;
|
|
10
10
|
isAuthenticated: boolean;
|
|
11
|
-
|
|
11
|
+
bridgeOnboardingCompleted: boolean;
|
|
12
12
|
isMultiWalletEnabled: boolean;
|
|
13
13
|
}) => ViewState<ViewType>;
|
|
14
14
|
export declare const setDynamicContextSessionSettings: () => void;
|
|
@@ -56,10 +56,10 @@ const initExpirationTime = (logout) => {
|
|
|
56
56
|
const expiryTimeout = Math.min(expirationTimeInMs, 2147483647);
|
|
57
57
|
logoutTimer = setTimeout(logout, expiryTimeout);
|
|
58
58
|
};
|
|
59
|
-
const getInitialView = ({ connectedWallets, isBridgeFlow,
|
|
59
|
+
const getInitialView = ({ connectedWallets, isBridgeFlow, bridgeOnboardingCompleted, isAuthenticated, isMultiWalletEnabled, }) => {
|
|
60
60
|
// when multiwallet enabled, and user wants to link wallet
|
|
61
61
|
// show wallet-list view
|
|
62
|
-
if (
|
|
62
|
+
if (isAuthenticated || bridgeOnboardingCompleted) {
|
|
63
63
|
return {
|
|
64
64
|
type: isMultiWalletEnabled ? 'multi-wallet-wallet-list' : 'wallet-list',
|
|
65
65
|
};
|
|
@@ -8,7 +8,6 @@ export type UseHandleLogoutParams = {
|
|
|
8
8
|
removeUser: () => void;
|
|
9
9
|
setSdkHasLoaded: Dispatch<SetStateAction<boolean>>;
|
|
10
10
|
clearAllWalletConnectSessions: () => void;
|
|
11
|
-
setBridgeChainsToConnect: Dispatch<SetStateAction<ChainsToConnect[] | undefined>>;
|
|
12
11
|
bridgeChains: ChainsToConnect[] | undefined;
|
|
13
12
|
setShowDynamicUserProfile: Dispatch<SetStateAction<boolean>>;
|
|
14
13
|
setShowBridgeWidget: Dispatch<SetStateAction<boolean>>;
|
|
@@ -27,8 +26,8 @@ export type UseHandleLogoutParams = {
|
|
|
27
26
|
removeLsSettings: () => void;
|
|
28
27
|
handleRemoveLsNetworks: () => void;
|
|
29
28
|
setOnboardingOnlyJwt: Dispatch<SetStateAction<string | undefined>>;
|
|
29
|
+
removeBridgeOnboardingCompleted: () => void;
|
|
30
30
|
removeConnectedWalletsInfo: () => void;
|
|
31
|
-
removeIsFullyConnected: () => void;
|
|
32
31
|
clearPrimaryWalletId: () => void;
|
|
33
32
|
removeConnectedNameService: () => void;
|
|
34
33
|
eventsCallbacks: DynamicEventsCallbacks | undefined;
|
|
@@ -80,7 +80,6 @@ const useHandleLogout = (params) => {
|
|
|
80
80
|
const p = paramsRef.current;
|
|
81
81
|
p.setSdkHasLoaded(false);
|
|
82
82
|
p.clearAllWalletConnectSessions();
|
|
83
|
-
p.setBridgeChainsToConnect(p.bridgeChains);
|
|
84
83
|
p.setShowDynamicUserProfile(false);
|
|
85
84
|
p.setShowBridgeWidget(false);
|
|
86
85
|
p.resetLoginWithEmail();
|
|
@@ -111,7 +110,7 @@ const useHandleLogout = (params) => {
|
|
|
111
110
|
p.handleRemoveLsNetworks();
|
|
112
111
|
p.setOnboardingOnlyJwt(undefined);
|
|
113
112
|
p.removeConnectedWalletsInfo();
|
|
114
|
-
p.
|
|
113
|
+
p.removeBridgeOnboardingCompleted();
|
|
115
114
|
p.clearPrimaryWalletId();
|
|
116
115
|
p.removeConnectedNameService();
|
|
117
116
|
dynamicEvents.dynamicEvents.emit('logout');
|
|
@@ -76,7 +76,6 @@ const useHandleLogout = (params) => {
|
|
|
76
76
|
const p = paramsRef.current;
|
|
77
77
|
p.setSdkHasLoaded(false);
|
|
78
78
|
p.clearAllWalletConnectSessions();
|
|
79
|
-
p.setBridgeChainsToConnect(p.bridgeChains);
|
|
80
79
|
p.setShowDynamicUserProfile(false);
|
|
81
80
|
p.setShowBridgeWidget(false);
|
|
82
81
|
p.resetLoginWithEmail();
|
|
@@ -107,7 +106,7 @@ const useHandleLogout = (params) => {
|
|
|
107
106
|
p.handleRemoveLsNetworks();
|
|
108
107
|
p.setOnboardingOnlyJwt(undefined);
|
|
109
108
|
p.removeConnectedWalletsInfo();
|
|
110
|
-
p.
|
|
109
|
+
p.removeBridgeOnboardingCompleted();
|
|
111
110
|
p.clearPrimaryWalletId();
|
|
112
111
|
p.removeConnectedNameService();
|
|
113
112
|
dynamicEvents.emit('logout');
|
|
@@ -32,7 +32,7 @@ const useSetShowLinkNewWalletModal = ({ setShowAuthFlow, isMultiWalletEnabled, i
|
|
|
32
32
|
if (!isAuthenticated)
|
|
33
33
|
return;
|
|
34
34
|
if (!isMultiWalletEnabled) {
|
|
35
|
-
logger.logger.warn('setShowLinkNewWalletModal was called
|
|
35
|
+
logger.logger.warn('setShowLinkNewWalletModal was called but the user is not allowed to link a wallet. This results in a no-op. Please double check that multi-wallet is enabled in the dashboard. For more information, see: https://docs.dynamic.xyz/branded-wallets/multi-wallet');
|
|
36
36
|
return;
|
|
37
37
|
}
|
|
38
38
|
}
|
|
@@ -28,7 +28,7 @@ const useSetShowLinkNewWalletModal = ({ setShowAuthFlow, isMultiWalletEnabled, i
|
|
|
28
28
|
if (!isAuthenticated)
|
|
29
29
|
return;
|
|
30
30
|
if (!isMultiWalletEnabled) {
|
|
31
|
-
logger.warn('setShowLinkNewWalletModal was called
|
|
31
|
+
logger.warn('setShowLinkNewWalletModal was called but the user is not allowed to link a wallet. This results in a no-op. Please double check that multi-wallet is enabled in the dashboard. For more information, see: https://docs.dynamic.xyz/branded-wallets/multi-wallet');
|
|
32
32
|
return;
|
|
33
33
|
}
|
|
34
34
|
}
|
|
@@ -59,8 +59,12 @@ export interface IDynamicContext {
|
|
|
59
59
|
locale: {
|
|
60
60
|
changeLanguage: (lang: string) => void;
|
|
61
61
|
};
|
|
62
|
+
/**
|
|
63
|
+
* @deprecated Use useIsLoggedIn instead
|
|
64
|
+
*/
|
|
62
65
|
isFullyConnected: boolean;
|
|
63
|
-
|
|
66
|
+
bridgeOnboardingCompleted: boolean;
|
|
67
|
+
setBridgeOnboardingCompleted: (value: boolean | ((val: boolean) => boolean)) => void;
|
|
64
68
|
consumeNonce: () => string | undefined;
|
|
65
69
|
cssOverrides?: string | JSX.Element;
|
|
66
70
|
customPrivacyPolicy?: ReactNode;
|
|
@@ -71,7 +75,6 @@ export interface IDynamicContext {
|
|
|
71
75
|
defaultNumberOfWalletsToShow: number;
|
|
72
76
|
bridgeChains: ChainsToConnect[] | undefined;
|
|
73
77
|
bridgeChainsToConnect: ChainsToConnect[] | undefined;
|
|
74
|
-
setBridgeChainsToConnect: Dispatch<SetStateAction<ChainsToConnect[] | undefined>>;
|
|
75
78
|
desktopUri: string;
|
|
76
79
|
displaySiweStatement: boolean;
|
|
77
80
|
environmentId: string;
|
|
@@ -74,6 +74,7 @@ const LoadingContext = React.createContext(undefined);
|
|
|
74
74
|
const LoadingContextProvider = ({ children, }) => {
|
|
75
75
|
const [loading, setLoading] = React.useState(false);
|
|
76
76
|
useDynamicEvents.useInternalDynamicEvents('logout', () => setLoading(false));
|
|
77
|
+
useDynamicEvents.useInternalDynamicEvents('embeddedWalletCreated', () => setLoading(false));
|
|
77
78
|
const value = React.useMemo(() => ({
|
|
78
79
|
loading,
|
|
79
80
|
setLoading,
|
|
@@ -70,6 +70,7 @@ const LoadingContext = createContext(undefined);
|
|
|
70
70
|
const LoadingContextProvider = ({ children, }) => {
|
|
71
71
|
const [loading, setLoading] = useState(false);
|
|
72
72
|
useInternalDynamicEvents('logout', () => setLoading(false));
|
|
73
|
+
useInternalDynamicEvents('embeddedWalletCreated', () => setLoading(false));
|
|
73
74
|
const value = useMemo(() => ({
|
|
74
75
|
loading,
|
|
75
76
|
setLoading,
|
package/src/lib/data/api.cjs
CHANGED
|
@@ -330,6 +330,9 @@ const updateUserProfileFields = (jwt, environmentId, fields) => _tslib.__awaiter
|
|
|
330
330
|
else if (error.code === 'username_already_exists') {
|
|
331
331
|
throw new utils.UsernameAlreadyExistsError();
|
|
332
332
|
}
|
|
333
|
+
else if (error.code === 'too_many_verification_attempts') {
|
|
334
|
+
throw new utils.TooManyEmailVerificationsError();
|
|
335
|
+
}
|
|
333
336
|
}
|
|
334
337
|
throw e;
|
|
335
338
|
}
|
package/src/lib/data/api.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __awaiter } from '../../../_virtual/_tslib.js';
|
|
2
|
-
import { NoAccessError, AccountExistsError, EmailVerificationError, UserHasAccountWithEmailError, DynamicError, EmailAlreadyExistsError, UsernameAlreadyExistsError, WalletUsedError, WalletNotDeployedError, ChainalysisError, GateBlockedError, EmailProviderError, SocialAccountAlreadyExistsError } from '@dynamic-labs/utils';
|
|
2
|
+
import { NoAccessError, AccountExistsError, EmailVerificationError, UserHasAccountWithEmailError, DynamicError, EmailAlreadyExistsError, UsernameAlreadyExistsError, TooManyEmailVerificationsError, WalletUsedError, WalletNotDeployedError, ChainalysisError, GateBlockedError, EmailProviderError, SocialAccountAlreadyExistsError } from '@dynamic-labs/utils';
|
|
3
3
|
import { UnprocessableEntityErrorCode, SDKApi, Configuration, VerifyRequestFromJSON, ChainEnum, WalletProviderEnum, AuthModeEnum, EmbeddedWalletProviderEnum } from '@dynamic-labs/sdk-api';
|
|
4
4
|
import { VERSION, API_VERSION } from '../../version.js';
|
|
5
5
|
import ApiEndpoint from '../config/ApiEndpoint.js';
|
|
@@ -326,6 +326,9 @@ const updateUserProfileFields = (jwt, environmentId, fields) => __awaiter(void 0
|
|
|
326
326
|
else if (error.code === 'username_already_exists') {
|
|
327
327
|
throw new UsernameAlreadyExistsError();
|
|
328
328
|
}
|
|
329
|
+
else if (error.code === 'too_many_verification_attempts') {
|
|
330
|
+
throw new TooManyEmailVerificationsError();
|
|
331
|
+
}
|
|
329
332
|
}
|
|
330
333
|
throw e;
|
|
331
334
|
}
|
|
@@ -90,7 +90,7 @@ const DynamicAuthLayout = ({ children, className, style, onClose, projectSetting
|
|
|
90
90
|
view: view.type,
|
|
91
91
|
});
|
|
92
92
|
const { showConnectedWalletProgress, showHeader, showHelpContent, showToSFooter, showDynamicFooter, } = useAuthLayoutChecks.useAuthLayoutChecks();
|
|
93
|
-
return (jsxRuntime.jsx(OverlayCardTarget.OverlayCardTarget, { children: jsxRuntime.jsxs(VerticalAccordion.VerticalAccordion, { style: style, className: className, children: [jsxRuntime.jsxs(AccordionItem.AccordionItem, { isOpen: !isFooterExpanded, dimOnHide: true, children: [showConnectedWalletProgress && !hideBridgeProgressSteppers && (jsxRuntime.jsx(WalletProgressStepper.WalletProgressStepper, {})), showHeader && (jsxRuntime.jsx(header.Header, { onClose: onClose, heading: (headerData === null || headerData === void 0 ? void 0 : headerData.heading) || '', projectSettings: projectSettings, copykey: headerData === null || headerData === void 0 ? void 0 : headerData.copykey })), children,
|
|
93
|
+
return (jsxRuntime.jsx(OverlayCardTarget.OverlayCardTarget, { children: jsxRuntime.jsxs(VerticalAccordion.VerticalAccordion, { style: style, className: className, children: [jsxRuntime.jsxs(AccordionItem.AccordionItem, { isOpen: !isFooterExpanded, dimOnHide: true, children: [showConnectedWalletProgress && !hideBridgeProgressSteppers && (jsxRuntime.jsx(WalletProgressStepper.WalletProgressStepper, {})), showHeader && (jsxRuntime.jsx(header.Header, { onClose: onClose, heading: (headerData === null || headerData === void 0 ? void 0 : headerData.heading) || '', projectSettings: projectSettings, copykey: headerData === null || headerData === void 0 ? void 0 : headerData.copykey })), children, showToSFooter && jsxRuntime.jsx(ToSFooter.ToSFooter, {}), showDynamicFooter && jsxRuntime.jsx(DynamicFooter.DynamicFooter, {})] }), helpHeaderData && showHelpContent && (jsxRuntime.jsx(AccordionItem.AccordionItem, { isOpen: isFooterExpanded, children: jsxRuntime.jsx("div", { children: jsxRuntime.jsx(HelpContent.HelpContent, {}) }, isFooterExpanded.toString()) }))] }) }));
|
|
94
94
|
};
|
|
95
95
|
|
|
96
96
|
exports.DynamicAuthLayout = DynamicAuthLayout;
|
|
@@ -86,7 +86,7 @@ const DynamicAuthLayout = ({ children, className, style, onClose, projectSetting
|
|
|
86
86
|
view: view.type,
|
|
87
87
|
});
|
|
88
88
|
const { showConnectedWalletProgress, showHeader, showHelpContent, showToSFooter, showDynamicFooter, } = useAuthLayoutChecks();
|
|
89
|
-
return (jsx(OverlayCardTarget, { children: jsxs(VerticalAccordion, { style: style, className: className, children: [jsxs(AccordionItem, { isOpen: !isFooterExpanded, dimOnHide: true, children: [showConnectedWalletProgress && !hideBridgeProgressSteppers && (jsx(WalletProgressStepper, {})), showHeader && (jsx(Header, { onClose: onClose, heading: (headerData === null || headerData === void 0 ? void 0 : headerData.heading) || '', projectSettings: projectSettings, copykey: headerData === null || headerData === void 0 ? void 0 : headerData.copykey })), children,
|
|
89
|
+
return (jsx(OverlayCardTarget, { children: jsxs(VerticalAccordion, { style: style, className: className, children: [jsxs(AccordionItem, { isOpen: !isFooterExpanded, dimOnHide: true, children: [showConnectedWalletProgress && !hideBridgeProgressSteppers && (jsx(WalletProgressStepper, {})), showHeader && (jsx(Header, { onClose: onClose, heading: (headerData === null || headerData === void 0 ? void 0 : headerData.heading) || '', projectSettings: projectSettings, copykey: headerData === null || headerData === void 0 ? void 0 : headerData.copykey })), children, showToSFooter && jsx(ToSFooter, {}), showDynamicFooter && jsx(DynamicFooter, {})] }), helpHeaderData && showHelpContent && (jsx(AccordionItem, { isOpen: isFooterExpanded, children: jsx("div", { children: jsx(HelpContent, {}) }, isFooterExpanded.toString()) }))] }) }));
|
|
90
90
|
};
|
|
91
91
|
|
|
92
92
|
export { DynamicAuthLayout };
|
|
@@ -14,7 +14,7 @@ const NEWTOWEB3_WALLET_EXTENSION_FLAG_KEY = 'dynamic_newtoweb3_wallet_extension_
|
|
|
14
14
|
const CONNECTED_WALLETS_INFO = 'dynamic_connected_wallets';
|
|
15
15
|
const AUTH_MODE = 'dynamic_auth_mode';
|
|
16
16
|
const CONNECTED_WALLET_NAME_SERVICE = 'dynamic_connected_wallet_ns';
|
|
17
|
-
const
|
|
17
|
+
const BRIDGE_ONBOARDING_COMPLETED = 'dynamic_bridge_onboarding_completed';
|
|
18
18
|
const IS_MULTI_WALLET_ENABLED = 'dynamic_multi_wallet_enabled';
|
|
19
19
|
const DYNAMIC_CONTEXT_LAST_SESSION_SETTINGS = 'dynamic_context_session_settings';
|
|
20
20
|
const WAGMI_LAST_SESSION_SETTINGS = 'dynamic_wagmi_session_settings';
|
|
@@ -24,12 +24,12 @@ const EMBEDDED_WALLET_SECURE_BANNER = 'dynamic_embedded_secure_banner';
|
|
|
24
24
|
exports.AUTH_MODE = AUTH_MODE;
|
|
25
25
|
exports.AUTH_TOKEN = AUTH_TOKEN;
|
|
26
26
|
exports.AUTH_USER = AUTH_USER;
|
|
27
|
+
exports.BRIDGE_ONBOARDING_COMPLETED = BRIDGE_ONBOARDING_COMPLETED;
|
|
27
28
|
exports.CONNECTED_WALLETS_INFO = CONNECTED_WALLETS_INFO;
|
|
28
29
|
exports.CONNECTED_WALLET_NAME_SERVICE = CONNECTED_WALLET_NAME_SERVICE;
|
|
29
30
|
exports.DYNAMIC_CONTEXT_LAST_SESSION_SETTINGS = DYNAMIC_CONTEXT_LAST_SESSION_SETTINGS;
|
|
30
31
|
exports.EMBEDDED_WALLET_SECURE_BANNER = EMBEDDED_WALLET_SECURE_BANNER;
|
|
31
32
|
exports.EMBEDDED_WALLET_SESSION_SETTINGS = EMBEDDED_WALLET_SESSION_SETTINGS;
|
|
32
|
-
exports.IS_FULLY_CONNECTED = IS_FULLY_CONNECTED;
|
|
33
33
|
exports.IS_MULTI_WALLET_ENABLED = IS_MULTI_WALLET_ENABLED;
|
|
34
34
|
exports.LAST_USED_WALLET = LAST_USED_WALLET;
|
|
35
35
|
exports.NETWORKS_STORAGE_KEY = NETWORKS_STORAGE_KEY;
|
|
@@ -11,7 +11,7 @@ export declare const NEWTOWEB3_WALLET_EXTENSION_FLAG_KEY = "dynamic_newtoweb3_wa
|
|
|
11
11
|
export declare const CONNECTED_WALLETS_INFO = "dynamic_connected_wallets";
|
|
12
12
|
export declare const AUTH_MODE = "dynamic_auth_mode";
|
|
13
13
|
export declare const CONNECTED_WALLET_NAME_SERVICE = "dynamic_connected_wallet_ns";
|
|
14
|
-
export declare const
|
|
14
|
+
export declare const BRIDGE_ONBOARDING_COMPLETED = "dynamic_bridge_onboarding_completed";
|
|
15
15
|
export declare const IS_MULTI_WALLET_ENABLED = "dynamic_multi_wallet_enabled";
|
|
16
16
|
export declare const DYNAMIC_CONTEXT_LAST_SESSION_SETTINGS = "dynamic_context_session_settings";
|
|
17
17
|
export declare const WAGMI_LAST_SESSION_SETTINGS = "dynamic_wagmi_session_settings";
|
|
@@ -10,11 +10,11 @@ const NEWTOWEB3_WALLET_EXTENSION_FLAG_KEY = 'dynamic_newtoweb3_wallet_extension_
|
|
|
10
10
|
const CONNECTED_WALLETS_INFO = 'dynamic_connected_wallets';
|
|
11
11
|
const AUTH_MODE = 'dynamic_auth_mode';
|
|
12
12
|
const CONNECTED_WALLET_NAME_SERVICE = 'dynamic_connected_wallet_ns';
|
|
13
|
-
const
|
|
13
|
+
const BRIDGE_ONBOARDING_COMPLETED = 'dynamic_bridge_onboarding_completed';
|
|
14
14
|
const IS_MULTI_WALLET_ENABLED = 'dynamic_multi_wallet_enabled';
|
|
15
15
|
const DYNAMIC_CONTEXT_LAST_SESSION_SETTINGS = 'dynamic_context_session_settings';
|
|
16
16
|
const WAGMI_LAST_SESSION_SETTINGS = 'dynamic_wagmi_session_settings';
|
|
17
17
|
const EMBEDDED_WALLET_SESSION_SETTINGS = 'dynamic_embedded_wallet_session_settings';
|
|
18
18
|
const EMBEDDED_WALLET_SECURE_BANNER = 'dynamic_embedded_secure_banner';
|
|
19
19
|
|
|
20
|
-
export { AUTH_MODE, AUTH_TOKEN, AUTH_USER, CONNECTED_WALLETS_INFO, CONNECTED_WALLET_NAME_SERVICE, DYNAMIC_CONTEXT_LAST_SESSION_SETTINGS, EMBEDDED_WALLET_SECURE_BANNER, EMBEDDED_WALLET_SESSION_SETTINGS,
|
|
20
|
+
export { AUTH_MODE, AUTH_TOKEN, AUTH_USER, BRIDGE_ONBOARDING_COMPLETED, CONNECTED_WALLETS_INFO, CONNECTED_WALLET_NAME_SERVICE, DYNAMIC_CONTEXT_LAST_SESSION_SETTINGS, EMBEDDED_WALLET_SECURE_BANNER, EMBEDDED_WALLET_SESSION_SETTINGS, IS_MULTI_WALLET_ENABLED, LAST_USED_WALLET, NETWORKS_STORAGE_KEY, NEWTOWEB3_WALLET_EXTENSION_FLAG_KEY, NONCE_STORAGE_KEY, PRIMARY_WALLET_ID, PROJECT_SETTINGS_STORAGE_KEY, WAGMI_LAST_SESSION_SETTINGS, WALLET_PICKER_SEARCH_KEY };
|
|
@@ -44,3 +44,4 @@ export { useWalletConnectorNetwork } from './useWalletConnectorNetwork';
|
|
|
44
44
|
export { useInitEmbeddedWalletAuthMethod } from './useInitEmbeddedWalletAuthMethod';
|
|
45
45
|
export { useEmbeddedWalletAuthenticator } from './useEmbeddedWalletAuthenticator';
|
|
46
46
|
export { useViewSettings } from './useViewSettings';
|
|
47
|
+
export { useNetworkNotSupported } from './useNetworkNotSupported';
|
|
@@ -142,7 +142,10 @@ const useAuthLayoutChecks = () => {
|
|
|
142
142
|
privacyPolicyUrl ||
|
|
143
143
|
customPrivacyPolicy ||
|
|
144
144
|
customTermsOfServices))));
|
|
145
|
-
const showDynamicFooter = view.type === 'login-with-email-
|
|
145
|
+
const showDynamicFooter = view.type === 'login-with-email-or-wallet' ||
|
|
146
|
+
view.type === 'login-with-email-or-wallet-full-wallet-list' ||
|
|
147
|
+
view.type === 'login-with-wallet-only' ||
|
|
148
|
+
view.type === 'login-with-email-verification' ||
|
|
146
149
|
view.type === 'verify-email' ||
|
|
147
150
|
view.type === 'pending-connect' ||
|
|
148
151
|
view.type === 'wallet-group' ||
|
|
@@ -138,7 +138,10 @@ const useAuthLayoutChecks = () => {
|
|
|
138
138
|
privacyPolicyUrl ||
|
|
139
139
|
customPrivacyPolicy ||
|
|
140
140
|
customTermsOfServices))));
|
|
141
|
-
const showDynamicFooter = view.type === 'login-with-email-
|
|
141
|
+
const showDynamicFooter = view.type === 'login-with-email-or-wallet' ||
|
|
142
|
+
view.type === 'login-with-email-or-wallet-full-wallet-list' ||
|
|
143
|
+
view.type === 'login-with-wallet-only' ||
|
|
144
|
+
view.type === 'login-with-email-verification' ||
|
|
142
145
|
view.type === 'verify-email' ||
|
|
143
146
|
view.type === 'pending-connect' ||
|
|
144
147
|
view.type === 'wallet-group' ||
|
|
@@ -30,7 +30,7 @@ var isConnectOnly = require('../authenticationHooks/helpers/isConnectOnly.cjs');
|
|
|
30
30
|
var dynamicEvents = require('../../../events/dynamicEvents.cjs');
|
|
31
31
|
var updateUserWalletsFromConnectedWallets = require('./updateUserWalletsFromConnectedWallets/updateUserWalletsFromConnectedWallets.cjs');
|
|
32
32
|
|
|
33
|
-
const useConnectWallet = ({ authMode, clearPrimaryWalletId, enableVisitTrackingOnConnectOnly, environmentId, primaryWalletId, setPrimaryWalletId, walletConnectorOptions, onDisconnect, onBeforeConnectSuccessConfirmation,
|
|
33
|
+
const useConnectWallet = ({ authMode, clearPrimaryWalletId, enableVisitTrackingOnConnectOnly, environmentId, primaryWalletId, setPrimaryWalletId, walletConnectorOptions, onDisconnect, onBeforeConnectSuccessConfirmation, setShowAuthFlow, isBridgeFlow, setIsVerificationInProgress, user, }) => {
|
|
34
34
|
const [connectedWalletsInfo, setConnectedWalletsInfo, removeConnectedWalletsInfo,] = useLocalStorage.useLocalStorage(localStorage.CONNECTED_WALLETS_INFO, []);
|
|
35
35
|
const [connectedWallets, _setConnectedWallets] = React.useState([]);
|
|
36
36
|
/**
|
|
@@ -51,10 +51,7 @@ const useConnectWallet = ({ authMode, clearPrimaryWalletId, enableVisitTrackingO
|
|
|
51
51
|
yield (walletToDisconnect === null || walletToDisconnect === void 0 ? void 0 : walletToDisconnect.connector.endSession());
|
|
52
52
|
const updatedConnectedWalletsInfo = connectedWalletsInfo.filter((wallet) => wallet.id !== walletId);
|
|
53
53
|
setConnectedWalletsInfo(updatedConnectedWalletsInfo);
|
|
54
|
-
|
|
55
|
-
removeIsFullyConnected();
|
|
56
|
-
}
|
|
57
|
-
onDisconnect(updatedConnectedWalletsInfo, walletToDisconnect);
|
|
54
|
+
onDisconnect(walletToDisconnect);
|
|
58
55
|
if (walletId !== primaryWalletId) {
|
|
59
56
|
return;
|
|
60
57
|
}
|
|
@@ -72,7 +69,6 @@ const useConnectWallet = ({ authMode, clearPrimaryWalletId, enableVisitTrackingO
|
|
|
72
69
|
isBridgeFlow,
|
|
73
70
|
onDisconnect,
|
|
74
71
|
primaryWalletId,
|
|
75
|
-
removeIsFullyConnected,
|
|
76
72
|
setConnectedWalletsInfo,
|
|
77
73
|
setPrimaryWalletId,
|
|
78
74
|
]);
|
|
@@ -16,9 +16,8 @@ export type UseConnectWalletProps = {
|
|
|
16
16
|
primaryWalletId: string | undefined;
|
|
17
17
|
setPrimaryWalletId: (walletId: string) => void;
|
|
18
18
|
walletConnectorOptions: WalletOption[];
|
|
19
|
-
onDisconnect: (
|
|
19
|
+
onDisconnect: (wallet?: Wallet) => void;
|
|
20
20
|
onBeforeConnectSuccessConfirmation: OnBeforeConnectSuccessConfirmation | undefined;
|
|
21
|
-
removeIsFullyConnected: () => void;
|
|
22
21
|
setShowAuthFlow: SetShowAuthFlow;
|
|
23
22
|
isBridgeFlow: boolean;
|
|
24
23
|
setIsVerificationInProgress: (newValue: boolean, checkWasSetOnDisable?: boolean | undefined) => void;
|
|
@@ -42,5 +41,5 @@ type UseConnectWalletValue = {
|
|
|
42
41
|
removeConnectedWalletsInfo: () => void;
|
|
43
42
|
disconnectWallet: (walletId: string) => Promise<void>;
|
|
44
43
|
};
|
|
45
|
-
export declare const useConnectWallet: ({ authMode, clearPrimaryWalletId, enableVisitTrackingOnConnectOnly, environmentId, primaryWalletId, setPrimaryWalletId, walletConnectorOptions, onDisconnect, onBeforeConnectSuccessConfirmation,
|
|
44
|
+
export declare const useConnectWallet: ({ authMode, clearPrimaryWalletId, enableVisitTrackingOnConnectOnly, environmentId, primaryWalletId, setPrimaryWalletId, walletConnectorOptions, onDisconnect, onBeforeConnectSuccessConfirmation, setShowAuthFlow, isBridgeFlow, setIsVerificationInProgress, user, }: UseConnectWalletProps) => UseConnectWalletValue;
|
|
46
45
|
export {};
|
|
@@ -26,7 +26,7 @@ import { isConnectOnly } from '../authenticationHooks/helpers/isConnectOnly.js';
|
|
|
26
26
|
import { dynamicEvents } from '../../../events/dynamicEvents.js';
|
|
27
27
|
import { updateUserWalletsFromConnectedWallets } from './updateUserWalletsFromConnectedWallets/updateUserWalletsFromConnectedWallets.js';
|
|
28
28
|
|
|
29
|
-
const useConnectWallet = ({ authMode, clearPrimaryWalletId, enableVisitTrackingOnConnectOnly, environmentId, primaryWalletId, setPrimaryWalletId, walletConnectorOptions, onDisconnect, onBeforeConnectSuccessConfirmation,
|
|
29
|
+
const useConnectWallet = ({ authMode, clearPrimaryWalletId, enableVisitTrackingOnConnectOnly, environmentId, primaryWalletId, setPrimaryWalletId, walletConnectorOptions, onDisconnect, onBeforeConnectSuccessConfirmation, setShowAuthFlow, isBridgeFlow, setIsVerificationInProgress, user, }) => {
|
|
30
30
|
const [connectedWalletsInfo, setConnectedWalletsInfo, removeConnectedWalletsInfo,] = useLocalStorage(CONNECTED_WALLETS_INFO, []);
|
|
31
31
|
const [connectedWallets, _setConnectedWallets] = useState([]);
|
|
32
32
|
/**
|
|
@@ -47,10 +47,7 @@ const useConnectWallet = ({ authMode, clearPrimaryWalletId, enableVisitTrackingO
|
|
|
47
47
|
yield (walletToDisconnect === null || walletToDisconnect === void 0 ? void 0 : walletToDisconnect.connector.endSession());
|
|
48
48
|
const updatedConnectedWalletsInfo = connectedWalletsInfo.filter((wallet) => wallet.id !== walletId);
|
|
49
49
|
setConnectedWalletsInfo(updatedConnectedWalletsInfo);
|
|
50
|
-
|
|
51
|
-
removeIsFullyConnected();
|
|
52
|
-
}
|
|
53
|
-
onDisconnect(updatedConnectedWalletsInfo, walletToDisconnect);
|
|
50
|
+
onDisconnect(walletToDisconnect);
|
|
54
51
|
if (walletId !== primaryWalletId) {
|
|
55
52
|
return;
|
|
56
53
|
}
|
|
@@ -68,7 +65,6 @@ const useConnectWallet = ({ authMode, clearPrimaryWalletId, enableVisitTrackingO
|
|
|
68
65
|
isBridgeFlow,
|
|
69
66
|
onDisconnect,
|
|
70
67
|
primaryWalletId,
|
|
71
|
-
removeIsFullyConnected,
|
|
72
68
|
setConnectedWalletsInfo,
|
|
73
69
|
setPrimaryWalletId,
|
|
74
70
|
]);
|