@dynamic-labs/sdk-react-core 4.71.0 → 4.73.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 (148) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/package.cjs +2 -2
  3. package/package.js +2 -2
  4. package/package.json +13 -13
  5. package/src/lib/client/extension/functions/generateChainingSignature/generateChainingSignature.cjs +15 -0
  6. package/src/lib/client/extension/functions/generateChainingSignature/generateChainingSignature.d.ts +1 -0
  7. package/src/lib/client/extension/functions/generateChainingSignature/generateChainingSignature.js +11 -0
  8. package/src/lib/client/extension/functions/generateSessionKeys/generateSessionKeys.cjs +11 -0
  9. package/src/lib/client/extension/functions/generateSessionKeys/generateSessionKeys.d.ts +1 -0
  10. package/src/lib/client/extension/functions/generateSessionKeys/generateSessionKeys.js +7 -0
  11. package/src/lib/client/extension/functions/getClientSessionNonceHeaders/getClientSessionNonceHeaders.cjs +33 -0
  12. package/src/lib/client/extension/functions/getClientSessionNonceHeaders/getClientSessionNonceHeaders.d.ts +16 -0
  13. package/src/lib/client/extension/functions/getClientSessionNonceHeaders/getClientSessionNonceHeaders.js +29 -0
  14. package/src/lib/client/extension/functions/getSessionKeys/getSessionKeys.d.ts +1 -0
  15. package/src/lib/client/extension/functions/hasElevatedAccessToken/hasElevatedAccessToken.cjs +5 -9
  16. package/src/lib/client/extension/functions/hasElevatedAccessToken/hasElevatedAccessToken.d.ts +4 -0
  17. package/src/lib/client/extension/functions/hasElevatedAccessToken/hasElevatedAccessToken.js +6 -10
  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/syncEvents/syncEvents.cjs +2 -2
  24. package/src/lib/client/extension/hooks/useInitializeSdkClient/syncEvents/syncEvents.js +2 -2
  25. package/src/lib/client/extension/hooks/useInitializeSdkClient/useInitializeSdkClient.cjs +2 -0
  26. package/src/lib/client/extension/hooks/useInitializeSdkClient/useInitializeSdkClient.js +2 -0
  27. package/src/lib/client/extension/index.d.ts +4 -0
  28. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.cjs +2 -2
  29. package/src/lib/components/UserProfile/parts/UserProfileSocialAccount/UserProfileSocialAccount.js +2 -2
  30. package/src/lib/context/ConnectWithOtpContext/utils/createEmailHandler.cjs +2 -2
  31. package/src/lib/context/ConnectWithOtpContext/utils/createEmailHandler.js +2 -2
  32. package/src/lib/context/ConnectWithOtpContext/utils/createSmsHandler.cjs +2 -2
  33. package/src/lib/context/ConnectWithOtpContext/utils/createSmsHandler.js +2 -2
  34. package/src/lib/context/DynamicContext/DynamicContext.cjs +0 -3
  35. package/src/lib/context/DynamicContext/DynamicContext.js +0 -3
  36. package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.cjs +10 -9
  37. package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.d.ts +2 -1
  38. package/src/lib/context/DynamicContext/hooks/useHandleLogout/useHandleLogout.js +10 -9
  39. package/src/lib/context/DynamicContext/types/DynamicContextProps.d.ts +10 -0
  40. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.cjs +0 -2
  41. package/src/lib/context/SocialRedirectContext/SocialRedirectContext.js +0 -2
  42. package/src/lib/data/api/api.cjs +1 -1
  43. package/src/lib/data/api/api.js +1 -1
  44. package/src/lib/data/api/embeddedWallets/embeddedWallets.cjs +2 -4
  45. package/src/lib/data/api/embeddedWallets/embeddedWallets.js +2 -4
  46. package/src/lib/events/auth.d.ts +2 -1
  47. package/src/lib/shared/assets/backupArrow.cjs +1 -1
  48. package/src/lib/shared/assets/backupArrow.js +1 -1
  49. package/src/lib/shared/assets/export-private-key.cjs +1 -2
  50. package/src/lib/shared/assets/export-private-key.js +1 -2
  51. package/src/lib/shared/assets/export-recovery-phrase.cjs +1 -2
  52. package/src/lib/shared/assets/export-recovery-phrase.js +1 -2
  53. package/src/lib/shared/assets/face-id.cjs +1 -1
  54. package/src/lib/shared/assets/face-id.js +1 -1
  55. package/src/lib/shared/assets/lock.cjs +1 -2
  56. package/src/lib/shared/assets/lock.js +1 -2
  57. package/src/lib/store/state/dynamicContextProps/defaultDynamicSettings.cjs +2 -0
  58. package/src/lib/store/state/dynamicContextProps/defaultDynamicSettings.d.ts +3 -3
  59. package/src/lib/store/state/dynamicContextProps/defaultDynamicSettings.js +2 -0
  60. package/src/lib/utils/functions/clientSessionKeys/getClientSessionKeys.cjs +0 -88
  61. package/src/lib/utils/functions/clientSessionKeys/getClientSessionKeys.d.ts +0 -25
  62. package/src/lib/utils/functions/clientSessionKeys/getClientSessionKeys.js +2 -83
  63. package/src/lib/utils/functions/index.d.ts +0 -1
  64. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.cjs +0 -2
  65. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSign/useConnectAndSign.js +0 -2
  66. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.cjs +0 -2
  67. package/src/lib/utils/hooks/authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.js +0 -2
  68. package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.cjs +0 -2
  69. package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.js +0 -2
  70. package/src/lib/utils/hooks/index.d.ts +0 -1
  71. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.cjs +4 -12
  72. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.js +4 -12
  73. package/src/lib/utils/hooks/useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.cjs +1 -1
  74. package/src/lib/utils/hooks/useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.js +1 -1
  75. package/src/lib/utils/hooks/useExternalAuth/useExternalAuth.cjs +2 -2
  76. package/src/lib/utils/hooks/useExternalAuth/useExternalAuth.js +2 -2
  77. package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.cjs +2 -3
  78. package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.js +2 -3
  79. package/src/lib/utils/hooks/useSignInWithPasskey/useSignInWithPasskey.cjs +14 -14
  80. package/src/lib/utils/hooks/useSignInWithPasskey/useSignInWithPasskey.js +14 -14
  81. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +3 -3
  82. package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +3 -3
  83. package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpAuthentication.cjs +14 -38
  84. package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpAuthentication.js +14 -38
  85. package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpAuthentication.types.d.ts +8 -3
  86. package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpOtp.cjs +6 -10
  87. package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpOtp.d.ts +2 -2
  88. package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpOtp.js +6 -10
  89. package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpPromptMfa.cjs +4 -1
  90. package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpPromptMfa.js +4 -1
  91. package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpPromptReauth.cjs +22 -6
  92. package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpPromptReauth.js +22 -6
  93. package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpWallet.cjs +9 -3
  94. package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpWallet.d.ts +1 -1
  95. package/src/lib/utils/hooks/useStepUpAuthentication/useStepUpWallet.js +9 -3
  96. package/src/lib/utils/hooks/useSyncDeviceRegistrationFlow/useSyncDeviceRegistrationFlow.cjs +5 -1
  97. package/src/lib/utils/hooks/useSyncDeviceRegistrationFlow/useSyncDeviceRegistrationFlow.js +5 -1
  98. package/src/lib/utils/hooks/useValidateSession/handleWalletInfoOutOfSync/handleWalletInfoOutOfSync.cjs +1 -1
  99. package/src/lib/utils/hooks/useValidateSession/handleWalletInfoOutOfSync/handleWalletInfoOutOfSync.d.ts +2 -1
  100. package/src/lib/utils/hooks/useValidateSession/handleWalletInfoOutOfSync/handleWalletInfoOutOfSync.js +1 -1
  101. package/src/lib/utils/hooks/useValidateSession/useValidateSession.cjs +2 -2
  102. package/src/lib/utils/hooks/useValidateSession/useValidateSession.d.ts +2 -1
  103. package/src/lib/utils/hooks/useValidateSession/useValidateSession.js +2 -2
  104. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +0 -2
  105. package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +0 -2
  106. package/src/lib/views/BridgeSummaryView/BridgeSummaryView.cjs +1 -1
  107. package/src/lib/views/BridgeSummaryView/BridgeSummaryView.js +1 -1
  108. package/src/lib/views/EmailVerification/EmailVerification.cjs +2 -2
  109. package/src/lib/views/EmailVerification/EmailVerification.js +2 -2
  110. package/src/lib/views/SmsVerification/useSmsVerification/useSmsVerification.cjs +2 -2
  111. package/src/lib/views/SmsVerification/useSmsVerification/useSmsVerification.js +2 -2
  112. package/src/lib/views/StepUpReauthOtpView/StepUpReauthOtpView.cjs +1 -109
  113. package/src/lib/views/StepUpReauthOtpView/StepUpReauthOtpView.js +1 -109
  114. package/src/lib/views/StepUpReauthSocialView/StepUpReauthSocialView.cjs +1 -2
  115. package/src/lib/views/StepUpReauthSocialView/StepUpReauthSocialView.js +1 -2
  116. package/src/lib/views/StepUpReauthWalletView/StepUpReauthWalletView.cjs +2 -96
  117. package/src/lib/views/StepUpReauthWalletView/StepUpReauthWalletView.js +2 -96
  118. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.cjs +2 -2
  119. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.d.ts +1 -0
  120. package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.js +2 -2
  121. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/WalletsView.cjs +1 -1
  122. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/WalletsView.js +1 -1
  123. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs +1 -1
  124. package/src/lib/widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js +1 -1
  125. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.cjs +1 -1
  126. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.js +1 -1
  127. package/src/lib/widgets/DynamicWidget/components/PasskeyCard/PasskeyCard.cjs +1 -1
  128. package/src/lib/widgets/DynamicWidget/components/PasskeyCard/PasskeyCard.js +1 -1
  129. package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.cjs +1 -1
  130. package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.js +1 -1
  131. package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/EmbeddedWalletExportSection/EmbeddedWalletExportSection.cjs +62 -8
  132. package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/EmbeddedWalletExportSection/EmbeddedWalletExportSection.js +63 -9
  133. package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/MfaSection/MfaSection.cjs +12 -54
  134. package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/MfaSection/MfaSection.js +12 -54
  135. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.cjs +1 -1
  136. package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.js +1 -1
  137. package/src/lib/widgets/DynamicWidget/views/ExportAndRecoveryView/ExportAndRecoveryView.cjs +2 -3
  138. package/src/lib/widgets/DynamicWidget/views/ExportAndRecoveryView/ExportAndRecoveryView.js +2 -3
  139. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysMfaWidgetView/ManagePasskeysMfaWidgetView.cjs +1 -1
  140. package/src/lib/widgets/DynamicWidget/views/ManagePasskeysMfaWidgetView/ManagePasskeysMfaWidgetView.js +1 -1
  141. package/src/lib/widgets/DynamicWidget/views/ManageTotpMfaWidgetView/ManageTotpMfaWidgetView.cjs +2 -2
  142. package/src/lib/widgets/DynamicWidget/views/ManageTotpMfaWidgetView/ManageTotpMfaWidgetView.js +2 -2
  143. package/src/lib/utils/functions/clientSessionKeys/constants.cjs +0 -8
  144. package/src/lib/utils/functions/clientSessionKeys/constants.js +0 -4
  145. package/src/lib/utils/hooks/useClientSessionKeys/index.d.ts +0 -1
  146. package/src/lib/utils/hooks/useClientSessionKeys/useClientSessionKeys.cjs +0 -101
  147. package/src/lib/utils/hooks/useClientSessionKeys/useClientSessionKeys.d.ts +0 -4
  148. package/src/lib/utils/hooks/useClientSessionKeys/useClientSessionKeys.js +0 -97
