@dynamic-labs/sdk-react-core 4.60.0 → 4.61.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 (64) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/package.cjs +4 -4
  3. package/package.js +4 -4
  4. package/package.json +15 -15
  5. package/src/index.cjs +4 -4
  6. package/src/index.d.ts +1 -1
  7. package/src/index.js +2 -2
  8. package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +2 -1
  9. package/src/lib/layout/DynamicAuthLayout/Header/header.js +2 -1
  10. package/src/lib/shared/assets/error-circle-x.cjs +54 -0
  11. package/src/lib/shared/assets/error-circle-x.js +30 -0
  12. package/src/lib/shared/assets/index.d.ts +1 -0
  13. package/src/lib/shared/types/dynamicHandlers.d.ts +64 -0
  14. package/src/lib/shared/utils/functions/chain/getChainIcon.cjs +1 -0
  15. package/src/lib/shared/utils/functions/chain/getChainIcon.js +2 -1
  16. package/src/lib/styles/index.shadow.cjs +1 -1
  17. package/src/lib/styles/index.shadow.js +1 -1
  18. package/src/lib/utils/hooks/index.d.ts +3 -1
  19. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.cjs +18 -16
  20. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.d.ts +4 -8
  21. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.js +18 -16
  22. package/src/lib/utils/hooks/useGetWalletPassword/index.d.ts +2 -0
  23. package/src/lib/utils/hooks/useGetWalletPassword/useGetWalletPassword.cjs +130 -0
  24. package/src/lib/utils/hooks/useGetWalletPassword/useGetWalletPassword.d.ts +6 -0
  25. package/src/lib/utils/hooks/useGetWalletPassword/useGetWalletPassword.js +126 -0
  26. package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.cjs +7 -2
  27. package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.js +7 -2
  28. package/src/lib/utils/hooks/useSetupPassword/useSetupPassword.cjs +87 -0
  29. package/src/lib/utils/hooks/useSetupPassword/useSetupPassword.d.ts +3 -0
  30. package/src/lib/utils/hooks/useSetupPassword/useSetupPassword.js +88 -1
  31. package/src/lib/utils/hooks/useSmartWallets/useSmartWallets.cjs +1 -1
  32. package/src/lib/utils/hooks/useSmartWallets/useSmartWallets.js +1 -1
  33. package/src/lib/utils/hooks/useSyncDynamicWaas/useSyncDynamicWaas.cjs +1 -1
  34. package/src/lib/utils/hooks/useSyncDynamicWaas/useSyncDynamicWaas.js +1 -1
  35. package/src/lib/utils/hooks/useUserAuth/useUserAuth.cjs +12 -4
  36. package/src/lib/utils/hooks/useUserAuth/useUserAuth.js +12 -4
  37. package/src/lib/utils/hooks/useWalletBackup/useWalletBackup.cjs +1 -1
  38. package/src/lib/utils/hooks/useWalletBackup/useWalletBackup.js +1 -1
  39. package/src/lib/utils/hooks/useWalletDelegation/useWalletDelegation.cjs +1 -1
  40. package/src/lib/utils/hooks/useWalletDelegation/useWalletDelegation.js +1 -1
  41. package/src/lib/utils/hooks/useWalletPassword/index.d.ts +1 -0
  42. package/src/lib/utils/hooks/useWalletPassword/useWalletPassword.cjs +152 -0
  43. package/src/lib/utils/hooks/useWalletPassword/useWalletPassword.d.ts +30 -0
  44. package/src/lib/utils/hooks/useWalletPassword/useWalletPassword.js +148 -0
  45. package/src/lib/views/UnlockWalletView/UnlockWalletView.cjs +32 -1
  46. package/src/lib/views/UnlockWalletView/UnlockWalletView.js +32 -1
  47. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/mapViewToComponent.cjs +2 -2
  48. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/mapViewToComponent.js +2 -2
  49. package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/MfaSection/MfaSection.cjs +11 -14
  50. package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/MfaSection/MfaSection.js +11 -14
  51. package/src/lib/widgets/DynamicWidget/views/EnterPasswordView/EnterPasswordView.cjs +15 -5
  52. package/src/lib/widgets/DynamicWidget/views/EnterPasswordView/EnterPasswordView.js +15 -5
  53. package/src/lib/widgets/DynamicWidget/views/SetupPasswordKnowledgeCheckView/SetupPasswordKnowledgeCheckView.cjs +7 -15
  54. package/src/lib/widgets/DynamicWidget/views/SetupPasswordKnowledgeCheckView/SetupPasswordKnowledgeCheckView.d.ts +0 -1
  55. package/src/lib/widgets/DynamicWidget/views/SetupPasswordKnowledgeCheckView/SetupPasswordKnowledgeCheckView.js +7 -15
  56. package/src/lib/widgets/DynamicWidget/views/SetupPasswordTermsView/SetupPasswordTermsView.cjs +9 -2
  57. package/src/lib/widgets/DynamicWidget/views/SetupPasswordTermsView/SetupPasswordTermsView.d.ts +1 -1
  58. package/src/lib/widgets/DynamicWidget/views/SetupPasswordTermsView/SetupPasswordTermsView.js +9 -2
  59. package/src/lib/widgets/DynamicWidget/views/SetupPasswordView/SetupPasswordView.cjs +13 -8
  60. package/src/lib/widgets/DynamicWidget/views/SetupPasswordView/SetupPasswordView.js +13 -8
  61. package/src/lib/utils/hooks/useGetPasswordForSigning/index.d.ts +0 -2
  62. package/src/lib/utils/hooks/useGetPasswordForSigning/useGetPasswordForSigning.cjs +0 -16
  63. package/src/lib/utils/hooks/useGetPasswordForSigning/useGetPasswordForSigning.d.ts +0 -5
  64. package/src/lib/utils/hooks/useGetPasswordForSigning/useGetPasswordForSigning.js +0 -12
