@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.
Files changed (82) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +11 -11
  5. package/src/index.cjs +13 -13
  6. package/src/index.d.ts +289 -9
  7. package/src/lib/components/DynamicFooter/DynamicFooter.cjs +8 -1
  8. package/src/lib/components/DynamicFooter/DynamicFooter.js +8 -1
  9. package/src/lib/components/Toolkit/Toolkit.cjs +2 -3
  10. package/src/lib/components/Toolkit/Toolkit.js +2 -3
  11. package/src/lib/components/Toolkit/components/index.d.ts +0 -1
  12. package/src/lib/context/DynamicContext/DynamicContext.cjs +28 -33
  13. package/src/lib/context/DynamicContext/DynamicContext.js +30 -35
  14. package/src/lib/context/DynamicContext/handleDisconnectWallet/handleDisconnectWallet.cjs +1 -4
  15. package/src/lib/context/DynamicContext/handleDisconnectWallet/handleDisconnectWallet.d.ts +1 -7
  16. package/src/lib/context/DynamicContext/handleDisconnectWallet/handleDisconnectWallet.js +1 -4
  17. package/src/lib/context/DynamicContext/helpers/helpers.cjs +2 -2
  18. package/src/lib/context/DynamicContext/helpers/helpers.d.ts +2 -2
  19. package/src/lib/context/DynamicContext/helpers/helpers.js +2 -2
  20. package/src/lib/context/DynamicContext/hooks/index.d.ts +1 -0
  21. package/src/lib/context/DynamicContext/hooks/useHandleLogout/types.d.ts +1 -3
  22. package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.cjs +1 -5
  23. package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.js +2 -6
  24. package/src/lib/context/DynamicContext/hooks/useMultiWallet/useMultiWallet.cjs +15 -0
  25. package/src/lib/context/DynamicContext/hooks/useMultiWallet/useMultiWallet.d.ts +6 -0
  26. package/src/lib/context/DynamicContext/hooks/useMultiWallet/useMultiWallet.js +11 -0
  27. package/src/lib/context/DynamicContext/hooks/useSetShowLinkNewWalletModal/useSetShowLinkNewWalletModal.cjs +1 -1
  28. package/src/lib/context/DynamicContext/hooks/useSetShowLinkNewWalletModal/useSetShowLinkNewWalletModal.js +1 -1
  29. package/src/lib/context/DynamicContext/types/index.d.ts +9 -3
  30. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.cjs +4 -2
  31. package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.js +4 -2
  32. package/src/lib/context/LoadingContext/LoadingContext.cjs +1 -0
  33. package/src/lib/context/LoadingContext/LoadingContext.js +1 -0
  34. package/src/lib/data/api.cjs +3 -0
  35. package/src/lib/data/api.js +4 -1
  36. package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.cjs +1 -1
  37. package/src/lib/layout/DynamicAuthLayout/DynamicAuthLayout.js +1 -1
  38. package/src/lib/main.global.cjs +1 -1
  39. package/src/lib/main.global.js +1 -1
  40. package/src/lib/shared/utils/hooks/usePreventPageScroll/usePreventPageScroll.cjs +0 -10
  41. package/src/lib/shared/utils/hooks/usePreventPageScroll/usePreventPageScroll.js +0 -10
  42. package/src/lib/styles/index.shadow.cjs +1 -1
  43. package/src/lib/styles/index.shadow.js +1 -1
  44. package/src/lib/utils/constants/index.d.ts +1 -1
  45. package/src/lib/utils/constants/localStorage.cjs +2 -4
  46. package/src/lib/utils/constants/localStorage.d.ts +1 -2
  47. package/src/lib/utils/constants/localStorage.js +2 -3
  48. package/src/lib/utils/functions/walletListBuilder/utils/getCalculatedOffset/getCalculatedOffset.cjs +9 -4
  49. package/src/lib/utils/functions/walletListBuilder/utils/getCalculatedOffset/getCalculatedOffset.js +9 -4
  50. package/src/lib/utils/functions/walletListBuilder/walletListBuilder.cjs +24 -15
  51. package/src/lib/utils/functions/walletListBuilder/walletListBuilder.d.ts +13 -0
  52. package/src/lib/utils/functions/walletListBuilder/walletListBuilder.js +24 -16
  53. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.cjs +16 -1
  54. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.js +16 -1
  55. package/src/lib/utils/hooks/index.d.ts +1 -0
  56. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +6 -1
  57. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.d.ts +1 -0
  58. package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +6 -1
  59. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.cjs +2 -6
  60. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.d.ts +2 -3
  61. package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.js +2 -6
  62. package/src/lib/utils/hooks/useHandleWalletsToConnect/useHandleWalletsToConnect.cjs +4 -5
  63. package/src/lib/utils/hooks/useHandleWalletsToConnect/useHandleWalletsToConnect.js +4 -5
  64. package/src/lib/utils/hooks/useNetworkNotSupported/index.d.ts +1 -0
  65. package/src/lib/utils/hooks/useNetworkNotSupported/useNetworkNotSupported.cjs +104 -0
  66. package/src/lib/utils/hooks/useNetworkNotSupported/useNetworkNotSupported.d.ts +3 -0
  67. package/src/lib/utils/hooks/useNetworkNotSupported/useNetworkNotSupported.js +100 -0
  68. package/src/lib/utils/hooks/useUserDataForm/useUserDataForm.cjs +5 -0
  69. package/src/lib/utils/hooks/useUserDataForm/useUserDataForm.js +6 -1
  70. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.cjs +9 -31
  71. package/src/lib/views/NetworkNotSupported/NetworkNotSupported.js +10 -32
  72. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.cjs +8 -31
  73. package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.js +8 -31
  74. package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedAuthFlow/DynamicEmbeddedAuthFlow.cjs +11 -1
  75. package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedAuthFlow/DynamicEmbeddedAuthFlow.js +11 -1
  76. package/src/lib/components/Toolkit/components/MultiWalletSwitch.cjs +0 -18
  77. package/src/lib/components/Toolkit/components/MultiWalletSwitch.d.ts +0 -6
  78. package/src/lib/components/Toolkit/components/MultiWalletSwitch.js +0 -14
  79. package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.cjs +0 -39
  80. package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.d.ts +0 -9
  81. package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.js +0 -35
  82. /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 [isFullyConnected, setIsFullyConnected, removeIsFullyConnected] = useLocalStorage.useLocalStorage(localStorage$1.IS_FULLY_CONNECTED, false);
