@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 @@
|
|
|
1
|
+
export * from './logVerboseTroubleshootingMessage';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
require('@dynamic-labs/sdk-api-core');
|
|
7
|
+
var logger = require('../../../shared/logger.cjs');
|
|
8
|
+
require('@dynamic-labs/iconic');
|
|
9
|
+
require('@dynamic-labs/wallet-connector-core');
|
|
10
|
+
require('react/jsx-runtime');
|
|
11
|
+
require('../../../context/ViewContext/ViewContext.cjs');
|
|
12
|
+
require('react');
|
|
13
|
+
require('@dynamic-labs/wallet-book');
|
|
14
|
+
require('../../constants/colors.cjs');
|
|
15
|
+
require('../../constants/values.cjs');
|
|
16
|
+
require('../../../shared/utils/classes/storage/localStorage.cjs');
|
|
17
|
+
require('../../../shared/utils/classes/storage/sessionStorage.cjs');
|
|
18
|
+
require('@dynamic-labs/utils');
|
|
19
|
+
require('../../../shared/consts/index.cjs');
|
|
20
|
+
|
|
21
|
+
// use this in conjuction with dynamic_enableTroubleshootMode to see
|
|
22
|
+
// more verbose logging to help troubleshoot issues
|
|
23
|
+
// i.e: window.dynamic_enableTroubleshootMode = true
|
|
24
|
+
const logVerboseTroubleshootingMessage = (message, ...args) => {
|
|
25
|
+
logger.logger.log(-1, message, ...args);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
exports.logVerboseTroubleshootingMessage = logVerboseTroubleshootingMessage;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const logVerboseTroubleshootingMessage: (message: string | Error | unknown, ...args: any[]) => void;
|
package/src/lib/utils/functions/logVerboseTroubleshootingMessage/logVerboseTroubleshootingMessage.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
import '@dynamic-labs/sdk-api-core';
|
|
3
|
+
import { logger } from '../../../shared/logger.js';
|
|
4
|
+
import '@dynamic-labs/iconic';
|
|
5
|
+
import '@dynamic-labs/wallet-connector-core';
|
|
6
|
+
import 'react/jsx-runtime';
|
|
7
|
+
import '../../../context/ViewContext/ViewContext.js';
|
|
8
|
+
import 'react';
|
|
9
|
+
import '@dynamic-labs/wallet-book';
|
|
10
|
+
import '../../constants/colors.js';
|
|
11
|
+
import '../../constants/values.js';
|
|
12
|
+
import '../../../shared/utils/classes/storage/localStorage.js';
|
|
13
|
+
import '../../../shared/utils/classes/storage/sessionStorage.js';
|
|
14
|
+
import '@dynamic-labs/utils';
|
|
15
|
+
import '../../../shared/consts/index.js';
|
|
16
|
+
|
|
17
|
+
// use this in conjuction with dynamic_enableTroubleshootMode to see
|
|
18
|
+
// more verbose logging to help troubleshoot issues
|
|
19
|
+
// i.e: window.dynamic_enableTroubleshootMode = true
|
|
20
|
+
const logVerboseTroubleshootingMessage = (message, ...args) => {
|
|
21
|
+
logger.log(-1, message, ...args);
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export { logVerboseTroubleshootingMessage };
|
|
@@ -18,5 +18,25 @@ const useInternalDynamicEvents = (event, listener) => {
|
|
|
18
18
|
};
|
|
19
19
|
}, [event]);
|
|
20
20
|
};
|
|
21
|
+
// ATTENTION
|
|
22
|
+
// Everything below should be made public soon, but we need to plan this out first
|
|
23
|
+
// Main issues:
|
|
24
|
+
// 1. How should we map customer callback names to our dynamic event names?
|
|
25
|
+
// -> Gui's suggestion: breaking change to rename customer callbacks so they fit these events names
|
|
26
|
+
// 2. We would have to remove these callbacks from the useCustomerCallbacks hook
|
|
27
|
+
/** Which events are accessible by our clients */
|
|
28
|
+
const externalEvents = [
|
|
29
|
+
'emailVerificationResult',
|
|
30
|
+
'embeddedWalletCreated',
|
|
31
|
+
'logout',
|
|
32
|
+
'walletAdded',
|
|
33
|
+
];
|
|
34
|
+
/** Allows subscribing to dynamic events directly inside components with a hook */
|
|
35
|
+
const useDynamicEvents = (event, listener) => {
|
|
36
|
+
if (!externalEvents.includes(event))
|
|
37
|
+
throw new Error(`Unrecognized event "${event}" used with useDynamicEvents`);
|
|
38
|
+
useInternalDynamicEvents(event, listener);
|
|
39
|
+
};
|
|
21
40
|
|
|
41
|
+
exports.useDynamicEvents = useDynamicEvents;
|
|
22
42
|
exports.useInternalDynamicEvents = useInternalDynamicEvents;
|
|
@@ -2,7 +2,7 @@ import { DynamicEvents } from '../../../../events';
|
|
|
2
2
|
import { EventArgs } from '../types';
|
|
3
3
|
type DynamicEventListener<E extends keyof DynamicEvents> = (...args: EventArgs<DynamicEvents, E>) => void;
|
|
4
4
|
/** Allows us to subscribe to all dynamicEvents with a hook, even the internal ones */
|
|
5
|
-
export declare const useInternalDynamicEvents: <E extends keyof import("../../../../events/auth").AuthEvents | keyof import("../../../../events/ui").UIEvents | keyof import("../../../../events/otp").OTPEvents | keyof import("../../../../events/wallets").WalletEvents | keyof import("../../../../events/passkey").PasskeyEvents | "farcasterConnectCancelled" | keyof import("../../../../events/embeddedWallet").EmbeddedWalletEvents>(event: E, listener: DynamicEventListener<E>) => void;
|
|
5
|
+
export declare const useInternalDynamicEvents: <E extends keyof import("../../../../events/auth").AuthEvents | keyof import("../../../../events/ui").UIEvents | keyof import("../../../../events/otp").OTPEvents | keyof import("../../../../events/wallets").WalletEvents | keyof import("../../../../events/passkey").PasskeyEvents | "farcasterConnectCancelled" | keyof import("../../../../events/embeddedWallet").EmbeddedWalletEvents | keyof import("../../../../events/multiWallet").MultiWalletInternalEvents>(event: E, listener: DynamicEventListener<E>) => void;
|
|
6
6
|
/** Allows subscribing to dynamic events directly inside components with a hook */
|
|
7
|
-
export declare const useDynamicEvents: <E extends "logout" | "emailVerificationResult" | "embeddedWalletCreated">(event: E, listener: DynamicEventListener<E>) => void;
|
|
7
|
+
export declare const useDynamicEvents: <E extends "logout" | "emailVerificationResult" | "walletAdded" | "embeddedWalletCreated">(event: E, listener: DynamicEventListener<E>) => void;
|
|
8
8
|
export {};
|
|
@@ -14,5 +14,24 @@ const useInternalDynamicEvents = (event, listener) => {
|
|
|
14
14
|
};
|
|
15
15
|
}, [event]);
|
|
16
16
|
};
|
|
17
|
+
// ATTENTION
|
|
18
|
+
// Everything below should be made public soon, but we need to plan this out first
|
|
19
|
+
// Main issues:
|
|
20
|
+
// 1. How should we map customer callback names to our dynamic event names?
|
|
21
|
+
// -> Gui's suggestion: breaking change to rename customer callbacks so they fit these events names
|
|
22
|
+
// 2. We would have to remove these callbacks from the useCustomerCallbacks hook
|
|
23
|
+
/** Which events are accessible by our clients */
|
|
24
|
+
const externalEvents = [
|
|
25
|
+
'emailVerificationResult',
|
|
26
|
+
'embeddedWalletCreated',
|
|
27
|
+
'logout',
|
|
28
|
+
'walletAdded',
|
|
29
|
+
];
|
|
30
|
+
/** Allows subscribing to dynamic events directly inside components with a hook */
|
|
31
|
+
const useDynamicEvents = (event, listener) => {
|
|
32
|
+
if (!externalEvents.includes(event))
|
|
33
|
+
throw new Error(`Unrecognized event "${event}" used with useDynamicEvents`);
|
|
34
|
+
useInternalDynamicEvents(event, listener);
|
|
35
|
+
};
|
|
17
36
|
|
|
18
|
-
export { useInternalDynamicEvents };
|
|
37
|
+
export { useDynamicEvents, useInternalDynamicEvents };
|
|
@@ -59,3 +59,4 @@ export { useSwitchWallet } from './useSwitchWallet';
|
|
|
59
59
|
export { useSyncEmbeddedWalletFlow } from './useSyncEmbeddedWalletFlow';
|
|
60
60
|
export { useSyncOnboardingFlow } from './useSyncOnboardingFlow';
|
|
61
61
|
export { useExternalAuth } from './useExternalAuth';
|
|
62
|
+
export { useRefreshUser } from './useRefreshUser';
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
|
+
var _tslib = require('../../../../../../_virtual/_tslib.cjs');
|
|
6
7
|
var React = require('react');
|
|
7
8
|
require('../../../../context/DynamicContext/DynamicContext.cjs');
|
|
8
9
|
require('@dynamic-labs/sdk-api-core');
|
|
@@ -18,8 +19,7 @@ require('../../../../shared/utils/classes/storage/localStorage.cjs');
|
|
|
18
19
|
require('../../../../shared/utils/classes/storage/sessionStorage.cjs');
|
|
19
20
|
require('@dynamic-labs/utils');
|
|
20
21
|
require('../../../../shared/consts/index.cjs');
|
|
21
|
-
require('
|
|
22
|
-
require('../../../../../../_virtual/_tslib.cjs');
|
|
22
|
+
var useDynamicEvents = require('../../events/useDynamicEvents/useDynamicEvents.cjs');
|
|
23
23
|
var useConnectAndSign = require('../../authenticationHooks/useConnectAndSign/useConnectAndSign.cjs');
|
|
24
24
|
require('../../../../context/ErrorContext/ErrorContext.cjs');
|
|
25
25
|
require('../../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
|
|
@@ -31,6 +31,7 @@ require('react-international-phone');
|
|
|
31
31
|
var requiresTwoStepAuthentication = require('../../../functions/requiresTwoStepAuthentication/requiresTwoStepAuthentication.cjs');
|
|
32
32
|
require('@dynamic-labs/store');
|
|
33
33
|
require('../../../../locale/locale.cjs');
|
|
34
|
+
require('../../../../events/dynamicEvents.cjs');
|
|
34
35
|
require('../../../../context/CaptchaContext/CaptchaContext.cjs');
|
|
35
36
|
require('../../../../context/VerificationContext/VerificationContext.cjs');
|
|
36
37
|
require('react-dom');
|
|
@@ -82,29 +83,54 @@ var useInternalDynamicContext = require('../../../../context/DynamicContext/useD
|
|
|
82
83
|
const useVerifyOnAwaitingSignature = () => {
|
|
83
84
|
const { awaitingSignatureState, multiWalletWidgetState, setMultiWalletWidgetState, legacyIsVerifying, setLegacyIsVerifying, selectedWalletConnector, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
84
85
|
const triggerConnectAndSign = useConnectAndSign.useConnectAndSign();
|
|
86
|
+
// this is to prevent calling runConnectAndSign multiple times
|
|
87
|
+
// due to changes in legacyIsVerifying
|
|
88
|
+
const isVerifying = React.useRef(false);
|
|
89
|
+
const runConnectAndSign = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
90
|
+
logger.logger.debug('runConnectAndSign', {
|
|
91
|
+
selectedWalletConnector,
|
|
92
|
+
});
|
|
93
|
+
if (!selectedWalletConnector) {
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
isVerifying.current = true;
|
|
97
|
+
setLegacyIsVerifying(true);
|
|
98
|
+
try {
|
|
99
|
+
yield triggerConnectAndSign({
|
|
100
|
+
walletConnector: selectedWalletConnector,
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
catch (e) {
|
|
104
|
+
logger.logger.error(e);
|
|
105
|
+
}
|
|
106
|
+
setMultiWalletWidgetState('idle');
|
|
107
|
+
setLegacyIsVerifying(false);
|
|
108
|
+
isVerifying.current = false;
|
|
109
|
+
}), [
|
|
110
|
+
selectedWalletConnector === null || selectedWalletConnector === void 0 ? void 0 : selectedWalletConnector.key,
|
|
111
|
+
setLegacyIsVerifying,
|
|
112
|
+
setMultiWalletWidgetState,
|
|
113
|
+
triggerConnectAndSign,
|
|
114
|
+
]);
|
|
85
115
|
React.useEffect(() => {
|
|
86
116
|
if (!legacyIsVerifying &&
|
|
117
|
+
!isVerifying.current &&
|
|
87
118
|
multiWalletWidgetState === 'awaiting_signature' &&
|
|
88
119
|
selectedWalletConnector &&
|
|
89
120
|
awaitingSignatureState === 'linking_new_wallet' &&
|
|
90
121
|
!requiresTwoStepAuthentication.requiresTwoStepAuthentication(selectedWalletConnector)) {
|
|
91
|
-
|
|
92
|
-
triggerConnectAndSign({ walletConnector: selectedWalletConnector })
|
|
93
|
-
.catch((e) => {
|
|
94
|
-
logger.logger.error(e);
|
|
95
|
-
})
|
|
96
|
-
.finally(() => {
|
|
97
|
-
setMultiWalletWidgetState('idle');
|
|
98
|
-
setLegacyIsVerifying(false);
|
|
99
|
-
});
|
|
122
|
+
runConnectAndSign();
|
|
100
123
|
}
|
|
101
124
|
}, [
|
|
125
|
+
runConnectAndSign,
|
|
102
126
|
awaitingSignatureState,
|
|
103
|
-
|
|
127
|
+
legacyIsVerifying,
|
|
104
128
|
multiWalletWidgetState,
|
|
129
|
+
selectedWalletConnector === null || selectedWalletConnector === void 0 ? void 0 : selectedWalletConnector.key,
|
|
130
|
+
setLegacyIsVerifying,
|
|
105
131
|
setMultiWalletWidgetState,
|
|
106
|
-
legacyIsVerifying,
|
|
107
132
|
]);
|
|
133
|
+
useDynamicEvents.useInternalDynamicEvents('triggerConnectAndSign', runConnectAndSign);
|
|
108
134
|
};
|
|
109
135
|
|
|
110
136
|
exports.useVerifyOnAwaitingSignature = useVerifyOnAwaitingSignature;
|
package/src/lib/utils/hooks/multiWallet/useVerifyOnAwaitingSignature/useVerifyOnAwaitingSignature.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use client'
|
|
2
|
-
import {
|
|
2
|
+
import { __awaiter } from '../../../../../../_virtual/_tslib.js';
|
|
3
|
+
import { useRef, useCallback, useEffect } from 'react';
|
|
3
4
|
import '../../../../context/DynamicContext/DynamicContext.js';
|
|
4
5
|
import '@dynamic-labs/sdk-api-core';
|
|
5
6
|
import { logger } from '../../../../shared/logger.js';
|
|
@@ -14,8 +15,7 @@ import '../../../../shared/utils/classes/storage/localStorage.js';
|
|
|
14
15
|
import '../../../../shared/utils/classes/storage/sessionStorage.js';
|
|
15
16
|
import '@dynamic-labs/utils';
|
|
16
17
|
import '../../../../shared/consts/index.js';
|
|
17
|
-
import '
|
|
18
|
-
import '../../../../../../_virtual/_tslib.js';
|
|
18
|
+
import { useInternalDynamicEvents } from '../../events/useDynamicEvents/useDynamicEvents.js';
|
|
19
19
|
import { useConnectAndSign } from '../../authenticationHooks/useConnectAndSign/useConnectAndSign.js';
|
|
20
20
|
import '../../../../context/ErrorContext/ErrorContext.js';
|
|
21
21
|
import '../../../../context/AccessDeniedContext/AccessDeniedContext.js';
|
|
@@ -27,6 +27,7 @@ import 'react-international-phone';
|
|
|
27
27
|
import { requiresTwoStepAuthentication } from '../../../functions/requiresTwoStepAuthentication/requiresTwoStepAuthentication.js';
|
|
28
28
|
import '@dynamic-labs/store';
|
|
29
29
|
import '../../../../locale/locale.js';
|
|
30
|
+
import '../../../../events/dynamicEvents.js';
|
|
30
31
|
import '../../../../context/CaptchaContext/CaptchaContext.js';
|
|
31
32
|
import '../../../../context/VerificationContext/VerificationContext.js';
|
|
32
33
|
import 'react-dom';
|
|
@@ -78,29 +79,54 @@ import { useInternalDynamicContext } from '../../../../context/DynamicContext/us
|
|
|
78
79
|
const useVerifyOnAwaitingSignature = () => {
|
|
79
80
|
const { awaitingSignatureState, multiWalletWidgetState, setMultiWalletWidgetState, legacyIsVerifying, setLegacyIsVerifying, selectedWalletConnector, } = useInternalDynamicContext();
|
|
80
81
|
const triggerConnectAndSign = useConnectAndSign();
|
|
82
|
+
// this is to prevent calling runConnectAndSign multiple times
|
|
83
|
+
// due to changes in legacyIsVerifying
|
|
84
|
+
const isVerifying = useRef(false);
|
|
85
|
+
const runConnectAndSign = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
86
|
+
logger.debug('runConnectAndSign', {
|
|
87
|
+
selectedWalletConnector,
|
|
88
|
+
});
|
|
89
|
+
if (!selectedWalletConnector) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
isVerifying.current = true;
|
|
93
|
+
setLegacyIsVerifying(true);
|
|
94
|
+
try {
|
|
95
|
+
yield triggerConnectAndSign({
|
|
96
|
+
walletConnector: selectedWalletConnector,
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
catch (e) {
|
|
100
|
+
logger.error(e);
|
|
101
|
+
}
|
|
102
|
+
setMultiWalletWidgetState('idle');
|
|
103
|
+
setLegacyIsVerifying(false);
|
|
104
|
+
isVerifying.current = false;
|
|
105
|
+
}), [
|
|
106
|
+
selectedWalletConnector === null || selectedWalletConnector === void 0 ? void 0 : selectedWalletConnector.key,
|
|
107
|
+
setLegacyIsVerifying,
|
|
108
|
+
setMultiWalletWidgetState,
|
|
109
|
+
triggerConnectAndSign,
|
|
110
|
+
]);
|
|
81
111
|
useEffect(() => {
|
|
82
112
|
if (!legacyIsVerifying &&
|
|
113
|
+
!isVerifying.current &&
|
|
83
114
|
multiWalletWidgetState === 'awaiting_signature' &&
|
|
84
115
|
selectedWalletConnector &&
|
|
85
116
|
awaitingSignatureState === 'linking_new_wallet' &&
|
|
86
117
|
!requiresTwoStepAuthentication(selectedWalletConnector)) {
|
|
87
|
-
|
|
88
|
-
triggerConnectAndSign({ walletConnector: selectedWalletConnector })
|
|
89
|
-
.catch((e) => {
|
|
90
|
-
logger.error(e);
|
|
91
|
-
})
|
|
92
|
-
.finally(() => {
|
|
93
|
-
setMultiWalletWidgetState('idle');
|
|
94
|
-
setLegacyIsVerifying(false);
|
|
95
|
-
});
|
|
118
|
+
runConnectAndSign();
|
|
96
119
|
}
|
|
97
120
|
}, [
|
|
121
|
+
runConnectAndSign,
|
|
98
122
|
awaitingSignatureState,
|
|
99
|
-
|
|
123
|
+
legacyIsVerifying,
|
|
100
124
|
multiWalletWidgetState,
|
|
125
|
+
selectedWalletConnector === null || selectedWalletConnector === void 0 ? void 0 : selectedWalletConnector.key,
|
|
126
|
+
setLegacyIsVerifying,
|
|
101
127
|
setMultiWalletWidgetState,
|
|
102
|
-
legacyIsVerifying,
|
|
103
128
|
]);
|
|
129
|
+
useInternalDynamicEvents('triggerConnectAndSign', runConnectAndSign);
|
|
104
130
|
};
|
|
105
131
|
|
|
106
132
|
export { useVerifyOnAwaitingSignature };
|
|
@@ -96,6 +96,9 @@ const useHandleUnlinkWallet = ({ verifiedCredentials, environmentId, primaryWall
|
|
|
96
96
|
return;
|
|
97
97
|
yield wallets.unlinkWallet({
|
|
98
98
|
environmentId,
|
|
99
|
+
onSuccess: () => {
|
|
100
|
+
removedWalletsIds.current.push(walletId);
|
|
101
|
+
},
|
|
99
102
|
primaryWalletId: currentPrimaryWalletId,
|
|
100
103
|
walletId,
|
|
101
104
|
});
|
|
@@ -105,7 +108,6 @@ const useHandleUnlinkWallet = ({ verifiedCredentials, environmentId, primaryWall
|
|
|
105
108
|
if (numberOfLinkedWallets === 1) {
|
|
106
109
|
yield (wallet === null || wallet === void 0 ? void 0 : wallet.connector.endSession());
|
|
107
110
|
}
|
|
108
|
-
removedWalletsIds.current.push(walletId);
|
|
109
111
|
}), [
|
|
110
112
|
primaryWalletId,
|
|
111
113
|
environmentId,
|
|
@@ -92,6 +92,9 @@ const useHandleUnlinkWallet = ({ verifiedCredentials, environmentId, primaryWall
|
|
|
92
92
|
return;
|
|
93
93
|
yield unlinkWallet({
|
|
94
94
|
environmentId,
|
|
95
|
+
onSuccess: () => {
|
|
96
|
+
removedWalletsIds.current.push(walletId);
|
|
97
|
+
},
|
|
95
98
|
primaryWalletId: currentPrimaryWalletId,
|
|
96
99
|
walletId,
|
|
97
100
|
});
|
|
@@ -101,7 +104,6 @@ const useHandleUnlinkWallet = ({ verifiedCredentials, environmentId, primaryWall
|
|
|
101
104
|
if (numberOfLinkedWallets === 1) {
|
|
102
105
|
yield (wallet === null || wallet === void 0 ? void 0 : wallet.connector.endSession());
|
|
103
106
|
}
|
|
104
|
-
removedWalletsIds.current.push(walletId);
|
|
105
107
|
}), [
|
|
106
108
|
primaryWalletId,
|
|
107
109
|
environmentId,
|
|
@@ -22,7 +22,7 @@ require('../../../config/ApiEndpoint.cjs');
|
|
|
22
22
|
require('@dynamic-labs/multi-wallet');
|
|
23
23
|
require('react-international-phone');
|
|
24
24
|
require('@dynamic-labs/store');
|
|
25
|
-
require('../../../events/dynamicEvents.cjs');
|
|
25
|
+
var dynamicEvents = require('../../../events/dynamicEvents.cjs');
|
|
26
26
|
require('../../../context/DynamicContext/DynamicContext.cjs');
|
|
27
27
|
var useInternalDynamicContext = require('../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
|
|
28
28
|
require('../../../context/CaptchaContext/CaptchaContext.cjs');
|
|
@@ -79,7 +79,7 @@ require('../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCa
|
|
|
79
79
|
var user = require('../../../data/api/user/user.cjs');
|
|
80
80
|
|
|
81
81
|
const useMergeUserAccounts = () => {
|
|
82
|
-
const { environmentId, setShowAuthFlow } = useInternalDynamicContext.useInternalDynamicContext();
|
|
82
|
+
const { environmentId, setShowAuthFlow, selectedWalletConnector } = useInternalDynamicContext.useInternalDynamicContext();
|
|
83
83
|
const { addedWalletsIds } = UserWalletsContext.useInternalUserWallets();
|
|
84
84
|
const mergeUserAccounts = (mergeConflictResolutions) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
85
85
|
const user$1 = yield user.verifyMergeUsers(environmentId, mergeConflictResolutions);
|
|
@@ -87,6 +87,10 @@ const useMergeUserAccounts = () => {
|
|
|
87
87
|
if (walletId) {
|
|
88
88
|
addedWalletsIds.current.push(walletId);
|
|
89
89
|
}
|
|
90
|
+
const accounts = yield (selectedWalletConnector === null || selectedWalletConnector === void 0 ? void 0 : selectedWalletConnector.getConnectedAccounts());
|
|
91
|
+
if (accounts === null || accounts === void 0 ? void 0 : accounts.length) {
|
|
92
|
+
dynamicEvents.dynamicEvents.emit('triggerComputePrimaryWalletMultiWalletStateFromAccounts', { accounts });
|
|
93
|
+
}
|
|
90
94
|
setShowAuthFlow(false);
|
|
91
95
|
});
|
|
92
96
|
return {
|
|
@@ -18,7 +18,7 @@ import '../../../config/ApiEndpoint.js';
|
|
|
18
18
|
import '@dynamic-labs/multi-wallet';
|
|
19
19
|
import 'react-international-phone';
|
|
20
20
|
import '@dynamic-labs/store';
|
|
21
|
-
import '../../../events/dynamicEvents.js';
|
|
21
|
+
import { dynamicEvents } from '../../../events/dynamicEvents.js';
|
|
22
22
|
import '../../../context/DynamicContext/DynamicContext.js';
|
|
23
23
|
import { useInternalDynamicContext } from '../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
|
|
24
24
|
import '../../../context/CaptchaContext/CaptchaContext.js';
|
|
@@ -75,7 +75,7 @@ import '../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCar
|
|
|
75
75
|
import { verifyMergeUsers } from '../../../data/api/user/user.js';
|
|
76
76
|
|
|
77
77
|
const useMergeUserAccounts = () => {
|
|
78
|
-
const { environmentId, setShowAuthFlow } = useInternalDynamicContext();
|
|
78
|
+
const { environmentId, setShowAuthFlow, selectedWalletConnector } = useInternalDynamicContext();
|
|
79
79
|
const { addedWalletsIds } = useInternalUserWallets();
|
|
80
80
|
const mergeUserAccounts = (mergeConflictResolutions) => __awaiter(void 0, void 0, void 0, function* () {
|
|
81
81
|
const user = yield verifyMergeUsers(environmentId, mergeConflictResolutions);
|
|
@@ -83,6 +83,10 @@ const useMergeUserAccounts = () => {
|
|
|
83
83
|
if (walletId) {
|
|
84
84
|
addedWalletsIds.current.push(walletId);
|
|
85
85
|
}
|
|
86
|
+
const accounts = yield (selectedWalletConnector === null || selectedWalletConnector === void 0 ? void 0 : selectedWalletConnector.getConnectedAccounts());
|
|
87
|
+
if (accounts === null || accounts === void 0 ? void 0 : accounts.length) {
|
|
88
|
+
dynamicEvents.emit('triggerComputePrimaryWalletMultiWalletStateFromAccounts', { accounts });
|
|
89
|
+
}
|
|
86
90
|
setShowAuthFlow(false);
|
|
87
91
|
});
|
|
88
92
|
return {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useRefreshUser } from './useRefreshUser';
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
var React = require('react');
|
|
7
|
+
require('../../../context/DynamicContext/DynamicContext.cjs');
|
|
8
|
+
require('@dynamic-labs/sdk-api-core');
|
|
9
|
+
require('../../../shared/logger.cjs');
|
|
10
|
+
require('@dynamic-labs/iconic');
|
|
11
|
+
require('@dynamic-labs/wallet-connector-core');
|
|
12
|
+
require('react/jsx-runtime');
|
|
13
|
+
require('../../../context/ViewContext/ViewContext.cjs');
|
|
14
|
+
require('@dynamic-labs/wallet-book');
|
|
15
|
+
require('../../constants/colors.cjs');
|
|
16
|
+
require('../../constants/values.cjs');
|
|
17
|
+
require('../../../shared/utils/classes/storage/localStorage.cjs');
|
|
18
|
+
require('../../../shared/utils/classes/storage/sessionStorage.cjs');
|
|
19
|
+
require('@dynamic-labs/utils');
|
|
20
|
+
require('../../../shared/consts/index.cjs');
|
|
21
|
+
require('../../../events/dynamicEvents.cjs');
|
|
22
|
+
require('../../../../../_virtual/_tslib.cjs');
|
|
23
|
+
require('../../../context/CaptchaContext/CaptchaContext.cjs');
|
|
24
|
+
require('../../../context/ErrorContext/ErrorContext.cjs');
|
|
25
|
+
require('@dynamic-labs/multi-wallet');
|
|
26
|
+
require('react-international-phone');
|
|
27
|
+
require('../../../config/ApiEndpoint.cjs');
|
|
28
|
+
require('@dynamic-labs/store');
|
|
29
|
+
require('../../../locale/locale.cjs');
|
|
30
|
+
var user = require('../../../data/api/user/user.cjs');
|
|
31
|
+
require('../../../context/AccessDeniedContext/AccessDeniedContext.cjs');
|
|
32
|
+
require('../../../context/AccountExistsContext/AccountExistsContext.cjs');
|
|
33
|
+
require('../../../context/UserWalletsContext/UserWalletsContext.cjs');
|
|
34
|
+
require('../../../context/VerificationContext/VerificationContext.cjs');
|
|
35
|
+
require('react-dom');
|
|
36
|
+
require('../../../context/WalletContext/WalletContext.cjs');
|
|
37
|
+
require('../../../context/ThemeContext/ThemeContext.cjs');
|
|
38
|
+
require('../useUserUpdateRequest/useUpdateUser/userFieldsSchema.cjs');
|
|
39
|
+
require('@dynamic-labs/types');
|
|
40
|
+
require('../../../context/LoadingContext/LoadingContext.cjs');
|
|
41
|
+
require('yup');
|
|
42
|
+
require('../../../context/MockContext/MockContext.cjs');
|
|
43
|
+
require('../../../views/CollectUserDataView/useFields.cjs');
|
|
44
|
+
require('../../../context/FieldsStateContext/FieldsStateContext.cjs');
|
|
45
|
+
require('../../../context/UserFieldEditorContext/UserFieldEditorContext.cjs');
|
|
46
|
+
require('@dynamic-labs/rpc-providers');
|
|
47
|
+
require('react-i18next');
|
|
48
|
+
require('../../../components/Accordion/components/AccordionItem/AccordionItem.cjs');
|
|
49
|
+
require('../../../components/Alert/Alert.cjs');
|
|
50
|
+
require('../../../components/ShadowDOM/ShadowDOM.cjs');
|
|
51
|
+
require('../../../components/IconButton/IconButton.cjs');
|
|
52
|
+
require('../../../components/InlineWidget/InlineWidget.cjs');
|
|
53
|
+
require('../../../components/Input/Input.cjs');
|
|
54
|
+
require('../../../components/IsBrowser/IsBrowser.cjs');
|
|
55
|
+
require('../../../components/MenuList/Dropdown/Dropdown.cjs');
|
|
56
|
+
require('../../../components/Transition/ZoomTransition/ZoomTransition.cjs');
|
|
57
|
+
require('../../../components/Transition/SlideInUpTransition/SlideInUpTransition.cjs');
|
|
58
|
+
require('../../../components/Transition/OpacityTransition/OpacityTransition.cjs');
|
|
59
|
+
require('../../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.cjs');
|
|
60
|
+
require('../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.cjs');
|
|
61
|
+
require('../../../components/Popper/Popper/Popper.cjs');
|
|
62
|
+
require('../../../components/Popper/PopperContext/PopperContext.cjs');
|
|
63
|
+
require('react-focus-lock');
|
|
64
|
+
require('qrcode');
|
|
65
|
+
require('formik');
|
|
66
|
+
require('../../../views/WalletList/WalletList.cjs');
|
|
67
|
+
require('../../../context/SocialRedirectContext/SocialRedirectContext.cjs');
|
|
68
|
+
require('../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
|
|
69
|
+
require('@hcaptcha/react-hcaptcha');
|
|
70
|
+
require('../../../context/FooterAnimationContext/index.cjs');
|
|
71
|
+
require('../../../context/WalletGroupContext/WalletGroupContext.cjs');
|
|
72
|
+
require('../../../context/MfaSettingsContext/MfaSettingsContext.cjs');
|
|
73
|
+
require('../../../context/IpConfigurationContext/IpConfigurationContext.cjs');
|
|
74
|
+
require('../../../context/PasskeyContext/PasskeyContext.cjs');
|
|
75
|
+
require('../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
|
|
76
|
+
require('../../../widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
|
|
77
|
+
require('../../../views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
|
|
78
|
+
require('../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
|
|
79
|
+
var useInternalDynamicContext = require('../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Refresh user state
|
|
83
|
+
* @returns A callback function that can be used to refresh the user state
|
|
84
|
+
*/
|
|
85
|
+
const useRefreshUser = () => {
|
|
86
|
+
const { environmentId } = useInternalDynamicContext.useInternalDynamicContext();
|
|
87
|
+
return React.useCallback(() => user.refreshUserJwt({ environmentId }), [environmentId]);
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
exports.useRefreshUser = useRefreshUser;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { UserProfile } from '@dynamic-labs/types';
|
|
2
|
+
type RefreshUserCallback = () => Promise<UserProfile | undefined>;
|
|
3
|
+
/**
|
|
4
|
+
* Refresh user state
|
|
5
|
+
* @returns A callback function that can be used to refresh the user state
|
|
6
|
+
*/
|
|
7
|
+
export declare const useRefreshUser: () => RefreshUserCallback;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
import { useCallback } from 'react';
|
|
3
|
+
import '../../../context/DynamicContext/DynamicContext.js';
|
|
4
|
+
import '@dynamic-labs/sdk-api-core';
|
|
5
|
+
import '../../../shared/logger.js';
|
|
6
|
+
import '@dynamic-labs/iconic';
|
|
7
|
+
import '@dynamic-labs/wallet-connector-core';
|
|
8
|
+
import 'react/jsx-runtime';
|
|
9
|
+
import '../../../context/ViewContext/ViewContext.js';
|
|
10
|
+
import '@dynamic-labs/wallet-book';
|
|
11
|
+
import '../../constants/colors.js';
|
|
12
|
+
import '../../constants/values.js';
|
|
13
|
+
import '../../../shared/utils/classes/storage/localStorage.js';
|
|
14
|
+
import '../../../shared/utils/classes/storage/sessionStorage.js';
|
|
15
|
+
import '@dynamic-labs/utils';
|
|
16
|
+
import '../../../shared/consts/index.js';
|
|
17
|
+
import '../../../events/dynamicEvents.js';
|
|
18
|
+
import '../../../../../_virtual/_tslib.js';
|
|
19
|
+
import '../../../context/CaptchaContext/CaptchaContext.js';
|
|
20
|
+
import '../../../context/ErrorContext/ErrorContext.js';
|
|
21
|
+
import '@dynamic-labs/multi-wallet';
|
|
22
|
+
import 'react-international-phone';
|
|
23
|
+
import '../../../config/ApiEndpoint.js';
|
|
24
|
+
import '@dynamic-labs/store';
|
|
25
|
+
import '../../../locale/locale.js';
|
|
26
|
+
import { refreshUserJwt } from '../../../data/api/user/user.js';
|
|
27
|
+
import '../../../context/AccessDeniedContext/AccessDeniedContext.js';
|
|
28
|
+
import '../../../context/AccountExistsContext/AccountExistsContext.js';
|
|
29
|
+
import '../../../context/UserWalletsContext/UserWalletsContext.js';
|
|
30
|
+
import '../../../context/VerificationContext/VerificationContext.js';
|
|
31
|
+
import 'react-dom';
|
|
32
|
+
import '../../../context/WalletContext/WalletContext.js';
|
|
33
|
+
import '../../../context/ThemeContext/ThemeContext.js';
|
|
34
|
+
import '../useUserUpdateRequest/useUpdateUser/userFieldsSchema.js';
|
|
35
|
+
import '@dynamic-labs/types';
|
|
36
|
+
import '../../../context/LoadingContext/LoadingContext.js';
|
|
37
|
+
import 'yup';
|
|
38
|
+
import '../../../context/MockContext/MockContext.js';
|
|
39
|
+
import '../../../views/CollectUserDataView/useFields.js';
|
|
40
|
+
import '../../../context/FieldsStateContext/FieldsStateContext.js';
|
|
41
|
+
import '../../../context/UserFieldEditorContext/UserFieldEditorContext.js';
|
|
42
|
+
import '@dynamic-labs/rpc-providers';
|
|
43
|
+
import 'react-i18next';
|
|
44
|
+
import '../../../components/Accordion/components/AccordionItem/AccordionItem.js';
|
|
45
|
+
import '../../../components/Alert/Alert.js';
|
|
46
|
+
import '../../../components/ShadowDOM/ShadowDOM.js';
|
|
47
|
+
import '../../../components/IconButton/IconButton.js';
|
|
48
|
+
import '../../../components/InlineWidget/InlineWidget.js';
|
|
49
|
+
import '../../../components/Input/Input.js';
|
|
50
|
+
import '../../../components/IsBrowser/IsBrowser.js';
|
|
51
|
+
import '../../../components/MenuList/Dropdown/Dropdown.js';
|
|
52
|
+
import '../../../components/Transition/ZoomTransition/ZoomTransition.js';
|
|
53
|
+
import '../../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
|
|
54
|
+
import '../../../components/Transition/OpacityTransition/OpacityTransition.js';
|
|
55
|
+
import '../../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.js';
|
|
56
|
+
import '../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.js';
|
|
57
|
+
import '../../../components/Popper/Popper/Popper.js';
|
|
58
|
+
import '../../../components/Popper/PopperContext/PopperContext.js';
|
|
59
|
+
import 'react-focus-lock';
|
|
60
|
+
import 'qrcode';
|
|
61
|
+
import 'formik';
|
|
62
|
+
import '../../../views/WalletList/WalletList.js';
|
|
63
|
+
import '../../../context/SocialRedirectContext/SocialRedirectContext.js';
|
|
64
|
+
import '../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
|
|
65
|
+
import '@hcaptcha/react-hcaptcha';
|
|
66
|
+
import '../../../context/FooterAnimationContext/index.js';
|
|
67
|
+
import '../../../context/WalletGroupContext/WalletGroupContext.js';
|
|
68
|
+
import '../../../context/MfaSettingsContext/MfaSettingsContext.js';
|
|
69
|
+
import '../../../context/IpConfigurationContext/IpConfigurationContext.js';
|
|
70
|
+
import '../../../context/PasskeyContext/PasskeyContext.js';
|
|
71
|
+
import '../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
|
|
72
|
+
import '../../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
|
|
73
|
+
import '../../../views/TransactionConfirmationView/helpers/transactionErrorMessage.js';
|
|
74
|
+
import '../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
|
|
75
|
+
import { useInternalDynamicContext } from '../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Refresh user state
|
|
79
|
+
* @returns A callback function that can be used to refresh the user state
|
|
80
|
+
*/
|
|
81
|
+
const useRefreshUser = () => {
|
|
82
|
+
const { environmentId } = useInternalDynamicContext();
|
|
83
|
+
return useCallback(() => refreshUserJwt({ environmentId }), [environmentId]);
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export { useRefreshUser };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useSwitchNetwork';
|