@dynamic-labs/sdk-react-core 3.4.0 → 3.4.2
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 +16 -0
- package/package.cjs +2 -2
- package/package.js +2 -2
- package/package.json +12 -12
- package/src/lib/Main.cjs +1 -1
- package/src/lib/Main.js +1 -1
- package/src/lib/components/SendBalancePageLayout/SendBalancePageLayout.cjs +26 -6
- package/src/lib/components/SendBalancePageLayout/SendBalancePageLayout.js +27 -7
- package/src/lib/components/TransactionCard/TransactionCard.cjs +76 -5
- package/src/lib/components/TransactionCard/TransactionCard.js +77 -6
- package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.cjs +1 -1
- package/src/lib/components/TransactionStatusLayout/TransactionStatusLayout.js +1 -1
- package/src/lib/components/UserProfile/UserProfile.cjs +1 -1
- package/src/lib/components/UserProfile/UserProfile.js +1 -1
- package/src/lib/components/UserProfileForm/UserProfileForm.cjs +1 -1
- package/src/lib/components/UserProfileForm/UserProfileForm.js +1 -1
- package/src/lib/components/WalletConnectorEvents/WalletConnectorEvents.cjs +126 -0
- package/src/lib/components/WalletConnectorEvents/WalletConnectorEvents.d.ts +1 -0
- package/src/lib/components/WalletConnectorEvents/WalletConnectorEvents.js +122 -0
- package/src/lib/components/WalletConnectorEvents/index.d.ts +1 -0
- package/src/lib/components/index.d.ts +1 -0
- package/src/lib/context/DynamicContext/DynamicContext.cjs +26 -25
- package/src/lib/context/DynamicContext/DynamicContext.js +18 -17
- package/src/lib/context/MockContext/MockContext.cjs +1 -1
- package/src/lib/context/MockContext/MockContext.js +1 -1
- package/src/lib/layout/DynamicAuthLayout/Header/header.cjs +1 -1
- package/src/lib/layout/DynamicAuthLayout/Header/header.js +1 -1
- package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpHeader/HelpHeader.cjs +1 -1
- package/src/lib/layout/DynamicAuthLayout/HelpContent/HelpHeader/HelpHeader.js +1 -1
- package/src/lib/layouts/BridgeNextWalletToConnectLayout/BridgeNextWalletToConnectLayout.cjs +1 -1
- package/src/lib/layouts/BridgeNextWalletToConnectLayout/BridgeNextWalletToConnectLayout.js +1 -1
- package/src/lib/layouts/BridgeWelcomeLayout/BridgeWelcomeLayout.cjs +1 -1
- package/src/lib/layouts/BridgeWelcomeLayout/BridgeWelcomeLayout.js +1 -1
- package/src/lib/layouts/ConnectedWalletsListLayout/ConnectedWalletsListLayout.cjs +1 -1
- package/src/lib/layouts/ConnectedWalletsListLayout/ConnectedWalletsListLayout.js +1 -1
- package/src/lib/modals/SendBalanceModal/SendBalanceModal.cjs +1 -1
- package/src/lib/modals/SendBalanceModal/SendBalanceModal.js +1 -1
- package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.cjs +1 -1
- package/src/lib/modals/SignMessageConfirmationModal/SignMessageConfirmationModal.js +1 -1
- package/src/lib/store/internalImplementation/utils/clearExpiredData/clearExpiredData.cjs +1 -6
- package/src/lib/store/internalImplementation/utils/clearExpiredData/clearExpiredData.js +1 -6
- package/src/lib/store/stateConfig.cjs +0 -5
- package/src/lib/store/stateConfig.js +0 -5
- package/src/lib/store/types.d.ts +1 -6
- package/src/lib/utils/functions/networksAndChains/networksAndChains.cjs +19 -40
- package/src/lib/utils/functions/networksAndChains/networksAndChains.d.ts +11 -7
- package/src/lib/utils/functions/networksAndChains/networksAndChains.js +19 -38
- package/src/lib/utils/hooks/index.d.ts +1 -1
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs +2 -2
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js +2 -2
- package/src/lib/utils/hooks/useCreateWalletConnectorOptions/index.d.ts +1 -0
- package/src/lib/utils/hooks/{useWalletConnectorOptions/useWalletConnectorOptions.cjs → useCreateWalletConnectorOptions/useCreateWalletConnectorOptions.cjs} +2 -2
- package/src/lib/utils/hooks/{useWalletConnectorOptions/useWalletConnectorOptions.d.ts → useCreateWalletConnectorOptions/useCreateWalletConnectorOptions.d.ts} +1 -1
- package/src/lib/utils/hooks/{useWalletConnectorOptions/useWalletConnectorOptions.js → useCreateWalletConnectorOptions/useCreateWalletConnectorOptions.js} +2 -2
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.cjs +5 -2
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.js +5 -2
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.cjs +23 -11
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useTurnkey/useTurnkey.js +23 -11
- package/src/lib/utils/hooks/useNetworkConfigurationsFromProjectSettings/index.d.ts +1 -0
- package/src/lib/utils/hooks/useNetworkConfigurationsFromProjectSettings/useNetworkConfigurationsFromProjectSettings.cjs +63 -0
- package/src/lib/utils/hooks/useNetworkConfigurationsFromProjectSettings/useNetworkConfigurationsFromProjectSettings.d.ts +9 -0
- package/src/lib/utils/hooks/useNetworkConfigurationsFromProjectSettings/useNetworkConfigurationsFromProjectSettings.js +59 -0
- package/src/lib/views/CoinbaseMPCClaimIntro/CoinbaseMPCClaimIntro.cjs +1 -1
- package/src/lib/views/CoinbaseMPCClaimIntro/CoinbaseMPCClaimIntro.js +1 -1
- package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.cjs +1 -1
- package/src/lib/views/CollectUserDataView/OnboardingUserDataForm/OnboardingUserDataForm.js +1 -1
- package/src/lib/views/CreatePasswordView/CreatePasswordStep/CreatePasswordStep.cjs +1 -1
- package/src/lib/views/CreatePasswordView/CreatePasswordStep/CreatePasswordStep.js +1 -1
- package/src/lib/views/CreatePasswordView/SavePasswordStep/SavePasswordStep.cjs +1 -1
- package/src/lib/views/CreatePasswordView/SavePasswordStep/SavePasswordStep.js +1 -1
- package/src/lib/views/EmailVerification/EmailVerification.cjs +3 -1
- package/src/lib/views/EmailVerification/EmailVerification.js +3 -1
- package/src/lib/views/EnterPasswordView/EnterPasswordView.cjs +1 -1
- package/src/lib/views/EnterPasswordView/EnterPasswordView.js +1 -1
- package/src/lib/views/MfaChooseDeviceView/MfaChooseDeviceView.cjs +1 -1
- package/src/lib/views/MfaChooseDeviceView/MfaChooseDeviceView.js +1 -1
- package/src/lib/views/Passkey/PasskeyNewDomainDetectedView/PasskeyNewDomainDetectedView.cjs +1 -1
- package/src/lib/views/Passkey/PasskeyNewDomainDetectedView/PasskeyNewDomainDetectedView.js +1 -1
- 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/Passkey/RenamePasskeyView/RenamePasskeyView.cjs +1 -1
- package/src/lib/views/Passkey/RenamePasskeyView/RenamePasskeyView.js +1 -1
- package/src/lib/views/SendBalanceView/SendBalanceView.cjs +2 -3
- package/src/lib/views/SendBalanceView/SendBalanceView.js +3 -4
- package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.cjs +7 -4
- package/src/lib/views/TransactionConfirmationView/TransactionConfirmationView.js +7 -4
- package/src/lib/views/UserFieldEditorView/UserFieldEditorView.cjs +1 -1
- package/src/lib/views/UserFieldEditorView/UserFieldEditorView.js +1 -1
- package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.cjs +1 -1
- package/src/lib/widgets/DynamicBridgeWidget/components/DynamicBridgeWalletCardBody/DynamicBridgeWalletCardBody.js +1 -1
- package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedUserProfile/DynamicEmbeddedUserProfile.cjs +1 -1
- package/src/lib/widgets/DynamicEmbeddedWidget/DynamicEmbeddedUserProfile/DynamicEmbeddedUserProfile.js +1 -1
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveBitcoinWalletAddresses/ActiveBitcoinWalletAddresses.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveBitcoinWalletAddresses/ActiveBitcoinWalletAddresses.js +1 -1
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletAddress/ActiveWalletAddress.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/components/ActiveWalletInformation/ActiveWalletAddress/ActiveWalletAddress.js +1 -1
- package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/components/DynamicUserProfile/DynamicUserProfile.js +1 -1
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/components/DynamicWidgetWallets/DynamicWidgetWallets.js +1 -1
- package/src/lib/widgets/DynamicWidget/components/UnknownWalletInformation/UnknownWalletInformation.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/components/UnknownWalletInformation/UnknownWalletInformation.js +1 -1
- package/src/lib/widgets/DynamicWidget/hooks/useFetchChain/index.d.ts +1 -0
- package/src/lib/widgets/DynamicWidget/hooks/useFetchChain/useFetchChain.cjs +3 -2
- package/src/lib/widgets/DynamicWidget/hooks/useFetchChain/useFetchChain.js +3 -2
- package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/views/EditProfileView/EditProfileView.js +1 -1
- package/src/lib/widgets/DynamicWidget/views/ManageMfaWidgetView/ManageMfaWidgetView.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/views/ManageMfaWidgetView/ManageMfaWidgetView.js +1 -1
- package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/ManagePasskeysWidgetView.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/ManagePasskeysWidgetView.js +1 -1
- package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js +1 -1
- package/src/lib/store/state/networkConfigurations/index.d.ts +0 -1
- package/src/lib/store/state/networkConfigurations/networkConfigurations.cjs +0 -159
- package/src/lib/store/state/networkConfigurations/networkConfigurations.d.ts +0 -10
- package/src/lib/store/state/networkConfigurations/networkConfigurations.js +0 -151
- package/src/lib/utils/hooks/useWalletConnectorOptions/index.d.ts +0 -1
- /package/src/lib/utils/hooks/{useWalletConnectorOptions → useCreateWalletConnectorOptions}/utils/errors/ConnectorSetupError.cjs +0 -0
- /package/src/lib/utils/hooks/{useWalletConnectorOptions → useCreateWalletConnectorOptions}/utils/errors/ConnectorSetupError.d.ts +0 -0
- /package/src/lib/utils/hooks/{useWalletConnectorOptions → useCreateWalletConnectorOptions}/utils/errors/ConnectorSetupError.js +0 -0
- /package/src/lib/utils/hooks/{useWalletConnectorOptions → useCreateWalletConnectorOptions}/utils/errors/index.d.ts +0 -0
- /package/src/lib/utils/hooks/{useWalletConnectorOptions → useCreateWalletConnectorOptions}/utils/index.d.ts +0 -0
- /package/src/lib/utils/hooks/{useWalletConnectorOptions → useCreateWalletConnectorOptions}/utils/verifyMagicIsSetup/index.d.ts +0 -0
- /package/src/lib/utils/hooks/{useWalletConnectorOptions → useCreateWalletConnectorOptions}/utils/verifyMagicIsSetup/verifyMagicIsSetup.cjs +0 -0
- /package/src/lib/utils/hooks/{useWalletConnectorOptions → useCreateWalletConnectorOptions}/utils/verifyMagicIsSetup/verifyMagicIsSetup.d.ts +0 -0
- /package/src/lib/utils/hooks/{useWalletConnectorOptions → useCreateWalletConnectorOptions}/utils/verifyMagicIsSetup/verifyMagicIsSetup.js +0 -0
- /package/src/lib/utils/hooks/{useWalletConnectorOptions → useCreateWalletConnectorOptions}/utils/verifyRequiredConnectorsAreSetup/index.d.ts +0 -0
- /package/src/lib/utils/hooks/{useWalletConnectorOptions → useCreateWalletConnectorOptions}/utils/verifyRequiredConnectorsAreSetup/verifyRequiredConnectorsAreSetup.cjs +0 -0
- /package/src/lib/utils/hooks/{useWalletConnectorOptions → useCreateWalletConnectorOptions}/utils/verifyRequiredConnectorsAreSetup/verifyRequiredConnectorsAreSetup.d.ts +0 -0
- /package/src/lib/utils/hooks/{useWalletConnectorOptions → useCreateWalletConnectorOptions}/utils/verifyRequiredConnectorsAreSetup/verifyRequiredConnectorsAreSetup.js +0 -0
- /package/src/lib/utils/hooks/{useWalletConnectorOptions → useCreateWalletConnectorOptions}/utils/verifyZeroDevIsSetup/index.d.ts +0 -0
- /package/src/lib/utils/hooks/{useWalletConnectorOptions → useCreateWalletConnectorOptions}/utils/verifyZeroDevIsSetup/verifyZeroDevIsSetup.cjs +0 -0
- /package/src/lib/utils/hooks/{useWalletConnectorOptions → useCreateWalletConnectorOptions}/utils/verifyZeroDevIsSetup/verifyZeroDevIsSetup.d.ts +0 -0
- /package/src/lib/utils/hooks/{useWalletConnectorOptions → useCreateWalletConnectorOptions}/utils/verifyZeroDevIsSetup/verifyZeroDevIsSetup.js +0 -0
|
@@ -66,8 +66,8 @@ var IconButton = require('../../components/IconButton/IconButton.cjs');
|
|
|
66
66
|
require('../../components/MenuList/Dropdown/Dropdown.cjs');
|
|
67
67
|
var TypographyButton = require('../../components/TypographyButton/TypographyButton.cjs');
|
|
68
68
|
require('formik');
|
|
69
|
-
require('../../store/state/sendBalances.cjs');
|
|
70
69
|
var ModalHeader = require('../../components/ModalHeader/ModalHeader.cjs');
|
|
70
|
+
require('../../store/state/sendBalances.cjs');
|
|
71
71
|
require('../../components/Input/Input.cjs');
|
|
72
72
|
require('../../views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
|
|
73
73
|
require('../../context/PasskeyContext/PasskeyContext.cjs');
|
|
@@ -62,8 +62,8 @@ import { IconButton } from '../../components/IconButton/IconButton.js';
|
|
|
62
62
|
import '../../components/MenuList/Dropdown/Dropdown.js';
|
|
63
63
|
import { TypographyButton } from '../../components/TypographyButton/TypographyButton.js';
|
|
64
64
|
import 'formik';
|
|
65
|
-
import '../../store/state/sendBalances.js';
|
|
66
65
|
import { ModalHeader } from '../../components/ModalHeader/ModalHeader.js';
|
|
66
|
+
import '../../store/state/sendBalances.js';
|
|
67
67
|
import '../../components/Input/Input.js';
|
|
68
68
|
import '../../views/TransactionConfirmationView/helpers/transactionErrorMessage.js';
|
|
69
69
|
import '../../context/PasskeyContext/PasskeyContext.js';
|
|
@@ -67,8 +67,8 @@ var IconButton = require('../../components/IconButton/IconButton.cjs');
|
|
|
67
67
|
require('../../components/MenuList/Dropdown/Dropdown.cjs');
|
|
68
68
|
var TypographyButton = require('../../components/TypographyButton/TypographyButton.cjs');
|
|
69
69
|
require('formik');
|
|
70
|
-
require('../../store/state/sendBalances.cjs');
|
|
71
70
|
var ModalHeader = require('../../components/ModalHeader/ModalHeader.cjs');
|
|
71
|
+
require('../../store/state/sendBalances.cjs');
|
|
72
72
|
require('../../components/Input/Input.cjs');
|
|
73
73
|
require('../../views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
|
|
74
74
|
require('../../context/PasskeyContext/PasskeyContext.cjs');
|
|
@@ -63,8 +63,8 @@ import { IconButton } from '../../components/IconButton/IconButton.js';
|
|
|
63
63
|
import '../../components/MenuList/Dropdown/Dropdown.js';
|
|
64
64
|
import { TypographyButton } from '../../components/TypographyButton/TypographyButton.js';
|
|
65
65
|
import 'formik';
|
|
66
|
-
import '../../store/state/sendBalances.js';
|
|
67
66
|
import { ModalHeader } from '../../components/ModalHeader/ModalHeader.js';
|
|
67
|
+
import '../../store/state/sendBalances.js';
|
|
68
68
|
import '../../components/Input/Input.js';
|
|
69
69
|
import '../../views/TransactionConfirmationView/helpers/transactionErrorMessage.js';
|
|
70
70
|
import '../../context/PasskeyContext/PasskeyContext.js';
|
|
@@ -71,7 +71,6 @@ var SendBalanceView = require('../../views/SendBalanceView/SendBalanceView.cjs')
|
|
|
71
71
|
require('../../context/PasskeyContext/PasskeyContext.cjs');
|
|
72
72
|
require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
|
|
73
73
|
require('../../../index.cjs');
|
|
74
|
-
require('../../store/state/sendBalances.cjs');
|
|
75
74
|
require('../../views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
|
|
76
75
|
require('../../store/state/tokenBalances.cjs');
|
|
77
76
|
require('../../components/InlineWidget/InlineWidget.cjs');
|
|
@@ -84,6 +83,7 @@ require('qrcode');
|
|
|
84
83
|
require('../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.cjs');
|
|
85
84
|
require('@hcaptcha/react-hcaptcha');
|
|
86
85
|
require('../../context/IpConfigurationContext/IpConfigurationContext.cjs');
|
|
86
|
+
require('../../store/state/sendBalances.cjs');
|
|
87
87
|
|
|
88
88
|
const SendBalanceModal = ({ initialRecipientAddress, initialValue, onReject, onSuccess, }) => {
|
|
89
89
|
usePreventPageScroll.usePreventPageScroll(true);
|
|
@@ -67,7 +67,6 @@ import { SendBalanceView } from '../../views/SendBalanceView/SendBalanceView.js'
|
|
|
67
67
|
import '../../context/PasskeyContext/PasskeyContext.js';
|
|
68
68
|
import '../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
|
|
69
69
|
import '../../../index.js';
|
|
70
|
-
import '../../store/state/sendBalances.js';
|
|
71
70
|
import '../../views/TransactionConfirmationView/helpers/transactionErrorMessage.js';
|
|
72
71
|
import '../../store/state/tokenBalances.js';
|
|
73
72
|
import '../../components/InlineWidget/InlineWidget.js';
|
|
@@ -80,6 +79,7 @@ import 'qrcode';
|
|
|
80
79
|
import '../../widgets/DynamicBridgeWidget/views/WalletsView/components/SecondaryWallets/SecondaryWallets.js';
|
|
81
80
|
import '@hcaptcha/react-hcaptcha';
|
|
82
81
|
import '../../context/IpConfigurationContext/IpConfigurationContext.js';
|
|
82
|
+
import '../../store/state/sendBalances.js';
|
|
83
83
|
|
|
84
84
|
const SendBalanceModal = ({ initialRecipientAddress, initialValue, onReject, onSuccess, }) => {
|
|
85
85
|
usePreventPageScroll(true);
|
|
@@ -83,8 +83,8 @@ var IconButton = require('../../components/IconButton/IconButton.cjs');
|
|
|
83
83
|
require('../../components/MenuList/Dropdown/Dropdown.cjs');
|
|
84
84
|
var ErrorContainer = require('../../components/ErrorContainer/ErrorContainer.cjs');
|
|
85
85
|
require('formik');
|
|
86
|
-
require('../../store/state/sendBalances.cjs');
|
|
87
86
|
var ModalHeader = require('../../components/ModalHeader/ModalHeader.cjs');
|
|
87
|
+
require('../../store/state/sendBalances.cjs');
|
|
88
88
|
require('../../components/Input/Input.cjs');
|
|
89
89
|
require('../../views/TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
|
|
90
90
|
var PasskeyContext = require('../../context/PasskeyContext/PasskeyContext.cjs');
|
|
@@ -79,8 +79,8 @@ import { IconButton } from '../../components/IconButton/IconButton.js';
|
|
|
79
79
|
import '../../components/MenuList/Dropdown/Dropdown.js';
|
|
80
80
|
import { ErrorContainer } from '../../components/ErrorContainer/ErrorContainer.js';
|
|
81
81
|
import 'formik';
|
|
82
|
-
import '../../store/state/sendBalances.js';
|
|
83
82
|
import { ModalHeader } from '../../components/ModalHeader/ModalHeader.js';
|
|
83
|
+
import '../../store/state/sendBalances.js';
|
|
84
84
|
import '../../components/Input/Input.js';
|
|
85
85
|
import '../../views/TransactionConfirmationView/helpers/transactionErrorMessage.js';
|
|
86
86
|
import { usePasskeyContext } from '../../context/PasskeyContext/PasskeyContext.js';
|
|
@@ -7,7 +7,7 @@ var utils = require('@dynamic-labs/utils');
|
|
|
7
7
|
var localStorage = require('../../../../utils/constants/localStorage.cjs');
|
|
8
8
|
|
|
9
9
|
const clearExpiredData = (store) => {
|
|
10
|
-
const { projectSettings,
|
|
10
|
+
const { projectSettings, user } = store.getState();
|
|
11
11
|
// TODO: we can clean this up once we move wallet info to the store
|
|
12
12
|
const [connectedWalletData] = utils.StorageService.getItem(localStorage.CONNECTED_WALLETS_INFO) || [];
|
|
13
13
|
const shouldRemoveSettingsAndConfigs = !user && !connectedWalletData;
|
|
@@ -18,11 +18,6 @@ const clearExpiredData = (store) => {
|
|
|
18
18
|
projectSettings: store.getInitialState().projectSettings,
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
|
-
if (isExpired(networkConfigurations)) {
|
|
22
|
-
store.setState({
|
|
23
|
-
networkConfigurations: store.getInitialState().networkConfigurations,
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
21
|
return store;
|
|
27
22
|
};
|
|
28
23
|
|
|
@@ -3,7 +3,7 @@ import { StorageService } from '@dynamic-labs/utils';
|
|
|
3
3
|
import { CONNECTED_WALLETS_INFO } from '../../../../utils/constants/localStorage.js';
|
|
4
4
|
|
|
5
5
|
const clearExpiredData = (store) => {
|
|
6
|
-
const { projectSettings,
|
|
6
|
+
const { projectSettings, user } = store.getState();
|
|
7
7
|
// TODO: we can clean this up once we move wallet info to the store
|
|
8
8
|
const [connectedWalletData] = StorageService.getItem(CONNECTED_WALLETS_INFO) || [];
|
|
9
9
|
const shouldRemoveSettingsAndConfigs = !user && !connectedWalletData;
|
|
@@ -14,11 +14,6 @@ const clearExpiredData = (store) => {
|
|
|
14
14
|
projectSettings: store.getInitialState().projectSettings,
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
|
-
if (isExpired(networkConfigurations)) {
|
|
18
|
-
store.setState({
|
|
19
|
-
networkConfigurations: store.getInitialState().networkConfigurations,
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
17
|
return store;
|
|
23
18
|
};
|
|
24
19
|
|
|
@@ -11,10 +11,6 @@ const createInitialStates = ({ environmentId, }) => ({
|
|
|
11
11
|
loadingAndLifecycle: {
|
|
12
12
|
sessionValidation: false,
|
|
13
13
|
},
|
|
14
|
-
networkConfigurations: {
|
|
15
|
-
expiresAt: undefined,
|
|
16
|
-
networkConfigurations: undefined,
|
|
17
|
-
},
|
|
18
14
|
projectSettings: { expiresAt: undefined, settings: undefined },
|
|
19
15
|
sendBalanceState: {
|
|
20
16
|
amount: undefined,
|
|
@@ -36,7 +32,6 @@ const createInitialStates = ({ environmentId, }) => ({
|
|
|
36
32
|
*/
|
|
37
33
|
const transformStateForLocalStorage = (state) => ({
|
|
38
34
|
environmentId: state.environmentId,
|
|
39
|
-
networkConfigurations: state.networkConfigurations,
|
|
40
35
|
projectSettings: state.projectSettings,
|
|
41
36
|
user: state.user,
|
|
42
37
|
});
|
|
@@ -7,10 +7,6 @@ const createInitialStates = ({ environmentId, }) => ({
|
|
|
7
7
|
loadingAndLifecycle: {
|
|
8
8
|
sessionValidation: false,
|
|
9
9
|
},
|
|
10
|
-
networkConfigurations: {
|
|
11
|
-
expiresAt: undefined,
|
|
12
|
-
networkConfigurations: undefined,
|
|
13
|
-
},
|
|
14
10
|
projectSettings: { expiresAt: undefined, settings: undefined },
|
|
15
11
|
sendBalanceState: {
|
|
16
12
|
amount: undefined,
|
|
@@ -32,7 +28,6 @@ const createInitialStates = ({ environmentId, }) => ({
|
|
|
32
28
|
*/
|
|
33
29
|
const transformStateForLocalStorage = (state) => ({
|
|
34
30
|
environmentId: state.environmentId,
|
|
35
|
-
networkConfigurations: state.networkConfigurations,
|
|
36
31
|
projectSettings: state.projectSettings,
|
|
37
32
|
user: state.user,
|
|
38
33
|
});
|
package/src/lib/store/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ProjectSettings, TokenBalance } from '@dynamic-labs/sdk-api-core';
|
|
2
|
-
import {
|
|
2
|
+
import { UserProfile } from '@dynamic-labs/types';
|
|
3
3
|
import { WalletOption } from '../shared/types/wallets';
|
|
4
4
|
export type SdkStoreProps = {
|
|
5
5
|
environmentId: string;
|
|
@@ -9,7 +9,6 @@ export type SdkStore = {
|
|
|
9
9
|
environmentId: string;
|
|
10
10
|
user: UserProfile | undefined;
|
|
11
11
|
projectSettings: StoredProjectSettings;
|
|
12
|
-
networkConfigurations: StoredNetworkConfigurations;
|
|
13
12
|
tokenBalancesState: TokenBalancesState;
|
|
14
13
|
sendBalanceState: SendBalanceState;
|
|
15
14
|
walletConnectorOptions: WalletOption[];
|
|
@@ -36,10 +35,6 @@ export type StoredProjectSettings = {
|
|
|
36
35
|
expiresAt: number | undefined;
|
|
37
36
|
settings: ProjectSettings | undefined;
|
|
38
37
|
};
|
|
39
|
-
export type StoredNetworkConfigurations = {
|
|
40
|
-
expiresAt: number | undefined;
|
|
41
|
-
networkConfigurations: NetworkConfigurationMap | undefined;
|
|
42
|
-
};
|
|
43
38
|
export type StateConfig = {
|
|
44
39
|
[K in keyof SdkStore]: {
|
|
45
40
|
initialValue: SdkStore[K];
|
|
@@ -3,39 +3,24 @@
|
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
symbol
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
name: 'Solana',
|
|
25
|
-
symbol: 'SOL',
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
const getNativeTokenInfo = (blockchain = 'eth') => networkMap[blockchain] || eth;
|
|
29
|
-
const allowedChains = {
|
|
30
|
-
'arbitrum one': 'arbitrum',
|
|
31
|
-
avalanche: 'avalanche',
|
|
32
|
-
base: 'base',
|
|
33
|
-
eth: 'eth',
|
|
34
|
-
'op mainnet': 'optimism',
|
|
35
|
-
optimism: 'optimism',
|
|
36
|
-
polygon: 'polygon',
|
|
37
|
-
sepolia: 'sepolia',
|
|
38
|
-
solana: 'solana',
|
|
6
|
+
var values = require('../../constants/values.cjs');
|
|
7
|
+
|
|
8
|
+
const getNetworkInfoEntry = (chain, networkInfo) => {
|
|
9
|
+
if (!chain || !chain.symbol) {
|
|
10
|
+
return;
|
|
11
|
+
}
|
|
12
|
+
const normalizedChainSymbol = chain.symbol === 'ETH' || chain.symbol === 'EVM'
|
|
13
|
+
? 'evm'
|
|
14
|
+
: chain.symbol.toLowerCase();
|
|
15
|
+
const networkData = networkInfo[normalizedChainSymbol] ||
|
|
16
|
+
networkInfo[values.ChainEnumToVerifiedCredentialName[normalizedChainSymbol.toUpperCase()]];
|
|
17
|
+
if (!networkData)
|
|
18
|
+
return;
|
|
19
|
+
if (normalizedChainSymbol === 'evm') {
|
|
20
|
+
return networkData.find((e) => e.chainId === (chain === null || chain === void 0 ? void 0 : chain.chainId));
|
|
21
|
+
}
|
|
22
|
+
// Solana, etc
|
|
23
|
+
return networkData[0];
|
|
39
24
|
};
|
|
40
25
|
const getEvmChainName = (chainId) => {
|
|
41
26
|
const map = {
|
|
@@ -49,12 +34,6 @@ const getEvmChainName = (chainId) => {
|
|
|
49
34
|
};
|
|
50
35
|
return map[chainId] || 'Unknown';
|
|
51
36
|
};
|
|
52
|
-
const getIconUrl = (chainName) => {
|
|
53
|
-
const chain = allowedChains[chainName === null || chainName === void 0 ? void 0 : chainName.toLowerCase()] || 'eth';
|
|
54
|
-
return `https://app.dynamic.xyz/assets/networks/${chain}.svg`;
|
|
55
|
-
};
|
|
56
37
|
|
|
57
|
-
exports.allowedChains = allowedChains;
|
|
58
38
|
exports.getEvmChainName = getEvmChainName;
|
|
59
|
-
exports.
|
|
60
|
-
exports.getNativeTokenInfo = getNativeTokenInfo;
|
|
39
|
+
exports.getNetworkInfoEntry = getNetworkInfoEntry;
|
|
@@ -1,12 +1,16 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { ChainWithIcon } from '../../../widgets/DynamicWidget/hooks/useFetchChain';
|
|
2
|
+
interface NativeCurrency {
|
|
3
|
+
decimals: number;
|
|
4
|
+
iconUrl?: string;
|
|
3
5
|
name: string;
|
|
4
6
|
symbol: string;
|
|
5
7
|
}
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
export interface NetworkInfoEntry {
|
|
9
|
+
chainId: number;
|
|
10
|
+
nativeCurrency: NativeCurrency;
|
|
11
|
+
iconUrls: string[];
|
|
12
|
+
name: string;
|
|
13
|
+
}
|
|
14
|
+
export declare const getNetworkInfoEntry: (chain: ChainWithIcon | undefined, networkInfo: Record<string, NetworkInfoEntry[]>) => NetworkInfoEntry | undefined;
|
|
10
15
|
export declare const getEvmChainName: (chainId: number) => string;
|
|
11
|
-
export declare const getIconUrl: (chainName: string) => string;
|
|
12
16
|
export {};
|
|
@@ -1,37 +1,22 @@
|
|
|
1
1
|
'use client'
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
symbol
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
name: 'Solana',
|
|
21
|
-
symbol: 'SOL',
|
|
22
|
-
},
|
|
23
|
-
};
|
|
24
|
-
const getNativeTokenInfo = (blockchain = 'eth') => networkMap[blockchain] || eth;
|
|
25
|
-
const allowedChains = {
|
|
26
|
-
'arbitrum one': 'arbitrum',
|
|
27
|
-
avalanche: 'avalanche',
|
|
28
|
-
base: 'base',
|
|
29
|
-
eth: 'eth',
|
|
30
|
-
'op mainnet': 'optimism',
|
|
31
|
-
optimism: 'optimism',
|
|
32
|
-
polygon: 'polygon',
|
|
33
|
-
sepolia: 'sepolia',
|
|
34
|
-
solana: 'solana',
|
|
2
|
+
import { ChainEnumToVerifiedCredentialName } from '../../constants/values.js';
|
|
3
|
+
|
|
4
|
+
const getNetworkInfoEntry = (chain, networkInfo) => {
|
|
5
|
+
if (!chain || !chain.symbol) {
|
|
6
|
+
return;
|
|
7
|
+
}
|
|
8
|
+
const normalizedChainSymbol = chain.symbol === 'ETH' || chain.symbol === 'EVM'
|
|
9
|
+
? 'evm'
|
|
10
|
+
: chain.symbol.toLowerCase();
|
|
11
|
+
const networkData = networkInfo[normalizedChainSymbol] ||
|
|
12
|
+
networkInfo[ChainEnumToVerifiedCredentialName[normalizedChainSymbol.toUpperCase()]];
|
|
13
|
+
if (!networkData)
|
|
14
|
+
return;
|
|
15
|
+
if (normalizedChainSymbol === 'evm') {
|
|
16
|
+
return networkData.find((e) => e.chainId === (chain === null || chain === void 0 ? void 0 : chain.chainId));
|
|
17
|
+
}
|
|
18
|
+
// Solana, etc
|
|
19
|
+
return networkData[0];
|
|
35
20
|
};
|
|
36
21
|
const getEvmChainName = (chainId) => {
|
|
37
22
|
const map = {
|
|
@@ -45,9 +30,5 @@ const getEvmChainName = (chainId) => {
|
|
|
45
30
|
};
|
|
46
31
|
return map[chainId] || 'Unknown';
|
|
47
32
|
};
|
|
48
|
-
const getIconUrl = (chainName) => {
|
|
49
|
-
const chain = allowedChains[chainName === null || chainName === void 0 ? void 0 : chainName.toLowerCase()] || 'eth';
|
|
50
|
-
return `https://app.dynamic.xyz/assets/networks/${chain}.svg`;
|
|
51
|
-
};
|
|
52
33
|
|
|
53
|
-
export {
|
|
34
|
+
export { getEvmChainName, getNetworkInfoEntry };
|
|
@@ -35,7 +35,7 @@ export * from './useUserUpdateRequest';
|
|
|
35
35
|
export * from './useRpcProviders';
|
|
36
36
|
export { useValidateSession } from './useValidateSession';
|
|
37
37
|
export { useVerifyWallet } from './useVerifyWallet';
|
|
38
|
-
export {
|
|
38
|
+
export { useCreateWalletConnectorOptions } from './useCreateWalletConnectorOptions';
|
|
39
39
|
export { useWalletConnectors } from './useWalletConnectors';
|
|
40
40
|
export { useWalletItemActions } from './useWalletItemActions';
|
|
41
41
|
export { useWalletUiUtils } from './useWalletUiUtils';
|
|
@@ -117,7 +117,7 @@ const useCreateDynamicEmbeddedWalletMutation = () => {
|
|
|
117
117
|
const turnkeyVerifiedCredentials = (_d = updatedUser.verifiedCredentials) === null || _d === void 0 ? void 0 : _d.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'));
|
|
118
118
|
/** It's not authenticated if it's a turnkey wallet that still hasn't created a passkey */
|
|
119
119
|
const isAuthenticated = Boolean((_e = turnkeyVerifiedCredentials === null || turnkeyVerifiedCredentials === void 0 ? void 0 : turnkeyVerifiedCredentials.walletProperties) === null || _e === void 0 ? void 0 : _e.isAuthenticatorAttached);
|
|
120
|
-
const
|
|
120
|
+
const embeddedWallet = walletConnector.createWallet({
|
|
121
121
|
address: (yield walletConnector.getAddress()) || '',
|
|
122
122
|
chain: walletConnector.connectedChain,
|
|
123
123
|
connector: walletConnector,
|
|
@@ -137,7 +137,7 @@ const useCreateDynamicEmbeddedWalletMutation = () => {
|
|
|
137
137
|
});
|
|
138
138
|
setPrimaryWalletId(smartWallet$1.id);
|
|
139
139
|
}
|
|
140
|
-
dynamicEvents.dynamicEvents.emit('embeddedWalletCreated',
|
|
140
|
+
dynamicEvents.dynamicEvents.emit('embeddedWalletCreated', embeddedWallet, turnkeyVerifiedCredentials, updatedUser);
|
|
141
141
|
setShowAuthFlow(false, { performMultiWalletChecks: false });
|
|
142
142
|
}
|
|
143
143
|
catch (err) {
|
|
@@ -113,7 +113,7 @@ const useCreateDynamicEmbeddedWalletMutation = () => {
|
|
|
113
113
|
const turnkeyVerifiedCredentials = (_d = updatedUser.verifiedCredentials) === null || _d === void 0 ? void 0 : _d.find(({ walletName }) => walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey'));
|
|
114
114
|
/** It's not authenticated if it's a turnkey wallet that still hasn't created a passkey */
|
|
115
115
|
const isAuthenticated = Boolean((_e = turnkeyVerifiedCredentials === null || turnkeyVerifiedCredentials === void 0 ? void 0 : turnkeyVerifiedCredentials.walletProperties) === null || _e === void 0 ? void 0 : _e.isAuthenticatorAttached);
|
|
116
|
-
const
|
|
116
|
+
const embeddedWallet = walletConnector.createWallet({
|
|
117
117
|
address: (yield walletConnector.getAddress()) || '',
|
|
118
118
|
chain: walletConnector.connectedChain,
|
|
119
119
|
connector: walletConnector,
|
|
@@ -133,7 +133,7 @@ const useCreateDynamicEmbeddedWalletMutation = () => {
|
|
|
133
133
|
});
|
|
134
134
|
setPrimaryWalletId(smartWallet.id);
|
|
135
135
|
}
|
|
136
|
-
dynamicEvents.emit('embeddedWalletCreated',
|
|
136
|
+
dynamicEvents.emit('embeddedWalletCreated', embeddedWallet, turnkeyVerifiedCredentials, updatedUser);
|
|
137
137
|
setShowAuthFlow(false, { performMultiWalletChecks: false });
|
|
138
138
|
}
|
|
139
139
|
catch (err) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { useCreateWalletConnectorOptions } from './useCreateWalletConnectorOptions';
|
|
@@ -28,7 +28,7 @@ require('../../../store/state/projectSettings/projectSettings.cjs');
|
|
|
28
28
|
var walletConnectorOptions = require('../../../store/state/walletConnectorOptions.cjs');
|
|
29
29
|
var verifyRequiredConnectorsAreSetup = require('./utils/verifyRequiredConnectorsAreSetup/verifyRequiredConnectorsAreSetup.cjs');
|
|
30
30
|
|
|
31
|
-
const
|
|
31
|
+
const useCreateWalletConnectorOptions = ({ projectSettings, appLogoUrl, appName, coinbaseWalletPreference, deepLinkPreference, flowNetwork, mobileExperience, networkConfigurations, walletBook, walletUiUtils, walletConnectorsProp, walletConnectPreferredChains, walletConnectorExtensions, }) => {
|
|
32
32
|
const walletConnectorsKey = React.useMemo(() => { var _a; return (_a = serializeWalletConnectors.serializeWalletConnectors(walletConnectorsProp)) === null || _a === void 0 ? void 0 : _a.join(','); }, [walletConnectorsProp]);
|
|
33
33
|
const walletBookLength = React.useMemo(() => Object.keys(walletBook !== null && walletBook !== void 0 ? walletBook : {}).length, [walletBook]);
|
|
34
34
|
const walletConnectorOptions$1 = React.useMemo(() => {
|
|
@@ -75,4 +75,4 @@ const useWalletConnectorOptions = ({ projectSettings, appLogoUrl, appName, coinb
|
|
|
75
75
|
return { walletConnectorOptions: walletConnectorOptions$1 };
|
|
76
76
|
};
|
|
77
77
|
|
|
78
|
-
exports.
|
|
78
|
+
exports.useCreateWalletConnectorOptions = useCreateWalletConnectorOptions;
|
|
@@ -17,7 +17,7 @@ type Props = {
|
|
|
17
17
|
walletUiUtils: WalletUiUtils<InternalWalletConnector>;
|
|
18
18
|
walletConnectorExtensions?: WalletConnectorExtension[];
|
|
19
19
|
};
|
|
20
|
-
export declare const
|
|
20
|
+
export declare const useCreateWalletConnectorOptions: ({ projectSettings, appLogoUrl, appName, coinbaseWalletPreference, deepLinkPreference, flowNetwork, mobileExperience, networkConfigurations, walletBook, walletUiUtils, walletConnectorsProp, walletConnectPreferredChains, walletConnectorExtensions, }: Props) => {
|
|
21
21
|
walletConnectorOptions: import("../../../shared").WalletOption[];
|
|
22
22
|
};
|
|
23
23
|
export {};
|
|
@@ -24,7 +24,7 @@ import '../../../store/state/projectSettings/projectSettings.js';
|
|
|
24
24
|
import { setWalletConnectorOptions } from '../../../store/state/walletConnectorOptions.js';
|
|
25
25
|
import { verifyRequiredConnectorsAreSetup } from './utils/verifyRequiredConnectorsAreSetup/verifyRequiredConnectorsAreSetup.js';
|
|
26
26
|
|
|
27
|
-
const
|
|
27
|
+
const useCreateWalletConnectorOptions = ({ projectSettings, appLogoUrl, appName, coinbaseWalletPreference, deepLinkPreference, flowNetwork, mobileExperience, networkConfigurations, walletBook, walletUiUtils, walletConnectorsProp, walletConnectPreferredChains, walletConnectorExtensions, }) => {
|
|
28
28
|
const walletConnectorsKey = useMemo(() => { var _a; return (_a = serializeWalletConnectors(walletConnectorsProp)) === null || _a === void 0 ? void 0 : _a.join(','); }, [walletConnectorsProp]);
|
|
29
29
|
const walletBookLength = useMemo(() => Object.keys(walletBook !== null && walletBook !== void 0 ? walletBook : {}).length, [walletBook]);
|
|
30
30
|
const walletConnectorOptions = useMemo(() => {
|
|
@@ -71,4 +71,4 @@ const useWalletConnectorOptions = ({ projectSettings, appLogoUrl, appName, coinb
|
|
|
71
71
|
return { walletConnectorOptions };
|
|
72
72
|
};
|
|
73
73
|
|
|
74
|
-
export {
|
|
74
|
+
export { useCreateWalletConnectorOptions };
|
|
@@ -45,6 +45,7 @@ var errors = require('../../../constants/errors.cjs');
|
|
|
45
45
|
require('../../../../context/VerificationContext/VerificationContext.cjs');
|
|
46
46
|
require('react-dom');
|
|
47
47
|
var useElementById = require('../../useElementById/useElementById.cjs');
|
|
48
|
+
var findPrimaryEmbeddedChain = require('../../../../views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.cjs');
|
|
48
49
|
var WalletContext = require('../../../../context/WalletContext/WalletContext.cjs');
|
|
49
50
|
var useIsTurnkeyWallet = require('../../useIsTurnkeyWallet/useIsTurnkeyWallet.cjs');
|
|
50
51
|
var turnkeyExport = require('../../../../views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.cjs');
|
|
@@ -151,7 +152,8 @@ const useSecureEnclaveEmbeddedWallet = () => {
|
|
|
151
152
|
throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN);
|
|
152
153
|
}
|
|
153
154
|
const userWalletsCredentials = getUserWalletsFromVerifiedCredentials.getUserWalletsFromVerifiedCredentials(user$1);
|
|
154
|
-
const
|
|
155
|
+
const primaryChain = findPrimaryEmbeddedChain.findPrimaryEmbeddedChain(projectSettings);
|
|
156
|
+
const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials.findEmbeddedWalletFromVerifiedCredentials(user$1, chains !== null && chains !== void 0 ? chains : [primaryChain]);
|
|
155
157
|
const isManualMode = ((_e = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _e === void 0 ? void 0 : _e.automaticEmbeddedWalletCreation) === false;
|
|
156
158
|
// if user has a wallet and it's not embedded,
|
|
157
159
|
// throw error to follow another flow and set up the right wallet
|
|
@@ -177,7 +179,8 @@ const useSecureEnclaveEmbeddedWallet = () => {
|
|
|
177
179
|
throw new Error(errors.USER_NOT_LOGGED_IN);
|
|
178
180
|
}
|
|
179
181
|
validateTurnkeyProviderEnabled.validateTurnkeyProviderEnabled(projectSettings);
|
|
180
|
-
const
|
|
182
|
+
const primaryChain = findPrimaryEmbeddedChain.findPrimaryEmbeddedChain(projectSettings);
|
|
183
|
+
const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials.findEmbeddedWalletFromVerifiedCredentials(user$1, [primaryChain]);
|
|
181
184
|
const turnkeyWalletId = (_g = embeddedWalletVerifiedCredential === null || embeddedWalletVerifiedCredential === void 0 ? void 0 : embeddedWalletVerifiedCredential.walletProperties) === null || _g === void 0 ? void 0 : _g.turnkeyHDWalletId;
|
|
182
185
|
if (!turnkeyWalletId) {
|
|
183
186
|
throw new utils.DynamicError('No HD wallet was found for this user to derive a wallet account. Use createEmbeddedWallet first', 'NoHdWalletFound');
|
|
@@ -41,6 +41,7 @@ import { USER_NOT_LOGGED_IN, ACTIVE_SESSION, SESSION_RESTORED, INVALID_REQUEST,
|
|
|
41
41
|
import '../../../../context/VerificationContext/VerificationContext.js';
|
|
42
42
|
import 'react-dom';
|
|
43
43
|
import { useElementById } from '../../useElementById/useElementById.js';
|
|
44
|
+
import { findPrimaryEmbeddedChain } from '../../../../views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.js';
|
|
44
45
|
import { useWalletContext } from '../../../../context/WalletContext/WalletContext.js';
|
|
45
46
|
import { useIsTurnkeyWallet } from '../../useIsTurnkeyWallet/useIsTurnkeyWallet.js';
|
|
46
47
|
import { cleanupExport, initExport, exportCredential } from '../../../../views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.js';
|
|
@@ -147,7 +148,8 @@ const useSecureEnclaveEmbeddedWallet = () => {
|
|
|
147
148
|
throw new DynamicError(USER_NOT_LOGGED_IN);
|
|
148
149
|
}
|
|
149
150
|
const userWalletsCredentials = getUserWalletsFromVerifiedCredentials(user);
|
|
150
|
-
const
|
|
151
|
+
const primaryChain = findPrimaryEmbeddedChain(projectSettings);
|
|
152
|
+
const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials(user, chains !== null && chains !== void 0 ? chains : [primaryChain]);
|
|
151
153
|
const isManualMode = ((_e = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _e === void 0 ? void 0 : _e.automaticEmbeddedWalletCreation) === false;
|
|
152
154
|
// if user has a wallet and it's not embedded,
|
|
153
155
|
// throw error to follow another flow and set up the right wallet
|
|
@@ -173,7 +175,8 @@ const useSecureEnclaveEmbeddedWallet = () => {
|
|
|
173
175
|
throw new Error(USER_NOT_LOGGED_IN);
|
|
174
176
|
}
|
|
175
177
|
validateTurnkeyProviderEnabled(projectSettings);
|
|
176
|
-
const
|
|
178
|
+
const primaryChain = findPrimaryEmbeddedChain(projectSettings);
|
|
179
|
+
const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials(user, [primaryChain]);
|
|
177
180
|
const turnkeyWalletId = (_g = embeddedWalletVerifiedCredential === null || embeddedWalletVerifiedCredential === void 0 ? void 0 : embeddedWalletVerifiedCredential.walletProperties) === null || _g === void 0 ? void 0 : _g.turnkeyHDWalletId;
|
|
178
181
|
if (!turnkeyWalletId) {
|
|
179
182
|
throw new DynamicError('No HD wallet was found for this user to derive a wallet account. Use createEmbeddedWallet first', 'NoHdWalletFound');
|
|
@@ -98,17 +98,26 @@ const useTurnkey = () => {
|
|
|
98
98
|
const { createDynamicEmbeddedWalletMutation } = useCreateDynamicEmbeddedWalletMutation.useCreateDynamicEmbeddedWalletMutation();
|
|
99
99
|
const { getEOAWallet } = useSmartWallets.useSmartWallets();
|
|
100
100
|
const startHeadlessEmbeddedWalletCreationFlow = React.useCallback((chains, options) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
101
|
-
yield createDynamicEmbeddedWalletMutation({
|
|
102
|
-
chains,
|
|
103
|
-
environmentId,
|
|
104
|
-
options,
|
|
105
|
-
walletConnectorOptions,
|
|
106
|
-
withAuthenticator: false,
|
|
107
|
-
});
|
|
108
|
-
setShowAuthFlow(false, { performMultiWalletChecks: false }); // close email otp pin modal
|
|
109
101
|
return new Promise((resolve, reject) => {
|
|
110
|
-
|
|
102
|
+
// register the event listeners before calling create embedded wallet
|
|
103
|
+
// as the event might fire before the listeners are registered.
|
|
104
|
+
dynamicEvents.dynamicEvents.once('embeddedWalletCreated', (wallet) => {
|
|
105
|
+
resolve(wallet);
|
|
106
|
+
});
|
|
111
107
|
dynamicEvents.dynamicEvents.once('embeddedWalletFailed', (error) => reject(error));
|
|
108
|
+
createDynamicEmbeddedWalletMutation({
|
|
109
|
+
chains,
|
|
110
|
+
environmentId,
|
|
111
|
+
options,
|
|
112
|
+
walletConnectorOptions,
|
|
113
|
+
withAuthenticator: false,
|
|
114
|
+
})
|
|
115
|
+
.then(() => {
|
|
116
|
+
setShowAuthFlow(false, { performMultiWalletChecks: false }); // close email otp pin modal
|
|
117
|
+
})
|
|
118
|
+
.catch((error) => {
|
|
119
|
+
reject(error);
|
|
120
|
+
});
|
|
112
121
|
});
|
|
113
122
|
}), [
|
|
114
123
|
createDynamicEmbeddedWalletMutation,
|
|
@@ -184,7 +193,10 @@ const useTurnkey = () => {
|
|
|
184
193
|
const isManualMode = ((_c = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _c === void 0 ? void 0 : _c.automaticEmbeddedWalletCreation) === false;
|
|
185
194
|
const shouldCreateV2WalletsByDefault = ((_d = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _d === void 0 ? void 0 : _d.defaultWalletVersion) ===
|
|
186
195
|
sdkApiCore.EmbeddedWalletVersionEnum.V2;
|
|
187
|
-
const
|
|
196
|
+
const primaryChain = findPrimaryEmbeddedChain.findPrimaryEmbeddedChain(projectSettings);
|
|
197
|
+
// if embedded wallet already exists
|
|
198
|
+
// get the one with the primary chain if `chains` is undefined
|
|
199
|
+
const embeddedWalletVerifiedCredential = findEmbeddedWalletFromVerifiedCredentials.findEmbeddedWalletFromVerifiedCredentials(user, chains !== null && chains !== void 0 ? chains : [primaryChain]);
|
|
188
200
|
const userWalletsCredentials = getUserWalletsFromVerifiedCredentials.getUserWalletsFromVerifiedCredentials(user);
|
|
189
201
|
// If the user doesn't have a wallet, or if the customer is in Manual
|
|
190
202
|
// Mode, we should attempt to create a new wallet. Note that if in manual
|
|
@@ -211,7 +223,7 @@ const useTurnkey = () => {
|
|
|
211
223
|
if (embeddedWalletVerifiedCredential &&
|
|
212
224
|
user.newUser &&
|
|
213
225
|
((_f = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _f === void 0 ? void 0 : _f.automaticEmbeddedWalletCreation)) {
|
|
214
|
-
const walletConnector = findPasskeyEmailWalletConnector.findPasskeyEmailWalletConnector(walletConnectorOptions,
|
|
226
|
+
const walletConnector = findPasskeyEmailWalletConnector.findPasskeyEmailWalletConnector(walletConnectorOptions, primaryChain);
|
|
215
227
|
if (!walletConnector) {
|
|
216
228
|
throw new Error('Could not find the embedded wallet connector');
|
|
217
229
|
}
|