@dynamic-labs/sdk-react-core 1.0.5 → 1.0.7
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 +22 -0
- package/package.cjs +3 -3
- package/package.js +3 -3
- package/package.json +12 -12
- package/src/index.cjs +11 -9
- package/src/index.js +6 -5
- package/src/lib/Main.cjs +25 -10
- package/src/lib/Main.js +25 -10
- package/src/lib/components/IconWithSpinner/IconWithSpinner.cjs +1 -1
- package/src/lib/components/IconWithSpinner/IconWithSpinner.js +1 -1
- package/src/lib/components/IconWithSpinner/Spinner/Spinner.cjs +1 -1
- package/src/lib/components/IconWithSpinner/Spinner/Spinner.js +1 -1
- package/src/lib/components/IconWithStatus/IconWithStatus.cjs +1 -1
- package/src/lib/components/IconWithStatus/IconWithStatus.js +1 -1
- package/src/lib/components/MenuList/Dropdown/Dropdown.cjs +1 -1
- package/src/lib/components/MenuList/Dropdown/Dropdown.js +1 -1
- package/src/lib/components/NetworkPicker/components/EvmNetworkControl/EvmNetworkControl.cjs +4 -1
- package/src/lib/components/NetworkPicker/components/EvmNetworkControl/EvmNetworkControl.js +4 -1
- package/src/lib/components/SendBalanceForm/SendBalanceForm.cjs +1 -1
- package/src/lib/components/SendBalanceForm/SendBalanceForm.js +1 -1
- package/src/lib/components/SyncPasskeyFlow/SyncPasskeyFlow.cjs +2 -2
- package/src/lib/components/SyncPasskeyFlow/SyncPasskeyFlow.js +2 -2
- package/src/lib/components/UserProfileForm/UserProfileForm.cjs +1 -1
- package/src/lib/components/UserProfileForm/UserProfileForm.js +1 -1
- package/src/lib/context/DynamicContext/DynamicContext.cjs +4 -2
- package/src/lib/context/DynamicContext/DynamicContext.js +4 -2
- package/src/lib/context/DynamicContext/hooks/useEmailLoginState/useEmailLoginState.cjs +1 -1
- package/src/lib/context/DynamicContext/hooks/useEmailLoginState/useEmailLoginState.js +1 -1
- package/src/lib/data/api.cjs +2 -2
- package/src/lib/data/api.d.ts +1 -0
- package/src/lib/data/api.js +2 -2
- package/src/lib/shared/utils/hooks/index.d.ts +5 -4
- package/src/lib/shared/utils/hooks/useThrottle/index.d.ts +1 -0
- package/src/lib/shared/utils/hooks/useThrottle/useThrottle.cjs +29 -0
- package/src/lib/shared/utils/hooks/useThrottle/useThrottle.d.ts +8 -0
- package/src/lib/shared/utils/hooks/useThrottle/useThrottle.js +25 -0
- package/src/lib/utils/functions/getWalletIdentifier/getWalletIdentifier.cjs +7 -0
- package/src/lib/utils/functions/getWalletIdentifier/getWalletIdentifier.d.ts +2 -0
- package/src/lib/utils/functions/getWalletIdentifier/getWalletIdentifier.js +3 -0
- package/src/lib/utils/functions/getWalletIdentifier/index.d.ts +1 -0
- package/src/lib/utils/functions/index.d.ts +5 -3
- package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.cjs +13 -2
- package/src/lib/utils/hooks/multiWallet/useSyncPrimaryWallet/useSyncPrimaryWallet.js +13 -2
- package/src/lib/utils/hooks/useColorSchemePreference/useColorSchemePreference.cjs +1 -1
- package/src/lib/utils/hooks/useColorSchemePreference/useColorSchemePreference.js +1 -1
- package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.cjs +1 -1
- package/src/lib/utils/hooks/useConnectedWalletsNetworkValidation/useConnectedWalletsNetworkValidation.js +1 -1
- package/src/lib/utils/hooks/useEmailProvider/useEmailProvider.cjs +1 -1
- package/src/lib/utils/hooks/useEmailProvider/useEmailProvider.js +1 -1
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +14 -6
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +14 -6
- package/src/lib/utils/hooks/useFetchProjectSettings/useFetchProjectSettings.cjs +15 -1
- package/src/lib/utils/hooks/useFetchProjectSettings/useFetchProjectSettings.js +16 -2
- package/src/lib/utils/hooks/useHandleUnlinkWallet/useHandleUnlinkWallet.cjs +7 -1
- package/src/lib/utils/hooks/useHandleUnlinkWallet/useHandleUnlinkWallet.d.ts +4 -2
- package/src/lib/utils/hooks/useHandleUnlinkWallet/useHandleUnlinkWallet.js +7 -1
- package/src/lib/utils/hooks/useKYCFlag/useKYCFlag.cjs +1 -1
- package/src/lib/utils/hooks/useKYCFlag/useKYCFlag.js +1 -1
- package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.cjs +1 -1
- package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.js +1 -1
- package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.cjs +1 -1
- package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.js +1 -1
- 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/useVerifyWallet/useVerifyWallet.cjs +2 -1
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +2 -1
- package/src/lib/utils/hooks/useWalletConnectorOptions/utils/verifyMagicIsSetup/verifyMagicIsSetup.cjs +1 -1
- package/src/lib/utils/hooks/useWalletConnectorOptions/utils/verifyMagicIsSetup/verifyMagicIsSetup.js +1 -1
- package/src/lib/utils/hooks/useWalletConnectorOptions/utils/verifyZeroDevIsSetup/verifyZeroDevIsSetup.cjs +1 -1
- package/src/lib/utils/hooks/useWalletConnectorOptions/utils/verifyZeroDevIsSetup/verifyZeroDevIsSetup.js +1 -1
- package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.cjs +8 -4
- package/src/lib/utils/hooks/useWalletConnectors/useWalletConnectors.js +8 -4
- package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +4 -3
- package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +4 -3
- package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.cjs +1 -1
- package/src/lib/utils/hooks/useWalletItemActions/useWalletItemActions.js +1 -1
- package/src/lib/utils/hooks/useWalletsConnectionState/useWalletsConnectionState.cjs +67 -43
- package/src/lib/utils/hooks/useWalletsConnectionState/useWalletsConnectionState.d.ts +5 -7
- package/src/lib/utils/hooks/useWalletsConnectionState/useWalletsConnectionState.js +68 -44
- package/src/lib/views/LoginView/sections/SocialSignInSection/SocialSignInSection.cjs +1 -1
- package/src/lib/views/LoginView/sections/SocialSignInSection/SocialSignInSection.js +1 -1
- package/src/lib/views/LoginView/useLoginView.cjs +1 -1
- package/src/lib/views/LoginView/useLoginView.js +1 -1
- package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.cjs +1 -1
- package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.js +1 -1
- package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.cjs +1 -1
- package/src/lib/views/Passkey/PasskeyRecovery/BundleValidation/PasskeyBundleRecovery.js +1 -1
- package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.cjs +2 -2
- package/src/lib/views/Passkey/PasskeyRecovery/CompleteRecovery/PasskeyCompleteRecovery.js +2 -2
- 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/QrCodeView.cjs +1 -1
- package/src/lib/views/QrCodeView/QrCodeView.js +1 -1
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.cjs +2 -2
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletInformation.js +2 -2
- package/src/lib/widgets/DynamicWidget/components/WalletIconWithStatus/WalletIconWithStatus.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/components/WalletIconWithStatus/WalletIconWithStatus.js +1 -1
- package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.cjs +1 -6
- package/src/lib/widgets/DynamicWidget/prompts/UnlinkWalletPopUp/UnlinkWalletPopUp.js +1 -6
|
@@ -17,8 +17,8 @@ import '../../utils/constants/colors.js';
|
|
|
17
17
|
import { DEFAULT_NUMBER_OF_WALLETS_TO_SHOW } from '../../utils/constants/values.js';
|
|
18
18
|
import { LocalStorage } from '../../shared/utils/classes/storage/localStorage.js';
|
|
19
19
|
import 'viem';
|
|
20
|
-
import { useLocalStorage } from '../../shared/utils/hooks/useLocalStorage/useLocalStorage.js';
|
|
21
20
|
import { useGlobalLoading } from '../../shared/utils/hooks/useGlobalLoading/useGlobalLoading.js';
|
|
21
|
+
import { useLocalStorage } from '../../shared/utils/hooks/useLocalStorage/useLocalStorage.js';
|
|
22
22
|
import '../../shared/consts/index.js';
|
|
23
23
|
import '@dynamic-labs/multi-wallet';
|
|
24
24
|
import { getAuthToken } from '../../utils/functions/getAuthToken/getAuthToken.js';
|
|
@@ -114,7 +114,7 @@ const DynamicContext = createContext(undefined);
|
|
|
114
114
|
/** The context provider itself we only use internally */
|
|
115
115
|
const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) => {
|
|
116
116
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
117
|
-
const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, enableForcedNetworkValidation: enableForcedNetworkValidationProp = false, deepLinkPreference = 'native', bridgeChains, cssOverrides, defaultNumberOfWalletsToShow = DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displaySiweStatement = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, localStorageSuffix, eventsCallbacks, evmNetworks, walletsFilter, logLevel = 'WARN', notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, socialProvidersFilter, showLockedWalletView =
|
|
117
|
+
const { accessDeniedMessagePrimary, accessDeniedMessageSecondary, accessDeniedButton, apiBaseUrl, enableForcedNetworkValidation: enableForcedNetworkValidationProp = false, deepLinkPreference = 'native', bridgeChains, cssOverrides, defaultNumberOfWalletsToShow = DEFAULT_NUMBER_OF_WALLETS_TO_SHOW, flowNetwork, initialAuthenticationMode = 'connect-and-sign', debugError = false, displaySiweStatement = true, newToWeb3WalletChainMap, enableVisitTrackingOnConnectOnly = true, environmentId, localStorageSuffix, eventsCallbacks, evmNetworks, walletsFilter, logLevel = 'WARN', notInTheListImageUrl, onboardingImageUrl, policiesConsentInnerComponent, customPrivacyPolicy, privacyPolicyUrl, signWithEmailWalletName, socialMediaLinkText, socialMediaIconUrl, socialMediaUrl, customTermsOfServices, termsOfServiceUrl, toolkitEnabled, siweStatement, shadowDOMEnabled = true, walletConnectors: walletConnectorsProp, socialProvidersFilter, showLockedWalletView = false, walletConnectPreferredChains, walletConnectorExtensions, } = settings;
|
|
118
118
|
let enableForcedNetworkValidation = enableForcedNetworkValidationProp;
|
|
119
119
|
if (bridgeChains) {
|
|
120
120
|
enableForcedNetworkValidation = true;
|
|
@@ -366,9 +366,11 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
366
366
|
});
|
|
367
367
|
const handleUnlinkWallet = useHandleUnlinkWallet({
|
|
368
368
|
environmentId,
|
|
369
|
+
eventsCallbacks,
|
|
369
370
|
primaryWalletId,
|
|
370
371
|
secondaryWallets,
|
|
371
372
|
setUser,
|
|
373
|
+
user,
|
|
372
374
|
verifiedCredentials: (user === null || user === void 0 ? void 0 : user.verifiedCredentials) || [],
|
|
373
375
|
});
|
|
374
376
|
const { loadingNetwork, network, setNetwork } = useWalletEventListeners({
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
5
|
var React = require('react');
|
|
6
|
+
require('@dynamic-labs/wallet-connector-core');
|
|
6
7
|
require('@dynamic-labs/sdk-api');
|
|
7
8
|
require('../../../../shared/logger.cjs');
|
|
8
9
|
require('@dynamic-labs/iconic');
|
|
9
|
-
require('@dynamic-labs/wallet-connector-core');
|
|
10
10
|
require('react/jsx-runtime');
|
|
11
11
|
require('../../../ViewContext/ViewContext.cjs');
|
|
12
12
|
require('@dynamic-labs/wallet-book');
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useState, useEffect } from 'react';
|
|
2
|
+
import '@dynamic-labs/wallet-connector-core';
|
|
2
3
|
import '@dynamic-labs/sdk-api';
|
|
3
4
|
import '../../../../shared/logger.js';
|
|
4
5
|
import '@dynamic-labs/iconic';
|
|
5
|
-
import '@dynamic-labs/wallet-connector-core';
|
|
6
6
|
import 'react/jsx-runtime';
|
|
7
7
|
import '../../../ViewContext/ViewContext.js';
|
|
8
8
|
import '@dynamic-labs/wallet-book';
|
package/src/lib/data/api.cjs
CHANGED
|
@@ -430,9 +430,9 @@ const getOnrampProviders = ({ chain, environmentId, networkId, token, walletAddr
|
|
|
430
430
|
});
|
|
431
431
|
const sendDynamicProps = (environmentId, settingsToSend) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
432
432
|
try {
|
|
433
|
-
const { dynamicContextProps, dynamicWagmiSettings } = settingsToSend;
|
|
433
|
+
const { dynamicContextProps, dynamicWagmiSettings, frameworkSettings } = settingsToSend;
|
|
434
434
|
if (dynamicContextProps) {
|
|
435
|
-
yield sendDynamicContextSettings(environmentId, { dynamicContextProps }, helpers.isDynamicContextSessionSettingExpired, helpers.setDynamicContextSessionSettings);
|
|
435
|
+
yield sendDynamicContextSettings(environmentId, { dynamicContextProps, frameworkSettings }, helpers.isDynamicContextSessionSettingExpired, helpers.setDynamicContextSessionSettings);
|
|
436
436
|
}
|
|
437
437
|
if (dynamicWagmiSettings) {
|
|
438
438
|
yield sendDynamicContextSettings(environmentId, { dynamicWagmiSettings }, helpers.isWagmiSessionSettingExpired, helpers.setWagmiSessionSettings);
|
package/src/lib/data/api.d.ts
CHANGED
|
@@ -70,6 +70,7 @@ export declare const getOnrampProviders: ({ chain, environmentId, networkId, tok
|
|
|
70
70
|
export declare const sendDynamicProps: (environmentId: string, settingsToSend: {
|
|
71
71
|
dynamicContextProps?: object;
|
|
72
72
|
dynamicWagmiSettings?: object;
|
|
73
|
+
frameworkSettings?: object;
|
|
73
74
|
}) => Promise<void>;
|
|
74
75
|
export declare const mergeUserAccounts: (userJwt: string, environmentId: string) => Promise<string | undefined>;
|
|
75
76
|
export type CreateTurnkeyEvmEmbeddedWalletProps = {
|
package/src/lib/data/api.js
CHANGED
|
@@ -426,9 +426,9 @@ const getOnrampProviders = ({ chain, environmentId, networkId, token, walletAddr
|
|
|
426
426
|
});
|
|
427
427
|
const sendDynamicProps = (environmentId, settingsToSend) => __awaiter(void 0, void 0, void 0, function* () {
|
|
428
428
|
try {
|
|
429
|
-
const { dynamicContextProps, dynamicWagmiSettings } = settingsToSend;
|
|
429
|
+
const { dynamicContextProps, dynamicWagmiSettings, frameworkSettings } = settingsToSend;
|
|
430
430
|
if (dynamicContextProps) {
|
|
431
|
-
yield sendDynamicContextSettings(environmentId, { dynamicContextProps }, isDynamicContextSessionSettingExpired, setDynamicContextSessionSettings);
|
|
431
|
+
yield sendDynamicContextSettings(environmentId, { dynamicContextProps, frameworkSettings }, isDynamicContextSessionSettingExpired, setDynamicContextSessionSettings);
|
|
432
432
|
}
|
|
433
433
|
if (dynamicWagmiSettings) {
|
|
434
434
|
yield sendDynamicContextSettings(environmentId, { dynamicWagmiSettings }, isWagmiSessionSettingExpired, setWagmiSessionSettings);
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
export { useEffectOnce } from './useEffectOnce';
|
|
2
|
+
export { useForwardedRef } from './useForwardedRef';
|
|
3
|
+
export { useGlobalLoading } from './useGlobalLoading';
|
|
1
4
|
export { useLocalStorage } from './useLocalStorage';
|
|
5
|
+
export { useMediaQuery } from './useMediaQuery';
|
|
2
6
|
export { useOnClickOutside } from './useOnClickOutside';
|
|
3
7
|
export { usePreventPageScroll } from './usePreventPageScroll';
|
|
4
|
-
export
|
|
5
|
-
export { useMediaQuery } from './useMediaQuery';
|
|
6
|
-
export { useEffectOnce } from './useEffectOnce';
|
|
7
|
-
export { useForwardedRef } from './useForwardedRef';
|
|
8
|
+
export * from './useThrottle';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useThrottle';
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var React = require('react');
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* useThrottle hook to throttle a callback function.
|
|
9
|
+
*
|
|
10
|
+
* @param callback - The callback function to be throttled. It must return void.
|
|
11
|
+
* @param delay - The time in milliseconds to wait before the next call.
|
|
12
|
+
* @returns A throttled version of the callback function.
|
|
13
|
+
*/
|
|
14
|
+
const useThrottle = (callback, delay) => {
|
|
15
|
+
const isThrottled = React.useRef(false);
|
|
16
|
+
const savedCallback = React.useRef(callback);
|
|
17
|
+
// Remember the latest callback if it changes.
|
|
18
|
+
savedCallback.current = callback;
|
|
19
|
+
return React.useCallback((...args) => {
|
|
20
|
+
if (!isThrottled.current) {
|
|
21
|
+
savedCallback.current(...args);
|
|
22
|
+
isThrottled.current = true;
|
|
23
|
+
// Set the throttle off after the delay
|
|
24
|
+
setTimeout(() => (isThrottled.current = false), delay);
|
|
25
|
+
}
|
|
26
|
+
}, [delay]);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
exports.useThrottle = useThrottle;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* useThrottle hook to throttle a callback function.
|
|
3
|
+
*
|
|
4
|
+
* @param callback - The callback function to be throttled. It must return void.
|
|
5
|
+
* @param delay - The time in milliseconds to wait before the next call.
|
|
6
|
+
* @returns A throttled version of the callback function.
|
|
7
|
+
*/
|
|
8
|
+
export declare const useThrottle: <T extends (...args: unknown[]) => void>(callback: T, delay: number) => (...args: Parameters<T>) => void;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { useRef, useCallback } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* useThrottle hook to throttle a callback function.
|
|
5
|
+
*
|
|
6
|
+
* @param callback - The callback function to be throttled. It must return void.
|
|
7
|
+
* @param delay - The time in milliseconds to wait before the next call.
|
|
8
|
+
* @returns A throttled version of the callback function.
|
|
9
|
+
*/
|
|
10
|
+
const useThrottle = (callback, delay) => {
|
|
11
|
+
const isThrottled = useRef(false);
|
|
12
|
+
const savedCallback = useRef(callback);
|
|
13
|
+
// Remember the latest callback if it changes.
|
|
14
|
+
savedCallback.current = callback;
|
|
15
|
+
return useCallback((...args) => {
|
|
16
|
+
if (!isThrottled.current) {
|
|
17
|
+
savedCallback.current(...args);
|
|
18
|
+
isThrottled.current = true;
|
|
19
|
+
// Set the throttle off after the delay
|
|
20
|
+
setTimeout(() => (isThrottled.current = false), delay);
|
|
21
|
+
}
|
|
22
|
+
}, [delay]);
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export { useThrottle };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './getWalletIdentifier';
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export * from './createOwnerWallet';
|
|
1
2
|
export * from './createUserProfile';
|
|
2
3
|
export * from './digestSHA256';
|
|
3
4
|
export * from './encodeBase64URL';
|
|
@@ -23,12 +24,15 @@ export * from './getUserProfileFields';
|
|
|
23
24
|
export * from './getUserWalletsFromVerifiedCredentials';
|
|
24
25
|
export * from './getVerifyArgs';
|
|
25
26
|
export * from './getWalletConnectorNetworks/getWalletConnectorNetworks';
|
|
27
|
+
export * from './getWalletIdentifier';
|
|
26
28
|
export * from './groupBy';
|
|
29
|
+
export * from './isAccountAbstractionWallet';
|
|
27
30
|
export * from './isEmailProviderEnabled';
|
|
28
31
|
export * from './isEmbeddedWalletPresent';
|
|
29
32
|
export * from './isMagicConnector';
|
|
30
33
|
export * from './isNetworkUnsupported';
|
|
31
34
|
export * from './isOnrampProvider';
|
|
35
|
+
export * from './isPasskeyEnabled';
|
|
32
36
|
export * from './isProgrammableNetworkSwitchSupported';
|
|
33
37
|
export * from './isProviderEnabled';
|
|
34
38
|
export * from './isSocialKycEnabled';
|
|
@@ -38,11 +42,9 @@ export * from './isTurnkeyEnabled';
|
|
|
38
42
|
export * from './isWalletConnected';
|
|
39
43
|
export * from './pixelToRem';
|
|
40
44
|
export * from './randomString';
|
|
45
|
+
export * from './removeElementById';
|
|
41
46
|
export * from './requiresTwoStepAuthentication';
|
|
42
47
|
export * from './sendTransactionWithAutoNonce';
|
|
43
48
|
export * from './shouldManuallyReconnectOnRefresh';
|
|
44
49
|
export * from './storeAuthToken';
|
|
45
50
|
export * from './stringifyURIQuery';
|
|
46
|
-
export * from './removeElementById';
|
|
47
|
-
export * from './isAccountAbstractionWallet';
|
|
48
|
-
export * from './createOwnerWallet';
|
|
@@ -9,6 +9,15 @@ var isWalletLinked = require('../../../functions/isWalletLinked/isWalletLinked.c
|
|
|
9
9
|
var ViewContext = require('../../../../context/ViewContext/ViewContext.cjs');
|
|
10
10
|
var useInternalDynamicContext = require('../../../../context/DynamicContext/useInternalDynamicContext.cjs');
|
|
11
11
|
var errors = require('../../../constants/errors.cjs');
|
|
12
|
+
require('@dynamic-labs/sdk-api');
|
|
13
|
+
var logger = require('../../../../shared/logger.cjs');
|
|
14
|
+
require('@dynamic-labs/iconic');
|
|
15
|
+
require('react/jsx-runtime');
|
|
16
|
+
require('@dynamic-labs/wallet-book');
|
|
17
|
+
require('../../../constants/colors.cjs');
|
|
18
|
+
require('../../../../shared/utils/classes/storage/localStorage.cjs');
|
|
19
|
+
require('viem');
|
|
20
|
+
require('../../../../shared/consts/index.cjs');
|
|
12
21
|
|
|
13
22
|
const useSyncPrimaryWallet = (canSync = true) => {
|
|
14
23
|
const { setShowAuthFlow, isAuthenticated, authMode, connectWallet, handleLogOut, multiWalletWidgetState, primaryWallet, secondaryWallets, setMultiWalletWidgetState, setPrimaryWallet, setShowWidgetStatePopup, showLockedWalletView, showWidgetStatePopup, setSelectedWalletWithAction, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
@@ -76,6 +85,10 @@ const useSyncPrimaryWallet = (canSync = true) => {
|
|
|
76
85
|
primaryWallet.connector
|
|
77
86
|
.getConnectedAccounts()
|
|
78
87
|
.then((accounts) => {
|
|
88
|
+
logger.logger.debug('Sync primary wallet - getConnectedAccounts', {
|
|
89
|
+
accounts,
|
|
90
|
+
primaryWalletAddress: primaryWallet.address,
|
|
91
|
+
});
|
|
79
92
|
const [connectedAddress] = accounts;
|
|
80
93
|
if (!connectedAddress) {
|
|
81
94
|
throw new utils.DynamicError('Missing wallet address', errors.MISSING_ADDRESS_ERROR);
|
|
@@ -100,9 +113,7 @@ const useSyncPrimaryWallet = (canSync = true) => {
|
|
|
100
113
|
if (showLockedWalletView) {
|
|
101
114
|
setShowAuthFlow(true);
|
|
102
115
|
setView('wallet-locked-view');
|
|
103
|
-
return;
|
|
104
116
|
}
|
|
105
|
-
handleLogOut();
|
|
106
117
|
}
|
|
107
118
|
});
|
|
108
119
|
}, [
|
|
@@ -5,6 +5,15 @@ import { isWalletLinked } from '../../../functions/isWalletLinked/isWalletLinked
|
|
|
5
5
|
import { useViewContext } from '../../../../context/ViewContext/ViewContext.js';
|
|
6
6
|
import { useInternalDynamicContext } from '../../../../context/DynamicContext/useInternalDynamicContext.js';
|
|
7
7
|
import { MISSING_ADDRESS_ERROR } from '../../../constants/errors.js';
|
|
8
|
+
import '@dynamic-labs/sdk-api';
|
|
9
|
+
import { logger } from '../../../../shared/logger.js';
|
|
10
|
+
import '@dynamic-labs/iconic';
|
|
11
|
+
import 'react/jsx-runtime';
|
|
12
|
+
import '@dynamic-labs/wallet-book';
|
|
13
|
+
import '../../../constants/colors.js';
|
|
14
|
+
import '../../../../shared/utils/classes/storage/localStorage.js';
|
|
15
|
+
import 'viem';
|
|
16
|
+
import '../../../../shared/consts/index.js';
|
|
8
17
|
|
|
9
18
|
const useSyncPrimaryWallet = (canSync = true) => {
|
|
10
19
|
const { setShowAuthFlow, isAuthenticated, authMode, connectWallet, handleLogOut, multiWalletWidgetState, primaryWallet, secondaryWallets, setMultiWalletWidgetState, setPrimaryWallet, setShowWidgetStatePopup, showLockedWalletView, showWidgetStatePopup, setSelectedWalletWithAction, } = useInternalDynamicContext();
|
|
@@ -72,6 +81,10 @@ const useSyncPrimaryWallet = (canSync = true) => {
|
|
|
72
81
|
primaryWallet.connector
|
|
73
82
|
.getConnectedAccounts()
|
|
74
83
|
.then((accounts) => {
|
|
84
|
+
logger.debug('Sync primary wallet - getConnectedAccounts', {
|
|
85
|
+
accounts,
|
|
86
|
+
primaryWalletAddress: primaryWallet.address,
|
|
87
|
+
});
|
|
75
88
|
const [connectedAddress] = accounts;
|
|
76
89
|
if (!connectedAddress) {
|
|
77
90
|
throw new DynamicError('Missing wallet address', MISSING_ADDRESS_ERROR);
|
|
@@ -96,9 +109,7 @@ const useSyncPrimaryWallet = (canSync = true) => {
|
|
|
96
109
|
if (showLockedWalletView) {
|
|
97
110
|
setShowAuthFlow(true);
|
|
98
111
|
setView('wallet-locked-view');
|
|
99
|
-
return;
|
|
100
112
|
}
|
|
101
|
-
handleLogOut();
|
|
102
113
|
}
|
|
103
114
|
});
|
|
104
115
|
}, [
|
|
@@ -13,8 +13,8 @@ require('@dynamic-labs/wallet-book');
|
|
|
13
13
|
require('../../constants/colors.cjs');
|
|
14
14
|
require('../../../shared/utils/classes/storage/localStorage.cjs');
|
|
15
15
|
require('viem');
|
|
16
|
-
require('@dynamic-labs/utils');
|
|
17
16
|
var useMediaQuery = require('../../../shared/utils/hooks/useMediaQuery/useMediaQuery.cjs');
|
|
17
|
+
require('@dynamic-labs/utils');
|
|
18
18
|
require('../../../shared/consts/index.cjs');
|
|
19
19
|
|
|
20
20
|
const useColorSchemePreference = () => {
|
|
@@ -9,8 +9,8 @@ import '@dynamic-labs/wallet-book';
|
|
|
9
9
|
import '../../constants/colors.js';
|
|
10
10
|
import '../../../shared/utils/classes/storage/localStorage.js';
|
|
11
11
|
import 'viem';
|
|
12
|
-
import '@dynamic-labs/utils';
|
|
13
12
|
import { useMediaQuery } from '../../../shared/utils/hooks/useMediaQuery/useMediaQuery.js';
|
|
13
|
+
import '@dynamic-labs/utils';
|
|
14
14
|
import '../../../shared/consts/index.js';
|
|
15
15
|
|
|
16
16
|
const useColorSchemePreference = () => {
|
|
@@ -5,10 +5,10 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var React = require('react');
|
|
6
6
|
var useInternalDynamicContext = require('../../../context/DynamicContext/useInternalDynamicContext.cjs');
|
|
7
7
|
var ViewContext = require('../../../context/ViewContext/ViewContext.cjs');
|
|
8
|
+
require('@dynamic-labs/wallet-connector-core');
|
|
8
9
|
require('@dynamic-labs/sdk-api');
|
|
9
10
|
require('../../../shared/logger.cjs');
|
|
10
11
|
require('@dynamic-labs/iconic');
|
|
11
|
-
require('@dynamic-labs/wallet-connector-core');
|
|
12
12
|
require('react/jsx-runtime');
|
|
13
13
|
require('@dynamic-labs/wallet-book');
|
|
14
14
|
require('../../constants/colors.cjs');
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { useEffect } from 'react';
|
|
2
2
|
import { useInternalDynamicContext } from '../../../context/DynamicContext/useInternalDynamicContext.js';
|
|
3
3
|
import { useViewContext } from '../../../context/ViewContext/ViewContext.js';
|
|
4
|
+
import '@dynamic-labs/wallet-connector-core';
|
|
4
5
|
import '@dynamic-labs/sdk-api';
|
|
5
6
|
import '../../../shared/logger.js';
|
|
6
7
|
import '@dynamic-labs/iconic';
|
|
7
|
-
import '@dynamic-labs/wallet-connector-core';
|
|
8
8
|
import 'react/jsx-runtime';
|
|
9
9
|
import '@dynamic-labs/wallet-book';
|
|
10
10
|
import '../../constants/colors.js';
|
|
@@ -10,9 +10,9 @@ var ViewContext = require('../../../context/ViewContext/ViewContext.cjs');
|
|
|
10
10
|
var useWalletItemActions = require('../useWalletItemActions/useWalletItemActions.cjs');
|
|
11
11
|
var useConnectWithEmail = require('../useConnectWithEmail/useConnectWithEmail.cjs');
|
|
12
12
|
var api = require('../../../data/api.cjs');
|
|
13
|
+
require('@dynamic-labs/wallet-connector-core');
|
|
13
14
|
require('../../../shared/logger.cjs');
|
|
14
15
|
require('@dynamic-labs/iconic');
|
|
15
|
-
require('@dynamic-labs/wallet-connector-core');
|
|
16
16
|
require('react/jsx-runtime');
|
|
17
17
|
require('react');
|
|
18
18
|
require('@dynamic-labs/wallet-book');
|
|
@@ -6,9 +6,9 @@ import { useViewContext } from '../../../context/ViewContext/ViewContext.js';
|
|
|
6
6
|
import { useWalletItemActions } from '../useWalletItemActions/useWalletItemActions.js';
|
|
7
7
|
import { useConnectWithEmail } from '../useConnectWithEmail/useConnectWithEmail.js';
|
|
8
8
|
import { getEmailProvider, createEmailVerification } from '../../../data/api.js';
|
|
9
|
+
import '@dynamic-labs/wallet-connector-core';
|
|
9
10
|
import '../../../shared/logger.js';
|
|
10
11
|
import '@dynamic-labs/iconic';
|
|
11
|
-
import '@dynamic-labs/wallet-connector-core';
|
|
12
12
|
import 'react/jsx-runtime';
|
|
13
13
|
import 'react';
|
|
14
14
|
import '@dynamic-labs/wallet-book';
|
|
@@ -61,7 +61,7 @@ const useEmbeddedWallet = () => {
|
|
|
61
61
|
internalSetShowAuthFlow,
|
|
62
62
|
internalEvents,
|
|
63
63
|
]);
|
|
64
|
-
const startEmbeddedWalletCreationFlow = () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
64
|
+
const startEmbeddedWalletCreationFlow = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
65
65
|
internalSetShowAuthFlow(true);
|
|
66
66
|
setView('passkey-intro');
|
|
67
67
|
return new Promise((resolve, reject) => {
|
|
@@ -70,15 +70,16 @@ const useEmbeddedWallet = () => {
|
|
|
70
70
|
// when creating a passkey, if user cancels the passkey modal more than once
|
|
71
71
|
// it will throw this DOMException, but we don't want to let user to have access
|
|
72
72
|
// to the app before they've a passkey correctly setup
|
|
73
|
-
if (error instanceof DOMException &&
|
|
73
|
+
if (error instanceof DOMException &&
|
|
74
|
+
error.name === 'NotAllowedError') {
|
|
74
75
|
logger.logger.error('User cancelled the passkey creation.', error);
|
|
75
76
|
return;
|
|
76
77
|
}
|
|
77
78
|
reject(error);
|
|
78
79
|
});
|
|
79
80
|
});
|
|
80
|
-
});
|
|
81
|
-
const returnEmbeddedWallet = (jwt, embeddedWalletVerifiedCredential) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
81
|
+
}), [internalEvents, internalSetShowAuthFlow, setView]);
|
|
82
|
+
const returnEmbeddedWallet = React.useCallback((jwt, embeddedWalletVerifiedCredential) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
82
83
|
var _a, _b, _c, _d;
|
|
83
84
|
const decodedJwt = decodeJwt.decodeJwt(jwt);
|
|
84
85
|
const turnkeyWallet = findTurnkeyWallet.findTurnkeyWallet(walletConnectorOptions);
|
|
@@ -109,7 +110,7 @@ const useEmbeddedWallet = () => {
|
|
|
109
110
|
id: embeddedWalletVerifiedCredential.id,
|
|
110
111
|
};
|
|
111
112
|
return Promise.resolve(passkeyWallet);
|
|
112
|
-
});
|
|
113
|
+
}), [setPrimaryWalletId, walletConnectorOptions]);
|
|
113
114
|
const createEmbeddedWallet = React.useCallback(() => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
114
115
|
var _e, _f, _g;
|
|
115
116
|
const jwt = (_e = getAuthToken.getAuthToken()) !== null && _e !== void 0 ? _e : onboardingOnlyJwt;
|
|
@@ -132,14 +133,21 @@ const useEmbeddedWallet = () => {
|
|
|
132
133
|
const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials.findEmbeddedWalletFromVerifiedCredentials(jwt);
|
|
133
134
|
// if user logged in with MM for example, just continue the flow
|
|
134
135
|
if (!embeddedWalletVerifiedCredential) {
|
|
136
|
+
// user logged in through an email linked to a third party wallet
|
|
137
|
+
// at this point primary wallet is still undefined and we need to set it
|
|
138
|
+
if (!primaryWallet) {
|
|
139
|
+
setPrimaryWalletId(userWaletsCredentials[0].id);
|
|
140
|
+
}
|
|
135
141
|
return Promise.resolve(primaryWallet);
|
|
136
142
|
}
|
|
137
143
|
// if user already has embedded wallet, returns it
|
|
138
144
|
return returnEmbeddedWallet(jwt, embeddedWalletVerifiedCredential);
|
|
139
145
|
}), [
|
|
140
|
-
internalSetShowAuthFlow,
|
|
141
146
|
onboardingOnlyJwt,
|
|
142
147
|
projectSettings,
|
|
148
|
+
internalSetShowAuthFlow,
|
|
149
|
+
returnEmbeddedWallet,
|
|
150
|
+
startEmbeddedWalletCreationFlow,
|
|
143
151
|
startPregeneratedWalletCreationFlow,
|
|
144
152
|
primaryWallet,
|
|
145
153
|
]);
|
|
@@ -57,7 +57,7 @@ const useEmbeddedWallet = () => {
|
|
|
57
57
|
internalSetShowAuthFlow,
|
|
58
58
|
internalEvents,
|
|
59
59
|
]);
|
|
60
|
-
const startEmbeddedWalletCreationFlow = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
60
|
+
const startEmbeddedWalletCreationFlow = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
61
61
|
internalSetShowAuthFlow(true);
|
|
62
62
|
setView('passkey-intro');
|
|
63
63
|
return new Promise((resolve, reject) => {
|
|
@@ -66,15 +66,16 @@ const useEmbeddedWallet = () => {
|
|
|
66
66
|
// when creating a passkey, if user cancels the passkey modal more than once
|
|
67
67
|
// it will throw this DOMException, but we don't want to let user to have access
|
|
68
68
|
// to the app before they've a passkey correctly setup
|
|
69
|
-
if (error instanceof DOMException &&
|
|
69
|
+
if (error instanceof DOMException &&
|
|
70
|
+
error.name === 'NotAllowedError') {
|
|
70
71
|
logger.error('User cancelled the passkey creation.', error);
|
|
71
72
|
return;
|
|
72
73
|
}
|
|
73
74
|
reject(error);
|
|
74
75
|
});
|
|
75
76
|
});
|
|
76
|
-
});
|
|
77
|
-
const returnEmbeddedWallet = (jwt, embeddedWalletVerifiedCredential) => __awaiter(void 0, void 0, void 0, function* () {
|
|
77
|
+
}), [internalEvents, internalSetShowAuthFlow, setView]);
|
|
78
|
+
const returnEmbeddedWallet = useCallback((jwt, embeddedWalletVerifiedCredential) => __awaiter(void 0, void 0, void 0, function* () {
|
|
78
79
|
var _a, _b, _c, _d;
|
|
79
80
|
const decodedJwt = decodeJwt(jwt);
|
|
80
81
|
const turnkeyWallet = findTurnkeyWallet(walletConnectorOptions);
|
|
@@ -105,7 +106,7 @@ const useEmbeddedWallet = () => {
|
|
|
105
106
|
id: embeddedWalletVerifiedCredential.id,
|
|
106
107
|
};
|
|
107
108
|
return Promise.resolve(passkeyWallet);
|
|
108
|
-
});
|
|
109
|
+
}), [setPrimaryWalletId, walletConnectorOptions]);
|
|
109
110
|
const createEmbeddedWallet = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
110
111
|
var _e, _f, _g;
|
|
111
112
|
const jwt = (_e = getAuthToken()) !== null && _e !== void 0 ? _e : onboardingOnlyJwt;
|
|
@@ -128,14 +129,21 @@ const useEmbeddedWallet = () => {
|
|
|
128
129
|
const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials(jwt);
|
|
129
130
|
// if user logged in with MM for example, just continue the flow
|
|
130
131
|
if (!embeddedWalletVerifiedCredential) {
|
|
132
|
+
// user logged in through an email linked to a third party wallet
|
|
133
|
+
// at this point primary wallet is still undefined and we need to set it
|
|
134
|
+
if (!primaryWallet) {
|
|
135
|
+
setPrimaryWalletId(userWaletsCredentials[0].id);
|
|
136
|
+
}
|
|
131
137
|
return Promise.resolve(primaryWallet);
|
|
132
138
|
}
|
|
133
139
|
// if user already has embedded wallet, returns it
|
|
134
140
|
return returnEmbeddedWallet(jwt, embeddedWalletVerifiedCredential);
|
|
135
141
|
}), [
|
|
136
|
-
internalSetShowAuthFlow,
|
|
137
142
|
onboardingOnlyJwt,
|
|
138
143
|
projectSettings,
|
|
144
|
+
internalSetShowAuthFlow,
|
|
145
|
+
returnEmbeddedWallet,
|
|
146
|
+
startEmbeddedWalletCreationFlow,
|
|
139
147
|
startPregeneratedWalletCreationFlow,
|
|
140
148
|
primaryWallet,
|
|
141
149
|
]);
|
|
@@ -16,8 +16,8 @@ var localStorage = require('../../constants/localStorage.cjs');
|
|
|
16
16
|
require('../../constants/colors.cjs');
|
|
17
17
|
var localStorage$1 = require('../../../shared/utils/classes/storage/localStorage.cjs');
|
|
18
18
|
require('viem');
|
|
19
|
-
var useLocalStorage = require('../../../shared/utils/hooks/useLocalStorage/useLocalStorage.cjs');
|
|
20
19
|
var useEffectOnce = require('../../../shared/utils/hooks/useEffectOnce/useEffectOnce.cjs');
|
|
20
|
+
var useLocalStorage = require('../../../shared/utils/hooks/useLocalStorage/useLocalStorage.cjs');
|
|
21
21
|
require('../../../shared/consts/index.cjs');
|
|
22
22
|
var validators = require('../../../context/DynamicContext/validators.cjs');
|
|
23
23
|
|
|
@@ -61,6 +61,7 @@ const useFetchProjectSettings = ({ authToken, environmentId, maxRetries = 2, dyn
|
|
|
61
61
|
const serializedDynamicContextProps = Object.assign(Object.assign({}, updatedDynamicProps), { settings: Object.assign(Object.assign({}, updatedDynamicProps.settings), { eventsCallbacks: serializedEventsCallbacks, walletConnectors: serializedWalletConnectors }) });
|
|
62
62
|
api.sendDynamicProps(environmentId, {
|
|
63
63
|
dynamicContextProps: serializedDynamicContextProps,
|
|
64
|
+
frameworkSettings: getFrameworkSettings(),
|
|
64
65
|
});
|
|
65
66
|
api.fetchProjectSettings(environmentId)
|
|
66
67
|
.then((response) => {
|
|
@@ -123,6 +124,19 @@ const serializeWalletConnectors = (walletConnectors) => {
|
|
|
123
124
|
return undefined;
|
|
124
125
|
}
|
|
125
126
|
};
|
|
127
|
+
const getFrameworkSettings = () => {
|
|
128
|
+
var _a;
|
|
129
|
+
return ({
|
|
130
|
+
nextJs: {
|
|
131
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
132
|
+
// @ts-ignore
|
|
133
|
+
version: (_a = window.next) === null || _a === void 0 ? void 0 : _a.version,
|
|
134
|
+
},
|
|
135
|
+
react: {
|
|
136
|
+
version: React.version,
|
|
137
|
+
},
|
|
138
|
+
});
|
|
139
|
+
};
|
|
126
140
|
|
|
127
141
|
exports.serializeEventsCallbacks = serializeEventsCallbacks;
|
|
128
142
|
exports.serializeWalletConnectors = serializeWalletConnectors;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useState, useEffect, useMemo } from 'react';
|
|
1
|
+
import { useState, useEffect, useMemo, version } from 'react';
|
|
2
2
|
import { DynamicError } from '@dynamic-labs/utils';
|
|
3
3
|
import { sendDynamicProps, fetchProjectSettings } from '../../../data/api.js';
|
|
4
4
|
import '@dynamic-labs/sdk-api';
|
|
@@ -12,8 +12,8 @@ import { PROJECT_SETTINGS_STORAGE_KEY, CONNECTED_WALLETS_INFO } from '../../cons
|
|
|
12
12
|
import '../../constants/colors.js';
|
|
13
13
|
import { LocalStorage } from '../../../shared/utils/classes/storage/localStorage.js';
|
|
14
14
|
import 'viem';
|
|
15
|
-
import { useLocalStorage } from '../../../shared/utils/hooks/useLocalStorage/useLocalStorage.js';
|
|
16
15
|
import { useEffectOnce } from '../../../shared/utils/hooks/useEffectOnce/useEffectOnce.js';
|
|
16
|
+
import { useLocalStorage } from '../../../shared/utils/hooks/useLocalStorage/useLocalStorage.js';
|
|
17
17
|
import '../../../shared/consts/index.js';
|
|
18
18
|
import { validateLocalStorageExpiry } from '../../../context/DynamicContext/validators.js';
|
|
19
19
|
|
|
@@ -57,6 +57,7 @@ const useFetchProjectSettings = ({ authToken, environmentId, maxRetries = 2, dyn
|
|
|
57
57
|
const serializedDynamicContextProps = Object.assign(Object.assign({}, updatedDynamicProps), { settings: Object.assign(Object.assign({}, updatedDynamicProps.settings), { eventsCallbacks: serializedEventsCallbacks, walletConnectors: serializedWalletConnectors }) });
|
|
58
58
|
sendDynamicProps(environmentId, {
|
|
59
59
|
dynamicContextProps: serializedDynamicContextProps,
|
|
60
|
+
frameworkSettings: getFrameworkSettings(),
|
|
60
61
|
});
|
|
61
62
|
fetchProjectSettings(environmentId)
|
|
62
63
|
.then((response) => {
|
|
@@ -119,5 +120,18 @@ const serializeWalletConnectors = (walletConnectors) => {
|
|
|
119
120
|
return undefined;
|
|
120
121
|
}
|
|
121
122
|
};
|
|
123
|
+
const getFrameworkSettings = () => {
|
|
124
|
+
var _a;
|
|
125
|
+
return ({
|
|
126
|
+
nextJs: {
|
|
127
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
128
|
+
// @ts-ignore
|
|
129
|
+
version: (_a = window.next) === null || _a === void 0 ? void 0 : _a.version,
|
|
130
|
+
},
|
|
131
|
+
react: {
|
|
132
|
+
version,
|
|
133
|
+
},
|
|
134
|
+
});
|
|
135
|
+
};
|
|
122
136
|
|
|
123
137
|
export { serializeEventsCallbacks, serializeWalletConnectors, useFetchProjectSettings };
|
|
@@ -20,7 +20,7 @@ require('../../../shared/consts/index.cjs');
|
|
|
20
20
|
var handleUnlinkHelper = require('../../functions/handleUnlinkHelper/handleUnlinkHelper.cjs');
|
|
21
21
|
var isSameWalletName = require('../../functions/isSameWalletName/isSameWalletName.cjs');
|
|
22
22
|
|
|
23
|
-
const useHandleUnlinkWallet = ({ verifiedCredentials, environmentId, primaryWalletId, secondaryWallets, setUser, }) => {
|
|
23
|
+
const useHandleUnlinkWallet = ({ verifiedCredentials, environmentId, primaryWalletId, secondaryWallets, setUser, user, eventsCallbacks, }) => {
|
|
24
24
|
const callback = React.useCallback((walletId) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
25
25
|
var _a;
|
|
26
26
|
// when we call handleUnlinkWallet on the same execution stack as setPrimaryWallet, the value of
|
|
@@ -35,6 +35,7 @@ const useHandleUnlinkWallet = ({ verifiedCredentials, environmentId, primaryWall
|
|
|
35
35
|
const currentPrimaryWalletId = (_a = localStorage.LocalStorage.getFromLS(localStorage$1.PRIMARY_WALLET_ID)) !== null && _a !== void 0 ? _a : primaryWalletId;
|
|
36
36
|
if (walletId === currentPrimaryWalletId)
|
|
37
37
|
return;
|
|
38
|
+
const vcWalletFromId = user === null || user === void 0 ? void 0 : user.verifiedCredentials.find((wallet) => wallet.id === walletId);
|
|
38
39
|
const newUser = yield handleUnlinkHelper.handleUnlinkHelper({
|
|
39
40
|
environmentId,
|
|
40
41
|
primaryWalletId: currentPrimaryWalletId,
|
|
@@ -50,12 +51,17 @@ const useHandleUnlinkWallet = ({ verifiedCredentials, environmentId, primaryWall
|
|
|
50
51
|
if (numberOfLinkedWallets === 1) {
|
|
51
52
|
yield (wallet === null || wallet === void 0 ? void 0 : wallet.connector.endSession());
|
|
52
53
|
}
|
|
54
|
+
if (vcWalletFromId && (eventsCallbacks === null || eventsCallbacks === void 0 ? void 0 : eventsCallbacks.onUnlinkSuccess)) {
|
|
55
|
+
eventsCallbacks.onUnlinkSuccess(vcWalletFromId);
|
|
56
|
+
}
|
|
53
57
|
}), [
|
|
54
58
|
primaryWalletId,
|
|
55
59
|
environmentId,
|
|
56
60
|
secondaryWallets,
|
|
57
61
|
setUser,
|
|
58
62
|
verifiedCredentials,
|
|
63
|
+
eventsCallbacks,
|
|
64
|
+
user,
|
|
59
65
|
]);
|
|
60
66
|
return callback;
|
|
61
67
|
};
|