@@ -26,6 +26,7 @@ import '../../../client/client.js';
26
26
  import '@dynamic-labs-sdk/client';
27
27
  import '../../../config/ApiEndpoint.js';
28
28
  import { isCookieEnabled } from '../../../client/extension/functions/isCookieEnabled/isCookieEnabled.js';
29
+ import { generateChainingSignature } from '../../../client/extension/functions/generateChainingSignature/generateChainingSignature.js';
29
30
  import '@dynamic-labs/locale';
30
31
  import { useApiBaseUrl } from '../../../store/state/dynamicContextProps/dynamicContextProps.js';
31
32
  import '../../../store/state/primaryWalletId/primaryWalletId.js';
@@ -107,13 +108,11 @@ import { useGetMfaToken } from '../useGetMfaToken/useGetMfaToken.js';
107
108
  import '../../../store/state/tokenBalances.js';
108
109
  import '../../../store/state/multichainBalances.js';
109
110
  import '../../../shared/utils/functions/getInitialUrl/getInitialUrl.js';
110
- import { useClientSessionKeys } from '../useClientSessionKeys/useClientSessionKeys.js';
111
111
 
112
112
  const useSetWalletConnectorFetchers = (walletOptions, environmentId, projectSettings) => {
113
113
  var _a, _b, _c;
114
114
  const apiBaseUrl = useApiBaseUrl();
115
115
  const { registerEmbeddedWalletSessionKey, removeSessionKey } = useEmbeddedWalletSessionKeys({ environmentId, projectSettings });
116
- const { getSignedSessionId } = useClientSessionKeys();
117
116
  const getMfaToken = useGetMfaToken();
118
117
  const isCookieAuthEnabled = projectSettings && isCookieEnabled();
119
118
  const svmGasSponsorshipEnabled = (_c = (_b = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _a === void 0 ? void 0 : _a.embeddedWallets) === null || _b === void 0 ? void 0 : _b.svmGasSponsorshipEnabled) !== null && _c !== void 0 ? _c : false;
@@ -133,7 +132,7 @@ const useSetWalletConnectorFetchers = (walletOptions, environmentId, projectSett
133
132
  authMode: isCookieAuthEnabled ? 'cookie' : 'header',
134
133
  environmentId,
135
134
  getMfaToken,
136
- getSignedSessionId,
135
+ getSignedSessionId: generateChainingSignature,
137
136
  getSvmGasSponsorshipEnabled: () => svmGasSponsorshipEnabledRef.current,
138
137
  relayUrl: (_e = (_d = (_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _c === void 0 ? void 0 : _c.waas) === null || _d === void 0 ? void 0 : _d.relayUrl) !== null && _e !== void 0 ? _e : '',
139
138
  walletConnector: walletOption.walletConnector,
@@ -6,34 +6,34 @@ Object.defineProperty(exports, '__esModule', { value: true });
6
6
  var _tslib = require('../../../../../_virtual/_tslib.cjs');
7
7
  var React = require('react');
8
8
  var client = require('@dynamic-labs-sdk/client');
9
- require('@dynamic-labs/sdk-api-core');
10
- require('../../constants/values.cjs');
11
- require('@dynamic-labs/utils');
12
- require('@dynamic-labs/multi-wallet');
13
- require('../../../shared/logger.cjs');
14
- require('react-international-phone');
15
- require('../../constants/colors.cjs');
9
+ require('../../../context/DynamicContext/DynamicContext.cjs');
10
+ require('../../../store/state/loadingAndLifecycle/loadingAndLifecycle.cjs');
16
11
  require('@dynamic-labs/iconic');
17
12
  require('@dynamic-labs/wallet-connector-core');
18
13
  require('react/jsx-runtime');
19
14
  require('../../../context/ViewContext/ViewContext.cjs');
15
+ require('../../../shared/logger.cjs');
20
16
  require('@dynamic-labs/wallet-book');
17
+ require('@dynamic-labs/utils');
18
+ require('../../constants/colors.cjs');
19
+ require('../../constants/values.cjs');
20
+ require('@dynamic-labs/sdk-api-core');
21
21
  require('../../../shared/consts/index.cjs');
22
+ require('../../../events/dynamicEvents.cjs');
23
+ require('../../../context/CaptchaContext/CaptchaContext.cjs');
24
+ require('../../../context/ErrorContext/ErrorContext.cjs');
25
+ require('@dynamic-labs/multi-wallet');
26
+ require('react-international-phone');
22
27
  require('../../../store/state/nonce/nonce.cjs');
23
28
  require('@dynamic-labs-sdk/client/core');
24
29
  require('../../../client/client.cjs');
25
30
  require('../../../config/ApiEndpoint.cjs');
26
- require('../../../events/dynamicEvents.cjs');
31
+ var generateSessionKeys = require('../../../client/extension/functions/generateSessionKeys/generateSessionKeys.cjs');
27
32
  require('@dynamic-labs/locale');
28
33
  require('../../../store/state/dynamicContextProps/dynamicContextProps.cjs');
29
34
  require('../../../store/state/primaryWalletId/primaryWalletId.cjs');
30
35
  require('../../../store/state/connectedWalletsInfo/connectedWalletsInfo.cjs');
31
- var getClientSessionKeys = require('../../functions/clientSessionKeys/getClientSessionKeys.cjs');
32
36
  require('../../functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.cjs');
33
- require('../../../context/DynamicContext/DynamicContext.cjs');
34
- require('../../../store/state/loadingAndLifecycle/loadingAndLifecycle.cjs');
35
- require('../../../context/CaptchaContext/CaptchaContext.cjs');
36
- require('../../../context/ErrorContext/ErrorContext.cjs');
37
37
  require('../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
38
38
  require('../../../context/AccountExistsContext/AccountExistsContext.cjs');
39
39
  require('../../../context/UserWalletsContext/UserWalletsContext.cjs');
@@ -132,7 +132,7 @@ var useInternalDynamicContext = require('../../../context/DynamicContext/useDyna
132
132
  const useSignInWithPasskey = ({ relatedOriginRpId, } = {}) => {
133
133
  const { setCallback } = useInternalDynamicContext.useInternalDynamicContext();
134
134
  return React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
135
- yield getClientSessionKeys.generateClientSessionKeys();
135
+ yield generateSessionKeys.generateSessionKeys();
136
136
  const response = yield client.signInWithPasskey({ relatedOriginRpId });
137
137
  setCallback('authSuccess');
138
138
  return response;
@@ -2,34 +2,34 @@
2
2
  import { __awaiter } from '../../../../../_virtual/_tslib.js';
3
3
  import { useCallback } from 'react';
4
4
  import { signInWithPasskey } from '@dynamic-labs-sdk/client';
5
- import '@dynamic-labs/sdk-api-core';
6
- import '../../constants/values.js';
7
- import '@dynamic-labs/utils';
8
- import '@dynamic-labs/multi-wallet';
9
- import '../../../shared/logger.js';
10
- import 'react-international-phone';
11
- import '../../constants/colors.js';
5
+ import '../../../context/DynamicContext/DynamicContext.js';
6
+ import '../../../store/state/loadingAndLifecycle/loadingAndLifecycle.js';
12
7
  import '@dynamic-labs/iconic';
13
8
  import '@dynamic-labs/wallet-connector-core';
14
9
  import 'react/jsx-runtime';
15
10
  import '../../../context/ViewContext/ViewContext.js';
11
+ import '../../../shared/logger.js';
16
12
  import '@dynamic-labs/wallet-book';
13
+ import '@dynamic-labs/utils';
14
+ import '../../constants/colors.js';
15
+ import '../../constants/values.js';
16
+ import '@dynamic-labs/sdk-api-core';
17
17
  import '../../../shared/consts/index.js';
18
+ import '../../../events/dynamicEvents.js';
19
+ import '../../../context/CaptchaContext/CaptchaContext.js';
20
+ import '../../../context/ErrorContext/ErrorContext.js';
21
+ import '@dynamic-labs/multi-wallet';
22
+ import 'react-international-phone';
18
23
  import '../../../store/state/nonce/nonce.js';
19
24
  import '@dynamic-labs-sdk/client/core';
20
25
  import '../../../client/client.js';
21
26
  import '../../../config/ApiEndpoint.js';
22
- import '../../../events/dynamicEvents.js';
27
+ import { generateSessionKeys } from '../../../client/extension/functions/generateSessionKeys/generateSessionKeys.js';
23
28
  import '@dynamic-labs/locale';
24
29
  import '../../../store/state/dynamicContextProps/dynamicContextProps.js';
25
30
  import '../../../store/state/primaryWalletId/primaryWalletId.js';
26
31
  import '../../../store/state/connectedWalletsInfo/connectedWalletsInfo.js';
27
- import { generateClientSessionKeys } from '../../functions/clientSessionKeys/getClientSessionKeys.js';
28
32
  import '../../functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.js';
29
- import '../../../context/DynamicContext/DynamicContext.js';
30
- import '../../../store/state/loadingAndLifecycle/loadingAndLifecycle.js';
31
- import '../../../context/CaptchaContext/CaptchaContext.js';
32
- import '../../../context/ErrorContext/ErrorContext.js';
33
33
  import '../../../context/AccessDeniedContext/AccessDeniedContext.js';
34
34
  import '../../../context/AccountExistsContext/AccountExistsContext.js';
35
35
  import '../../../context/UserWalletsContext/UserWalletsContext.js';
@@ -128,7 +128,7 @@ import { useInternalDynamicContext } from '../../../context/DynamicContext/useDy
128
128
  const useSignInWithPasskey = ({ relatedOriginRpId, } = {}) => {
129
129
  const { setCallback } = useInternalDynamicContext();
130
130
  return useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
131
- yield generateClientSessionKeys();
131
+ yield generateSessionKeys();
132
132
  const response = yield signInWithPasskey({ relatedOriginRpId });
133
133
  setCallback('authSuccess');
134
134
  return response;
@@ -35,12 +35,12 @@ var randomString = require('../../functions/randomString/randomString.cjs');
35
35
  require('@dynamic-labs-sdk/client/core');
36
36
  require('@dynamic-labs-sdk/client');
37
37
  require('../../../config/ApiEndpoint.cjs');
38
+ var generateSessionKeys = require('../../../client/extension/functions/generateSessionKeys/generateSessionKeys.cjs');
38
39
  var oauth = require('../../../data/api/oauth/oauth.cjs');
39
40
  require('@dynamic-labs/locale');
40
41
  require('../../../store/state/dynamicContextProps/dynamicContextProps.cjs');
41
42
  require('../../../store/state/primaryWalletId/primaryWalletId.cjs');
42
43
  require('../../../store/state/connectedWalletsInfo/connectedWalletsInfo.cjs');
43
- var getClientSessionKeys = require('../../functions/clientSessionKeys/getClientSessionKeys.cjs');
44
44
  require('../../functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.cjs');
45
45
  require('../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
46
46
  require('../../../context/AccountExistsContext/AccountExistsContext.cjs');
@@ -232,7 +232,7 @@ const useSocialAuth = ({ onSettled, onError, onFarcasterUrl, }) => {
232
232
  }));
233
233
  }
234
234
  if (authMode === 'signin') {
235
- yield getClientSessionKeys.generateClientSessionKeys();
235
+ yield generateSessionKeys.generateSessionKeys();
236
236
  if (provider === sdkApiCore.ProviderEnum.Telegram && telegramAuthToken) {
237
237
  const apiCall = () => oauth.telegramSignIn(environmentId, {
238
238
  captchaToken,
@@ -357,7 +357,7 @@ const useSocialAuth = ({ onSettled, onError, onFarcasterUrl, }) => {
357
357
  const keypair = yield generateSessionKey();
358
358
  sessionPublicKey = keypair.publicKey;
359
359
  }
360
- yield getClientSessionKeys.generateClientSessionKeys();
360
+ yield generateSessionKeys.generateSessionKeys();
361
361
  const apiCall = () => oauth.farcasterSignIn(environmentId, {
362
362
  address,
363
363
  captchaToken,
@@ -31,12 +31,12 @@ import { randomString } from '../../functions/randomString/randomString.js';
31
31
  import '@dynamic-labs-sdk/client/core';
32
32
  import '@dynamic-labs-sdk/client';
33
33
  import '../../../config/ApiEndpoint.js';
34
+ import { generateSessionKeys } from '../../../client/extension/functions/generateSessionKeys/generateSessionKeys.js';
34
35
  import { telegramSignIn, signInOAuth, verifyOAuth, telegramVerify, getOAuthResult, initAuth, farcasterSignIn, farcasterVerify } from '../../../data/api/oauth/oauth.js';
35
36
  import '@dynamic-labs/locale';
36
37
  import '../../../store/state/dynamicContextProps/dynamicContextProps.js';
37
38
  import '../../../store/state/primaryWalletId/primaryWalletId.js';
38
39
  import '../../../store/state/connectedWalletsInfo/connectedWalletsInfo.js';
39
- import { generateClientSessionKeys } from '../../functions/clientSessionKeys/getClientSessionKeys.js';
40
40
  import '../../functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.js';
41
41
  import '../../../context/AccessDeniedContext/AccessDeniedContext.js';
42
42
  import '../../../context/AccountExistsContext/AccountExistsContext.js';
@@ -228,7 +228,7 @@ const useSocialAuth = ({ onSettled, onError, onFarcasterUrl, }) => {
228
228
  }));
229
229
  }
230
230
  if (authMode === 'signin') {
231
- yield generateClientSessionKeys();
231
+ yield generateSessionKeys();
232
232
  if (provider === ProviderEnum.Telegram && telegramAuthToken) {
233
233
  const apiCall = () => telegramSignIn(environmentId, {
234
234
  captchaToken,
@@ -353,7 +353,7 @@ const useSocialAuth = ({ onSettled, onError, onFarcasterUrl, }) => {
353
353
  const keypair = yield generateSessionKey();
354
354
  sessionPublicKey = keypair.publicKey;
355
355
  }
356
- yield generateClientSessionKeys();
356
+ yield generateSessionKeys();
357
357
  const apiCall = () => farcasterSignIn(environmentId, {
358
358
  address,
359
359
  captchaToken,
@@ -3,34 +3,9 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
+ var _tslib = require('../../../../../_virtual/_tslib.cjs');
6
7
  var React = require('react');
7
- var sdkApiCore = require('@dynamic-labs/sdk-api-core');
8
- require('@dynamic-labs-sdk/client/core');
9
- require('../../../client/client.cjs');
10
- require('@dynamic-labs-sdk/client');
11
- require('../../../config/ApiEndpoint.cjs');
12
- require('@dynamic-labs/iconic');
13
- require('@dynamic-labs/wallet-connector-core');
14
- require('react/jsx-runtime');
15
- require('../../../context/ViewContext/ViewContext.cjs');
16
- require('../../../shared/logger.cjs');
17
- require('@dynamic-labs/wallet-book');
18
- require('@dynamic-labs/utils');
19
- require('../../constants/colors.cjs');
20
- require('../../constants/values.cjs');
21
- require('../../../shared/consts/index.cjs');
22
- require('../../../../../_virtual/_tslib.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
- require('../../functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.cjs');
31
- require('../../../events/dynamicEvents.cjs');
32
- var getProjectSettings = require('../../../client/extension/projectSettings/getProjectSettings/getProjectSettings.cjs');
33
- var hasElevatedAccessToken = require('../../../client/extension/functions/hasElevatedAccessToken/hasElevatedAccessToken.cjs');
8
+ var client = require('@dynamic-labs-sdk/client');
34
9
  var useStepUpState = require('./useStepUpState.cjs');
35
10
  var useStepUpOtp = require('./useStepUpOtp.cjs');
36
11
  var useStepUpSocial = require('./useStepUpSocial.cjs');
@@ -40,8 +15,6 @@ var useStepUpPromptMfa = require('./useStepUpPromptMfa.cjs');
40
15
  var useStepUpPromptReauth = require('./useStepUpPromptReauth.cjs');
41
16
  var usePromptStepUpAuth = require('./usePromptStepUpAuth.cjs');
42
17
 
43
- // MinSdkVersionEnum values are formatted as "v<number>" (e.g. "v4", "v5")
44
- const parseSdkVersionNum = (version) => parseInt(version.replace(/\D/g, ''), 10);
45
18
  /**
46
19
  * Perform step-up authentication for an already-authenticated user.
47
20
  *
@@ -94,20 +67,23 @@ const useStepUpAuthentication = ({ credentialId, } = {}) => {
94
67
  const { promptMfa } = useStepUpPromptMfa.useStepUpPromptMfa();
95
68
  const { promptReauthenticate } = useStepUpPromptReauth.useStepUpPromptReauth();
96
69
  const { promptStepUpAuth } = usePromptStepUpAuth.usePromptStepUpAuth();
97
- const isStepUpRequired = React.useCallback(({ scope }) => {
98
- var _a, _b;
99
- const { minSdkVersion } = (_b = (_a = getProjectSettings.getProjectSettings()) === null || _a === void 0 ? void 0 : _a.sdk) !== null && _b !== void 0 ? _b : {};
100
- if (!minSdkVersion ||
101
- parseSdkVersionNum(minSdkVersion) <
102
- parseSdkVersionNum(sdkApiCore.MinSdkVersionEnum.V5))
103
- return false;
104
- return !hasElevatedAccessToken.hasElevatedAccessToken(scope);
105
- }, []);
70
+ const isStepUpRequired = React.useCallback((_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ scope }) {
71
+ try {
72
+ const { isRequired } = yield client.checkStepUpAuth({ scope });
73
+ return isRequired;
74
+ }
75
+ catch (_b) {
76
+ // Default to required on failure — matches checkStepUpAuth's
77
+ // own fail-safe, but guards against unexpected rejections
78
+ return true;
79
+ }
80
+ }), []);
106
81
  const resetState = React.useCallback(() => {
107
82
  resetOtpRef();
108
83
  stateActions.resetState();
109
84
  }, [resetOtpRef, stateActions.resetState]);
110
85
  return {
86
+ checkStepUpAuth: client.checkStepUpAuth,
111
87
  isStepUpRequired,
112
88
  promptMfa,
113
89
  promptReauthenticate,
@@ -1,32 +1,7 @@
1
1
  'use client'
2
+ import { __awaiter } from '../../../../../_virtual/_tslib.js';
2
3
  import { useCallback } from 'react';
3
- import { MinSdkVersionEnum } from '@dynamic-labs/sdk-api-core';
4
- import '@dynamic-labs-sdk/client/core';
5
- import '../../../client/client.js';
6
- import '@dynamic-labs-sdk/client';
7
- import '../../../config/ApiEndpoint.js';
8
- import '@dynamic-labs/iconic';
9
- import '@dynamic-labs/wallet-connector-core';
10
- import 'react/jsx-runtime';
11
- import '../../../context/ViewContext/ViewContext.js';
12
- import '../../../shared/logger.js';
13
- import '@dynamic-labs/wallet-book';
14
- import '@dynamic-labs/utils';
15
- import '../../constants/colors.js';
16
- import '../../constants/values.js';
17
- import '../../../shared/consts/index.js';
18
- import '../../../../../_virtual/_tslib.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 '../../functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.js';
27
- import '../../../events/dynamicEvents.js';
28
- import { getProjectSettings } from '../../../client/extension/projectSettings/getProjectSettings/getProjectSettings.js';
29
- import { hasElevatedAccessToken } from '../../../client/extension/functions/hasElevatedAccessToken/hasElevatedAccessToken.js';
4
+ import { checkStepUpAuth } from '@dynamic-labs-sdk/client';
30
5
  import { useStepUpState } from './useStepUpState.js';
31
6
  import { useStepUpOtp } from './useStepUpOtp.js';
32
7
  import { useStepUpSocial } from './useStepUpSocial.js';
@@ -36,8 +11,6 @@ import { useStepUpPromptMfa } from './useStepUpPromptMfa.js';
36
11
  import { useStepUpPromptReauth } from './useStepUpPromptReauth.js';
37
12
  import { usePromptStepUpAuth } from './usePromptStepUpAuth.js';
38
13
 
39
- // MinSdkVersionEnum values are formatted as "v<number>" (e.g. "v4", "v5")
40
- const parseSdkVersionNum = (version) => parseInt(version.replace(/\D/g, ''), 10);
41
14
  /**
42
15
  * Perform step-up authentication for an already-authenticated user.
43
16
  *
@@ -90,20 +63,23 @@ const useStepUpAuthentication = ({ credentialId, } = {}) => {
90
63
  const { promptMfa } = useStepUpPromptMfa();
91
64
  const { promptReauthenticate } = useStepUpPromptReauth();
92
65
  const { promptStepUpAuth } = usePromptStepUpAuth();
93
- const isStepUpRequired = useCallback(({ scope }) => {
94
- var _a, _b;
95
- const { minSdkVersion } = (_b = (_a = getProjectSettings()) === null || _a === void 0 ? void 0 : _a.sdk) !== null && _b !== void 0 ? _b : {};
96
- if (!minSdkVersion ||
97
- parseSdkVersionNum(minSdkVersion) <
98
- parseSdkVersionNum(MinSdkVersionEnum.V5))
99
- return false;
100
- return !hasElevatedAccessToken(scope);
101
- }, []);
66
+ const isStepUpRequired = useCallback((_a) => __awaiter(void 0, [_a], void 0, function* ({ scope }) {
67
+ try {
68
+ const { isRequired } = yield checkStepUpAuth({ scope });
69
+ return isRequired;
70
+ }
71
+ catch (_b) {
72
+ // Default to required on failure — matches checkStepUpAuth's
73
+ // own fail-safe, but guards against unexpected rejections
74
+ return true;
75
+ }
76
+ }), []);
102
77
  const resetState = useCallback(() => {
103
78
  resetOtpRef();
104
79
  stateActions.resetState();
105
80
  }, [resetOtpRef, stateActions.resetState]);
106
81
  return {
82
+ checkStepUpAuth,
107
83
  isStepUpRequired,
108
84
  promptMfa,
109
85
  promptReauthenticate,
@@ -1,16 +1,20 @@
1
- import type { OTPVerification } from '@dynamic-labs-sdk/client';
1
+ import type { checkStepUpAuth, OTPVerification } from '@dynamic-labs-sdk/client';
2
2
  import type { ProviderEnum, TokenScope, VerifyResponse } from '@dynamic-labs/sdk-api-core';
3
3
  export type StepUpAuthenticationState = {
4
4
  error: string | null;
5
5
  isLoading: boolean;
6
6
  otpVerification: OTPVerification | null;
7
7
  };
8
+ export type SendOtpParams = {
9
+ credentialId?: string;
10
+ };
8
11
  export type VerifyOtpParams = {
9
12
  requestedScopes?: TokenScope[];
10
13
  verificationToken: string;
11
14
  };
12
15
  export type VerifyWalletParams = {
13
16
  requestedScopes?: TokenScope[];
17
+ walletId?: string;
14
18
  };
15
19
  export type VerifyPasskeyMfaParams = {
16
20
  requestedScopes?: TokenScope[];
@@ -47,12 +51,13 @@ export type PromptStepUpAuthParams = {
47
51
  requestedScopes?: TokenScope[];
48
52
  };
49
53
  export type UseStepUpAuthenticationReturn = {
50
- isStepUpRequired: (params: IsStepUpRequiredParams) => boolean;
54
+ checkStepUpAuth: typeof checkStepUpAuth;
55
+ isStepUpRequired: (params: IsStepUpRequiredParams) => Promise<boolean>;
51
56
  promptMfa: (props?: PromptMfaParams) => Promise<string | undefined>;
52
57
  promptReauthenticate: (props?: PromptReauthParams) => Promise<string | undefined>;
53
58
  promptStepUpAuth: (props?: PromptStepUpAuthParams) => Promise<string | undefined>;
54
59
  resetState: () => void;
55
- sendOtp: () => Promise<OTPVerification | null>;
60
+ sendOtp: (params?: SendOtpParams) => Promise<OTPVerification | null>;
56
61
  state: StepUpAuthenticationState;
57
62
  verifyOtp: (params: VerifyOtpParams) => Promise<VerifyResponse | null>;
58
63
  verifyPasskeyMfa: (params: VerifyPasskeyMfaParams) => Promise<VerifyResponse | null>;
@@ -68,13 +68,15 @@ const useStepUpOtp = ({ credentialId, stateActions, }) => {
68
68
  const user = useUser.useUser();
69
69
  const { setError, setLoading, setSuccess } = stateActions;
70
70
  const otpVerificationRef = React.useRef(null);
71
- const sendOtp = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
71
+ const sendOtp = React.useCallback((params) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
72
+ var _a;
72
73
  const credentials = user === null || user === void 0 ? void 0 : user.verifiedCredentials;
73
74
  if (!(credentials === null || credentials === void 0 ? void 0 : credentials.length)) {
74
75
  setError('No verified credentials found for the authenticated user');
75
76
  return null;
76
77
  }
77
- const result = resolveTargetCredential(credentials, credentialId);
78
+ const effectiveCredentialId = (_a = params === null || params === void 0 ? void 0 : params.credentialId) !== null && _a !== void 0 ? _a : credentialId;
79
+ const result = resolveTargetCredential(credentials, effectiveCredentialId);
78
80
  if (typeof result === 'string') {
79
81
  setError(result);
80
82
  return null;
@@ -95,14 +97,8 @@ const useStepUpOtp = ({ credentialId, stateActions, }) => {
95
97
  setError(errorMessage);
96
98
  return null;
97
99
  }
98
- }), [
99
- credentialId,
100
- setError,
101
- setLoading,
102
- setSuccess,
103
- user === null || user === void 0 ? void 0 : user.verifiedCredentials,
104
- ]);
105
- const verifyOtp = React.useCallback((_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ requestedScopes, verificationToken, }) {
100
+ }), [credentialId, setError, setLoading, setSuccess, user === null || user === void 0 ? void 0 : user.verifiedCredentials]);
101
+ const verifyOtp = React.useCallback((_b) => _tslib.__awaiter(void 0, [_b], void 0, function* ({ requestedScopes, verificationToken, }) {
106
102
  const otpVerification = otpVerificationRef.current;
107
103
  if (!otpVerification) {
108
104
  setError('OTP verification has not been initiated. Call sendOtp() first');
@@ -1,6 +1,6 @@
1
1
  import type { OTPVerification } from '@dynamic-labs-sdk/client';
2
2
  import { VerifyResponse } from '@dynamic-labs/sdk-api-core';
3
- import type { VerifyOtpParams } from './useStepUpAuthentication.types';
3
+ import type { SendOtpParams, VerifyOtpParams } from './useStepUpAuthentication.types';
4
4
  import type { useStepUpState } from './useStepUpState';
5
5
  type StepUpStateActions = ReturnType<typeof useStepUpState>;
6
6
  type UseStepUpOtpParams = {
@@ -9,7 +9,7 @@ type UseStepUpOtpParams = {
9
9
  };
10
10
  export declare const useStepUpOtp: ({ credentialId, stateActions, }: UseStepUpOtpParams) => {
11
11
  resetOtpRef: () => void;
12
- sendOtp: () => Promise<OTPVerification | null>;
12
+ sendOtp: (params?: SendOtpParams) => Promise<OTPVerification | null>;
13
13
  verifyOtp: ({ requestedScopes, verificationToken, }: VerifyOtpParams) => Promise<VerifyResponse | null>;
14
14
  };
15
15
  export {};
@@ -64,13 +64,15 @@ const useStepUpOtp = ({ credentialId, stateActions, }) => {
64
64
  const user = useUser();
65
65
  const { setError, setLoading, setSuccess } = stateActions;
66
66
  const otpVerificationRef = useRef(null);
67
- const sendOtp = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
67
+ const sendOtp = useCallback((params) => __awaiter(void 0, void 0, void 0, function* () {
68
+ var _a;
68
69
  const credentials = user === null || user === void 0 ? void 0 : user.verifiedCredentials;
69
70
  if (!(credentials === null || credentials === void 0 ? void 0 : credentials.length)) {
70
71
  setError('No verified credentials found for the authenticated user');
71
72
  return null;
72
73
  }
73
- const result = resolveTargetCredential(credentials, credentialId);
74
+ const effectiveCredentialId = (_a = params === null || params === void 0 ? void 0 : params.credentialId) !== null && _a !== void 0 ? _a : credentialId;
75
+ const result = resolveTargetCredential(credentials, effectiveCredentialId);
74
76
  if (typeof result === 'string') {
75
77
  setError(result);
76
78
  return null;
@@ -91,14 +93,8 @@ const useStepUpOtp = ({ credentialId, stateActions, }) => {
91
93
  setError(errorMessage);
92
94
  return null;
93
95
  }
94
- }), [
95
- credentialId,
96
- setError,
97
- setLoading,
98
- setSuccess,
99
- user === null || user === void 0 ? void 0 : user.verifiedCredentials,
100
- ]);
101
- const verifyOtp = useCallback((_a) => __awaiter(void 0, [_a], void 0, function* ({ requestedScopes, verificationToken, }) {
96
+ }), [credentialId, setError, setLoading, setSuccess, user === null || user === void 0 ? void 0 : user.verifiedCredentials]);
97
+ const verifyOtp = useCallback((_b) => __awaiter(void 0, [_b], void 0, function* ({ requestedScopes, verificationToken, }) {
102
98
  const otpVerification = otpVerificationRef.current;
103
99
  if (!otpVerification) {
104
100
  setError('OTP verification has not been initiated. Call sendOtp() first');
@@ -182,7 +182,10 @@ const useStepUpPromptMfa = () => {
182
182
  mfaCompletionSuccessOff();
183
183
  dynamicEvents.dynamicEvents.off('authFlowClose', onAuthFlowCloseHandler);
184
184
  });
185
- return deferred.promise;
185
+ return deferred.promise.then((result) => {
186
+ setShowAuthFlow(false);
187
+ return result;
188
+ });
186
189
  }
187
190
  default:
188
191
  throw new Error('Error determining MFA method to use');
@@ -178,7 +178,10 @@ const useStepUpPromptMfa = () => {
178
178
  mfaCompletionSuccessOff();
179
179
  dynamicEvents.off('authFlowClose', onAuthFlowCloseHandler);
180
180
  });
181
- return deferred.promise;
181
+ return deferred.promise.then((result) => {
182
+ setShowAuthFlow(false);
183
+ return result;
184
+ });
182
185
  }
183
186
  default:
184
187
  throw new Error('Error determining MFA method to use');
@@ -193,8 +193,25 @@ const useStepUpPromptReauth = () => {
193
193
  return Promise.reject(new Error('No reauthentication methods available. Add email, SMS, wallet, or a social account to your account.'));
194
194
  }
195
195
  const deferred = new utils.DeferredPromise();
196
- const onSuccess = () => deferred.resolve(undefined);
197
- const onError = (error) => deferred.reject(error);
196
+ let authFlowCleanedUp = false;
197
+ const cleanupAuthFlowListener = () => {
198
+ if (authFlowCleanedUp)
199
+ return;
200
+ authFlowCleanedUp = true;
201
+ dynamicEvents.dynamicEvents.off('authFlowClose', onAuthFlowClose);
202
+ };
203
+ const onAuthFlowClose = () => {
204
+ cleanupAuthFlowListener();
205
+ deferred.reject(new Error('Reauthentication flow closed'));
206
+ };
207
+ const onSuccess = () => {
208
+ cleanupAuthFlowListener();
209
+ deferred.resolve(undefined);
210
+ };
211
+ const onError = (error) => {
212
+ cleanupAuthFlowListener();
213
+ deferred.reject(error);
214
+ };
198
215
  setShowAuthFlow(true);
199
216
  if (options.length === 1) {
200
217
  const [onlyOption] = options;
@@ -239,12 +256,11 @@ const useStepUpPromptReauth = () => {
239
256
  requestedScopes: props === null || props === void 0 ? void 0 : props.requestedScopes,
240
257
  });
241
258
  }
242
- const onAuthFlowClose = () => deferred.reject(new Error('Reauthentication flow closed'));
243
259
  dynamicEvents.dynamicEvents.on('authFlowClose', onAuthFlowClose);
244
- deferred.promise.finally(() => {
245
- dynamicEvents.dynamicEvents.off('authFlowClose', onAuthFlowClose);
260
+ return deferred.promise.then((result) => {
261
+ setShowAuthFlow(false);
262
+ return result;
246
263
  });
247
- return deferred.promise;
248
264
  }), [options, pushView, setShowAuthFlow]);
249
265
  return { promptReauthenticate };
250
266
  };
@@ -189,8 +189,25 @@ const useStepUpPromptReauth = () => {
189
189
  return Promise.reject(new Error('No reauthentication methods available. Add email, SMS, wallet, or a social account to your account.'));
190
190
  }
191
191
  const deferred = new DeferredPromise();
192
- const onSuccess = () => deferred.resolve(undefined);
193
- const onError = (error) => deferred.reject(error);
192
+ let authFlowCleanedUp = false;
193
+ const cleanupAuthFlowListener = () => {
194
+ if (authFlowCleanedUp)
195
+ return;
196
+ authFlowCleanedUp = true;
197
+ dynamicEvents.off('authFlowClose', onAuthFlowClose);
198
+ };
199
+ const onAuthFlowClose = () => {
200
+ cleanupAuthFlowListener();
201
+ deferred.reject(new Error('Reauthentication flow closed'));
202
+ };
203
+ const onSuccess = () => {
204
+ cleanupAuthFlowListener();
205
+ deferred.resolve(undefined);
206
+ };
207
+ const onError = (error) => {
208
+ cleanupAuthFlowListener();
209
+ deferred.reject(error);
210
+ };
194
211
  setShowAuthFlow(true);
195
212
  if (options.length === 1) {
196
213
  const [onlyOption] = options;
@@ -235,12 +252,11 @@ const useStepUpPromptReauth = () => {
235
252
  requestedScopes: props === null || props === void 0 ? void 0 : props.requestedScopes,
236
253
  });
237
254
  }
238
- const onAuthFlowClose = () => deferred.reject(new Error('Reauthentication flow closed'));
239
255
  dynamicEvents.on('authFlowClose', onAuthFlowClose);
240
- deferred.promise.finally(() => {
241
- dynamicEvents.off('authFlowClose', onAuthFlowClose);
256
+ return deferred.promise.then((result) => {
257
+ setShowAuthFlow(false);
258
+ return result;
242
259
  });
243
- return deferred.promise;
244
260
  }), [options, pushView, setShowAuthFlow]);
245
261
  return { promptReauthenticate };
246
262
  };
@@ -115,11 +115,17 @@ const useStepUpWallet = ({ credentialId, stateActions, }) => {
115
115
  const connectAndSign = useConnectAndSign.useConnectAndSign();
116
116
  const { userWallets } = UserWalletsContext.useInternalUserWallets();
117
117
  const { setError, setLoading, setSuccess } = stateActions;
118
- const verifyWallet = React.useCallback((_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ requestedScopes }) {
118
+ const verifyWallet = React.useCallback((_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ requestedScopes, walletId, }) {
119
119
  setLoading();
120
- const wallet = userWallets.find((w) => w.id === credentialId);
120
+ const effectiveId = walletId !== null && walletId !== void 0 ? walletId : credentialId;
121
+ const wallet = effectiveId
122
+ ? userWallets.find((w) => w.id === effectiveId)
123
+ : userWallets[0];
121
124
  if (!wallet) {
122
- setError(`Wallet with id "${credentialId}" not found`);
125
+ const message = effectiveId
126
+ ? `Wallet with id "${effectiveId}" not found`
127
+ : 'No connected wallets found for step-up authentication';
128
+ setError(message);
123
129
  return;
124
130
  }
125
131
  const connector = wallet.connector;