@dynamic-labs/sdk-react-core 2.1.0-alpha.2 → 2.1.0-alpha.4
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 +26 -0
- package/package.cjs +2 -2
- package/package.js +2 -2
- package/package.json +13 -14
- package/src/index.cjs +0 -2
- package/src/index.d.ts +1 -1
- package/src/index.js +0 -1
- package/src/lib/Main.cjs +5 -0
- package/src/lib/Main.js +5 -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/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/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 +1 -0
- package/src/lib/context/DynamicContext/DynamicContext.js +1 -0
- 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/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/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/user/user.cjs +16 -0
- package/src/lib/data/api/user/user.js +16 -1
- 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 +44 -3
- package/src/lib/locale/en/translation.d.ts +43 -2
- package/src/lib/locale/en/translation.js +44 -3
- package/src/lib/shared/types/dynamicEventsCallbacks.d.ts +2 -1
- 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 +0 -2
- package/src/lib/utils/constants/errors.js +1 -2
- package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.cjs +11 -9
- package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.d.ts +6 -2
- package/src/lib/utils/functions/findTurnkeyWallet/findTurnkeyWallet.js +12 -10
- package/src/lib/utils/functions/findTurnkeyWallet/index.d.ts +1 -1
- package/src/lib/utils/functions/index.d.ts +1 -0
- 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 +1 -0
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.cjs +4 -1
- package/src/lib/utils/hooks/useAuthLayoutChecks/useAuthLayoutChecks.js +4 -1
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs +1 -1
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js +1 -1
- 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/useEmbeddedWallet/useEmbeddedWallet.cjs +7 -8
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.d.ts +10 -1
- package/src/lib/utils/hooks/useEmbeddedWallet/useEmbeddedWallet.js +7 -8
- package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.cjs +1 -1
- package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.js +1 -1
- package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.cjs +1 -1
- package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useMPCEmbeddedWallet.js +1 -1
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.cjs +137 -25
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.d.ts +17 -7
- package/src/lib/utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.js +140 -28
- 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/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/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/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.cjs +2 -2
- package/src/lib/views/EmbeddedReveal/utils/turnkeyExport/turnkeyExport.js +2 -2
- 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/Passkey/utils/createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.cjs +1 -1
- package/src/lib/views/Passkey/utils/createEmbeddedWalletWithPasskey/createEmbeddedWalletWithPasskey.js +1 -1
- package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.cjs +1 -1
- package/src/lib/views/Passkey/utils/createPregeneratedWallet/createPregeneratedWallet.js +1 -1
- package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.cjs +7 -7
- package/src/lib/views/Passkey/utils/passkeyRecovery/passkeyRecovery.js +7 -7
- package/src/lib/views/viewToComponentMap.cjs +4 -0
- package/src/lib/views/viewToComponentMap.d.ts +2 -0
- package/src/lib/views/viewToComponentMap.js +4 -0
|
@@ -10,7 +10,6 @@ const ERROR_SENDING_CODE = 'error_sending_code';
|
|
|
10
10
|
const INVALID_REQUEST = 'invalid_request';
|
|
11
11
|
const INVALID_WALLET_DATA = 'invalid_wallet';
|
|
12
12
|
const SECURE_ENCLAVE_PROVIDER_NOT_ENABLED = 'secure_enclave_provider_not_enabled';
|
|
13
|
-
const NO_SECURE_ENCLAVE_WALLET_FOUND = 'no_secure_enclave_wallet_found';
|
|
14
13
|
const USER_NOT_LOGGED_IN = 'user_not_logged_in';
|
|
15
14
|
const CODE_SENT = 'code_sent';
|
|
16
15
|
const SESSION_CREATED = 'session_created';
|
|
@@ -22,7 +21,6 @@ exports.ERROR_SENDING_CODE = ERROR_SENDING_CODE;
|
|
|
22
21
|
exports.INVALID_REQUEST = INVALID_REQUEST;
|
|
23
22
|
exports.INVALID_WALLET_DATA = INVALID_WALLET_DATA;
|
|
24
23
|
exports.MISSING_ADDRESS_ERROR = MISSING_ADDRESS_ERROR;
|
|
25
|
-
exports.NO_SECURE_ENCLAVE_WALLET_FOUND = NO_SECURE_ENCLAVE_WALLET_FOUND;
|
|
26
24
|
exports.SECURE_ENCLAVE_PROVIDER_NOT_ENABLED = SECURE_ENCLAVE_PROVIDER_NOT_ENABLED;
|
|
27
25
|
exports.SESSION_CREATED = SESSION_CREATED;
|
|
28
26
|
exports.SESSION_RESTORED = SESSION_RESTORED;
|
|
@@ -6,10 +6,9 @@ const ERROR_SENDING_CODE = 'error_sending_code';
|
|
|
6
6
|
const INVALID_REQUEST = 'invalid_request';
|
|
7
7
|
const INVALID_WALLET_DATA = 'invalid_wallet';
|
|
8
8
|
const SECURE_ENCLAVE_PROVIDER_NOT_ENABLED = 'secure_enclave_provider_not_enabled';
|
|
9
|
-
const NO_SECURE_ENCLAVE_WALLET_FOUND = 'no_secure_enclave_wallet_found';
|
|
10
9
|
const USER_NOT_LOGGED_IN = 'user_not_logged_in';
|
|
11
10
|
const CODE_SENT = 'code_sent';
|
|
12
11
|
const SESSION_CREATED = 'session_created';
|
|
13
12
|
const SESSION_RESTORED = 'SESSION_RESTORED';
|
|
14
13
|
|
|
15
|
-
export { ACTIVE_SESSION, CODE_SENT, ERROR_SENDING_CODE, INVALID_REQUEST, INVALID_WALLET_DATA, MISSING_ADDRESS_ERROR,
|
|
14
|
+
export { ACTIVE_SESSION, CODE_SENT, ERROR_SENDING_CODE, INVALID_REQUEST, INVALID_WALLET_DATA, MISSING_ADDRESS_ERROR, SECURE_ENCLAVE_PROVIDER_NOT_ENABLED, SESSION_CREATED, SESSION_RESTORED, USER_NOT_LOGGED_IN };
|
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
|
-
var
|
|
6
|
+
var sdkApiCore = require('@dynamic-labs/sdk-api-core');
|
|
7
|
+
require('@dynamic-labs/utils');
|
|
7
8
|
var values = require('../../constants/values.cjs');
|
|
8
|
-
var errors = require('../../constants/errors.cjs');
|
|
9
9
|
|
|
10
10
|
const findTurnkeyWalletByChain = (walletOptions, chainName) => {
|
|
11
11
|
const chain = chainName
|
|
@@ -13,14 +13,16 @@ const findTurnkeyWalletByChain = (walletOptions, chainName) => {
|
|
|
13
13
|
: undefined;
|
|
14
14
|
return walletOptions === null || walletOptions === void 0 ? void 0 : walletOptions.find(({ key, walletConnector }) => key.startsWith('turnkey') && (walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.connectedChain) === chain);
|
|
15
15
|
};
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
const findTurnkeyWalletByPrimaryChain = (walletOptions, chainConfigurations, verifiedCredentials) => {
|
|
17
|
+
var _a;
|
|
18
|
+
const primaryEmbeddedChain = ((_a = chainConfigurations === null || chainConfigurations === void 0 ? void 0 : chainConfigurations.find((chain) => chain.primary)) === null || _a === void 0 ? void 0 : _a.name) || sdkApiCore.ChainEnum.Evm;
|
|
19
|
+
const walletConnector = findTurnkeyWalletByChain(walletOptions, values.ChainEnumToVerifiedCredentialName[primaryEmbeddedChain]);
|
|
20
|
+
const turnkeyVC = verifiedCredentials === null || verifiedCredentials === void 0 ? void 0 : verifiedCredentials.find(({ walletName, chain }) => (walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey')) && chain === primaryEmbeddedChain);
|
|
21
|
+
if (!turnkeyVC || !walletConnector) {
|
|
22
|
+
return undefined;
|
|
21
23
|
}
|
|
22
|
-
return
|
|
24
|
+
return Object.assign(Object.assign({}, turnkeyVC), walletConnector);
|
|
23
25
|
};
|
|
24
26
|
|
|
25
|
-
exports.findTurnkeyWalletByAddress = findTurnkeyWalletByAddress;
|
|
26
27
|
exports.findTurnkeyWalletByChain = findTurnkeyWalletByChain;
|
|
28
|
+
exports.findTurnkeyWalletByPrimaryChain = findTurnkeyWalletByPrimaryChain;
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
import { JwtVerifiedCredential } from '@dynamic-labs/sdk-api-core';
|
|
1
|
+
import { ChainConfiguration, JwtVerifiedCredential } from '@dynamic-labs/sdk-api-core';
|
|
2
|
+
import { WalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
2
3
|
import { WalletOption } from '../../../shared';
|
|
3
4
|
export declare const findTurnkeyWalletByChain: (walletOptions: WalletOption[] | undefined, chainName: string | undefined) => WalletOption | undefined;
|
|
4
|
-
export declare const
|
|
5
|
+
export declare const findTurnkeyWalletByPrimaryChain: (walletOptions: WalletOption[] | undefined, chainConfigurations: ChainConfiguration[] | undefined, verifiedCredentials: JwtVerifiedCredential[]) => (JwtVerifiedCredential & WalletOption) | undefined;
|
|
6
|
+
export declare const findTurnkeyWalletByAddress: (walletOptions: WalletOption[] | undefined, verifiedCredentials: JwtVerifiedCredential[], address: string | undefined) => (JwtVerifiedCredential & {
|
|
7
|
+
walletConnector?: WalletConnector;
|
|
8
|
+
}) | undefined;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client'
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
2
|
+
import { ChainEnum } from '@dynamic-labs/sdk-api-core';
|
|
3
|
+
import '@dynamic-labs/utils';
|
|
4
|
+
import { VerifiedCredentialNameToChainEnum, ChainEnumToVerifiedCredentialName } from '../../constants/values.js';
|
|
5
5
|
|
|
6
6
|
const findTurnkeyWalletByChain = (walletOptions, chainName) => {
|
|
7
7
|
const chain = chainName
|
|
@@ -9,13 +9,15 @@ const findTurnkeyWalletByChain = (walletOptions, chainName) => {
|
|
|
9
9
|
: undefined;
|
|
10
10
|
return walletOptions === null || walletOptions === void 0 ? void 0 : walletOptions.find(({ key, walletConnector }) => key.startsWith('turnkey') && (walletConnector === null || walletConnector === void 0 ? void 0 : walletConnector.connectedChain) === chain);
|
|
11
11
|
};
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
const findTurnkeyWalletByPrimaryChain = (walletOptions, chainConfigurations, verifiedCredentials) => {
|
|
13
|
+
var _a;
|
|
14
|
+
const primaryEmbeddedChain = ((_a = chainConfigurations === null || chainConfigurations === void 0 ? void 0 : chainConfigurations.find((chain) => chain.primary)) === null || _a === void 0 ? void 0 : _a.name) || ChainEnum.Evm;
|
|
15
|
+
const walletConnector = findTurnkeyWalletByChain(walletOptions, ChainEnumToVerifiedCredentialName[primaryEmbeddedChain]);
|
|
16
|
+
const turnkeyVC = verifiedCredentials === null || verifiedCredentials === void 0 ? void 0 : verifiedCredentials.find(({ walletName, chain }) => (walletName === null || walletName === void 0 ? void 0 : walletName.startsWith('turnkey')) && chain === primaryEmbeddedChain);
|
|
17
|
+
if (!turnkeyVC || !walletConnector) {
|
|
18
|
+
return undefined;
|
|
17
19
|
}
|
|
18
|
-
return
|
|
20
|
+
return Object.assign(Object.assign({}, turnkeyVC), walletConnector);
|
|
19
21
|
};
|
|
20
22
|
|
|
21
|
-
export {
|
|
23
|
+
export { findTurnkeyWalletByChain, findTurnkeyWalletByPrimaryChain };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export { findTurnkeyWalletByChain, findTurnkeyWalletByAddress, } from './findTurnkeyWallet';
|
|
1
|
+
export { findTurnkeyWalletByChain, findTurnkeyWalletByPrimaryChain, findTurnkeyWalletByAddress, } from './findTurnkeyWallet';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { serializeWalletConnectors } from './serializeWalletConnectors';
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
'use strict';
|
|
3
|
+
|
|
4
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
|
+
|
|
6
|
+
require('@dynamic-labs/sdk-api-core');
|
|
7
|
+
var logger = require('../../../shared/logger.cjs');
|
|
8
|
+
require('@dynamic-labs/iconic');
|
|
9
|
+
require('@dynamic-labs/wallet-connector-core');
|
|
10
|
+
require('react/jsx-runtime');
|
|
11
|
+
require('../../../context/ViewContext/ViewContext.cjs');
|
|
12
|
+
require('react');
|
|
13
|
+
require('@dynamic-labs/wallet-book');
|
|
14
|
+
require('../../constants/colors.cjs');
|
|
15
|
+
require('../../constants/values.cjs');
|
|
16
|
+
require('../../../shared/utils/classes/storage/localStorage.cjs');
|
|
17
|
+
require('@dynamic-labs/utils');
|
|
18
|
+
require('../../../shared/consts/index.cjs');
|
|
19
|
+
|
|
20
|
+
const serializeWalletConnectors = (walletConnectors) => {
|
|
21
|
+
try {
|
|
22
|
+
if (!walletConnectors)
|
|
23
|
+
return undefined;
|
|
24
|
+
return walletConnectors.map((connector) => connector.name);
|
|
25
|
+
}
|
|
26
|
+
catch (error) {
|
|
27
|
+
logger.logger.error('error serializing walletConnectors', error);
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
exports.serializeWalletConnectors = serializeWalletConnectors;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
import '@dynamic-labs/sdk-api-core';
|
|
3
|
+
import { logger } from '../../../shared/logger.js';
|
|
4
|
+
import '@dynamic-labs/iconic';
|
|
5
|
+
import '@dynamic-labs/wallet-connector-core';
|
|
6
|
+
import 'react/jsx-runtime';
|
|
7
|
+
import '../../../context/ViewContext/ViewContext.js';
|
|
8
|
+
import 'react';
|
|
9
|
+
import '@dynamic-labs/wallet-book';
|
|
10
|
+
import '../../constants/colors.js';
|
|
11
|
+
import '../../constants/values.js';
|
|
12
|
+
import '../../../shared/utils/classes/storage/localStorage.js';
|
|
13
|
+
import '@dynamic-labs/utils';
|
|
14
|
+
import '../../../shared/consts/index.js';
|
|
15
|
+
|
|
16
|
+
const serializeWalletConnectors = (walletConnectors) => {
|
|
17
|
+
try {
|
|
18
|
+
if (!walletConnectors)
|
|
19
|
+
return undefined;
|
|
20
|
+
return walletConnectors.map((connector) => connector.name);
|
|
21
|
+
}
|
|
22
|
+
catch (error) {
|
|
23
|
+
logger.error('error serializing walletConnectors', error);
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
export { serializeWalletConnectors };
|
|
@@ -52,3 +52,4 @@ export { useSendDynamicProps } from './useSendDynamicProps';
|
|
|
52
52
|
export { useNetworkNotSupported } from './useNetworkNotSupported';
|
|
53
53
|
export { useHandleVerifiedUser } from './useHandleVerifiedUser';
|
|
54
54
|
export { useMfa } from './useMfa';
|
|
55
|
+
export { useMergeUserAccounts } from './useMergeUserAccounts';
|
|
@@ -165,7 +165,9 @@ const useAuthLayoutChecks = () => {
|
|
|
165
165
|
view.type === 'qr-code' ||
|
|
166
166
|
view.type === 'wallet-used' ||
|
|
167
167
|
view.type === 'email-wallet-otp-verification-view' ||
|
|
168
|
-
view.type === 'farcaster-connect-view'
|
|
168
|
+
view.type === 'farcaster-connect-view' ||
|
|
169
|
+
view.type === 'merge-user-accounts' ||
|
|
170
|
+
view.type === 'merge-user-accounts-conflicts');
|
|
169
171
|
const showCloseButton = view.type !== 'login-with-email-or-wallet-full-wallet-list' &&
|
|
170
172
|
view.type !== 'login-with-email-verification' &&
|
|
171
173
|
view.type !== 'login-with-sms-verification' &&
|
|
@@ -189,6 +191,7 @@ const useAuthLayoutChecks = () => {
|
|
|
189
191
|
view.type === 'passkey-intro' ||
|
|
190
192
|
view.type === 'qr-code' ||
|
|
191
193
|
view.type === 'farcaster-connect-view' ||
|
|
194
|
+
view.type === 'merge-user-accounts-conflicts' ||
|
|
192
195
|
(view.type === 'merge-user-accounts-with-same-email' && !user);
|
|
193
196
|
const showDefaultFooter = !showConnectedWalletProgress && !showDynamicFooter && !showToSFooter;
|
|
194
197
|
const shouldHideDynamicFooterSeparator = showDynamicFooter && showToSFooter;
|
|
@@ -161,7 +161,9 @@ const useAuthLayoutChecks = () => {
|
|
|
161
161
|
view.type === 'qr-code' ||
|
|
162
162
|
view.type === 'wallet-used' ||
|
|
163
163
|
view.type === 'email-wallet-otp-verification-view' ||
|
|
164
|
-
view.type === 'farcaster-connect-view'
|
|
164
|
+
view.type === 'farcaster-connect-view' ||
|
|
165
|
+
view.type === 'merge-user-accounts' ||
|
|
166
|
+
view.type === 'merge-user-accounts-conflicts');
|
|
165
167
|
const showCloseButton = view.type !== 'login-with-email-or-wallet-full-wallet-list' &&
|
|
166
168
|
view.type !== 'login-with-email-verification' &&
|
|
167
169
|
view.type !== 'login-with-sms-verification' &&
|
|
@@ -185,6 +187,7 @@ const useAuthLayoutChecks = () => {
|
|
|
185
187
|
view.type === 'passkey-intro' ||
|
|
186
188
|
view.type === 'qr-code' ||
|
|
187
189
|
view.type === 'farcaster-connect-view' ||
|
|
190
|
+
view.type === 'merge-user-accounts-conflicts' ||
|
|
188
191
|
(view.type === 'merge-user-accounts-with-same-email' && !user);
|
|
189
192
|
const showDefaultFooter = !showConnectedWalletProgress && !showDynamicFooter && !showToSFooter;
|
|
190
193
|
const shouldHideDynamicFooterSeparator = showDynamicFooter && showToSFooter;
|
|
@@ -132,7 +132,7 @@ const useCreateDynamicEmbeddedWalletMutation = () => {
|
|
|
132
132
|
}
|
|
133
133
|
setUser(updateJWTAndCreateUserProfile.updateJWTAndCreateUserProfile(signersResponse.jwt, signersResponse.minifiedJwt));
|
|
134
134
|
setShowAuthFlow(false, { performMultiWalletChecks: false });
|
|
135
|
-
dynamicEvents.dynamicEvents.emit('embeddedWalletCreated', passkeyWallet, turnkeyVerifiedCredentials);
|
|
135
|
+
dynamicEvents.dynamicEvents.emit('embeddedWalletCreated', passkeyWallet, turnkeyVerifiedCredentials, authToken);
|
|
136
136
|
}
|
|
137
137
|
catch (err) {
|
|
138
138
|
setError(err);
|
|
@@ -128,7 +128,7 @@ const useCreateDynamicEmbeddedWalletMutation = () => {
|
|
|
128
128
|
}
|
|
129
129
|
setUser(updateJWTAndCreateUserProfile(signersResponse.jwt, signersResponse.minifiedJwt));
|
|
130
130
|
setShowAuthFlow(false, { performMultiWalletChecks: false });
|
|
131
|
-
dynamicEvents.emit('embeddedWalletCreated', passkeyWallet, turnkeyVerifiedCredentials);
|
|
131
|
+
dynamicEvents.emit('embeddedWalletCreated', passkeyWallet, turnkeyVerifiedCredentials, authToken);
|
|
132
132
|
}
|
|
133
133
|
catch (err) {
|
|
134
134
|
setError(err);
|
|
@@ -97,6 +97,14 @@ const useDynamicLayoutData = ({ view, authMode, }) => {
|
|
|
97
97
|
copykey: 'dyn_login.title.wallet_only',
|
|
98
98
|
heading: t('dyn_login.title.wallet_only'),
|
|
99
99
|
},
|
|
100
|
+
'merge-user-accounts': {
|
|
101
|
+
copykey: 'dyn_merge_user_accounts.same_wallet.title',
|
|
102
|
+
heading: t('dyn_merge_user_accounts.same_wallet.title'),
|
|
103
|
+
},
|
|
104
|
+
'merge-user-accounts-conflicts': {
|
|
105
|
+
copykey: 'dyn_merge_user_accounts_conflicts.title',
|
|
106
|
+
heading: t('dyn_merge_user_accounts_conflicts.title'),
|
|
107
|
+
},
|
|
100
108
|
'mfa-choose-device': {
|
|
101
109
|
copykey: 'dyn_mfa.choose_device_view.title',
|
|
102
110
|
heading: t('dyn_mfa.choose_device_view.title'),
|
|
@@ -93,6 +93,14 @@ const useDynamicLayoutData = ({ view, authMode, }) => {
|
|
|
93
93
|
copykey: 'dyn_login.title.wallet_only',
|
|
94
94
|
heading: t('dyn_login.title.wallet_only'),
|
|
95
95
|
},
|
|
96
|
+
'merge-user-accounts': {
|
|
97
|
+
copykey: 'dyn_merge_user_accounts.same_wallet.title',
|
|
98
|
+
heading: t('dyn_merge_user_accounts.same_wallet.title'),
|
|
99
|
+
},
|
|
100
|
+
'merge-user-accounts-conflicts': {
|
|
101
|
+
copykey: 'dyn_merge_user_accounts_conflicts.title',
|
|
102
|
+
heading: t('dyn_merge_user_accounts_conflicts.title'),
|
|
103
|
+
},
|
|
96
104
|
'mfa-choose-device': {
|
|
97
105
|
copykey: 'dyn_mfa.choose_device_view.title',
|
|
98
106
|
heading: t('dyn_mfa.choose_device_view.title'),
|
|
@@ -35,7 +35,6 @@ require('../../../context/UserWalletsContext/UserWalletsContext.cjs');
|
|
|
35
35
|
require('../../../context/VerificationContext/VerificationContext.cjs');
|
|
36
36
|
require('react-dom');
|
|
37
37
|
var WalletContext = require('../../../context/WalletContext/WalletContext.cjs');
|
|
38
|
-
var useEmbeddedWalletPassword = require('../useEmbeddedWalletPassword/useEmbeddedWalletPassword.cjs');
|
|
39
38
|
var useSecureEnclaveEmbeddedWallet = require('./useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.cjs');
|
|
40
39
|
var useMPCEmbeddedWallet = require('./useMPCEmbeddedWallet/useMPCEmbeddedWallet.cjs');
|
|
41
40
|
require('../../../context/ThemeContext/ThemeContext.cjs');
|
|
@@ -90,15 +89,10 @@ var useInternalDynamicContext = require('../../../context/DynamicContext/useDyna
|
|
|
90
89
|
*/
|
|
91
90
|
const useEmbeddedWallet = () => {
|
|
92
91
|
const { onboardingOnlyJwt } = useInternalDynamicContext.useInternalDynamicContext();
|
|
93
|
-
const {
|
|
94
|
-
const { createEmbeddedWallet:
|
|
95
|
-
const { createEmbeddedWallet: createTurnkeyEmbeddedWallet } = useSecureEnclaveEmbeddedWallet.useSecureEnclaveEmbeddedWallet();
|
|
92
|
+
const { createEmbeddedWallet: createCoinbaseMPCWallet, canCreateMPCWallet, createPassword, } = useMPCEmbeddedWallet.useMPCEmbeddedWallet();
|
|
93
|
+
const { createEmbeddedWallet: createTurnkeyEmbeddedWallet, createOrRestoreSession, createPasskey, getPasskeys, isSessionActive, sendOneTimeCode, } = useSecureEnclaveEmbeddedWallet.useSecureEnclaveEmbeddedWallet();
|
|
96
94
|
const { isLoadingEmbeddedWallet } = WalletContext.useWalletContext();
|
|
97
95
|
const userHasEmbeddedWallet = () => hasEmbeddedWallet.hasEmbeddedWallet(getAuthToken.getAuthToken() || onboardingOnlyJwt);
|
|
98
|
-
/**
|
|
99
|
-
* @deprecated - Use this from the useMPCEmbeddedWallet hook instead.
|
|
100
|
-
*/
|
|
101
|
-
const createPassword = React.useCallback((showIntro) => _tslib.__awaiter(void 0, void 0, void 0, function* () { return internalCreatePassword(showIntro); }), [internalCreatePassword]);
|
|
102
96
|
const createEmbeddedWallet = React.useCallback((chain) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
103
97
|
if (yield canCreateMPCWallet(chain)) {
|
|
104
98
|
const wallet = yield createCoinbaseMPCWallet(chain);
|
|
@@ -109,8 +103,13 @@ const useEmbeddedWallet = () => {
|
|
|
109
103
|
}), [canCreateMPCWallet, createCoinbaseMPCWallet, createTurnkeyEmbeddedWallet]);
|
|
110
104
|
return {
|
|
111
105
|
createEmbeddedWallet,
|
|
106
|
+
createOrRestoreSession,
|
|
107
|
+
createPasskey,
|
|
112
108
|
createPassword,
|
|
109
|
+
getPasskeys,
|
|
113
110
|
isLoadingEmbeddedWallet,
|
|
111
|
+
isSessionActive,
|
|
112
|
+
sendOneTimeCode,
|
|
114
113
|
userHasEmbeddedWallet,
|
|
115
114
|
};
|
|
116
115
|
};
|
|
@@ -10,7 +10,16 @@ import { Wallet } from '../../../shared';
|
|
|
10
10
|
*/
|
|
11
11
|
export declare const useEmbeddedWallet: () => {
|
|
12
12
|
readonly createEmbeddedWallet: (chain?: ChainEnum) => Promise<Wallet | undefined>;
|
|
13
|
-
readonly
|
|
13
|
+
readonly createOrRestoreSession: ({ oneTimeCode }: {
|
|
14
|
+
oneTimeCode?: string | undefined;
|
|
15
|
+
}) => Promise<string>;
|
|
16
|
+
readonly createPasskey: ({ oneTimeCode }: {
|
|
17
|
+
oneTimeCode?: string | undefined;
|
|
18
|
+
}) => Promise<import("dist/packages/wallet-connector-core/src").WebAuthnAttestation>;
|
|
19
|
+
readonly createPassword: (showIntro?: boolean | undefined) => Promise<string>;
|
|
20
|
+
readonly getPasskeys: () => Promise<import("@dynamic-labs/sdk-api-core").UserPasskey[]>;
|
|
14
21
|
readonly isLoadingEmbeddedWallet: boolean;
|
|
22
|
+
readonly isSessionActive: boolean;
|
|
23
|
+
readonly sendOneTimeCode: () => Promise<string>;
|
|
15
24
|
readonly userHasEmbeddedWallet: () => boolean;
|
|
16
25
|
};
|
|
@@ -31,7 +31,6 @@ import '../../../context/UserWalletsContext/UserWalletsContext.js';
|
|
|
31
31
|
import '../../../context/VerificationContext/VerificationContext.js';
|
|
32
32
|
import 'react-dom';
|
|
33
33
|
import { useWalletContext } from '../../../context/WalletContext/WalletContext.js';
|
|
34
|
-
import { useEmbeddedWalletPassword } from '../useEmbeddedWalletPassword/useEmbeddedWalletPassword.js';
|
|
35
34
|
import { useSecureEnclaveEmbeddedWallet } from './useSecureEnclaveEmbeddedWallet/useSecureEnclaveEmbeddedWallet.js';
|
|
36
35
|
import { useMPCEmbeddedWallet } from './useMPCEmbeddedWallet/useMPCEmbeddedWallet.js';
|
|
37
36
|
import '../../../context/ThemeContext/ThemeContext.js';
|
|
@@ -86,15 +85,10 @@ import { useInternalDynamicContext } from '../../../context/DynamicContext/useDy
|
|
|
86
85
|
*/
|
|
87
86
|
const useEmbeddedWallet = () => {
|
|
88
87
|
const { onboardingOnlyJwt } = useInternalDynamicContext();
|
|
89
|
-
const {
|
|
90
|
-
const { createEmbeddedWallet:
|
|
91
|
-
const { createEmbeddedWallet: createTurnkeyEmbeddedWallet } = useSecureEnclaveEmbeddedWallet();
|
|
88
|
+
const { createEmbeddedWallet: createCoinbaseMPCWallet, canCreateMPCWallet, createPassword, } = useMPCEmbeddedWallet();
|
|
89
|
+
const { createEmbeddedWallet: createTurnkeyEmbeddedWallet, createOrRestoreSession, createPasskey, getPasskeys, isSessionActive, sendOneTimeCode, } = useSecureEnclaveEmbeddedWallet();
|
|
92
90
|
const { isLoadingEmbeddedWallet } = useWalletContext();
|
|
93
91
|
const userHasEmbeddedWallet = () => hasEmbeddedWallet(getAuthToken() || onboardingOnlyJwt);
|
|
94
|
-
/**
|
|
95
|
-
* @deprecated - Use this from the useMPCEmbeddedWallet hook instead.
|
|
96
|
-
*/
|
|
97
|
-
const createPassword = useCallback((showIntro) => __awaiter(void 0, void 0, void 0, function* () { return internalCreatePassword(showIntro); }), [internalCreatePassword]);
|
|
98
92
|
const createEmbeddedWallet = useCallback((chain) => __awaiter(void 0, void 0, void 0, function* () {
|
|
99
93
|
if (yield canCreateMPCWallet(chain)) {
|
|
100
94
|
const wallet = yield createCoinbaseMPCWallet(chain);
|
|
@@ -105,8 +99,13 @@ const useEmbeddedWallet = () => {
|
|
|
105
99
|
}), [canCreateMPCWallet, createCoinbaseMPCWallet, createTurnkeyEmbeddedWallet]);
|
|
106
100
|
return {
|
|
107
101
|
createEmbeddedWallet,
|
|
102
|
+
createOrRestoreSession,
|
|
103
|
+
createPasskey,
|
|
108
104
|
createPassword,
|
|
105
|
+
getPasskeys,
|
|
109
106
|
isLoadingEmbeddedWallet,
|
|
107
|
+
isSessionActive,
|
|
108
|
+
sendOneTimeCode,
|
|
110
109
|
userHasEmbeddedWallet,
|
|
111
110
|
};
|
|
112
111
|
};
|
package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.cjs
CHANGED
|
@@ -162,7 +162,7 @@ const useCoinbaseMPC = () => {
|
|
|
162
162
|
connector,
|
|
163
163
|
id: jwtVerifiedCredential.id,
|
|
164
164
|
};
|
|
165
|
-
dynamicEvents.dynamicEvents.emit('embeddedWalletCreated', coinbaseMPCWallet, jwtVerifiedCredential);
|
|
165
|
+
dynamicEvents.dynamicEvents.emit('embeddedWalletCreated', coinbaseMPCWallet, jwtVerifiedCredential, jwt);
|
|
166
166
|
return coinbaseMPCWallet;
|
|
167
167
|
}
|
|
168
168
|
catch (error) {
|
package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.js
CHANGED
|
@@ -158,7 +158,7 @@ const useCoinbaseMPC = () => {
|
|
|
158
158
|
connector,
|
|
159
159
|
id: jwtVerifiedCredential.id,
|
|
160
160
|
};
|
|
161
|
-
dynamicEvents.emit('embeddedWalletCreated', coinbaseMPCWallet, jwtVerifiedCredential);
|
|
161
|
+
dynamicEvents.emit('embeddedWalletCreated', coinbaseMPCWallet, jwtVerifiedCredential, jwt);
|
|
162
162
|
return coinbaseMPCWallet;
|
|
163
163
|
}
|
|
164
164
|
catch (error) {
|
|
@@ -40,9 +40,9 @@ require('../../../../context/UserWalletsContext/UserWalletsContext.cjs');
|
|
|
40
40
|
require('../../../../context/VerificationContext/VerificationContext.cjs');
|
|
41
41
|
require('react-dom');
|
|
42
42
|
var WalletContext = require('../../../../context/WalletContext/WalletContext.cjs');
|
|
43
|
-
var useEmbeddedWalletPassword = require('../../useEmbeddedWalletPassword/useEmbeddedWalletPassword.cjs');
|
|
44
43
|
var validateUserIsLoggedIn = require('../../../validations/validateUserIsLoggedIn/validateUserIsLoggedIn.cjs');
|
|
45
44
|
var validateMPCProviderEnabled = require('../../../validations/validateMPCProviderEnabled/validateMPCProviderEnabled.cjs');
|
|
45
|
+
var useEmbeddedWalletPassword = require('../../useEmbeddedWalletPassword/useEmbeddedWalletPassword.cjs');
|
|
46
46
|
var useCoinbaseMPC = require('./useCoinbaseMPC/useCoinbaseMPC.cjs');
|
|
47
47
|
require('../../../../context/ThemeContext/ThemeContext.cjs');
|
|
48
48
|
require('@dynamic-labs/types');
|
|
@@ -36,9 +36,9 @@ import '../../../../context/UserWalletsContext/UserWalletsContext.js';
|
|
|
36
36
|
import '../../../../context/VerificationContext/VerificationContext.js';
|
|
37
37
|
import 'react-dom';
|
|
38
38
|
import { useWalletContext } from '../../../../context/WalletContext/WalletContext.js';
|
|
39
|
-
import { useEmbeddedWalletPassword } from '../../useEmbeddedWalletPassword/useEmbeddedWalletPassword.js';
|
|
40
39
|
import { validateUserIsLoggedIn } from '../../../validations/validateUserIsLoggedIn/validateUserIsLoggedIn.js';
|
|
41
40
|
import { validateMPCProviderEnabled } from '../../../validations/validateMPCProviderEnabled/validateMPCProviderEnabled.js';
|
|
41
|
+
import { useEmbeddedWalletPassword } from '../../useEmbeddedWalletPassword/useEmbeddedWalletPassword.js';
|
|
42
42
|
import { useCoinbaseMPC } from './useCoinbaseMPC/useCoinbaseMPC.js';
|
|
43
43
|
import '../../../../context/ThemeContext/ThemeContext.js';
|
|
44
44
|
import '@dynamic-labs/types';
|