@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
@@ -100,3 +100,7 @@ export { CloudBackupProvider, isWalletBackedUp, useBackupWallets, useWalletBacku
100
100
  export type { WalletBackupStatus, WalletOperationState, WalletToBackup, WalletWithBackupStatus, } from './useWalletBackup';
101
101
  export { useRefreshAuth } from './useRefreshAuth';
102
102
  export { useSetupPassword, PASSWORD_SETUP_CANCELLED_ERROR, } from './useSetupPassword';
103
+ export { useWalletUnlock } from './useWalletUnlock';
104
+ export type { UseWalletUnlockReturn, WalletUnlockState, } from './useWalletUnlock';
105
+ export { usePromptWalletUnlock } from './usePromptWalletUnlock';
106
+ export { useGetPasswordForSigning } from './useGetPasswordForSigning';
@@ -105,6 +105,7 @@ var useRefreshAuth = require('../useRefreshAuth/useRefreshAuth.cjs');
105
105
  var apiUrl = require('../../constants/waas/apiUrl.cjs');
106
106
  var useClientSessionKeys = require('../useClientSessionKeys/useClientSessionKeys.cjs');
107
107
  var useGetMfaToken = require('../useGetMfaToken/useGetMfaToken.cjs');
108
+ var useGetPasswordForSigning = require('../useGetPasswordForSigning/useGetPasswordForSigning.cjs');
108
109
  var constants = require('./constants.cjs');
109
110
  var normalizeWalletRequirements = require('./normalizeWalletRequirements.cjs');
110
111
  require('../../../store/state/sendBalances.cjs');
@@ -122,7 +123,7 @@ require('../../../shared/utils/functions/getInitialUrl/getInitialUrl.cjs');
122
123
  var useInternalDynamicContext = require('../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext/useInternalDynamicContext.cjs');
123
124
 
124
125
  const dynamicWaasKey = 'dynamicwaas';
125
- const configWaasWalletConnector = ({ walletConnector, environmentId, apiBaseUrl, relayUrl, baseClientKeysharesRelayApiUrl, authMode = 'header', getSignedSessionId, getMfaToken, svmGasSponsorshipEnabled = false, }) => {
126
+ const configWaasWalletConnector = ({ walletConnector, environmentId, apiBaseUrl, relayUrl, baseClientKeysharesRelayApiUrl, authMode = 'header', getSignedSessionId, getMfaToken, getPasswordForSigning, svmGasSponsorshipEnabled = false, }) => {
126
127
  var _a;
127
128
  walletConnector.setEnvironmentId(environmentId);
128
129
  walletConnector.setBaseApiUrl((_a = (apiBaseUrl || apiUrl.DEFAULT_WAAS_API_URL)) === null || _a === void 0 ? void 0 : _a.replace('/api/v0', ''));
@@ -138,6 +139,10 @@ const configWaasWalletConnector = ({ walletConnector, environmentId, apiBaseUrl,
138
139
  walletConnector.setRelayUrl(relayUrl);
139
140
  walletConnector.setGetMfaTokenFunction(getMfaToken);
140
141
  walletConnector.setBaseClientKeysharesRelayApiUrl(baseClientKeysharesRelayApiUrl);
142
+ // Set password provider for locked wallets
143
+ if (getPasswordForSigning) {
144
+ walletConnector.setGetPasswordForSigningFunction(getPasswordForSigning);
145
+ }
141
146
  // Sync SVM gas sponsorship setting for SOL connectors
142
147
  const isSolConnector = walletConnector.connectedChain === 'SOL';
143
148
  const supportsSponsorshipSetting = 'setSvmGasSponsorshipEnabled' in walletConnector;
@@ -170,6 +175,7 @@ const useDynamicWaas = () => {
170
175
  const authToken = getMinAuthToken.getMinAuthToken();
171
176
  const { getSignedSessionId } = useClientSessionKeys.useClientSessionKeys();
172
177
  const getMfaToken = useGetMfaToken.useGetMfaToken();
178
+ const getPasswordForSigning = useGetPasswordForSigning.useGetPasswordForSigning();
173
179
  const isCookieAuthEnabled = projectSettings && isCookieEnabled.isCookieEnabled();
174
180
  const isUpgrading = React.useRef(false);
175
181
  const [recoveredWallets, setRecoveredWallets] = React.useState(() => new Set());
@@ -191,6 +197,7 @@ const useDynamicWaas = () => {
191
197
  baseClientKeysharesRelayApiUrl,
192
198
  environmentId,
193
199
  getMfaToken,
200
+ getPasswordForSigning,
194
201
  getSignedSessionId,
195
202
  relayUrl: relayUrl !== null && relayUrl !== void 0 ? relayUrl : '',
196
203
  svmGasSponsorshipEnabled,
@@ -204,6 +211,7 @@ const useDynamicWaas = () => {
204
211
  environmentId,
205
212
  apiBaseUrl,
206
213
  getMfaToken,
214
+ getPasswordForSigning,
207
215
  getSignedSessionId,
208
216
  relayUrl,
209
217
  baseClientKeysharesRelayApiUrl,
@@ -233,14 +241,23 @@ const useDynamicWaas = () => {
233
241
  return;
234
242
  try {
235
243
  const initializationStart = new Date().getTime();
236
- yield Promise.all((enabledChainNames || []).map((chain) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
244
+ const userWaasWallets = user.verifiedCredentials.filter((vc) => vc.walletName === dynamicWaasKey && vc.address && vc.chain);
245
+ const chainsWithWallets = [
246
+ ...new Set(userWaasWallets.map((vc) => { var _a; return values.VerifiedCredentialNameToChainEnum[(_a = vc.chain) !== null && _a !== void 0 ? _a : '']; })),
247
+ ].filter(Boolean);
248
+ // Combine enabled chains with chains that have wallets
249
+ // This ensures we initialize clients for enabled chains AND recover wallets from any other chains
250
+ const allChainsToProcess = [
251
+ ...new Set([...(enabledChainNames || []), ...chainsWithWallets]),
252
+ ];
253
+ yield Promise.all(allChainsToProcess.map((chain) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
237
254
  const walletConnector = getWaasWalletConnector(chain);
238
255
  if (!walletConnector)
239
256
  return;
240
257
  // Filter for waas wallets on this chain
241
258
  const waasWallets = user.verifiedCredentials.filter((credential) => {
242
259
  var _a;
243
- return credential.walletName === 'dynamicwaas' &&
260
+ return credential.walletName === dynamicWaasKey &&
244
261
  credential.address &&
245
262
  values.VerifiedCredentialNameToChainEnum[(_a = credential.chain) !== null && _a !== void 0 ? _a : ''] ===
246
263
  walletConnector.connectedChain;
@@ -12,7 +12,11 @@ export type WalletCreationRequirement = {
12
12
  network?: string;
13
13
  };
14
14
  };
15
- export declare const configWaasWalletConnector: ({ walletConnector, environmentId, apiBaseUrl, relayUrl, baseClientKeysharesRelayApiUrl, authMode, getSignedSessionId, getMfaToken, svmGasSponsorshipEnabled, }: {
15
+ export type GetPasswordForSigningFn = (props: {
16
+ accountAddress: string;
17
+ chainName: string;
18
+ }) => Promise<string | undefined>;
19
+ export declare const configWaasWalletConnector: ({ walletConnector, environmentId, apiBaseUrl, relayUrl, baseClientKeysharesRelayApiUrl, authMode, getSignedSessionId, getMfaToken, getPasswordForSigning, svmGasSponsorshipEnabled, }: {
16
20
  walletConnector: IDynamicWaasConnector;
17
21
  environmentId: string;
18
22
  apiBaseUrl: string;
@@ -23,6 +27,7 @@ export declare const configWaasWalletConnector: ({ walletConnector, environmentI
23
27
  getMfaToken: (props?: {
24
28
  mfaAction?: MFAAction;
25
29
  }) => Promise<string | undefined>;
30
+ getPasswordForSigning?: GetPasswordForSigningFn;
26
31
  svmGasSponsorshipEnabled?: boolean;
27
32
  }) => IDynamicWaasConnector;
28
33
  export declare const useDynamicWaas: () => {
@@ -101,6 +101,7 @@ import { useRefreshAuth } from '../useRefreshAuth/useRefreshAuth.js';
101
101
  import { DEFAULT_WAAS_API_URL } from '../../constants/waas/apiUrl.js';
102
102
  import { useClientSessionKeys } from '../useClientSessionKeys/useClientSessionKeys.js';
103
103
  import { useGetMfaToken } from '../useGetMfaToken/useGetMfaToken.js';
104
+ import { useGetPasswordForSigning } from '../useGetPasswordForSigning/useGetPasswordForSigning.js';
104
105
  import { DYNAMIC_WAAS_CONNECTOR_NOT_FOUND_ERROR, NO_ENABLED_CHAINS_ERROR, INVALID_CHAINS_ERROR, WALLET_CREATION_FAILED_ERROR } from './constants.js';
105
106
  import { normalizeWalletRequirements } from './normalizeWalletRequirements.js';
106
107
  import '../../../store/state/sendBalances.js';
@@ -118,7 +119,7 @@ import '../../../shared/utils/functions/getInitialUrl/getInitialUrl.js';
118
119
  import { useInternalDynamicContext } from '../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext/useInternalDynamicContext.js';
119
120
 
120
121
  const dynamicWaasKey = 'dynamicwaas';
121
- const configWaasWalletConnector = ({ walletConnector, environmentId, apiBaseUrl, relayUrl, baseClientKeysharesRelayApiUrl, authMode = 'header', getSignedSessionId, getMfaToken, svmGasSponsorshipEnabled = false, }) => {
122
+ const configWaasWalletConnector = ({ walletConnector, environmentId, apiBaseUrl, relayUrl, baseClientKeysharesRelayApiUrl, authMode = 'header', getSignedSessionId, getMfaToken, getPasswordForSigning, svmGasSponsorshipEnabled = false, }) => {
122
123
  var _a;
123
124
  walletConnector.setEnvironmentId(environmentId);
124
125
  walletConnector.setBaseApiUrl((_a = (apiBaseUrl || DEFAULT_WAAS_API_URL)) === null || _a === void 0 ? void 0 : _a.replace('/api/v0', ''));
@@ -134,6 +135,10 @@ const configWaasWalletConnector = ({ walletConnector, environmentId, apiBaseUrl,
134
135
  walletConnector.setRelayUrl(relayUrl);
135
136
  walletConnector.setGetMfaTokenFunction(getMfaToken);
136
137
  walletConnector.setBaseClientKeysharesRelayApiUrl(baseClientKeysharesRelayApiUrl);
138
+ // Set password provider for locked wallets
139
+ if (getPasswordForSigning) {
140
+ walletConnector.setGetPasswordForSigningFunction(getPasswordForSigning);
141
+ }
137
142
  // Sync SVM gas sponsorship setting for SOL connectors
138
143
  const isSolConnector = walletConnector.connectedChain === 'SOL';
139
144
  const supportsSponsorshipSetting = 'setSvmGasSponsorshipEnabled' in walletConnector;
@@ -166,6 +171,7 @@ const useDynamicWaas = () => {
166
171
  const authToken = getMinAuthToken();
167
172
  const { getSignedSessionId } = useClientSessionKeys();
168
173
  const getMfaToken = useGetMfaToken();
174
+ const getPasswordForSigning = useGetPasswordForSigning();
169
175
  const isCookieAuthEnabled = projectSettings && isCookieEnabled();
170
176
  const isUpgrading = useRef(false);
171
177
  const [recoveredWallets, setRecoveredWallets] = useState(() => new Set());
@@ -187,6 +193,7 @@ const useDynamicWaas = () => {
187
193
  baseClientKeysharesRelayApiUrl,
188
194
  environmentId,
189
195
  getMfaToken,
196
+ getPasswordForSigning,
190
197
  getSignedSessionId,
191
198
  relayUrl: relayUrl !== null && relayUrl !== void 0 ? relayUrl : '',
192
199
  svmGasSponsorshipEnabled,
@@ -200,6 +207,7 @@ const useDynamicWaas = () => {
200
207
  environmentId,
201
208
  apiBaseUrl,
202
209
  getMfaToken,
210
+ getPasswordForSigning,
203
211
  getSignedSessionId,
204
212
  relayUrl,
205
213
  baseClientKeysharesRelayApiUrl,
@@ -229,14 +237,23 @@ const useDynamicWaas = () => {
229
237
  return;
230
238
  try {
231
239
  const initializationStart = new Date().getTime();
232
- yield Promise.all((enabledChainNames || []).map((chain) => __awaiter(void 0, void 0, void 0, function* () {
240
+ const userWaasWallets = user.verifiedCredentials.filter((vc) => vc.walletName === dynamicWaasKey && vc.address && vc.chain);
241
+ const chainsWithWallets = [
242
+ ...new Set(userWaasWallets.map((vc) => { var _a; return VerifiedCredentialNameToChainEnum[(_a = vc.chain) !== null && _a !== void 0 ? _a : '']; })),
243
+ ].filter(Boolean);
244
+ // Combine enabled chains with chains that have wallets
245
+ // This ensures we initialize clients for enabled chains AND recover wallets from any other chains
246
+ const allChainsToProcess = [
247
+ ...new Set([...(enabledChainNames || []), ...chainsWithWallets]),
248
+ ];
249
+ yield Promise.all(allChainsToProcess.map((chain) => __awaiter(void 0, void 0, void 0, function* () {
233
250
  const walletConnector = getWaasWalletConnector(chain);
234
251
  if (!walletConnector)
235
252
  return;
236
253
  // Filter for waas wallets on this chain
237
254
  const waasWallets = user.verifiedCredentials.filter((credential) => {
238
255
  var _a;
239
- return credential.walletName === 'dynamicwaas' &&
256
+ return credential.walletName === dynamicWaasKey &&
240
257
  credential.address &&
241
258
  VerifiedCredentialNameToChainEnum[(_a = credential.chain) !== null && _a !== void 0 ? _a : ''] ===
242
259
  walletConnector.connectedChain;
@@ -0,0 +1,2 @@
1
+ export { useGetPasswordForSigning } from './useGetPasswordForSigning';
2
+ export type { GetPasswordForSigningProps } from './useGetPasswordForSigning';
@@ -0,0 +1,16 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var _tslib = require('../../../../../_virtual/_tslib.cjs');
7
+ var React = require('react');
8
+ var usePromptWalletUnlock = require('../usePromptWalletUnlock/usePromptWalletUnlock.cjs');
9
+
10
+ const useGetPasswordForSigning = () => {
11
+ const promptWalletUnlock = usePromptWalletUnlock.usePromptWalletUnlock();
12
+ const getPasswordForSigning = React.useCallback((_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ accountAddress, chainName, }) { return promptWalletUnlock({ accountAddress, chainName }); }), [promptWalletUnlock]);
13
+ return getPasswordForSigning;
14
+ };
15
+
16
+ exports.useGetPasswordForSigning = useGetPasswordForSigning;
@@ -0,0 +1,5 @@
1
+ export type GetPasswordForSigningProps = {
2
+ accountAddress: string;
3
+ chainName: string;
4
+ };
5
+ export declare const useGetPasswordForSigning: () => ({ accountAddress, chainName, }: GetPasswordForSigningProps) => Promise<string | undefined>;
@@ -0,0 +1,12 @@
1
+ 'use client'
2
+ import { __awaiter } from '../../../../../_virtual/_tslib.js';
3
+ import { useCallback } from 'react';
4
+ import { usePromptWalletUnlock } from '../usePromptWalletUnlock/usePromptWalletUnlock.js';
5
+
6
+ const useGetPasswordForSigning = () => {
7
+ const promptWalletUnlock = usePromptWalletUnlock();
8
+ const getPasswordForSigning = useCallback((_a) => __awaiter(void 0, [_a], void 0, function* ({ accountAddress, chainName, }) { return promptWalletUnlock({ accountAddress, chainName }); }), [promptWalletUnlock]);
9
+ return getPasswordForSigning;
10
+ };
11
+
12
+ export { useGetPasswordForSigning };
@@ -0,0 +1,2 @@
1
+ export { usePromptWalletUnlock } from './usePromptWalletUnlock';
2
+ export type { PromptWalletUnlockProps } from './usePromptWalletUnlock';
@@ -0,0 +1,144 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var _tslib = require('../../../../../_virtual/_tslib.cjs');
7
+ var React = require('react');
8
+ var utils = require('@dynamic-labs/utils');
9
+ require('../../../context/DynamicContext/DynamicContext.cjs');
10
+ require('../../../store/state/loadingAndLifecycle/loadingAndLifecycle.cjs');
11
+ require('@dynamic-labs/iconic');
12
+ require('@dynamic-labs/wallet-connector-core');
13
+ require('react/jsx-runtime');
14
+ var ViewContext = require('../../../context/ViewContext/ViewContext.cjs');
15
+ require('../../../shared/logger.cjs');
16
+ require('@dynamic-labs/wallet-book');
17
+ require('../../constants/colors.cjs');
18
+ require('../../constants/values.cjs');
19
+ require('@dynamic-labs/sdk-api-core');
20
+ require('../../../shared/consts/index.cjs');
21
+ var dynamicEvents = require('../../../events/dynamicEvents.cjs');
22
+ require('../../../context/CaptchaContext/CaptchaContext.cjs');
23
+ require('../../../context/ErrorContext/ErrorContext.cjs');
24
+ require('@dynamic-labs/multi-wallet');
25
+ require('react-international-phone');
26
+ require('../../../store/state/nonce/nonce.cjs');
27
+ require('@dynamic-labs-sdk/client/core');
28
+ require('../../../client/client.cjs');
29
+ require('@dynamic-labs-sdk/client');
30
+ require('../../../config/ApiEndpoint.cjs');
31
+ require('@dynamic-labs/locale');
32
+ require('../../../store/state/dynamicContextProps/dynamicContextProps.cjs');
33
+ require('../../../store/state/primaryWalletId/primaryWalletId.cjs');
34
+ require('../../../store/state/connectedWalletsInfo/connectedWalletsInfo.cjs');
35
+ require('../../functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.cjs');
36
+ require('../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
37
+ require('../../../context/AccountExistsContext/AccountExistsContext.cjs');
38
+ require('../../../context/UserWalletsContext/UserWalletsContext.cjs');
39
+ require('../../../store/state/authMode/authMode.cjs');
40
+ require('../../../context/VerificationContext/VerificationContext.cjs');
41
+ require('react-dom');
42
+ require('../../functions/compareChains/compareChains.cjs');
43
+ require('../../../views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.cjs');
44
+ require('../../../context/ThemeContext/ThemeContext.cjs');
45
+ require('../useUserUpdateRequest/useUpdateUser/userFieldsSchema.cjs');
46
+ require('bs58');
47
+ require('@dynamic-labs/types');
48
+ require('../../../context/SocialRedirectContext/SocialRedirectContext.cjs');
49
+ require('../../../context/LoadingContext/LoadingContext.cjs');
50
+ require('../../../context/WalletContext/WalletContext.cjs');
51
+ require('../useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.cjs');
52
+ require('yup');
53
+ require('../../../context/MockContext/MockContext.cjs');
54
+ require('../../../views/CollectUserDataView/useFields.cjs');
55
+ require('../../../context/FieldsStateContext/FieldsStateContext.cjs');
56
+ require('../../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
57
+ require('@dynamic-labs/rpc-providers');
58
+ require('../../../store/state/walletOptions/walletOptions.cjs');
59
+ require('react-i18next');
60
+ require('../../../components/Accordion/components/AccordionItem/AccordionItem.cjs');
61
+ require('../../../components/Alert/Alert.cjs');
62
+ require('../../../components/ShadowDOM/ShadowDOM.cjs');
63
+ require('../../../components/IconButton/IconButton.cjs');
64
+ require('../../../components/InlineWidget/InlineWidget.cjs');
65
+ require('../../../components/Input/Input.cjs');
66
+ require('../../../components/IsBrowser/IsBrowser.cjs');
67
+ require('../../../components/MenuList/Dropdown/Dropdown.cjs');
68
+ require('../../../components/OverlayCard/OverlayCard.cjs');
69
+ require('../../../components/Transition/ZoomTransition/ZoomTransition.cjs');
70
+ require('../../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
71
+ require('../../../components/Transition/OpacityTransition/OpacityTransition.cjs');
72
+ require('../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.cjs');
73
+ require('../../../components/Popper/Popper/Popper.cjs');
74
+ require('../../../components/Popper/PopperContext/PopperContext.cjs');
75
+ require('react-focus-lock');
76
+ require('qrcode');
77
+ require('formik');
78
+ require('../useSubdomainCheck/useSubdomainCheck.cjs');
79
+ require('../../../context/WalletGroupContext/WalletGroupContext.cjs');
80
+ require('../useWalletBackup/useWalletBackup.cjs');
81
+ require('../useWalletBackup/types.cjs');
82
+ require('../useWalletBackup/cloudProviders.cjs');
83
+ require('../../../context/IpConfigurationContext/IpConfigurationContext.cjs');
84
+ require('../../../context/ConnectWithOtpContext/ConnectWithOtpContext.cjs');
85
+ require('../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
86
+ require('@hcaptcha/react-hcaptcha');
87
+ require('../../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
88
+ require('../../../widgets/DynamicWidget/helpers/convertExchangeKeyAndProviderEnum.cjs');
89
+ require('../../../views/ExchangeWhitelistWarning/ExchangeWhitelistWarning.cjs');
90
+ require('../../../context/ErrorContext/hooks/useErrorText/useErrorText.cjs');
91
+ require('../../../context/FooterAnimationContext/index.cjs');
92
+ require('../../../views/MfaChooseDeviceView/useGetMfaOptions/useGetMfaOptions.cjs');
93
+ require('../../../context/PasskeyContext/PasskeyContext.cjs');
94
+ require('../../../context/OnrampContext/OnrampContext.cjs');
95
+ require('../../../store/state/sendBalances.cjs');
96
+ require('../../../store/state/connectorsInitializing/connectorsInitializing.cjs');
97
+ require('../../../components/OverlayCardBase/OverlayCardTarget/OverlayCardTarget.cjs');
98
+ require('../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
99
+ require('../../../views/TransactionConfirmationView/TransactionConfirmationView.cjs');
100
+ require('../../../widgets/DynamicWidget/components/PasskeyCard/PasskeyCard.cjs');
101
+ require('../../../widgets/DynamicWidget/views/CryptoComOnramp/CryptoComOnramp.cjs');
102
+ require('../../../../index.cjs');
103
+ require('../../../widgets/DynamicWidget/views/ReceiveWalletFunds/ReceiveWalletFunds.cjs');
104
+ require('../../../store/state/tokenBalances.cjs');
105
+ require('../../../store/state/multichainBalances.cjs');
106
+ require('../../../shared/utils/functions/getInitialUrl/getInitialUrl.cjs');
107
+ var useInternalDynamicContext = require('../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext/useInternalDynamicContext.cjs');
108
+
109
+ const usePromptWalletUnlock = () => {
110
+ const { setShowAuthFlow } = useInternalDynamicContext.useInternalDynamicContext();
111
+ const { pushView } = ViewContext.useViewContext();
112
+ const promptWalletUnlock = React.useCallback((_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ accountAddress, chainName, }) {
113
+ const deferred = new utils.DeferredPromise();
114
+ setShowAuthFlow(true, { ignoreIfIsEmbeddedWidget: false });
115
+ pushView('unlock-wallet', { accountAddress, chainName });
116
+ const passwordProvidedHandler = (payload) => {
117
+ if (payload.accountAddress === accountAddress &&
118
+ payload.chainName === chainName) {
119
+ deferred.resolve(payload.password);
120
+ }
121
+ };
122
+ dynamicEvents.dynamicEvents.on('walletUnlockPasswordProvided', passwordProvidedHandler);
123
+ const cancelledHandler = (payload) => {
124
+ if (payload.accountAddress === accountAddress &&
125
+ payload.chainName === chainName) {
126
+ deferred.resolve(undefined);
127
+ }
128
+ };
129
+ dynamicEvents.dynamicEvents.on('walletUnlockCancelled', cancelledHandler);
130
+ const authFlowCloseHandler = () => {
131
+ deferred.resolve(undefined);
132
+ };
133
+ dynamicEvents.dynamicEvents.on('authFlowClose', authFlowCloseHandler);
134
+ deferred.promise.finally(() => {
135
+ dynamicEvents.dynamicEvents.off('walletUnlockPasswordProvided', passwordProvidedHandler);
136
+ dynamicEvents.dynamicEvents.off('walletUnlockCancelled', cancelledHandler);
137
+ dynamicEvents.dynamicEvents.off('authFlowClose', authFlowCloseHandler);
138
+ });
139
+ return deferred.promise;
140
+ }), [setShowAuthFlow, pushView]);
141
+ return promptWalletUnlock;
142
+ };
143
+
144
+ exports.usePromptWalletUnlock = usePromptWalletUnlock;
@@ -0,0 +1,5 @@
1
+ export type PromptWalletUnlockProps = {
2
+ accountAddress: string;
3
+ chainName: string;
4
+ };
5
+ export declare const usePromptWalletUnlock: () => ({ accountAddress, chainName, }: PromptWalletUnlockProps) => Promise<string | undefined>;
@@ -0,0 +1,140 @@
1
+ 'use client'
2
+ import { __awaiter } from '../../../../../_virtual/_tslib.js';
3
+ import { useCallback } from 'react';
4
+ import { DeferredPromise } from '@dynamic-labs/utils';
5
+ import '../../../context/DynamicContext/DynamicContext.js';
6
+ import '../../../store/state/loadingAndLifecycle/loadingAndLifecycle.js';
7
+ import '@dynamic-labs/iconic';
8
+ import '@dynamic-labs/wallet-connector-core';
9
+ import 'react/jsx-runtime';
10
+ import { useViewContext } from '../../../context/ViewContext/ViewContext.js';
11
+ import '../../../shared/logger.js';
12
+ import '@dynamic-labs/wallet-book';
13
+ import '../../constants/colors.js';
14
+ import '../../constants/values.js';
15
+ import '@dynamic-labs/sdk-api-core';
16
+ import '../../../shared/consts/index.js';
17
+ import { dynamicEvents } from '../../../events/dynamicEvents.js';
18
+ import '../../../context/CaptchaContext/CaptchaContext.js';
19
+ import '../../../context/ErrorContext/ErrorContext.js';
20
+ import '@dynamic-labs/multi-wallet';
21
+ import 'react-international-phone';
22
+ import '../../../store/state/nonce/nonce.js';
23
+ import '@dynamic-labs-sdk/client/core';
24
+ import '../../../client/client.js';
25
+ import '@dynamic-labs-sdk/client';
26
+ import '../../../config/ApiEndpoint.js';
27
+ import '@dynamic-labs/locale';
28
+ import '../../../store/state/dynamicContextProps/dynamicContextProps.js';
29
+ import '../../../store/state/primaryWalletId/primaryWalletId.js';
30
+ import '../../../store/state/connectedWalletsInfo/connectedWalletsInfo.js';
31
+ import '../../functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.js';
32
+ import '../../../context/AccessDeniedContext/AccessDeniedContext.js';
33
+ import '../../../context/AccountExistsContext/AccountExistsContext.js';
34
+ import '../../../context/UserWalletsContext/UserWalletsContext.js';
35
+ import '../../../store/state/authMode/authMode.js';
36
+ import '../../../context/VerificationContext/VerificationContext.js';
37
+ import 'react-dom';
38
+ import '../../functions/compareChains/compareChains.js';
39
+ import '../../../views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.js';
40
+ import '../../../context/ThemeContext/ThemeContext.js';
41
+ import '../useUserUpdateRequest/useUpdateUser/userFieldsSchema.js';
42
+ import 'bs58';
43
+ import '@dynamic-labs/types';
44
+ import '../../../context/SocialRedirectContext/SocialRedirectContext.js';
45
+ import '../../../context/LoadingContext/LoadingContext.js';
46
+ import '../../../context/WalletContext/WalletContext.js';
47
+ import '../useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.js';
48
+ import 'yup';
49
+ import '../../../context/MockContext/MockContext.js';
50
+ import '../../../views/CollectUserDataView/useFields.js';
51
+ import '../../../context/FieldsStateContext/FieldsStateContext.js';
52
+ import '../../../context/UserFieldEditorContext/UserFieldEditorContext.js';
53
+ import '@dynamic-labs/rpc-providers';
54
+ import '../../../store/state/walletOptions/walletOptions.js';
55
+ import 'react-i18next';
56
+ import '../../../components/Accordion/components/AccordionItem/AccordionItem.js';
57
+ import '../../../components/Alert/Alert.js';
58
+ import '../../../components/ShadowDOM/ShadowDOM.js';
59
+ import '../../../components/IconButton/IconButton.js';
60
+ import '../../../components/InlineWidget/InlineWidget.js';
61
+ import '../../../components/Input/Input.js';
62
+ import '../../../components/IsBrowser/IsBrowser.js';
63
+ import '../../../components/MenuList/Dropdown/Dropdown.js';
64
+ import '../../../components/OverlayCard/OverlayCard.js';
65
+ import '../../../components/Transition/ZoomTransition/ZoomTransition.js';
66
+ import '../../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
67
+ import '../../../components/Transition/OpacityTransition/OpacityTransition.js';
68
+ import '../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.js';
69
+ import '../../../components/Popper/Popper/Popper.js';
70
+ import '../../../components/Popper/PopperContext/PopperContext.js';
71
+ import 'react-focus-lock';
72
+ import 'qrcode';
73
+ import 'formik';
74
+ import '../useSubdomainCheck/useSubdomainCheck.js';
75
+ import '../../../context/WalletGroupContext/WalletGroupContext.js';
76
+ import '../useWalletBackup/useWalletBackup.js';
77
+ import '../useWalletBackup/types.js';
78
+ import '../useWalletBackup/cloudProviders.js';
79
+ import '../../../context/IpConfigurationContext/IpConfigurationContext.js';
80
+ import '../../../context/ConnectWithOtpContext/ConnectWithOtpContext.js';
81
+ import '../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
82
+ import '@hcaptcha/react-hcaptcha';
83
+ import '../../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
84
+ import '../../../widgets/DynamicWidget/helpers/convertExchangeKeyAndProviderEnum.js';
85
+ import '../../../views/ExchangeWhitelistWarning/ExchangeWhitelistWarning.js';
86
+ import '../../../context/ErrorContext/hooks/useErrorText/useErrorText.js';
87
+ import '../../../context/FooterAnimationContext/index.js';
88
+ import '../../../views/MfaChooseDeviceView/useGetMfaOptions/useGetMfaOptions.js';
89
+ import '../../../context/PasskeyContext/PasskeyContext.js';
90
+ import '../../../context/OnrampContext/OnrampContext.js';
91
+ import '../../../store/state/sendBalances.js';
92
+ import '../../../store/state/connectorsInitializing/connectorsInitializing.js';
93
+ import '../../../components/OverlayCardBase/OverlayCardTarget/OverlayCardTarget.js';
94
+ import '../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
95
+ import '../../../views/TransactionConfirmationView/TransactionConfirmationView.js';
96
+ import '../../../widgets/DynamicWidget/components/PasskeyCard/PasskeyCard.js';
97
+ import '../../../widgets/DynamicWidget/views/CryptoComOnramp/CryptoComOnramp.js';
98
+ import '../../../../index.js';
99
+ import '../../../widgets/DynamicWidget/views/ReceiveWalletFunds/ReceiveWalletFunds.js';
100
+ import '../../../store/state/tokenBalances.js';
101
+ import '../../../store/state/multichainBalances.js';
102
+ import '../../../shared/utils/functions/getInitialUrl/getInitialUrl.js';
103
+ import { useInternalDynamicContext } from '../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext/useInternalDynamicContext.js';
104
+
105
+ const usePromptWalletUnlock = () => {
106
+ const { setShowAuthFlow } = useInternalDynamicContext();
107
+ const { pushView } = useViewContext();
108
+ const promptWalletUnlock = useCallback((_a) => __awaiter(void 0, [_a], void 0, function* ({ accountAddress, chainName, }) {
109
+ const deferred = new DeferredPromise();
110
+ setShowAuthFlow(true, { ignoreIfIsEmbeddedWidget: false });
111
+ pushView('unlock-wallet', { accountAddress, chainName });
112
+ const passwordProvidedHandler = (payload) => {
113
+ if (payload.accountAddress === accountAddress &&
114
+ payload.chainName === chainName) {
115
+ deferred.resolve(payload.password);
116
+ }
117
+ };
118
+ dynamicEvents.on('walletUnlockPasswordProvided', passwordProvidedHandler);
119
+ const cancelledHandler = (payload) => {
120
+ if (payload.accountAddress === accountAddress &&
121
+ payload.chainName === chainName) {
122
+ deferred.resolve(undefined);
123
+ }
124
+ };
125
+ dynamicEvents.on('walletUnlockCancelled', cancelledHandler);
126
+ const authFlowCloseHandler = () => {
127
+ deferred.resolve(undefined);
128
+ };
129
+ dynamicEvents.on('authFlowClose', authFlowCloseHandler);
130
+ deferred.promise.finally(() => {
131
+ dynamicEvents.off('walletUnlockPasswordProvided', passwordProvidedHandler);
132
+ dynamicEvents.off('walletUnlockCancelled', cancelledHandler);
133
+ dynamicEvents.off('authFlowClose', authFlowCloseHandler);
134
+ });
135
+ return deferred.promise;
136
+ }), [setShowAuthFlow, pushView]);
137
+ return promptWalletUnlock;
138
+ };
139
+
140
+ export { usePromptWalletUnlock };
@@ -4,37 +4,37 @@
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
6
  var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
7
- require('@dynamic-labs-sdk/client/core');
8
- require('@dynamic-labs/sdk-api-core');
9
- require('../../../client/client.cjs');
10
7
  require('react');
11
- require('@dynamic-labs-sdk/client');
12
- require('../../../config/ApiEndpoint.cjs');
8
+ require('../../../events/dynamicEvents.cjs');
9
+ require('../../../../../_virtual/_tslib.cjs');
10
+ require('@dynamic-labs/utils');
11
+ require('../../../context/DynamicContext/DynamicContext.cjs');
12
+ require('../../../store/state/loadingAndLifecycle/loadingAndLifecycle.cjs');
13
13
  require('@dynamic-labs/iconic');
14
14
  require('react/jsx-runtime');
15
15
  require('../../../context/ViewContext/ViewContext.cjs');
16
16
  require('../../../shared/logger.cjs');
17
17
  require('@dynamic-labs/wallet-book');
18
- require('@dynamic-labs/utils');
19
18
  require('../../constants/colors.cjs');
20
19
  require('../../constants/values.cjs');
20
+ require('@dynamic-labs/sdk-api-core');
21
21
  require('../../../shared/consts/index.cjs');
22
- require('../../../../../_virtual/_tslib.cjs');
22
+ require('../../../store/state/authMode/authMode.cjs');
23
+ require('../../../context/CaptchaContext/CaptchaContext.cjs');
24
+ require('../../../context/ErrorContext/ErrorContext.cjs');
23
25
  require('@dynamic-labs/multi-wallet');
24
26
  require('react-international-phone');
25
27
  require('../../../store/state/nonce/nonce.cjs');
28
+ require('@dynamic-labs-sdk/client/core');
29
+ require('../../../client/client.cjs');
30
+ require('@dynamic-labs-sdk/client');
31
+ require('../../../config/ApiEndpoint.cjs');
32
+ var isCookieEnabled = require('../../../client/extension/functions/isCookieEnabled/isCookieEnabled.cjs');
26
33
  require('@dynamic-labs/locale');
27
34
  var dynamicContextProps = require('../../../store/state/dynamicContextProps/dynamicContextProps.cjs');
28
35
  require('../../../store/state/primaryWalletId/primaryWalletId.cjs');
29
36
  require('../../../store/state/connectedWalletsInfo/connectedWalletsInfo.cjs');
30
37
  require('../../functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.cjs');
31
- require('../../../events/dynamicEvents.cjs');
32
- var isCookieEnabled = require('../../../client/extension/functions/isCookieEnabled/isCookieEnabled.cjs');
33
- require('../../../context/DynamicContext/DynamicContext.cjs');
34
- require('../../../store/state/loadingAndLifecycle/loadingAndLifecycle.cjs');
35
- require('../../../store/state/authMode/authMode.cjs');
36
- require('../../../context/CaptchaContext/CaptchaContext.cjs');
37
- require('../../../context/ErrorContext/ErrorContext.cjs');
38
38
  require('../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
39
39
  require('../../../context/AccountExistsContext/AccountExistsContext.cjs');
40
40
  require('../../../context/UserWalletsContext/UserWalletsContext.cjs');
@@ -1,36 +1,36 @@
1
1
  'use client'
2
2
  import { isSessionKeyCompatibleWalletConnector, isDynamicWaasConnector } from '@dynamic-labs/wallet-connector-core';
3
- import '@dynamic-labs-sdk/client/core';
4
- import '@dynamic-labs/sdk-api-core';
5
- import '../../../client/client.js';
6
3
  import 'react';
7
- import '@dynamic-labs-sdk/client';
8
- import '../../../config/ApiEndpoint.js';
4
+ import '../../../events/dynamicEvents.js';
5
+ import '../../../../../_virtual/_tslib.js';
6
+ import '@dynamic-labs/utils';
7
+ import '../../../context/DynamicContext/DynamicContext.js';
8
+ import '../../../store/state/loadingAndLifecycle/loadingAndLifecycle.js';
9
9
  import '@dynamic-labs/iconic';
10
10
  import 'react/jsx-runtime';
11
11
  import '../../../context/ViewContext/ViewContext.js';
12
12
  import '../../../shared/logger.js';
13
13
  import '@dynamic-labs/wallet-book';
14
- import '@dynamic-labs/utils';
15
14
  import '../../constants/colors.js';
16
15
  import '../../constants/values.js';
16
+ import '@dynamic-labs/sdk-api-core';
17
17
  import '../../../shared/consts/index.js';
18
- import '../../../../../_virtual/_tslib.js';
18
+ import '../../../store/state/authMode/authMode.js';
19
+ import '../../../context/CaptchaContext/CaptchaContext.js';
20
+ import '../../../context/ErrorContext/ErrorContext.js';
19
21
  import '@dynamic-labs/multi-wallet';
20
22
  import 'react-international-phone';
21
23
  import '../../../store/state/nonce/nonce.js';
24
+ import '@dynamic-labs-sdk/client/core';
25
+ import '../../../client/client.js';
26
+ import '@dynamic-labs-sdk/client';
27
+ import '../../../config/ApiEndpoint.js';
28
+ import { isCookieEnabled } from '../../../client/extension/functions/isCookieEnabled/isCookieEnabled.js';
22
29
  import '@dynamic-labs/locale';
23
30
  import { useApiBaseUrl } from '../../../store/state/dynamicContextProps/dynamicContextProps.js';
24
31
  import '../../../store/state/primaryWalletId/primaryWalletId.js';
25
32
  import '../../../store/state/connectedWalletsInfo/connectedWalletsInfo.js';
26
33
  import '../../functions/getWaasAddressTypeLabel/getWaasAddressTypeLabel.js';
27
- import '../../../events/dynamicEvents.js';
28
- import { isCookieEnabled } from '../../../client/extension/functions/isCookieEnabled/isCookieEnabled.js';
29
- import '../../../context/DynamicContext/DynamicContext.js';
30
- import '../../../store/state/loadingAndLifecycle/loadingAndLifecycle.js';
31
- import '../../../store/state/authMode/authMode.js';
32
- import '../../../context/CaptchaContext/CaptchaContext.js';
33
- import '../../../context/ErrorContext/ErrorContext.js';
34
34
  import '../../../context/AccessDeniedContext/AccessDeniedContext.js';
35
35
  import '../../../context/AccountExistsContext/AccountExistsContext.js';
36
36
  import '../../../context/UserWalletsContext/UserWalletsContext.js';