@dynamic-labs/sdk-react-core 4.68.0 → 4.69.0

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 (87) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/package.cjs +2 -2
  3. package/package.js +2 -2
  4. package/package.json +13 -13
  5. package/src/lib/Main.cjs +0 -1
  6. package/src/lib/Main.d.ts +0 -1
  7. package/src/lib/Main.js +0 -1
  8. package/src/lib/client/extension/functions/generateChainingSignature/generateChainingSignature.cjs +15 -0
  9. package/src/lib/client/extension/functions/generateChainingSignature/generateChainingSignature.d.ts +1 -0
  10. package/src/lib/client/extension/functions/generateChainingSignature/generateChainingSignature.js +11 -0
  11. package/src/lib/client/extension/functions/generateSessionKeys/generateSessionKeys.cjs +11 -0
  12. package/src/lib/client/extension/functions/generateSessionKeys/generateSessionKeys.d.ts +1 -0
  13. package/src/lib/client/extension/functions/generateSessionKeys/generateSessionKeys.js +7 -0
  14. package/src/lib/client/extension/functions/getClientSessionNonceHeaders/getClientSessionNonceHeaders.cjs +33 -0
  15. package/src/lib/client/extension/functions/getClientSessionNonceHeaders/getClientSessionNonceHeaders.d.ts +16 -0
  16. package/src/lib/client/extension/functions/getClientSessionNonceHeaders/getClientSessionNonceHeaders.js +29 -0
  17. package/src/lib/client/extension/functions/getSessionKeys/getSessionKeys.d.ts +1 -0
  18. package/src/lib/client/extension/functions/migrateClientSessionKey/migrateClientSessionKey.cjs +51 -0
  19. package/src/lib/client/extension/functions/migrateClientSessionKey/migrateClientSessionKey.d.ts +1 -0
  20. package/src/lib/client/extension/functions/migrateClientSessionKey/migrateClientSessionKey.js +47 -0
  21. package/src/lib/client/extension/hooks/useInitializeSdkClient/getApiHeaders/getApiHeaders.cjs +5 -6
  22. package/src/lib/client/extension/hooks/useInitializeSdkClient/getApiHeaders/getApiHeaders.js +5 -6
  23. package/src/lib/client/extension/hooks/useInitializeSdkClient/useInitializeSdkClient.cjs +2 -0
  24. package/src/lib/client/extension/hooks/useInitializeSdkClient/useInitializeSdkClient.js +2 -0
  25. package/src/lib/client/extension/index.d.ts +4 -0
  26. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.cjs +34 -5
  27. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.js +34 -5
  28. package/src/lib/context/ConnectWithOtpContext/utils/createEmailHandler.cjs +2 -2
  29. package/src/lib/context/ConnectWithOtpContext/utils/createEmailHandler.js +2 -2
  30. package/src/lib/context/ConnectWithOtpContext/utils/createSmsHandler.cjs +2 -2
  31. package/src/lib/context/ConnectWithOtpContext/utils/createSmsHandler.js +2 -2
  32. package/src/lib/context/DynamicContext/DynamicContext.cjs +2 -4
  33. package/src/lib/context/DynamicContext/DynamicContext.js +2 -4
  34. package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.cjs +0 -2
  35. package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.js +0 -2
  36. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.cjs +0 -2
  37. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.js +0 -2
  38. package/src/lib/data/api/api.cjs +1 -1
  39. package/src/lib/data/api/api.js +1 -1
  40. package/src/lib/data/api/embeddedWallets/embeddedWallets.cjs +2 -4
  41. package/src/lib/data/api/embeddedWallets/embeddedWallets.js +2 -4
  42. package/src/lib/data/api/oauth/oauth.cjs +19 -4
  43. package/src/lib/data/api/oauth/oauth.js +19 -4
  44. package/src/lib/data/api/user/user.cjs +11 -3
  45. package/src/lib/data/api/user/user.js +11 -3
  46. package/src/lib/main.global.cjs +0 -3
  47. package/src/lib/main.global.js +0 -3
  48. package/src/lib/utils/functions/clientSessionKeys/getClientSessionKeys.cjs +0 -88
  49. package/src/lib/utils/functions/clientSessionKeys/getClientSessionKeys.d.ts +0 -25
  50. package/src/lib/utils/functions/clientSessionKeys/getClientSessionKeys.js +2 -83
  51. package/src/lib/utils/functions/index.d.ts +0 -1
  52. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.cjs +0 -2
  53. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.js +0 -2
  54. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.cjs +0 -2
  55. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.js +0 -2
  56. package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.cjs +0 -2
  57. package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.js +0 -2
  58. package/src/lib/utils/hooks/index.d.ts +0 -1
  59. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.cjs +4 -12
  60. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.js +4 -12
  61. package/src/lib/utils/hooks/useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.cjs +1 -1
  62. package/src/lib/utils/hooks/useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.js +1 -1
  63. package/src/lib/utils/hooks/useExternalAuth/useExternalAuth.cjs +2 -2
  64. package/src/lib/utils/hooks/useExternalAuth/useExternalAuth.js +2 -2
  65. package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.cjs +2 -3
  66. package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.js +2 -3
  67. package/src/lib/utils/hooks/useSignInWithPasskey/useSignInWithPasskey.cjs +14 -14
  68. package/src/lib/utils/hooks/useSignInWithPasskey/useSignInWithPasskey.js +14 -14
  69. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +3 -3
  70. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +3 -3
  71. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +0 -2
  72. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +0 -2
  73. package/src/lib/views/EmailVerification/EmailVerification.cjs +2 -2
  74. package/src/lib/views/EmailVerification/EmailVerification.js +2 -2
  75. package/src/lib/views/SmsVerification/useSmsVerification/useSmsVerification.cjs +2 -2
  76. package/src/lib/views/SmsVerification/useSmsVerification/useSmsVerification.js +2 -2
  77. package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/TrustedDevicesSection/TrustedDevicesSection.cjs +6 -0
  78. package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/TrustedDevicesSection/TrustedDevicesSection.d.ts +1 -1
  79. package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/TrustedDevicesSection/TrustedDevicesSection.js +6 -0
  80. package/_virtual/style-inject.cjs +0 -31
  81. package/_virtual/style-inject.js +0 -29
  82. package/src/lib/utils/functions/clientSessionKeys/constants.cjs +0 -8
  83. package/src/lib/utils/functions/clientSessionKeys/constants.js +0 -4
  84. package/src/lib/utils/hooks/useClientSessionKeys/index.d.ts +0 -1
  85. package/src/lib/utils/hooks/useClientSessionKeys/useClientSessionKeys.cjs +0 -101
  86. package/src/lib/utils/hooks/useClientSessionKeys/useClientSessionKeys.d.ts +0 -4
  87. package/src/lib/utils/hooks/useClientSessionKeys/useClientSessionKeys.js +0 -97