155
- const [bridgeChainsToConnect, setBridgeChainsToConnect] = React.useState(bridgeChains);
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 { multiWallet, setMultiWallet } = useMultiWallet.useMultiWallet({
171
+ const multiWallet = useMultiWallet.useMultiWallet({
172
172
  isBridgeFlow,
173
- multiWalletSettings: (_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _b === void 0 ? void 0 : _b.multiWallet,
174
- toolkitEnabled: toolkitEnabled || false,
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: (connectedWalletsInfo, wallet) => handleDisconnectWallet.handleDisconnectWallet({
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.useEffect(() => {
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 = (_c = getAuthToken.getAuthToken()) !== null && _c !== void 0 ? _c : onboardingOnlyJwt;
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
- ((_e = (_d = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _d === void 0 ? void 0 : _d.walletConnect) === null || _e === void 0 ? void 0 : _e.v2Enabled) && !walletConnectV1Bridge
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
- setBridgeChainsToConnect,
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, ((_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: jsxRuntime.jsx(LoadingContext.LoadingContextProvider, { children: jsxRuntime.jsxs(ViewContext.ViewContextProvider, { initialView: helpers.getInitialView({
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, useMemo } from 'react';
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 { IS_FULLY_CONNECTED, AUTH_TOKEN, AUTH_USER, AUTH_MODE, WALLET_PICKER_SEARCH_KEY } from '../../utils/constants/localStorage.js';
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 [isFullyConnected, setIsFullyConnected, removeIsFullyConnected] = useLocalStorage(IS_FULLY_CONNECTED, false);
151
- const [bridgeChainsToConnect, setBridgeChainsToConnect] = useState(bridgeChains);
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 { multiWallet, setMultiWallet } = useMultiWallet({
167
+ const multiWallet = useMultiWallet({
168
168
  isBridgeFlow,
169
- multiWalletSettings: (_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _b === void 0 ? void 0 : _b.multiWallet,
170
- toolkitEnabled: toolkitEnabled || false,
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: (connectedWalletsInfo, wallet) => handleDisconnectWallet({
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
- useEffect(() => {
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 = (_c = getAuthToken()) !== null && _c !== void 0 ? _c : onboardingOnlyJwt;
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
- ((_e = (_d = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _d === void 0 ? void 0 : _d.walletConnect) === null || _e === void 0 ? void 0 : _e.v2Enabled) && !walletConnectV1Bridge
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
- setBridgeChainsToConnect,
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, ((_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({
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, connectedWalletsInfo, bridgeChains, setBridgeChainsToConnect, eventsCallbacks, }) => {
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, connectedWalletsInfo, bridgeChains, setBridgeChainsToConnect, eventsCallbacks, }: HandleDisconnectWalletArgs) => void;
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, connectedWalletsInfo, bridgeChains, setBridgeChainsToConnect, eventsCallbacks, }) => {
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, isFullyConnected, isAuthenticated, isMultiWalletEnabled, }) => {
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 (isFullyConnected || isAuthenticated) {
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, isFullyConnected, isAuthenticated, isMultiWalletEnabled, }: {
7
+ export declare const getInitialView: ({ connectedWallets, isBridgeFlow, bridgeOnboardingCompleted, isAuthenticated, isMultiWalletEnabled, }: {
8
8
  connectedWallets: Wallet[];
9
9
  isBridgeFlow: boolean;
10
10
  isAuthenticated: boolean;
11
- isFullyConnected: boolean;
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, isFullyConnected, isAuthenticated, isMultiWalletEnabled, }) => {
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 (isFullyConnected || isAuthenticated) {
62
+ if (isAuthenticated || bridgeOnboardingCompleted) {
63
63
  return {
64
64
  type: isMultiWalletEnabled ? 'multi-wallet-wallet-list' : 'wallet-list',
65
65
  };
@@ -7,3 +7,4 @@ export * from './useShowAuthFlow';
7
7
  export * from './usePasskeySuccessPopup';
8
8
  export * from './useTieCallbacksToEvents';
9
9
  export * from './useVerificationInProgress';
10
+ export * from './useMultiWallet';
@@ -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;