@dynamic-labs/sdk-react-core 2.1.0-alpha.1 → 2.1.0-alpha.11
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 +92 -0
- package/package.cjs +2 -2
- package/package.js +2 -2
- package/package.json +13 -14
- package/src/index.cjs +8 -2
- package/src/index.d.ts +2 -1
- package/src/index.js +4 -1
- package/src/lib/Main.cjs +7 -0
- package/src/lib/Main.js +7 -0
- package/src/lib/components/Alert/Alert.cjs +2 -2
- package/src/lib/components/Alert/Alert.js +2 -2
- package/src/lib/components/Alert/Alert.types.d.ts +1 -0
- package/src/lib/components/EmailForm/EmailForm.cjs +1 -1
- package/src/lib/components/EmailForm/EmailForm.js +1 -1
- package/src/lib/components/PhoneNumberField/PhoneNumberField.cjs +1 -1
- package/src/lib/components/PhoneNumberField/PhoneNumberField.js +1 -1
- package/src/lib/components/Portal/Portal.cjs +2 -1
- package/src/lib/components/Portal/Portal.js +2 -1
- package/src/lib/components/RadioButton/RadioButton.cjs +14 -0
- package/src/lib/components/RadioButton/RadioButton.d.ts +5 -0
- package/src/lib/components/RadioButton/RadioButton.js +10 -0
- package/src/lib/components/RadioButton/index.d.ts +1 -0
- package/src/lib/components/Tooltip/Tooltip.cjs +2 -1
- package/src/lib/components/Tooltip/Tooltip.js +2 -1
- package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.cjs +1 -1
- package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.d.ts +2 -1
- package/src/lib/components/UserProfile/parts/UserProfileField/UserProfileField.js +1 -1
- package/src/lib/components/index.d.ts +1 -0
- package/src/lib/context/DynamicContext/DynamicContext.cjs +23 -7
- package/src/lib/context/DynamicContext/DynamicContext.d.ts +5 -0
- package/src/lib/context/DynamicContext/DynamicContext.js +20 -4
- package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.cjs +2 -2
- package/src/lib/context/DynamicContext/hooks/useTieCallbacksToEvents/useTieCallbacksToEvents.js +2 -2
- package/src/lib/context/DynamicContext/types/index.d.ts +0 -1
- package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.cjs +5 -2
- package/src/lib/context/DynamicContext/useCustomerCallbacks/useCustomerCallbacks.js +5 -2
- package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.cjs +2 -1
- package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.d.ts +1 -1
- package/src/lib/context/DynamicContext/useDynamicContext/useDynamicContext.js +2 -1
- package/src/lib/context/ErrorBoundary/ErrorBoundary.cjs +64 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundary.d.ts +3 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundary.js +60 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundaryBase.cjs +40 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundaryBase.d.ts +14 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundaryBase.js +36 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundaryContext.cjs +24 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundaryContext.d.ts +5 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundaryContext.js +18 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundaryExclude.cjs +17 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundaryExclude.d.ts +4 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundaryExclude.js +13 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundaryInclude.cjs +17 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundaryInclude.d.ts +4 -0
- package/src/lib/context/ErrorBoundary/ErrorBoundaryInclude.js +13 -0
- package/src/lib/context/ErrorBoundary/index.d.ts +3 -0
- package/src/lib/context/ErrorBoundary/types.d.ts +13 -0
- package/src/lib/context/ViewContext/ViewContext.cjs +2 -2
- package/src/lib/context/ViewContext/ViewContext.js +2 -2
- package/src/lib/context/ViewContext/types/index.d.ts +7 -2
- package/src/lib/data/api/chains/balances.cjs +38 -0
- package/src/lib/data/api/chains/balances.d.ts +8 -0
- package/src/lib/data/api/chains/balances.js +34 -0
- package/src/lib/data/api/chains/index.d.ts +1 -0
- package/src/lib/data/api/user/user.cjs +16 -0
- package/src/lib/data/api/user/user.js +16 -1
- package/src/lib/data/api/wallets/wallets.cjs +26 -6
- package/src/lib/data/api/wallets/wallets.d.ts +4 -0
- package/src/lib/data/api/wallets/wallets.js +26 -7
- package/src/lib/events/dynamicEvents.d.ts +1 -1
- package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +6 -0
- package/src/lib/layout/DynamicAuthLayout/Header/header.js +6 -0
- package/src/lib/locale/en/translation.cjs +45 -4
- package/src/lib/locale/en/translation.d.ts +44 -3
- package/src/lib/locale/en/translation.js +45 -4
- package/src/lib/shared/types/dynamicEventsCallbacks.d.ts +2 -1
- package/src/lib/shared/types/general.d.ts +1 -0
- package/src/lib/shared/utils/classes/storage/localStorage.cjs +2 -2
- package/src/lib/shared/utils/classes/storage/localStorage.js +2 -2
- package/src/lib/styles/index.shadow.cjs +1 -1
- package/src/lib/styles/index.shadow.js +1 -1
- package/src/lib/utils/constants/errors.cjs +2 -2
- package/src/lib/utils/constants/errors.d.ts +1 -0
- package/src/lib/utils/constants/errors.js +2 -2
- package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.cjs +14 -0
- package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.d.ts +3 -0
- package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/addPasskeyIdentifierToWalletConnector.js +10 -0
- package/src/lib/utils/functions/addPasskeyIdentifierToWalletConnector/index.d.ts +1 -0
- package/src/lib/utils/functions/createUserProfile/createUserProfile.cjs +1 -2
- package/src/lib/utils/functions/createUserProfile/createUserProfile.js +1 -2
- package/src/lib/utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.cjs +3 -4
- package/src/lib/utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.d.ts +1 -1
- package/src/lib/utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.js +4 -5
- package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.cjs +12 -9
- package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.d.ts +8 -2
- package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.js +13 -10
- package/src/lib/utils/functions/findTurnkeyWallet/index.d.ts +1 -1
- package/src/lib/utils/functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.cjs +5 -5
- package/src/lib/utils/functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.d.ts +3 -2
- package/src/lib/utils/functions/getUserVerifiedCredentialType/getUserVerifiedCredentialType.js +5 -5
- package/src/lib/utils/functions/hasEmbeddedWallet/hasEmbeddedWallet.cjs +7 -2
- package/src/lib/utils/functions/hasEmbeddedWallet/hasEmbeddedWallet.js +7 -2
- package/src/lib/utils/functions/index.d.ts +2 -1
- package/src/lib/utils/functions/serializeWalletConnectors/index.d.ts +1 -0
- package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.cjs +32 -0
- package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.d.ts +2 -0
- package/src/lib/utils/functions/serializeWalletConnectors/serializeWalletConnectors.js +28 -0
- package/src/lib/utils/hooks/index.d.ts +2 -0
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +22 -17
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +22 -17
- package/src/lib/utils/hooks/useConfirmationModal/useConfirmationModal.cjs +2 -1
- package/src/lib/utils/hooks/useConfirmationModal/useConfirmationModal.js +2 -1
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs +22 -18
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.d.ts +7 -2
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js +22 -18
- package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.cjs +8 -0
- package/src/lib/utils/hooks/useDynamicLayoutData/useDynamicLayoutData.js +8 -0
- package/src/lib/utils/hooks/useDynamicScopes/useDynamicScopes.cjs +3 -3
- package/src/lib/utils/hooks/useDynamicScopes/useDynamicScopes.js +3 -3
- package/src/lib/utils/hooks/useElementById/useElementById.cjs +33 -18
- package/src/lib/utils/hooks/useElementById/useElementById.d.ts +3 -1
- package/src/lib/utils/hooks/useElementById/useElementById.js +33 -18
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.cjs +46 -11
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.d.ts +23 -2
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +46 -11
- package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.cjs +6 -6
- package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.d.ts +1 -1
- package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.js +6 -6
- package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.cjs +13 -9
- package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.d.ts +3 -2
- package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.js +13 -9
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.cjs +4 -0
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.d.ts +2 -0
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.js +3 -1
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.cjs +192 -50
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.d.ts +26 -8
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.js +197 -55
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.cjs +45 -18
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.d.ts +4 -1
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.js +45 -18
- package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.cjs +2 -2
- package/src/lib/utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.js +2 -2
- package/src/lib/utils/hooks/useMergeUserAccounts/index.d.ts +1 -0
- package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.cjs +99 -0
- package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.d.ts +4 -0
- package/src/lib/utils/hooks/useMergeUserAccounts/useMergeUserAccounts.js +95 -0
- package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.cjs +2 -1
- package/src/lib/utils/hooks/usePasskeyRecovery/usePasskeyRecovery.js +2 -1
- package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.cjs +13 -4
- package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.d.ts +10 -2
- package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.js +13 -4
- package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.cjs +6 -13
- package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.d.ts +1 -3
- package/src/lib/utils/hooks/useSendDynamicProps/useSendDynamicProps.js +6 -12
- package/src/lib/utils/hooks/useTokenBalances/index.d.ts +1 -0
- package/src/lib/utils/hooks/useTokenBalances/useTokenBalances.cjs +141 -0
- package/src/lib/utils/hooks/useTokenBalances/useTokenBalances.d.ts +12 -0
- package/src/lib/utils/hooks/useTokenBalances/useTokenBalances.js +137 -0
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +5 -0
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +6 -1
- package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.cjs +25 -2
- package/src/lib/utils/hooks/useWalletConnectorOptions/useWalletConnectorOptions.js +25 -2
- package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.cjs +2 -4
- package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.d.ts +2 -1
- package/src/lib/utils/hooks/useWalletEventListeners/useWalletEventListeners.js +2 -4
- package/src/lib/views/CollectUserDataView/UserDataFields/UserField/UserField.cjs +3 -3
- package/src/lib/views/CollectUserDataView/UserDataFields/UserField/UserField.js +3 -3
- package/src/lib/views/CollectUserDataView/useFields.cjs +1 -0
- package/src/lib/views/CollectUserDataView/useFields.d.ts +2 -0
- package/src/lib/views/CollectUserDataView/useFields.js +1 -0
- package/src/lib/views/EmailVerification/EmailVerification.cjs +38 -11
- package/src/lib/views/EmailVerification/EmailVerification.js +38 -11
- package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.cjs +1 -1
- package/src/lib/views/EmbeddedReveal/EmbeddedRevealView/EmbeddedRevealView.js +1 -1
- package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.cjs +6 -5
- package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.js +6 -5
- package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.cjs +126 -0
- package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.d.ts +6 -0
- package/src/lib/views/MergeUserAccountsConflictsView/MergeUserAccountsConflictsView.js +122 -0
- package/src/lib/views/MergeUserAccountsConflictsView/index.d.ts +1 -0
- package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.cjs +123 -0
- package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.d.ts +4 -0
- package/src/lib/views/MergeUserAccountsView/MergeUserAccountsView.js +119 -0
- package/src/lib/views/MergeUserAccountsView/index.d.ts +1 -0
- package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.cjs +3 -3
- package/src/lib/views/MergeUserAccountsWithSameEmailView/MergeUserAccountsWithSameEmailView.js +3 -3
- package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.cjs +2 -3
- package/src/lib/views/NetworkNotSupportedSwitchManual/NetworkNotSupportedSwitchManual.js +2 -3
- package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/EmbeddedAuthChoiceCards.cjs +2 -1
- package/src/lib/views/Passkey/EmbeddedAuthChoiceCards/EmbeddedAuthChoiceCards.js +2 -1
- package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.cjs +9 -9
- package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.d.ts +6 -1
- package/src/lib/views/Passkey/PasskeyIntroView/PasskeyIntroView.js +9 -9
- package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.cjs +2 -1
- package/src/lib/views/Passkey/PasskeyRecovery/InitRecovery/PasskeyInitRecovery.js +2 -1
- package/src/lib/views/Passkey/utils/{createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.cjs → createEmbeddedWalletRequest/createEmbeddedWalletRequest.cjs} +18 -19
- package/src/lib/views/Passkey/utils/{createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.d.ts → createEmbeddedWalletRequest/createEmbeddedWalletRequest.d.ts} +7 -3
- package/src/lib/views/Passkey/utils/{createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.js → createEmbeddedWalletRequest/createEmbeddedWalletRequest.js} +18 -19
- package/src/lib/views/Passkey/utils/createEmbeddedWalletRequest/index.d.ts +1 -0
- package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.cjs +16 -0
- package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.d.ts +2 -0
- package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.js +12 -0
- package/src/lib/views/Passkey/utils/findPrimaryEmbeddedChain/index.d.ts +1 -0
- package/src/lib/views/Passkey/utils/index.d.ts +1 -2
- package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs +9 -9
- package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.js +9 -9
- package/src/lib/views/WalletList/WalletList.cjs +3 -6
- package/src/lib/views/WalletList/WalletList.js +3 -6
- package/src/lib/views/WalletLockedView/WalletLockedView.cjs +2 -8
- package/src/lib/views/WalletLockedView/WalletLockedView.js +2 -8
- package/src/lib/views/viewToComponentMap.cjs +4 -0
- package/src/lib/views/viewToComponentMap.d.ts +6 -2
- package/src/lib/views/viewToComponentMap.js +4 -0
- package/src/lib/widgets/DynamicWidget/components/PromptModal/PromptModal.cjs +2 -1
- package/src/lib/widgets/DynamicWidget/components/PromptModal/PromptModal.js +2 -1
- package/src/lib/widgets/DynamicWidget/hooks/useFetchNameService/useFetchNameService.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/hooks/useFetchNameService/useFetchNameService.js +1 -1
- package/src/lib/utils/functions/isEmbeddedWalletPresent/index.d.ts +0 -1
- package/src/lib/utils/functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.cjs +0 -19
- package/src/lib/utils/functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.d.ts +0 -1
- package/src/lib/utils/functions/isEmbeddedWalletPresent/isEmbeddedWalletPresent.js +0 -15
- package/src/lib/views/Passkey/utils/createEmbeddedWalletWithPasskey/index.d.ts +0 -1
- package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.cjs +0 -65
- package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.d.ts +0 -16
- package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.js +0 -61
- package/src/lib/views/Passkey/utils/createPregeneratedWallet/index.d.ts +0 -1
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
import { __awaiter } from '../../../../../_virtual/_tslib.js';
|
|
3
|
+
import { useState, useCallback, useEffect } from 'react';
|
|
4
|
+
import { ChainEnum, GetAccountBalancesNetworkIdEnum } from '@dynamic-labs/sdk-api-core';
|
|
5
|
+
import '@dynamic-labs/wallet-connector-core';
|
|
6
|
+
import '../../../shared/logger.js';
|
|
7
|
+
import '@dynamic-labs/iconic';
|
|
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 '@dynamic-labs/utils';
|
|
15
|
+
import '../../../shared/consts/index.js';
|
|
16
|
+
import '@dynamic-labs/multi-wallet';
|
|
17
|
+
import { getAuthToken } from '../../functions/getAuthToken/getAuthToken.js';
|
|
18
|
+
import 'react-international-phone';
|
|
19
|
+
import 'viem';
|
|
20
|
+
import 'viem/chains';
|
|
21
|
+
import '../../../config/ApiEndpoint.js';
|
|
22
|
+
import '../../../locale/locale.js';
|
|
23
|
+
import { getAccountTokenBalances } from '../../../data/api/chains/balances.js';
|
|
24
|
+
import '../../../context/DynamicContext/DynamicContext.js';
|
|
25
|
+
import '../../../events/dynamicEvents.js';
|
|
26
|
+
import '../../../context/CaptchaContext/CaptchaContext.js';
|
|
27
|
+
import '../../../context/ErrorContext/ErrorContext.js';
|
|
28
|
+
import '../../../context/AccessDeniedContext/AccessDeniedContext.js';
|
|
29
|
+
import '../../../context/AccountExistsContext/AccountExistsContext.js';
|
|
30
|
+
import '../../../context/UserWalletsContext/UserWalletsContext.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 '@dynamic-labs/types';
|
|
36
|
+
import 'yup';
|
|
37
|
+
import '../../../context/MockContext/MockContext.js';
|
|
38
|
+
import 'react-i18next';
|
|
39
|
+
import '../../../context/FieldsStateContext/FieldsStateContext.js';
|
|
40
|
+
import '../useUserUpdateRequest/useUpdateUser/useUpdateUser.js';
|
|
41
|
+
import '../../../context/UserFieldEditorContext/UserFieldEditorContext.js';
|
|
42
|
+
import '@dynamic-labs/rpc-providers';
|
|
43
|
+
import '../../../components/Alert/Alert.js';
|
|
44
|
+
import '../../../components/ShadowDOM/ShadowDOM.js';
|
|
45
|
+
import '../../../components/IconButton/IconButton.js';
|
|
46
|
+
import '../../../components/InlineWidget/InlineWidget.js';
|
|
47
|
+
import '../../../components/Input/Input.js';
|
|
48
|
+
import '../../../components/IsBrowser/IsBrowser.js';
|
|
49
|
+
import '../../../components/MenuList/Dropdown/Dropdown.js';
|
|
50
|
+
import '../../../components/Transition/ZoomTransition/ZoomTransition.js';
|
|
51
|
+
import '../../../components/Transition/SlideInUpTransition/SlideInUpTransition.js';
|
|
52
|
+
import '../../../components/Transition/OpacityTransition/OpacityTransition.js';
|
|
53
|
+
import '../../../components/OverlayCard/OverlayCardTarget/OverlayCardTarget.js';
|
|
54
|
+
import '../../../components/PasskeyCreatedSuccessBanner/PasskeyCreatedSuccessBanner.js';
|
|
55
|
+
import '../../../components/Popper/Popper/Popper.js';
|
|
56
|
+
import '../../../components/Popper/PopperContext/PopperContext.js';
|
|
57
|
+
import 'react-focus-lock';
|
|
58
|
+
import 'qrcode';
|
|
59
|
+
import 'formik';
|
|
60
|
+
import '../../../views/WalletList/WalletList.js';
|
|
61
|
+
import '../../../context/SocialRedirectContext/SocialRedirectContext.js';
|
|
62
|
+
import '../../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
|
|
63
|
+
import '@hcaptcha/react-hcaptcha';
|
|
64
|
+
import '../../../context/LoadingContext/LoadingContext.js';
|
|
65
|
+
import '../../../context/FooterAnimationContext/index.js';
|
|
66
|
+
import '../../../views/LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.js';
|
|
67
|
+
import '../../../context/WalletGroupContext/WalletGroupContext.js';
|
|
68
|
+
import '../../../context/PasskeyContext/PasskeyContext.js';
|
|
69
|
+
import '../../../widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
|
|
70
|
+
import '../../../widgets/DynamicWidget/context/DynamicWidgetContext.js';
|
|
71
|
+
import '../../../views/TransactionConfirmationView/helpers/transactionErrorMessage.js';
|
|
72
|
+
import '../../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
|
|
73
|
+
import { useInternalDynamicContext } from '../../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
|
|
74
|
+
|
|
75
|
+
// Hook exposed to customers and used internally to fetch account balances
|
|
76
|
+
const useTokenBalances = ({ accountAddress, networkId, chainName = ChainEnum.Evm, tokenAddresses, } = {}) => {
|
|
77
|
+
const [tokenBalancesData, setTokenBalancesData] = useState(undefined);
|
|
78
|
+
const [isLoading, setIsLoading] = useState(false);
|
|
79
|
+
const [error, setError] = useState(undefined);
|
|
80
|
+
const { primaryWallet, environmentId, network, walletConnector } = useInternalDynamicContext();
|
|
81
|
+
const requestChainName = chainName !== null && chainName !== void 0 ? chainName : walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.connectedChain;
|
|
82
|
+
const requestAccount = accountAddress !== null && accountAddress !== void 0 ? accountAddress : primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.address;
|
|
83
|
+
const requestNetwork = networkId !== null && networkId !== void 0 ? networkId : network;
|
|
84
|
+
const fetchAccountBalances = useCallback(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
85
|
+
const jwt = getAuthToken();
|
|
86
|
+
if (!jwt) {
|
|
87
|
+
setError('User is not logged in');
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
if (requestChainName !== ChainEnum.Evm) {
|
|
91
|
+
setError(`Chain ${requestChainName} is not supported for token balances`);
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
if (!isLoading &&
|
|
95
|
+
requestAccount &&
|
|
96
|
+
requestNetwork &&
|
|
97
|
+
Object.values(GetAccountBalancesNetworkIdEnum).includes(requestNetwork)) {
|
|
98
|
+
setIsLoading(true);
|
|
99
|
+
getAccountTokenBalances({
|
|
100
|
+
accountAddress: requestAccount,
|
|
101
|
+
chainName: requestChainName,
|
|
102
|
+
environmentId,
|
|
103
|
+
networkId: Number(requestNetwork),
|
|
104
|
+
userJwt: jwt,
|
|
105
|
+
})
|
|
106
|
+
.then((response) => {
|
|
107
|
+
if (response) {
|
|
108
|
+
setTokenBalancesData(response);
|
|
109
|
+
setError(undefined);
|
|
110
|
+
}
|
|
111
|
+
})
|
|
112
|
+
.catch((e) => {
|
|
113
|
+
setError(e.message);
|
|
114
|
+
})
|
|
115
|
+
.finally(() => {
|
|
116
|
+
setIsLoading(false);
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
}), [
|
|
120
|
+
isLoading,
|
|
121
|
+
requestAccount,
|
|
122
|
+
requestNetwork,
|
|
123
|
+
requestChainName,
|
|
124
|
+
environmentId,
|
|
125
|
+
]);
|
|
126
|
+
useEffect(() => {
|
|
127
|
+
fetchAccountBalances();
|
|
128
|
+
}, [requestAccount, requestNetwork]);
|
|
129
|
+
let tokenBalances = tokenBalancesData;
|
|
130
|
+
if (tokenAddresses) {
|
|
131
|
+
const lowerTokenAddresses = tokenAddresses === null || tokenAddresses === void 0 ? void 0 : tokenAddresses.map((address) => address.toLowerCase());
|
|
132
|
+
tokenBalances = tokenBalancesData === null || tokenBalancesData === void 0 ? void 0 : tokenBalancesData.filter((token) => lowerTokenAddresses === null || lowerTokenAddresses === void 0 ? void 0 : lowerTokenAddresses.includes(token.address.toLowerCase()));
|
|
133
|
+
}
|
|
134
|
+
return { error, isError: Boolean(error), isLoading, tokenBalances };
|
|
135
|
+
};
|
|
136
|
+
|
|
137
|
+
export { useTokenBalances };
|
|
@@ -177,6 +177,11 @@ const useVerifyWallet = ({ consumeNonce, displaySiweStatement, environmentId, pr
|
|
|
177
177
|
handleDisconnectWallet({ endSession: false, walletConnector });
|
|
178
178
|
return handleWalletUsedError(e);
|
|
179
179
|
}
|
|
180
|
+
if (e instanceof utils.MergeAccountsConfirmationError) {
|
|
181
|
+
setView('merge-user-accounts', Object.assign({}, e));
|
|
182
|
+
setShowAuthFlow(true);
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
180
185
|
if (e instanceof utils.ChainalysisError) {
|
|
181
186
|
handleDisconnectWallet({ walletConnector });
|
|
182
187
|
setDeniedAddress(address);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { __awaiter } from '../../../../../_virtual/_tslib.js';
|
|
3
|
-
import { DynamicError, WalletUsedError, ChainalysisError, GateBlockedError, NoAccessError, AccountExistsError } from '@dynamic-labs/utils';
|
|
3
|
+
import { DynamicError, WalletUsedError, MergeAccountsConfirmationError, ChainalysisError, GateBlockedError, NoAccessError, AccountExistsError } from '@dynamic-labs/utils';
|
|
4
4
|
import { isSocialWalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
5
5
|
import 'react';
|
|
6
6
|
import '../../../events/dynamicEvents.js';
|
|
@@ -173,6 +173,11 @@ const useVerifyWallet = ({ consumeNonce, displaySiweStatement, environmentId, pr
|
|
|
173
173
|
handleDisconnectWallet({ endSession: false, walletConnector });
|
|
174
174
|
return handleWalletUsedError(e);
|
|
175
175
|
}
|
|
176
|
+
if (e instanceof MergeAccountsConfirmationError) {
|
|
177
|
+
setView('merge-user-accounts', Object.assign({}, e));
|
|
178
|
+
setShowAuthFlow(true);
|
|
179
|
+
return;
|
|
180
|
+
}
|
|
176
181
|
if (e instanceof ChainalysisError) {
|
|
177
182
|
handleDisconnectWallet({ walletConnector });
|
|
178
183
|
setDeniedAddress(address);
|
|
@@ -5,9 +5,31 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
|
|
6
6
|
var React = require('react');
|
|
7
7
|
var data = require('../../../views/WalletList/data.cjs');
|
|
8
|
+
require('@dynamic-labs/wallet-connector-core');
|
|
9
|
+
require('@dynamic-labs/sdk-api-core');
|
|
10
|
+
require('../../../shared/logger.cjs');
|
|
11
|
+
require('@dynamic-labs/iconic');
|
|
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('@dynamic-labs/utils');
|
|
19
|
+
require('../../../shared/consts/index.cjs');
|
|
20
|
+
require('../../../../../_virtual/_tslib.cjs');
|
|
21
|
+
require('@dynamic-labs/multi-wallet');
|
|
22
|
+
require('react-international-phone');
|
|
23
|
+
require('viem');
|
|
24
|
+
require('viem/chains');
|
|
25
|
+
require('../../../config/ApiEndpoint.cjs');
|
|
26
|
+
require('../../../locale/locale.cjs');
|
|
27
|
+
var serializeWalletConnectors = require('../../functions/serializeWalletConnectors/serializeWalletConnectors.cjs');
|
|
8
28
|
var verifyRequiredConnectorsAreSetup = require('./utils/verifyRequiredConnectorsAreSetup/verifyRequiredConnectorsAreSetup.cjs');
|
|
9
29
|
|
|
10
30
|
const useWalletConnectorOptions = ({ projectSettings, appLogoUrl, appName, deepLinkPreference, flowNetwork, mobileExperience, networkConfigurations, walletBook, walletUiUtils, walletConnectorsProp, walletConnectPreferredChains, walletConnectorExtensions, }) => {
|
|
31
|
+
const walletConnectorsKey = React.useMemo(() => { var _a; return (_a = serializeWalletConnectors.serializeWalletConnectors(walletConnectorsProp)) === null || _a === void 0 ? void 0 : _a.join(','); }, [walletConnectorsProp]);
|
|
32
|
+
const walletBookLength = React.useMemo(() => Object.keys(walletBook !== null && walletBook !== void 0 ? walletBook : {}).length, [walletBook]);
|
|
11
33
|
const walletConnectorOptions = React.useMemo(() => {
|
|
12
34
|
if (!projectSettings ||
|
|
13
35
|
!Object.keys(walletBook !== null && walletBook !== void 0 ? walletBook : {}).length ||
|
|
@@ -31,14 +53,15 @@ const useWalletConnectorOptions = ({ projectSettings, appLogoUrl, appName, deepL
|
|
|
31
53
|
walletConnectorExtensions,
|
|
32
54
|
});
|
|
33
55
|
// Cannot include walletUiUtils in the dependency array because it will cause an infinite loop
|
|
56
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
34
57
|
}, [
|
|
35
58
|
appLogoUrl,
|
|
36
59
|
appName,
|
|
37
60
|
projectSettings,
|
|
38
|
-
|
|
61
|
+
walletConnectorsKey,
|
|
39
62
|
walletConnectPreferredChains,
|
|
40
63
|
flowNetwork,
|
|
41
|
-
|
|
64
|
+
walletBookLength,
|
|
42
65
|
networkConfigurations,
|
|
43
66
|
]);
|
|
44
67
|
React.useEffect(() => {
|
|
@@ -1,9 +1,31 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { useMemo, useEffect } from 'react';
|
|
3
3
|
import { getWallets } from '../../../views/WalletList/data.js';
|
|
4
|
+
import '@dynamic-labs/wallet-connector-core';
|
|
5
|
+
import '@dynamic-labs/sdk-api-core';
|
|
6
|
+
import '../../../shared/logger.js';
|
|
7
|
+
import '@dynamic-labs/iconic';
|
|
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 '@dynamic-labs/utils';
|
|
15
|
+
import '../../../shared/consts/index.js';
|
|
16
|
+
import '../../../../../_virtual/_tslib.js';
|
|
17
|
+
import '@dynamic-labs/multi-wallet';
|
|
18
|
+
import 'react-international-phone';
|
|
19
|
+
import 'viem';
|
|
20
|
+
import 'viem/chains';
|
|
21
|
+
import '../../../config/ApiEndpoint.js';
|
|
22
|
+
import '../../../locale/locale.js';
|
|
23
|
+
import { serializeWalletConnectors } from '../../functions/serializeWalletConnectors/serializeWalletConnectors.js';
|
|
4
24
|
import { verifyRequiredConnectorsAreSetup } from './utils/verifyRequiredConnectorsAreSetup/verifyRequiredConnectorsAreSetup.js';
|
|
5
25
|
|
|
6
26
|
const useWalletConnectorOptions = ({ projectSettings, appLogoUrl, appName, deepLinkPreference, flowNetwork, mobileExperience, networkConfigurations, walletBook, walletUiUtils, walletConnectorsProp, walletConnectPreferredChains, walletConnectorExtensions, }) => {
|
|
27
|
+
const walletConnectorsKey = useMemo(() => { var _a; return (_a = serializeWalletConnectors(walletConnectorsProp)) === null || _a === void 0 ? void 0 : _a.join(','); }, [walletConnectorsProp]);
|
|
28
|
+
const walletBookLength = useMemo(() => Object.keys(walletBook !== null && walletBook !== void 0 ? walletBook : {}).length, [walletBook]);
|
|
7
29
|
const walletConnectorOptions = useMemo(() => {
|
|
8
30
|
if (!projectSettings ||
|
|
9
31
|
!Object.keys(walletBook !== null && walletBook !== void 0 ? walletBook : {}).length ||
|
|
@@ -27,14 +49,15 @@ const useWalletConnectorOptions = ({ projectSettings, appLogoUrl, appName, deepL
|
|
|
27
49
|
walletConnectorExtensions,
|
|
28
50
|
});
|
|
29
51
|
// Cannot include walletUiUtils in the dependency array because it will cause an infinite loop
|
|
52
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
30
53
|
}, [
|
|
31
54
|
appLogoUrl,
|
|
32
55
|
appName,
|
|
33
56
|
projectSettings,
|
|
34
|
-
|
|
57
|
+
walletConnectorsKey,
|
|
35
58
|
walletConnectPreferredChains,
|
|
36
59
|
flowNetwork,
|
|
37
|
-
|
|
60
|
+
walletBookLength,
|
|
38
61
|
networkConfigurations,
|
|
39
62
|
]);
|
|
40
63
|
useEffect(() => {
|
|
@@ -20,7 +20,7 @@ require('../../../shared/consts/index.cjs');
|
|
|
20
20
|
require('../../../events/dynamicEvents.cjs');
|
|
21
21
|
var useWalletConnectorEvent = require('../events/useWalletConnectorEvent/useWalletConnectorEvent.cjs');
|
|
22
22
|
|
|
23
|
-
const useWalletEventListeners = ({ handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnectorKey, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, authMode, refreshConnectedWallet, }) => {
|
|
23
|
+
const useWalletEventListeners = ({ disconnectWallet, handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnectorKey, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, authMode, refreshConnectedWallet, }) => {
|
|
24
24
|
useWalletConnectorEvent.useWalletConnectorEvent(primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector, 'disconnect', () => {
|
|
25
25
|
logger.logger.debug('primary wallet disconnect');
|
|
26
26
|
handleLogOut();
|
|
@@ -109,13 +109,11 @@ const useWalletEventListeners = ({ handleLogOut, multiWallet, multiWalletWidgetS
|
|
|
109
109
|
}));
|
|
110
110
|
useWalletConnectorEvent.useWalletConnectorEvent(uniqueNonPrimaryWallets, 'disconnect', (affectedConnector) => {
|
|
111
111
|
logger.logger.debug('secondary wallet disconnect');
|
|
112
|
-
// argent sends a disconnect event when the user adds a new account
|
|
113
112
|
if (authMode === 'connect-only') {
|
|
114
113
|
// Get all wallets with this connector
|
|
115
114
|
const affectedWallets = secondaryWallets.filter(({ connector }) => connector.key === affectedConnector.key);
|
|
116
115
|
for (const wallet of affectedWallets) {
|
|
117
|
-
|
|
118
|
-
refreshConnectedWallet(wallet.id, wallet.connector);
|
|
116
|
+
disconnectWallet(wallet.id);
|
|
119
117
|
}
|
|
120
118
|
}
|
|
121
119
|
});
|
|
@@ -4,6 +4,7 @@ import { IDynamicContext } from '../../../context/DynamicContext/types';
|
|
|
4
4
|
import { AuthModeType, MultiWalletWidgetState, Wallet, WalletWithAction } from '../../../shared';
|
|
5
5
|
import { MultiWalletWidgetStateSetter } from '../multiWallet';
|
|
6
6
|
export type UseWalletEventListenersArgs = {
|
|
7
|
+
disconnectWallet: (walletId: string) => Promise<void>;
|
|
7
8
|
handleLogOut(): Promise<void>;
|
|
8
9
|
multiWallet: boolean;
|
|
9
10
|
multiWalletWidgetState: MultiWalletWidgetState;
|
|
@@ -19,4 +20,4 @@ export type UseWalletEventListenersArgs = {
|
|
|
19
20
|
authMode: AuthModeType;
|
|
20
21
|
refreshConnectedWallet: (walletId: string, walletConnector: WalletConnector, shouldCallCallback?: boolean) => Promise<void>;
|
|
21
22
|
};
|
|
22
|
-
export declare const useWalletEventListeners: ({ handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnectorKey, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, authMode, refreshConnectedWallet, }: UseWalletEventListenersArgs) => void;
|
|
23
|
+
export declare const useWalletEventListeners: ({ disconnectWallet, handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnectorKey, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, authMode, refreshConnectedWallet, }: UseWalletEventListenersArgs) => void;
|
|
@@ -16,7 +16,7 @@ import '../../../shared/consts/index.js';
|
|
|
16
16
|
import '../../../events/dynamicEvents.js';
|
|
17
17
|
import { useWalletConnectorEvent } from '../events/useWalletConnectorEvent/useWalletConnectorEvent.js';
|
|
18
18
|
|
|
19
|
-
const useWalletEventListeners = ({ handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnectorKey, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, authMode, refreshConnectedWallet, }) => {
|
|
19
|
+
const useWalletEventListeners = ({ disconnectWallet, handleLogOut, multiWallet, multiWalletWidgetState, primaryWallet, secondaryWallets, selectedWalletConnector, selectedWalletWithAction, setSelectedWalletConnectorKey, setSelectedWalletWithAction, setMultiWalletWidgetState, user, setPrimaryWalletId, authMode, refreshConnectedWallet, }) => {
|
|
20
20
|
useWalletConnectorEvent(primaryWallet === null || primaryWallet === void 0 ? void 0 : primaryWallet.connector, 'disconnect', () => {
|
|
21
21
|
logger.debug('primary wallet disconnect');
|
|
22
22
|
handleLogOut();
|
|
@@ -105,13 +105,11 @@ const useWalletEventListeners = ({ handleLogOut, multiWallet, multiWalletWidgetS
|
|
|
105
105
|
}));
|
|
106
106
|
useWalletConnectorEvent(uniqueNonPrimaryWallets, 'disconnect', (affectedConnector) => {
|
|
107
107
|
logger.debug('secondary wallet disconnect');
|
|
108
|
-
// argent sends a disconnect event when the user adds a new account
|
|
109
108
|
if (authMode === 'connect-only') {
|
|
110
109
|
// Get all wallets with this connector
|
|
111
110
|
const affectedWallets = secondaryWallets.filter(({ connector }) => connector.key === affectedConnector.key);
|
|
112
111
|
for (const wallet of affectedWallets) {
|
|
113
|
-
|
|
114
|
-
refreshConnectedWallet(wallet.id, wallet.connector);
|
|
112
|
+
disconnectWallet(wallet.id);
|
|
115
113
|
}
|
|
116
114
|
}
|
|
117
115
|
});
|
|
@@ -78,7 +78,7 @@ require('@hcaptcha/react-hcaptcha');
|
|
|
78
78
|
require('../../../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.cjs');
|
|
79
79
|
var Select = require('../../../../components/Select/Select.cjs');
|
|
80
80
|
|
|
81
|
-
const UserField = ({ fieldData: { key, label, type }, fieldSettings: { enabled, name, required, verify }, errors, touched, disabled, policiesConsentInnerComponentArray, }) => {
|
|
81
|
+
const UserField = ({ fieldData: { key, label, type, autoComplete }, fieldSettings: { enabled, name, required, verify }, errors, touched, disabled, policiesConsentInnerComponentArray, }) => {
|
|
82
82
|
if (name === 'tShirtSize') {
|
|
83
83
|
return (jsxRuntime.jsx(formik.Field, { copykey: key, as: Select.Select, type: type, id: name, name: name, label: label, error: errors[name] && touched[name], selectDataTestId: 'tShirtSizeSelect', message: touched[name] && getDisplayErrorMessage.getDisplayErrorMessage(label, errors[name]), disabled: disabled, children: index.tShirtSizes.map((size) => (jsxRuntime.jsx("option", { value: size, children: size }, size))) }, name));
|
|
84
84
|
}
|
|
@@ -94,10 +94,10 @@ const UserField = ({ fieldData: { key, label, type }, fieldSettings: { enabled,
|
|
|
94
94
|
else if (name === 'phoneNumber') {
|
|
95
95
|
return (jsxRuntime.jsx(formik.Field, { name: name, as: UserPhoneField.UserPhoneField, disabled: disabled, label: label, required: required, error: touched[name] && errors[name]
|
|
96
96
|
? getDisplayErrorMessage.getDisplayErrorMessage(label, errors[name])
|
|
97
|
-
: undefined, verify: verify }, name));
|
|
97
|
+
: undefined, verify: verify, autoComplete: autoComplete }, name));
|
|
98
98
|
}
|
|
99
99
|
else {
|
|
100
|
-
return (jsxRuntime.jsx(formik.Field, { copykey: key, disabled: disabled, as: Input.Input, type: type, id: name, name: name, label: label, optional: enabled && !required, error: errors[name] && touched[name], message: touched[name] && getDisplayErrorMessage.getDisplayErrorMessage(label, errors[name]) }, name));
|
|
100
|
+
return (jsxRuntime.jsx(formik.Field, { copykey: key, disabled: disabled, as: Input.Input, type: type, id: name, name: name, label: label, optional: enabled && !required, error: errors[name] && touched[name], message: touched[name] && getDisplayErrorMessage.getDisplayErrorMessage(label, errors[name]), autoComplete: autoComplete }, name));
|
|
101
101
|
}
|
|
102
102
|
};
|
|
103
103
|
|
|
@@ -74,7 +74,7 @@ import '@hcaptcha/react-hcaptcha';
|
|
|
74
74
|
import '../../../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.js';
|
|
75
75
|
import { Select } from '../../../../components/Select/Select.js';
|
|
76
76
|
|
|
77
|
-
const UserField = ({ fieldData: { key, label, type }, fieldSettings: { enabled, name, required, verify }, errors, touched, disabled, policiesConsentInnerComponentArray, }) => {
|
|
77
|
+
const UserField = ({ fieldData: { key, label, type, autoComplete }, fieldSettings: { enabled, name, required, verify }, errors, touched, disabled, policiesConsentInnerComponentArray, }) => {
|
|
78
78
|
if (name === 'tShirtSize') {
|
|
79
79
|
return (jsx(Field, { copykey: key, as: Select, type: type, id: name, name: name, label: label, error: errors[name] && touched[name], selectDataTestId: 'tShirtSizeSelect', message: touched[name] && getDisplayErrorMessage(label, errors[name]), disabled: disabled, children: tShirtSizes.map((size) => (jsx("option", { value: size, children: size }, size))) }, name));
|
|
80
80
|
}
|
|
@@ -90,10 +90,10 @@ const UserField = ({ fieldData: { key, label, type }, fieldSettings: { enabled,
|
|
|
90
90
|
else if (name === 'phoneNumber') {
|
|
91
91
|
return (jsx(Field, { name: name, as: UserPhoneField, disabled: disabled, label: label, required: required, error: touched[name] && errors[name]
|
|
92
92
|
? getDisplayErrorMessage(label, errors[name])
|
|
93
|
-
: undefined, verify: verify }, name));
|
|
93
|
+
: undefined, verify: verify, autoComplete: autoComplete }, name));
|
|
94
94
|
}
|
|
95
95
|
else {
|
|
96
|
-
return (jsx(Field, { copykey: key, disabled: disabled, as: Input, type: type, id: name, name: name, label: label, optional: enabled && !required, error: errors[name] && touched[name], message: touched[name] && getDisplayErrorMessage(label, errors[name]) }, name));
|
|
96
|
+
return (jsx(Field, { copykey: key, disabled: disabled, as: Input, type: type, id: name, name: name, label: label, optional: enabled && !required, error: errors[name] && touched[name], message: touched[name] && getDisplayErrorMessage(label, errors[name]), autoComplete: autoComplete }, name));
|
|
97
97
|
}
|
|
98
98
|
};
|
|
99
99
|
|
|
@@ -46,6 +46,7 @@ const useFields = () => {
|
|
|
46
46
|
validation: yup.string().oneOf(index.countryCodes.map((c) => c.code)),
|
|
47
47
|
},
|
|
48
48
|
email: {
|
|
49
|
+
autoComplete: 'email',
|
|
49
50
|
key: 'dyn_collect_user_data.fields.email.label',
|
|
50
51
|
label: t('dyn_collect_user_data.fields.email.label'),
|
|
51
52
|
type: 'email',
|
|
@@ -4,6 +4,7 @@ export type FieldConfig = {
|
|
|
4
4
|
key: string;
|
|
5
5
|
type: string;
|
|
6
6
|
validation: StringSchema | BooleanSchema;
|
|
7
|
+
autoComplete?: string;
|
|
7
8
|
};
|
|
8
9
|
export declare const useFields: () => {
|
|
9
10
|
fieldsConfig: {
|
|
@@ -20,6 +21,7 @@ export declare const useFields: () => {
|
|
|
20
21
|
validation: StringSchema<string | undefined, import("yup/lib/types").AnyObject, string | undefined>;
|
|
21
22
|
};
|
|
22
23
|
email: {
|
|
24
|
+
autoComplete: string;
|
|
23
25
|
key: string;
|
|
24
26
|
label: string;
|
|
25
27
|
type: string;
|
|
@@ -27,6 +27,7 @@ require('../../shared/consts/index.cjs');
|
|
|
27
27
|
var useInternalDynamicContext = require('../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
|
|
28
28
|
require('../../context/CaptchaContext/CaptchaContext.cjs');
|
|
29
29
|
var ErrorContext = require('../../context/ErrorContext/ErrorContext.cjs');
|
|
30
|
+
var findEmbeddedWalletFromVerifiedCredentials = require('../../utils/functions/findEmbeddedWalletFromVerifiedCredentials/findEmbeddedWalletFromVerifiedCredentials.cjs');
|
|
30
31
|
require('@dynamic-labs/multi-wallet');
|
|
31
32
|
require('react-international-phone');
|
|
32
33
|
var shortenEmail = require('../../shared/utils/functions/shortenEmail/shortenEmail.cjs');
|
|
@@ -100,7 +101,7 @@ require('../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection
|
|
|
100
101
|
const SECONDS_TO_RETRY = 15;
|
|
101
102
|
const sleepToShowSuccessMessage = () => utils.sleep(1500);
|
|
102
103
|
const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _showRetryButton = true, showTransferMessage: _showTransferMessage = false, }) => {
|
|
103
|
-
var _a, _b, _c, _d;
|
|
104
|
+
var _a, _b, _c, _d, _e, _f;
|
|
104
105
|
const [showRetryButton, setShowRetryButton] = React.useState(_showRetryButton);
|
|
105
106
|
const [showTransferMessage, setShowTransferMessage] = React.useState(_showTransferMessage);
|
|
106
107
|
const { handleVerifiedUserWithJWT } = useHandleVerifiedUser.useHandleVerifiedUser();
|
|
@@ -135,7 +136,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
|
|
|
135
136
|
const { createUserProfileByJWT } = useCreateUserProfileByJWTCallback.useCreateUserProfileByJWTCallback();
|
|
136
137
|
const isTurnkeyProviderEnabled = isTurnkeyEnabled.isTurnkeyEnabled(projectSettings);
|
|
137
138
|
const handleComplete = React.useCallback((verificationToken) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
138
|
-
var
|
|
139
|
+
var _g, _h, _j, _k, _l, _m, _o;
|
|
139
140
|
setError(undefined);
|
|
140
141
|
setLoading(true);
|
|
141
142
|
if (!verificationUUID || (!authToken && !onboardingOnlyJwt)) {
|
|
@@ -172,16 +173,41 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
|
|
|
172
173
|
if (isTurnkeyWallet &&
|
|
173
174
|
hasTurnkeyVerifiedCredentialAuthenticator &&
|
|
174
175
|
!hasRecoveryEmail &&
|
|
175
|
-
((
|
|
176
|
+
((_g = updateUserProfileResponse === null || updateUserProfileResponse === void 0 ? void 0 : updateUserProfileResponse.user) === null || _g === void 0 ? void 0 : _g.email)) {
|
|
176
177
|
setUser(updateJWTAndCreateUserProfile.updateJWTAndCreateUserProfile(updateUserProfileResponse.jwt, updateUserProfileResponse.minifiedJwt));
|
|
177
178
|
yield addRecoveryEmail(updateUserProfileResponse.user.email);
|
|
178
179
|
setShowAuthFlow(false);
|
|
179
180
|
return;
|
|
180
181
|
}
|
|
181
|
-
if (isTurnkeyProviderEnabled
|
|
182
|
-
!((
|
|
183
|
-
|
|
184
|
-
|
|
182
|
+
if (isTurnkeyProviderEnabled) {
|
|
183
|
+
const isManualMode = !((_j = (_h = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _h === void 0 ? void 0 : _h.embeddedWallets) === null || _j === void 0 ? void 0 : _j.automaticEmbeddedWalletCreation);
|
|
184
|
+
const isUsingPregeneratedWallets = Boolean(((_l = (_k = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _k === void 0 ? void 0 : _k.embeddedWallets) === null || _l === void 0 ? void 0 : _l.automaticEmbeddedWalletCreation) &&
|
|
185
|
+
!((_o = (_m = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _m === void 0 ? void 0 : _m.embeddedWallets) === null || _o === void 0 ? void 0 : _o.forceAuthenticatorAtSignup));
|
|
186
|
+
if (isUsingPregeneratedWallets) {
|
|
187
|
+
// Pregenerated wallet was created during an
|
|
188
|
+
// additional email validation step as part of onboarding
|
|
189
|
+
// cannot rely on newUser JWT field here due to session being counted twice
|
|
190
|
+
// when authentication happens followed by a separate email kyc step
|
|
191
|
+
const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials.findEmbeddedWalletFromVerifiedCredentials(updateUserProfileResponse.jwt);
|
|
192
|
+
if (!embeddedWalletVerifiedCredential) {
|
|
193
|
+
throw new Error('Could not find an embedded wallet');
|
|
194
|
+
}
|
|
195
|
+
const wallet = {
|
|
196
|
+
address: embeddedWalletVerifiedCredential.address,
|
|
197
|
+
authenticated: false,
|
|
198
|
+
chain: embeddedWalletVerifiedCredential.chain,
|
|
199
|
+
connected: true,
|
|
200
|
+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
201
|
+
// @ts-ignore
|
|
202
|
+
connector: undefined,
|
|
203
|
+
id: embeddedWalletVerifiedCredential.id,
|
|
204
|
+
};
|
|
205
|
+
dynamicEvents.dynamicEvents.emit('embeddedWalletCreated', wallet, embeddedWalletVerifiedCredential, updateUserProfileResponse.jwt);
|
|
206
|
+
}
|
|
207
|
+
if (isUsingPregeneratedWallets || isManualMode) {
|
|
208
|
+
setShowAuthFlow(false);
|
|
209
|
+
return;
|
|
210
|
+
}
|
|
185
211
|
}
|
|
186
212
|
// this function will check turnkey wallet enabled and create wallet if needed
|
|
187
213
|
// if not enabled, it will throw an error.
|
|
@@ -217,7 +243,6 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
|
|
|
217
243
|
hasTurnkeyVerifiedCredentialAuthenticator,
|
|
218
244
|
hasRecoveryEmail,
|
|
219
245
|
isTurnkeyProviderEnabled,
|
|
220
|
-
(_b = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _a === void 0 ? void 0 : _a.embeddedWallets) === null || _b === void 0 ? void 0 : _b.automaticEmbeddedWalletCreation,
|
|
221
246
|
createEmbeddedWallet,
|
|
222
247
|
setOnboardingOnlyJwt,
|
|
223
248
|
setView,
|
|
@@ -226,10 +251,12 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
|
|
|
226
251
|
setUser,
|
|
227
252
|
addRecoveryEmail,
|
|
228
253
|
setShowAuthFlow,
|
|
254
|
+
(_b = (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _a === void 0 ? void 0 : _a.embeddedWallets) === null || _b === void 0 ? void 0 : _b.automaticEmbeddedWalletCreation,
|
|
255
|
+
(_d = (_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _c === void 0 ? void 0 : _c.embeddedWallets) === null || _d === void 0 ? void 0 : _d.forceAuthenticatorAtSignup,
|
|
229
256
|
setErrorMessage,
|
|
230
257
|
]);
|
|
231
258
|
const handleEmailLogin = React.useCallback((verificationToken) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
232
|
-
var
|
|
259
|
+
var _p, _q;
|
|
233
260
|
setError(undefined);
|
|
234
261
|
setLoading(true);
|
|
235
262
|
if (!verificationUUID) {
|
|
@@ -264,7 +291,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
|
|
|
264
291
|
yield sleepToShowSuccessMessage();
|
|
265
292
|
yield createUserProfileByJWT(jwt, minifiedJwt);
|
|
266
293
|
if (isTurnkeyProviderEnabled &&
|
|
267
|
-
!((
|
|
294
|
+
!((_q = (_p = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _p === void 0 ? void 0 : _p.embeddedWallets) === null || _q === void 0 ? void 0 : _q.automaticEmbeddedWalletCreation)) {
|
|
268
295
|
setShowAuthFlow(false);
|
|
269
296
|
return;
|
|
270
297
|
}
|
|
@@ -297,7 +324,7 @@ const EmailVerification = ({ isEmailRecoveryFlow = false, showRetryButton: _show
|
|
|
297
324
|
setCallback,
|
|
298
325
|
createUserProfileByJWT,
|
|
299
326
|
isTurnkeyProviderEnabled,
|
|
300
|
-
(
|
|
327
|
+
(_f = (_e = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk) === null || _e === void 0 ? void 0 : _e.embeddedWallets) === null || _f === void 0 ? void 0 : _f.automaticEmbeddedWalletCreation,
|
|
301
328
|
createEmbeddedWallet,
|
|
302
329
|
setOnboardingOnlyJwt,
|
|
303
330
|
setView,
|