@dynamic-labs/sdk-react-core 3.0.0-alpha.6 → 3.0.0-alpha.8
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 +44 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +10 -10
- package/src/index.cjs +9 -1
- package/src/index.d.ts +4 -1
- package/src/index.js +5 -1
- package/src/lib/Main.cjs +2 -0
- package/src/lib/Main.js +2 -0
- package/src/lib/context/DynamicContext/DynamicContext.cjs +15 -8
- package/src/lib/context/DynamicContext/DynamicContext.js +16 -9
- package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.cjs +15 -6
- package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.js +15 -6
- package/src/lib/context/DynamicContext/types/index.d.ts +4 -2
- package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.cjs +3 -2
- package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.d.ts +1 -1
- package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.js +3 -2
- package/src/lib/context/ReinitializeContext/ReinitializeContextProvider.cjs +113 -0
- package/src/lib/context/ReinitializeContext/ReinitializeContextProvider.d.ts +22 -0
- package/src/lib/context/ReinitializeContext/ReinitializeContextProvider.js +107 -0
- package/src/lib/context/ReinitializeContext/index.d.ts +1 -0
- package/src/lib/context/WalletContext/WalletContext.cjs +1 -1
- package/src/lib/context/WalletContext/WalletContext.js +1 -1
- package/src/lib/context/WidgetRegistry/WidgetRegistryContextProvider.cjs +128 -0
- package/src/lib/context/WidgetRegistry/WidgetRegistryContextProvider.d.ts +6 -0
- package/src/lib/context/WidgetRegistry/WidgetRegistryContextProvider.js +122 -0
- package/src/lib/context/WidgetRegistry/index.d.ts +1 -0
- package/src/lib/data/api/wallets/wallets.cjs +2 -1
- package/src/lib/data/api/wallets/wallets.d.ts +2 -1
- package/src/lib/data/api/wallets/wallets.js +2 -1
- package/src/lib/events/dynamicEvents.d.ts +2 -1
- package/src/lib/events/multiWallet.d.ts +6 -0
- package/src/lib/store/index.d.ts +1 -1
- package/src/lib/store/store.cjs +6 -0
- package/src/lib/store/store.d.ts +1 -0
- package/src/lib/store/store.js +6 -1
- package/src/lib/styles/index.shadow.cjs +1 -1
- package/src/lib/styles/index.shadow.js +1 -1
- package/src/lib/utils/functions/index.d.ts +1 -0
- package/src/lib/utils/functions/logVerboseTroubleshootingMessage/index.d.ts +1 -0
- package/src/lib/utils/functions/logVerboseTroubleshootingMessage/logVerboseTroubleshootingMessage.cjs +28 -0
- package/src/lib/utils/functions/logVerboseTroubleshootingMessage/logVerboseTroubleshootingMessage.d.ts +1 -0
- package/src/lib/utils/functions/logVerboseTroubleshootingMessage/logVerboseTroubleshootingMessage.js +24 -0
- package/src/lib/utils/hooks/events/useDynamicEvents/useDynamicEvents.cjs +20 -0
- package/src/lib/utils/hooks/events/useDynamicEvents/useDynamicEvents.d.ts +2 -2
- package/src/lib/utils/hooks/events/useDynamicEvents/useDynamicEvents.js +20 -1
- package/src/lib/utils/hooks/index.d.ts +1 -0
- package/src/lib/utils/hooks/multiWallet/useVerifyOnAwaitingSignature/useVerifyOnAwaitingSignature.cjs +39 -13
- package/src/lib/utils/hooks/multiWallet/useVerifyOnAwaitingSignature/useVerifyOnAwaitingSignature.js +40 -14
- package/src/lib/utils/hooks/useHandleUnlinkWallet/useHandleUnlinkWallet.cjs +3 -1
- package/src/lib/utils/hooks/useHandleUnlinkWallet/useHandleUnlinkWallet.js +3 -1
- package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.cjs +6 -2
- package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.js +6 -2
- package/src/lib/utils/hooks/useRefreshUser/index.d.ts +1 -0
- package/src/lib/utils/hooks/useRefreshUser/useRefreshUser.cjs +90 -0
- package/src/lib/utils/hooks/useRefreshUser/useRefreshUser.d.ts +8 -0
- package/src/lib/utils/hooks/useRefreshUser/useRefreshUser.js +86 -0
- package/src/lib/utils/hooks/useSwitchNetwork/index.d.ts +1 -0
- package/src/lib/utils/hooks/useSwitchNetwork/useSwitchNetwork.cjs +26 -0
- package/src/lib/utils/hooks/useSwitchNetwork/useSwitchNetwork.d.ts +5 -0
- package/src/lib/utils/hooks/useSwitchNetwork/useSwitchNetwork.js +22 -0
- package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.cjs +7 -6
- package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.js +7 -6
- package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +118 -25
- package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +119 -26
- package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.cjs +20 -1
- package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.js +20 -1
- package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.cjs +4 -14
- package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.js +5 -15
- package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.cjs +3 -1
- package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.js +3 -1
- package/src/lib/views/WalletList/WalletList.cjs +1 -3
- package/src/lib/views/WalletList/WalletList.js +1 -3
- package/src/lib/views/WalletList/hooks/useTabState.cjs +6 -81
- package/src/lib/views/WalletList/hooks/useTabState.d.ts +6 -3
- package/src/lib/views/WalletList/hooks/useTabState.js +6 -81
- package/src/lib/widgets/DynamicMultiWalletPromptsWidget/DynamicMultiWalletPromptsWidget.cjs +5 -5
- package/src/lib/widgets/DynamicMultiWalletPromptsWidget/DynamicMultiWalletPromptsWidget.js +5 -5
- package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.cjs +4 -1
- package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.js +4 -1
- package/src/lib/widgets/DynamicWidget/prompts/PrimaryNotConnectedModal/PrimaryNotConnectedModal.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/prompts/PrimaryNotConnectedModal/PrimaryNotConnectedModal.js +1 -1
- package/src/lib/views/WalletList/utils/getInitialTabIndex/getInitialTabIndex.cjs +0 -22
- package/src/lib/views/WalletList/utils/getInitialTabIndex/getInitialTabIndex.d.ts +0 -2
- package/src/lib/views/WalletList/utils/getInitialTabIndex/getInitialTabIndex.js +0 -18
- package/src/lib/views/WalletList/utils/getInitialTabIndex/index.d.ts +0 -1
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
var _tslib = require('../../../../../_virtual/_tslib.cjs');
|
|
7
|
+
var React = require('react');
|
|
8
|
+
var useDynamicContext = require('../../../context/DynamicContext/useDynamicContext/useDynamicContext.cjs');
|
|
9
|
+
require('../../../context/DynamicContext/DynamicContext.cjs');
|
|
10
|
+
var ViewContext = require('../../../context/ViewContext/ViewContext.cjs');
|
|
11
|
+
|
|
12
|
+
const useSwitchNetwork = () => {
|
|
13
|
+
const { setShowAuthFlow } = useDynamicContext.useDynamicContext();
|
|
14
|
+
const { setView } = ViewContext.useViewContext();
|
|
15
|
+
const switchNetwork = React.useCallback((_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ wallet, network, }) {
|
|
16
|
+
if (wallet.connector.switchNetworkOnlyFromWallet) {
|
|
17
|
+
setShowAuthFlow(true);
|
|
18
|
+
setView('network-not-supported-manual');
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
yield wallet.connector.switchNetwork({ networkChainId: network });
|
|
22
|
+
}), [setShowAuthFlow, setView]);
|
|
23
|
+
return switchNetwork;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
exports.useSwitchNetwork = useSwitchNetwork;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
import { __awaiter } from '../../../../../_virtual/_tslib.js';
|
|
3
|
+
import { useCallback } from 'react';
|
|
4
|
+
import { useDynamicContext } from '../../../context/DynamicContext/useDynamicContext/useDynamicContext.js';
|
|
5
|
+
import '../../../context/DynamicContext/DynamicContext.js';
|
|
6
|
+
import { useViewContext } from '../../../context/ViewContext/ViewContext.js';
|
|
7
|
+
|
|
8
|
+
const useSwitchNetwork = () => {
|
|
9
|
+
const { setShowAuthFlow } = useDynamicContext();
|
|
10
|
+
const { setView } = useViewContext();
|
|
11
|
+
const switchNetwork = useCallback((_a) => __awaiter(void 0, [_a], void 0, function* ({ wallet, network, }) {
|
|
12
|
+
if (wallet.connector.switchNetworkOnlyFromWallet) {
|
|
13
|
+
setShowAuthFlow(true);
|
|
14
|
+
setView('network-not-supported-manual');
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
yield wallet.connector.switchNetwork({ networkChainId: network });
|
|
18
|
+
}), [setShowAuthFlow, setView]);
|
|
19
|
+
return switchNetwork;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export { useSwitchNetwork };
|
|
@@ -80,6 +80,7 @@ require('../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWi
|
|
|
80
80
|
require('../../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
|
|
81
81
|
require('../../../views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
|
|
82
82
|
require('../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
|
|
83
|
+
var logVerboseTroubleshootingMessage = require('../../functions/logVerboseTroubleshootingMessage/logVerboseTroubleshootingMessage.cjs');
|
|
83
84
|
|
|
84
85
|
const useWalletConnectors = ({ authMode, connectedWallets, walletConnectorOptions, multiWalletWidgetState, setDesktopUri, setMultiWalletWidgetState, setQrcodeUri, primaryWalletId, setPrimaryWalletId, user, canHaveMultipleWalletsConnected, }) => {
|
|
85
86
|
const [showQrcodeModal, setShowQrcodeModal] = React.useState(false);
|
|
@@ -93,6 +94,7 @@ const useWalletConnectors = ({ authMode, connectedWallets, walletConnectorOption
|
|
|
93
94
|
walletConnectorOptions,
|
|
94
95
|
});
|
|
95
96
|
}, [user, primaryWalletId, walletConnectorOptions]);
|
|
97
|
+
logVerboseTroubleshootingMessage.logVerboseTroubleshootingMessage('linkedWallets', linkedWallets);
|
|
96
98
|
const walletsBasedOnAuthMode = React.useMemo(() => {
|
|
97
99
|
// Before signing the first message we are using connected wallets list
|
|
98
100
|
// This is because we want the first connected wallet to have events applied by useWalletEventListeners
|
|
@@ -112,6 +114,7 @@ const useWalletConnectors = ({ authMode, connectedWallets, walletConnectorOption
|
|
|
112
114
|
}
|
|
113
115
|
return connectedWallets !== null && connectedWallets !== void 0 ? connectedWallets : [];
|
|
114
116
|
}, [authMode, connectedWallets, linkedWallets, user]);
|
|
117
|
+
logVerboseTroubleshootingMessage.logVerboseTroubleshootingMessage('walletsBasedOnAuthMode', walletsBasedOnAuthMode);
|
|
115
118
|
/**
|
|
116
119
|
* This useEffect is temporary.
|
|
117
120
|
* While the wallet connectors don't use the event emitter, we need to manually
|
|
@@ -124,16 +127,14 @@ const useWalletConnectors = ({ authMode, connectedWallets, walletConnectorOption
|
|
|
124
127
|
}), [walletsBasedOnAuthMode]);
|
|
125
128
|
const { connectedWalletsMap, didConnectedStateLoad } = useWalletsConnectionState.useWalletsConnectionState(walletsBasedOnAuthMode);
|
|
126
129
|
const wallets = React.useMemo(() => walletsBasedOnAuthMode.map((wallet) => (Object.assign(Object.assign({}, wallet), { connected: Boolean(connectedWalletsMap[getWalletIdentifier.getWalletIdentifier(wallet)]) }))), [connectedWalletsMap, walletsBasedOnAuthMode]);
|
|
130
|
+
logVerboseTroubleshootingMessage.logVerboseTroubleshootingMessage('wallets', wallets);
|
|
131
|
+
logVerboseTroubleshootingMessage.logVerboseTroubleshootingMessage('didConnectedStateLoad', didConnectedStateLoad);
|
|
127
132
|
const { setUserWallets } = UserWalletsContext.useInternalUserWallets();
|
|
128
133
|
// Keep userWallets in sync whenever linkedWallets changes
|
|
129
134
|
React.useEffect(() => {
|
|
130
|
-
|
|
131
|
-
// but that doesn't matter if the wallets list is empty, and if we return early when
|
|
132
|
-
// the wallets list is empty, we'll never set the user wallets correctly after logout
|
|
133
|
-
if (!didConnectedStateLoad.current && wallets.length)
|
|
134
|
-
return;
|
|
135
|
+
logVerboseTroubleshootingMessage.logVerboseTroubleshootingMessage('[useWalletConnectors] will call setUserWallets', wallets);
|
|
135
136
|
setUserWallets((userWallets) => updateUserWalletsFromLinkedWallets.updateUserWalletsFromLinkedWallets(userWallets, wallets));
|
|
136
|
-
}, [
|
|
137
|
+
}, [setUserWallets, wallets]);
|
|
137
138
|
const primaryWallet = React.useMemo(() => { var _a; return (_a = wallets.find((wallet) => wallet.id === primaryWalletId)) !== null && _a !== void 0 ? _a : null; }, [primaryWalletId, wallets]);
|
|
138
139
|
const secondaryWallets = React.useMemo(() => canHaveMultipleWalletsConnected
|
|
139
140
|
? wallets.filter((wallet) => wallet.id !== primaryWalletId)
|
|
@@ -76,6 +76,7 @@ import '../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWid
|
|
|
76
76
|
import '../../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
|
|
77
77
|
import '../../../views/TransactionConfirmationView/helpers/transactionErrorMessage.js';
|
|
78
78
|
import '../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
|
|
79
|
+
import { logVerboseTroubleshootingMessage } from '../../functions/logVerboseTroubleshootingMessage/logVerboseTroubleshootingMessage.js';
|
|
79
80
|
|
|
80
81
|
const useWalletConnectors = ({ authMode, connectedWallets, walletConnectorOptions, multiWalletWidgetState, setDesktopUri, setMultiWalletWidgetState, setQrcodeUri, primaryWalletId, setPrimaryWalletId, user, canHaveMultipleWalletsConnected, }) => {
|
|
81
82
|
const [showQrcodeModal, setShowQrcodeModal] = useState(false);
|
|
@@ -89,6 +90,7 @@ const useWalletConnectors = ({ authMode, connectedWallets, walletConnectorOption
|
|
|
89
90
|
walletConnectorOptions,
|
|
90
91
|
});
|
|
91
92
|
}, [user, primaryWalletId, walletConnectorOptions]);
|
|
93
|
+
logVerboseTroubleshootingMessage('linkedWallets', linkedWallets);
|
|
92
94
|
const walletsBasedOnAuthMode = useMemo(() => {
|
|
93
95
|
// Before signing the first message we are using connected wallets list
|
|
94
96
|
// This is because we want the first connected wallet to have events applied by useWalletEventListeners
|
|
@@ -108,6 +110,7 @@ const useWalletConnectors = ({ authMode, connectedWallets, walletConnectorOption
|
|
|
108
110
|
}
|
|
109
111
|
return connectedWallets !== null && connectedWallets !== void 0 ? connectedWallets : [];
|
|
110
112
|
}, [authMode, connectedWallets, linkedWallets, user]);
|
|
113
|
+
logVerboseTroubleshootingMessage('walletsBasedOnAuthMode', walletsBasedOnAuthMode);
|
|
111
114
|
/**
|
|
112
115
|
* This useEffect is temporary.
|
|
113
116
|
* While the wallet connectors don't use the event emitter, we need to manually
|
|
@@ -120,16 +123,14 @@ const useWalletConnectors = ({ authMode, connectedWallets, walletConnectorOption
|
|
|
120
123
|
}), [walletsBasedOnAuthMode]);
|
|
121
124
|
const { connectedWalletsMap, didConnectedStateLoad } = useWalletsConnectionState(walletsBasedOnAuthMode);
|
|
122
125
|
const wallets = useMemo(() => walletsBasedOnAuthMode.map((wallet) => (Object.assign(Object.assign({}, wallet), { connected: Boolean(connectedWalletsMap[getWalletIdentifier(wallet)]) }))), [connectedWalletsMap, walletsBasedOnAuthMode]);
|
|
126
|
+
logVerboseTroubleshootingMessage('wallets', wallets);
|
|
127
|
+
logVerboseTroubleshootingMessage('didConnectedStateLoad', didConnectedStateLoad);
|
|
123
128
|
const { setUserWallets } = useInternalUserWallets();
|
|
124
129
|
// Keep userWallets in sync whenever linkedWallets changes
|
|
125
130
|
useEffect(() => {
|
|
126
|
-
|
|
127
|
-
// but that doesn't matter if the wallets list is empty, and if we return early when
|
|
128
|
-
// the wallets list is empty, we'll never set the user wallets correctly after logout
|
|
129
|
-
if (!didConnectedStateLoad.current && wallets.length)
|
|
130
|
-
return;
|
|
131
|
+
logVerboseTroubleshootingMessage('[useWalletConnectors] will call setUserWallets', wallets);
|
|
131
132
|
setUserWallets((userWallets) => updateUserWalletsFromLinkedWallets(userWallets, wallets));
|
|
132
|
-
}, [
|
|
133
|
+
}, [setUserWallets, wallets]);
|
|
133
134
|
const primaryWallet = useMemo(() => { var _a; return (_a = wallets.find((wallet) => wallet.id === primaryWalletId)) !== null && _a !== void 0 ? _a : null; }, [primaryWalletId, wallets]);
|
|
134
135
|
const secondaryWallets = useMemo(() => canHaveMultipleWalletsConnected
|
|
135
136
|
? wallets.filter((wallet) => wallet.id !== primaryWalletId)
|
|
@@ -18,8 +18,66 @@ require('../../../shared/utils/classes/storage/localStorage.cjs');
|
|
|
18
18
|
require('../../../shared/utils/classes/storage/sessionStorage.cjs');
|
|
19
19
|
require('@dynamic-labs/utils');
|
|
20
20
|
require('../../../shared/consts/index.cjs');
|
|
21
|
-
require('
|
|
21
|
+
var useDynamicEvents = require('../events/useDynamicEvents/useDynamicEvents.cjs');
|
|
22
22
|
var useWalletConnectorEvent = require('../events/useWalletConnectorEvent/useWalletConnectorEvent.cjs');
|
|
23
|
+
require('@dynamic-labs/multi-wallet');
|
|
24
|
+
require('react-international-phone');
|
|
25
|
+
require('../../../config/ApiEndpoint.cjs');
|
|
26
|
+
require('@dynamic-labs/store');
|
|
27
|
+
require('../../../locale/locale.cjs');
|
|
28
|
+
require('../../../context/DynamicContext/DynamicContext.cjs');
|
|
29
|
+
require('../../../context/CaptchaContext/CaptchaContext.cjs');
|
|
30
|
+
require('../../../context/ErrorContext/ErrorContext.cjs');
|
|
31
|
+
require('../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
|
|
32
|
+
require('../../../context/AccountExistsContext/AccountExistsContext.cjs');
|
|
33
|
+
require('../../../context/UserWalletsContext/UserWalletsContext.cjs');
|
|
34
|
+
var dynamicEvents = require('../../../events/dynamicEvents.cjs');
|
|
35
|
+
require('../../../context/VerificationContext/VerificationContext.cjs');
|
|
36
|
+
require('react-dom');
|
|
37
|
+
require('../../../context/WalletContext/WalletContext.cjs');
|
|
38
|
+
require('../../../context/ThemeContext/ThemeContext.cjs');
|
|
39
|
+
require('../useUserUpdateRequest/useUpdateUser/userFieldsSchema.cjs');
|
|
40
|
+
require('@dynamic-labs/types');
|
|
41
|
+
require('../../../context/LoadingContext/LoadingContext.cjs');
|
|
42
|
+
require('yup');
|
|
43
|
+
require('../../../context/MockContext/MockContext.cjs');
|
|
44
|
+
require('../../../views/CollectUserDataView/useFields.cjs');
|
|
45
|
+
require('../../../context/FieldsStateContext/FieldsStateContext.cjs');
|
|
46
|
+
require('../../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
|
|
47
|
+
require('@dynamic-labs/rpc-providers');
|
|
48
|
+
require('react-i18next');
|
|
49
|
+
require('../../../components/Accordion/components/AccordionItem/AccordionItem.cjs');
|
|
50
|
+
require('../../../components/Alert/Alert.cjs');
|
|
51
|
+
require('../../../components/ShadowDOM/ShadowDOM.cjs');
|
|
52
|
+
require('../../../components/IconButton/IconButton.cjs');
|
|
53
|
+
require('../../../components/InlineWidget/InlineWidget.cjs');
|
|
54
|
+
require('../../../components/Input/Input.cjs');
|
|
55
|
+
require('../../../components/IsBrowser/IsBrowser.cjs');
|
|
56
|
+
require('../../../components/MenuList/Dropdown/Dropdown.cjs');
|
|
57
|
+
require('../../../components/Transition/ZoomTransition/ZoomTransition.cjs');
|
|
58
|
+
require('../../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
|
|
59
|
+
require('../../../components/Transition/OpacityTransition/OpacityTransition.cjs');
|
|
60
|
+
require('../../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.cjs');
|
|
61
|
+
require('../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.cjs');
|
|
62
|
+
require('../../../components/Popper/Popper/Popper.cjs');
|
|
63
|
+
require('../../../components/Popper/PopperContext/PopperContext.cjs');
|
|
64
|
+
require('react-focus-lock');
|
|
65
|
+
require('qrcode');
|
|
66
|
+
require('formik');
|
|
67
|
+
require('../../../views/WalletList/WalletList.cjs');
|
|
68
|
+
require('../../../context/SocialRedirectContext/SocialRedirectContext.cjs');
|
|
69
|
+
require('../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
|
|
70
|
+
require('@hcaptcha/react-hcaptcha');
|
|
71
|
+
require('../../../context/FooterAnimationContext/index.cjs');
|
|
72
|
+
require('../../../context/WalletGroupContext/WalletGroupContext.cjs');
|
|
73
|
+
require('../../../context/MfaSettingsContext/MfaSettingsContext.cjs');
|
|
74
|
+
require('../../../context/IpConfigurationContext/IpConfigurationContext.cjs');
|
|
75
|
+
require('../../../context/PasskeyContext/PasskeyContext.cjs');
|
|
76
|
+
require('../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
|
|
77
|
+
require('../../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
|
|
78
|
+
require('../../../views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
|
|
79
|
+
require('../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
|
|
80
|
+
var logVerboseTroubleshootingMessage = require('../../functions/logVerboseTroubleshootingMessage/logVerboseTroubleshootingMessage.cjs');
|
|
23
81
|
|
|
24
82
|
const useWalletEventListeners = ({ disconnectWallet, handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnectorKey, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, authMode, refreshConnectedWallet, }) => {
|
|
25
83
|
useWalletConnectorEvent.useWalletConnectorEvent(primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector, 'disconnect', () => {
|
|
@@ -33,9 +91,46 @@ const useWalletEventListeners = ({ disconnectWallet, handleLogOut, multiWallet,
|
|
|
33
91
|
}
|
|
34
92
|
refreshConnectedWallet(primaryWallet.id, primaryWallet.connector);
|
|
35
93
|
});
|
|
36
|
-
|
|
37
|
-
logger.logger.debug('
|
|
94
|
+
const handleAccountChangeWhenAwaitingAccountSwitch = React.useCallback((isPrimaryWallet, newAddress) => {
|
|
95
|
+
logger.logger.debug('handleAccountChangeWhenAwaitingAccountSwitch', {
|
|
96
|
+
isPrimaryWallet,
|
|
97
|
+
newAddress,
|
|
98
|
+
});
|
|
99
|
+
const linkedSecondaryWallet = secondaryWallets.find((wallet) => walletConnectorCore.isSameAddress(wallet.address, newAddress, wallet.chain));
|
|
100
|
+
logVerboseTroubleshootingMessage.logVerboseTroubleshootingMessage('[handleAccountChangeWhenAwaitingAccountSwitch]', { linkedSecondaryWallet });
|
|
101
|
+
// this means the user is linking a new account, so we need proof of ownership...
|
|
102
|
+
if (!linkedSecondaryWallet) {
|
|
103
|
+
setMultiWalletWidgetState('awaiting_signature', undefined, 'linking_new_wallet');
|
|
104
|
+
if (isPrimaryWallet && primaryWallet) {
|
|
105
|
+
setSelectedWalletConnectorKey(primaryWallet.connector.key);
|
|
106
|
+
}
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
const isTryingToUpdateUnkownWallet = linkedSecondaryWallet.connector.key === 'unknown';
|
|
110
|
+
if (isTryingToUpdateUnkownWallet) {
|
|
111
|
+
//prompt the user to connect and sign with the wallet
|
|
112
|
+
dynamicEvents.dynamicEvents.emit('triggerConnectAndSign');
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
// ...otherwise, the user is switching primary accounts betweeen the same wallet
|
|
116
|
+
setSelectedWalletWithAction(null);
|
|
117
|
+
setPrimaryWalletId(linkedSecondaryWallet.id);
|
|
118
|
+
setMultiWalletWidgetState('idle');
|
|
119
|
+
}, [
|
|
120
|
+
setMultiWalletWidgetState,
|
|
121
|
+
primaryWallet,
|
|
122
|
+
secondaryWallets,
|
|
123
|
+
setSelectedWalletConnectorKey,
|
|
124
|
+
setSelectedWalletWithAction,
|
|
125
|
+
setPrimaryWalletId,
|
|
126
|
+
]);
|
|
127
|
+
const calculatePrimaryWalletMultiWalletStateFromAccounts = React.useCallback(({ accounts }) => {
|
|
128
|
+
logger.logger.debug('calculatePrimaryWalletMultiWalletStateFromAccounts', {
|
|
38
129
|
accounts,
|
|
130
|
+
authMode,
|
|
131
|
+
multiWallet,
|
|
132
|
+
multiWalletWidgetState,
|
|
133
|
+
primaryWallet,
|
|
39
134
|
});
|
|
40
135
|
// change the api here
|
|
41
136
|
if (!primaryWallet)
|
|
@@ -75,6 +170,26 @@ const useWalletEventListeners = ({ disconnectWallet, handleLogOut, multiWallet,
|
|
|
75
170
|
logger.logger.error(`Unexpected multiWalletWidgetState (${multiWalletWidgetState}) and onAccountChange combination. Resetting state to idle.`);
|
|
76
171
|
setMultiWalletWidgetState('idle');
|
|
77
172
|
}
|
|
173
|
+
}, [
|
|
174
|
+
authMode,
|
|
175
|
+
handleAccountChangeWhenAwaitingAccountSwitch,
|
|
176
|
+
multiWallet,
|
|
177
|
+
multiWalletWidgetState,
|
|
178
|
+
primaryWallet,
|
|
179
|
+
refreshConnectedWallet,
|
|
180
|
+
secondaryWallets,
|
|
181
|
+
setMultiWalletWidgetState,
|
|
182
|
+
setPrimaryWalletId,
|
|
183
|
+
setSelectedWalletConnectorKey,
|
|
184
|
+
setSelectedWalletWithAction,
|
|
185
|
+
user,
|
|
186
|
+
]);
|
|
187
|
+
useDynamicEvents.useInternalDynamicEvents('triggerComputePrimaryWalletMultiWalletStateFromAccounts', calculatePrimaryWalletMultiWalletStateFromAccounts);
|
|
188
|
+
useWalletConnectorEvent.useWalletConnectorEvent(primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector, 'accountChange', ({ accounts }) => {
|
|
189
|
+
logger.logger.debug('primary wallet account change', {
|
|
190
|
+
accounts,
|
|
191
|
+
});
|
|
192
|
+
calculatePrimaryWalletMultiWalletStateFromAccounts({ accounts });
|
|
78
193
|
});
|
|
79
194
|
const uniqueNonPrimaryWallets = React.useMemo(() => {
|
|
80
195
|
const primaryConnector = primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector;
|
|
@@ -118,28 +233,6 @@ const useWalletEventListeners = ({ disconnectWallet, handleLogOut, multiWallet,
|
|
|
118
233
|
}
|
|
119
234
|
}
|
|
120
235
|
});
|
|
121
|
-
const handleAccountChangeWhenAwaitingAccountSwitch = React.useCallback((isPrimaryWallet, newAddress) => {
|
|
122
|
-
const linkedSecondaryWallet = secondaryWallets.find((wallet) => walletConnectorCore.isSameAddress(wallet.address, newAddress, wallet.chain));
|
|
123
|
-
// this means the user is linking a new account, so we need proof of ownership...
|
|
124
|
-
if (!linkedSecondaryWallet) {
|
|
125
|
-
setMultiWalletWidgetState('awaiting_signature', undefined, 'linking_new_wallet');
|
|
126
|
-
if (isPrimaryWallet && primaryWallet) {
|
|
127
|
-
setSelectedWalletConnectorKey(primaryWallet.connector.key);
|
|
128
|
-
}
|
|
129
|
-
return;
|
|
130
|
-
}
|
|
131
|
-
// ...otherwise, the user is switching primary accounts betweeen the same wallet
|
|
132
|
-
setSelectedWalletWithAction(null);
|
|
133
|
-
setPrimaryWalletId(linkedSecondaryWallet.id);
|
|
134
|
-
setMultiWalletWidgetState('idle');
|
|
135
|
-
}, [
|
|
136
|
-
setMultiWalletWidgetState,
|
|
137
|
-
primaryWallet,
|
|
138
|
-
secondaryWallets,
|
|
139
|
-
setSelectedWalletConnectorKey,
|
|
140
|
-
setSelectedWalletWithAction,
|
|
141
|
-
setPrimaryWalletId,
|
|
142
|
-
]);
|
|
143
236
|
};
|
|
144
237
|
|
|
145
238
|
exports.useWalletEventListeners = useWalletEventListeners;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { __awaiter } from '../../../../../_virtual/_tslib.js';
|
|
3
|
-
import {
|
|
3
|
+
import { useCallback, useMemo } from 'react';
|
|
4
4
|
import { isSameAddress } from '@dynamic-labs/wallet-connector-core';
|
|
5
5
|
import '@dynamic-labs/sdk-api-core';
|
|
6
6
|
import { logger } from '../../../shared/logger.js';
|
|
@@ -14,8 +14,66 @@ import '../../../shared/utils/classes/storage/localStorage.js';
|
|
|
14
14
|
import '../../../shared/utils/classes/storage/sessionStorage.js';
|
|
15
15
|
import '@dynamic-labs/utils';
|
|
16
16
|
import '../../../shared/consts/index.js';
|
|
17
|
-
import '
|
|
17
|
+
import { useInternalDynamicEvents } from '../events/useDynamicEvents/useDynamicEvents.js';
|
|
18
18
|
import { useWalletConnectorEvent } from '../events/useWalletConnectorEvent/useWalletConnectorEvent.js';
|
|
19
|
+
import '@dynamic-labs/multi-wallet';
|
|
20
|
+
import 'react-international-phone';
|
|
21
|
+
import '../../../config/ApiEndpoint.js';
|
|
22
|
+
import '@dynamic-labs/store';
|
|
23
|
+
import '../../../locale/locale.js';
|
|
24
|
+
import '../../../context/DynamicContext/DynamicContext.js';
|
|
25
|
+
import '../../../context/CaptchaContext/CaptchaContext.js';
|
|
26
|
+
import '../../../context/ErrorContext/ErrorContext.js';
|
|
27
|
+
import '../../../context/AccessDeniedContext/AccessDeniedContext.js';
|
|
28
|
+
import '../../../context/AccountExistsContext/AccountExistsContext.js';
|
|
29
|
+
import '../../../context/UserWalletsContext/UserWalletsContext.js';
|
|
30
|
+
import { dynamicEvents } from '../../../events/dynamicEvents.js';
|
|
31
|
+
import '../../../context/VerificationContext/VerificationContext.js';
|
|
32
|
+
import 'react-dom';
|
|
33
|
+
import '../../../context/WalletContext/WalletContext.js';
|
|
34
|
+
import '../../../context/ThemeContext/ThemeContext.js';
|
|
35
|
+
import '../useUserUpdateRequest/useUpdateUser/userFieldsSchema.js';
|
|
36
|
+
import '@dynamic-labs/types';
|
|
37
|
+
import '../../../context/LoadingContext/LoadingContext.js';
|
|
38
|
+
import 'yup';
|
|
39
|
+
import '../../../context/MockContext/MockContext.js';
|
|
40
|
+
import '../../../views/CollectUserDataView/useFields.js';
|
|
41
|
+
import '../../../context/FieldsStateContext/FieldsStateContext.js';
|
|
42
|
+
import '../../../context/UserFieldEditorContext/UserFieldEditorContext.js';
|
|
43
|
+
import '@dynamic-labs/rpc-providers';
|
|
44
|
+
import 'react-i18next';
|
|
45
|
+
import '../../../components/Accordion/components/AccordionItem/AccordionItem.js';
|
|
46
|
+
import '../../../components/Alert/Alert.js';
|
|
47
|
+
import '../../../components/ShadowDOM/ShadowDOM.js';
|
|
48
|
+
import '../../../components/IconButton/IconButton.js';
|
|
49
|
+
import '../../../components/InlineWidget/InlineWidget.js';
|
|
50
|
+
import '../../../components/Input/Input.js';
|
|
51
|
+
import '../../../components/IsBrowser/IsBrowser.js';
|
|
52
|
+
import '../../../components/MenuList/Dropdown/Dropdown.js';
|
|
53
|
+
import '../../../components/Transition/ZoomTransition/ZoomTransition.js';
|
|
54
|
+
import '../../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
|
|
55
|
+
import '../../../components/Transition/OpacityTransition/OpacityTransition.js';
|
|
56
|
+
import '../../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.js';
|
|
57
|
+
import '../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.js';
|
|
58
|
+
import '../../../components/Popper/Popper/Popper.js';
|
|
59
|
+
import '../../../components/Popper/PopperContext/PopperContext.js';
|
|
60
|
+
import 'react-focus-lock';
|
|
61
|
+
import 'qrcode';
|
|
62
|
+
import 'formik';
|
|
63
|
+
import '../../../views/WalletList/WalletList.js';
|
|
64
|
+
import '../../../context/SocialRedirectContext/SocialRedirectContext.js';
|
|
65
|
+
import '../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
|
|
66
|
+
import '@hcaptcha/react-hcaptcha';
|
|
67
|
+
import '../../../context/FooterAnimationContext/index.js';
|
|
68
|
+
import '../../../context/WalletGroupContext/WalletGroupContext.js';
|
|
69
|
+
import '../../../context/MfaSettingsContext/MfaSettingsContext.js';
|
|
70
|
+
import '../../../context/IpConfigurationContext/IpConfigurationContext.js';
|
|
71
|
+
import '../../../context/PasskeyContext/PasskeyContext.js';
|
|
72
|
+
import '../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
|
|
73
|
+
import '../../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
|
|
74
|
+
import '../../../views/TransactionConfirmationView/helpers/transactionErrorMessage.js';
|
|
75
|
+
import '../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
|
|
76
|
+
import { logVerboseTroubleshootingMessage } from '../../functions/logVerboseTroubleshootingMessage/logVerboseTroubleshootingMessage.js';
|
|
19
77
|
|
|
20
78
|
const useWalletEventListeners = ({ disconnectWallet, handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnectorKey, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, authMode, refreshConnectedWallet, }) => {
|
|
21
79
|
useWalletConnectorEvent(primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector, 'disconnect', () => {
|
|
@@ -29,9 +87,46 @@ const useWalletEventListeners = ({ disconnectWallet, handleLogOut, multiWallet,
|
|
|
29
87
|
}
|
|
30
88
|
refreshConnectedWallet(primaryWallet.id, primaryWallet.connector);
|
|
31
89
|
});
|
|
32
|
-
|
|
33
|
-
logger.debug('
|
|
90
|
+
const handleAccountChangeWhenAwaitingAccountSwitch = useCallback((isPrimaryWallet, newAddress) => {
|
|
91
|
+
logger.debug('handleAccountChangeWhenAwaitingAccountSwitch', {
|
|
92
|
+
isPrimaryWallet,
|
|
93
|
+
newAddress,
|
|
94
|
+
});
|
|
95
|
+
const linkedSecondaryWallet = secondaryWallets.find((wallet) => isSameAddress(wallet.address, newAddress, wallet.chain));
|
|
96
|
+
logVerboseTroubleshootingMessage('[handleAccountChangeWhenAwaitingAccountSwitch]', { linkedSecondaryWallet });
|
|
97
|
+
// this means the user is linking a new account, so we need proof of ownership...
|
|
98
|
+
if (!linkedSecondaryWallet) {
|
|
99
|
+
setMultiWalletWidgetState('awaiting_signature', undefined, 'linking_new_wallet');
|
|
100
|
+
if (isPrimaryWallet && primaryWallet) {
|
|
101
|
+
setSelectedWalletConnectorKey(primaryWallet.connector.key);
|
|
102
|
+
}
|
|
103
|
+
return;
|
|
104
|
+
}
|
|
105
|
+
const isTryingToUpdateUnkownWallet = linkedSecondaryWallet.connector.key === 'unknown';
|
|
106
|
+
if (isTryingToUpdateUnkownWallet) {
|
|
107
|
+
//prompt the user to connect and sign with the wallet
|
|
108
|
+
dynamicEvents.emit('triggerConnectAndSign');
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
// ...otherwise, the user is switching primary accounts betweeen the same wallet
|
|
112
|
+
setSelectedWalletWithAction(null);
|
|
113
|
+
setPrimaryWalletId(linkedSecondaryWallet.id);
|
|
114
|
+
setMultiWalletWidgetState('idle');
|
|
115
|
+
}, [
|
|
116
|
+
setMultiWalletWidgetState,
|
|
117
|
+
primaryWallet,
|
|
118
|
+
secondaryWallets,
|
|
119
|
+
setSelectedWalletConnectorKey,
|
|
120
|
+
setSelectedWalletWithAction,
|
|
121
|
+
setPrimaryWalletId,
|
|
122
|
+
]);
|
|
123
|
+
const calculatePrimaryWalletMultiWalletStateFromAccounts = useCallback(({ accounts }) => {
|
|
124
|
+
logger.debug('calculatePrimaryWalletMultiWalletStateFromAccounts', {
|
|
34
125
|
accounts,
|
|
126
|
+
authMode,
|
|
127
|
+
multiWallet,
|
|
128
|
+
multiWalletWidgetState,
|
|
129
|
+
primaryWallet,
|
|
35
130
|
});
|
|
36
131
|
// change the api here
|
|
37
132
|
if (!primaryWallet)
|
|
@@ -71,6 +166,26 @@ const useWalletEventListeners = ({ disconnectWallet, handleLogOut, multiWallet,
|
|
|
71
166
|
logger.error(`Unexpected multiWalletWidgetState (${multiWalletWidgetState}) and onAccountChange combination. Resetting state to idle.`);
|
|
72
167
|
setMultiWalletWidgetState('idle');
|
|
73
168
|
}
|
|
169
|
+
}, [
|
|
170
|
+
authMode,
|
|
171
|
+
handleAccountChangeWhenAwaitingAccountSwitch,
|
|
172
|
+
multiWallet,
|
|
173
|
+
multiWalletWidgetState,
|
|
174
|
+
primaryWallet,
|
|
175
|
+
refreshConnectedWallet,
|
|
176
|
+
secondaryWallets,
|
|
177
|
+
setMultiWalletWidgetState,
|
|
178
|
+
setPrimaryWalletId,
|
|
179
|
+
setSelectedWalletConnectorKey,
|
|
180
|
+
setSelectedWalletWithAction,
|
|
181
|
+
user,
|
|
182
|
+
]);
|
|
183
|
+
useInternalDynamicEvents('triggerComputePrimaryWalletMultiWalletStateFromAccounts', calculatePrimaryWalletMultiWalletStateFromAccounts);
|
|
184
|
+
useWalletConnectorEvent(primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector, 'accountChange', ({ accounts }) => {
|
|
185
|
+
logger.debug('primary wallet account change', {
|
|
186
|
+
accounts,
|
|
187
|
+
});
|
|
188
|
+
calculatePrimaryWalletMultiWalletStateFromAccounts({ accounts });
|
|
74
189
|
});
|
|
75
190
|
const uniqueNonPrimaryWallets = useMemo(() => {
|
|
76
191
|
const primaryConnector = primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector;
|
|
@@ -114,28 +229,6 @@ const useWalletEventListeners = ({ disconnectWallet, handleLogOut, multiWallet,
|
|
|
114
229
|
}
|
|
115
230
|
}
|
|
116
231
|
});
|
|
117
|
-
const handleAccountChangeWhenAwaitingAccountSwitch = useCallback((isPrimaryWallet, newAddress) => {
|
|
118
|
-
const linkedSecondaryWallet = secondaryWallets.find((wallet) => isSameAddress(wallet.address, newAddress, wallet.chain));
|
|
119
|
-
// this means the user is linking a new account, so we need proof of ownership...
|
|
120
|
-
if (!linkedSecondaryWallet) {
|
|
121
|
-
setMultiWalletWidgetState('awaiting_signature', undefined, 'linking_new_wallet');
|
|
122
|
-
if (isPrimaryWallet && primaryWallet) {
|
|
123
|
-
setSelectedWalletConnectorKey(primaryWallet.connector.key);
|
|
124
|
-
}
|
|
125
|
-
return;
|
|
126
|
-
}
|
|
127
|
-
// ...otherwise, the user is switching primary accounts betweeen the same wallet
|
|
128
|
-
setSelectedWalletWithAction(null);
|
|
129
|
-
setPrimaryWalletId(linkedSecondaryWallet.id);
|
|
130
|
-
setMultiWalletWidgetState('idle');
|
|
131
|
-
}, [
|
|
132
|
-
setMultiWalletWidgetState,
|
|
133
|
-
primaryWallet,
|
|
134
|
-
secondaryWallets,
|
|
135
|
-
setSelectedWalletConnectorKey,
|
|
136
|
-
setSelectedWalletWithAction,
|
|
137
|
-
setPrimaryWalletId,
|
|
138
|
-
]);
|
|
139
232
|
};
|
|
140
233
|
|
|
141
234
|
export { useWalletEventListeners };
|
|
@@ -9,7 +9,7 @@ var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
|
9
9
|
require('react');
|
|
10
10
|
require('../../../context/DynamicContext/DynamicContext.cjs');
|
|
11
11
|
require('@dynamic-labs/sdk-api-core');
|
|
12
|
-
require('../../../shared/logger.cjs');
|
|
12
|
+
var logger = require('../../../shared/logger.cjs');
|
|
13
13
|
require('@dynamic-labs/iconic');
|
|
14
14
|
require('react/jsx-runtime');
|
|
15
15
|
var ViewContext = require('../../../context/ViewContext/ViewContext.cjs');
|
|
@@ -31,6 +31,7 @@ require('@dynamic-labs/multi-wallet');
|
|
|
31
31
|
require('react-international-phone');
|
|
32
32
|
var requiresTwoStepAuthentication = require('../../functions/requiresTwoStepAuthentication/requiresTwoStepAuthentication.cjs');
|
|
33
33
|
require('@dynamic-labs/store');
|
|
34
|
+
var logVerboseTroubleshootingMessage = require('../../functions/logVerboseTroubleshootingMessage/logVerboseTroubleshootingMessage.cjs');
|
|
34
35
|
require('../../../locale/locale.cjs');
|
|
35
36
|
require('../../../context/CaptchaContext/CaptchaContext.cjs');
|
|
36
37
|
var useConnectAndSignSplitSteps = require('../authenticationHooks/useConnectAndSignSplitSteps/useConnectAndSignSplitSteps.cjs');
|
|
@@ -90,7 +91,11 @@ const useWalletItemActions = () => {
|
|
|
90
91
|
const { onlyConnectUser } = useConnectAndSignSplitSteps.useConnectAndSignSplitSteps();
|
|
91
92
|
const connectAndSignWallet = useConnectAndSign.useConnectAndSign();
|
|
92
93
|
const handleCustodialWalletClick = (walletConnector) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
94
|
+
logger.logger.debug('handleCustodialWalletClick', walletConnector);
|
|
93
95
|
const twoStepAuthentication = requiresTwoStepAuthentication.requiresTwoStepAuthentication(walletConnector);
|
|
96
|
+
logVerboseTroubleshootingMessage.logVerboseTroubleshootingMessage('[handleCustodialWalletClick]', {
|
|
97
|
+
twoStepAuthentication,
|
|
98
|
+
});
|
|
94
99
|
if (twoStepAuthentication) {
|
|
95
100
|
setSelectedWalletConnectorKey(walletConnector.key);
|
|
96
101
|
yield onlyConnectUser({
|
|
@@ -105,6 +110,7 @@ const useWalletItemActions = () => {
|
|
|
105
110
|
});
|
|
106
111
|
const handleMobileWalletClick = (walletConnector) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
107
112
|
var _a;
|
|
113
|
+
logger.logger.debug('handleMobileWalletClick', walletConnector);
|
|
108
114
|
setSelectedWalletConnectorKey(walletConnector.key);
|
|
109
115
|
// We need to set to LS when about to verify phantom wallet on mobile
|
|
110
116
|
// because the deeplink interrupts this code execution and then redirects back on a new tab.
|
|
@@ -124,10 +130,12 @@ const useWalletItemActions = () => {
|
|
|
124
130
|
onlyConnectUser({ walletConnector });
|
|
125
131
|
});
|
|
126
132
|
const handleInstalledExtensionClick = (walletConnector) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
133
|
+
logger.logger.debug('handleInstalledExtensionClick', walletConnector);
|
|
127
134
|
setSelectedWalletConnectorKey(walletConnector.key);
|
|
128
135
|
setMultiWalletWidgetState('awaiting_signature', undefined, 'linking_new_wallet');
|
|
129
136
|
});
|
|
130
137
|
const handleUninstalledClick = (walletConnector) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
138
|
+
logger.logger.debug('handleUninstalledClick', walletConnector);
|
|
131
139
|
setSelectedWalletConnectorKey(walletConnector.key);
|
|
132
140
|
if (!walletConnector.canConnectViaQrCode) {
|
|
133
141
|
setView('no-qr-not-installed');
|
|
@@ -149,8 +157,14 @@ const useWalletItemActions = () => {
|
|
|
149
157
|
setError(undefined);
|
|
150
158
|
});
|
|
151
159
|
const handleAlreadyConnectedWallet = (walletConnector) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
160
|
+
logger.logger.debug('handleAlreadyConnectedWallet', walletConnector);
|
|
152
161
|
const connectedAccounts = yield walletConnector.getConnectedAccounts();
|
|
153
162
|
const activeAccountAlreadyLinked = linkedWallets.find((wallet) => { var _a; return wallet.address.toLowerCase() === ((_a = connectedAccounts[0]) === null || _a === void 0 ? void 0 : _a.toLowerCase()); });
|
|
163
|
+
logVerboseTroubleshootingMessage.logVerboseTroubleshootingMessage('[handleAlreadyConnectedWallet]', {
|
|
164
|
+
activeAccountAlreadyLinked,
|
|
165
|
+
connectedAccounts,
|
|
166
|
+
linkedWallets,
|
|
167
|
+
});
|
|
154
168
|
if (activeAccountAlreadyLinked) {
|
|
155
169
|
setMultiWalletWidgetState('awaiting_account_switch', 'linking_new_wallet');
|
|
156
170
|
}
|
|
@@ -180,6 +194,11 @@ const useWalletItemActions = () => {
|
|
|
180
194
|
const { walletConnector, isInstalledOnBrowser } = wallet;
|
|
181
195
|
const shouldEndWalletConnectorSession = walletConnector.connectedChain === 'FLOW' ||
|
|
182
196
|
walletConnectorCore.isPhantomRedirectConnector(walletConnector);
|
|
197
|
+
logVerboseTroubleshootingMessage.logVerboseTroubleshootingMessage('[handleWalletItemClick]', {
|
|
198
|
+
mockedSDK,
|
|
199
|
+
shouldEndWalletConnectorSession,
|
|
200
|
+
wallet,
|
|
201
|
+
});
|
|
183
202
|
if (mockedSDK)
|
|
184
203
|
return;
|
|
185
204
|
if (shouldEndWalletConnectorSession) {
|