@dynamic-labs/sdk-react-core 1.4.2 → 1.4.4
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 +20 -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/components/DynamicFooter/DynamicFooter.cjs +8 -1
- package/src/lib/components/DynamicFooter/DynamicFooter.js +8 -1
- package/src/lib/components/Toolkit/Toolkit.cjs +2 -3
- package/src/lib/components/Toolkit/Toolkit.js +2 -3
- package/src/lib/components/Toolkit/components/index.d.ts +0 -1
- package/src/lib/context/DynamicContext/DynamicContext.cjs +28 -33
- package/src/lib/context/DynamicContext/DynamicContext.js +30 -35
- 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/index.d.ts +1 -0
- package/src/lib/context/DynamicContext/hooks/useHandleLogout/types.d.ts +1 -3
- package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.cjs +1 -5
- package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.js +2 -6
- package/src/lib/context/DynamicContext/hooks/useMultiWallet/useMultiWallet.cjs +15 -0
- package/src/lib/context/DynamicContext/hooks/useMultiWallet/useMultiWallet.d.ts +6 -0
- package/src/lib/context/DynamicContext/hooks/useMultiWallet/useMultiWallet.js +11 -0
- 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 +9 -3
- package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.cjs +4 -2
- package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.js +4 -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/main.global.cjs +1 -1
- package/src/lib/main.global.js +1 -1
- package/src/lib/shared/utils/hooks/usePreventPageScroll/usePreventPageScroll.cjs +0 -10
- package/src/lib/shared/utils/hooks/usePreventPageScroll/usePreventPageScroll.js +0 -10
- package/src/lib/styles/index.shadow.cjs +1 -1
- package/src/lib/styles/index.shadow.js +1 -1
- package/src/lib/utils/constants/index.d.ts +1 -1
- package/src/lib/utils/constants/localStorage.cjs +2 -4
- package/src/lib/utils/constants/localStorage.d.ts +1 -2
- package/src/lib/utils/constants/localStorage.js +2 -3
- package/src/lib/utils/functions/walletListBuilder/utils/getCalculatedOffset/getCalculatedOffset.cjs +9 -4
- package/src/lib/utils/functions/walletListBuilder/utils/getCalculatedOffset/getCalculatedOffset.js +9 -4
- package/src/lib/utils/functions/walletListBuilder/walletListBuilder.cjs +24 -15
- package/src/lib/utils/functions/walletListBuilder/walletListBuilder.d.ts +13 -0
- package/src/lib/utils/functions/walletListBuilder/walletListBuilder.js +24 -16
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.cjs +16 -1
- package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.js +16 -1
- package/src/lib/utils/hooks/index.d.ts +1 -0
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +6 -1
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.d.ts +1 -0
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +6 -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
- package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedAuthFlow/DynamicEmbeddedAuthFlow.cjs +11 -1
- package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedAuthFlow/DynamicEmbeddedAuthFlow.js +11 -1
- package/src/lib/components/Toolkit/components/MultiWalletSwitch.cjs +0 -18
- package/src/lib/components/Toolkit/components/MultiWalletSwitch.d.ts +0 -6
- package/src/lib/components/Toolkit/components/MultiWalletSwitch.js +0 -14
- package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.cjs +0 -39
- package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.d.ts +0 -9
- package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.js +0 -35
- /package/src/lib/{utils/hooks/multiWallet → context/DynamicContext/hooks}/useMultiWallet/index.d.ts +0 -0
|
@@ -79,7 +79,6 @@ var locale = require('../../locale/locale.cjs');
|
|
|
79
79
|
var getMissingChains = require('../../utils/functions/getMissingChains/getMissingChains.cjs');
|
|
80
80
|
var parseTheme = require('../../utils/functions/parseTheme/parseTheme.cjs');
|
|
81
81
|
var useMultiWalletWidgetState = require('../../utils/hooks/multiWallet/useMultiWalletWidgetState/useMultiWalletWidgetState.cjs');
|
|
82
|
-
var useMultiWallet = require('../../utils/hooks/multiWallet/useMultiWallet/useMultiWallet.cjs');
|
|
83
82
|
var useClearWalletConnectSessions = require('../../utils/hooks/useClearWalletConnectSessions/useClearWalletConnectSessions.cjs');
|
|
84
83
|
var useConnectWallet = require('../../utils/hooks/useConnectWallet/useConnectWallet.cjs');
|
|
85
84
|
var useFetchWalletsForChainsMap = require('../../utils/hooks/useFetchWalletsForChainsMap/useFetchWalletsForChainsMap.cjs');
|
|
@@ -117,6 +116,7 @@ var useShowAuthFlow = require('./hooks/useShowAuthFlow/useShowAuthFlow.cjs');
|
|
|
117
116
|
var usePasskeySuccessPopup = require('./hooks/usePasskeySuccessPopup/usePasskeySuccessPopup.cjs');
|
|
118
117
|
var useTieCallbacksToEvents = require('./hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.cjs');
|
|
119
118
|
var useVerificationInProgress = require('./hooks/useVerificationInProgress/useVerificationInProgress.cjs');
|
|
119
|
+
var useMultiWallet = require('./hooks/useMultiWallet/useMultiWallet.cjs');
|
|
120
120
|
var useSetShowLinkNewWalletModal = require('./hooks/useSetShowLinkNewWalletModal/useSetShowLinkNewWalletModal.cjs');
|
|
121
121
|
var useCustomerCallbacks = require('./useCustomerCallbacks/useCustomerCallbacks.cjs');
|
|
122
122
|
var validators = require('./validators/validators.cjs');
|
|
@@ -126,7 +126,7 @@ const EMPTY_INITIAL_USER = undefined;
|
|
|
126
126
|
const DynamicContext = React.createContext(undefined);
|
|
127
127
|
/** The context provider itself we only use internally */
|
|
128
128
|
const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale$1, }) => {
|
|
129
|
-
var _a, _b, _c, _d, _e, _f;
|
|
129
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
130
130
|
const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, enableConnectOnlyFallback = false, deepLinkPreference = 'native', bridgeChains, 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', mobileExperience = 'in-app-browser', notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, socialProvidersFilter, showLockedWalletView = false, walletConnectPreferredChains, walletConnectorExtensions, hideEmbeddedWalletTransactionUIs, } = settings;
|
|
131
131
|
const networkValidationMode = helpers.resolveNetworkValidationMode({
|
|
132
132
|
bridgeChains: settings.bridgeChains,
|
|
@@ -151,8 +151,8 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
151
151
|
const [onboardingOnlyJwt, setOnboardingOnlyJwt] = React.useState(undefined);
|
|
152
152
|
// state to track the full connectivity status of the individual's wallets.
|
|
153
153
|
// Set to true once the predetermined number of wallets is connected.
|
|
154
|
-
const [
|
|
155
|
-
const [
|
|
154
|
+
const [bridgeOnboardingCompleted, setBridgeOnboardingCompleted, removeBridgeOnboardingCompleted,] = useLocalStorage.useLocalStorage(localStorage$1.BRIDGE_ONBOARDING_COMPLETED, false);
|
|
155
|
+
const [isFullyConnected, setIsFullyConnected] = React.useState(false);
|
|
156
156
|
// Allows clients to control widget flow without need to click on AccountControl
|
|
157
157
|
const [showDynamicUserProfile, setShowDynamicUserProfile] = React.useState(false);
|
|
158
158
|
// Alows clients to control the Bridget Widget flow without need to click on Bridge Widget
|
|
@@ -168,10 +168,10 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
168
168
|
dynamicContextProps: { settings },
|
|
169
169
|
environmentId,
|
|
170
170
|
});
|
|
171
|
-
const
|
|
171
|
+
const multiWallet = useMultiWallet.useMultiWallet({
|
|
172
172
|
isBridgeFlow,
|
|
173
|
-
|
|
174
|
-
|
|
173
|
+
multiWalletOverride: (_b = settings.overrides) === null || _b === void 0 ? void 0 : _b.multiWallet,
|
|
174
|
+
multiWalletSettings: (_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _c === void 0 ? void 0 : _c.multiWallet,
|
|
175
175
|
});
|
|
176
176
|
// ensures that when user comes back to site and primary wallet is out of sync, we don't show widget popup
|
|
177
177
|
const [showWidgetStatePopup, setShowWidgetStatePopup] = React.useState(!multiWallet);
|
|
@@ -229,30 +229,23 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
229
229
|
environmentId,
|
|
230
230
|
isBridgeFlow,
|
|
231
231
|
onBeforeConnectSuccessConfirmation: eventsCallbacks === null || eventsCallbacks === void 0 ? void 0 : eventsCallbacks.onBeforeConnectSuccessConfirmation,
|
|
232
|
-
onDisconnect: (
|
|
233
|
-
bridgeChains,
|
|
234
|
-
connectedWalletsInfo,
|
|
232
|
+
onDisconnect: (wallet) => handleDisconnectWallet.handleDisconnectWallet({
|
|
235
233
|
eventsCallbacks,
|
|
236
|
-
setBridgeChainsToConnect,
|
|
237
234
|
wallet,
|
|
238
235
|
}),
|
|
239
236
|
primaryWalletId,
|
|
240
|
-
removeIsFullyConnected,
|
|
241
237
|
setIsVerificationInProgress,
|
|
242
238
|
setPrimaryWalletId,
|
|
243
239
|
setShowAuthFlow,
|
|
244
240
|
user,
|
|
245
241
|
walletConnectorOptions,
|
|
246
242
|
});
|
|
247
|
-
React.
|
|
248
|
-
const missingChains = getMissingChains.getMissingChains(bridgeChains, connectedWalletsInfo);
|
|
249
|
-
setBridgeChainsToConnect(missingChains);
|
|
250
|
-
}, [bridgeChains]);
|
|
243
|
+
const bridgeChainsToConnect = React.useMemo(() => getMissingChains.getMissingChains(bridgeChains, connectedWalletsInfo), [bridgeChains, connectedWalletsInfo]);
|
|
251
244
|
const { selectedWalletConnector, setSelectedWalletConnectorKey } = useSelectedWalletConnector.useSelectedWalletConnector({ walletConnectorOptions });
|
|
252
245
|
//selected wallet to perform an action (become primary, unlink, etc)
|
|
253
246
|
const [selectedWalletWithAction, setSelectedWalletWithAction] = React.useState(null);
|
|
254
247
|
// until user completes onboarding, jwt is only stored in onboardingOnlyJwt
|
|
255
|
-
const authToken = (
|
|
248
|
+
const authToken = (_d = getAuthToken.getAuthToken()) !== null && _d !== void 0 ? _d : onboardingOnlyJwt;
|
|
256
249
|
useSetWalletConnectorVerifiedCredentials.useSetWalletConnectorVerifiedCredentials(authToken, walletConnectorOptions);
|
|
257
250
|
const { didConnectedStateLoad, primaryWallet, showQrcodeModal, secondaryWallets, setPrimaryWallet, setShowQrcodeModal, wallets: linkedOrConnectedWallets, } = useWalletConnectors.useWalletConnectors({
|
|
258
251
|
authMode,
|
|
@@ -269,6 +262,9 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
269
262
|
user,
|
|
270
263
|
walletConnectorOptions,
|
|
271
264
|
});
|
|
265
|
+
React.useEffect(() => {
|
|
266
|
+
setIsFullyConnected(!(bridgeChainsToConnect === null || bridgeChainsToConnect === void 0 ? void 0 : bridgeChainsToConnect.length) && Boolean(primaryWallet));
|
|
267
|
+
}, [bridgeChainsToConnect, primaryWallet]);
|
|
272
268
|
const walletConnectors = linkedOrConnectedWallets.map((wallet) => wallet.connector);
|
|
273
269
|
const { sdkHasLoaded, setSdkHasLoaded } = useGlobalLoading.useGlobalLoading({
|
|
274
270
|
authMode,
|
|
@@ -301,14 +297,13 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
301
297
|
handleRemoveLsNetworks,
|
|
302
298
|
initialAuthenticationMode,
|
|
303
299
|
isVerificationInProgress,
|
|
300
|
+
removeBridgeOnboardingCompleted,
|
|
304
301
|
removeConnectedNameService,
|
|
305
302
|
removeConnectedWalletsInfo,
|
|
306
|
-
removeIsFullyConnected,
|
|
307
303
|
removeLsSettings,
|
|
308
304
|
removeUser,
|
|
309
305
|
resetLoginWithEmail,
|
|
310
306
|
setAuthMode,
|
|
311
|
-
setBridgeChainsToConnect,
|
|
312
307
|
setIsVerificationInProgress,
|
|
313
308
|
setLegacyIsVerifying,
|
|
314
309
|
setMultiWalletWidgetState,
|
|
@@ -317,14 +312,13 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
317
312
|
setShowAuthFlow,
|
|
318
313
|
setShowBridgeWidget,
|
|
319
314
|
setShowDynamicUserProfile,
|
|
320
|
-
toolkitEnabled,
|
|
321
315
|
user,
|
|
322
316
|
walletConnectors,
|
|
323
317
|
});
|
|
324
318
|
let wcVersion;
|
|
325
319
|
if (projectSettings) {
|
|
326
320
|
wcVersion =
|
|
327
|
-
((
|
|
321
|
+
((_f = (_e = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _e === void 0 ? void 0 : _e.walletConnect) === null || _f === void 0 ? void 0 : _f.v2Enabled) && !walletConnectV1Bridge
|
|
328
322
|
? 2
|
|
329
323
|
: 1;
|
|
330
324
|
}
|
|
@@ -450,6 +444,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
450
444
|
awaitingSignatureState,
|
|
451
445
|
bridgeChains,
|
|
452
446
|
bridgeChainsToConnect,
|
|
447
|
+
bridgeOnboardingCompleted,
|
|
453
448
|
clearStatesOnBackClick,
|
|
454
449
|
connectWallet,
|
|
455
450
|
connectedWallets,
|
|
@@ -503,6 +498,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
503
498
|
privacyPolicyUrl,
|
|
504
499
|
projectSettings,
|
|
505
500
|
qrcodeUri,
|
|
501
|
+
removeBridgeOnboardingCompleted,
|
|
506
502
|
removeConnectedWalletsInfo,
|
|
507
503
|
rpcProviders,
|
|
508
504
|
sdkHasLoaded,
|
|
@@ -512,15 +508,13 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
512
508
|
sendWagmiSettings,
|
|
513
509
|
setAuthMode,
|
|
514
510
|
setAuthorizationViewDisplayOrder,
|
|
515
|
-
|
|
511
|
+
setBridgeOnboardingCompleted,
|
|
516
512
|
setCallback,
|
|
517
513
|
setDesktopUri,
|
|
518
|
-
setIsFullyConnected,
|
|
519
514
|
setIsSingleWalletAccount,
|
|
520
515
|
setIsVerificationInProgress,
|
|
521
516
|
setLegacyIsVerifying,
|
|
522
517
|
setLogInWithEmail,
|
|
523
|
-
setMultiWallet,
|
|
524
518
|
setMultiWalletWidgetState,
|
|
525
519
|
setNetwork,
|
|
526
520
|
setOnboardingOnlyJwt,
|
|
@@ -572,6 +566,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
572
566
|
awaitingSignatureState,
|
|
573
567
|
bridgeChains,
|
|
574
568
|
bridgeChainsToConnect,
|
|
569
|
+
bridgeOnboardingCompleted,
|
|
575
570
|
clearStatesOnBackClick,
|
|
576
571
|
connectWallet,
|
|
577
572
|
connectedWallets,
|
|
@@ -579,13 +574,13 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
579
574
|
cssOverrides,
|
|
580
575
|
customPrivacyPolicy,
|
|
581
576
|
customTermsOfServices,
|
|
582
|
-
enableConnectOnlyFallback,
|
|
583
577
|
debugError,
|
|
584
578
|
onboardingOnlyJwt,
|
|
585
579
|
defaultNumberOfWalletsToShow,
|
|
586
580
|
desktopUri,
|
|
587
581
|
disconnectWallet,
|
|
588
582
|
displaySiweStatement,
|
|
583
|
+
enableConnectOnlyFallback,
|
|
589
584
|
environmentId,
|
|
590
585
|
eventsCallbacks,
|
|
591
586
|
getConnectedWalletById,
|
|
@@ -601,7 +596,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
601
596
|
isVerificationInProgress,
|
|
602
597
|
legacyIsVerifying,
|
|
603
598
|
user,
|
|
604
|
-
networkValidationMode,
|
|
605
599
|
linkedOrConnectedWallets,
|
|
606
600
|
loadingNetwork,
|
|
607
601
|
loginWithEmail,
|
|
@@ -609,17 +603,21 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
609
603
|
multiWalletWidgetState,
|
|
610
604
|
network,
|
|
611
605
|
serverNetworkConfigurations,
|
|
606
|
+
networkValidationMode,
|
|
612
607
|
walletsForChainsMap,
|
|
613
608
|
imageUserNotInAccessList,
|
|
614
609
|
notInTheListImageUrl,
|
|
615
610
|
imageUserInAccessList,
|
|
616
611
|
onboardingImageUrl,
|
|
612
|
+
settings.overrides,
|
|
613
|
+
passkeySuccessPopup,
|
|
617
614
|
policiesConsentInnerComponent,
|
|
618
615
|
primaryWallet,
|
|
619
616
|
primaryWalletId,
|
|
620
617
|
privacyPolicyUrl,
|
|
621
618
|
projectSettings,
|
|
622
619
|
qrcodeUri,
|
|
620
|
+
removeBridgeOnboardingCompleted,
|
|
623
621
|
removeConnectedWalletsInfo,
|
|
624
622
|
rpcProviders,
|
|
625
623
|
sdkHasLoaded,
|
|
@@ -629,11 +627,10 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
629
627
|
sendWagmiSettings,
|
|
630
628
|
setAuthMode,
|
|
631
629
|
setAuthorizationViewDisplayOrder,
|
|
630
|
+
setBridgeOnboardingCompleted,
|
|
632
631
|
setCallback,
|
|
633
|
-
setIsFullyConnected,
|
|
634
632
|
setIsVerificationInProgress,
|
|
635
633
|
setLogInWithEmail,
|
|
636
|
-
setMultiWallet,
|
|
637
634
|
setMultiWalletWidgetState,
|
|
638
635
|
setNetwork,
|
|
639
636
|
setPrimaryWallet,
|
|
@@ -650,7 +647,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
650
647
|
showBridgeWidget,
|
|
651
648
|
showDynamicUserProfile,
|
|
652
649
|
showLockedWalletView,
|
|
653
|
-
passkeySuccessPopup,
|
|
654
650
|
showQrcodeModal,
|
|
655
651
|
showWidgetStatePopup,
|
|
656
652
|
signWithEmailWalletName,
|
|
@@ -665,7 +661,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
665
661
|
walletConnectorOptions,
|
|
666
662
|
walletUiUtils,
|
|
667
663
|
walletsFilter,
|
|
668
|
-
settings.overrides,
|
|
669
664
|
]);
|
|
670
665
|
React.useEffect(() => {
|
|
671
666
|
const addPrefetch = (attr) => {
|
|
@@ -703,11 +698,11 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale: locale
|
|
|
703
698
|
setShowDynamicUserProfile(true);
|
|
704
699
|
}
|
|
705
700
|
}, [multiWallet, multiWalletWidgetState, showDynamicUserProfile, user]);
|
|
706
|
-
return (jsxRuntime.jsx(reactI18next.I18nextProvider, { i18n: i18nSDKInstance, children: jsxRuntime.jsx(DynamicContext.Provider, { value: value, children: jsxRuntime.jsx(walletBook.WalletBookContextProvider, { walletBook: walletBook$1, children: jsxRuntime.jsx(ThemeContext.ThemeContextProvider, { customerTheme: parseTheme.parseTheme(theme, ((
|
|
701
|
+
return (jsxRuntime.jsx(reactI18next.I18nextProvider, { i18n: i18nSDKInstance, children: jsxRuntime.jsx(DynamicContext.Provider, { value: value, children: jsxRuntime.jsx(walletBook.WalletBookContextProvider, { walletBook: walletBook$1, children: jsxRuntime.jsx(ThemeContext.ThemeContextProvider, { customerTheme: parseTheme.parseTheme(theme, ((_g = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design) === null || _g === void 0 ? void 0 : _g.modal) || undefined), designSettings: projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design, children: jsxRuntime.jsx(LoadingContext.LoadingContextProvider, { children: jsxRuntime.jsxs(ViewContext.ViewContextProvider, { initialView: helpers.getInitialView({
|
|
702
|
+
bridgeOnboardingCompleted,
|
|
707
703
|
connectedWallets,
|
|
708
|
-
isAuthenticated,
|
|
704
|
+
isAuthenticated: isAuthenticated || Boolean(primaryWallet),
|
|
709
705
|
isBridgeFlow,
|
|
710
|
-
isFullyConnected,
|
|
711
706
|
isMultiWalletEnabled: multiWallet,
|
|
712
707
|
}), children: [networkValidationMode === 'always' && jsxRuntime.jsx(UseNetworkValidation.UseNetworkValidation, {}), jsxRuntime.jsx(CaptchaContext.CaptchaContextProvider, { children: jsxRuntime.jsx(AccountExistsContext.AccountExistsContextProvider, { children: jsxRuntime.jsx(WalletContext.WalletContextProvider, { canSync: didConnectedStateLoad, children: jsxRuntime.jsx(PasskeyContext.PasskeyContextProvider, { children: jsxRuntime.jsx(EmailVerificationContext.EmailVerificationContextProvider, { children: jsxRuntime.jsx(DynamicWidgetContext.DynamicWidgetContextProvider, { children: jsxRuntime.jsx(DynamicBridgeWidgetContext.DynamicBridgeWidgetContextProvider, { children: jsxRuntime.jsx(FundingContext.FundingContextProvider, { children: jsxRuntime.jsx(AccessDeniedContext.AccessDeniedContextProvider, { children: jsxRuntime.jsx(SendBalanceContext.SendBalanceContextProvider, { children: jsxRuntime.jsx(WalletGroupContext.WalletGroupContextProvider, { children: jsxRuntime.jsx(UserFieldEditorContext.UserFieldEditorContextProvider, { children: jsxRuntime.jsx(ConnectWithEmailOtpProvider.ConnectWithEmailOtpProvider, { children: jsxRuntime.jsx(PhantomRedirectContext.PhantomRedirectContextProvider, { children: jsxRuntime.jsxs(SocialRedirectContext.SocialRedirectContextProvider, { children: [jsxRuntime.jsx(app.DynamicAuthFlow, {}), jsxRuntime.jsx(Toolkit.Toolkit, {}), jsxRuntime.jsx(FundingWidget.FundingWidget, {}), jsxRuntime.jsx(SyncPasskeyFlow.SyncPasskeyFlow, {}), confirmationModal, children] }) }) }) }) }) }) }) }) }) }) }) }) }) }) })] }) }) }) }) }) }));
|
|
713
708
|
};
|
|
@@ -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';
|
|
@@ -75,7 +75,6 @@ import { Locale } from '../../locale/locale.js';
|
|
|
75
75
|
import { getMissingChains } from '../../utils/functions/getMissingChains/getMissingChains.js';
|
|
76
76
|
import { parseTheme } from '../../utils/functions/parseTheme/parseTheme.js';
|
|
77
77
|
import { useMultiWalletWidgetState } from '../../utils/hooks/multiWallet/useMultiWalletWidgetState/useMultiWalletWidgetState.js';
|
|
78
|
-
import { useMultiWallet } from '../../utils/hooks/multiWallet/useMultiWallet/useMultiWallet.js';
|
|
79
78
|
import { useClearWalletConnectSessions } from '../../utils/hooks/useClearWalletConnectSessions/useClearWalletConnectSessions.js';
|
|
80
79
|
import { useConnectWallet } from '../../utils/hooks/useConnectWallet/useConnectWallet.js';
|
|
81
80
|
import { useFetchWalletsForChainsMap } from '../../utils/hooks/useFetchWalletsForChainsMap/useFetchWalletsForChainsMap.js';
|
|
@@ -113,6 +112,7 @@ import { useShowAuthFlow } from './hooks/useShowAuthFlow/useShowAuthFlow.js';
|
|
|
113
112
|
import { usePasskeySuccessPopup } from './hooks/usePasskeySuccessPopup/usePasskeySuccessPopup.js';
|
|
114
113
|
import { useTieCallbacksToEvents } from './hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.js';
|
|
115
114
|
import { useVerificationInProgress } from './hooks/useVerificationInProgress/useVerificationInProgress.js';
|
|
115
|
+
import { useMultiWallet } from './hooks/useMultiWallet/useMultiWallet.js';
|
|
116
116
|
import { useSetShowLinkNewWalletModal } from './hooks/useSetShowLinkNewWalletModal/useSetShowLinkNewWalletModal.js';
|
|
117
117
|
import { useCustomerCallbacks } from './useCustomerCallbacks/useCustomerCallbacks.js';
|
|
118
118
|
import { validateAuthUser } from './validators/validators.js';
|
|
@@ -122,7 +122,7 @@ const EMPTY_INITIAL_USER = undefined;
|
|
|
122
122
|
const DynamicContext = createContext(undefined);
|
|
123
123
|
/** The context provider itself we only use internally */
|
|
124
124
|
const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) => {
|
|
125
|
-
var _a, _b, _c, _d, _e, _f;
|
|
125
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
126
126
|
const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, enableConnectOnlyFallback = false, deepLinkPreference = 'native', bridgeChains, 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', mobileExperience = 'in-app-browser', notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, socialProvidersFilter, showLockedWalletView = false, walletConnectPreferredChains, walletConnectorExtensions, hideEmbeddedWalletTransactionUIs, } = settings;
|
|
127
127
|
const networkValidationMode = resolveNetworkValidationMode({
|
|
128
128
|
bridgeChains: settings.bridgeChains,
|
|
@@ -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
|
|
@@ -164,10 +164,10 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
164
164
|
dynamicContextProps: { settings },
|
|
165
165
|
environmentId,
|
|
166
166
|
});
|
|
167
|
-
const
|
|
167
|
+
const multiWallet = useMultiWallet({
|
|
168
168
|
isBridgeFlow,
|
|
169
|
-
|
|
170
|
-
|
|
169
|
+
multiWalletOverride: (_b = settings.overrides) === null || _b === void 0 ? void 0 : _b.multiWallet,
|
|
170
|
+
multiWalletSettings: (_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _c === void 0 ? void 0 : _c.multiWallet,
|
|
171
171
|
});
|
|
172
172
|
// ensures that when user comes back to site and primary wallet is out of sync, we don't show widget popup
|
|
173
173
|
const [showWidgetStatePopup, setShowWidgetStatePopup] = useState(!multiWallet);
|
|
@@ -225,30 +225,23 @@ 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);
|
|
250
243
|
// until user completes onboarding, jwt is only stored in onboardingOnlyJwt
|
|
251
|
-
const authToken = (
|
|
244
|
+
const authToken = (_d = getAuthToken()) !== null && _d !== void 0 ? _d : onboardingOnlyJwt;
|
|
252
245
|
useSetWalletConnectorVerifiedCredentials(authToken, walletConnectorOptions);
|
|
253
246
|
const { didConnectedStateLoad, primaryWallet, showQrcodeModal, secondaryWallets, setPrimaryWallet, setShowQrcodeModal, wallets: linkedOrConnectedWallets, } = useWalletConnectors({
|
|
254
247
|
authMode,
|
|
@@ -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,
|
|
@@ -313,14 +308,13 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
313
308
|
setShowAuthFlow,
|
|
314
309
|
setShowBridgeWidget,
|
|
315
310
|
setShowDynamicUserProfile,
|
|
316
|
-
toolkitEnabled,
|
|
317
311
|
user,
|
|
318
312
|
walletConnectors,
|
|
319
313
|
});
|
|
320
314
|
let wcVersion;
|
|
321
315
|
if (projectSettings) {
|
|
322
316
|
wcVersion =
|
|
323
|
-
((
|
|
317
|
+
((_f = (_e = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _e === void 0 ? void 0 : _e.walletConnect) === null || _f === void 0 ? void 0 : _f.v2Enabled) && !walletConnectV1Bridge
|
|
324
318
|
? 2
|
|
325
319
|
: 1;
|
|
326
320
|
}
|
|
@@ -446,6 +440,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
446
440
|
awaitingSignatureState,
|
|
447
441
|
bridgeChains,
|
|
448
442
|
bridgeChainsToConnect,
|
|
443
|
+
bridgeOnboardingCompleted,
|
|
449
444
|
clearStatesOnBackClick,
|
|
450
445
|
connectWallet,
|
|
451
446
|
connectedWallets,
|
|
@@ -499,6 +494,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
499
494
|
privacyPolicyUrl,
|
|
500
495
|
projectSettings,
|
|
501
496
|
qrcodeUri,
|
|
497
|
+
removeBridgeOnboardingCompleted,
|
|
502
498
|
removeConnectedWalletsInfo,
|
|
503
499
|
rpcProviders,
|
|
504
500
|
sdkHasLoaded,
|
|
@@ -508,15 +504,13 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
508
504
|
sendWagmiSettings,
|
|
509
505
|
setAuthMode,
|
|
510
506
|
setAuthorizationViewDisplayOrder,
|
|
511
|
-
|
|
507
|
+
setBridgeOnboardingCompleted,
|
|
512
508
|
setCallback,
|
|
513
509
|
setDesktopUri,
|
|
514
|
-
setIsFullyConnected,
|
|
515
510
|
setIsSingleWalletAccount,
|
|
516
511
|
setIsVerificationInProgress,
|
|
517
512
|
setLegacyIsVerifying,
|
|
518
513
|
setLogInWithEmail,
|
|
519
|
-
setMultiWallet,
|
|
520
514
|
setMultiWalletWidgetState,
|
|
521
515
|
setNetwork,
|
|
522
516
|
setOnboardingOnlyJwt,
|
|
@@ -568,6 +562,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
568
562
|
awaitingSignatureState,
|
|
569
563
|
bridgeChains,
|
|
570
564
|
bridgeChainsToConnect,
|
|
565
|
+
bridgeOnboardingCompleted,
|
|
571
566
|
clearStatesOnBackClick,
|
|
572
567
|
connectWallet,
|
|
573
568
|
connectedWallets,
|
|
@@ -575,13 +570,13 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
575
570
|
cssOverrides,
|
|
576
571
|
customPrivacyPolicy,
|
|
577
572
|
customTermsOfServices,
|
|
578
|
-
enableConnectOnlyFallback,
|
|
579
573
|
debugError,
|
|
580
574
|
onboardingOnlyJwt,
|
|
581
575
|
defaultNumberOfWalletsToShow,
|
|
582
576
|
desktopUri,
|
|
583
577
|
disconnectWallet,
|
|
584
578
|
displaySiweStatement,
|
|
579
|
+
enableConnectOnlyFallback,
|
|
585
580
|
environmentId,
|
|
586
581
|
eventsCallbacks,
|
|
587
582
|
getConnectedWalletById,
|
|
@@ -597,7 +592,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
597
592
|
isVerificationInProgress,
|
|
598
593
|
legacyIsVerifying,
|
|
599
594
|
user,
|
|
600
|
-
networkValidationMode,
|
|
601
595
|
linkedOrConnectedWallets,
|
|
602
596
|
loadingNetwork,
|
|
603
597
|
loginWithEmail,
|
|
@@ -605,17 +599,21 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
605
599
|
multiWalletWidgetState,
|
|
606
600
|
network,
|
|
607
601
|
serverNetworkConfigurations,
|
|
602
|
+
networkValidationMode,
|
|
608
603
|
walletsForChainsMap,
|
|
609
604
|
imageUserNotInAccessList,
|
|
610
605
|
notInTheListImageUrl,
|
|
611
606
|
imageUserInAccessList,
|
|
612
607
|
onboardingImageUrl,
|
|
608
|
+
settings.overrides,
|
|
609
|
+
passkeySuccessPopup,
|
|
613
610
|
policiesConsentInnerComponent,
|
|
614
611
|
primaryWallet,
|
|
615
612
|
primaryWalletId,
|
|
616
613
|
privacyPolicyUrl,
|
|
617
614
|
projectSettings,
|
|
618
615
|
qrcodeUri,
|
|
616
|
+
removeBridgeOnboardingCompleted,
|
|
619
617
|
removeConnectedWalletsInfo,
|
|
620
618
|
rpcProviders,
|
|
621
619
|
sdkHasLoaded,
|
|
@@ -625,11 +623,10 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
625
623
|
sendWagmiSettings,
|
|
626
624
|
setAuthMode,
|
|
627
625
|
setAuthorizationViewDisplayOrder,
|
|
626
|
+
setBridgeOnboardingCompleted,
|
|
628
627
|
setCallback,
|
|
629
|
-
setIsFullyConnected,
|
|
630
628
|
setIsVerificationInProgress,
|
|
631
629
|
setLogInWithEmail,
|
|
632
|
-
setMultiWallet,
|
|
633
630
|
setMultiWalletWidgetState,
|
|
634
631
|
setNetwork,
|
|
635
632
|
setPrimaryWallet,
|
|
@@ -646,7 +643,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
646
643
|
showBridgeWidget,
|
|
647
644
|
showDynamicUserProfile,
|
|
648
645
|
showLockedWalletView,
|
|
649
|
-
passkeySuccessPopup,
|
|
650
646
|
showQrcodeModal,
|
|
651
647
|
showWidgetStatePopup,
|
|
652
648
|
signWithEmailWalletName,
|
|
@@ -661,7 +657,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
661
657
|
walletConnectorOptions,
|
|
662
658
|
walletUiUtils,
|
|
663
659
|
walletsFilter,
|
|
664
|
-
settings.overrides,
|
|
665
660
|
]);
|
|
666
661
|
useEffect(() => {
|
|
667
662
|
const addPrefetch = (attr) => {
|
|
@@ -699,11 +694,11 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
699
694
|
setShowDynamicUserProfile(true);
|
|
700
695
|
}
|
|
701
696
|
}, [multiWallet, multiWalletWidgetState, showDynamicUserProfile, user]);
|
|
702
|
-
return (jsx(I18nextProvider, { i18n: i18nSDKInstance, children: jsx(DynamicContext.Provider, { value: value, children: jsx(WalletBookContextProvider, { walletBook: walletBook, children: jsx(ThemeContextProvider, { customerTheme: parseTheme(theme, ((
|
|
697
|
+
return (jsx(I18nextProvider, { i18n: i18nSDKInstance, children: jsx(DynamicContext.Provider, { value: value, children: jsx(WalletBookContextProvider, { walletBook: walletBook, children: jsx(ThemeContextProvider, { customerTheme: parseTheme(theme, ((_g = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design) === null || _g === void 0 ? void 0 : _g.modal) || undefined), designSettings: projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.design, children: jsx(LoadingContextProvider, { children: jsxs(ViewContextProvider, { initialView: getInitialView({
|
|
698
|
+
bridgeOnboardingCompleted,
|
|
703
699
|
connectedWallets,
|
|
704
|
-
isAuthenticated,
|
|
700
|
+
isAuthenticated: isAuthenticated || Boolean(primaryWallet),
|
|
705
701
|
isBridgeFlow,
|
|
706
|
-
isFullyConnected,
|
|
707
702
|
isMultiWalletEnabled: multiWallet,
|
|
708
703
|
}), 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
704
|
};
|
|
@@ -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,11 +8,9 @@ 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>>;
|
|
15
|
-
toolkitEnabled: boolean | undefined;
|
|
16
14
|
user: UserProfile | undefined;
|
|
17
15
|
environmentId: string;
|
|
18
16
|
walletConnectors: WalletConnectorCore.WalletConnector[];
|
|
@@ -27,8 +25,8 @@ export type UseHandleLogoutParams = {
|
|
|
27
25
|
removeLsSettings: () => void;
|
|
28
26
|
handleRemoveLsNetworks: () => void;
|
|
29
27
|
setOnboardingOnlyJwt: Dispatch<SetStateAction<string | undefined>>;
|
|
28
|
+
removeBridgeOnboardingCompleted: () => void;
|
|
30
29
|
removeConnectedWalletsInfo: () => void;
|
|
31
|
-
removeIsFullyConnected: () => void;
|
|
32
30
|
clearPrimaryWalletId: () => void;
|
|
33
31
|
removeConnectedNameService: () => void;
|
|
34
32
|
eventsCallbacks: DynamicEventsCallbacks | undefined;
|