@@ -1,29 +0,0 @@
1
- 'use client'
2
- function styleInject(css, ref) {
3
- if ( ref === void 0 ) ref = {};
4
- var insertAt = ref.insertAt;
5
-
6
- if (!css || typeof document === 'undefined') { return; }
7
-
8
- var head = document.head || document.getElementsByTagName('head')[0];
9
- var style = document.createElement('style');
10
- style.type = 'text/css';
11
-
12
- if (insertAt === 'top') {
13
- if (head.firstChild) {
14
- head.insertBefore(style, head.firstChild);
15
- } else {
16
- head.appendChild(style);
17
- }
18
- } else {
19
- head.appendChild(style);
20
- }
21
-
22
- if (style.styleSheet) {
23
- style.styleSheet.cssText = css;
24
- } else {
25
- style.appendChild(document.createTextNode(css));
26
- }
27
- }
28
-
29
- export { styleInject as default };
@@ -1,8 +0,0 @@
1
- 'use client'
2
- 'use strict';
3
-
4
- Object.defineProperty(exports, '__esModule', { value: true });
5
-
6
- const clientSessionKeyLogScope = 'client-session-key';
7
-
8
- exports.clientSessionKeyLogScope = clientSessionKeyLogScope;
@@ -1,4 +0,0 @@
1
- 'use client'
2
- const clientSessionKeyLogScope = 'client-session-key';
3
-
4
- export { clientSessionKeyLogScope };
@@ -1 +0,0 @@
1
- export { useClientSessionKeys } from './useClientSessionKeys';
@@ -1,101 +0,0 @@
1
- 'use client'
2
- 'use strict';
3
-
4
- Object.defineProperty(exports, '__esModule', { value: true });
5
-
6
- var _tslib = require('../../../../../_virtual/_tslib.cjs');
7
- var React = require('react');
8
- var utils = require('@dynamic-labs/utils');
9
- require('@dynamic-labs-sdk/client/core');
10
- require('@dynamic-labs/sdk-api-core');
11
- require('../../../client/client.cjs');
12
- require('@dynamic-labs-sdk/client');
13
- require('../../../config/ApiEndpoint.cjs');
14
- require('@dynamic-labs/iconic');
15
- require('@dynamic-labs/wallet-connector-core');
16
- require('react/jsx-runtime');
17
- require('../../../context/ViewContext/ViewContext.cjs');
18
- var logger = require('../../../shared/logger.cjs');
19
- require('@dynamic-labs/wallet-book');
20
- require('../../constants/colors.cjs');
21
- require('../../constants/values.cjs');
22
- require('../../../shared/consts/index.cjs');
23
- require('@dynamic-labs/multi-wallet');
24
- require('react-international-phone');
25
- require('../../../store/state/nonce/nonce.cjs');
26
- require('@dynamic-labs/locale');
27
- require('../../../store/state/dynamicContextProps/dynamicContextProps.cjs');
28
- require('../../../store/state/primaryWalletId/primaryWalletId.cjs');
29
- require('../../../store/state/connectedWalletsInfo/connectedWalletsInfo.cjs');
30
- var getClientSessionKeys = require('../../functions/clientSessionKeys/getClientSessionKeys.cjs');
31
- require('../../functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.cjs');
32
- require('../../../events/dynamicEvents.cjs');
33
- var getUserProfile = require('../../../client/extension/user/getUserProfile/getUserProfile.cjs');
34
- var useOnboardingCompleteUser = require('../../../client/extension/user/useOnboardingCompleteUser/useOnboardingCompleteUser.cjs');
35
- var getMinAuthToken = require('../../../client/extension/functions/getMinAuthToken/getMinAuthToken.cjs');
36
- var sessionStorage = require('../../constants/sessionStorage.cjs');
37
-
38
- const useClientSessionKeys = () => {
39
- const user = useOnboardingCompleteUser.useOnboardingCompleteUser();
40
- const sessionPublicKey = getClientSessionKeys.getClientSessionPublicKey();
41
- // Use refs to capture latest values without causing function reference changes
42
- const userRef = React.useRef(user);
43
- const sessionPublicKeyRef = React.useRef(sessionPublicKey);
44
- // Update refs on every render
45
- userRef.current = user;
46
- sessionPublicKeyRef.current = sessionPublicKey;
47
- /**
48
- * Get a signed session ID with nonce for replay protection.
49
- * Returns signature in format: `${signedSessionId}/${signedNonce}/${nonce}`
50
- *
51
- * This is a lazy function - nonce API is only called when this function is invoked.
52
- */
53
- const getSignedSessionId = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
54
- const currentUser = userRef.current;
55
- const currentPublicKey = sessionPublicKeyRef.current;
56
- if (!(currentUser === null || currentUser === void 0 ? void 0 : currentUser.sessionId) || !currentPublicKey) {
57
- logger.logger.instrument('[SessionChaining] Session ID and public key are required', {
58
- hasClientSessionKeysInSecureStorage: Boolean(utils.StorageService.getItem(sessionStorage.CLIENT_SESSION_KEYS, sessionStorage.CLIENT_SESSION_KEYS_STORAGE_OPTIONS)),
59
- hasLocalStorage: Boolean(utils.StorageService.getSourceStorage('localStorage')),
60
- hasSecureStorage: Boolean(utils.StorageService.getSourceStorage('secureStorage')),
61
- hasSessionId: currentUser ? Boolean(currentUser.sessionId) : false,
62
- hasSessionPublicKey: Boolean(currentPublicKey),
63
- hasSessionStorage: Boolean(utils.StorageService.getSourceStorage('sessionStorage')),
64
- hasUser: Boolean(currentUser),
65
- key: 'session_chaining_missing_requirements',
66
- sessionId: currentUser === null || currentUser === void 0 ? void 0 : currentUser.sessionId,
67
- sessionPublicKey: currentPublicKey,
68
- stateHasMinAuthToken: Boolean(getMinAuthToken.getMinAuthToken()),
69
- stateHasUser: Boolean(getUserProfile.getUserProfile()),
70
- time: 0,
71
- userId: currentUser === null || currentUser === void 0 ? void 0 : currentUser.id,
72
- });
73
- throw new Error('Session ID and public key are required');
74
- }
75
- const { sessionSignature: signedSessionId } = yield getClientSessionKeys.getClientSessionSignature({
76
- sessionId: currentUser.sessionId,
77
- });
78
- const { nonce, nonceSignature } = yield getClientSessionKeys.getClientSessionNonceSignature({
79
- environmentId: currentUser.projectEnvironmentId,
80
- });
81
- const sessionSignature = `${signedSessionId}/${nonceSignature}/${nonce}`;
82
- logger.logger.instrument('[SessionChaining] Generated session signature', {
83
- environmentId: currentUser.projectEnvironmentId,
84
- key: 'generated_session_signature',
85
- nonce,
86
- nonceSignature,
87
- sessionId: currentUser.sessionId,
88
- sessionPublicKey: currentPublicKey,
89
- sessionSignature,
90
- signedSessionId,
91
- time: 0,
92
- });
93
- return sessionSignature;
94
- }), []);
95
- return {
96
- getSignedSessionId,
97
- sessionPublicKey,
98
- };
99
- };
100
-
101
- exports.useClientSessionKeys = useClientSessionKeys;
@@ -1,4 +0,0 @@
1
- export declare const useClientSessionKeys: () => {
2
- getSignedSessionId: () => Promise<string>;
3
- sessionPublicKey: string | undefined;
4
- };
@@ -1,97 +0,0 @@
1
- 'use client'
2
- import { __awaiter } from '../../../../../_virtual/_tslib.js';
3
- import { useRef, useCallback } from 'react';
4
- import { StorageService } from '@dynamic-labs/utils';
5
- import '@dynamic-labs-sdk/client/core';
6
- import '@dynamic-labs/sdk-api-core';
7
- import '../../../client/client.js';
8
- import '@dynamic-labs-sdk/client';
9
- import '../../../config/ApiEndpoint.js';
10
- import '@dynamic-labs/iconic';
11
- import '@dynamic-labs/wallet-connector-core';
12
- import 'react/jsx-runtime';
13
- import '../../../context/ViewContext/ViewContext.js';
14
- import { logger } from '../../../shared/logger.js';
15
- import '@dynamic-labs/wallet-book';
16
- import '../../constants/colors.js';
17
- import '../../constants/values.js';
18
- import '../../../shared/consts/index.js';
19
- import '@dynamic-labs/multi-wallet';
20
- import 'react-international-phone';
21
- import '../../../store/state/nonce/nonce.js';
22
- import '@dynamic-labs/locale';
23
- import '../../../store/state/dynamicContextProps/dynamicContextProps.js';
24
- import '../../../store/state/primaryWalletId/primaryWalletId.js';
25
- import '../../../store/state/connectedWalletsInfo/connectedWalletsInfo.js';
26
- import { getClientSessionPublicKey, getClientSessionSignature, getClientSessionNonceSignature } from '../../functions/clientSessionKeys/getClientSessionKeys.js';
27
- import '../../functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.js';
28
- import '../../../events/dynamicEvents.js';
29
- import { getUserProfile } from '../../../client/extension/user/getUserProfile/getUserProfile.js';
30
- import { useOnboardingCompleteUser } from '../../../client/extension/user/useOnboardingCompleteUser/useOnboardingCompleteUser.js';
31
- import { getMinAuthToken } from '../../../client/extension/functions/getMinAuthToken/getMinAuthToken.js';
32
- import { CLIENT_SESSION_KEYS, CLIENT_SESSION_KEYS_STORAGE_OPTIONS } from '../../constants/sessionStorage.js';
33
-
34
- const useClientSessionKeys = () => {
35
- const user = useOnboardingCompleteUser();
36
- const sessionPublicKey = getClientSessionPublicKey();
37
- // Use refs to capture latest values without causing function reference changes
38
- const userRef = useRef(user);
39
- const sessionPublicKeyRef = useRef(sessionPublicKey);
40
- // Update refs on every render
41
- userRef.current = user;
42
- sessionPublicKeyRef.current = sessionPublicKey;
43
- /**
44
- * Get a signed session ID with nonce for replay protection.
45
- * Returns signature in format: `${signedSessionId}/${signedNonce}/${nonce}`
46
- *
47
- * This is a lazy function - nonce API is only called when this function is invoked.
48
- */
49
- const getSignedSessionId = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
50
- const currentUser = userRef.current;
51
- const currentPublicKey = sessionPublicKeyRef.current;
52
- if (!(currentUser === null || currentUser === void 0 ? void 0 : currentUser.sessionId) || !currentPublicKey) {
53
- logger.instrument('[SessionChaining] Session ID and public key are required', {
54
- hasClientSessionKeysInSecureStorage: Boolean(StorageService.getItem(CLIENT_SESSION_KEYS, CLIENT_SESSION_KEYS_STORAGE_OPTIONS)),
55
- hasLocalStorage: Boolean(StorageService.getSourceStorage('localStorage')),
56
- hasSecureStorage: Boolean(StorageService.getSourceStorage('secureStorage')),
57
- hasSessionId: currentUser ? Boolean(currentUser.sessionId) : false,
58
- hasSessionPublicKey: Boolean(currentPublicKey),
59
- hasSessionStorage: Boolean(StorageService.getSourceStorage('sessionStorage')),
60
- hasUser: Boolean(currentUser),
61
- key: 'session_chaining_missing_requirements',
62
- sessionId: currentUser === null || currentUser === void 0 ? void 0 : currentUser.sessionId,
63
- sessionPublicKey: currentPublicKey,
64
- stateHasMinAuthToken: Boolean(getMinAuthToken()),
65
- stateHasUser: Boolean(getUserProfile()),
66
- time: 0,
67
- userId: currentUser === null || currentUser === void 0 ? void 0 : currentUser.id,
68
- });
69
- throw new Error('Session ID and public key are required');
70
- }
71
- const { sessionSignature: signedSessionId } = yield getClientSessionSignature({
72
- sessionId: currentUser.sessionId,
73
- });
74
- const { nonce, nonceSignature } = yield getClientSessionNonceSignature({
75
- environmentId: currentUser.projectEnvironmentId,
76
- });
77
- const sessionSignature = `${signedSessionId}/${nonceSignature}/${nonce}`;
78
- logger.instrument('[SessionChaining] Generated session signature', {
79
- environmentId: currentUser.projectEnvironmentId,
80
- key: 'generated_session_signature',
81
- nonce,
82
- nonceSignature,
83
- sessionId: currentUser.sessionId,
84
- sessionPublicKey: currentPublicKey,
85
- sessionSignature,
86
- signedSessionId,
87
- time: 0,
88
- });
89
- return sessionSignature;
90
- }), []);
91
- return {
92
- getSignedSessionId,
93
- sessionPublicKey,
94
- };
95
- };
96
-
97
- export { useClientSessionKeys };