@dynamic-labs/sdk-react-core 2.0.0 → 2.0.1

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 (103) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/package.cjs +1 -1
  3. package/package.js +1 -1
  4. package/package.json +13 -13
  5. package/src/lib/context/ConnectWithOtpContext/ConnectWithOtpProvider.cjs +1 -1
  6. package/src/lib/context/ConnectWithOtpContext/ConnectWithOtpProvider.js +1 -1
  7. package/src/lib/context/DynamicContext/DynamicContext.cjs +2 -0
  8. package/src/lib/context/DynamicContext/DynamicContext.d.ts +17 -16
  9. package/src/lib/context/DynamicContext/DynamicContext.js +2 -0
  10. package/src/lib/context/DynamicContext/hooks/useNameService/useNameService.cjs +11 -3
  11. package/src/lib/context/DynamicContext/hooks/useNameService/useNameService.js +11 -3
  12. package/src/lib/context/DynamicContext/hooks/useNameService/useNameService.types.d.ts +1 -0
  13. package/src/lib/context/DynamicContext/types/index.d.ts +41 -40
  14. package/src/lib/context/FundingContext/FundingContext.cjs +1 -1
  15. package/src/lib/context/FundingContext/FundingContext.js +1 -1
  16. package/src/lib/context/FundingContext/useFunding/useFunding.cjs +1 -1
  17. package/src/lib/context/FundingContext/useFunding/useFunding.js +1 -1
  18. package/src/lib/data/api/email/email.cjs +5 -5
  19. package/src/lib/data/api/email/email.d.ts +2 -2
  20. package/src/lib/data/api/email/email.js +5 -5
  21. package/src/lib/data/api/embeddedWallets/embeddedWallets.cjs +14 -14
  22. package/src/lib/data/api/embeddedWallets/embeddedWallets.js +14 -14
  23. package/src/lib/data/api/oauth/oauth.cjs +6 -6
  24. package/src/lib/data/api/oauth/oauth.js +6 -6
  25. package/src/lib/data/api/onramp/onramp.cjs +1 -1
  26. package/src/lib/data/api/onramp/onramp.d.ts +2 -2
  27. package/src/lib/data/api/onramp/onramp.js +1 -1
  28. package/src/lib/data/api/session/session.cjs +2 -2
  29. package/src/lib/data/api/session/session.js +2 -2
  30. package/src/lib/data/api/sms/sms.cjs +6 -6
  31. package/src/lib/data/api/sms/sms.d.ts +2 -2
  32. package/src/lib/data/api/sms/sms.js +6 -6
  33. package/src/lib/data/api/user/user.cjs +1 -1
  34. package/src/lib/data/api/user/user.js +1 -1
  35. package/src/lib/data/api/wallets/wallets.cjs +5 -5
  36. package/src/lib/data/api/wallets/wallets.js +5 -5
  37. package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/NewToWeb3WalletItem/NewToWeb3WalletItem.d.ts +1 -1
  38. package/src/lib/shared/utils/hooks/useForwardedRef/useForwardedRef.d.ts +1 -1
  39. package/src/lib/shared/utils/hooks/useLocalStorage/useLocalStorage.d.ts +1 -1
  40. package/src/lib/shared/utils/hooks/useThrottle/useThrottle.d.ts +1 -1
  41. package/src/lib/utils/constants/values.cjs +1 -1
  42. package/src/lib/utils/constants/values.js +1 -1
  43. package/src/lib/utils/functions/getSiweStatement/getSiweStatement.d.ts +1 -1
  44. package/src/lib/utils/functions/getUserProfileFields/getUserProfileFields.d.ts +4 -4
  45. package/src/lib/utils/functions/getVerifyArgs/getVerifyArgs.cjs +1 -1
  46. package/src/lib/utils/functions/getVerifyArgs/getVerifyArgs.js +1 -1
  47. package/src/lib/utils/functions/handleUnlinkHelper/handleUnlinkHelper.cjs +1 -1
  48. package/src/lib/utils/functions/handleUnlinkHelper/handleUnlinkHelper.js +1 -1
  49. package/src/lib/utils/functions/isWalletConnected/isWalletConnected.cjs +1 -1
  50. package/src/lib/utils/functions/isWalletConnected/isWalletConnected.js +1 -1
  51. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.cjs +3 -3
  52. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.js +3 -3
  53. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.cjs +4 -4
  54. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.js +4 -4
  55. package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.cjs +1 -1
  56. package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.js +1 -1
  57. package/src/lib/utils/hooks/events/useWalletConnectorEvent/useWalletConnectorEvent.d.ts +1 -1
  58. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs +4 -4
  59. package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js +4 -4
  60. package/src/lib/utils/hooks/useEmbeddedReveal/useEmbeddedReveal.cjs +1 -1
  61. package/src/lib/utils/hooks/useEmbeddedReveal/useEmbeddedReveal.js +1 -1
  62. package/src/lib/utils/hooks/useEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.cjs +4 -4
  63. package/src/lib/utils/hooks/useEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.d.ts +5 -0
  64. package/src/lib/utils/hooks/useEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.js +4 -4
  65. package/src/lib/utils/hooks/useHandleVerificationRequired/useHandleVerificationRequired.cjs +1 -1
  66. package/src/lib/utils/hooks/useHandleVerificationRequired/useHandleVerificationRequired.js +1 -1
  67. package/src/lib/utils/hooks/useHandleWalletsToConnect/useHandleWalletsToConnect.d.ts +1 -1
  68. package/src/lib/utils/hooks/useInitEmbeddedWalletAuthMethod/useInitEmbeddedWalletAuthMethod.cjs +4 -4
  69. package/src/lib/utils/hooks/useInitEmbeddedWalletAuthMethod/useInitEmbeddedWalletAuthMethod.js +4 -4
  70. package/src/lib/utils/hooks/usePromise/usePromise.d.ts +1 -1
  71. package/src/lib/utils/hooks/usePromise/utils/resolveFetcher/resolveFetcher.cjs +1 -1
  72. package/src/lib/utils/hooks/usePromise/utils/resolveFetcher/resolveFetcher.js +1 -1
  73. package/src/lib/utils/hooks/useResizeObserver/useResizeObserver.d.ts +1 -1
  74. package/src/lib/utils/hooks/useSocialAuth/farcaster.cjs +1 -1
  75. package/src/lib/utils/hooks/useSocialAuth/farcaster.d.ts +1 -0
  76. package/src/lib/utils/hooks/useSocialAuth/farcaster.js +1 -1
  77. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +11 -10
  78. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.d.ts +2 -2
  79. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +11 -10
  80. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/useUpdateUserWithModal.cjs +1 -1
  81. package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/useUpdateUserWithModal.js +1 -1
  82. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +4 -4
  83. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +4 -4
  84. package/src/lib/utils/hooks/useWalletConnectors/utils/smartWallet/smartWallet.cjs +1 -1
  85. package/src/lib/utils/hooks/useWalletConnectors/utils/smartWallet/smartWallet.js +1 -1
  86. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.cjs +2 -2
  87. package/src/lib/utils/hooks/useWalletUiUtils/useWalletUiUtils.js +2 -2
  88. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.cjs +7 -7
  89. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.d.ts +3 -3
  90. package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.js +7 -7
  91. package/src/lib/views/Passkey/utils/createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.cjs +3 -3
  92. package/src/lib/views/Passkey/utils/createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.js +3 -3
  93. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.cjs +1 -1
  94. package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.js +1 -1
  95. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs +23 -23
  96. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.d.ts +2 -2
  97. package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.js +23 -23
  98. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.d.ts +1 -1
  99. package/src/lib/widgets/DynamicWidget/components/WalletIconWithNetwork/index.d.ts +1 -0
  100. package/src/lib/widgets/DynamicWidget/hooks/useFetchNameService/useFetchNameService.cjs +2 -2
  101. package/src/lib/widgets/DynamicWidget/hooks/useFetchNameService/useFetchNameService.js +2 -2
  102. package/src/lib/widgets/DynamicWidget/views/WalletSettingsView/WalletSettingsView.cjs +2 -6
  103. package/src/lib/widgets/DynamicWidget/views/WalletSettingsView/WalletSettingsView.js +2 -6
