@dynamic-labs/sdk-react-core 4.59.2 → 4.60.1

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 (79) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/package.cjs +4 -3
  3. package/package.js +4 -3
  4. package/package.json +15 -14
  5. package/src/index.cjs +6 -4
  6. package/src/index.d.ts +1 -1
  7. package/src/index.js +3 -2
  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/layout/DynamicAuthLayout/Header/header.cjs +2 -1
  11. package/src/lib/layout/DynamicAuthLayout/Header/header.js +2 -1
  12. package/src/lib/shared/assets/{warning-circle-orange.cjs → error-circle-x.cjs} +12 -15
  13. package/src/lib/shared/assets/{warning-circle-orange.js → error-circle-x.js} +12 -15
  14. package/src/lib/shared/assets/index.d.ts +2 -1
  15. package/src/lib/shared/assets/setup-password-terms-illustration.cjs +83 -0
  16. package/src/lib/shared/assets/setup-password-terms-illustration.js +59 -0
  17. package/src/lib/shared/types/dynamicHandlers.d.ts +64 -0
  18. package/src/lib/shared/utils/functions/chain/getChainIcon.cjs +1 -0
  19. package/src/lib/shared/utils/functions/chain/getChainIcon.js +2 -1
  20. package/src/lib/styles/index.shadow.cjs +1 -1
  21. package/src/lib/styles/index.shadow.js +1 -1
  22. package/src/lib/utils/hooks/index.d.ts +4 -0
  23. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.cjs +27 -9
  24. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.d.ts +3 -2
  25. package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.js +27 -9
  26. package/src/lib/utils/hooks/useGetWalletPassword/index.d.ts +2 -0
  27. package/src/lib/utils/hooks/useGetWalletPassword/useGetWalletPassword.cjs +130 -0
  28. package/src/lib/utils/hooks/useGetWalletPassword/useGetWalletPassword.d.ts +6 -0
  29. package/src/lib/utils/hooks/useGetWalletPassword/useGetWalletPassword.js +126 -0
  30. package/src/lib/utils/hooks/usePromptWalletUnlock/index.d.ts +2 -0
  31. package/src/lib/utils/hooks/usePromptWalletUnlock/usePromptWalletUnlock.cjs +144 -0
  32. package/src/lib/utils/hooks/usePromptWalletUnlock/usePromptWalletUnlock.d.ts +5 -0
  33. package/src/lib/utils/hooks/usePromptWalletUnlock/usePromptWalletUnlock.js +140 -0
  34. package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.cjs +15 -15
  35. package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.js +15 -15
  36. package/src/lib/utils/hooks/useSetupPassword/useSetupPassword.cjs +25 -25
  37. package/src/lib/utils/hooks/useSetupPassword/useSetupPassword.d.ts +3 -0
  38. package/src/lib/utils/hooks/useSetupPassword/useSetupPassword.js +26 -26
  39. package/src/lib/utils/hooks/useSmartWallets/useSmartWallets.cjs +1 -1
  40. package/src/lib/utils/hooks/useSmartWallets/useSmartWallets.js +1 -1
  41. package/src/lib/utils/hooks/useSyncDynamicWaas/useSyncDynamicWaas.cjs +1 -1
  42. package/src/lib/utils/hooks/useSyncDynamicWaas/useSyncDynamicWaas.js +1 -1
  43. package/src/lib/utils/hooks/useWalletBackup/useWalletBackup.cjs +1 -1
  44. package/src/lib/utils/hooks/useWalletBackup/useWalletBackup.js +1 -1
  45. package/src/lib/utils/hooks/useWalletDelegation/useWalletDelegation.cjs +1 -1
  46. package/src/lib/utils/hooks/useWalletDelegation/useWalletDelegation.js +1 -1
  47. package/src/lib/utils/hooks/useWalletUnlock/index.d.ts +2 -0
  48. package/src/lib/utils/hooks/useWalletUnlock/useWalletUnlock.d.ts +15 -0
  49. package/src/lib/views/NoAccess/NoAccess.cjs +1 -1
  50. package/src/lib/views/NoAccess/NoAccess.js +1 -1
  51. package/src/lib/views/{SetupPasswordForWalletCreationView/SetupPasswordForWalletCreationView.cjs → UnlockWalletView/UnlockWalletView.cjs} +49 -13
  52. package/src/lib/views/UnlockWalletView/UnlockWalletView.d.ts +6 -0
  53. package/src/lib/views/{SetupPasswordForWalletCreationView/SetupPasswordForWalletCreationView.js → UnlockWalletView/UnlockWalletView.js} +49 -13
  54. package/src/lib/views/UnlockWalletView/index.d.ts +2 -0
  55. package/src/lib/views/index.d.ts +3 -3
  56. package/src/lib/views/viewToComponentMap.cjs +3 -3
  57. package/src/lib/views/viewToComponentMap.d.ts +1 -1
  58. package/src/lib/views/viewToComponentMap.js +3 -3
  59. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +1 -1
  60. package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +1 -1
  61. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/mapViewToComponent.cjs +43 -43
  62. package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/mapViewToComponent.js +43 -43
  63. package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/MfaSection/MfaSection.cjs +33 -19
  64. package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/MfaSection/MfaSection.js +33 -19
  65. package/src/lib/widgets/DynamicWidget/views/EnterPasswordView/EnterPasswordView.cjs +71 -0
  66. package/src/lib/widgets/DynamicWidget/views/EnterPasswordView/EnterPasswordView.d.ts +9 -0
  67. package/src/lib/widgets/DynamicWidget/views/EnterPasswordView/EnterPasswordView.js +67 -0
  68. package/src/lib/widgets/DynamicWidget/views/EnterPasswordView/index.d.ts +2 -0
  69. package/src/lib/widgets/DynamicWidget/views/SetupPasswordKnowledgeCheckView/SetupPasswordKnowledgeCheckView.cjs +7 -15
  70. package/src/lib/widgets/DynamicWidget/views/SetupPasswordKnowledgeCheckView/SetupPasswordKnowledgeCheckView.d.ts +0 -1
  71. package/src/lib/widgets/DynamicWidget/views/SetupPasswordKnowledgeCheckView/SetupPasswordKnowledgeCheckView.js +7 -15
  72. package/src/lib/widgets/DynamicWidget/views/SetupPasswordTermsView/SetupPasswordTermsView.cjs +10 -4
  73. package/src/lib/widgets/DynamicWidget/views/SetupPasswordTermsView/SetupPasswordTermsView.d.ts +1 -1
  74. package/src/lib/widgets/DynamicWidget/views/SetupPasswordTermsView/SetupPasswordTermsView.js +10 -4
  75. package/src/lib/widgets/DynamicWidget/views/SetupPasswordView/SetupPasswordView.cjs +15 -11
  76. package/src/lib/widgets/DynamicWidget/views/SetupPasswordView/SetupPasswordView.js +15 -11
  77. package/src/lib/widgets/DynamicWidget/views/index.d.ts +1 -0
  78. package/src/lib/views/SetupPasswordForWalletCreationView/SetupPasswordForWalletCreationView.d.ts +0 -2
  79. package/src/lib/views/SetupPasswordForWalletCreationView/index.d.ts +0 -1
package/CHANGELOG.md CHANGED
@@ -1,4 +1,29 @@
1
1
 
