@dynamic-labs/sdk-react-core 3.0.0-alpha.57 → 3.0.0-alpha.58

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 CHANGED
@@ -1,4 +1,15 @@
1
1
 
2
+ ## [3.0.0-alpha.58](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.57...v3.0.0-alpha.58) (2024-09-05)
3
+
4
+
5
+ ### ⚠ BREAKING CHANGES
6
+
7
+ * remove headless prop from DynamicContextProvider ([#6806](https://github.com/dynamic-labs/DynamicAuth/issues/6806)) ([1ab55a1](https://github.com/dynamic-labs/DynamicAuth/commit/1ab55a1cf5d143316617aa88a487bb59446f6f28))
8
+
9
+ ### Features
10
+
11
+ * allow selecting which MetaMask account to connect with when linking new wallet ([#6796](https://github.com/dynamic-labs/DynamicAuth/issues/6796)) ([83e270f](https://github.com/dynamic-labs/DynamicAuth/commit/83e270ffd53d5f6c95464cf570663e1008ffa6fb))
12
+
2
13
  ## [3.0.0-alpha.57](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.56...v3.0.0-alpha.57) (2024-09-05)
3
14
 
4
15
 
package/package.cjs CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "3.0.0-alpha.57";
6
+ var version = "3.0.0-alpha.58";
7
7
  var dependencies = {
8
8
  "@dynamic-labs/sdk-api-core": "0.0.526",
9
9
  "@hcaptcha/react-hcaptcha": "1.4.4",
package/package.js CHANGED
@@ -1,5 +1,5 @@
1
1
  'use client'
2
- var version = "3.0.0-alpha.57";
2
+ var version = "3.0.0-alpha.58";
3
3
  var dependencies = {
4
4
  "@dynamic-labs/sdk-api-core": "0.0.526",
5
5
  "@hcaptcha/react-hcaptcha": "1.4.4",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/sdk-react-core",
3
- "version": "3.0.0-alpha.57",
3
+ "version": "3.0.0-alpha.58",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/dynamic-labs/dynamic-auth.git",
@@ -17,17 +17,17 @@
17
17
  "react-i18next": "13.5.0",
18
18
  "yup": "0.32.11",
19
19
  "react-international-phone": "4.2.5",
20
- "@dynamic-labs/global-wallet": "3.0.0-alpha.57",
21
- "@dynamic-labs/iconic": "3.0.0-alpha.57",
22
- "@dynamic-labs/logger": "3.0.0-alpha.57",
23
- "@dynamic-labs/message-transport": "3.0.0-alpha.57",
24
- "@dynamic-labs/multi-wallet": "3.0.0-alpha.57",
25
- "@dynamic-labs/rpc-providers": "3.0.0-alpha.57",
26
- "@dynamic-labs/store": "3.0.0-alpha.57",
27
- "@dynamic-labs/types": "3.0.0-alpha.57",
28
- "@dynamic-labs/utils": "3.0.0-alpha.57",
29
- "@dynamic-labs/wallet-book": "3.0.0-alpha.57",
30
- "@dynamic-labs/wallet-connector-core": "3.0.0-alpha.57",
20
+ "@dynamic-labs/global-wallet": "3.0.0-alpha.58",
21
+ "@dynamic-labs/iconic": "3.0.0-alpha.58",
22
+ "@dynamic-labs/logger": "3.0.0-alpha.58",
23
+ "@dynamic-labs/message-transport": "3.0.0-alpha.58",
24
+ "@dynamic-labs/multi-wallet": "3.0.0-alpha.58",
25
+ "@dynamic-labs/rpc-providers": "3.0.0-alpha.58",
26
+ "@dynamic-labs/store": "3.0.0-alpha.58",
27
+ "@dynamic-labs/types": "3.0.0-alpha.58",
28
+ "@dynamic-labs/utils": "3.0.0-alpha.58",
29
+ "@dynamic-labs/wallet-book": "3.0.0-alpha.58",
30
+ "@dynamic-labs/wallet-connector-core": "3.0.0-alpha.58",
31
31
  "eventemitter3": "5.0.1"
32
32
  },
33
33
  "devDependencies": {
@@ -147,7 +147,7 @@ const DynamicContext = React.createContext(undefined);
147
147
  /** The context provider itself we only use internally */
148
148
  const InnerDynamicContextProvider = ({ children, theme, settings: settings$1, locale: locale$1, enableInstrumentation = false, }) => {
149
149
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
150
- const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, defaultPhoneInputIso2, apiBaseUrl, coinbaseWalletPreference, detectNewWalletsForLinking = false, enableConnectOnlyFallback = false, deepLinkPreference: deepLinkPreferenceProp = 'native', bridgeChains, cssOverrides, defaultNumberOfWalletsToShow = values.DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displaySiweStatement = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, walletsFilter, logLevel = 'WARN', mobileExperience, notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, socialProvidersFilter, showLockedWalletView = false, walletConnectPreferredChains, walletConnectorExtensions, recommendedWallets, handlers, headless = false, } = settings$1;
150
+ const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, defaultPhoneInputIso2, apiBaseUrl, coinbaseWalletPreference, detectNewWalletsForLinking = false, enableConnectOnlyFallback = false, deepLinkPreference: deepLinkPreferenceProp = 'native', bridgeChains, cssOverrides, defaultNumberOfWalletsToShow = values.DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displaySiweStatement = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, walletsFilter, logLevel = 'WARN', mobileExperience, notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, socialProvidersFilter, showLockedWalletView = false, walletConnectPreferredChains, walletConnectorExtensions, recommendedWallets, handlers, } = settings$1;
151
151
  localStorage.LocalStorage.setSuffix(settings$1.localStorageSuffix);
152
152
  /**
153
153
  * initialize global store
@@ -487,7 +487,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings: settings$1, lo
487
487
  handleLogOut,
488
488
  handleUnlinkWallet: authMode === 'connect-only' ? disconnectWallet : handleUnlinkWallet,
489
489
  handlers,
490
- headless,
491
490
  i18nSDKInstance,
492
491
  isBridgeFlow,
493
492
  isProjectSettingsLoading,
@@ -608,7 +607,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings: settings$1, lo
608
607
  handleLogOut,
609
608
  handleUnlinkWallet,
610
609
  handlers,
611
- headless,
612
610
  i18nSDKInstance,
613
611
  isBridgeFlow,
614
612
  isProjectSettingsLoading,
@@ -143,7 +143,7 @@ const DynamicContext = createContext(undefined);
143
143
  /** The context provider itself we only use internally */
144
144
  const InnerDynamicContextProvider = ({ children, theme, settings, locale, enableInstrumentation = false, }) => {
145
145
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
146
- const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, defaultPhoneInputIso2, apiBaseUrl, coinbaseWalletPreference, detectNewWalletsForLinking = false, enableConnectOnlyFallback = false, deepLinkPreference: deepLinkPreferenceProp = 'native', bridgeChains, cssOverrides, defaultNumberOfWalletsToShow = DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displaySiweStatement = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, walletsFilter, logLevel = 'WARN', mobileExperience, notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, socialProvidersFilter, showLockedWalletView = false, walletConnectPreferredChains, walletConnectorExtensions, recommendedWallets, handlers, headless = false, } = settings;
146
+ const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, defaultPhoneInputIso2, apiBaseUrl, coinbaseWalletPreference, detectNewWalletsForLinking = false, enableConnectOnlyFallback = false, deepLinkPreference: deepLinkPreferenceProp = 'native', bridgeChains, cssOverrides, defaultNumberOfWalletsToShow = DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displaySiweStatement = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, walletsFilter, logLevel = 'WARN', mobileExperience, notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, socialProvidersFilter, showLockedWalletView = false, walletConnectPreferredChains, walletConnectorExtensions, recommendedWallets, handlers, } = settings;
147
147
  LocalStorage.setSuffix(settings.localStorageSuffix);
148
148
  /**
149
149
  * initialize global store
@@ -483,7 +483,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, enable
483
483
  handleLogOut,
484
484
  handleUnlinkWallet: authMode === 'connect-only' ? disconnectWallet : handleUnlinkWallet,
485
485
  handlers,
486
- headless,
487
486
  i18nSDKInstance,
488
487
  isBridgeFlow,
489
488
  isProjectSettingsLoading,
@@ -604,7 +603,6 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, enable
604
603
  handleLogOut,
605
604
  handleUnlinkWallet,
606
605
  handlers,
607
- headless,
608
606
  i18nSDKInstance,
609
607
  isBridgeFlow,
610
608
  isProjectSettingsLoading,
@@ -59,7 +59,6 @@ export interface DynamicContextProps {
59
59
  */
60
60
  flowNetwork?: 'testnet' | 'mainnet';
61
61
  handlers?: DynamicHandlers;
62
- headless?: boolean;
63
62
  initialAuthenticationMode?: AuthModeType;
64
63
  localStorageSuffix?: string;
65
64
  /**
@@ -62,8 +62,6 @@ export interface IDynamicContext {
62
62
  handleLogOut: () => Promise<void>;
63
63
  handleUnlinkWallet: (walletId: string) => Promise<void> | void;
64
64
  handlers?: DynamicHandlers;
65
- /** Flag for customer to set when using dynamic fully headless */
66
- headless?: boolean;
67
65
  isBridgeFlow: boolean;
68
66
  isProjectSettingsLoading: boolean;
69
67
  /** Whether there is an instance of DynamicEmbeddedAuthFlow being rendered */
@@ -99,7 +99,7 @@ require('../../../store/state/tokenBalances.cjs');
99
99
  var useInternalDynamicContext = require('../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
100
100
 
101
101
  const useSyncOnboardingFlow = () => {
102
- const { setShowAuthFlow, userWithMissingInfo, handlers, headless, sdkHasLoaded, setSelectedWalletConnectorKey, } = useInternalDynamicContext.useInternalDynamicContext();
102
+ const { setShowAuthFlow, userWithMissingInfo, handlers, sdkHasLoaded, setSelectedWalletConnectorKey, } = useInternalDynamicContext.useInternalDynamicContext();
103
103
  const { setView } = ViewContext.useViewContext();
104
104
  const { updateUser } = useUserUpdateRequest.useUserUpdateRequestInternal({
105
105
  validationSchemaStripUnknown: false,
@@ -184,10 +184,6 @@ const useSyncOnboardingFlow = () => {
184
184
  handleHeadlessOnboarding();
185
185
  return;
186
186
  }
187
- if (headless) {
188
- logger.logger.error('No onboarding handler found. Please add a handleUserOnboarding handler to your dynamic provider settings.');
189
- return;
190
- }
191
187
  handleOnboarding();
192
188
  return;
193
189
  }, [
@@ -196,7 +192,6 @@ const useSyncOnboardingFlow = () => {
196
192
  handlers,
197
193
  completeAuth,
198
194
  updateUser,
199
- headless,
200
195
  setShowAuthFlow,
201
196
  setView,
202
197
  formattedPhone,
@@ -95,7 +95,7 @@ import '../../../store/state/tokenBalances.js';
95
95
  import { useInternalDynamicContext } from '../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
96
96
 
97
97
  const useSyncOnboardingFlow = () => {
98
- const { setShowAuthFlow, userWithMissingInfo, handlers, headless, sdkHasLoaded, setSelectedWalletConnectorKey, } = useInternalDynamicContext();
98
+ const { setShowAuthFlow, userWithMissingInfo, handlers, sdkHasLoaded, setSelectedWalletConnectorKey, } = useInternalDynamicContext();
99
99
  const { setView } = useViewContext();
100
100
  const { updateUser } = useUserUpdateRequestInternal({
101
101
  validationSchemaStripUnknown: false,
@@ -180,10 +180,6 @@ const useSyncOnboardingFlow = () => {
180
180
  handleHeadlessOnboarding();
181
181
  return;
182
182
  }
183
- if (headless) {
184
- logger.error('No onboarding handler found. Please add a handleUserOnboarding handler to your dynamic provider settings.');
185
- return;
186
- }
187
183
  handleOnboarding();
188
184
  return;
189
185
  }, [
@@ -192,7 +188,6 @@ const useSyncOnboardingFlow = () => {
192
188
  handlers,
193
189
  completeAuth,
194
190
  updateUser,
195
- headless,
196
191
  setShowAuthFlow,
197
192
  setView,
198
193
  formattedPhone,
@@ -175,7 +175,11 @@ const useWalletItemActions = () => {
175
175
  });
176
176
  const handleAlreadyConnectedWallet = (walletConnector) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
177
177
  logger.logger.debug('handleAlreadyConnectedWallet', walletConnector);
178
- const connectedAccounts = yield walletConnector.getConnectedAccounts(true);
178
+ setShowAuthFlow(false);
179
+ const connectedAccounts = yield walletConnector.getConnectedAccounts({
180
+ chooseAccounts: true,
181
+ forceFetch: true,
182
+ });
179
183
  const activeAccountAlreadyLinked = linkedWallets.find((wallet) => { var _a; return wallet.address.toLowerCase() === ((_a = connectedAccounts[0]) === null || _a === void 0 ? void 0 : _a.toLowerCase()); });
180
184
  logVerboseTroubleshootingMessage.logVerboseTroubleshootingMessage('[handleAlreadyConnectedWallet]', {
181
185
  activeAccountAlreadyLinked,
@@ -188,7 +192,6 @@ const useWalletItemActions = () => {
188
192
  else {
189
193
  setMultiWalletWidgetState('awaiting_signature', undefined, 'linking_new_wallet');
190
194
  }
191
- setShowAuthFlow(false);
192
195
  setSelectedWalletConnectorKey(walletConnector.key);
193
196
  });
194
197
  const openWallet = (walletKey, handlers) => {
@@ -171,7 +171,11 @@ const useWalletItemActions = () => {
171
171
  });
172
172
  const handleAlreadyConnectedWallet = (walletConnector) => __awaiter(void 0, void 0, void 0, function* () {
173
173
  logger.debug('handleAlreadyConnectedWallet', walletConnector);
174
- const connectedAccounts = yield walletConnector.getConnectedAccounts(true);
174
+ setShowAuthFlow(false);
175
+ const connectedAccounts = yield walletConnector.getConnectedAccounts({
176
+ chooseAccounts: true,
177
+ forceFetch: true,
178
+ });
175
179
  const activeAccountAlreadyLinked = linkedWallets.find((wallet) => { var _a; return wallet.address.toLowerCase() === ((_a = connectedAccounts[0]) === null || _a === void 0 ? void 0 : _a.toLowerCase()); });
176
180
  logVerboseTroubleshootingMessage('[handleAlreadyConnectedWallet]', {
177
181
  activeAccountAlreadyLinked,
@@ -184,7 +188,6 @@ const useWalletItemActions = () => {
184
188
  else {
185
189
  setMultiWalletWidgetState('awaiting_signature', undefined, 'linking_new_wallet');
186
190
  }
187
- setShowAuthFlow(false);
188
191
  setSelectedWalletConnectorKey(walletConnector.key);
189
192
  });
190
193
  const openWallet = (walletKey, handlers) => {