@dynamic-labs/sdk-react-core 1.1.0-alpha.7 → 1.1.0-alpha.9
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 +31 -0
- package/package.cjs +2 -2
- package/package.js +2 -2
- package/package.json +12 -11
- package/src/index.cjs +4 -2
- package/src/index.js +2 -1
- package/src/lib/Main.cjs +4 -5
- package/src/lib/Main.js +4 -5
- package/src/lib/components/ChainCard/ChainCard.d.ts +2 -2
- package/src/lib/components/SelectWalletChainLayout/SelectWalletChainLayout.cjs +5 -1
- package/src/lib/components/SelectWalletChainLayout/SelectWalletChainLayout.js +5 -1
- package/src/lib/components/Toggle/Toggle.cjs +14 -0
- package/src/lib/components/Toggle/Toggle.d.ts +7 -0
- package/src/lib/components/Toggle/Toggle.js +10 -0
- package/src/lib/components/Toggle/index.d.ts +1 -0
- package/src/lib/context/DynamicContext/DynamicContext.cjs +42 -34
- package/src/lib/context/DynamicContext/DynamicContext.js +43 -35
- package/src/lib/context/DynamicContext/hooks/index.d.ts +1 -1
- package/src/lib/context/DynamicContext/hooks/useSetShowLinkNewWalletModal/index.d.ts +1 -0
- package/src/lib/context/DynamicContext/hooks/useSetShowLinkNewWalletModal/useSetShowLinkNewWalletModal.cjs +48 -0
- package/src/lib/context/DynamicContext/hooks/{useSetShowAuthFlowWithInit/useSetShowAuthFlowWithInit.d.ts → useSetShowLinkNewWalletModal/useSetShowLinkNewWalletModal.d.ts} +4 -7
- package/src/lib/context/DynamicContext/hooks/useSetShowLinkNewWalletModal/useSetShowLinkNewWalletModal.js +44 -0
- package/src/lib/context/DynamicContext/hooks/useShowAuthFlow/index.d.ts +1 -0
- package/src/lib/context/DynamicContext/hooks/useShowAuthFlow/useShowAuthFlow.cjs +59 -0
- package/src/lib/context/DynamicContext/hooks/useShowAuthFlow/useShowAuthFlow.d.ts +37 -0
- package/src/lib/context/DynamicContext/hooks/useShowAuthFlow/useShowAuthFlow.js +55 -0
- package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.cjs +1 -0
- package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.js +1 -0
- package/src/lib/context/DynamicContext/types/index.d.ts +11 -7
- package/src/lib/context/DynamicContext/useDynamicContext.cjs +8 -2
- package/src/lib/context/DynamicContext/useDynamicContext.d.ts +4 -1
- package/src/lib/context/DynamicContext/useDynamicContext.js +8 -2
- package/src/lib/context/FundingContext/FundingContext.cjs +4 -1
- package/src/lib/context/FundingContext/FundingContext.js +4 -1
- package/src/lib/context/SocialRedirectContext/SocialRedirectContext.cjs +1 -1
- package/src/lib/context/SocialRedirectContext/SocialRedirectContext.js +1 -1
- package/src/lib/context/ViewContext/ViewContext.d.ts +1 -1
- package/src/lib/events/dynamicEvents.d.ts +3 -0
- package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletExtensionOrAppContinueButton/WalletExtensionOrAppContinueButton.cjs +2 -2
- package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletExtensionOrAppContinueButton/WalletExtensionOrAppContinueButton.js +2 -2
- package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletListHelpContent.cjs +5 -5
- package/src/lib/layout/DynamicAuthLayout/HelpContent/WalletListHelpContent/WalletListHelpContent.js +5 -5
- package/src/lib/locale/en/translation.cjs +18 -2
- package/src/lib/locale/en/translation.d.ts +17 -1
- package/src/lib/locale/en/translation.js +18 -2
- package/src/lib/shared/assets/alt-key.cjs +54 -0
- package/src/lib/shared/assets/alt-key.js +30 -0
- package/src/lib/shared/assets/index.d.ts +1 -0
- package/src/lib/shared/types/index.d.ts +3 -0
- package/src/lib/styles/index.shadow.cjs +1 -1
- package/src/lib/styles/index.shadow.js +1 -1
- package/src/lib/utils/functions/isSelectedWalletAlreadyConnected/isSelectedWalletAlreadyConnected.cjs +2 -4
- package/src/lib/utils/functions/isSelectedWalletAlreadyConnected/isSelectedWalletAlreadyConnected.js +2 -4
- package/src/lib/utils/functions/walletListBuilder/utils/filterConnectedWallets/filterConnectedWallets.cjs +13 -2
- package/src/lib/utils/functions/walletListBuilder/utils/filterConnectedWallets/filterConnectedWallets.js +13 -2
- package/src/lib/utils/functions/walletListBuilder/walletListBuilder.cjs +3 -3
- package/src/lib/utils/functions/walletListBuilder/walletListBuilder.js +4 -4
- package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.cjs +1 -1
- package/src/lib/utils/hooks/authenticationHooks/useSignConnectOnlyUser/useSignConnectOnlyUser.js +1 -1
- package/src/lib/utils/hooks/index.d.ts +1 -0
- package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.cjs +3 -2
- package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.d.ts +6 -1
- package/src/lib/utils/hooks/multiWallet/useMultiWallet/useMultiWallet.js +3 -2
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +2 -1
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +2 -1
- package/src/lib/utils/hooks/useClearWalletConnectSessions/useClearWalletConnectSessions.cjs +3 -3
- package/src/lib/utils/hooks/useClearWalletConnectSessions/useClearWalletConnectSessions.js +3 -3
- package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.cjs +1 -1
- package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.d.ts +2 -2
- package/src/lib/utils/hooks/useConnectWallet/useConnectWallet.js +1 -1
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs +2 -2
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js +2 -2
- package/src/lib/utils/hooks/useEmbeddedReveal/useEmbeddedReveal.cjs +23 -13
- package/src/lib/utils/hooks/useEmbeddedReveal/useEmbeddedReveal.d.ts +1 -1
- package/src/lib/utils/hooks/useEmbeddedReveal/useEmbeddedReveal.js +23 -13
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +9 -6
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +9 -6
- package/src/lib/utils/hooks/useHandleUnlinkWallet/useHandleUnlinkWallet.cjs +5 -3
- package/src/lib/utils/hooks/useHandleUnlinkWallet/useHandleUnlinkWallet.js +5 -3
- package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.cjs +6 -8
- package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.js +6 -8
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +1 -1
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +1 -1
- package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/useUpdateUserWithModal.cjs +8 -5
- package/src/lib/utils/hooks/useUserUpdateRequest/useUpdateUserWithModal/useUpdateUserWithModal.js +8 -5
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +2 -2
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +2 -2
- package/src/lib/utils/hooks/useWalletConnectorNetwork/index.d.ts +1 -0
- package/src/lib/utils/hooks/useWalletConnectorNetwork/useWalletConnectorNetwork.cjs +42 -0
- package/src/lib/utils/hooks/useWalletConnectorNetwork/useWalletConnectorNetwork.d.ts +18 -0
- package/src/lib/utils/hooks/useWalletConnectorNetwork/useWalletConnectorNetwork.js +38 -0
- package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.cjs +2 -2
- package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.js +2 -2
- package/src/lib/utils/hooks/useWalletConnectors/utils/findWallet/findWallet.cjs +5 -2
- package/src/lib/utils/hooks/useWalletConnectors/utils/findWallet/findWallet.js +5 -2
- package/src/lib/views/BridgeNextWalletConnectionView/BridgeNextWalletConnectionView.cjs +1 -1
- package/src/lib/views/BridgeNextWalletConnectionView/BridgeNextWalletConnectionView.js +1 -1
- package/src/lib/views/BridgeSummaryView/BridgeSummaryView.cjs +1 -1
- package/src/lib/views/BridgeSummaryView/BridgeSummaryView.js +1 -1
- package/src/lib/views/BridgeWelcomeView/BridgeWelcomeView.cjs +1 -1
- package/src/lib/views/BridgeWelcomeView/BridgeWelcomeView.js +1 -1
- package/src/lib/views/EmailVerification/EmailVerification.cjs +1 -1
- package/src/lib/views/EmailVerification/EmailVerification.js +1 -1
- package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.cjs +20 -18
- package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.js +20 -18
- package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.cjs +55 -30
- package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.d.ts +7 -1
- package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.js +55 -31
- package/src/lib/views/LoginView/LoginView.cjs +60 -7
- package/src/lib/views/LoginView/LoginView.js +60 -7
- package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.cjs +1 -1
- package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.js +1 -1
- package/src/lib/views/NetworkNotSupported/NetworkNotSupported.cjs +3 -4
- package/src/lib/views/NetworkNotSupported/NetworkNotSupported.js +3 -4
- package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.cjs +3 -6
- package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.js +3 -6
- package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.cjs +1 -1
- package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.js +1 -1
- package/src/lib/views/QrCodeView/QRCode.cjs +2 -3
- package/src/lib/views/QrCodeView/QRCode.js +2 -3
- package/src/lib/views/WalletGroupView/WalletGroupView.cjs +72 -1
- package/src/lib/views/WalletGroupView/WalletGroupView.js +73 -2
- package/src/lib/views/WalletGroupView/components/HardwareWalletToggle/HardwareWalletToggle.cjs +74 -0
- package/src/lib/views/WalletGroupView/components/HardwareWalletToggle/HardwareWalletToggle.d.ts +7 -0
- package/src/lib/views/WalletGroupView/components/HardwareWalletToggle/HardwareWalletToggle.js +70 -0
- package/src/lib/views/WalletGroupView/components/HardwareWalletToggle/index.d.ts +1 -0
- package/src/lib/views/WalletGroupView/components/WalletGroupItem/WalletGroupItem.cjs +2 -4
- package/src/lib/views/WalletGroupView/components/WalletGroupItem/WalletGroupItem.d.ts +2 -1
- package/src/lib/views/WalletGroupView/components/WalletGroupItem/WalletGroupItem.js +2 -4
- package/src/lib/views/WalletUsedView/WalletUsedView.cjs +5 -5
- package/src/lib/views/WalletUsedView/WalletUsedView.js +5 -5
- package/src/lib/views/viewToComponentMap.cjs +1 -0
- package/src/lib/views/viewToComponentMap.js +1 -0
- package/src/lib/widgets/DynamicBridgeWidget/views/EditProfileView/EditProfileView.cjs +6 -3
- package/src/lib/widgets/DynamicBridgeWidget/views/EditProfileView/EditProfileView.js +6 -3
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveBitcoinWalletAddresses/ActiveBitcoinWalletAddresses.cjs +76 -0
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveBitcoinWalletAddresses/ActiveBitcoinWalletAddresses.d.ts +9 -0
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveBitcoinWalletAddresses/ActiveBitcoinWalletAddresses.js +72 -0
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveBitcoinWalletAddresses/index.d.ts +1 -0
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletAddress/ActiveWalletAddress.cjs +67 -0
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletAddress/ActiveWalletAddress.d.ts +9 -0
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletAddress/ActiveWalletAddress.js +63 -0
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletAddress/index.d.ts +1 -0
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +9 -8
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +9 -8
- package/src/lib/widgets/DynamicWidget/hooks/useFetchBalance/useFetchBalance.cjs +66 -21
- package/src/lib/widgets/DynamicWidget/hooks/useFetchBalance/useFetchBalance.d.ts +1 -1
- package/src/lib/widgets/DynamicWidget/hooks/useFetchBalance/useFetchBalance.js +67 -22
- package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.cjs +2 -2
- package/src/lib/widgets/DynamicWidget/prompts/QrCodeModalView/QrCodeModalView.js +2 -2
- package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.cjs +7 -3
- package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.js +7 -3
- package/src/lib/widgets/DynamicWidget/views/WalletSettingsView/WalletSettingsView.cjs +8 -6
- package/src/lib/widgets/DynamicWidget/views/WalletSettingsView/WalletSettingsView.js +8 -6
- package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.cjs +2 -2
- package/src/lib/widgets/DynamicWidget/views/WalletsView/WalletsView.js +2 -2
- package/src/lib/context/DynamicContext/hooks/useSetShowAuthFlowWithInit/index.d.ts +0 -1
- package/src/lib/context/DynamicContext/hooks/useSetShowAuthFlowWithInit/useSetShowAuthFlowWithInit.cjs +0 -33
- package/src/lib/context/DynamicContext/hooks/useSetShowAuthFlowWithInit/useSetShowAuthFlowWithInit.js +0 -29
|
@@ -42,3 +42,4 @@ export { useWalletConnectors } from './useWalletConnectors';
|
|
|
42
42
|
export { useWalletItemActions } from './useWalletItemActions';
|
|
43
43
|
export { useWalletUiUtils } from './useWalletUiUtils';
|
|
44
44
|
export { useEmbeddedReveal } from './useEmbeddedReveal';
|
|
45
|
+
export { useWalletConnectorNetwork } from './useWalletConnectorNetwork';
|
|
@@ -18,8 +18,9 @@ var useLocalStorage = require('../../../../shared/utils/hooks/useLocalStorage/us
|
|
|
18
18
|
require('@dynamic-labs/utils');
|
|
19
19
|
require('../../../../shared/consts/index.cjs');
|
|
20
20
|
|
|
21
|
-
const useMultiWallet = (toolkitEnabled, multiWalletSettings) => {
|
|
22
|
-
|
|
21
|
+
const useMultiWallet = ({ toolkitEnabled, isBridgeFlow, multiWalletSettings, }) => {
|
|
22
|
+
var _a;
|
|
23
|
+
const isMultiWalletEnabled = (_a = (multiWalletSettings || isBridgeFlow)) !== null && _a !== void 0 ? _a : false;
|
|
23
24
|
const [multiWallet, setMultiWallet] = useLocalStorage.useLocalStorage(localStorage.IS_MULTI_WALLET_ENABLED, isMultiWalletEnabled);
|
|
24
25
|
React.useEffect(() => {
|
|
25
26
|
// don't overwrite toolkit stored value after the refresh
|
|
@@ -1,4 +1,9 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type UseMultiWalletProps = {
|
|
2
|
+
toolkitEnabled: boolean;
|
|
3
|
+
isBridgeFlow?: boolean;
|
|
4
|
+
multiWalletSettings?: boolean;
|
|
5
|
+
};
|
|
6
|
+
export declare const useMultiWallet: ({ toolkitEnabled, isBridgeFlow, multiWalletSettings, }: UseMultiWalletProps) => {
|
|
2
7
|
multiWallet: boolean;
|
|
3
8
|
setMultiWallet: (value: boolean | ((val: boolean) => boolean)) => void;
|
|
4
9
|
};
|
|
@@ -14,8 +14,9 @@ import { useLocalStorage } from '../../../../shared/utils/hooks/useLocalStorage/
|
|
|
14
14
|
import '@dynamic-labs/utils';
|
|
15
15
|
import '../../../../shared/consts/index.js';
|
|
16
16
|
|
|
17
|
-
const useMultiWallet = (toolkitEnabled, multiWalletSettings) => {
|
|
18
|
-
|
|
17
|
+
const useMultiWallet = ({ toolkitEnabled, isBridgeFlow, multiWalletSettings, }) => {
|
|
18
|
+
var _a;
|
|
19
|
+
const isMultiWalletEnabled = (_a = (multiWalletSettings || isBridgeFlow)) !== null && _a !== void 0 ? _a : false;
|
|
19
20
|
const [multiWallet, setMultiWallet] = useLocalStorage(IS_MULTI_WALLET_ENABLED, isMultiWalletEnabled);
|
|
20
21
|
useEffect(() => {
|
|
21
22
|
// don't overwrite toolkit stored value after the refresh
|
|
@@ -49,7 +49,8 @@ const useAuthLayoutChecks = (walletConnector) => {
|
|
|
49
49
|
view !== 'update-email' &&
|
|
50
50
|
view !== 'collect-user-data-login-with-email' &&
|
|
51
51
|
view !== 'passkey-recovery-start' &&
|
|
52
|
-
view !== 'embedded-reveal-view'
|
|
52
|
+
view !== 'embedded-reveal-view' &&
|
|
53
|
+
view !== 'embedded-reveal-account-view';
|
|
53
54
|
const showConnectedWalletProgress = isBridgeFlow &&
|
|
54
55
|
(view === 'wallet-list' ||
|
|
55
56
|
view === 'qr-code' ||
|
|
@@ -45,7 +45,8 @@ const useAuthLayoutChecks = (walletConnector) => {
|
|
|
45
45
|
view !== 'update-email' &&
|
|
46
46
|
view !== 'collect-user-data-login-with-email' &&
|
|
47
47
|
view !== 'passkey-recovery-start' &&
|
|
48
|
-
view !== 'embedded-reveal-view'
|
|
48
|
+
view !== 'embedded-reveal-view' &&
|
|
49
|
+
view !== 'embedded-reveal-account-view';
|
|
49
50
|
const showConnectedWalletProgress = isBridgeFlow &&
|
|
50
51
|
(view === 'wallet-list' ||
|
|
51
52
|
view === 'qr-code' ||
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
|
-
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
7
6
|
require('@dynamic-labs/sdk-api');
|
|
8
7
|
require('../../../shared/logger.cjs');
|
|
9
8
|
require('@dynamic-labs/iconic');
|
|
9
|
+
require('@dynamic-labs/wallet-connector-core');
|
|
10
10
|
require('react/jsx-runtime');
|
|
11
11
|
require('../../../context/ViewContext/ViewContext.cjs');
|
|
12
12
|
require('@dynamic-labs/wallet-book');
|
|
@@ -22,10 +22,10 @@ const useClearWalletConnectSessions = ({ connectors }) => {
|
|
|
22
22
|
return;
|
|
23
23
|
if (connectors.length === 0)
|
|
24
24
|
return;
|
|
25
|
-
const
|
|
25
|
+
const keys = new Set(connectors.map((connector) => connector.key));
|
|
26
26
|
for (const key of localStorage$1.LocalStorage.getKeys()) {
|
|
27
27
|
if (key.startsWith('walletconnect') &&
|
|
28
|
-
!
|
|
28
|
+
!keys.has(key.replace('walletconnect-', ''))) {
|
|
29
29
|
localStorage.removeItem(key);
|
|
30
30
|
}
|
|
31
31
|
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useCallback } from 'react';
|
|
2
|
-
import { normalizeWalletName } from '@dynamic-labs/wallet-connector-core';
|
|
3
2
|
import '@dynamic-labs/sdk-api';
|
|
4
3
|
import '../../../shared/logger.js';
|
|
5
4
|
import '@dynamic-labs/iconic';
|
|
5
|
+
import '@dynamic-labs/wallet-connector-core';
|
|
6
6
|
import 'react/jsx-runtime';
|
|
7
7
|
import '../../../context/ViewContext/ViewContext.js';
|
|
8
8
|
import '@dynamic-labs/wallet-book';
|
|
@@ -18,10 +18,10 @@ const useClearWalletConnectSessions = ({ connectors }) => {
|
|
|
18
18
|
return;
|
|
19
19
|
if (connectors.length === 0)
|
|
20
20
|
return;
|
|
21
|
-
const
|
|
21
|
+
const keys = new Set(connectors.map((connector) => connector.key));
|
|
22
22
|
for (const key of LocalStorage.getKeys()) {
|
|
23
23
|
if (key.startsWith('walletconnect') &&
|
|
24
|
-
!
|
|
24
|
+
!keys.has(key.replace('walletconnect-', ''))) {
|
|
25
25
|
localStorage.removeItem(key);
|
|
26
26
|
}
|
|
27
27
|
}
|
|
@@ -152,7 +152,7 @@ const useConnectWallet = ({ authMode, clearPrimaryWalletId, enableVisitTrackingO
|
|
|
152
152
|
if (!shouldProceedWithConnection) {
|
|
153
153
|
walletConnectorCore.logger.info('Connection was not established because onBeforeConnectSuccessConfirmation returned false');
|
|
154
154
|
disconnectWallet(walletId);
|
|
155
|
-
setShowAuthFlow(false);
|
|
155
|
+
setShowAuthFlow(false, { emitCancelAuth: true });
|
|
156
156
|
return;
|
|
157
157
|
}
|
|
158
158
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Dispatch, SetStateAction } from 'react';
|
|
2
1
|
import { Chain, FetchPublicAddressOpts, WalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
3
2
|
import { ConnectWalletResult } from '../../../context/DynamicContext/types';
|
|
4
3
|
import { AuthModeType, OnBeforeConnectSuccessConfirmation, Wallet, WalletOption } from '../../../shared';
|
|
4
|
+
import { SetShowAuthFlow } from '../../../context/DynamicContext/hooks';
|
|
5
5
|
export type ConnectedWalletConnectorType = {
|
|
6
6
|
id: string;
|
|
7
7
|
walletChain?: Chain;
|
|
@@ -18,7 +18,7 @@ type Props = {
|
|
|
18
18
|
walletConnectorOptions: WalletOption[];
|
|
19
19
|
onDisconnect: (connectedWalletsInfo: ConnectedWalletConnectorType[], wallet?: Wallet) => void;
|
|
20
20
|
onBeforeConnectSuccessConfirmation: OnBeforeConnectSuccessConfirmation | undefined;
|
|
21
|
-
setShowAuthFlow:
|
|
21
|
+
setShowAuthFlow: SetShowAuthFlow;
|
|
22
22
|
isBridgeFlow: boolean;
|
|
23
23
|
};
|
|
24
24
|
type UseConnectWalletValue = {
|
|
@@ -148,7 +148,7 @@ const useConnectWallet = ({ authMode, clearPrimaryWalletId, enableVisitTrackingO
|
|
|
148
148
|
if (!shouldProceedWithConnection) {
|
|
149
149
|
logger.info('Connection was not established because onBeforeConnectSuccessConfirmation returned false');
|
|
150
150
|
disconnectWallet(walletId);
|
|
151
|
-
setShowAuthFlow(false);
|
|
151
|
+
setShowAuthFlow(false, { emitCancelAuth: true });
|
|
152
152
|
return;
|
|
153
153
|
}
|
|
154
154
|
}
|
|
@@ -28,7 +28,7 @@ var smartWallet = require('../useWalletConnectors/utils/smartWallet/smartWallet.
|
|
|
28
28
|
|
|
29
29
|
// This hook needs to be async that's why it's not using useMutation
|
|
30
30
|
const useCreateDynamicEmbeddedWalletMutation = () => {
|
|
31
|
-
const { setPrimaryWalletId, setCallback, setUser, user,
|
|
31
|
+
const { setPrimaryWalletId, setCallback, setUser, user, setShowAuthFlow } = useInternalDynamicContext.useInternalDynamicContext();
|
|
32
32
|
const [isLoading, setIsLoading] = React.useState(false);
|
|
33
33
|
const [error, setError] = React.useState();
|
|
34
34
|
const createDynamicEmbeddedWalletMutation = ({ authToken, decodedJwt, environmentId, walletConnectorOptions, withAuthenticator, }) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -70,7 +70,7 @@ const useCreateDynamicEmbeddedWalletMutation = () => {
|
|
|
70
70
|
}
|
|
71
71
|
index.storeAuthToken(jwt);
|
|
72
72
|
setUser(createUserProfile.createUserProfile(updatedDecodedJwt));
|
|
73
|
-
|
|
73
|
+
setShowAuthFlow(false, { performMultiWalletChecks: false });
|
|
74
74
|
setCallback('embeddedWalletCreated', {
|
|
75
75
|
email: (turnkeyVerifiedCredentials === null || turnkeyVerifiedCredentials === void 0 ? void 0 : turnkeyVerifiedCredentials.email) || '',
|
|
76
76
|
verifiedCredential: turnkeyVerifiedCredentials,
|
|
@@ -24,7 +24,7 @@ import { findSmartWallet, initializeSmartWallet } from '../useWalletConnectors/u
|
|
|
24
24
|
|
|
25
25
|
// This hook needs to be async that's why it's not using useMutation
|
|
26
26
|
const useCreateDynamicEmbeddedWalletMutation = () => {
|
|
27
|
-
const { setPrimaryWalletId, setCallback, setUser, user,
|
|
27
|
+
const { setPrimaryWalletId, setCallback, setUser, user, setShowAuthFlow } = useInternalDynamicContext();
|
|
28
28
|
const [isLoading, setIsLoading] = useState(false);
|
|
29
29
|
const [error, setError] = useState();
|
|
30
30
|
const createDynamicEmbeddedWalletMutation = ({ authToken, decodedJwt, environmentId, walletConnectorOptions, withAuthenticator, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -66,7 +66,7 @@ const useCreateDynamicEmbeddedWalletMutation = () => {
|
|
|
66
66
|
}
|
|
67
67
|
storeAuthToken(jwt);
|
|
68
68
|
setUser(createUserProfile(updatedDecodedJwt));
|
|
69
|
-
|
|
69
|
+
setShowAuthFlow(false, { performMultiWalletChecks: false });
|
|
70
70
|
setCallback('embeddedWalletCreated', {
|
|
71
71
|
email: (turnkeyVerifiedCredentials === null || turnkeyVerifiedCredentials === void 0 ? void 0 : turnkeyVerifiedCredentials.email) || '',
|
|
72
72
|
verifiedCredential: turnkeyVerifiedCredentials,
|
|
@@ -6,11 +6,11 @@ var _tslib = require('../../../../../_virtual/_tslib.cjs');
|
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var useInternalDynamicContext = require('../../../context/DynamicContext/useInternalDynamicContext.cjs');
|
|
8
8
|
var ViewContext = require('../../../context/ViewContext/ViewContext.cjs');
|
|
9
|
-
require('
|
|
10
|
-
require('../../../shared/logger.cjs');
|
|
9
|
+
var decodeJwt = require('../../../shared/utils/functions/decodeJwt/decodeJwt.cjs');
|
|
11
10
|
require('@dynamic-labs/iconic');
|
|
12
11
|
require('@dynamic-labs/wallet-connector-core');
|
|
13
12
|
require('react/jsx-runtime');
|
|
13
|
+
require('../../../shared/logger.cjs');
|
|
14
14
|
require('@dynamic-labs/wallet-book');
|
|
15
15
|
require('../../constants/colors.cjs');
|
|
16
16
|
require('../../../shared/utils/classes/storage/localStorage.cjs');
|
|
@@ -19,16 +19,18 @@ require('@dynamic-labs/utils');
|
|
|
19
19
|
require('../../../shared/consts/index.cjs');
|
|
20
20
|
require('@dynamic-labs/multi-wallet');
|
|
21
21
|
var getAuthToken = require('../../functions/getAuthToken/getAuthToken.cjs');
|
|
22
|
+
require('@dynamic-labs/sdk-api');
|
|
22
23
|
var isTurnkeyEnabled = require('../../functions/isTurnkeyEnabled/isTurnkeyEnabled.cjs');
|
|
23
24
|
var useEmbeddedWallet = require('../useEmbeddedWallet/useEmbeddedWallet.cjs');
|
|
24
25
|
var dynamicEvents = require('../../../events/dynamicEvents.cjs');
|
|
25
26
|
|
|
26
27
|
// Hook exposed to customers and used internally to trigger embedded reveal
|
|
27
28
|
const useEmbeddedReveal = () => {
|
|
28
|
-
const { projectSettings,
|
|
29
|
+
const { projectSettings, setShowAuthFlow } = useInternalDynamicContext.useInternalDynamicContext();
|
|
29
30
|
const { userHasEmbeddedWallet } = useEmbeddedWallet.useEmbeddedWallet();
|
|
30
31
|
const { setView } = ViewContext.useViewContext();
|
|
31
|
-
const initExportProcess = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
32
|
+
const initExportProcess = React.useCallback((recoveryPhrase = false) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
33
|
+
var _a, _b;
|
|
32
34
|
const jwt = getAuthToken.getAuthToken();
|
|
33
35
|
if (!jwt) {
|
|
34
36
|
throw new Error('User is not logged in');
|
|
@@ -39,19 +41,27 @@ const useEmbeddedReveal = () => {
|
|
|
39
41
|
if (!userHasEmbeddedWallet()) {
|
|
40
42
|
throw new Error('Passkey embedded wallet not found');
|
|
41
43
|
}
|
|
42
|
-
|
|
43
|
-
|
|
44
|
+
const decodedJwt = decodeJwt.decodeJwt(jwt);
|
|
45
|
+
const walletProperties = (_b = (_a = decodedJwt === null || decodedJwt === void 0 ? void 0 : decodedJwt.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'))) === null || _b === void 0 ? void 0 : _b.walletProperties;
|
|
46
|
+
const turnkeyHDWalletId = walletProperties === null || walletProperties === void 0 ? void 0 : walletProperties.turnkeyHDWalletId;
|
|
47
|
+
if (recoveryPhrase && !turnkeyHDWalletId) {
|
|
48
|
+
throw new Error('Wallet is non-HD and does not have a recovery phrase');
|
|
49
|
+
}
|
|
50
|
+
setShowAuthFlow(true, {
|
|
51
|
+
ignoreIfIsEmbeddedWidget: false,
|
|
52
|
+
performMultiWalletChecks: false,
|
|
53
|
+
});
|
|
54
|
+
if (recoveryPhrase) {
|
|
55
|
+
setView('embedded-reveal-view');
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
setView('embedded-reveal-account-view');
|
|
59
|
+
}
|
|
44
60
|
return new Promise((resolve, reject) => {
|
|
45
61
|
dynamicEvents.dynamicEvents.once('embeddedWalletRevealCompleted', (wallet) => resolve(wallet));
|
|
46
62
|
dynamicEvents.dynamicEvents.once('embeddedWalletRevealFailed', (error) => reject(error));
|
|
47
63
|
});
|
|
48
|
-
}), [
|
|
49
|
-
dynamicEvents.dynamicEvents,
|
|
50
|
-
internalSetShowAuthFlow,
|
|
51
|
-
projectSettings,
|
|
52
|
-
setView,
|
|
53
|
-
userHasEmbeddedWallet,
|
|
54
|
-
]);
|
|
64
|
+
}), [setShowAuthFlow, projectSettings, setView, userHasEmbeddedWallet]);
|
|
55
65
|
return {
|
|
56
66
|
initExportProcess,
|
|
57
67
|
};
|
|
@@ -2,11 +2,11 @@ import { __awaiter } from '../../../../../_virtual/_tslib.js';
|
|
|
2
2
|
import { useCallback } from 'react';
|
|
3
3
|
import { useInternalDynamicContext } from '../../../context/DynamicContext/useInternalDynamicContext.js';
|
|
4
4
|
import { useViewContext } from '../../../context/ViewContext/ViewContext.js';
|
|
5
|
-
import '
|
|
6
|
-
import '../../../shared/logger.js';
|
|
5
|
+
import { decodeJwt } from '../../../shared/utils/functions/decodeJwt/decodeJwt.js';
|
|
7
6
|
import '@dynamic-labs/iconic';
|
|
8
7
|
import '@dynamic-labs/wallet-connector-core';
|
|
9
8
|
import 'react/jsx-runtime';
|
|
9
|
+
import '../../../shared/logger.js';
|
|
10
10
|
import '@dynamic-labs/wallet-book';
|
|
11
11
|
import '../../constants/colors.js';
|
|
12
12
|
import '../../../shared/utils/classes/storage/localStorage.js';
|
|
@@ -15,16 +15,18 @@ import '@dynamic-labs/utils';
|
|
|
15
15
|
import '../../../shared/consts/index.js';
|
|
16
16
|
import '@dynamic-labs/multi-wallet';
|
|
17
17
|
import { getAuthToken } from '../../functions/getAuthToken/getAuthToken.js';
|
|
18
|
+
import '@dynamic-labs/sdk-api';
|
|
18
19
|
import { isTurnkeyEnabled } from '../../functions/isTurnkeyEnabled/isTurnkeyEnabled.js';
|
|
19
20
|
import { useEmbeddedWallet } from '../useEmbeddedWallet/useEmbeddedWallet.js';
|
|
20
21
|
import { dynamicEvents } from '../../../events/dynamicEvents.js';
|
|
21
22
|
|
|
22
23
|
// Hook exposed to customers and used internally to trigger embedded reveal
|
|
23
24
|
const useEmbeddedReveal = () => {
|
|
24
|
-
const { projectSettings,
|
|
25
|
+
const { projectSettings, setShowAuthFlow } = useInternalDynamicContext();
|
|
25
26
|
const { userHasEmbeddedWallet } = useEmbeddedWallet();
|
|
26
27
|
const { setView } = useViewContext();
|
|
27
|
-
const initExportProcess = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
28
|
+
const initExportProcess = useCallback((recoveryPhrase = false) => __awaiter(void 0, void 0, void 0, function* () {
|
|
29
|
+
var _a, _b;
|
|
28
30
|
const jwt = getAuthToken();
|
|
29
31
|
if (!jwt) {
|
|
30
32
|
throw new Error('User is not logged in');
|
|
@@ -35,19 +37,27 @@ const useEmbeddedReveal = () => {
|
|
|
35
37
|
if (!userHasEmbeddedWallet()) {
|
|
36
38
|
throw new Error('Passkey embedded wallet not found');
|
|
37
39
|
}
|
|
38
|
-
|
|
39
|
-
|
|
40
|
+
const decodedJwt = decodeJwt(jwt);
|
|
41
|
+
const walletProperties = (_b = (_a = decodedJwt === null || decodedJwt === void 0 ? void 0 : decodedJwt.verifiedCredentials) === null || _a === void 0 ? void 0 : _a.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'))) === null || _b === void 0 ? void 0 : _b.walletProperties;
|
|
42
|
+
const turnkeyHDWalletId = walletProperties === null || walletProperties === void 0 ? void 0 : walletProperties.turnkeyHDWalletId;
|
|
43
|
+
if (recoveryPhrase && !turnkeyHDWalletId) {
|
|
44
|
+
throw new Error('Wallet is non-HD and does not have a recovery phrase');
|
|
45
|
+
}
|
|
46
|
+
setShowAuthFlow(true, {
|
|
47
|
+
ignoreIfIsEmbeddedWidget: false,
|
|
48
|
+
performMultiWalletChecks: false,
|
|
49
|
+
});
|
|
50
|
+
if (recoveryPhrase) {
|
|
51
|
+
setView('embedded-reveal-view');
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
setView('embedded-reveal-account-view');
|
|
55
|
+
}
|
|
40
56
|
return new Promise((resolve, reject) => {
|
|
41
57
|
dynamicEvents.once('embeddedWalletRevealCompleted', (wallet) => resolve(wallet));
|
|
42
58
|
dynamicEvents.once('embeddedWalletRevealFailed', (error) => reject(error));
|
|
43
59
|
});
|
|
44
|
-
}), [
|
|
45
|
-
dynamicEvents,
|
|
46
|
-
internalSetShowAuthFlow,
|
|
47
|
-
projectSettings,
|
|
48
|
-
setView,
|
|
49
|
-
userHasEmbeddedWallet,
|
|
50
|
-
]);
|
|
60
|
+
}), [setShowAuthFlow, projectSettings, setView, userHasEmbeddedWallet]);
|
|
51
61
|
return {
|
|
52
62
|
initExportProcess,
|
|
53
63
|
};
|
|
@@ -32,7 +32,7 @@ var useCreateUserProfileByJWTCallback = require('../useCreateUserProfileByJWTCal
|
|
|
32
32
|
|
|
33
33
|
// Hook exposed to customers and used internally to trigger embedded wallet creation
|
|
34
34
|
const useEmbeddedWallet = () => {
|
|
35
|
-
const { projectSettings, onboardingOnlyJwt, setPrimaryWalletId, walletConnectorOptions,
|
|
35
|
+
const { projectSettings, onboardingOnlyJwt, setPrimaryWalletId, walletConnectorOptions, setShowAuthFlow, primaryWallet, environmentId, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
36
36
|
const { setView } = ViewContext.useViewContext();
|
|
37
37
|
const { createDynamicEmbeddedWalletMutation } = useCreateDynamicEmbeddedWalletMutation.useCreateDynamicEmbeddedWalletMutation();
|
|
38
38
|
const { createUserProfileByJWT } = useCreateUserProfileByJWTCallback.useCreateUserProfileByJWTCallback();
|
|
@@ -52,7 +52,7 @@ const useEmbeddedWallet = () => {
|
|
|
52
52
|
walletConnectorOptions,
|
|
53
53
|
withAuthenticator: false,
|
|
54
54
|
});
|
|
55
|
-
|
|
55
|
+
setShowAuthFlow(false, { performMultiWalletChecks: false }); // close email otp pin modal
|
|
56
56
|
return new Promise((resolve, reject) => {
|
|
57
57
|
dynamicEvents.dynamicEvents.once('embeddedWalletCreated', (wallet) => resolve(wallet));
|
|
58
58
|
dynamicEvents.dynamicEvents.once('embeddedWalletFailed', (error) => reject(error));
|
|
@@ -61,10 +61,13 @@ const useEmbeddedWallet = () => {
|
|
|
61
61
|
createDynamicEmbeddedWalletMutation,
|
|
62
62
|
environmentId,
|
|
63
63
|
walletConnectorOptions,
|
|
64
|
-
|
|
64
|
+
setShowAuthFlow,
|
|
65
65
|
]);
|
|
66
66
|
const startEmbeddedWalletCreationFlow = () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
67
|
-
|
|
67
|
+
setShowAuthFlow(true, {
|
|
68
|
+
ignoreIfIsEmbeddedWidget: false,
|
|
69
|
+
performMultiWalletChecks: false,
|
|
70
|
+
});
|
|
68
71
|
setView('passkey-intro');
|
|
69
72
|
return new Promise((resolve, reject) => {
|
|
70
73
|
dynamicEvents.dynamicEvents.once('embeddedWalletCreated', (wallet) => resolve(wallet));
|
|
@@ -131,7 +134,7 @@ const useEmbeddedWallet = () => {
|
|
|
131
134
|
}
|
|
132
135
|
return startEmbeddedWalletCreationFlow();
|
|
133
136
|
}
|
|
134
|
-
|
|
137
|
+
setShowAuthFlow(false, { performMultiWalletChecks: false });
|
|
135
138
|
const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials.findEmbeddedWalletFromVerifiedCredentials(jwt);
|
|
136
139
|
// if user logged in with MM for example, just continue the flow
|
|
137
140
|
if (!embeddedWalletVerifiedCredential) {
|
|
@@ -140,7 +143,7 @@ const useEmbeddedWallet = () => {
|
|
|
140
143
|
// if user already has embedded wallet, returns it
|
|
141
144
|
return returnEmbeddedWallet(jwt, embeddedWalletVerifiedCredential);
|
|
142
145
|
}), [
|
|
143
|
-
|
|
146
|
+
setShowAuthFlow,
|
|
144
147
|
onboardingOnlyJwt,
|
|
145
148
|
projectSettings,
|
|
146
149
|
startPregeneratedWalletCreationFlow,
|
|
@@ -28,7 +28,7 @@ import { useCreateUserProfileByJWTCallback } from '../useCreateUserProfileByJWTC
|
|
|
28
28
|
|
|
29
29
|
// Hook exposed to customers and used internally to trigger embedded wallet creation
|
|
30
30
|
const useEmbeddedWallet = () => {
|
|
31
|
-
const { projectSettings, onboardingOnlyJwt, setPrimaryWalletId, walletConnectorOptions,
|
|
31
|
+
const { projectSettings, onboardingOnlyJwt, setPrimaryWalletId, walletConnectorOptions, setShowAuthFlow, primaryWallet, environmentId, } = useInternalDynamicContext();
|
|
32
32
|
const { setView } = useViewContext();
|
|
33
33
|
const { createDynamicEmbeddedWalletMutation } = useCreateDynamicEmbeddedWalletMutation();
|
|
34
34
|
const { createUserProfileByJWT } = useCreateUserProfileByJWTCallback();
|
|
@@ -48,7 +48,7 @@ const useEmbeddedWallet = () => {
|
|
|
48
48
|
walletConnectorOptions,
|
|
49
49
|
withAuthenticator: false,
|
|
50
50
|
});
|
|
51
|
-
|
|
51
|
+
setShowAuthFlow(false, { performMultiWalletChecks: false }); // close email otp pin modal
|
|
52
52
|
return new Promise((resolve, reject) => {
|
|
53
53
|
dynamicEvents.once('embeddedWalletCreated', (wallet) => resolve(wallet));
|
|
54
54
|
dynamicEvents.once('embeddedWalletFailed', (error) => reject(error));
|
|
@@ -57,10 +57,13 @@ const useEmbeddedWallet = () => {
|
|
|
57
57
|
createDynamicEmbeddedWalletMutation,
|
|
58
58
|
environmentId,
|
|
59
59
|
walletConnectorOptions,
|
|
60
|
-
|
|
60
|
+
setShowAuthFlow,
|
|
61
61
|
]);
|
|
62
62
|
const startEmbeddedWalletCreationFlow = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
63
|
-
|
|
63
|
+
setShowAuthFlow(true, {
|
|
64
|
+
ignoreIfIsEmbeddedWidget: false,
|
|
65
|
+
performMultiWalletChecks: false,
|
|
66
|
+
});
|
|
64
67
|
setView('passkey-intro');
|
|
65
68
|
return new Promise((resolve, reject) => {
|
|
66
69
|
dynamicEvents.once('embeddedWalletCreated', (wallet) => resolve(wallet));
|
|
@@ -127,7 +130,7 @@ const useEmbeddedWallet = () => {
|
|
|
127
130
|
}
|
|
128
131
|
return startEmbeddedWalletCreationFlow();
|
|
129
132
|
}
|
|
130
|
-
|
|
133
|
+
setShowAuthFlow(false, { performMultiWalletChecks: false });
|
|
131
134
|
const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials(jwt);
|
|
132
135
|
// if user logged in with MM for example, just continue the flow
|
|
133
136
|
if (!embeddedWalletVerifiedCredential) {
|
|
@@ -136,7 +139,7 @@ const useEmbeddedWallet = () => {
|
|
|
136
139
|
// if user already has embedded wallet, returns it
|
|
137
140
|
return returnEmbeddedWallet(jwt, embeddedWalletVerifiedCredential);
|
|
138
141
|
}), [
|
|
139
|
-
|
|
142
|
+
setShowAuthFlow,
|
|
140
143
|
onboardingOnlyJwt,
|
|
141
144
|
projectSettings,
|
|
142
145
|
startPregeneratedWalletCreationFlow,
|
|
@@ -4,10 +4,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _tslib = require('../../../../../_virtual/_tslib.cjs');
|
|
6
6
|
var React = require('react');
|
|
7
|
+
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
7
8
|
require('@dynamic-labs/sdk-api');
|
|
8
9
|
require('../../../shared/logger.cjs');
|
|
9
10
|
require('@dynamic-labs/iconic');
|
|
10
|
-
require('@dynamic-labs/wallet-connector-core');
|
|
11
11
|
require('react/jsx-runtime');
|
|
12
12
|
require('../../../context/ViewContext/ViewContext.cjs');
|
|
13
13
|
require('@dynamic-labs/wallet-book');
|
|
@@ -18,7 +18,6 @@ require('viem');
|
|
|
18
18
|
require('@dynamic-labs/utils');
|
|
19
19
|
require('../../../shared/consts/index.cjs');
|
|
20
20
|
var handleUnlinkHelper = require('../../functions/handleUnlinkHelper/handleUnlinkHelper.cjs');
|
|
21
|
-
var isSameWalletName = require('../../functions/isSameWalletName/isSameWalletName.cjs');
|
|
22
21
|
|
|
23
22
|
const useHandleUnlinkWallet = ({ verifiedCredentials, environmentId, primaryWalletId, secondaryWallets, setUser, }) => {
|
|
24
23
|
const callback = React.useCallback((walletId) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -44,8 +43,11 @@ const useHandleUnlinkWallet = ({ verifiedCredentials, environmentId, primaryWall
|
|
|
44
43
|
setUser(newUser);
|
|
45
44
|
}
|
|
46
45
|
const wallet = secondaryWallets.find((w) => w.id === walletId);
|
|
46
|
+
// remaining normalizeWalletName until QNTM-846 is complete due to us still passing the walletname to redcoast:
|
|
47
|
+
// https://linear.app/dynamic-labs/issue/QNTM-846/remove-usage-of-walletwalletconnectorwname-to-instead-use
|
|
47
48
|
const numberOfLinkedWallets = verifiedCredentials.filter((account) => account.walletName &&
|
|
48
|
-
|
|
49
|
+
walletConnectorCore.normalizeWalletName(account.walletName) ===
|
|
50
|
+
((wallet === null || wallet === void 0 ? void 0 : wallet.connector.key) || '')).length;
|
|
49
51
|
// If there's only 1, it's the one being removed and we can kill the session
|
|
50
52
|
if (numberOfLinkedWallets === 1) {
|
|
51
53
|
yield (wallet === null || wallet === void 0 ? void 0 : wallet.connector.endSession());
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { __awaiter } from '../../../../../_virtual/_tslib.js';
|
|
2
2
|
import { useCallback } from 'react';
|
|
3
|
+
import { normalizeWalletName } from '@dynamic-labs/wallet-connector-core';
|
|
3
4
|
import '@dynamic-labs/sdk-api';
|
|
4
5
|
import '../../../shared/logger.js';
|
|
5
6
|
import '@dynamic-labs/iconic';
|
|
6
|
-
import '@dynamic-labs/wallet-connector-core';
|
|
7
7
|
import 'react/jsx-runtime';
|
|
8
8
|
import '../../../context/ViewContext/ViewContext.js';
|
|
9
9
|
import '@dynamic-labs/wallet-book';
|
|
@@ -14,7 +14,6 @@ import 'viem';
|
|
|
14
14
|
import '@dynamic-labs/utils';
|
|
15
15
|
import '../../../shared/consts/index.js';
|
|
16
16
|
import { handleUnlinkHelper } from '../../functions/handleUnlinkHelper/handleUnlinkHelper.js';
|
|
17
|
-
import { isSameWalletName } from '../../functions/isSameWalletName/isSameWalletName.js';
|
|
18
17
|
|
|
19
18
|
const useHandleUnlinkWallet = ({ verifiedCredentials, environmentId, primaryWalletId, secondaryWallets, setUser, }) => {
|
|
20
19
|
const callback = useCallback((walletId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -40,8 +39,11 @@ const useHandleUnlinkWallet = ({ verifiedCredentials, environmentId, primaryWall
|
|
|
40
39
|
setUser(newUser);
|
|
41
40
|
}
|
|
42
41
|
const wallet = secondaryWallets.find((w) => w.id === walletId);
|
|
42
|
+
// remaining normalizeWalletName until QNTM-846 is complete due to us still passing the walletname to redcoast:
|
|
43
|
+
// https://linear.app/dynamic-labs/issue/QNTM-846/remove-usage-of-walletwalletconnectorwname-to-instead-use
|
|
43
44
|
const numberOfLinkedWallets = verifiedCredentials.filter((account) => account.walletName &&
|
|
44
|
-
|
|
45
|
+
normalizeWalletName(account.walletName) ===
|
|
46
|
+
((wallet === null || wallet === void 0 ? void 0 : wallet.connector.key) || '')).length;
|
|
45
47
|
// If there's only 1, it's the one being removed and we can kill the session
|
|
46
48
|
if (numberOfLinkedWallets === 1) {
|
|
47
49
|
yield (wallet === null || wallet === void 0 ? void 0 : wallet.connector.endSession());
|
|
@@ -27,7 +27,7 @@ var useEmbeddedWallet = require('../useEmbeddedWallet/useEmbeddedWallet.cjs');
|
|
|
27
27
|
|
|
28
28
|
// Hook exposed to customers and used internally to trigger passkey recovery
|
|
29
29
|
const usePasskeyRecovery = () => {
|
|
30
|
-
const { projectSettings,
|
|
30
|
+
const { projectSettings, setShowAuthFlow } = useInternalDynamicContext.useInternalDynamicContext();
|
|
31
31
|
const { userHasEmbeddedWallet } = useEmbeddedWallet.useEmbeddedWallet();
|
|
32
32
|
const { setView } = ViewContext.useViewContext();
|
|
33
33
|
const initPasskeyRecoveryProcess = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -45,18 +45,16 @@ const usePasskeyRecovery = () => {
|
|
|
45
45
|
// since the iframe can still exist it can't be recreated by Turnkey
|
|
46
46
|
// and throws an error
|
|
47
47
|
removeElementById.removeElementById(constants.iframeContainerId);
|
|
48
|
-
|
|
48
|
+
setShowAuthFlow(true, {
|
|
49
|
+
ignoreIfIsEmbeddedWidget: false,
|
|
50
|
+
performMultiWalletChecks: false,
|
|
51
|
+
});
|
|
49
52
|
setView('passkey-recovery-start');
|
|
50
53
|
return new Promise((resolve, reject) => {
|
|
51
54
|
dynamicEvents.dynamicEvents.once('passkeyRecoveryCompleted', (wallet) => resolve(wallet));
|
|
52
55
|
dynamicEvents.dynamicEvents.once('passkeyRecoveryFailed', (error) => reject(error));
|
|
53
56
|
});
|
|
54
|
-
}), [
|
|
55
|
-
internalSetShowAuthFlow,
|
|
56
|
-
projectSettings,
|
|
57
|
-
setView,
|
|
58
|
-
userHasEmbeddedWallet,
|
|
59
|
-
]);
|
|
57
|
+
}), [setShowAuthFlow, projectSettings, setView, userHasEmbeddedWallet]);
|
|
60
58
|
return {
|
|
61
59
|
initPasskeyRecoveryProcess,
|
|
62
60
|
};
|
|
@@ -23,7 +23,7 @@ import { useEmbeddedWallet } from '../useEmbeddedWallet/useEmbeddedWallet.js';
|
|
|
23
23
|
|
|
24
24
|
// Hook exposed to customers and used internally to trigger passkey recovery
|
|
25
25
|
const usePasskeyRecovery = () => {
|
|
26
|
-
const { projectSettings,
|
|
26
|
+
const { projectSettings, setShowAuthFlow } = useInternalDynamicContext();
|
|
27
27
|
const { userHasEmbeddedWallet } = useEmbeddedWallet();
|
|
28
28
|
const { setView } = useViewContext();
|
|
29
29
|
const initPasskeyRecoveryProcess = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -41,18 +41,16 @@ const usePasskeyRecovery = () => {
|
|
|
41
41
|
// since the iframe can still exist it can't be recreated by Turnkey
|
|
42
42
|
// and throws an error
|
|
43
43
|
removeElementById(iframeContainerId);
|
|
44
|
-
|
|
44
|
+
setShowAuthFlow(true, {
|
|
45
|
+
ignoreIfIsEmbeddedWidget: false,
|
|
46
|
+
performMultiWalletChecks: false,
|
|
47
|
+
});
|
|
45
48
|
setView('passkey-recovery-start');
|
|
46
49
|
return new Promise((resolve, reject) => {
|
|
47
50
|
dynamicEvents.once('passkeyRecoveryCompleted', (wallet) => resolve(wallet));
|
|
48
51
|
dynamicEvents.once('passkeyRecoveryFailed', (error) => reject(error));
|
|
49
52
|
});
|
|
50
|
-
}), [
|
|
51
|
-
internalSetShowAuthFlow,
|
|
52
|
-
projectSettings,
|
|
53
|
-
setView,
|
|
54
|
-
userHasEmbeddedWallet,
|
|
55
|
-
]);
|
|
53
|
+
}), [setShowAuthFlow, projectSettings, setView, userHasEmbeddedWallet]);
|
|
56
54
|
return {
|
|
57
55
|
initPasskeyRecoveryProcess,
|
|
58
56
|
};
|
|
@@ -161,7 +161,7 @@ const useSocialAuth = ({ sessionTimeout, authMode, onSettled, onError, }) => {
|
|
|
161
161
|
}
|
|
162
162
|
catch (e) {
|
|
163
163
|
yield createUserProfileByJWT(jwt);
|
|
164
|
-
setShowAuthFlow(false);
|
|
164
|
+
setShowAuthFlow(false, { emitCancelAuth: true });
|
|
165
165
|
onSettled === null || onSettled === void 0 ? void 0 : onSettled();
|
|
166
166
|
}
|
|
167
167
|
return;
|
|
@@ -157,7 +157,7 @@ const useSocialAuth = ({ sessionTimeout, authMode, onSettled, onError, }) => {
|
|
|
157
157
|
}
|
|
158
158
|
catch (e) {
|
|
159
159
|
yield createUserProfileByJWT(jwt);
|
|
160
|
-
setShowAuthFlow(false);
|
|
160
|
+
setShowAuthFlow(false, { emitCancelAuth: true });
|
|
161
161
|
onSettled === null || onSettled === void 0 ? void 0 : onSettled();
|
|
162
162
|
}
|
|
163
163
|
return;
|