2
+ ### [4.60.1](https://github.com/dynamic-labs/dynamic-auth/compare/v4.60.0...v4.60.1) (2026-02-09)
3
+
4
+
5
+ ### Features
6
+
7
+ * add WAAS password handlers to DynamicContextProvider settings ([#10360](https://github.com/dynamic-labs/dynamic-auth/issues/10360)) ([5fc3fa7](https://github.com/dynamic-labs/dynamic-auth/commit/5fc3fa7148c53b64d36672be2d1ae629cb9cdaf8))
8
+ * improve password handling and UI for wallet protection ([#10386](https://github.com/dynamic-labs/dynamic-auth/issues/10386)) ([d27936e](https://github.com/dynamic-labs/dynamic-auth/commit/d27936e5bea37facceefccc0f2507d25a775ad33))
9
+ * pass authToken to wallet recovery operations ([#10379](https://github.com/dynamic-labs/dynamic-auth/issues/10379)) ([294efc7](https://github.com/dynamic-labs/dynamic-auth/commit/294efc7ab5816f63b7e5cc49a150cf9d34d300af))
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * override fast-xml-parser to 5.3.4 for CVE-2026-25128 ([#10381](https://github.com/dynamic-labs/dynamic-auth/issues/10381)) ([7fb4c22](https://github.com/dynamic-labs/dynamic-auth/commit/7fb4c221252b84bf38bbdab0b37b8f9a981ebe1a))
15
+ * unlock wallet view error handling and password error UI ([#10388](https://github.com/dynamic-labs/dynamic-auth/issues/10388)) ([5ffc8e1](https://github.com/dynamic-labs/dynamic-auth/commit/5ffc8e1e6dd0d7f32bb94c37ce3674be949f010b))
16
+
17
+ ## [4.60.0](https://github.com/dynamic-labs/dynamic-auth/compare/v4.59.2...v4.60.0) (2026-02-05)
18
+
19
+
20
+ ### Features
21
+
22
+ * add prompt to unlock wallet when getting encrypted shares ([#10333](https://github.com/dynamic-labs/dynamic-auth/issues/10333)) ([7009dfa](https://github.com/dynamic-labs/dynamic-auth/commit/7009dfa315538f4f4ad27ff37e7902f10e1cf019))
23
+ * add stellar sendBalance method ([#10310](https://github.com/dynamic-labs/dynamic-auth/issues/10310)) ([c083ea0](https://github.com/dynamic-labs/dynamic-auth/commit/c083ea0a7caa0cb9095d32897acf677c1b661cb4))
24
+ * **webview-controller:** add DelegatedAccessController ([#10348](https://github.com/dynamic-labs/dynamic-auth/issues/10348)) ([57599e4](https://github.com/dynamic-labs/dynamic-auth/commit/57599e4dd1ad6f4b22f98d49d7fae1a724b719ee))
25
+ * **webview-messages:** add DelegatedAccessMessages types ([#10347](https://github.com/dynamic-labs/dynamic-auth/issues/10347)) ([b0a1275](https://github.com/dynamic-labs/dynamic-auth/commit/b0a12759016fa6f8a76753c2394d589acb18ccf1))
26
+
2
27
  ### [4.59.2](https://github.com/dynamic-labs/dynamic-auth/compare/v4.59.1...v4.59.2) (2026-02-03)
3
28
 
4
29
 
package/package.cjs CHANGED
@@ -3,10 +3,11 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
- var version = "4.59.2";
6
+ var version = "4.60.1";
7
7
  var dependencies = {
8
- "@dynamic-labs/sdk-api-core": "0.0.860",
9
- "@dynamic-labs-sdk/client": "0.4.0",
8
+ "@dynamic-labs/sdk-api-core": "0.0.864",
9
+ "@dynamic-labs-sdk/client": "0.8.0",
10
+ "@dynamic-labs-wallet/browser-wallet-client": "0.0.260",
10
11
  "@hcaptcha/react-hcaptcha": "1.4.4",
11
12
  "@thumbmarkjs/thumbmarkjs": "0.16.0",
12
13
  "country-list": "2.3.0",
package/package.js CHANGED
@@ -1,8 +1,9 @@
1
1
  'use client'
2
- var version = "4.59.2";
2
+ var version = "4.60.1";
3
3
  var dependencies = {
4
- "@dynamic-labs/sdk-api-core": "0.0.860",
5
- "@dynamic-labs-sdk/client": "0.4.0",
4
+ "@dynamic-labs/sdk-api-core": "0.0.864",
5
+ "@dynamic-labs-sdk/client": "0.8.0",
6
+ "@dynamic-labs-wallet/browser-wallet-client": "0.0.260",
6
7
  "@hcaptcha/react-hcaptcha": "1.4.4",
7
8
  "@thumbmarkjs/thumbmarkjs": "0.16.0",
8
9
  "country-list": "2.3.0",
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "@dynamic-labs/sdk-react-core",
3
- "version": "4.59.2",
3
+ "version": "4.60.1",
4
4
  "dependencies": {
5
- "@dynamic-labs/sdk-api-core": "0.0.860",
6
- "@dynamic-labs-sdk/client": "0.4.0",
5
+ "@dynamic-labs/sdk-api-core": "0.0.864",
6
+ "@dynamic-labs-sdk/client": "0.8.0",
7
+ "@dynamic-labs-wallet/browser-wallet-client": "0.0.260",
7
8
  "@hcaptcha/react-hcaptcha": "1.4.4",
8
9
  "@thumbmarkjs/thumbmarkjs": "0.16.0",
9
10
  "country-list": "2.3.0",
@@ -15,17 +16,17 @@
15
16
  "yup": "0.32.11",
16
17
  "react-international-phone": "4.5.0",
17
18
  "bs58": "5.0.0",
18
- "@dynamic-labs/assert-package-version": "4.59.2",
19
- "@dynamic-labs/iconic": "4.59.2",
20
- "@dynamic-labs/locale": "4.59.2",
21
- "@dynamic-labs/logger": "4.59.2",
22
- "@dynamic-labs/multi-wallet": "4.59.2",
23
- "@dynamic-labs/rpc-providers": "4.59.2",
24
- "@dynamic-labs/store": "4.59.2",
25
- "@dynamic-labs/types": "4.59.2",
26
- "@dynamic-labs/utils": "4.59.2",
27
- "@dynamic-labs/wallet-book": "4.59.2",
28
- "@dynamic-labs/wallet-connector-core": "4.59.2",
19
+ "@dynamic-labs/assert-package-version": "4.60.1",
20
+ "@dynamic-labs/iconic": "4.60.1",
21
+ "@dynamic-labs/locale": "4.60.1",
22
+ "@dynamic-labs/logger": "4.60.1",
23
+ "@dynamic-labs/multi-wallet": "4.60.1",
24
+ "@dynamic-labs/rpc-providers": "4.60.1",
25
+ "@dynamic-labs/store": "4.60.1",
26
+ "@dynamic-labs/types": "4.60.1",
27
+ "@dynamic-labs/utils": "4.60.1",
28
+ "@dynamic-labs/wallet-book": "4.60.1",
29
+ "@dynamic-labs/wallet-connector-core": "4.60.1",
29
30
  "eventemitter3": "5.0.1"
30
31
  },
31
32
  "devDependencies": {
package/src/index.cjs CHANGED
@@ -149,15 +149,15 @@ require('./lib/widgets/DynamicWidget/views/ReceiveWalletFunds/ReceiveWalletFunds
149
149
  var NoQrNotInstalledView = require('./lib/views/NoQrNotInstalledView/NoQrNotInstalledView.cjs');
150
150
  var CollectUserDataView = require('./lib/views/CollectUserDataView/CollectUserDataView.cjs');
151
151
  var EmailConfirmationWaitingView = require('./lib/views/EmailConfirmationWaitingView/EmailConfirmationWaitingView.cjs');
152
+ var FarcasterConnectView = require('./lib/views/FarcasterConnectView/FarcasterConnectView.cjs');
152
153
  var NoAccess = require('./lib/views/NoAccess/NoAccess.cjs');
153
154
  var PendingSignatureView = require('./lib/views/PendingSignatureView/PendingSignatureView.cjs');
154
155
  var QrCodeView = require('./lib/views/QrCodeView/QrCodeView.cjs');
155
156
  var WalletList = require('./lib/views/WalletList/WalletList.cjs');
156
- var FarcasterConnectView = require('./lib/views/FarcasterConnectView/FarcasterConnectView.cjs');
157
157
  var NetworkNotSupportedSwitchManual = require('./lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.cjs');
158
+ var useDynamicWaas = require('./lib/utils/hooks/useDynamicWaas/useDynamicWaas.cjs');
158
159
  var viewToComponentMap = require('./lib/views/viewToComponentMap.cjs');
159
160
  require('./lib/store/state/connectorsInitializing/connectorsInitializing.cjs');
160
- var useDynamicWaas = require('./lib/utils/hooks/useDynamicWaas/useDynamicWaas.cjs');
161
161
  var useGetMfaToken = require('./lib/utils/hooks/useGetMfaToken/useGetMfaToken.cjs');
162
162
  var useDynamicModals = require('./lib/utils/hooks/useDynamicModals/useDynamicModals.cjs');
163
163
  var useMfa = require('./lib/utils/hooks/useMfa/useMfa.cjs');
@@ -184,6 +184,7 @@ var usePromptMfaAuth = require('./lib/utils/hooks/usePromptMfaAuth/usePromptMfaA
184
184
  var useUpgradeToDynamicWaasFlow = require('./lib/utils/hooks/useUpgradeToDynamicWaasFlow/useUpgradeToDynamicWaasFlow.cjs');
185
185
  var useIsMfaRequiredForAction = require('./lib/utils/hooks/useIsMfaRequiredForAction/useIsMfaRequiredForAction.cjs');
186
186
  var useRefreshAuth = require('./lib/utils/hooks/useRefreshAuth/useRefreshAuth.cjs');
187
+ var useGetWalletPassword = require('./lib/utils/hooks/useGetWalletPassword/useGetWalletPassword.cjs');
187
188
  var DynamicConnectButton = require('./lib/components/DynamicConnectButton/DynamicConnectButton.cjs');
188
189
  require('./lib/components/InlineWidget/InlineWidget.cjs');
189
190
  var IsBrowser = require('./lib/components/IsBrowser/IsBrowser.cjs');
@@ -308,14 +309,14 @@ exports.useFundWithWallet = useFundWithWallet.useFundWithWallet;
308
309
  exports.NoQrNotInstalledView = NoQrNotInstalledView.NoQrNotInstalledView;
309
310
  exports.CollectUserDataView = CollectUserDataView.CollectUserDataView;
310
311
  exports.EmailConfirmationWaitingView = EmailConfirmationWaitingView.EmailConfirmationWaitingView;
312
+ exports.FarcasterConnectView = FarcasterConnectView.FarcasterConnectView;
311
313
  exports.NoAccess = NoAccess.NoAccess;
312
314
  exports.PendingSignatureView = PendingSignatureView.PendingSignatureView;
313
315
  exports.QrCodeView = QrCodeView.QrCodeView;
314
316
  exports.WalletList = WalletList.WalletList;
315
- exports.FarcasterConnectView = FarcasterConnectView.FarcasterConnectView;
316
317
  exports.NetworkNotSupportedSwitchManual = NetworkNotSupportedSwitchManual.NetworkNotSupportedSwitchManual;
317
- exports.viewToComponentMap = viewToComponentMap.viewToComponentMap;
318
318
  exports.useDynamicWaas = useDynamicWaas.useDynamicWaas;
319
+ exports.viewToComponentMap = viewToComponentMap.viewToComponentMap;
319
320
  exports.useGetMfaToken = useGetMfaToken.useGetMfaToken;
320
321
  exports.useDynamicModals = useDynamicModals.useDynamicModals;
321
322
  exports.useMfa = useMfa.useMfa;
@@ -345,6 +346,7 @@ exports.usePromptMfaAuth = usePromptMfaAuth.usePromptMfaAuth;
345
346
  exports.useUpgradeToDynamicWaasFlow = useUpgradeToDynamicWaasFlow.useUpgradeToDynamicWaasFlow;
346
347
  exports.useIsMfaRequiredForAction = useIsMfaRequiredForAction.useIsMfaRequiredForAction;
347
348
  exports.useRefreshAuth = useRefreshAuth.useRefreshAuth;
349
+ exports.useGetWalletPassword = useGetWalletPassword.useGetWalletPassword;
348
350
  exports.DynamicConnectButton = DynamicConnectButton.DynamicConnectButton;
349
351
  exports.IsBrowser = IsBrowser.IsBrowser;
350
352
  exports.DynamicBridgeWidget = DynamicBridgeWidget.DynamicBridgeWidget;
package/src/index.d.ts CHANGED
@@ -123,7 +123,7 @@ export { FilterAndSortWallets, FilterBridgeChainsName, FilterChain, FilterWallet
123
123
  export {
124
124
  /** @deprecated */
125
125
  DynamicWidgetContextProvider, } from './lib/widgets/DynamicWidget/context';
126
- export { useWalletItemActions, useAuthenticateConnectedUser, useSocialAccounts, useEmbeddedWallet, useEmbeddedWalletAuthenticator, usePasskeyRecovery, useEmbeddedReveal, useIsLoggedIn, useDynamicModals, useMfa, useTokenBalances, useMultichainTokenBalances, useSwitchWallet, useRpcProviders, useRefreshUser, useRefreshAuth, useWalletOptions, useSmartWallets, EmbeddedWalletVersion, useTelegramLogin, useUpgradeEmbeddedWallet, useEVMTransactionSimulation, useSVMTransactionSimulation, useDeleteUserAccount, useDynamicWaas, useGetPasskeys, useDeletePasskey, useRegisterPasskey, useAuthenticatePasskeyMFA, useGetUserMfaMethods, usePromptMfaAuth, useUpgradeToDynamicWaasFlow, useGetMfaToken, useIsMfaRequiredForAction, useWalletDelegation, useWalletBackup, useBackupWallets, isWalletBackedUp, CloudBackupProvider, useExchangeAccounts, } from './lib/utils/hooks';
126
+ export { useWalletItemActions, useAuthenticateConnectedUser, useSocialAccounts, useEmbeddedWallet, useEmbeddedWalletAuthenticator, usePasskeyRecovery, useEmbeddedReveal, useIsLoggedIn, useDynamicModals, useMfa, useTokenBalances, useMultichainTokenBalances, useSwitchWallet, useRpcProviders, useRefreshUser, useRefreshAuth, useWalletOptions, useSmartWallets, EmbeddedWalletVersion, useTelegramLogin, useUpgradeEmbeddedWallet, useEVMTransactionSimulation, useSVMTransactionSimulation, useDeleteUserAccount, useDynamicWaas, useGetPasskeys, useDeletePasskey, useRegisterPasskey, useAuthenticatePasskeyMFA, useGetUserMfaMethods, usePromptMfaAuth, useUpgradeToDynamicWaasFlow, useGetMfaToken, useGetWalletPassword, useIsMfaRequiredForAction, useWalletDelegation, useWalletBackup, useBackupWallets, isWalletBackedUp, CloudBackupProvider, useExchangeAccounts, } from './lib/utils/hooks';
127
127
  export {
128
128
  /** @deprecated use useOnramp instead */
129
129
  useFunding, } from './lib/utils/hooks/useFunding';
package/src/index.js CHANGED
@@ -145,15 +145,15 @@ import './lib/widgets/DynamicWidget/views/ReceiveWalletFunds/ReceiveWalletFunds.
145
145
  export { NoQrNotInstalledView } from './lib/views/NoQrNotInstalledView/NoQrNotInstalledView.js';
146
146
  export { CollectUserDataView } from './lib/views/CollectUserDataView/CollectUserDataView.js';
147
147
  export { EmailConfirmationWaitingView } from './lib/views/EmailConfirmationWaitingView/EmailConfirmationWaitingView.js';
148
+ export { FarcasterConnectView } from './lib/views/FarcasterConnectView/FarcasterConnectView.js';
148
149
  export { NoAccess } from './lib/views/NoAccess/NoAccess.js';
149
150
  export { PendingSignatureView } from './lib/views/PendingSignatureView/PendingSignatureView.js';
150
151
  export { QrCodeView } from './lib/views/QrCodeView/QrCodeView.js';
151
152
  export { WalletList } from './lib/views/WalletList/WalletList.js';
152
- export { FarcasterConnectView } from './lib/views/FarcasterConnectView/FarcasterConnectView.js';
153
153
  export { NetworkNotSupportedSwitchManual } from './lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.js';
154
+ export { useDynamicWaas } from './lib/utils/hooks/useDynamicWaas/useDynamicWaas.js';
154
155
  export { viewToComponentMap } from './lib/views/viewToComponentMap.js';
155
156
  import './lib/store/state/connectorsInitializing/connectorsInitializing.js';
156
- export { useDynamicWaas } from './lib/utils/hooks/useDynamicWaas/useDynamicWaas.js';
157
157
  export { useGetMfaToken } from './lib/utils/hooks/useGetMfaToken/useGetMfaToken.js';
158
158
  export { useDynamicModals } from './lib/utils/hooks/useDynamicModals/useDynamicModals.js';
159
159
  export { useMfa } from './lib/utils/hooks/useMfa/useMfa.js';
@@ -180,6 +180,7 @@ export { usePromptMfaAuth } from './lib/utils/hooks/usePromptMfaAuth/usePromptMf
180
180
  export { useUpgradeToDynamicWaasFlow } from './lib/utils/hooks/useUpgradeToDynamicWaasFlow/useUpgradeToDynamicWaasFlow.js';
181
181
  export { useIsMfaRequiredForAction } from './lib/utils/hooks/useIsMfaRequiredForAction/useIsMfaRequiredForAction.js';
182
182
  export { useRefreshAuth } from './lib/utils/hooks/useRefreshAuth/useRefreshAuth.js';
183
+ export { useGetWalletPassword } from './lib/utils/hooks/useGetWalletPassword/useGetWalletPassword.js';
183
184
  export { DynamicConnectButton } from './lib/components/DynamicConnectButton/DynamicConnectButton.js';
184
185
  import './lib/components/InlineWidget/InlineWidget.js';
185
186
  export { IsBrowser } from './lib/components/IsBrowser/IsBrowser.js';
@@ -1,6 +1,6 @@
1
1
  import { ComponentProps, FC } from 'react';
2
2
  import { viewToComponentMap } from '../../../views/viewToComponentMap';
3
- export type ViewType = 'access-blocked' | 'account-upgraded' | 'backup-unsuccessful' | 'select-hardware-wallet' | 'captcha' | 'chainalysis-blocked-wallet' | 'collect-user-data' | 'collect-user-data-login-no-wallet' | 'login-with-email-or-wallet-full-wallet-list' | 'login-with-email-or-wallet' | 'login-with-wallet-only' | 'login-with-email-verification' | 'login-with-sms-verification' | 'network-not-supported' | 'network-not-supported-manual' | 'no-access' | 'no-qr-not-installed' | 'pending-connect' | 'pending-signature-without-back-button' | 'pending-signature' | 'qr-code' | 'verify-email' | 'verify-sms' | 'wallet-connect-mobile-wallets-list' | 'wallet-list' | 'unified-wallet-exchange-list' | 'external-funding-exchange-list' | 'external-funding-wallet-list' | 'mfa-exchange-view' | 'exchange-whitelist-warning' | 'sandbox-maximum-threshold-reached' | 'multi-wallet-wallet-list' | 'duplicate-wallet' | 'wallet-sign' | 'wallet-used' | 'wallet-group' | 'select-wallet-in-wallet-group' | 'wait-for-email-confirmation-view' | 'email-wallet-otp-verification-view' | 'social-redirect-view' | 'wallet-locked-view' | 'social-wrong-account' | 'gate-blocked-wallet' | 'bridge-welcome' | 'bridge-summary' | 'bridge-next-wallet-connection' | 'account-exists' | 'merge-user-accounts' | 'merge-user-accounts-conflicts' | 'merge-user-accounts-with-same-email' | 'mfa-choose-device' | 'mfa-recovery' | 'mfa-secure-device' | 'mfa-secure-device-help' | 'mfa-verification' | 'mfa-display-backup-codes' | 'wallet-cannot-be-transferred' | 'passkey-intro' | 'passkey-recovery-add-email' | 'global-wallet-confirm' | 'global-wallet-malicious' | 'global-wallet-info' | 'passkey-recovery-start' | 'passkey-recovery-bundle' | 'passkey-recovery-complete' | 'passkey-new-domain-detected' | 'passkey-setup' | 'passkey-confirm' | 'embedded-delete-view' | 'embedded-reveal-view' | 'export-shares-view' | 'embedded-reveal-account-view' | 'embedded-wallet-auth-choice' | 'rename-passkey' | 'wallet-redirect-view' | 'wallet-upgrade-flow-view' | 'mobile-wallet-redirect-view' | 'farcaster-connect-view' | 'embedded-wallet-exists' | 'user-delete-account' | 'waas-upgrade-view' | 'wallet-delegation-view' | 'waas-backup-view' | 'waas-backup-info-view' | 'waas-backup-cloud-provider-view' | 'waas-backup-download-view' | 'waas-backup-progress-view' | 'waas-backup-success-view' | 'setup-password-terms' | 'setup-password-for-wallet-creation';
3
+ export type ViewType = 'access-blocked' | 'account-upgraded' | 'backup-unsuccessful' | 'select-hardware-wallet' | 'captcha' | 'chainalysis-blocked-wallet' | 'collect-user-data' | 'collect-user-data-login-no-wallet' | 'login-with-email-or-wallet-full-wallet-list' | 'login-with-email-or-wallet' | 'login-with-wallet-only' | 'login-with-email-verification' | 'login-with-sms-verification' | 'network-not-supported' | 'network-not-supported-manual' | 'no-access' | 'no-qr-not-installed' | 'pending-connect' | 'pending-signature-without-back-button' | 'pending-signature' | 'qr-code' | 'verify-email' | 'verify-sms' | 'wallet-connect-mobile-wallets-list' | 'wallet-list' | 'unified-wallet-exchange-list' | 'external-funding-exchange-list' | 'external-funding-wallet-list' | 'mfa-exchange-view' | 'exchange-whitelist-warning' | 'sandbox-maximum-threshold-reached' | 'multi-wallet-wallet-list' | 'duplicate-wallet' | 'wallet-sign' | 'wallet-used' | 'wallet-group' | 'select-wallet-in-wallet-group' | 'wait-for-email-confirmation-view' | 'email-wallet-otp-verification-view' | 'social-redirect-view' | 'wallet-locked-view' | 'social-wrong-account' | 'gate-blocked-wallet' | 'bridge-welcome' | 'bridge-summary' | 'bridge-next-wallet-connection' | 'account-exists' | 'merge-user-accounts' | 'merge-user-accounts-conflicts' | 'merge-user-accounts-with-same-email' | 'mfa-choose-device' | 'mfa-recovery' | 'mfa-secure-device' | 'mfa-secure-device-help' | 'mfa-verification' | 'mfa-display-backup-codes' | 'wallet-cannot-be-transferred' | 'passkey-intro' | 'passkey-recovery-add-email' | 'global-wallet-confirm' | 'global-wallet-malicious' | 'global-wallet-info' | 'passkey-recovery-start' | 'passkey-recovery-bundle' | 'passkey-recovery-complete' | 'passkey-new-domain-detected' | 'passkey-setup' | 'passkey-confirm' | 'embedded-delete-view' | 'embedded-reveal-view' | 'export-shares-view' | 'embedded-reveal-account-view' | 'embedded-wallet-auth-choice' | 'rename-passkey' | 'wallet-redirect-view' | 'wallet-upgrade-flow-view' | 'mobile-wallet-redirect-view' | 'farcaster-connect-view' | 'embedded-wallet-exists' | 'user-delete-account' | 'waas-upgrade-view' | 'wallet-delegation-view' | 'waas-backup-view' | 'waas-backup-info-view' | 'waas-backup-cloud-provider-view' | 'waas-backup-download-view' | 'waas-backup-progress-view' | 'waas-backup-success-view' | 'setup-password-terms' | 'unlock-wallet';
4
4
  export type ViewMapConstraint = Record<ViewType, FC<any>>;
5
5
  export type ViewMap = typeof viewToComponentMap;
6
6
  export type ViewState<T extends ViewType> = {
@@ -1,6 +1,13 @@
1
1
  import { JwtVerifiedCredential } from '@dynamic-labs/sdk-api-core';
2
- import { Wallet } from '../shared/types/wallets';
3
2
  import { UserProfile } from '../..';
3
+ import { Wallet } from '../shared/types/wallets';
4
+ export type WalletUnlockPayload = {
5
+ accountAddress: string;
6
+ chainName: string;
7
+ };
8
+ export type WalletUnlockPasswordPayload = WalletUnlockPayload & {
9
+ password: string;
10
+ };
4
11
  export type EmbeddedWalletEvents = {
5
12
  embeddedWalletCreated: (wallet: Wallet, verifiedCredential: JwtVerifiedCredential | undefined, user: UserProfile | undefined) => void;
6
13
  embeddedWalletFailed: (error: unknown) => void;
@@ -10,6 +17,11 @@ export type EmbeddedWalletEvents = {
10
17
  embeddedWalletDelegationFailed: (error: unknown) => void;
11
18
  embeddedWalletRecoveryEmailCompleted: (email: string) => void;
12
19
  embeddedWalletRecoveryEmailFailed: (error: unknown) => void;
13
- embeddedWalletPasswordSetupCompleted: (password: string) => void;
14
- embeddedWalletPasswordSetupCancelled: () => void;
20
+ walletUnlockAttempt: (payload: WalletUnlockPayload) => void;
21
+ walletUnlockPasswordProvided: (payload: WalletUnlockPasswordPayload) => void;
22
+ walletUnlockCompleted: (payload: WalletUnlockPayload) => void;
23
+ walletUnlockFailed: (payload: WalletUnlockPayload & {
24
+ error: unknown;
25
+ }) => void;
26
+ walletUnlockCancelled: (payload: WalletUnlockPayload) => void;
15
27
  };
@@ -130,7 +130,8 @@ const Header = ({ onClose: handleClose, heading, projectSettings, copykey, descr
130
130
  const closeButton = showCloseButton && handleClose && (jsxRuntime.jsx(IconButton.IconButton, { onClick: handleClose, type: 'button', id: 'close-button', "data-testid": 'close-button', className: 'layout-header__icon', children: jsxRuntime.jsx(close.ReactComponent, {}) }));
131
131
  const infoButton = showHelpContent && (jsxRuntime.jsx(Tooltip.Tooltip, { content: 'Need some help?', className: 'layout-header__tooltip', children: jsxRuntime.jsx(IconButton.IconButton, { type: 'button', onClick: () => setIsFooterExpanded(!isFooterExpanded), "data-testid": 'info-button', className: 'layout-header__icon', children: isWalletListTypeView ? jsxRuntime.jsx(questionMark.ReactComponent, {}) : jsxRuntime.jsx(footerInfoIcon.ReactComponent, {}) }) }, 'info-button'));
132
132
  const leadingButtons = [];
133
- if (canGoBack) {
133
+ const showBackButton = canGoBack && view.type !== 'unlock-wallet';
134
+ if (showBackButton) {
134
135
  leadingButtons.push(jsxRuntime.jsx(IconButton.IconButton, { type: 'button', onClick: handleBackClick, "data-testid": 'back-button', className: 'layout-header__icon', children: jsxRuntime.jsx(arrowLeft.ReactComponent, {}) }, 'back-button'));
135
136
  }
136
137
  // if has close button and info button, info button should be on the right
@@ -126,7 +126,8 @@ const Header = ({ onClose: handleClose, heading, projectSettings, copykey, descr
126
126
  const closeButton = showCloseButton && handleClose && (jsx(IconButton, { onClick: handleClose, type: 'button', id: 'close-button', "data-testid": 'close-button', className: 'layout-header__icon', children: jsx(SvgClose, {}) }));
127
127
  const infoButton = showHelpContent && (jsx(Tooltip, { content: 'Need some help?', className: 'layout-header__tooltip', children: jsx(IconButton, { type: 'button', onClick: () => setIsFooterExpanded(!isFooterExpanded), "data-testid": 'info-button', className: 'layout-header__icon', children: isWalletListTypeView ? jsx(SvgQuestionMark, {}) : jsx(SvgFooterInfoIcon, {}) }) }, 'info-button'));
128
128
  const leadingButtons = [];
129
- if (canGoBack) {
129
+ const showBackButton = canGoBack && view.type !== 'unlock-wallet';
130
+ if (showBackButton) {
130
131
  leadingButtons.push(jsx(IconButton, { type: 'button', onClick: handleBackClick, "data-testid": 'back-button', className: 'layout-header__icon', children: jsx(SvgArrowLeft, {}) }, 'back-button'));
131
132
  }
132
133
  // if has close button and info button, info button should be on the right
@@ -25,33 +25,30 @@ function _interopNamespace(e) {
25
25
 
26
26
  var React__namespace = /*#__PURE__*/_interopNamespace(React);
27
27
 
28
- var _circle, _path;
28
+ var _path;
29
29
  var _excluded = ["title", "titleId"];
30
30
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
31
31
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
32
32
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
33
- var SvgWarningCircleOrange = function SvgWarningCircleOrange(_ref) {
33
+ var SvgErrorCircleX = function SvgErrorCircleX(_ref) {
34
34
  var title = _ref.title,
35
35
  titleId = _ref.titleId,
36
36
  props = _objectWithoutProperties(_ref, _excluded);
37
37
  return /*#__PURE__*/React__namespace.createElement("svg", _extends({
38
- xmlns: "http://www.w3.org/2000/svg",
39
- width: 69,
40
- height: 69,
41
- viewBox: "0 0 69 69",
38
+ width: 17,
39
+ height: 17,
40
+ viewBox: "0 0 17 17",
42
41
  fill: "none",
42
+ xmlns: "http://www.w3.org/2000/svg",
43
43
  "aria-labelledby": titleId
44
44
  }, props), title ? /*#__PURE__*/React__namespace.createElement("title", {
45
45
  id: titleId
46
- }, title) : null, _circle || (_circle = /*#__PURE__*/React__namespace.createElement("circle", {
47
- cx: 34.5,
48
- cy: 34.5,
49
- r: 34.5,
50
- fill: "#DD8500"
51
- })), _path || (_path = /*#__PURE__*/React__namespace.createElement("path", {
52
- d: "M38.166 20.7a3.45 3.45 0 1 0-6.9 0v13.8a3.45 3.45 0 1 0 6.9 0V20.7ZM34.716 44.85a3.45 3.45 0 1 0 0 6.9h.034a3.45 3.45 0 1 0 0-6.9h-.034Z",
53
- fill: "#F9F9FB"
46
+ }, title) : null, _path || (_path = /*#__PURE__*/React__namespace.createElement("path", {
47
+ fillRule: "evenodd",
48
+ clipRule: "evenodd",
49
+ d: "M8.333 1.667a6.667 6.667 0 1 0 0 13.333 6.667 6.667 0 0 0 0-13.333ZM0 8.333a8.333 8.333 0 1 1 16.667 0A8.333 8.333 0 0 1 0 8.333Zm6.077-2.256a.833.833 0 0 1 1.179 0l1.077 1.078 1.078-1.078a.833.833 0 0 1 1.178 1.179L9.512 8.333l1.077 1.078a.833.833 0 0 1-1.178 1.178L8.333 9.512l-1.077 1.077a.833.833 0 0 1-1.179-1.178l1.078-1.078-1.078-1.077a.833.833 0 0 1 0-1.179Z",
50
+ fill: "currentColor"
54
51
  })));
55
52
  };
56
53
 
57
- exports.ReactComponent = SvgWarningCircleOrange;
54
+ exports.ReactComponent = SvgErrorCircleX;
@@ -1,33 +1,30 @@
1
1
  'use client'
2
2
  import * as React from 'react';
3
3
 
4
- var _circle, _path;
4
+ var _path;
5
5
  var _excluded = ["title", "titleId"];
6
6
  function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
7
7
  function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
8
8
  function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
9
- var SvgWarningCircleOrange = function SvgWarningCircleOrange(_ref) {
9
+ var SvgErrorCircleX = function SvgErrorCircleX(_ref) {
10
10
  var title = _ref.title,
11
11
  titleId = _ref.titleId,
12
12
  props = _objectWithoutProperties(_ref, _excluded);
13
13
  return /*#__PURE__*/React.createElement("svg", _extends({
14
- xmlns: "http://www.w3.org/2000/svg",
15
- width: 69,
16
- height: 69,
17
- viewBox: "0 0 69 69",
14
+ width: 17,
15
+ height: 17,
16
+ viewBox: "0 0 17 17",
18
17
  fill: "none",
18
+ xmlns: "http://www.w3.org/2000/svg",
19
19
  "aria-labelledby": titleId
20
20
  }, props), title ? /*#__PURE__*/React.createElement("title", {
21
21
  id: titleId
22
- }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement("circle", {
23
- cx: 34.5,
24
- cy: 34.5,
25
- r: 34.5,
26
- fill: "#DD8500"
27
- })), _path || (_path = /*#__PURE__*/React.createElement("path", {
28
- d: "M38.166 20.7a3.45 3.45 0 1 0-6.9 0v13.8a3.45 3.45 0 1 0 6.9 0V20.7ZM34.716 44.85a3.45 3.45 0 1 0 0 6.9h.034a3.45 3.45 0 1 0 0-6.9h-.034Z",
29
- fill: "#F9F9FB"
22
+ }, title) : null, _path || (_path = /*#__PURE__*/React.createElement("path", {
23
+ fillRule: "evenodd",
24
+ clipRule: "evenodd",
25
+ d: "M8.333 1.667a6.667 6.667 0 1 0 0 13.333 6.667 6.667 0 0 0 0-13.333ZM0 8.333a8.333 8.333 0 1 1 16.667 0A8.333 8.333 0 0 1 0 8.333Zm6.077-2.256a.833.833 0 0 1 1.179 0l1.077 1.078 1.078-1.078a.833.833 0 0 1 1.178 1.179L9.512 8.333l1.077 1.078a.833.833 0 0 1-1.178 1.178L8.333 9.512l-1.077 1.077a.833.833 0 0 1-1.179-1.178l1.078-1.078-1.078-1.077a.833.833 0 0 1 0-1.179Z",
26
+ fill: "currentColor"
30
27
  })));
31
28
  };
32
29
 
33
- export { SvgWarningCircleOrange as ReactComponent };
30
+ export { SvgErrorCircleX as ReactComponent };
@@ -44,6 +44,7 @@ export { ReactComponent as DownloadIcon } from './download.svg';
44
44
  export { ReactComponent as DynamicLogoIcon } from './dynamic-logo.svg';
45
45
  export { ReactComponent as DynamicRoundLogoIcon } from './dynamic-round-logo.svg';
46
46
  export { ReactComponent as EmbeddedWalletIcon } from './embedded-wallet-icon.svg';
47
+ export { ReactComponent as ErrorCircleXIcon } from './error-circle-x.svg';
47
48
  export { ReactComponent as ErrorIcon } from './error.svg';
48
49
  export { ReactComponent as ExclamationCircleIcon } from './exclamation-circle.svg';
49
50
  export { ReactComponent as ExclamationIcon } from './exclamation.svg';
@@ -104,6 +105,7 @@ export { ReactComponent as SendIcon } from './send.svg';
104
105
  export { ReactComponent as SessionIcon } from './session.svg';
105
106
  export { ReactComponent as SettingsIconOutline } from './settings-outline.svg';
106
107
  export { ReactComponent as SettingsIcon } from './settings.svg';
108
+ export { ReactComponent as SetupPasswordTermsIllustration } from './setup-password-terms-illustration.svg';
107
109
  export { ReactComponent as ShieldIcon } from './shield.svg';
108
110
  export { ReactComponent as SignCircleIcon } from './sign-circle.svg';
109
111
  export { ReactComponent as SignInWithEmailIcon } from './sign-in-with-email.svg';
@@ -132,7 +134,6 @@ export { ReactComponent as WalletV2Icon } from './wallet-v2.svg';
132
134
  export { ReactComponent as WalletWithSunglassesIcon } from './wallet-with-sunglasses.svg';
133
135
  export { ReactComponent as WalletIcon } from './wallet.svg';
134
136
  export { PhantomLedgerIcon } from './wallets/PhantomLedgerIcon/PhantomLedgerIcon';
135
- export { ReactComponent as WarningCircleOrangeIcon } from './warning-circle-orange.svg';
136
137
  export { ReactComponent as WarningOrangeIcon } from './warning-orange.svg';
137
138
  export { ReactComponent as WarningRedIcon } from './warning-red.svg';
138
139
  export { ReactComponent as WhiteCheck } from './white-check-black-circle.svg';
@@ -0,0 +1,83 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var React = require('react');
7
+
8
+ function _interopNamespace(e) {
9
+ if (e && e.__esModule) return e;
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n["default"] = e;
23
+ return Object.freeze(n);
24
+ }
25
+
26
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
27
+
28
+ var _g, _defs;
29
+ var _excluded = ["title", "titleId"];
30
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
31
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
32
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
33
+ var SvgSetupPasswordTermsIllustration = function SvgSetupPasswordTermsIllustration(_ref) {
34
+ var title = _ref.title,
35
+ titleId = _ref.titleId,
36
+ props = _objectWithoutProperties(_ref, _excluded);
37
+ return /*#__PURE__*/React__namespace.createElement("svg", _extends({
38
+ width: 317,
39
+ height: 85,
40
+ viewBox: "0 0 317 85",
41
+ fill: "none",
42
+ xmlns: "http://www.w3.org/2000/svg",
43
+ "aria-labelledby": titleId
44
+ }, props), title ? /*#__PURE__*/React__namespace.createElement("title", {
45
+ id: titleId
46
+ }, title) : null, _g || (_g = /*#__PURE__*/React__namespace.createElement("g", {
47
+ clipPath: "url(#setup-password-terms-illustration_svg__a)"
48
+ }, /*#__PURE__*/React__namespace.createElement("circle", {
49
+ cx: 158.41,
50
+ cy: 110.114,
51
+ r: 110.114,
52
+ fill: "url(#setup-password-terms-illustration_svg__b)",
53
+ fillOpacity: 0.12
54
+ }), /*#__PURE__*/React__namespace.createElement("path", {
55
+ d: "M230.37 18.352a3.864 3.864 0 0 1 3.864 3.863v7.728a3.863 3.863 0 0 1-3.864 3.863h-38.636a3.864 3.864 0 0 1-3.864-3.863v-7.728a3.864 3.864 0 0 1 3.864-3.863h38.636Zm-32.002 5.152c-1.449 0-2.625 1.153-2.625 2.576 0 1.422 1.176 2.575 2.625 2.575s2.624-1.153 2.624-2.575c0-1.423-1.175-2.576-2.624-2.576Zm8.747 0c-1.449 0-2.624 1.153-2.624 2.576 0 1.422 1.175 2.575 2.624 2.575 1.45 0 2.625-1.153 2.625-2.575 0-1.423-1.175-2.576-2.625-2.576Zm8.749 0c-1.449 0-2.624 1.153-2.624 2.576 0 1.422 1.175 2.575 2.624 2.575 1.45 0 2.625-1.153 2.625-2.575 0-1.423-1.175-2.576-2.625-2.576Zm8.746 0c-1.449 0-2.624 1.154-2.624 2.576l.014.263c.134 1.298 1.252 2.312 2.61 2.312 1.359 0 2.477-1.014 2.612-2.313l.013-.262c0-1.423-1.175-2.576-2.625-2.576Zm0 .965c.933 0 1.659.739 1.66 1.61-.001.873-.727 1.61-1.66 1.61-.932 0-1.658-.738-1.658-1.61 0-.871.726-1.61 1.658-1.61ZM97.995 25.218c8.244-2.209 16.719 2.683 18.928 10.927 2.209 8.245-2.684 16.72-10.928 18.929-8.245 2.209-16.719-2.684-18.928-10.929-2.209-8.244 2.684-16.718 10.928-18.927Zm1.839 6.007a3.9 3.9 0 0 0-2.757 4.776l.504 1.882a6.498 6.498 0 1 0 7.532-2.018l-.504-1.882a3.9 3.9 0 0 0-4.58-2.805l-.195.047Zm2.145 7.925a1.69 1.69 0 0 1 1.532 2.919l.355 1.325a.725.725 0 1 1-1.4.375l-.355-1.325a1.69 1.69 0 0 1-.132-3.294Zm-1.395-5.126a1.002 1.002 0 0 1 1.226.709l.188.701a6.583 6.583 0 0 0-1.935.519l-.188-.702a1.003 1.003 0 0 1 .709-1.227ZM165.171 39.28a4.508 4.508 0 0 1 4.508 4.507h-27.045a8.992 8.992 0 0 0-6.618 2.893c.762-4.209 4.444-7.4 8.871-7.4h20.284ZM180.947 57.31a9.015 9.015 0 0 0-9.015-9.015h-27.046a9.015 9.015 0 0 0-9.015 9.015v18.03a9.015 9.015 0 0 0 9.015 9.015h27.046a9.015 9.015 0 0 0 9.015-9.015V57.31Z",
56
+ fill: "#4779FF"
57
+ }), /*#__PURE__*/React__namespace.createElement("path", {
58
+ d: "M155.879 66.785a7.284 7.284 0 0 0 1.936 2.16l-2.734 2.734 2.031 2.031-2.049 2.05-2.031-2.032-1.991 1.992-2.049-2.049 6.887-6.886Zm6.153-9.555a5.796 5.796 0 1 1-.001 11.591 5.796 5.796 0 0 1 .001-11.591Zm0 2.898a2.899 2.899 0 0 0 0 5.795 2.899 2.899 0 0 0 0-5.796Z",
59
+ fill: "#fff"
60
+ }))), _defs || (_defs = /*#__PURE__*/React__namespace.createElement("defs", null, /*#__PURE__*/React__namespace.createElement("linearGradient", {
61
+ id: "setup-password-terms-illustration_svg__b",
62
+ x1: 158.41,
63
+ y1: 0,
64
+ x2: 158.41,
65
+ y2: 90.313,
66
+ gradientUnits: "userSpaceOnUse"
67
+ }, /*#__PURE__*/React__namespace.createElement("stop", {
68
+ stopColor: "#4779FF"
69
+ }), /*#__PURE__*/React__namespace.createElement("stop", {
70
+ offset: 1,
71
+ stopColor: "#4779FF",
72
+ stopOpacity: 0
73
+ })), /*#__PURE__*/React__namespace.createElement("clipPath", {
74
+ id: "setup-password-terms-illustration_svg__a"
75
+ }, /*#__PURE__*/React__namespace.createElement("rect", {
76
+ width: 316.818,
77
+ height: 85,
78
+ rx: 11.591,
79
+ fill: "#fff"
80
+ })))));
81
+ };
82
+
83
+ exports.ReactComponent = SvgSetupPasswordTermsIllustration;
@@ -0,0 +1,59 @@
1
+ 'use client'
2
+ import * as React from 'react';
3
+
4
+ var _g, _defs;
5
+ var _excluded = ["title", "titleId"];
6
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
7
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var s = Object.getOwnPropertySymbols(e); for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
8
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (e.includes(n)) continue; t[n] = r[n]; } return t; }
9
+ var SvgSetupPasswordTermsIllustration = function SvgSetupPasswordTermsIllustration(_ref) {
10
+ var title = _ref.title,
11
+ titleId = _ref.titleId,
12
+ props = _objectWithoutProperties(_ref, _excluded);
13
+ return /*#__PURE__*/React.createElement("svg", _extends({
14
+ width: 317,
15
+ height: 85,
16
+ viewBox: "0 0 317 85",
17
+ fill: "none",
18
+ xmlns: "http://www.w3.org/2000/svg",
19
+ "aria-labelledby": titleId
20
+ }, props), title ? /*#__PURE__*/React.createElement("title", {
21
+ id: titleId
22
+ }, title) : null, _g || (_g = /*#__PURE__*/React.createElement("g", {
23
+ clipPath: "url(#setup-password-terms-illustration_svg__a)"
24
+ }, /*#__PURE__*/React.createElement("circle", {
25
+ cx: 158.41,
26
+ cy: 110.114,
27
+ r: 110.114,
28
+ fill: "url(#setup-password-terms-illustration_svg__b)",
29
+ fillOpacity: 0.12
30
+ }), /*#__PURE__*/React.createElement("path", {
31
+ d: "M230.37 18.352a3.864 3.864 0 0 1 3.864 3.863v7.728a3.863 3.863 0 0 1-3.864 3.863h-38.636a3.864 3.864 0 0 1-3.864-3.863v-7.728a3.864 3.864 0 0 1 3.864-3.863h38.636Zm-32.002 5.152c-1.449 0-2.625 1.153-2.625 2.576 0 1.422 1.176 2.575 2.625 2.575s2.624-1.153 2.624-2.575c0-1.423-1.175-2.576-2.624-2.576Zm8.747 0c-1.449 0-2.624 1.153-2.624 2.576 0 1.422 1.175 2.575 2.624 2.575 1.45 0 2.625-1.153 2.625-2.575 0-1.423-1.175-2.576-2.625-2.576Zm8.749 0c-1.449 0-2.624 1.153-2.624 2.576 0 1.422 1.175 2.575 2.624 2.575 1.45 0 2.625-1.153 2.625-2.575 0-1.423-1.175-2.576-2.625-2.576Zm8.746 0c-1.449 0-2.624 1.154-2.624 2.576l.014.263c.134 1.298 1.252 2.312 2.61 2.312 1.359 0 2.477-1.014 2.612-2.313l.013-.262c0-1.423-1.175-2.576-2.625-2.576Zm0 .965c.933 0 1.659.739 1.66 1.61-.001.873-.727 1.61-1.66 1.61-.932 0-1.658-.738-1.658-1.61 0-.871.726-1.61 1.658-1.61ZM97.995 25.218c8.244-2.209 16.719 2.683 18.928 10.927 2.209 8.245-2.684 16.72-10.928 18.929-8.245 2.209-16.719-2.684-18.928-10.929-2.209-8.244 2.684-16.718 10.928-18.927Zm1.839 6.007a3.9 3.9 0 0 0-2.757 4.776l.504 1.882a6.498 6.498 0 1 0 7.532-2.018l-.504-1.882a3.9 3.9 0 0 0-4.58-2.805l-.195.047Zm2.145 7.925a1.69 1.69 0 0 1 1.532 2.919l.355 1.325a.725.725 0 1 1-1.4.375l-.355-1.325a1.69 1.69 0 0 1-.132-3.294Zm-1.395-5.126a1.002 1.002 0 0 1 1.226.709l.188.701a6.583 6.583 0 0 0-1.935.519l-.188-.702a1.003 1.003 0 0 1 .709-1.227ZM165.171 39.28a4.508 4.508 0 0 1 4.508 4.507h-27.045a8.992 8.992 0 0 0-6.618 2.893c.762-4.209 4.444-7.4 8.871-7.4h20.284ZM180.947 57.31a9.015 9.015 0 0 0-9.015-9.015h-27.046a9.015 9.015 0 0 0-9.015 9.015v18.03a9.015 9.015 0 0 0 9.015 9.015h27.046a9.015 9.015 0 0 0 9.015-9.015V57.31Z",
32
+ fill: "#4779FF"
33
+ }), /*#__PURE__*/React.createElement("path", {
34
+ d: "M155.879 66.785a7.284 7.284 0 0 0 1.936 2.16l-2.734 2.734 2.031 2.031-2.049 2.05-2.031-2.032-1.991 1.992-2.049-2.049 6.887-6.886Zm6.153-9.555a5.796 5.796 0 1 1-.001 11.591 5.796 5.796 0 0 1 .001-11.591Zm0 2.898a2.899 2.899 0 0 0 0 5.795 2.899 2.899 0 0 0 0-5.796Z",
35
+ fill: "#fff"
36
+ }))), _defs || (_defs = /*#__PURE__*/React.createElement("defs", null, /*#__PURE__*/React.createElement("linearGradient", {
37
+ id: "setup-password-terms-illustration_svg__b",
38
+ x1: 158.41,
39
+ y1: 0,
40
+ x2: 158.41,
41
+ y2: 90.313,
42
+ gradientUnits: "userSpaceOnUse"
43
+ }, /*#__PURE__*/React.createElement("stop", {
44
+ stopColor: "#4779FF"
45
+ }), /*#__PURE__*/React.createElement("stop", {
46
+ offset: 1,
47
+ stopColor: "#4779FF",
48
+ stopOpacity: 0
49
+ })), /*#__PURE__*/React.createElement("clipPath", {
50
+ id: "setup-password-terms-illustration_svg__a"
51
+ }, /*#__PURE__*/React.createElement("rect", {
52
+ width: 316.818,
53
+ height: 85,
54
+ rx: 11.591,
55
+ fill: "#fff"
56
+ })))));
57
+ };
58
+
59
+ export { SvgSetupPasswordTermsIllustration as ReactComponent };
@@ -12,6 +12,44 @@ export type UserOnboardingFieldResponse = {
12
12
  value: string;
13
13
  isCustom: boolean;
14
14
  };
15
+ /**
16
+ * Custom password provider for WAAS embedded wallets.
17
+ *
18
+ * This function is called when operations require access to the encrypted user share.
19
+ * The password is used to decrypt the user's keyshare, which is needed for:
20
+ * - Signing transactions/messages
21
+ * - Exporting private keys
22
+ * - Wallet delegation
23
+ * - Re-sharing keyshares
24
+ * - Any operation requiring the decrypted user share
25
+ *
26
+ * If not provided, the default UI unlock wallet modal will be shown.
27
+ *
28
+ * @param accountAddress - The wallet address that needs unlocking
29
+ * @param chainName - The chain name (e.g., 'EVM', 'SOL', 'BTC')
30
+ * @returns The password string to decrypt the user share, or undefined to fail the operation
31
+ *
32
+ * Note: Only called when wallet is locked. If already unlocked, this handler is not invoked.
33
+ * Runtime calls to walletConnector.setGetWalletPasswordFunction() will override this handler.
34
+ */
35
+ export type GetWalletPasswordFn = (props: {
36
+ accountAddress: string;
37
+ chainName: string;
38
+ }) => Promise<string | undefined>;
39
+ /**
40
+ * Custom password setup function for WAAS embedded wallet creation.
41
+ *
42
+ * This function is called during wallet creation when passcodeRequired is enabled.
43
+ * The password provided will be used to encrypt the user's keyshare before backup.
44
+ * This is typically called during the auto-create process if "create on sign up" is enabled.
45
+ *
46
+ * If not provided, the default UI password setup modal will be shown.
47
+ *
48
+ * @returns The new password string to encrypt the user share, or undefined to create without password
49
+ *
50
+ * Note: Only called when passcodeRequired is true in project settings.
51
+ */
52
+ export type SetupWalletPasswordFn = () => Promise<string | undefined>;
15
53
  /**
16
54
  * Handlers supported by dynamic. They always return a promise
17
55
  */
@@ -20,4 +58,30 @@ export type DynamicHandlers = {
20
58
  user: UserProfile;
21
59
  }) => Promise<void>;
22
60
  handleConnectedWallet?: HandleConnectedWallet;
61
+ /**
62
+ * Custom password provider for WAAS embedded wallets.
63
+ *
64
+ * Called when operations require decrypting the user's keyshare for:
65
+ * - Signing transactions/messages
66
+ * - Exporting private keys
67
+ * - Wallet delegation
68
+ * - Re-sharing keyshares
69
+ *
70
+ * The password is used to decrypt the encrypted user share stored in backup.
71
+ *
72
+ * @param accountAddress - The wallet address that needs unlocking
73
+ * @param chainName - The chain name (e.g., 'EVM', 'SOL', 'BTC')
74
+ * @returns The password string, or undefined to fail the operation
75
+ */
76
+ getWalletPassword?: GetWalletPasswordFn;
77
+ /**
78
+ * Custom password setup function for WAAS embedded wallet creation.
79
+ *
80
+ * Called during wallet creation when passcodeRequired is enabled to encrypt
81
+ * the user's keyshare before backup. Typically invoked during auto-create
82
+ * process if "create on sign up" is enabled.
83
+ *
84
+ * @returns The new password string to encrypt the user share, or undefined to create without password
85
+ */
86
+ setupWalletPassword?: SetupWalletPasswordFn;
23
87
  };
@@ -21,6 +21,7 @@ const chainIconMap = {
21
21
  solana: iconic.SolanaIcon,
22
22
  spark: iconic.SparkIcon,
23
23
  starknet: iconic.StarknetIcon,
24
+ stellar: iconic.StellarIcon,
24
25
  sui: iconic.SuiIcon,
25
26
  ton: iconic.TonIcon,
26
27
  tron: iconic.TronIcon,