@dynamic-labs/sdk-react-core 4.59.2 → 4.60.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 (61) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/package.cjs +2 -1
  3. package/package.js +2 -1
  4. package/package.json +13 -12
  5. package/src/index.cjs +4 -2
  6. package/src/index.d.ts +1 -1
  7. package/src/index.js +2 -1
  8. package/src/lib/context/ViewContext/types/index.d.ts +1 -1
  9. package/src/lib/events/embeddedWallet.d.ts +15 -3
  10. package/src/lib/shared/assets/index.d.ts +1 -1
  11. package/src/lib/shared/assets/setup-password-terms-illustration.cjs +83 -0
  12. package/src/lib/shared/assets/setup-password-terms-illustration.js +59 -0
  13. package/src/lib/styles/index.shadow.cjs +1 -1
  14. package/src/lib/styles/index.shadow.js +1 -1
  15. package/src/lib/utils/hooks/index.d.ts +4 -0
  16. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.cjs +20 -3
  17. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.d.ts +6 -1
  18. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.js +20 -3
  19. package/src/lib/utils/hooks/useGetPasswordForSigning/index.d.ts +2 -0
  20. package/src/lib/utils/hooks/useGetPasswordForSigning/useGetPasswordForSigning.cjs +16 -0
  21. package/src/lib/utils/hooks/useGetPasswordForSigning/useGetPasswordForSigning.d.ts +5 -0
  22. package/src/lib/utils/hooks/useGetPasswordForSigning/useGetPasswordForSigning.js +12 -0
  23. package/src/lib/utils/hooks/usePromptWalletUnlock/index.d.ts +2 -0
  24. package/src/lib/utils/hooks/usePromptWalletUnlock/usePromptWalletUnlock.cjs +144 -0
  25. package/src/lib/utils/hooks/usePromptWalletUnlock/usePromptWalletUnlock.d.ts +5 -0
  26. package/src/lib/utils/hooks/usePromptWalletUnlock/usePromptWalletUnlock.js +140 -0
  27. package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.cjs +14 -14
  28. package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.js +14 -14
  29. package/src/lib/utils/hooks/useSetupPassword/useSetupPassword.cjs +13 -100
  30. package/src/lib/utils/hooks/useSetupPassword/useSetupPassword.js +13 -100
  31. package/src/lib/utils/hooks/useWalletUnlock/index.d.ts +2 -0
  32. package/src/lib/utils/hooks/useWalletUnlock/useWalletUnlock.d.ts +15 -0
  33. package/src/lib/views/NoAccess/NoAccess.cjs +1 -1
  34. package/src/lib/views/NoAccess/NoAccess.js +1 -1
  35. package/src/lib/views/{SetupPasswordForWalletCreationView/SetupPasswordForWalletCreationView.cjs → UnlockWalletView/UnlockWalletView.cjs} +18 -13
  36. package/src/lib/views/UnlockWalletView/UnlockWalletView.d.ts +6 -0
  37. package/src/lib/views/{SetupPasswordForWalletCreationView/SetupPasswordForWalletCreationView.js → UnlockWalletView/UnlockWalletView.js} +18 -13
  38. package/src/lib/views/UnlockWalletView/index.d.ts +2 -0
  39. package/src/lib/views/index.d.ts +3 -3
  40. package/src/lib/views/viewToComponentMap.cjs +3 -3
  41. package/src/lib/views/viewToComponentMap.d.ts +1 -1
  42. package/src/lib/views/viewToComponentMap.js +3 -3
  43. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +1 -1
  44. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +1 -1
  45. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/mapViewToComponent.cjs +43 -43
  46. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/mapViewToComponent.js +43 -43
  47. package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/MfaSection/MfaSection.cjs +33 -19
  48. package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/MfaSection/MfaSection.js +33 -19
  49. package/src/lib/widgets/DynamicWidget/views/EnterPasswordView/EnterPasswordView.cjs +61 -0
  50. package/src/lib/widgets/DynamicWidget/views/EnterPasswordView/EnterPasswordView.d.ts +9 -0
  51. package/src/lib/widgets/DynamicWidget/views/EnterPasswordView/EnterPasswordView.js +57 -0
  52. package/src/lib/widgets/DynamicWidget/views/EnterPasswordView/index.d.ts +2 -0
  53. package/src/lib/widgets/DynamicWidget/views/SetupPasswordTermsView/SetupPasswordTermsView.cjs +2 -3
  54. package/src/lib/widgets/DynamicWidget/views/SetupPasswordTermsView/SetupPasswordTermsView.js +2 -3
  55. package/src/lib/widgets/DynamicWidget/views/SetupPasswordView/SetupPasswordView.cjs +13 -6
  56. package/src/lib/widgets/DynamicWidget/views/SetupPasswordView/SetupPasswordView.js +13 -6
  57. package/src/lib/widgets/DynamicWidget/views/index.d.ts +1 -0
  58. package/src/lib/shared/assets/warning-circle-orange.cjs +0 -57
  59. package/src/lib/shared/assets/warning-circle-orange.js +0 -33
  60. package/src/lib/views/SetupPasswordForWalletCreationView/SetupPasswordForWalletCreationView.d.ts +0 -2
  61. package/src/lib/views/SetupPasswordForWalletCreationView/index.d.ts +0 -1