@@ -30,7 +30,82 @@ require('../../../store/state/connectedWalletsInfo/connectedWalletsInfo.cjs');
30
30
  require('../../functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.cjs');
31
31
  require('../../../events/dynamicEvents.cjs');
32
32
  var useProjectSettings = require('../../../client/extension/projectSettings/useProjectSettings/useProjectSettings.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
+ require('../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
38
+ require('../../../context/AccountExistsContext/AccountExistsContext.cjs');
39
+ require('../../../context/UserWalletsContext/UserWalletsContext.cjs');
40
+ require('../../../store/state/authMode/authMode.cjs');
41
+ require('../../../context/VerificationContext/VerificationContext.cjs');
42
+ require('react-dom');
43
+ require('../../functions/compareChains/compareChains.cjs');
44
+ require('../../../views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.cjs');
45
+ require('../../../context/ThemeContext/ThemeContext.cjs');
46
+ require('../useUserUpdateRequest/useUpdateUser/userFieldsSchema.cjs');
47
+ require('bs58');
48
+ require('@dynamic-labs/types');
49
+ require('../../../context/SocialRedirectContext/SocialRedirectContext.cjs');
50
+ require('../../../context/LoadingContext/LoadingContext.cjs');
51
+ require('../../../context/WalletContext/WalletContext.cjs');
52
+ require('../useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.cjs');
53
+ require('yup');
54
+ require('../../../context/MockContext/MockContext.cjs');
55
+ require('../../../views/CollectUserDataView/useFields.cjs');
56
+ require('../../../context/FieldsStateContext/FieldsStateContext.cjs');
57
+ require('../../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
58
+ require('@dynamic-labs/rpc-providers');
59
+ require('../../../store/state/walletOptions/walletOptions.cjs');
60
+ require('react-i18next');
61
+ require('../../../components/Accordion/components/AccordionItem/AccordionItem.cjs');
62
+ require('../../../components/Alert/Alert.cjs');
63
+ require('../../../components/ShadowDOM/ShadowDOM.cjs');
64
+ require('../../../components/IconButton/IconButton.cjs');
65
+ require('../../../components/InlineWidget/InlineWidget.cjs');
66
+ require('../../../components/Input/Input.cjs');
67
+ require('../../../components/IsBrowser/IsBrowser.cjs');
68
+ require('../../../components/MenuList/Dropdown/Dropdown.cjs');
69
+ require('../../../components/OverlayCard/OverlayCard.cjs');
70
+ require('../../../components/Transition/ZoomTransition/ZoomTransition.cjs');
71
+ require('../../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
72
+ require('../../../components/Transition/OpacityTransition/OpacityTransition.cjs');
73
+ require('../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.cjs');
74
+ require('../../../components/Popper/Popper/Popper.cjs');
75
+ require('../../../components/Popper/PopperContext/PopperContext.cjs');
76
+ require('react-focus-lock');
77
+ require('qrcode');
78
+ require('formik');
79
+ require('../useSubdomainCheck/useSubdomainCheck.cjs');
80
+ require('../../../context/WalletGroupContext/WalletGroupContext.cjs');
81
+ require('../useWalletBackup/useWalletBackup.cjs');
82
+ require('../useWalletBackup/types.cjs');
83
+ require('../useWalletBackup/cloudProviders.cjs');
84
+ require('../../../context/IpConfigurationContext/IpConfigurationContext.cjs');
85
+ require('../../../context/ConnectWithOtpContext/ConnectWithOtpContext.cjs');
86
+ require('../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
87
+ require('@hcaptcha/react-hcaptcha');
33
88
  var DynamicWidgetContext = require('../../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
89
+ require('../../../widgets/DynamicWidget/helpers/convertExchangeKeyAndProviderEnum.cjs');
90
+ require('../../../views/ExchangeWhitelistWarning/ExchangeWhitelistWarning.cjs');
91
+ require('../../../context/ErrorContext/hooks/useErrorText/useErrorText.cjs');
92
+ require('../../../context/FooterAnimationContext/index.cjs');
93
+ require('../../../views/MfaChooseDeviceView/useGetMfaOptions/useGetMfaOptions.cjs');
94
+ require('../../../context/PasskeyContext/PasskeyContext.cjs');
95
+ require('../../../context/OnrampContext/OnrampContext.cjs');
96
+ require('../../../store/state/sendBalances.cjs');
97
+ require('../../../store/state/connectorsInitializing/connectorsInitializing.cjs');
98
+ require('../../../components/OverlayCardBase/OverlayCardTarget/OverlayCardTarget.cjs');
99
+ require('../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
100
+ require('../../../views/TransactionConfirmationView/TransactionConfirmationView.cjs');
101
+ require('../../../widgets/DynamicWidget/components/PasskeyCard/PasskeyCard.cjs');
102
+ require('../../../widgets/DynamicWidget/views/CryptoComOnramp/CryptoComOnramp.cjs');
103
+ require('../../../../index.cjs');
104
+ require('../../../widgets/DynamicWidget/views/ReceiveWalletFunds/ReceiveWalletFunds.cjs');
105
+ require('../../../store/state/tokenBalances.cjs');
106
+ require('../../../store/state/multichainBalances.cjs');
107
+ require('../../../shared/utils/functions/getInitialUrl/getInitialUrl.cjs');
108
+ var useInternalDynamicContext = require('../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext/useInternalDynamicContext.cjs');
34
109
 
35
110
  const PASSWORD_SETUP_CANCELLED_ERROR = 'Password setup cancelled';
36
111
  /**
@@ -39,6 +114,9 @@ const PASSWORD_SETUP_CANCELLED_ERROR = 'Password setup cancelled';
39
114
  * This hook checks if passcodeRequired is enabled in project settings,
40
115
  * and if so, prompts the user to set up a password before creating wallets.
41
116
  *
117
+ * If a custom setupWalletPassword handler is provided via DynamicContextProvider settings,
118
+ * it will be used instead of the default UI modal.
119
+ *
42
120
  * @returns An object containing:
43
121
  * - isPasscodeRequired: boolean indicating if password is required
44
122
  * - setupPassword: function that shows the password setup flow and returns the password
@@ -47,11 +125,20 @@ const useSetupPassword = () => {
47
125
  var _a, _b;
48
126
  const projectSettings = useProjectSettings.useProjectSettings();
49
127
  const { setDynamicWidgetView } = DynamicWidgetContext.useWidgetContext();
128
+ const { handlers } = useInternalDynamicContext.useInternalDynamicContext();
129
+ // Use ref pattern to avoid callback recreation when handlers change
130
+ const setupWalletPasswordHandlerRef = React.useRef(handlers === null || handlers === void 0 ? void 0 : handlers.setupWalletPassword);
131
+ setupWalletPasswordHandlerRef.current = handlers === null || handlers === void 0 ? void 0 : handlers.setupWalletPassword;
50
132
  const isPasscodeRequired = (_b = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.waas) === null || _a === void 0 ? void 0 : _a.passcodeRequired) !== null && _b !== void 0 ? _b : false;
51
133
  const setupPassword = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
52
134
  if (!isPasscodeRequired) {
53
135
  return undefined;
54
136
  }
137
+ // If custom handler provided, use it
138
+ if (setupWalletPasswordHandlerRef.current) {
139
+ return setupWalletPasswordHandlerRef.current();
140
+ }
141
+ // Otherwise use default UI prompt
55
142
  return new Promise((resolve, reject) => {
56
143
  setDynamicWidgetView('setup-password', {
57
144
  onCancel: () => {
@@ -5,6 +5,9 @@ export declare const PASSWORD_SETUP_CANCELLED_ERROR = "Password setup cancelled"
5
5
  * This hook checks if passcodeRequired is enabled in project settings,
6
6
  * and if so, prompts the user to set up a password before creating wallets.
7
7
  *
8
+ * If a custom setupWalletPassword handler is provided via DynamicContextProvider settings,
9
+ * it will be used instead of the default UI modal.
10
+ *
8
11
  * @returns An object containing:
9
12
  * - isPasscodeRequired: boolean indicating if password is required
10
13
  * - setupPassword: function that shows the password setup flow and returns the password
@@ -1,6 +1,6 @@
1
1
  'use client'
2
2
  import { __awaiter } from '../../../../../_virtual/_tslib.js';
3
- import { useCallback } from 'react';
3
+ import { useRef, useCallback } from 'react';
4
4
  import '@dynamic-labs-sdk/client/core';
5
5
  import '@dynamic-labs/sdk-api-core';
6
6
  import '../../../client/client.js';
@@ -26,7 +26,82 @@ import '../../../store/state/connectedWalletsInfo/connectedWalletsInfo.js';
26
26
  import '../../functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.js';
27
27
  import '../../../events/dynamicEvents.js';
28
28
  import { useProjectSettings } from '../../../client/extension/projectSettings/useProjectSettings/useProjectSettings.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
+ import '../../../context/AccessDeniedContext/AccessDeniedContext.js';
34
+ import '../../../context/AccountExistsContext/AccountExistsContext.js';
35
+ import '../../../context/UserWalletsContext/UserWalletsContext.js';
36
+ import '../../../store/state/authMode/authMode.js';
37
+ import '../../../context/VerificationContext/VerificationContext.js';
38
+ import 'react-dom';
39
+ import '../../functions/compareChains/compareChains.js';
40
+ import '../../../views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.js';
41
+ import '../../../context/ThemeContext/ThemeContext.js';
42
+ import '../useUserUpdateRequest/useUpdateUser/userFieldsSchema.js';
43
+ import 'bs58';
44
+ import '@dynamic-labs/types';
45
+ import '../../../context/SocialRedirectContext/SocialRedirectContext.js';
46
+ import '../../../context/LoadingContext/LoadingContext.js';
47
+ import '../../../context/WalletContext/WalletContext.js';
48
+ import '../useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.js';
49
+ import 'yup';
50
+ import '../../../context/MockContext/MockContext.js';
51
+ import '../../../views/CollectUserDataView/useFields.js';
52
+ import '../../../context/FieldsStateContext/FieldsStateContext.js';
53
+ import '../../../context/UserFieldEditorContext/UserFieldEditorContext.js';
54
+ import '@dynamic-labs/rpc-providers';
55
+ import '../../../store/state/walletOptions/walletOptions.js';
56
+ import 'react-i18next';
57
+ import '../../../components/Accordion/components/AccordionItem/AccordionItem.js';
58
+ import '../../../components/Alert/Alert.js';
59
+ import '../../../components/ShadowDOM/ShadowDOM.js';
60
+ import '../../../components/IconButton/IconButton.js';
61
+ import '../../../components/InlineWidget/InlineWidget.js';
62
+ import '../../../components/Input/Input.js';
63
+ import '../../../components/IsBrowser/IsBrowser.js';
64
+ import '../../../components/MenuList/Dropdown/Dropdown.js';
65
+ import '../../../components/OverlayCard/OverlayCard.js';
66
+ import '../../../components/Transition/ZoomTransition/ZoomTransition.js';
67
+ import '../../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
68
+ import '../../../components/Transition/OpacityTransition/OpacityTransition.js';
69
+ import '../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.js';
70
+ import '../../../components/Popper/Popper/Popper.js';
71
+ import '../../../components/Popper/PopperContext/PopperContext.js';
72
+ import 'react-focus-lock';
73
+ import 'qrcode';
74
+ import 'formik';
75
+ import '../useSubdomainCheck/useSubdomainCheck.js';
76
+ import '../../../context/WalletGroupContext/WalletGroupContext.js';
77
+ import '../useWalletBackup/useWalletBackup.js';
78
+ import '../useWalletBackup/types.js';
79
+ import '../useWalletBackup/cloudProviders.js';
80
+ import '../../../context/IpConfigurationContext/IpConfigurationContext.js';
81
+ import '../../../context/ConnectWithOtpContext/ConnectWithOtpContext.js';
82
+ import '../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
83
+ import '@hcaptcha/react-hcaptcha';
29
84
  import { useWidgetContext } from '../../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
85
+ import '../../../widgets/DynamicWidget/helpers/convertExchangeKeyAndProviderEnum.js';
86
+ import '../../../views/ExchangeWhitelistWarning/ExchangeWhitelistWarning.js';
87
+ import '../../../context/ErrorContext/hooks/useErrorText/useErrorText.js';
88
+ import '../../../context/FooterAnimationContext/index.js';
89
+ import '../../../views/MfaChooseDeviceView/useGetMfaOptions/useGetMfaOptions.js';
90
+ import '../../../context/PasskeyContext/PasskeyContext.js';
91
+ import '../../../context/OnrampContext/OnrampContext.js';
92
+ import '../../../store/state/sendBalances.js';
93
+ import '../../../store/state/connectorsInitializing/connectorsInitializing.js';
94
+ import '../../../components/OverlayCardBase/OverlayCardTarget/OverlayCardTarget.js';
95
+ import '../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
96
+ import '../../../views/TransactionConfirmationView/TransactionConfirmationView.js';
97
+ import '../../../widgets/DynamicWidget/components/PasskeyCard/PasskeyCard.js';
98
+ import '../../../widgets/DynamicWidget/views/CryptoComOnramp/CryptoComOnramp.js';
99
+ import '../../../../index.js';
100
+ import '../../../widgets/DynamicWidget/views/ReceiveWalletFunds/ReceiveWalletFunds.js';
101
+ import '../../../store/state/tokenBalances.js';
102
+ import '../../../store/state/multichainBalances.js';
103
+ import '../../../shared/utils/functions/getInitialUrl/getInitialUrl.js';
104
+ import { useInternalDynamicContext } from '../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext/useInternalDynamicContext.js';
30
105
 
31
106
  const PASSWORD_SETUP_CANCELLED_ERROR = 'Password setup cancelled';
32
107
  /**
@@ -35,6 +110,9 @@ const PASSWORD_SETUP_CANCELLED_ERROR = 'Password setup cancelled';
35
110
  * This hook checks if passcodeRequired is enabled in project settings,
36
111
  * and if so, prompts the user to set up a password before creating wallets.
37
112
  *
113
+ * If a custom setupWalletPassword handler is provided via DynamicContextProvider settings,
114
+ * it will be used instead of the default UI modal.
115
+ *
38
116
  * @returns An object containing:
39
117
  * - isPasscodeRequired: boolean indicating if password is required
40
118
  * - setupPassword: function that shows the password setup flow and returns the password
@@ -43,11 +121,20 @@ const useSetupPassword = () => {
43
121
  var _a, _b;
44
122
  const projectSettings = useProjectSettings();
45
123
  const { setDynamicWidgetView } = useWidgetContext();
124
+ const { handlers } = useInternalDynamicContext();
125
+ // Use ref pattern to avoid callback recreation when handlers change
126
+ const setupWalletPasswordHandlerRef = useRef(handlers === null || handlers === void 0 ? void 0 : handlers.setupWalletPassword);
127
+ setupWalletPasswordHandlerRef.current = handlers === null || handlers === void 0 ? void 0 : handlers.setupWalletPassword;
46
128
  const isPasscodeRequired = (_b = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.waas) === null || _a === void 0 ? void 0 : _a.passcodeRequired) !== null && _b !== void 0 ? _b : false;
47
129
  const setupPassword = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
48
130
  if (!isPasscodeRequired) {
49
131
  return undefined;
50
132
  }
133
+ // If custom handler provided, use it
134
+ if (setupWalletPasswordHandlerRef.current) {
135
+ return setupWalletPasswordHandlerRef.current();
136
+ }
137
+ // Otherwise use default UI prompt
51
138
  return new Promise((resolve, reject) => {
52
139
  setDynamicWidgetView('setup-password', {
53
140
  onCancel: () => {
@@ -77,6 +77,7 @@ require('qrcode');
77
77
  require('formik');
78
78
  require('../useSubdomainCheck/useSubdomainCheck.cjs');
79
79
  require('../../../context/WalletGroupContext/WalletGroupContext.cjs');
80
+ require('../../functions/compareChains/compareChains.cjs');
80
81
  require('../useWalletBackup/useWalletBackup.cjs');
81
82
  require('../useWalletBackup/types.cjs');
82
83
  require('../useWalletBackup/cloudProviders.cjs');
@@ -92,7 +93,6 @@ require('../../../context/FooterAnimationContext/index.cjs');
92
93
  require('../../../views/MfaChooseDeviceView/useGetMfaOptions/useGetMfaOptions.cjs');
93
94
  require('../../../context/PasskeyContext/PasskeyContext.cjs');
94
95
  require('../../../context/OnrampContext/OnrampContext.cjs');
95
- require('../../functions/compareChains/compareChains.cjs');
96
96
  require('../../../store/state/sendBalances.cjs');
97
97
  require('../../../store/state/connectorsInitializing/connectorsInitializing.cjs');
98
98
  require('../../../components/OverlayCardBase/OverlayCardTarget/OverlayCardTarget.cjs');
@@ -73,6 +73,7 @@ import 'qrcode';
73
73
  import 'formik';
74
74
  import '../useSubdomainCheck/useSubdomainCheck.js';
75
75
  import '../../../context/WalletGroupContext/WalletGroupContext.js';
76
+ import '../../functions/compareChains/compareChains.js';
76
77
  import '../useWalletBackup/useWalletBackup.js';
77
78
  import '../useWalletBackup/types.js';
78
79
  import '../useWalletBackup/cloudProviders.js';
@@ -88,7 +89,6 @@ import '../../../context/FooterAnimationContext/index.js';
88
89
  import '../../../views/MfaChooseDeviceView/useGetMfaOptions/useGetMfaOptions.js';
89
90
  import '../../../context/PasskeyContext/PasskeyContext.js';
90
91
  import '../../../context/OnrampContext/OnrampContext.js';
91
- import '../../functions/compareChains/compareChains.js';
92
92
  import '../../../store/state/sendBalances.js';
93
93
  import '../../../store/state/connectorsInitializing/connectorsInitializing.js';
94
94
  import '../../../components/OverlayCardBase/OverlayCardTarget/OverlayCardTarget.js';
@@ -81,6 +81,7 @@ require('qrcode');
81
81
  require('formik');
82
82
  require('../useSubdomainCheck/useSubdomainCheck.cjs');
83
83
  require('../../../context/WalletGroupContext/WalletGroupContext.cjs');
84
+ var useDynamicWaas = require('../useDynamicWaas/useDynamicWaas.cjs');
84
85
  require('../useWalletBackup/useWalletBackup.cjs');
85
86
  require('../useWalletBackup/types.cjs');
86
87
  require('../useWalletBackup/cloudProviders.cjs');
@@ -97,7 +98,6 @@ require('../../../views/MfaChooseDeviceView/useGetMfaOptions/useGetMfaOptions.cj
97
98
  require('../../../context/PasskeyContext/PasskeyContext.cjs');
98
99
  require('../../../context/OnrampContext/OnrampContext.cjs');
99
100
  var useWalletDelegation = require('../useWalletDelegation/useWalletDelegation.cjs');
100
- var useDynamicWaas = require('../useDynamicWaas/useDynamicWaas.cjs');
101
101
  require('../../../store/state/sendBalances.cjs');
102
102
  require('../../../store/state/connectorsInitializing/connectorsInitializing.cjs');
103
103
  require('../../../components/OverlayCardBase/OverlayCardTarget/OverlayCardTarget.cjs');
@@ -77,6 +77,7 @@ import 'qrcode';
77
77
  import 'formik';
78
78
  import '../useSubdomainCheck/useSubdomainCheck.js';
79
79
  import '../../../context/WalletGroupContext/WalletGroupContext.js';
80
+ import { useDynamicWaas } from '../useDynamicWaas/useDynamicWaas.js';
80
81
  import '../useWalletBackup/useWalletBackup.js';
81
82
  import '../useWalletBackup/types.js';
82
83
  import '../useWalletBackup/cloudProviders.js';
@@ -93,7 +94,6 @@ import '../../../views/MfaChooseDeviceView/useGetMfaOptions/useGetMfaOptions.js'
93
94
  import '../../../context/PasskeyContext/PasskeyContext.js';
94
95
  import '../../../context/OnrampContext/OnrampContext.js';
95
96
  import { useWalletDelegation } from '../useWalletDelegation/useWalletDelegation.js';
96
- import { useDynamicWaas } from '../useDynamicWaas/useDynamicWaas.js';
97
97
  import '../../../store/state/sendBalances.js';
98
98
  import '../../../store/state/connectorsInitializing/connectorsInitializing.js';
99
99
  import '../../../components/OverlayCardBase/OverlayCardTarget/OverlayCardTarget.js';
@@ -31,6 +31,7 @@ require('../../../store/state/connectedWalletsInfo/connectedWalletsInfo.cjs');
31
31
  require('../../functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.cjs');
32
32
  require('../../../events/dynamicEvents.cjs');
33
33
  var storeTokenAndUser = require('../../../client/extension/storeTokenAndUser/storeTokenAndUser.cjs');
34
+ var useProjectSettings = require('../../../client/extension/projectSettings/useProjectSettings/useProjectSettings.cjs');
34
35
  var AccessDeniedContext = require('../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
35
36
  var AccountExistsContext = require('../../../context/AccountExistsContext/AccountExistsContext.cjs');
36
37
  require('../../../context/DynamicContext/DynamicContext.cjs');
@@ -120,6 +121,7 @@ const useUserAuth = ({ authMethod, }) => {
120
121
  const { setExistentAccountData } = AccountExistsContext.useAccountExistsContext();
121
122
  const handleAuthenticatedUser = useHandleAuthenticatedUser.useHandleAuthenticatedUser();
122
123
  const { shouldAutoCreateEmbeddedWallet, shouldPromptForKeyExport, embeddedWalletSettingVersion, } = useEmbeddedWallet.useEmbeddedWallet();
124
+ const projectSettings = useProjectSettings.useProjectSettings();
123
125
  const isVerifyResponse = (response) => response.user;
124
126
  const cancelAuth = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
125
127
  logger.logger.debug('cancelAuth', { authMethod });
@@ -200,7 +202,7 @@ const useUserAuth = ({ authMethod, }) => {
200
202
  setExistentAccountData,
201
203
  ]);
202
204
  const initAuth = React.useCallback((_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ isSignIn = true, verifyFunction, onVerifySuccess, onSettled, onError, showSuccessMessage = false, skipDefaultErrorHandling = false, }) {
203
- var _b;
205
+ var _b, _c, _d;
204
206
  logger.logger.debug('initAuth', { authMethod, isSignIn });
205
207
  try {
206
208
  // TODO: change this logic to const verifiedUser = await verifyFunction();
@@ -244,7 +246,12 @@ const useUserAuth = ({ authMethod, }) => {
244
246
  setCallback('authSuccess');
245
247
  }
246
248
  const walletVersion = embeddedWalletSettingVersion();
247
- if (walletVersion === sdkApiCore.EmbeddedWalletVersionEnum.V1 &&
249
+ const shouldKeepAuthFlowOpenForPasswordSetup = walletVersion === sdkApiCore.EmbeddedWalletVersionEnum.V3 &&
250
+ Boolean((_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.passcodeRequired);
251
+ if (shouldKeepAuthFlowOpenForPasswordSetup) {
252
+ // Keep auth flow open so setup-password can be shown (useSyncDynamicWaas)
253
+ }
254
+ else if (walletVersion === sdkApiCore.EmbeddedWalletVersionEnum.V1 &&
248
255
  shouldCreateWallet) {
249
256
  setShowAuthFlow(true);
250
257
  }
@@ -271,6 +278,7 @@ const useUserAuth = ({ authMethod, }) => {
271
278
  embeddedWalletSettingVersion,
272
279
  handleAuthError,
273
280
  handleAuthenticatedUser,
281
+ projectSettings,
274
282
  setCallback,
275
283
  setLoading,
276
284
  setMultiWalletWidgetState,
@@ -279,7 +287,7 @@ const useUserAuth = ({ authMethod, }) => {
279
287
  shouldPromptForKeyExport,
280
288
  walletConnectorOptions,
281
289
  ]);
282
- const handleVerifyMissingFields = React.useCallback((_c) => _tslib.__awaiter(void 0, [_c], void 0, function* ({ missingFields, isEmailVerificationRequired, isSmsVerificationRequired, }) {
290
+ const handleVerifyMissingFields = React.useCallback((_e) => _tslib.__awaiter(void 0, [_e], void 0, function* ({ missingFields, isEmailVerificationRequired, isSmsVerificationRequired, }) {
283
291
  if (isEmailVerificationRequired &&
284
292
  missingFields.find((field) => field.name === 'email')) {
285
293
  pushView('verify-email');
@@ -292,7 +300,7 @@ const useUserAuth = ({ authMethod, }) => {
292
300
  }
293
301
  pushView(view.type);
294
302
  }), [pushView, view === null || view === void 0 ? void 0 : view.type]);
295
- const completeAuth = React.useCallback((_d) => _tslib.__awaiter(void 0, [_d], void 0, function* ({ completeSignInFlow, updateJwtFunction, onValidUpdatedJwt, options = {}, }) {
303
+ const completeAuth = React.useCallback((_f) => _tslib.__awaiter(void 0, [_f], void 0, function* ({ completeSignInFlow, updateJwtFunction, onValidUpdatedJwt, options = {}, }) {
296
304
  logger.logger.debug('completeAuth', { authMethod });
297
305
  try {
298
306
  const { updateUserProfileResponse, isSmsVerificationRequired, isEmailVerificationRequired, missingFields, } = yield updateJwtFunction();
@@ -27,6 +27,7 @@ import '../../../store/state/connectedWalletsInfo/connectedWalletsInfo.js';
27
27
  import '../../functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.js';
28
28
  import '../../../events/dynamicEvents.js';
29
29
  import { storeTokenAndUser } from '../../../client/extension/storeTokenAndUser/storeTokenAndUser.js';
30
+ import { useProjectSettings } from '../../../client/extension/projectSettings/useProjectSettings/useProjectSettings.js';
30
31
  import { useAccessDeniedContext } from '../../../context/AccessDeniedContext/AccessDeniedContext.js';
31
32
  import { useAccountExistsContext } from '../../../context/AccountExistsContext/AccountExistsContext.js';
32
33
  import '../../../context/DynamicContext/DynamicContext.js';
@@ -116,6 +117,7 @@ const useUserAuth = ({ authMethod, }) => {
116
117
  const { setExistentAccountData } = useAccountExistsContext();
117
118
  const handleAuthenticatedUser = useHandleAuthenticatedUser();
118
119
  const { shouldAutoCreateEmbeddedWallet, shouldPromptForKeyExport, embeddedWalletSettingVersion, } = useEmbeddedWallet();
120
+ const projectSettings = useProjectSettings();
119
121
  const isVerifyResponse = (response) => response.user;
120
122
  const cancelAuth = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
121
123
  logger.debug('cancelAuth', { authMethod });
@@ -196,7 +198,7 @@ const useUserAuth = ({ authMethod, }) => {
196
198
  setExistentAccountData,
197
199
  ]);
198
200
  const initAuth = useCallback((_a) => __awaiter(void 0, [_a], void 0, function* ({ isSignIn = true, verifyFunction, onVerifySuccess, onSettled, onError, showSuccessMessage = false, skipDefaultErrorHandling = false, }) {
199
- var _b;
201
+ var _b, _c, _d;
200
202
  logger.debug('initAuth', { authMethod, isSignIn });
201
203
  try {
202
204
  // TODO: change this logic to const verifiedUser = await verifyFunction();
@@ -240,7 +242,12 @@ const useUserAuth = ({ authMethod, }) => {
240
242
  setCallback('authSuccess');
241
243
  }
242
244
  const walletVersion = embeddedWalletSettingVersion();
243
- if (walletVersion === EmbeddedWalletVersionEnum.V1 &&
245
+ const shouldKeepAuthFlowOpenForPasswordSetup = walletVersion === EmbeddedWalletVersionEnum.V3 &&
246
+ Boolean((_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.passcodeRequired);
247
+ if (shouldKeepAuthFlowOpenForPasswordSetup) {
248
+ // Keep auth flow open so setup-password can be shown (useSyncDynamicWaas)
249
+ }
250
+ else if (walletVersion === EmbeddedWalletVersionEnum.V1 &&
244
251
  shouldCreateWallet) {
245
252
  setShowAuthFlow(true);
246
253
  }
@@ -267,6 +274,7 @@ const useUserAuth = ({ authMethod, }) => {
267
274
  embeddedWalletSettingVersion,
268
275
  handleAuthError,
269
276
  handleAuthenticatedUser,
277
+ projectSettings,
270
278
  setCallback,
271
279
  setLoading,
272
280
  setMultiWalletWidgetState,
@@ -275,7 +283,7 @@ const useUserAuth = ({ authMethod, }) => {
275
283
  shouldPromptForKeyExport,
276
284
  walletConnectorOptions,
277
285
  ]);
278
- const handleVerifyMissingFields = useCallback((_c) => __awaiter(void 0, [_c], void 0, function* ({ missingFields, isEmailVerificationRequired, isSmsVerificationRequired, }) {
286
+ const handleVerifyMissingFields = useCallback((_e) => __awaiter(void 0, [_e], void 0, function* ({ missingFields, isEmailVerificationRequired, isSmsVerificationRequired, }) {
279
287
  if (isEmailVerificationRequired &&
280
288
  missingFields.find((field) => field.name === 'email')) {
281
289
  pushView('verify-email');
@@ -288,7 +296,7 @@ const useUserAuth = ({ authMethod, }) => {
288
296
  }
289
297
  pushView(view.type);
290
298
  }), [pushView, view === null || view === void 0 ? void 0 : view.type]);
291
- const completeAuth = useCallback((_d) => __awaiter(void 0, [_d], void 0, function* ({ completeSignInFlow, updateJwtFunction, onValidUpdatedJwt, options = {}, }) {
299
+ const completeAuth = useCallback((_f) => __awaiter(void 0, [_f], void 0, function* ({ completeSignInFlow, updateJwtFunction, onValidUpdatedJwt, options = {}, }) {
292
300
  logger.debug('completeAuth', { authMethod });
293
301
  try {
294
302
  const { updateUserProfileResponse, isSmsVerificationRequired, isEmailVerificationRequired, missingFields, } = yield updateJwtFunction();
@@ -77,6 +77,7 @@ require('qrcode');
77
77
  require('formik');
78
78
  require('../useSubdomainCheck/useSubdomainCheck.cjs');
79
79
  require('../../../context/WalletGroupContext/WalletGroupContext.cjs');
80
+ var useDynamicWaas = require('../useDynamicWaas/useDynamicWaas.cjs');
80
81
  var types = require('./types.cjs');
81
82
  var cloudProviders = require('./cloudProviders.cjs');
82
83
  require('../../../context/IpConfigurationContext/IpConfigurationContext.cjs');
@@ -96,7 +97,6 @@ require('../../../views/MfaChooseDeviceView/useGetMfaOptions/useGetMfaOptions.cj
96
97
  require('../../../context/PasskeyContext/PasskeyContext.cjs');
97
98
  require('../../../context/OnrampContext/OnrampContext.cjs');
98
99
  var useRefreshAuth = require('../useRefreshAuth/useRefreshAuth.cjs');
99
- var useDynamicWaas = require('../useDynamicWaas/useDynamicWaas.cjs');
100
100
  require('../../../store/state/sendBalances.cjs');
101
101
  require('../../../store/state/connectorsInitializing/connectorsInitializing.cjs');
102
102
  require('../../../components/OverlayCardBase/OverlayCardTarget/OverlayCardTarget.cjs');
@@ -73,6 +73,7 @@ import 'qrcode';
73
73
  import 'formik';
74
74
  import '../useSubdomainCheck/useSubdomainCheck.js';
75
75
  import '../../../context/WalletGroupContext/WalletGroupContext.js';
76
+ import { useDynamicWaas } from '../useDynamicWaas/useDynamicWaas.js';
76
77
  import { CloudBackupProvider } from './types.js';
77
78
  import { getSupportedProviders, CLOUD_PROVIDER_CONFIGS } from './cloudProviders.js';
78
79
  import '../../../context/IpConfigurationContext/IpConfigurationContext.js';
@@ -92,7 +93,6 @@ import '../../../views/MfaChooseDeviceView/useGetMfaOptions/useGetMfaOptions.js'
92
93
  import '../../../context/PasskeyContext/PasskeyContext.js';
93
94
  import '../../../context/OnrampContext/OnrampContext.js';
94
95
  import { useRefreshAuth } from '../useRefreshAuth/useRefreshAuth.js';
95
- import { useDynamicWaas } from '../useDynamicWaas/useDynamicWaas.js';
96
96
  import '../../../store/state/sendBalances.js';
97
97
  import '../../../store/state/connectorsInitializing/connectorsInitializing.js';
98
98
  import '../../../components/OverlayCardBase/OverlayCardTarget/OverlayCardTarget.js';
@@ -81,6 +81,7 @@ require('qrcode');
81
81
  require('formik');
82
82
  require('../useSubdomainCheck/useSubdomainCheck.cjs');
83
83
  require('../../../context/WalletGroupContext/WalletGroupContext.cjs');
84
+ var useDynamicWaas = require('../useDynamicWaas/useDynamicWaas.cjs');
84
85
  require('../useWalletBackup/useWalletBackup.cjs');
85
86
  require('../useWalletBackup/types.cjs');
86
87
  require('../useWalletBackup/cloudProviders.cjs');
@@ -98,7 +99,6 @@ require('../../../context/PasskeyContext/PasskeyContext.cjs');
98
99
  require('../../../context/OnrampContext/OnrampContext.cjs');
99
100
  var waas = require('../../../data/api/waas/waas.cjs');
100
101
  var useRefreshAuth = require('../useRefreshAuth/useRefreshAuth.cjs');
101
- var useDynamicWaas = require('../useDynamicWaas/useDynamicWaas.cjs');
102
102
  require('../../../store/state/sendBalances.cjs');
103
103
  require('../../../store/state/connectorsInitializing/connectorsInitializing.cjs');
104
104
  require('../../../components/OverlayCardBase/OverlayCardTarget/OverlayCardTarget.cjs');
@@ -77,6 +77,7 @@ import 'qrcode';
77
77
  import 'formik';
78
78
  import '../useSubdomainCheck/useSubdomainCheck.js';
79
79
  import '../../../context/WalletGroupContext/WalletGroupContext.js';
80
+ import { useDynamicWaas } from '../useDynamicWaas/useDynamicWaas.js';
80
81
  import '../useWalletBackup/useWalletBackup.js';
81
82
  import '../useWalletBackup/types.js';
82
83
  import '../useWalletBackup/cloudProviders.js';
@@ -94,7 +95,6 @@ import '../../../context/PasskeyContext/PasskeyContext.js';
94
95
  import '../../../context/OnrampContext/OnrampContext.js';
95
96
  import { updateWaasWalletSettings } from '../../../data/api/waas/waas.js';
96
97
  import { useRefreshAuth } from '../useRefreshAuth/useRefreshAuth.js';
97
- import { useDynamicWaas } from '../useDynamicWaas/useDynamicWaas.js';
98
98
  import '../../../store/state/sendBalances.js';
99
99
  import '../../../store/state/connectorsInitializing/connectorsInitializing.js';
100
100
  import '../../../components/OverlayCardBase/OverlayCardTarget/OverlayCardTarget.js';
@@ -0,0 +1 @@
1
+ export * from './useWalletPassword';