package/CHANGELOG.md CHANGED
@@ -1,4 +1,18 @@
1
1
 
2
+ ### [2.0.1](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0...v2.0.1) (2024-04-18)
3
+
4
+
5
+ ### Features
6
+
7
+ * add redirectUri to farcaster connect ([#5373](https://github.com/dynamic-labs/DynamicAuth/issues/5373)) ([#5383](https://github.com/dynamic-labs/DynamicAuth/issues/5383)) ([d031d7e](https://github.com/dynamic-labs/DynamicAuth/commit/d031d7ee5705de5ec83ef328f03633d5f3524786))
8
+
9
+
10
+ ### Bug Fixes
11
+
12
+ * copy and ui fixes ([#5367](https://github.com/dynamic-labs/DynamicAuth/issues/5367)) ([e39ea97](https://github.com/dynamic-labs/DynamicAuth/commit/e39ea97d98de6b7087c24f2326a5fdc07ab9c8c3))
13
+ * bitcoin connector improvements
14
+ * solana package improvements ([#5360](https://github.com/dynamic-labs/DynamicAuth/issues/5360)) ([#5385](https://github.com/dynamic-labs/DynamicAuth/issues/5385)) ([9010bce](https://github.com/dynamic-labs/DynamicAuth/commit/9010bcebb4b0f2d293d517347187d38accbac0d3))
15
+
2
16
  ## [2.0.0-alpha.32](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.31...v2.0.0-alpha.32) (2024-04-15)
3
17
 
4
18
  ## [2.0.0-alpha.31](https://github.com/dynamic-labs/DynamicAuth/compare/v2.0.0-alpha.30...v2.0.0-alpha.31) (2024-04-11)
package/package.cjs CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var version = "2.0.0";
5
+ var version = "2.0.1";
6
6
  var dependencies = {
7
7
  "@dynamic-labs/sdk-api-core": "0.0.418",
8
8
  "@hcaptcha/react-hcaptcha": "1.4.4",
package/package.js CHANGED
@@ -1,4 +1,4 @@
1
- var version = "2.0.0";
1
+ var version = "2.0.1";
2
2
  var dependencies = {
3
3
  "@dynamic-labs/sdk-api-core": "0.0.418",
4
4
  "@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": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -17,18 +17,18 @@
17
17
  "react-i18next": "13.5.0",
18
18
  "yup": "0.32.11",
19
19
  "react-international-phone": "4.2.5",
20
- "@dynamic-labs/ethereum": "2.0.0",
21
- "@dynamic-labs/iconic": "2.0.0",
22
- "@dynamic-labs/logger": "2.0.0",
23
- "@dynamic-labs/multi-wallet": "2.0.0",
24
- "@dynamic-labs/rpc-provider-ethereum": "2.0.0",
25
- "@dynamic-labs/rpc-provider-solana": "2.0.0",
26
- "@dynamic-labs/rpc-providers": "2.0.0",
27
- "@dynamic-labs/types": "2.0.0",
28
- "@dynamic-labs/utils": "2.0.0",
29
- "@dynamic-labs/viem-utils": "2.0.0",
30
- "@dynamic-labs/wallet-book": "2.0.0",
31
- "@dynamic-labs/wallet-connector-core": "2.0.0",
20
+ "@dynamic-labs/ethereum": "2.0.1",
21
+ "@dynamic-labs/iconic": "2.0.1",
22
+ "@dynamic-labs/logger": "2.0.1",
23
+ "@dynamic-labs/multi-wallet": "2.0.1",
24
+ "@dynamic-labs/rpc-provider-ethereum": "2.0.1",
25
+ "@dynamic-labs/rpc-provider-solana": "2.0.1",
26
+ "@dynamic-labs/rpc-providers": "2.0.1",
27
+ "@dynamic-labs/types": "2.0.1",
28
+ "@dynamic-labs/utils": "2.0.1",
29
+ "@dynamic-labs/viem-utils": "2.0.1",
30
+ "@dynamic-labs/wallet-book": "2.0.1",
31
+ "@dynamic-labs/wallet-connector-core": "2.0.1",
32
32
  "eventemitter3": "5.0.1"
33
33
  },
34
34
  "devDependencies": {
@@ -102,7 +102,7 @@ const ConnectWithOtpProvider = ({ children }) => {
102
102
  handler: createMagicHandler.createMagicHandler(emailOtpWalletConnector, handleInstalledExtensionClick),
103
103
  },
104
104
  };
105
- const connectWithEmail = (email, { provider } = {}) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
105
+ const connectWithEmail = (email_1, ...args_1) => _tslib.__awaiter(void 0, [email_1, ...args_1], void 0, function* (email, { provider } = {}) {
106
106
  if (!isEmailValid.isEmailValid(email)) {
107
107
  throw new Error('Email is not valid');
108
108
  }
@@ -98,7 +98,7 @@ const ConnectWithOtpProvider = ({ children }) => {
98
98
  handler: createMagicHandler(emailOtpWalletConnector, handleInstalledExtensionClick),
99
99
  },
100
100
  };
101
- const connectWithEmail = (email, { provider } = {}) => __awaiter(void 0, void 0, void 0, function* () {
101
+ const connectWithEmail = (email_1, ...args_1) => __awaiter(void 0, [email_1, ...args_1], void 0, function* (email, { provider } = {}) {
102
102
  if (!isEmailValid(email)) {
103
103
  throw new Error('Email is not valid');
104
104
  }
@@ -474,6 +474,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings: settings$1, lo
474
474
  projectSettings,
475
475
  qrcodeUri,
476
476
  recommendedWallets,
477
+ redirectUrl: settings$1.redirectUrl,
477
478
  removeBridgeOnboardingCompleted,
478
479
  removeConnectedWalletsInfo,
479
480
  rpcProviders,
@@ -581,6 +582,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings: settings$1, lo
581
582
  imageUserInAccessList,
582
583
  onboardingImageUrl,
583
584
  settings$1.overrides,
585
+ settings$1.redirectUrl,
584
586
  passkeySuccessPopup,
585
587
  policiesConsentInnerComponent,
586
588
  primaryWallet,
@@ -11,18 +11,18 @@ import { ChainsToConnect, IDynamicContext, NetworkValidationMode, SettingsOverri
11
11
  export declare const PUBLIC_PROJECT_LIVE_ENVIRONMENT_ID = "2762a57b-faa4-41ce-9f16-abff9300e2c9";
12
12
  export interface DynamicContextProps {
13
13
  children: ReactNode;
14
+ locale?: LocaleResource;
14
15
  settings: {
15
- enableConnectOnlyFallback?: boolean;
16
- networkValidationMode?: NetworkValidationMode;
17
- overrides?: SettingsOverrides;
18
- bridgeChains?: ChainsToConnect[];
16
+ accessDeniedButton?: AccessDeniedCustomButton;
19
17
  accessDeniedMessagePrimary?: string;
20
18
  accessDeniedMessageSecondary?: string;
21
- accessDeniedButton?: AccessDeniedCustomButton;
22
19
  apiBaseUrl?: string;
23
20
  appLogoUrl?: string;
24
21
  appName?: string;
22
+ bridgeChains?: ChainsToConnect[];
25
23
  cssOverrides?: string | JSX.Element;
24
+ customPrivacyPolicy?: ReactNode;
25
+ customTermsOfServices?: ReactNode;
26
26
  debugError?: boolean;
27
27
  /**
28
28
  * Used to control the type of deep link used when connecting
@@ -35,52 +35,53 @@ export interface DynamicContextProps {
35
35
  deepLinkPreference?: DeepLinkVariant;
36
36
  defaultNumberOfWalletsToShow?: number;
37
37
  displaySiweStatement?: boolean;
38
+ enableConnectOnlyFallback?: boolean;
38
39
  enableVisitTrackingOnConnectOnly?: boolean;
39
40
  environmentId: string;
40
- localStorageSuffix?: string;
41
41
  /**
42
42
  * @deprecated Use events instead
43
43
  */
44
44
  eventsCallbacks?: DynamicEventsCallbacks;
45
45
  events?: DynamicEventsCallbacks;
46
- handlers?: DynamicHandlers;
47
46
  /**
48
47
  * @deprecated Set flow network in dashboard instead
49
48
  */
50
49
  flowNetwork?: 'testnet' | 'mainnet';
50
+ handlers?: DynamicHandlers;
51
+ hideEmbeddedWalletTransactionUIs?: boolean;
51
52
  initialAuthenticationMode?: AuthModeType;
53
+ localStorageSuffix?: string;
52
54
  /**
53
55
  * The log level to use for client side logging with our SDK
54
56
  * @default WARN
55
57
  */
56
58
  logLevel?: keyof typeof LogLevel;
57
- showLockedWalletView?: boolean;
58
59
  mobileExperience?: 'in-app-browser' | 'redirect';
60
+ networkValidationMode?: NetworkValidationMode;
59
61
  newToWeb3WalletChainMap?: ChainToWalletMap;
60
62
  notInTheListImageUrl?: string;
61
63
  onboardingImageUrl?: string;
64
+ overrides?: SettingsOverrides;
62
65
  policiesConsentInnerComponent?: ReactNode | ReactNode[];
63
- customPrivacyPolicy?: ReactNode;
64
66
  privacyPolicyUrl?: string;
65
- shadowDOMEnabled?: boolean;
67
+ recommendedWallets?: RecommendedWallet[];
68
+ redirectUrl?: string;
66
69
  signWithEmailWalletName?: string;
67
70
  siweStatement?: string;
71
+ shadowDOMEnabled?: boolean;
72
+ showLockedWalletView?: boolean;
68
73
  socialMediaIconUrl?: Record<string, string> | Record<SocialNetworkIconType, string>;
69
74
  socialMediaLinkText?: string;
70
75
  socialMediaUrl?: string;
71
- customTermsOfServices?: ReactNode;
76
+ socialProvidersFilter?: SocialProviderFilter;
72
77
  termsOfServiceUrl?: string;
73
78
  toolkitEnabled?: boolean;
74
- walletConnectPreferredChains?: `eip155:${number}`[];
75
79
  walletConnectors?: WalletConnectorsMethod[];
76
80
  walletConnectorExtensions?: WalletConnectorExtension[];
81
+ walletConnectPreferredChains?: `eip155:${number}`[];
77
82
  walletsFilter?: (options: WalletOption[]) => WalletOption[];
78
- socialProvidersFilter?: SocialProviderFilter;
79
- recommendedWallets?: RecommendedWallet[];
80
- hideEmbeddedWalletTransactionUIs?: boolean;
81
83
  };
82
84
  theme?: ThemeData | ThemeSetting;
83
- locale?: LocaleResource;
84
85
  }
85
86
  export declare const DynamicContext: import("react").Context<IDynamicContext | undefined>;
86
87
  /** The context provider itself we only use internally */
@@ -470,6 +470,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
470
470
  projectSettings,
471
471
  qrcodeUri,
472
472
  recommendedWallets,
473
+ redirectUrl: settings.redirectUrl,
473
474
  removeBridgeOnboardingCompleted,
474
475
  removeConnectedWalletsInfo,
475
476
  rpcProviders,
@@ -577,6 +578,7 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
577
578
  imageUserInAccessList,
578
579
  onboardingImageUrl,
579
580
  settings.overrides,
581
+ settings.redirectUrl,
580
582
  passkeySuccessPopup,
581
583
  policiesConsentInnerComponent,
582
584
  primaryWallet,
@@ -24,15 +24,19 @@ var getWalletVerifiedCredential = require('../../../../utils/functions/getWallet
24
24
  const useNameService = ({ currentWallet, authToken }) => {
25
25
  const [connectedNameService, setConnectedNameService, removeConnectedNameService,] = useLocalStorage.useLocalStorage(localStorage.CONNECTED_WALLET_NAME_SERVICE, null);
26
26
  const lastFetchedNameServiceAddress = React.useRef();
27
+ const lastFetchedNameServiceNetwork = React.useRef();
27
28
  const fetchNameServiceFromBlockchain = React.useCallback((wallet) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
28
29
  const { address, connector } = wallet;
29
- if (address === lastFetchedNameServiceAddress.current) {
30
+ const network = yield connector.getNetwork();
31
+ if (address === lastFetchedNameServiceAddress.current &&
32
+ network === lastFetchedNameServiceNetwork.current) {
30
33
  return;
31
34
  }
32
35
  setConnectedNameService(null);
33
36
  // store last address used to fetch name service so we can check for it when promise resolves
34
37
  // to avoid race conditions
35
38
  lastFetchedNameServiceAddress.current = address;
39
+ lastFetchedNameServiceNetwork.current = network;
36
40
  let ns;
37
41
  try {
38
42
  ns = yield connector.getNameService();
@@ -42,11 +46,13 @@ const useNameService = ({ currentWallet, authToken }) => {
42
46
  }
43
47
  // only sets name service if the address used to fetch it is the last one used for fetching
44
48
  // this avoid issues with promises not resolving in the correct order
45
- if (lastFetchedNameServiceAddress.current === address) {
49
+ if (lastFetchedNameServiceAddress.current === address &&
50
+ lastFetchedNameServiceNetwork.current === network) {
46
51
  setConnectedNameService({
47
52
  address,
48
53
  avatar: ns === null || ns === void 0 ? void 0 : ns.avatar,
49
54
  name: ns === null || ns === void 0 ? void 0 : ns.name,
55
+ network,
50
56
  });
51
57
  return ns;
52
58
  }
@@ -57,6 +63,7 @@ const useNameService = ({ currentWallet, authToken }) => {
57
63
  if (!currentWallet) {
58
64
  return;
59
65
  }
66
+ const network = yield currentWallet.connector.getNetwork();
60
67
  const verifiedCredentials = (_a = decodeJwt.decodeJwt(authToken)) === null || _a === void 0 ? void 0 : _a.verifiedCredentials;
61
68
  //if there are verified credentials, check if there is a name service for the current wallet
62
69
  if (verifiedCredentials) {
@@ -72,7 +79,8 @@ const useNameService = ({ currentWallet, authToken }) => {
72
79
  // if finds name service info in local storage and its related address matches the connected wallet address,
73
80
  // return it
74
81
  if (connectedNameService &&
75
- connectedNameService.address === (currentWallet === null || currentWallet === void 0 ? void 0 : currentWallet.address)) {
82
+ connectedNameService.address === (currentWallet === null || currentWallet === void 0 ? void 0 : currentWallet.address) &&
83
+ connectedNameService.network === network) {
76
84
  return {
77
85
  avatar: connectedNameService.avatar,
78
86
  name: connectedNameService.name,
@@ -20,15 +20,19 @@ import { getWalletVerifiedCredential } from '../../../../utils/functions/getWall
20
20
  const useNameService = ({ currentWallet, authToken }) => {
21
21
  const [connectedNameService, setConnectedNameService, removeConnectedNameService,] = useLocalStorage(CONNECTED_WALLET_NAME_SERVICE, null);
22
22
  const lastFetchedNameServiceAddress = useRef();
23
+ const lastFetchedNameServiceNetwork = useRef();
23
24
  const fetchNameServiceFromBlockchain = useCallback((wallet) => __awaiter(void 0, void 0, void 0, function* () {
24
25
  const { address, connector } = wallet;
25
- if (address === lastFetchedNameServiceAddress.current) {
26
+ const network = yield connector.getNetwork();
27
+ if (address === lastFetchedNameServiceAddress.current &&
28
+ network === lastFetchedNameServiceNetwork.current) {
26
29
  return;
27
30
  }
28
31
  setConnectedNameService(null);
29
32
  // store last address used to fetch name service so we can check for it when promise resolves
30
33
  // to avoid race conditions
31
34
  lastFetchedNameServiceAddress.current = address;
35
+ lastFetchedNameServiceNetwork.current = network;
32
36
  let ns;
33
37
  try {
34
38
  ns = yield connector.getNameService();
@@ -38,11 +42,13 @@ const useNameService = ({ currentWallet, authToken }) => {
38
42
  }
39
43
  // only sets name service if the address used to fetch it is the last one used for fetching
40
44
  // this avoid issues with promises not resolving in the correct order
41
- if (lastFetchedNameServiceAddress.current === address) {
45
+ if (lastFetchedNameServiceAddress.current === address &&
46
+ lastFetchedNameServiceNetwork.current === network) {
42
47
  setConnectedNameService({
43
48
  address,
44
49
  avatar: ns === null || ns === void 0 ? void 0 : ns.avatar,
45
50
  name: ns === null || ns === void 0 ? void 0 : ns.name,
51
+ network,
46
52
  });
47
53
  return ns;
48
54
  }
@@ -53,6 +59,7 @@ const useNameService = ({ currentWallet, authToken }) => {
53
59
  if (!currentWallet) {
54
60
  return;
55
61
  }
62
+ const network = yield currentWallet.connector.getNetwork();
56
63
  const verifiedCredentials = (_a = decodeJwt(authToken)) === null || _a === void 0 ? void 0 : _a.verifiedCredentials;
57
64
  //if there are verified credentials, check if there is a name service for the current wallet
58
65
  if (verifiedCredentials) {
@@ -68,7 +75,8 @@ const useNameService = ({ currentWallet, authToken }) => {
68
75
  // if finds name service info in local storage and its related address matches the connected wallet address,
69
76
  // return it
70
77
  if (connectedNameService &&
71
- connectedNameService.address === (currentWallet === null || currentWallet === void 0 ? void 0 : currentWallet.address)) {
78
+ connectedNameService.address === (currentWallet === null || currentWallet === void 0 ? void 0 : currentWallet.address) &&
79
+ connectedNameService.network === network) {
72
80
  return {
73
81
  avatar: connectedNameService.avatar,
74
82
  name: connectedNameService.name,
@@ -1,4 +1,5 @@
1
1
  import { NameServiceData } from '@dynamic-labs/sdk-api-core';
2
2
  export type NameServiceDataWithAddress = NameServiceData & {
3
3
  address: string;
4
+ network: string | number | undefined;
4
5
  };
@@ -57,28 +57,22 @@ export type ConnectWalletResult = {
57
57
  };
58
58
  export type NetworkValidationMode = 'always' | 'sign-in' | 'never';
59
59
  export interface IDynamicContext {
60
+ accessDeniedButton?: AccessDeniedCustomButton;
60
61
  accessDeniedMessagePrimary?: string;
61
62
  accessDeniedMessageSecondary?: string;
62
- overrides?: SettingsOverrides;
63
- accessDeniedButton?: AccessDeniedCustomButton;
64
63
  accountSwitchState: AccountSwitchState;
65
64
  appLogoUrl?: string;
66
- networkValidationMode: NetworkValidationMode;
67
65
  appName?: string;
68
- isBridgeFlow: boolean;
69
66
  authMode: AuthModeType;
70
67
  authToken: string | undefined;
71
68
  authorizationViewDisplayOrder: DisplayOrder;
72
69
  awaitingSignatureState: AwaitingSignatureState;
70
+ bridgeChains: ChainsToConnect[] | undefined;
71
+ bridgeChainsToConnect: ChainsToConnect[] | undefined;
72
+ bridgeOnboardingCompleted: boolean;
73
73
  clearStatesOnBackClick: () => void;
74
- connectWallet: (walletConnector: WalletConnector, getAddressOpts?: GetAddressOpts, options?: ConnectWalletOptions) => Promise<ConnectWalletResult | undefined>;
75
74
  connectedWallets: Wallet[];
76
- linkedWallets: Wallet[];
77
- locale: {
78
- changeLanguage: typeof changeLanguage;
79
- };
80
- bridgeOnboardingCompleted: boolean;
81
- setBridgeOnboardingCompleted: (value: boolean | ((val: boolean) => boolean)) => void;
75
+ connectWallet: (walletConnector: WalletConnector, getAddressOpts?: GetAddressOpts, options?: ConnectWalletOptions) => Promise<ConnectWalletResult | undefined>;
82
76
  consumeNonce: () => string | undefined;
83
77
  cssOverrides?: string | JSX.Element;
84
78
  customPrivacyPolicy?: ReactNode;
@@ -87,78 +81,99 @@ export interface IDynamicContext {
87
81
  decodedAuthToken: Omit<DynamicJwt, 'jwt'> | undefined;
88
82
  decodedOnboardingOnlyToken: Omit<DynamicJwt, 'jwt'> | undefined;
89
83
  defaultNumberOfWalletsToShow: number;
90
- bridgeChains: ChainsToConnect[] | undefined;
91
- bridgeChainsToConnect: ChainsToConnect[] | undefined;
92
84
  desktopUri: string;
85
+ disconnectWallet: (walletId: string) => void;
93
86
  displaySiweStatement: boolean;
94
- environmentId: string;
95
87
  enableConnectOnlyFallback?: boolean;
88
+ environmentId: string;
96
89
  events?: DynamicEventsCallbacks;
97
90
  getConnectedWalletById: (walletId: string) => Wallet | undefined;
98
91
  getNameService: (address?: string) => Promise<NameServiceData | undefined>;
99
- handlers?: DynamicHandlers;
100
92
  handleLogOut: () => Promise<void>;
101
93
  handleUnlinkWallet: (walletId: string) => Promise<void> | void;
94
+ handlers?: DynamicHandlers;
102
95
  isAuthenticated: boolean;
96
+ isBridgeFlow: boolean;
103
97
  isProjectSettingsLoading: boolean;
98
+ /** Whether there is an instance of DynamicEmbeddedAuthFlow being rendered */
99
+ isRenderingEmbeddedAuthFlow: MutableRefObject<boolean>;
104
100
  isSingleWalletAccount: boolean;
101
+ /** Legacy boolean flag used in useVerifyOnAwaitingSignature. Used to be called "isVerifying".
102
+ * Was meant to prevent an effect from accidentally triggering again when it shouldn't.
103
+ * @deprecated Should be removed asap.
104
+ */
105
+ legacyIsVerifying: boolean;
106
+ linkedWallets: Wallet[];
105
107
  loadingNetwork: boolean;
108
+ locale: {
109
+ changeLanguage: typeof changeLanguage;
110
+ };
106
111
  loginWithEmail: boolean;
107
- sendWagmiSettings: (settings: {
108
- dynamicWagmiSettings?: object;
109
- }) => void;
110
112
  minAuthToken: string | undefined;
111
113
  multiWallet: boolean;
112
114
  multiWalletWidgetState: MultiWalletWidgetState;
115
+ networkValidationMode: NetworkValidationMode;
113
116
  network: number | string | undefined;
114
117
  networkConfigurations: NetworkConfigurationMap | undefined;
115
118
  newToWeb3WalletChainMap: ChainToWalletMap;
116
119
  notInTheListImageUrl?: string;
117
120
  onboardingImageUrl?: string;
118
121
  onboardingOnlyJwt: string | undefined;
122
+ overrides?: SettingsOverrides;
123
+ passkeySuccessPopup: PasskeySuccessEnum | undefined;
119
124
  policiesConsentInnerComponent?: ReactNode | ReactNode[];
120
125
  primaryWallet: Wallet | null;
121
126
  primaryWalletId: string | undefined;
122
127
  privacyPolicyUrl?: string;
123
128
  projectSettings: ProjectSettings | undefined;
124
129
  qrcodeUri: string;
130
+ recommendedWallets?: RecommendedWallet[];
131
+ redirectUrl?: string;
132
+ removeConnectedWalletsInfo: () => void;
125
133
  rpcProviders: DynamicRPCProviders;
126
134
  sdkHasLoaded: boolean;
127
135
  secondaryWallets: Wallet[];
128
136
  selectedWalletConnector: WalletConnector | null;
129
137
  selectedWalletWithAction: WalletWithAction | null;
138
+ sendWagmiSettings: (settings: {
139
+ dynamicWagmiSettings?: object;
140
+ }) => void;
130
141
  setAuthMode: Dispatch<SetStateAction<AuthModeType>>;
131
142
  setAuthorizationViewDisplayOrder: SetDisplayOrderPriority;
143
+ setBridgeOnboardingCompleted: (value: boolean | ((val: boolean) => boolean)) => void;
132
144
  setCallback: SetCallbackType;
133
145
  setDesktopUri: Dispatch<SetStateAction<string>>;
134
146
  setIsSingleWalletAccount: Dispatch<SetStateAction<boolean>>;
147
+ /** Legacy setter for legacyIsVerifying
148
+ * @deprecated Should be removed asap.
149
+ */
150
+ setLegacyIsVerifying: Dispatch<SetStateAction<boolean>>;
135
151
  setLogInWithEmail: Dispatch<SetStateAction<boolean>>;
136
152
  setMultiWalletWidgetState: MultiWalletWidgetStateSetter;
137
153
  setOnboardingOnlyJwt: Dispatch<SetStateAction<string | undefined>>;
154
+ setPasskeySuccessPopup: (key: PasskeySuccessEnum) => void;
138
155
  setPrimaryWallet: (walletId: string) => Promise<void>;
139
156
  setPrimaryWalletId: (walletId: string) => void;
140
157
  setQrcodeUri: Dispatch<SetStateAction<string>>;
141
158
  setSelectedWalletConnectorKey: (key: string | null) => void;
142
159
  setSelectedWalletWithAction: (walletWithAction: WalletWithAction | null) => void;
143
160
  setShowAuthFlow: SetShowAuthFlow;
144
- setShowDynamicUserProfile: Dispatch<SetStateAction<boolean>>;
145
- setPasskeySuccessPopup: (key: PasskeySuccessEnum) => void;
146
- setShowQrcodeModal: Dispatch<SetStateAction<boolean>>;
147
- setShowWidgetStatePopup: Dispatch<SetStateAction<boolean>>;
148
- setUser: Dispatch<SetStateAction<UserProfile | undefined>>;
149
161
  /**
150
162
  * The set state action which regulates displaying the bridge widget
151
163
  */
152
164
  setShowBridgeWidget: Dispatch<SetStateAction<boolean>>;
165
+ setShowDynamicUserProfile: Dispatch<SetStateAction<boolean>>;
166
+ setShowQrcodeModal: Dispatch<SetStateAction<boolean>>;
167
+ setShowWidgetStatePopup: Dispatch<SetStateAction<boolean>>;
168
+ setUser: Dispatch<SetStateAction<UserProfile | undefined>>;
153
169
  shadowDOMEnabled: boolean;
154
170
  showAuthFlow: boolean;
155
- showDynamicUserProfile: boolean;
156
171
  /**
157
172
  * The boolean value representing the state of displaying the bridge widget
158
173
  */
159
174
  showBridgeWidget: boolean;
175
+ showDynamicUserProfile: boolean;
160
176
  showLockedWalletView?: boolean;
161
- passkeySuccessPopup: PasskeySuccessEnum | undefined;
162
177
  showQrcodeModal: boolean;
163
178
  showWidgetStatePopup: boolean;
164
179
  signWithEmailWalletName?: string;
@@ -171,22 +186,8 @@ export interface IDynamicContext {
171
186
  theme?: ThemeData | ThemeSetting;
172
187
  toolkitEnabled?: boolean;
173
188
  user: UserProfile | undefined;
174
- disconnectWallet: (walletId: string) => void;
175
189
  walletConnector: WalletConnector | null;
176
- walletUiUtils: WalletUiUtils<WalletConnector>;
177
190
  walletConnectorOptions: WalletOption[];
191
+ walletUiUtils: WalletUiUtils<WalletConnector>;
178
192
  walletsFilter?: (options: WalletOption[]) => WalletOption[];
179
- recommendedWallets?: RecommendedWallet[];
180
- removeConnectedWalletsInfo: () => void;
181
- /** Legacy boolean flag used in useVerifyOnAwaitingSignature. Used to be called "isVerifying".
182
- * Was meant to prevent an effect from accidentally triggering again when it shouldn't.
183
- * @deprecated Should be removed asap.
184
- */
185
- legacyIsVerifying: boolean;
186
- /** Legacy setter for legacyIsVerifying
187
- * @deprecated Should be removed asap.
188
- */
189
- setLegacyIsVerifying: Dispatch<SetStateAction<boolean>>;
190
- /** Whether there is an instance of DynamicEmbeddedAuthFlow being rendered */
191
- isRenderingEmbeddedAuthFlow: MutableRefObject<boolean>;
192
193
  }
@@ -85,7 +85,7 @@ const FundingContextProvider = ({ children, }) => {
85
85
  const [fundingUrl, setFundingUrl] = React.useState('');
86
86
  const { environmentId, network, primaryWallet, projectSettings } = useInternalDynamicContext.useInternalDynamicContext();
87
87
  const fundingEnabled = (_b = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.providers) === null || _a === void 0 ? void 0 : _a.some((p) => isOnrampProvider.isOnrampProvider(p) && Boolean(p.enabledAt))) !== null && _b !== void 0 ? _b : false;
88
- const updateSupportsFunding = React.useCallback(({ address, token } = {}) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
88
+ const updateSupportsFunding = React.useCallback((...args_1) => _tslib.__awaiter(void 0, [...args_1], void 0, function* ({ address, token } = {}) {
89
89
  var _c;
90
90
  if (!fundingEnabled)
91
91
  return;
@@ -81,7 +81,7 @@ const FundingContextProvider = ({ children, }) => {
81
81
  const [fundingUrl, setFundingUrl] = useState('');
82
82
  const { environmentId, network, primaryWallet, projectSettings } = useInternalDynamicContext();
83
83
  const fundingEnabled = (_b = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.providers) === null || _a === void 0 ? void 0 : _a.some((p) => isOnrampProvider(p) && Boolean(p.enabledAt))) !== null && _b !== void 0 ? _b : false;
84
- const updateSupportsFunding = useCallback(({ address, token } = {}) => __awaiter(void 0, void 0, void 0, function* () {
84
+ const updateSupportsFunding = useCallback((...args_1) => __awaiter(void 0, [...args_1], void 0, function* ({ address, token } = {}) {
85
85
  var _c;
86
86
  if (!fundingEnabled)
87
87
  return;
@@ -10,7 +10,7 @@ var FundingContext = require('../FundingContext.cjs');
10
10
  const useFunding = () => {
11
11
  const promiseRef = React.useRef(null);
12
12
  const { fundingEnabled, setShowFunding, showFunding, updateSupportsFunding } = FundingContext.useFundingContext();
13
- const openFunding = ({ address, token } = {}) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
13
+ const openFunding = (...args_1) => _tslib.__awaiter(void 0, [...args_1], void 0, function* ({ address, token } = {}) {
14
14
  if (!fundingEnabled) {
15
15
  throw new Error('Funding is not enabled');
16
16
  }
@@ -6,7 +6,7 @@ import { useFundingContext } from '../FundingContext.js';
6
6
  const useFunding = () => {
7
7
  const promiseRef = useRef(null);
8
8
  const { fundingEnabled, setShowFunding, showFunding, updateSupportsFunding } = useFundingContext();
9
- const openFunding = ({ address, token } = {}) => __awaiter(void 0, void 0, void 0, function* () {
9
+ const openFunding = (...args_1) => __awaiter(void 0, [...args_1], void 0, function* ({ address, token } = {}) {
10
10
  if (!fundingEnabled) {
11
11
  throw new Error('Funding is not enabled');
12
12
  }
@@ -18,7 +18,7 @@ require('../../../shared/utils/classes/storage/localStorage.cjs');
18
18
  require('../../../shared/consts/index.cjs');
19
19
  var api = require('../api.cjs');
20
20
 
21
- const getEmailProvider = ({ email, environmentId, }) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
21
+ const getEmailProvider = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ email, environmentId, }) {
22
22
  try {
23
23
  const res = yield api.sdkApi().getEmailProvider({
24
24
  email,
@@ -32,7 +32,7 @@ const getEmailProvider = ({ email, environmentId, }) => _tslib.__awaiter(void 0,
32
32
  throw new utils.EmailProviderError(data.code);
33
33
  }
34
34
  });
35
- const createEmailVerification = ({ email, environmentId, captchaToken, }) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
35
+ const createEmailVerification = (_b) => _tslib.__awaiter(void 0, [_b], void 0, function* ({ email, environmentId, captchaToken, }) {
36
36
  try {
37
37
  const res = yield api.sdkApi().createEmailVerification({
38
38
  emailVerificationCreateRequest: {
@@ -49,7 +49,7 @@ const createEmailVerification = ({ email, environmentId, captchaToken, }) => _ts
49
49
  throw new utils.EmailVerificationError(data.code);
50
50
  }
51
51
  });
52
- const signInWithEmailVerification = ({ verificationToken, verificationUUID, environmentId, captchaToken, }) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
52
+ const signInWithEmailVerification = (_c) => _tslib.__awaiter(void 0, [_c], void 0, function* ({ verificationToken, verificationUUID, environmentId, captchaToken, }) {
53
53
  try {
54
54
  const res = yield api.sdkApi().signInWithEmailVerification({
55
55
  emailVerificationVerifyRequest: {
@@ -73,7 +73,7 @@ const signInWithEmailVerification = ({ verificationToken, verificationUUID, envi
73
73
  throw new utils.EmailVerificationError(data.code);
74
74
  }
75
75
  });
76
- const retryEmailVerification = ({ email, environmentId, verificationUUID, }) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
76
+ const retryEmailVerification = (_d) => _tslib.__awaiter(void 0, [_d], void 0, function* ({ email, environmentId, verificationUUID, }) {
77
77
  try {
78
78
  const res = yield api.sdkApi().retryEmailVerification({
79
79
  emailVerificationRetryRequest: {
@@ -90,7 +90,7 @@ const retryEmailVerification = ({ email, environmentId, verificationUUID, }) =>
90
90
  throw new utils.EmailVerificationError(data.code);
91
91
  }
92
92
  });
93
- const verifyEmail = ({ verificationToken, verificationUUID, environmentId, }, userJwt) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
93
+ const verifyEmail = (_e, userJwt_1) => _tslib.__awaiter(void 0, [_e, userJwt_1], void 0, function* ({ verificationToken, verificationUUID, environmentId, }, userJwt) {
94
94
  try {
95
95
  const res = yield api.sdkApi(userJwt).verifyEmailVerification({
96
96
  emailVerificationVerifyRequest: {
@@ -6,13 +6,13 @@ export declare const getEmailProvider: ({ email, environmentId, }: {
6
6
  export declare const createEmailVerification: ({ email, environmentId, captchaToken, }: {
7
7
  email: string;
8
8
  environmentId: string;
9
- captchaToken?: string | undefined;
9
+ captchaToken?: string;
10
10
  }) => Promise<EmailVerificationCreateResponse>;
11
11
  export declare const signInWithEmailVerification: ({ verificationToken, verificationUUID, environmentId, captchaToken, }: {
12
12
  environmentId: string;
13
13
  verificationToken: string;
14
14
  verificationUUID: string;
15
- captchaToken?: string | undefined;
15
+ captchaToken?: string;
16
16
  }) => Promise<VerifyResponse>;
17
17
  export declare const retryEmailVerification: ({ email, environmentId, verificationUUID, }: {
18
18
  email: string;