@@ -13,7 +13,7 @@ require('../../../config/ApiEndpoint.cjs');
13
13
  require('@dynamic-labs/iconic');
14
14
  require('@dynamic-labs/wallet-connector-core');
15
15
  require('react/jsx-runtime');
16
- var ViewContext = require('../../../context/ViewContext/ViewContext.cjs');
16
+ require('../../../context/ViewContext/ViewContext.cjs');
17
17
  require('../../../shared/logger.cjs');
18
18
  require('@dynamic-labs/wallet-book');
19
19
  require('@dynamic-labs/utils');
@@ -28,84 +28,9 @@ require('../../../store/state/dynamicContextProps/dynamicContextProps.cjs');
28
28
  require('../../../store/state/primaryWalletId/primaryWalletId.cjs');
29
29
  require('../../../store/state/connectedWalletsInfo/connectedWalletsInfo.cjs');
30
30
  require('../../functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.cjs');
31
- var dynamicEvents = require('../../../events/dynamicEvents.cjs');
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');
88
- 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');
33
+ var DynamicWidgetContext = require('../../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
109
34
 
110
35
  const PASSWORD_SETUP_CANCELLED_ERROR = 'Password setup cancelled';
111
36
  /**
@@ -121,35 +46,23 @@ const PASSWORD_SETUP_CANCELLED_ERROR = 'Password setup cancelled';
121
46
  const useSetupPassword = () => {
122
47
  var _a, _b;
123
48
  const projectSettings = useProjectSettings.useProjectSettings();
124
- const { setShowAuthFlow } = useInternalDynamicContext.useInternalDynamicContext();
125
- const { pushView } = ViewContext.useViewContext();
49
+ const { setDynamicWidgetView } = DynamicWidgetContext.useWidgetContext();
126
50
  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;
127
51
  const setupPassword = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
128
52
  if (!isPasscodeRequired) {
129
53
  return undefined;
130
54
  }
131
- setShowAuthFlow(true, {
132
- ignoreIfIsEmbeddedWidget: false,
133
- performMultiWalletChecks: false,
134
- });
135
- pushView('setup-password-for-wallet-creation');
136
55
  return new Promise((resolve, reject) => {
137
- const handleComplete = (password) => {
138
- cleanup();
139
- resolve(password);
140
- };
141
- const handleCancelled = () => {
142
- cleanup();
143
- reject(new Error(PASSWORD_SETUP_CANCELLED_ERROR));
144
- };
145
- const cleanup = () => {
146
- dynamicEvents.dynamicEvents.off('embeddedWalletPasswordSetupCompleted', handleComplete);
147
- dynamicEvents.dynamicEvents.off('embeddedWalletPasswordSetupCancelled', handleCancelled);
148
- };
149
- dynamicEvents.dynamicEvents.once('embeddedWalletPasswordSetupCompleted', handleComplete);
150
- dynamicEvents.dynamicEvents.once('embeddedWalletPasswordSetupCancelled', handleCancelled);
56
+ setDynamicWidgetView('setup-password', {
57
+ onCancel: () => {
58
+ reject(new Error(PASSWORD_SETUP_CANCELLED_ERROR));
59
+ },
60
+ onComplete: (password) => {
61
+ resolve(password);
62
+ },
63
+ });
151
64
  });
152
- }), [isPasscodeRequired, setShowAuthFlow, pushView]);
65
+ }), [isPasscodeRequired, setDynamicWidgetView]);
153
66
  return { isPasscodeRequired, setupPassword };
154
67
  };
155
68
 
@@ -9,7 +9,7 @@ import '../../../config/ApiEndpoint.js';
9
9
  import '@dynamic-labs/iconic';
10
10
  import '@dynamic-labs/wallet-connector-core';
11
11
  import 'react/jsx-runtime';
12
- import { useViewContext } from '../../../context/ViewContext/ViewContext.js';
12
+ import '../../../context/ViewContext/ViewContext.js';
13
13
  import '../../../shared/logger.js';
14
14
  import '@dynamic-labs/wallet-book';
15
15
  import '@dynamic-labs/utils';
@@ -24,84 +24,9 @@ import '../../../store/state/dynamicContextProps/dynamicContextProps.js';
24
24
  import '../../../store/state/primaryWalletId/primaryWalletId.js';
25
25
  import '../../../store/state/connectedWalletsInfo/connectedWalletsInfo.js';
26
26
  import '../../functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.js';
27
- import { dynamicEvents } from '../../../events/dynamicEvents.js';
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';
84
- import '../../../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';
29
+ import { useWidgetContext } from '../../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
105
30
 
106
31
  const PASSWORD_SETUP_CANCELLED_ERROR = 'Password setup cancelled';
107
32
  /**
@@ -117,35 +42,23 @@ const PASSWORD_SETUP_CANCELLED_ERROR = 'Password setup cancelled';
117
42
  const useSetupPassword = () => {
118
43
  var _a, _b;
119
44
  const projectSettings = useProjectSettings();
120
- const { setShowAuthFlow } = useInternalDynamicContext();
121
- const { pushView } = useViewContext();
45
+ const { setDynamicWidgetView } = useWidgetContext();
122
46
  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;
123
47
  const setupPassword = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
124
48
  if (!isPasscodeRequired) {
125
49
  return undefined;
126
50
  }
127
- setShowAuthFlow(true, {
128
- ignoreIfIsEmbeddedWidget: false,
129
- performMultiWalletChecks: false,
130
- });
131
- pushView('setup-password-for-wallet-creation');
132
51
  return new Promise((resolve, reject) => {
133
- const handleComplete = (password) => {
134
- cleanup();
135
- resolve(password);
136
- };
137
- const handleCancelled = () => {
138
- cleanup();
139
- reject(new Error(PASSWORD_SETUP_CANCELLED_ERROR));
140
- };
141
- const cleanup = () => {
142
- dynamicEvents.off('embeddedWalletPasswordSetupCompleted', handleComplete);
143
- dynamicEvents.off('embeddedWalletPasswordSetupCancelled', handleCancelled);
144
- };
145
- dynamicEvents.once('embeddedWalletPasswordSetupCompleted', handleComplete);
146
- dynamicEvents.once('embeddedWalletPasswordSetupCancelled', handleCancelled);
52
+ setDynamicWidgetView('setup-password', {
53
+ onCancel: () => {
54
+ reject(new Error(PASSWORD_SETUP_CANCELLED_ERROR));
55
+ },
56
+ onComplete: (password) => {
57
+ resolve(password);
58
+ },
59
+ });
147
60
  });
148
- }), [isPasscodeRequired, setShowAuthFlow, pushView]);
61
+ }), [isPasscodeRequired, setDynamicWidgetView]);
149
62
  return { isPasscodeRequired, setupPassword };
150
63
  };
151
64
 
@@ -0,0 +1,2 @@
1
+ export { useWalletUnlock } from './useWalletUnlock';
2
+ export type { UseWalletUnlockReturn, WalletUnlockState, } from './useWalletUnlock';
@@ -0,0 +1,15 @@
1
+ import { WalletRecoveryState } from '@dynamic-labs-wallet/browser-wallet-client';
2
+ import { ChainEnum } from '@dynamic-labs/sdk-api-core';
3
+ export type WalletUnlockState = {
4
+ isLocked: boolean;
5
+ recoveryState: WalletRecoveryState | null;
6
+ isLoading: boolean;
7
+ error: string | null;
8
+ };
9
+ export type UseWalletUnlockReturn = {
10
+ checkWalletLockState: (accountAddress: string, chainName: ChainEnum) => Promise<WalletRecoveryState | null>;
11
+ unlockWallet: (accountAddress: string, chainName: ChainEnum, password: string) => Promise<boolean>;
12
+ state: WalletUnlockState;
13
+ resetState: () => void;
14
+ };
15
+ export declare const useWalletUnlock: () => UseWalletUnlockReturn;
@@ -96,10 +96,10 @@ require('../../../index.cjs');
96
96
  require('../../widgets/DynamicWidget/helpers/convertExchangeKeyAndProviderEnum.cjs');
97
97
  require('qrcode');
98
98
  require('../../widgets/DynamicWidget/views/ReceiveWalletFunds/ReceiveWalletFunds.cjs');
99
+ var IconWithStatus = require('../../components/IconWithStatus/IconWithStatus.cjs');
99
100
  var StatusDot = require('../../components/StatusDot/StatusDot.cjs');
100
101
  var getSocialNetworkIcon = require('../../utils/functions/getSocialNetworkIcon/getSocialNetworkIcon.cjs');
101
102
  var useNoAccessText = require('./useNoAccessText.cjs');
102
- var IconWithStatus = require('../../components/IconWithStatus/IconWithStatus.cjs');
103
103
  require('../../context/IpConfigurationContext/IpConfigurationContext.cjs');
104
104
  require('../../context/ConnectWithOtpContext/ConnectWithOtpContext.cjs');
105
105
  require('../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
@@ -92,10 +92,10 @@ import '../../../index.js';
92
92
  import '../../widgets/DynamicWidget/helpers/convertExchangeKeyAndProviderEnum.js';
93
93
  import 'qrcode';
94
94
  import '../../widgets/DynamicWidget/views/ReceiveWalletFunds/ReceiveWalletFunds.js';
95
+ import { IconWithStatus } from '../../components/IconWithStatus/IconWithStatus.js';
95
96
  import { StatusDot } from '../../components/StatusDot/StatusDot.js';
96
97
  import { getSocialNetworkIcon } from '../../utils/functions/getSocialNetworkIcon/getSocialNetworkIcon.js';
97
98
  import { useNoAccessText } from './useNoAccessText.js';
98
- import { IconWithStatus } from '../../components/IconWithStatus/IconWithStatus.js';
99
99
  import '../../context/IpConfigurationContext/IpConfigurationContext.js';
100
100
  import '../../context/ConnectWithOtpContext/ConnectWithOtpContext.js';
101
101
  import '../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
@@ -3,8 +3,10 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
+ var _tslib = require('../../../../_virtual/_tslib.cjs');
6
7
  var jsxRuntime = require('react/jsx-runtime');
7
8
  var React = require('react');
9
+ var reactI18next = require('react-i18next');
8
10
  require('../../context/DynamicContext/DynamicContext.cjs');
9
11
  require('../../store/state/loadingAndLifecycle/loadingAndLifecycle.cjs');
10
12
  require('@dynamic-labs/iconic');
@@ -18,7 +20,6 @@ require('../../utils/constants/values.cjs');
18
20
  require('@dynamic-labs/sdk-api-core');
19
21
  require('../../shared/consts/index.cjs');
20
22
  var dynamicEvents = require('../../events/dynamicEvents.cjs');
21
- require('../../../../_virtual/_tslib.cjs');
22
23
  require('../../context/CaptchaContext/CaptchaContext.cjs');
23
24
  require('../../context/ErrorContext/ErrorContext.cjs');
24
25
  require('@dynamic-labs/multi-wallet');
@@ -56,7 +57,6 @@ require('../../context/FieldsStateContext/FieldsStateContext.cjs');
56
57
  require('../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
57
58
  require('@dynamic-labs/rpc-providers');
58
59
  require('../../store/state/walletOptions/walletOptions.cjs');
59
- require('react-i18next');
60
60
  require('../../components/Accordion/components/AccordionItem/AccordionItem.cjs');
61
61
  require('../../components/Alert/Alert.cjs');
62
62
  require('../../components/ShadowDOM/ShadowDOM.cjs');
@@ -77,6 +77,7 @@ require('qrcode');
77
77
  require('formik');
78
78
  require('../../utils/hooks/useSubdomainCheck/useSubdomainCheck.cjs');
79
79
  require('../../context/WalletGroupContext/WalletGroupContext.cjs');
80
+ var EnterPasswordView = require('../../widgets/DynamicWidget/views/EnterPasswordView/EnterPasswordView.cjs');
80
81
  require('../../utils/hooks/useWalletBackup/useWalletBackup.cjs');
81
82
  require('../../utils/hooks/useWalletBackup/types.cjs');
82
83
  require('../../utils/hooks/useWalletBackup/cloudProviders.cjs');
@@ -92,7 +93,6 @@ require('../../context/FooterAnimationContext/index.cjs');
92
93
  require('../MfaChooseDeviceView/useGetMfaOptions/useGetMfaOptions.cjs');
93
94
  require('../../context/PasskeyContext/PasskeyContext.cjs');
94
95
  require('../../context/OnrampContext/OnrampContext.cjs');
95
- var SetupPasswordView = require('../../widgets/DynamicWidget/views/SetupPasswordView/SetupPasswordView.cjs');
96
96
  require('../../store/state/sendBalances.cjs');
97
97
  require('../../store/state/connectorsInitializing/connectorsInitializing.cjs');
98
98
  require('../../components/OverlayCardBase/OverlayCardTarget/OverlayCardTarget.cjs');
@@ -107,17 +107,22 @@ require('../../store/state/multichainBalances.cjs');
107
107
  require('../../shared/utils/functions/getInitialUrl/getInitialUrl.cjs');
108
108
  var useInternalDynamicContext = require('../../context/DynamicContext/useDynamicContext/useInternalDynamicContext/useInternalDynamicContext.cjs');
109
109
 
110
- const SetupPasswordForWalletCreationView = () => {
110
+ const UnlockWalletView = ({ accountAddress, chainName, }) => {
111
+ const { t } = reactI18next.useTranslation();
111
112
  const { setShowAuthFlow } = useInternalDynamicContext.useInternalDynamicContext();
112
- const handleCancel = React.useCallback(() => {
113
- dynamicEvents.dynamicEvents.emit('embeddedWalletPasswordSetupCancelled');
113
+ const handleContinue = React.useCallback((password) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
114
+ dynamicEvents.dynamicEvents.emit('walletUnlockAttempt', {
115
+ accountAddress,
116
+ chainName,
117
+ });
118
+ dynamicEvents.dynamicEvents.emit('walletUnlockPasswordProvided', {
119
+ accountAddress,
120
+ chainName,
121
+ password,
122
+ });
114
123
  setShowAuthFlow(false);
115
- }, [setShowAuthFlow]);
116
- const handleComplete = React.useCallback((password) => {
117
- dynamicEvents.dynamicEvents.emit('embeddedWalletPasswordSetupCompleted', password);
118
- setShowAuthFlow(false);
119
- }, [setShowAuthFlow]);
120
- return (jsxRuntime.jsx(SetupPasswordView.SetupPasswordView, { onComplete: handleComplete, onCancel: handleCancel }));
124
+ }), [accountAddress, chainName, setShowAuthFlow]);
125
+ return (jsxRuntime.jsx(EnterPasswordView.EnterPasswordView, { onContinue: handleContinue, title: t('dyn_unlock_wallet.title'), description: t('dyn_unlock_wallet.description'), buttonLabel: t('dyn_unlock_wallet.button.continue') }));
121
126
  };
122
127
 
123
- exports.SetupPasswordForWalletCreationView = SetupPasswordForWalletCreationView;
128
+ exports.UnlockWalletView = UnlockWalletView;
@@ -0,0 +1,6 @@
1
+ import { FC } from 'react';
2
+ export type UnlockWalletViewProps = {
3
+ accountAddress: string;
4
+ chainName: string;
5
+ };
6
+ export declare const UnlockWalletView: FC<UnlockWalletViewProps>;
@@ -1,6 +1,8 @@
1
1
  'use client'
2
+ import { __awaiter } from '../../../../_virtual/_tslib.js';
2
3
  import { jsx } from 'react/jsx-runtime';
3
4
  import { useCallback } from 'react';
5
+ import { useTranslation } from 'react-i18next';
4
6
  import '../../context/DynamicContext/DynamicContext.js';
5
7
  import '../../store/state/loadingAndLifecycle/loadingAndLifecycle.js';
6
8
  import '@dynamic-labs/iconic';
@@ -14,7 +16,6 @@ import '../../utils/constants/values.js';
14
16
  import '@dynamic-labs/sdk-api-core';
15
17
  import '../../shared/consts/index.js';
16
18
  import { dynamicEvents } from '../../events/dynamicEvents.js';
17
- import '../../../../_virtual/_tslib.js';
18
19
  import '../../context/CaptchaContext/CaptchaContext.js';
19
20
  import '../../context/ErrorContext/ErrorContext.js';
20
21
  import '@dynamic-labs/multi-wallet';
@@ -52,7 +53,6 @@ import '../../context/FieldsStateContext/FieldsStateContext.js';
52
53
  import '../../context/UserFieldEditorContext/UserFieldEditorContext.js';
53
54
  import '@dynamic-labs/rpc-providers';
54
55
  import '../../store/state/walletOptions/walletOptions.js';
55
- import 'react-i18next';
56
56
  import '../../components/Accordion/components/AccordionItem/AccordionItem.js';
57
57
  import '../../components/Alert/Alert.js';
58
58
  import '../../components/ShadowDOM/ShadowDOM.js';
@@ -73,6 +73,7 @@ import 'qrcode';
73
73
  import 'formik';
74
74
  import '../../utils/hooks/useSubdomainCheck/useSubdomainCheck.js';
75
75
  import '../../context/WalletGroupContext/WalletGroupContext.js';
76
+ import { EnterPasswordView } from '../../widgets/DynamicWidget/views/EnterPasswordView/EnterPasswordView.js';
76
77
  import '../../utils/hooks/useWalletBackup/useWalletBackup.js';
77
78
  import '../../utils/hooks/useWalletBackup/types.js';
78
79
  import '../../utils/hooks/useWalletBackup/cloudProviders.js';
@@ -88,7 +89,6 @@ import '../../context/FooterAnimationContext/index.js';
88
89
  import '../MfaChooseDeviceView/useGetMfaOptions/useGetMfaOptions.js';
89
90
  import '../../context/PasskeyContext/PasskeyContext.js';
90
91
  import '../../context/OnrampContext/OnrampContext.js';
91
- import { SetupPasswordView } from '../../widgets/DynamicWidget/views/SetupPasswordView/SetupPasswordView.js';
92
92
  import '../../store/state/sendBalances.js';
93
93
  import '../../store/state/connectorsInitializing/connectorsInitializing.js';
94
94
  import '../../components/OverlayCardBase/OverlayCardTarget/OverlayCardTarget.js';
@@ -103,17 +103,22 @@ import '../../store/state/multichainBalances.js';
103
103
  import '../../shared/utils/functions/getInitialUrl/getInitialUrl.js';
104
104
  import { useInternalDynamicContext } from '../../context/DynamicContext/useDynamicContext/useInternalDynamicContext/useInternalDynamicContext.js';
105
105
 
106
- const SetupPasswordForWalletCreationView = () => {
106
+ const UnlockWalletView = ({ accountAddress, chainName, }) => {
107
+ const { t } = useTranslation();
107
108
  const { setShowAuthFlow } = useInternalDynamicContext();
108
- const handleCancel = useCallback(() => {
109
- dynamicEvents.emit('embeddedWalletPasswordSetupCancelled');
109
+ const handleContinue = useCallback((password) => __awaiter(void 0, void 0, void 0, function* () {
110
+ dynamicEvents.emit('walletUnlockAttempt', {
111
+ accountAddress,
112
+ chainName,
113
+ });
114
+ dynamicEvents.emit('walletUnlockPasswordProvided', {
115
+ accountAddress,
116
+ chainName,
117
+ password,
118
+ });
110
119
  setShowAuthFlow(false);
111
- }, [setShowAuthFlow]);
112
- const handleComplete = useCallback((password) => {
113
- dynamicEvents.emit('embeddedWalletPasswordSetupCompleted', password);
114
- setShowAuthFlow(false);
115
- }, [setShowAuthFlow]);
116
- return (jsx(SetupPasswordView, { onComplete: handleComplete, onCancel: handleCancel }));
120
+ }), [accountAddress, chainName, setShowAuthFlow]);
121
+ return (jsx(EnterPasswordView, { onContinue: handleContinue, title: t('dyn_unlock_wallet.title'), description: t('dyn_unlock_wallet.description'), buttonLabel: t('dyn_unlock_wallet.button.continue') }));
117
122
  };
118
123
 
119
- export { SetupPasswordForWalletCreationView };
124
+ export { UnlockWalletView };
@@ -0,0 +1,2 @@
1
+ export { UnlockWalletView } from './UnlockWalletView';
2
+ export type { UnlockWalletViewProps } from './UnlockWalletView';
@@ -1,13 +1,13 @@
1
1
  export { NoQrNotInstalledView } from './/NoQrNotInstalledView';
2
+ export { AddNetworkView } from './AddNetworkView';
2
3
  export { BackupUnsuccessfulView } from './BackupUnsuccessfulView/BackupUnsuccessfulView';
3
4
  export { CollectUserDataView } from './CollectUserDataView';
4
5
  export { EmailConfirmationWaitingView } from './EmailConfirmationWaitingView';
6
+ export { FarcasterConnectView } from './FarcasterConnectView';
5
7
  export { NoAccess } from './NoAccess';
6
8
  export { PendingSignatureView } from './PendingSignatureView';
7
9
  export { QrCodeView } from './QrCodeView';
8
10
  export { WalletList } from './WalletList';
9
- export { FarcasterConnectView } from './FarcasterConnectView';
10
- export { AddNetworkView } from './AddNetworkView';
11
11
  export { NetworkNotSupportedSwitchManual } from './NetworkNotSupportedSwitchManual';
12
+ export { UnlockWalletView } from './UnlockWalletView';
12
13
  export { viewToComponentMap } from './viewToComponentMap';
13
- export { SetupPasswordForWalletCreationView } from './SetupPasswordForWalletCreationView';
@@ -4,6 +4,7 @@
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var jsxRuntime = require('react/jsx-runtime');
7
+ var SetupPasswordTermsView = require('../widgets/DynamicWidget/views/SetupPasswordTermsView/SetupPasswordTermsView.cjs');
7
8
  require('react');
8
9
  require('@dynamic-labs/iconic');
9
10
  require('../context/ViewContext/ViewContext.cjs');
@@ -13,7 +14,6 @@ var WaasBackupInfoView = require('../widgets/DynamicWidget/views/WaasBackupView/
13
14
  var WaasBackupProgressView = require('../widgets/DynamicWidget/views/WaasBackupView/WaasBackupProgressView.cjs');
14
15
  var WaasBackupSuccessView = require('../widgets/DynamicWidget/views/WaasBackupView/WaasBackupSuccessView.cjs');
15
16
  var WaasBackupView = require('../widgets/DynamicWidget/views/WaasBackupView/WaasBackupView.cjs');
16
- var SetupPasswordTermsView = require('../widgets/DynamicWidget/views/SetupPasswordTermsView/SetupPasswordTermsView.cjs');
17
17
  var AccessBlockedView = require('./AccessBlockedView/AccessBlockedView.cjs');
18
18
  var AccountExistsView = require('./AccountExistsView/AccountExistsView.cjs');
19
19
  var AccountUpgradedView = require('./AccountUpgradedView/AccountUpgradedView.cjs');
@@ -145,6 +145,7 @@ require('../widgets/DynamicWidget/views/ReceiveWalletFunds/ReceiveWalletFunds.cj
145
145
  var PendingSignatureView = require('./PendingSignatureView/PendingSignatureView.cjs');
146
146
  var QrCodeView = require('./QrCodeView/QrCodeView.cjs');
147
147
  var WalletList = require('./WalletList/WalletList.cjs');
148
+ var UnlockWalletView = require('./UnlockWalletView/UnlockWalletView.cjs');
148
149
  var ConfirmPasskeyView = require('./Passkey/ConfirmPasskeyView/ConfirmPasskeyView.cjs');
149
150
  var SetupPasskeyView = require('./Passkey/SetupPasskeyView/SetupPasskeyView.cjs');
150
151
  var PendingConnectView = require('./PendingConnectView/PendingConnectView.cjs');
@@ -166,7 +167,6 @@ var WalletRedirectView = require('./WalletRedirectView/WalletRedirectView.cjs');
166
167
  var WalletSignSpinnerView = require('./WalletSignSpinnerView/WalletSignSpinnerView.cjs');
167
168
  var WalletUpgradeFlowView = require('./WalletUpgradeFlowView/WalletUpgradeFlowView.cjs');
168
169
  var WalletUsedView = require('./WalletUsedView/WalletUsedView.cjs');
169
- var SetupPasswordForWalletCreationView = require('./SetupPasswordForWalletCreationView/SetupPasswordForWalletCreationView.cjs');
170
170
  require('../store/state/connectorsInitializing/connectorsInitializing.cjs');
171
171
  require('../store/state/tokenBalances.cjs');
172
172
  require('../store/state/multichainBalances.cjs');
@@ -242,11 +242,11 @@ const viewToComponentMap = {
242
242
  'sandbox-maximum-threshold-reached': SandboxMaximumThresholdReached.SandboxMaximumThresholdReached,
243
243
  'select-hardware-wallet': SelectHardwareWalletView.SelectHardwareWalletView,
244
244
  'select-wallet-in-wallet-group': SelectWalletInWalletGroupView.SelectWalletInWalletGroupView,
245
- 'setup-password-for-wallet-creation': SetupPasswordForWalletCreationView.SetupPasswordForWalletCreationView,
246
245
  'setup-password-terms': SetupPasswordTermsView.SetupPasswordTermsView,
247
246
  'social-redirect-view': SocialRedirectView.SocialRedirectView,
248
247
  'social-wrong-account': SocialWrongAccountView.SocialWrongAccountView,
249
248
  'unified-wallet-exchange-list': UnifiedList.UnifiedList,
249
+ 'unlock-wallet': UnlockWalletView.UnlockWalletView,
250
250
  'user-delete-account': UserDeleteAccountView.UserDeleteAccountView,
251
251
  'verify-email': EmailVerification.EmailVerification,
252
252
  'verify-sms': SmsVerification.SmsVerification,
@@ -100,11 +100,11 @@ export declare const viewToComponentMap: {
100
100
  'select-wallet-in-wallet-group': import("react").FC<{
101
101
  onSelectWallet: (wallet: import("../shared").WalletOption) => void;
102
102
  }>;
103
- 'setup-password-for-wallet-creation': import("react").FC;
104
103
  'setup-password-terms': import("react").FC<import("../widgets/DynamicWidget/views/SetupPasswordTermsView").SetupPasswordTermsViewProps>;
105
104
  'social-redirect-view': () => JSX.Element;
106
105
  'social-wrong-account': () => JSX.Element | null;
107
106
  'unified-wallet-exchange-list': import("react").FC<import("./UnifiedList/UnifiedList").UnifiedListProps>;
107
+ 'unlock-wallet': import("react").FC<import("./UnlockWalletView").UnlockWalletViewProps>;
108
108
  'user-delete-account': import("react").FC<{}>;
109
109
  'verify-email': import("react").FC<import("./EmailVerification/EmailVerification").EmailVerificationProps>;
110
110
  'verify-sms': import("react").FC;
@@ -1,5 +1,6 @@
1
1
  'use client'
2
2
  import { jsx } from 'react/jsx-runtime';
3
+ import { SetupPasswordTermsView } from '../widgets/DynamicWidget/views/SetupPasswordTermsView/SetupPasswordTermsView.js';
3
4
  import 'react';
4
5
  import '@dynamic-labs/iconic';
5
6
  import '../context/ViewContext/ViewContext.js';
@@ -9,7 +10,6 @@ import { WaasBackupInfoView } from '../widgets/DynamicWidget/views/WaasBackupVie
9
10
  import { WaasBackupProgressView } from '../widgets/DynamicWidget/views/WaasBackupView/WaasBackupProgressView.js';
10
11
  import { WaasBackupSuccessView } from '../widgets/DynamicWidget/views/WaasBackupView/WaasBackupSuccessView.js';
11
12
  import { WaasBackupView } from '../widgets/DynamicWidget/views/WaasBackupView/WaasBackupView.js';
12
- import { SetupPasswordTermsView } from '../widgets/DynamicWidget/views/SetupPasswordTermsView/SetupPasswordTermsView.js';
13
13
  import { AccessBlockedView } from './AccessBlockedView/AccessBlockedView.js';
14
14
  import { AccountExistsView } from './AccountExistsView/AccountExistsView.js';
15
15
  import { AccountUpgradedView } from './AccountUpgradedView/AccountUpgradedView.js';
@@ -141,6 +141,7 @@ import '../widgets/DynamicWidget/views/ReceiveWalletFunds/ReceiveWalletFunds.js'
141
141
  import { PendingSignatureView } from './PendingSignatureView/PendingSignatureView.js';
142
142
  import { QrCodeView } from './QrCodeView/QrCodeView.js';
143
143
  import { WalletList } from './WalletList/WalletList.js';
144
+ import { UnlockWalletView } from './UnlockWalletView/UnlockWalletView.js';
144
145
  import { ConfirmPasskeyView } from './Passkey/ConfirmPasskeyView/ConfirmPasskeyView.js';
145
146
  import { SetupPasskeyView } from './Passkey/SetupPasskeyView/SetupPasskeyView.js';
146
147
  import { PendingConnectView } from './PendingConnectView/PendingConnectView.js';
@@ -162,7 +163,6 @@ import { WalletRedirectView } from './WalletRedirectView/WalletRedirectView.js';
162
163
  import { WalletSignSpinnerView } from './WalletSignSpinnerView/WalletSignSpinnerView.js';
163
164
  import { WalletUpgradeFlowView } from './WalletUpgradeFlowView/WalletUpgradeFlowView.js';
164
165
  import { WalletUsedView } from './WalletUsedView/WalletUsedView.js';
165
- import { SetupPasswordForWalletCreationView } from './SetupPasswordForWalletCreationView/SetupPasswordForWalletCreationView.js';
166
166
  import '../store/state/connectorsInitializing/connectorsInitializing.js';
167
167
  import '../store/state/tokenBalances.js';
168
168
  import '../store/state/multichainBalances.js';
@@ -238,11 +238,11 @@ const viewToComponentMap = {
238
238
  'sandbox-maximum-threshold-reached': SandboxMaximumThresholdReached,
239
239
  'select-hardware-wallet': SelectHardwareWalletView,
240
240
  'select-wallet-in-wallet-group': SelectWalletInWalletGroupView,
241
- 'setup-password-for-wallet-creation': SetupPasswordForWalletCreationView,
242
241
  'setup-password-terms': SetupPasswordTermsView,
243
242
  'social-redirect-view': SocialRedirectView,
244
243
  'social-wrong-account': SocialWrongAccountView,
245
244
  'unified-wallet-exchange-list': UnifiedList,
245
+ 'unlock-wallet': UnlockWalletView,
246
246
  'user-delete-account': UserDeleteAccountView,
247
247
  'verify-email': EmailVerification,
248
248
  'verify-sms': SmsVerification,