@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.
- package/CHANGELOG.md +25 -0
- package/package.cjs +4 -3
- package/package.js +4 -3
- package/package.json +15 -14
- package/src/index.cjs +6 -4
- package/src/index.d.ts +1 -1
- package/src/index.js +3 -2
- package/src/lib/context/ViewContext/types/index.d.ts +1 -1
- package/src/lib/events/embeddedWallet.d.ts +15 -3
- package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +2 -1
- package/src/lib/layout/DynamicAuthLayout/Header/header.js +2 -1
- package/src/lib/shared/assets/{warning-circle-orange.cjs → error-circle-x.cjs} +12 -15
- package/src/lib/shared/assets/{warning-circle-orange.js → error-circle-x.js} +12 -15
- package/src/lib/shared/assets/index.d.ts +2 -1
- package/src/lib/shared/assets/setup-password-terms-illustration.cjs +83 -0
- package/src/lib/shared/assets/setup-password-terms-illustration.js +59 -0
- package/src/lib/shared/types/dynamicHandlers.d.ts +64 -0
- package/src/lib/shared/utils/functions/chain/getChainIcon.cjs +1 -0
- package/src/lib/shared/utils/functions/chain/getChainIcon.js +2 -1
- package/src/lib/styles/index.shadow.cjs +1 -1
- package/src/lib/styles/index.shadow.js +1 -1
- package/src/lib/utils/hooks/index.d.ts +4 -0
- package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.cjs +27 -9
- package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.d.ts +3 -2
- package/src/lib/utils/hooks/useDynamicWaas/useDynamicWaas.js +27 -9
- package/src/lib/utils/hooks/useGetWalletPassword/index.d.ts +2 -0
- package/src/lib/utils/hooks/useGetWalletPassword/useGetWalletPassword.cjs +130 -0
- package/src/lib/utils/hooks/useGetWalletPassword/useGetWalletPassword.d.ts +6 -0
- package/src/lib/utils/hooks/useGetWalletPassword/useGetWalletPassword.js +126 -0
- package/src/lib/utils/hooks/usePromptWalletUnlock/index.d.ts +2 -0
- package/src/lib/utils/hooks/usePromptWalletUnlock/usePromptWalletUnlock.cjs +144 -0
- package/src/lib/utils/hooks/usePromptWalletUnlock/usePromptWalletUnlock.d.ts +5 -0
- package/src/lib/utils/hooks/usePromptWalletUnlock/usePromptWalletUnlock.js +140 -0
- package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.cjs +15 -15
- package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.js +15 -15
- package/src/lib/utils/hooks/useSetupPassword/useSetupPassword.cjs +25 -25
- package/src/lib/utils/hooks/useSetupPassword/useSetupPassword.d.ts +3 -0
- package/src/lib/utils/hooks/useSetupPassword/useSetupPassword.js +26 -26
- package/src/lib/utils/hooks/useSmartWallets/useSmartWallets.cjs +1 -1
- package/src/lib/utils/hooks/useSmartWallets/useSmartWallets.js +1 -1
- package/src/lib/utils/hooks/useSyncDynamicWaas/useSyncDynamicWaas.cjs +1 -1
- package/src/lib/utils/hooks/useSyncDynamicWaas/useSyncDynamicWaas.js +1 -1
- package/src/lib/utils/hooks/useWalletBackup/useWalletBackup.cjs +1 -1
- package/src/lib/utils/hooks/useWalletBackup/useWalletBackup.js +1 -1
- package/src/lib/utils/hooks/useWalletDelegation/useWalletDelegation.cjs +1 -1
- package/src/lib/utils/hooks/useWalletDelegation/useWalletDelegation.js +1 -1
- package/src/lib/utils/hooks/useWalletUnlock/index.d.ts +2 -0
- package/src/lib/utils/hooks/useWalletUnlock/useWalletUnlock.d.ts +15 -0
- package/src/lib/views/NoAccess/NoAccess.cjs +1 -1
- package/src/lib/views/NoAccess/NoAccess.js +1 -1
- package/src/lib/views/{SetupPasswordForWalletCreationView/SetupPasswordForWalletCreationView.cjs → UnlockWalletView/UnlockWalletView.cjs} +49 -13
- package/src/lib/views/UnlockWalletView/UnlockWalletView.d.ts +6 -0
- package/src/lib/views/{SetupPasswordForWalletCreationView/SetupPasswordForWalletCreationView.js → UnlockWalletView/UnlockWalletView.js} +49 -13
- package/src/lib/views/UnlockWalletView/index.d.ts +2 -0
- package/src/lib/views/index.d.ts +3 -3
- package/src/lib/views/viewToComponentMap.cjs +3 -3
- package/src/lib/views/viewToComponentMap.d.ts +1 -1
- package/src/lib/views/viewToComponentMap.js +3 -3
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +1 -1
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/mapViewToComponent.cjs +43 -43
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetViews/mapViewToComponent.js +43 -43
- package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/MfaSection/MfaSection.cjs +33 -19
- package/src/lib/widgets/DynamicWidget/views/AccountAndSecuritySettingsView/MfaSection/MfaSection.js +33 -19
- package/src/lib/widgets/DynamicWidget/views/EnterPasswordView/EnterPasswordView.cjs +71 -0
- package/src/lib/widgets/DynamicWidget/views/EnterPasswordView/EnterPasswordView.d.ts +9 -0
- package/src/lib/widgets/DynamicWidget/views/EnterPasswordView/EnterPasswordView.js +67 -0
- package/src/lib/widgets/DynamicWidget/views/EnterPasswordView/index.d.ts +2 -0
- package/src/lib/widgets/DynamicWidget/views/SetupPasswordKnowledgeCheckView/SetupPasswordKnowledgeCheckView.cjs +7 -15
- package/src/lib/widgets/DynamicWidget/views/SetupPasswordKnowledgeCheckView/SetupPasswordKnowledgeCheckView.d.ts +0 -1
- package/src/lib/widgets/DynamicWidget/views/SetupPasswordKnowledgeCheckView/SetupPasswordKnowledgeCheckView.js +7 -15
- package/src/lib/widgets/DynamicWidget/views/SetupPasswordTermsView/SetupPasswordTermsView.cjs +10 -4
- package/src/lib/widgets/DynamicWidget/views/SetupPasswordTermsView/SetupPasswordTermsView.d.ts +1 -1
- package/src/lib/widgets/DynamicWidget/views/SetupPasswordTermsView/SetupPasswordTermsView.js +10 -4
- package/src/lib/widgets/DynamicWidget/views/SetupPasswordView/SetupPasswordView.cjs +15 -11
- package/src/lib/widgets/DynamicWidget/views/SetupPasswordView/SetupPasswordView.js +15 -11
- package/src/lib/widgets/DynamicWidget/views/index.d.ts +1 -0
- package/src/lib/views/SetupPasswordForWalletCreationView/SetupPasswordForWalletCreationView.d.ts +0 -2
- 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.
|
|
6
|
+
var version = "4.60.1";
|
|
7
7
|
var dependencies = {
|
|
8
|
-
"@dynamic-labs/sdk-api-core": "0.0.
|
|
9
|
-
"@dynamic-labs-sdk/client": "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.
|
|
2
|
+
var version = "4.60.1";
|
|
3
3
|
var dependencies = {
|
|
4
|
-
"@dynamic-labs/sdk-api-core": "0.0.
|
|
5
|
-
"@dynamic-labs-sdk/client": "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.
|
|
3
|
+
"version": "4.60.1",
|
|
4
4
|
"dependencies": {
|
|
5
|
-
"@dynamic-labs/sdk-api-core": "0.0.
|
|
6
|
-
"@dynamic-labs-sdk/client": "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.
|
|
19
|
-
"@dynamic-labs/iconic": "4.
|
|
20
|
-
"@dynamic-labs/locale": "4.
|
|
21
|
-
"@dynamic-labs/logger": "4.
|
|
22
|
-
"@dynamic-labs/multi-wallet": "4.
|
|
23
|
-
"@dynamic-labs/rpc-providers": "4.
|
|
24
|
-
"@dynamic-labs/store": "4.
|
|
25
|
-
"@dynamic-labs/types": "4.
|
|
26
|
-
"@dynamic-labs/utils": "4.
|
|
27
|
-
"@dynamic-labs/wallet-book": "4.
|
|
28
|
-
"@dynamic-labs/wallet-connector-core": "4.
|
|
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' | '
|
|
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
|
-
|
|
14
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
fill: "
|
|
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 =
|
|
54
|
+
exports.ReactComponent = SvgErrorCircleX;
|
|
@@ -1,33 +1,30 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
|
|
4
|
-
var
|
|
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
|
|
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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
fill: "
|
|
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 {
|
|
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
|
};
|