@dynamic-labs/sdk-react-core 4.0.0-alpha.37 → 4.0.0-alpha.39
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 +21 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +11 -11
- package/src/lib/context/ConnectWithOtpContext/ConnectWithOtpProvider.cjs +1 -1
- package/src/lib/context/ConnectWithOtpContext/ConnectWithOtpProvider.js +1 -1
- package/src/lib/data/api/embeddedWallets/embeddedWallets.cjs +2 -1
- package/src/lib/data/api/embeddedWallets/embeddedWallets.d.ts +1 -1
- package/src/lib/data/api/embeddedWallets/embeddedWallets.js +2 -1
- package/src/lib/data/api/embeddedWallets/types.d.ts +1 -0
- package/src/lib/styles/index.shadow.cjs +1 -1
- package/src/lib/styles/index.shadow.js +1 -1
- package/src/lib/utils/hooks/index.d.ts +1 -0
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.cjs +12 -1
- package/src/lib/utils/hooks/useCreateDynamicEmbeddedWalletMutation/useCreateDynamicEmbeddedWalletMutation.js +12 -1
- package/src/lib/utils/hooks/useCreateWalletConnectorOptions/index.d.ts +1 -0
- package/src/lib/utils/hooks/useCreateWalletConnectorOptions/useCreateWalletConnectorOptions.cjs +5 -24
- package/src/lib/utils/hooks/useCreateWalletConnectorOptions/useCreateWalletConnectorOptions.d.ts +2 -3
- package/src/lib/utils/hooks/useCreateWalletConnectorOptions/useCreateWalletConnectorOptions.js +5 -24
- package/src/lib/utils/hooks/useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.cjs +11 -0
- package/src/lib/utils/hooks/useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.d.ts +1 -0
- package/src/lib/utils/hooks/useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.js +11 -0
- package/src/lib/utils/hooks/useExternalAuth/useExternalAuth.cjs +1 -1
- package/src/lib/utils/hooks/useExternalAuth/useExternalAuth.js +1 -1
- package/src/lib/utils/hooks/useResetCookieLocalStorage/useResetCookieLocalStorage.cjs +3 -5
- package/src/lib/utils/hooks/useResetCookieLocalStorage/useResetCookieLocalStorage.js +4 -6
- package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.cjs +1 -1
- package/src/lib/utils/hooks/useSetWalletConnectorFetchers/useSetWalletConnectorFetchers.js +1 -1
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +1 -1
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +1 -1
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.cjs +1 -1
- package/src/lib/utils/hooks/useVerifyWallet/useVerifyWallet.js +1 -1
- package/src/lib/views/EmailVerification/EmailVerification.cjs +1 -1
- package/src/lib/views/EmailVerification/EmailVerification.js +1 -1
- package/src/lib/views/Passkey/utils/createEmbeddedWalletRequest/createEmbeddedWalletRequest.cjs +3 -2
- package/src/lib/views/Passkey/utils/createEmbeddedWalletRequest/createEmbeddedWalletRequest.d.ts +2 -1
- package/src/lib/views/Passkey/utils/createEmbeddedWalletRequest/createEmbeddedWalletRequest.js +3 -2
- package/src/lib/views/SmsVerification/useSmsVerification/useSmsVerification.cjs +1 -1
- package/src/lib/views/SmsVerification/useSmsVerification/useSmsVerification.js +1 -1
- package/src/lib/views/WalletList/WalletListItem/WalletListItem.cjs +1 -1
- package/src/lib/views/WalletList/WalletListItem/WalletListItem.js +2 -2
- package/src/lib/widgets/DynamicBridgeWidget/DynamicBridgeWidget.cjs +5 -1
- package/src/lib/widgets/DynamicBridgeWidget/DynamicBridgeWidget.js +5 -1
|
@@ -34,6 +34,7 @@ export * from './useUserUpdateRequest';
|
|
|
34
34
|
export * from './useRpcProviders';
|
|
35
35
|
export { useValidateSession } from './useValidateSession';
|
|
36
36
|
export { useVerifyWallet } from './useVerifyWallet';
|
|
37
|
+
export type { WalletConnectorProps } from './useCreateWalletConnectorOptions';
|
|
37
38
|
export { useCreateWalletConnectorOptions } from './useCreateWalletConnectorOptions';
|
|
38
39
|
export { useWalletConnectors } from './useWalletConnectors';
|
|
39
40
|
export { useWalletItemActions } from './useWalletItemActions';
|
|
@@ -38,6 +38,7 @@ var createEmbeddedWalletRequest = require('../../../views/Passkey/utils/createEm
|
|
|
38
38
|
var findPasskeyEmailWalletConnector = require('../../../views/Passkey/utils/findPasskeyEmailWalletConnector/findPasskeyEmailWalletConnector.cjs');
|
|
39
39
|
var smartWallet = require('../useWalletConnectors/utils/smartWallet/smartWallet.cjs');
|
|
40
40
|
var findPrimaryEmbeddedChain = require('../../../views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.cjs');
|
|
41
|
+
var useEmbeddedWalletSessionKeys = require('../useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.cjs');
|
|
41
42
|
require('../../../context/WalletContext/WalletContext.cjs');
|
|
42
43
|
require('../../functions/compareChains/compareChains.cjs');
|
|
43
44
|
require('../useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.cjs');
|
|
@@ -92,9 +93,13 @@ var useInternalDynamicContext = require('../../../context/DynamicContext/useDyna
|
|
|
92
93
|
// This hook needs to be async that's why it's not using useMutation
|
|
93
94
|
const useCreateDynamicEmbeddedWalletMutation = () => {
|
|
94
95
|
var _a, _b;
|
|
95
|
-
const { setPrimaryWalletId, user, setShowAuthFlow, projectSettings } = useInternalDynamicContext.useInternalDynamicContext();
|
|
96
|
+
const { setPrimaryWalletId, user, setShowAuthFlow, projectSettings, environmentId, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
96
97
|
const [isLoading, setIsLoading] = React.useState(false);
|
|
97
98
|
const [error, setError] = React.useState();
|
|
99
|
+
const { getSessionPublicKey, shouldRegisterSessionKeysOnSignin } = useEmbeddedWalletSessionKeys.useEmbeddedWalletSessionKeys({
|
|
100
|
+
environmentId,
|
|
101
|
+
projectSettings,
|
|
102
|
+
});
|
|
98
103
|
const embeddedChainConfig = ((_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.chainConfigurations) || [];
|
|
99
104
|
const primaryEmbeddedChain = findPrimaryEmbeddedChain.findPrimaryEmbeddedChain(projectSettings);
|
|
100
105
|
const embeddedChains = embeddedChainConfig
|
|
@@ -108,10 +113,16 @@ const useCreateDynamicEmbeddedWalletMutation = () => {
|
|
|
108
113
|
if (!user) {
|
|
109
114
|
throw new utils.DynamicError(errors.USER_NOT_LOGGED_IN);
|
|
110
115
|
}
|
|
116
|
+
let sessionPublicKey;
|
|
117
|
+
// get the session public key that was created in the login/signup flow
|
|
118
|
+
if (shouldRegisterSessionKeysOnSignin()) {
|
|
119
|
+
sessionPublicKey = getSessionPublicKey();
|
|
120
|
+
}
|
|
111
121
|
try {
|
|
112
122
|
const { embeddedWalletVerifiedCredential, updatedUser, walletConnector, } = yield createEmbeddedWalletRequest.createEmbeddedWalletRequest({
|
|
113
123
|
chains: chains !== null && chains !== void 0 ? chains : embeddedChains,
|
|
114
124
|
environmentId,
|
|
125
|
+
sessionPublicKey,
|
|
115
126
|
user,
|
|
116
127
|
walletConnector: findPasskeyEmailWalletConnector.findPasskeyEmailWalletConnector(walletConnectorOptions, primaryEmbeddedChain),
|
|
117
128
|
webAuthnAttestation: options === null || options === void 0 ? void 0 : options.webAuthnAttestation,
|
|
@@ -34,6 +34,7 @@ import { createEmbeddedWalletRequest } from '../../../views/Passkey/utils/create
|
|
|
34
34
|
import { findPasskeyEmailWalletConnector } from '../../../views/Passkey/utils/findPasskeyEmailWalletConnector/findPasskeyEmailWalletConnector.js';
|
|
35
35
|
import { findSmartWallet, initializeSmartWallet } from '../useWalletConnectors/utils/smartWallet/smartWallet.js';
|
|
36
36
|
import { findPrimaryEmbeddedChain } from '../../../views/Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.js';
|
|
37
|
+
import { useEmbeddedWalletSessionKeys } from '../useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.js';
|
|
37
38
|
import '../../../context/WalletContext/WalletContext.js';
|
|
38
39
|
import '../../functions/compareChains/compareChains.js';
|
|
39
40
|
import '../useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.js';
|
|
@@ -88,9 +89,13 @@ import { useInternalDynamicContext } from '../../../context/DynamicContext/useDy
|
|
|
88
89
|
// This hook needs to be async that's why it's not using useMutation
|
|
89
90
|
const useCreateDynamicEmbeddedWalletMutation = () => {
|
|
90
91
|
var _a, _b;
|
|
91
|
-
const { setPrimaryWalletId, user, setShowAuthFlow, projectSettings } = useInternalDynamicContext();
|
|
92
|
+
const { setPrimaryWalletId, user, setShowAuthFlow, projectSettings, environmentId, } = useInternalDynamicContext();
|
|
92
93
|
const [isLoading, setIsLoading] = useState(false);
|
|
93
94
|
const [error, setError] = useState();
|
|
95
|
+
const { getSessionPublicKey, shouldRegisterSessionKeysOnSignin } = useEmbeddedWalletSessionKeys({
|
|
96
|
+
environmentId,
|
|
97
|
+
projectSettings,
|
|
98
|
+
});
|
|
94
99
|
const embeddedChainConfig = ((_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.chainConfigurations) || [];
|
|
95
100
|
const primaryEmbeddedChain = findPrimaryEmbeddedChain(projectSettings);
|
|
96
101
|
const embeddedChains = embeddedChainConfig
|
|
@@ -104,10 +109,16 @@ const useCreateDynamicEmbeddedWalletMutation = () => {
|
|
|
104
109
|
if (!user) {
|
|
105
110
|
throw new DynamicError(USER_NOT_LOGGED_IN);
|
|
106
111
|
}
|
|
112
|
+
let sessionPublicKey;
|
|
113
|
+
// get the session public key that was created in the login/signup flow
|
|
114
|
+
if (shouldRegisterSessionKeysOnSignin()) {
|
|
115
|
+
sessionPublicKey = getSessionPublicKey();
|
|
116
|
+
}
|
|
107
117
|
try {
|
|
108
118
|
const { embeddedWalletVerifiedCredential, updatedUser, walletConnector, } = yield createEmbeddedWalletRequest({
|
|
109
119
|
chains: chains !== null && chains !== void 0 ? chains : embeddedChains,
|
|
110
120
|
environmentId,
|
|
121
|
+
sessionPublicKey,
|
|
111
122
|
user,
|
|
112
123
|
walletConnector: findPasskeyEmailWalletConnector(walletConnectorOptions, primaryEmbeddedChain),
|
|
113
124
|
webAuthnAttestation: options === null || options === void 0 ? void 0 : options.webAuthnAttestation,
|
package/src/lib/utils/hooks/useCreateWalletConnectorOptions/useCreateWalletConnectorOptions.cjs
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
|
+
var _tslib = require('../../../../../_virtual/_tslib.cjs');
|
|
6
7
|
var React = require('react');
|
|
7
8
|
var data = require('../../../views/WalletList/data.cjs');
|
|
8
9
|
require('@dynamic-labs/sdk-api-core');
|
|
9
10
|
require('../../constants/values.cjs');
|
|
10
11
|
require('@dynamic-labs/utils');
|
|
11
|
-
require('../../../../../_virtual/_tslib.cjs');
|
|
12
12
|
require('@dynamic-labs/multi-wallet');
|
|
13
13
|
require('../../../shared/logger.cjs');
|
|
14
14
|
require('../../constants/colors.cjs');
|
|
@@ -28,41 +28,22 @@ 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 useCreateWalletConnectorOptions = (
|
|
31
|
+
const useCreateWalletConnectorOptions = (_a) => {
|
|
32
|
+
var { projectSettings, networkConfigurations, walletBook, walletConnectorsProp, walletConnectorExtensions } = _a, props = _tslib.__rest(_a, ["projectSettings", "networkConfigurations", "walletBook", "walletConnectorsProp", "walletConnectorExtensions"]);
|
|
32
33
|
const walletConnectorsKey = React.useMemo(() => { var _a; return (_a = serializeWalletConnectors.serializeWalletConnectors(walletConnectorsProp)) === null || _a === void 0 ? void 0 : _a.join(','); }, [walletConnectorsProp]);
|
|
33
34
|
const walletBookLength = React.useMemo(() => Object.keys(walletBook !== null && walletBook !== void 0 ? walletBook : {}).length, [walletBook]);
|
|
34
35
|
const walletConnectorOptions$1 = React.useMemo(() => {
|
|
35
|
-
if (!projectSettings ||
|
|
36
|
-
!Object.keys(walletBook !== null && walletBook !== void 0 ? walletBook : {}).length ||
|
|
37
|
-
!networkConfigurations)
|
|
36
|
+
if (!projectSettings || !walletBookLength || !networkConfigurations)
|
|
38
37
|
return [];
|
|
39
38
|
return data.getWallets({
|
|
40
|
-
getSupportedWalletOpts: {
|
|
41
|
-
appLogoUrl,
|
|
42
|
-
appName,
|
|
43
|
-
coinbaseWalletPreference,
|
|
44
|
-
deepLinkPreference,
|
|
45
|
-
flowNetwork,
|
|
46
|
-
mobileExperience,
|
|
47
|
-
networkConfigurations,
|
|
48
|
-
settings: projectSettings,
|
|
49
|
-
skipMemo: true,
|
|
50
|
-
walletBook,
|
|
51
|
-
walletConnectPreferredChains,
|
|
52
|
-
walletConnectorsProp: walletConnectorsProp !== null && walletConnectorsProp !== void 0 ? walletConnectorsProp : [],
|
|
53
|
-
walletUiUtils,
|
|
54
|
-
},
|
|
39
|
+
getSupportedWalletOpts: Object.assign({ networkConfigurations, settings: projectSettings, skipMemo: true, walletBook, walletConnectorsProp: walletConnectorsProp !== null && walletConnectorsProp !== void 0 ? walletConnectorsProp : [] }, props),
|
|
55
40
|
walletConnectorExtensions,
|
|
56
41
|
});
|
|
57
42
|
// Cannot include walletUiUtils in the dependency array because it will cause an infinite loop
|
|
58
43
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
59
44
|
}, [
|
|
60
|
-
appLogoUrl,
|
|
61
|
-
appName,
|
|
62
45
|
projectSettings,
|
|
63
46
|
walletConnectorsKey,
|
|
64
|
-
walletConnectPreferredChains,
|
|
65
|
-
flowNetwork,
|
|
66
47
|
walletBookLength,
|
|
67
48
|
networkConfigurations,
|
|
68
49
|
]);
|
package/src/lib/utils/hooks/useCreateWalletConnectorOptions/useCreateWalletConnectorOptions.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { ProjectSettings } from '@dynamic-labs/sdk-api-core';
|
|
|
2
2
|
import { type MobileExperience, type CoinbaseWalletPreference, type NetworkConfigurationMap, type WalletUiUtils } from '@dynamic-labs/types';
|
|
3
3
|
import { DeepLinkVariant, InternalWalletConnector, WalletConnectorExtension, WalletConnectorsMethod } from '@dynamic-labs/wallet-connector-core';
|
|
4
4
|
import { WalletBookSchema } from '@dynamic-labs/wallet-book';
|
|
5
|
-
type
|
|
5
|
+
export type WalletConnectorProps = {
|
|
6
6
|
appLogoUrl?: string;
|
|
7
7
|
appName?: string;
|
|
8
8
|
coinbaseWalletPreference?: CoinbaseWalletPreference;
|
|
@@ -17,7 +17,6 @@ type Props = {
|
|
|
17
17
|
walletUiUtils: WalletUiUtils<InternalWalletConnector>;
|
|
18
18
|
walletConnectorExtensions?: WalletConnectorExtension[];
|
|
19
19
|
};
|
|
20
|
-
export declare const useCreateWalletConnectorOptions: ({ projectSettings,
|
|
20
|
+
export declare const useCreateWalletConnectorOptions: ({ projectSettings, networkConfigurations, walletBook, walletConnectorsProp, walletConnectorExtensions, ...props }: WalletConnectorProps) => {
|
|
21
21
|
walletConnectorOptions: import("../../../shared").WalletOption[];
|
|
22
22
|
};
|
|
23
|
-
export {};
|
package/src/lib/utils/hooks/useCreateWalletConnectorOptions/useCreateWalletConnectorOptions.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
'use client'
|
|
2
|
+
import { __rest } from '../../../../../_virtual/_tslib.js';
|
|
2
3
|
import { useMemo, useEffect } from 'react';
|
|
3
4
|
import { getWallets } from '../../../views/WalletList/data.js';
|
|
4
5
|
import '@dynamic-labs/sdk-api-core';
|
|
5
6
|
import '../../constants/values.js';
|
|
6
7
|
import '@dynamic-labs/utils';
|
|
7
|
-
import '../../../../../_virtual/_tslib.js';
|
|
8
8
|
import '@dynamic-labs/multi-wallet';
|
|
9
9
|
import '../../../shared/logger.js';
|
|
10
10
|
import '../../constants/colors.js';
|
|
@@ -24,41 +24,22 @@ 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 useCreateWalletConnectorOptions = (
|
|
27
|
+
const useCreateWalletConnectorOptions = (_a) => {
|
|
28
|
+
var { projectSettings, networkConfigurations, walletBook, walletConnectorsProp, walletConnectorExtensions } = _a, props = __rest(_a, ["projectSettings", "networkConfigurations", "walletBook", "walletConnectorsProp", "walletConnectorExtensions"]);
|
|
28
29
|
const walletConnectorsKey = useMemo(() => { var _a; return (_a = serializeWalletConnectors(walletConnectorsProp)) === null || _a === void 0 ? void 0 : _a.join(','); }, [walletConnectorsProp]);
|
|
29
30
|
const walletBookLength = useMemo(() => Object.keys(walletBook !== null && walletBook !== void 0 ? walletBook : {}).length, [walletBook]);
|
|
30
31
|
const walletConnectorOptions = useMemo(() => {
|
|
31
|
-
if (!projectSettings ||
|
|
32
|
-
!Object.keys(walletBook !== null && walletBook !== void 0 ? walletBook : {}).length ||
|
|
33
|
-
!networkConfigurations)
|
|
32
|
+
if (!projectSettings || !walletBookLength || !networkConfigurations)
|
|
34
33
|
return [];
|
|
35
34
|
return getWallets({
|
|
36
|
-
getSupportedWalletOpts: {
|
|
37
|
-
appLogoUrl,
|
|
38
|
-
appName,
|
|
39
|
-
coinbaseWalletPreference,
|
|
40
|
-
deepLinkPreference,
|
|
41
|
-
flowNetwork,
|
|
42
|
-
mobileExperience,
|
|
43
|
-
networkConfigurations,
|
|
44
|
-
settings: projectSettings,
|
|
45
|
-
skipMemo: true,
|
|
46
|
-
walletBook,
|
|
47
|
-
walletConnectPreferredChains,
|
|
48
|
-
walletConnectorsProp: walletConnectorsProp !== null && walletConnectorsProp !== void 0 ? walletConnectorsProp : [],
|
|
49
|
-
walletUiUtils,
|
|
50
|
-
},
|
|
35
|
+
getSupportedWalletOpts: Object.assign({ networkConfigurations, settings: projectSettings, skipMemo: true, walletBook, walletConnectorsProp: walletConnectorsProp !== null && walletConnectorsProp !== void 0 ? walletConnectorsProp : [] }, props),
|
|
51
36
|
walletConnectorExtensions,
|
|
52
37
|
});
|
|
53
38
|
// Cannot include walletUiUtils in the dependency array because it will cause an infinite loop
|
|
54
39
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
55
40
|
}, [
|
|
56
|
-
appLogoUrl,
|
|
57
|
-
appName,
|
|
58
41
|
projectSettings,
|
|
59
42
|
walletConnectorsKey,
|
|
60
|
-
walletConnectPreferredChains,
|
|
61
|
-
flowNetwork,
|
|
62
43
|
walletBookLength,
|
|
63
44
|
networkConfigurations,
|
|
64
45
|
]);
|
|
@@ -98,6 +98,16 @@ const useEmbeddedWalletSessionKeys = ({ environmentId, projectSettings, }) => {
|
|
|
98
98
|
utils.StorageService.setItem(localStorage.SECURE_ENCLAVE_WALLET_SESSION_KEYS, toEncodedFormat(publicKey, privateKey, privateJwk, false), localStorage.SECURE_ENCLAVE_WALLET_SESSION_KEYS_STORAGE_OPTIONS);
|
|
99
99
|
return { privateKey, privateKeyJwk: privateJwk, publicKey };
|
|
100
100
|
});
|
|
101
|
+
const getSessionPublicKey = () => {
|
|
102
|
+
const sessionKeysSS = utils.StorageService.getItem(localStorage.SECURE_ENCLAVE_WALLET_SESSION_KEYS, localStorage.SECURE_ENCLAVE_WALLET_SESSION_KEYS_STORAGE_OPTIONS);
|
|
103
|
+
const decodedSessionKeys = sessionKeysSS
|
|
104
|
+
? JSON.parse(Buffer.from(sessionKeysSS, 'base64').toString())
|
|
105
|
+
: undefined;
|
|
106
|
+
if (!(decodedSessionKeys === null || decodedSessionKeys === void 0 ? void 0 : decodedSessionKeys.publicKey)) {
|
|
107
|
+
throw new Error('Could not find session keys.');
|
|
108
|
+
}
|
|
109
|
+
return decodedSessionKeys === null || decodedSessionKeys === void 0 ? void 0 : decodedSessionKeys.publicKey;
|
|
110
|
+
};
|
|
101
111
|
const shouldRegisterSessionKeysOnSignin = () => {
|
|
102
112
|
var _a;
|
|
103
113
|
return ((_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _a === void 0 ? void 0 : _a.defaultWalletVersion) ===
|
|
@@ -117,6 +127,7 @@ const useEmbeddedWalletSessionKeys = ({ environmentId, projectSettings, }) => {
|
|
|
117
127
|
const removeSessionKey = React.useCallback(() => utils.StorageService.removeItem(localStorage.SECURE_ENCLAVE_WALLET_SESSION_KEYS, localStorage.SECURE_ENCLAVE_WALLET_SESSION_KEYS_STORAGE_OPTIONS), []);
|
|
118
128
|
return {
|
|
119
129
|
generateSessionKey,
|
|
130
|
+
getSessionPublicKey,
|
|
120
131
|
registerEmbeddedWalletSessionKey,
|
|
121
132
|
removeSessionKey,
|
|
122
133
|
shouldRegisterSessionKeysOnSignin,
|
|
@@ -15,6 +15,7 @@ export declare const useEmbeddedWalletSessionKeys: ({ environmentId, projectSett
|
|
|
15
15
|
privateKeyJwk: JsonWebKey;
|
|
16
16
|
publicKey: string;
|
|
17
17
|
}>;
|
|
18
|
+
getSessionPublicKey: () => string;
|
|
18
19
|
registerEmbeddedWalletSessionKey: ({ ignoreRestore, }?: {
|
|
19
20
|
ignoreRestore?: boolean;
|
|
20
21
|
}) => Promise<SessionKey | {
|
|
@@ -94,6 +94,16 @@ const useEmbeddedWalletSessionKeys = ({ environmentId, projectSettings, }) => {
|
|
|
94
94
|
StorageService.setItem(SECURE_ENCLAVE_WALLET_SESSION_KEYS, toEncodedFormat(publicKey, privateKey, privateJwk, false), SECURE_ENCLAVE_WALLET_SESSION_KEYS_STORAGE_OPTIONS);
|
|
95
95
|
return { privateKey, privateKeyJwk: privateJwk, publicKey };
|
|
96
96
|
});
|
|
97
|
+
const getSessionPublicKey = () => {
|
|
98
|
+
const sessionKeysSS = StorageService.getItem(SECURE_ENCLAVE_WALLET_SESSION_KEYS, SECURE_ENCLAVE_WALLET_SESSION_KEYS_STORAGE_OPTIONS);
|
|
99
|
+
const decodedSessionKeys = sessionKeysSS
|
|
100
|
+
? JSON.parse(Buffer.from(sessionKeysSS, 'base64').toString())
|
|
101
|
+
: undefined;
|
|
102
|
+
if (!(decodedSessionKeys === null || decodedSessionKeys === void 0 ? void 0 : decodedSessionKeys.publicKey)) {
|
|
103
|
+
throw new Error('Could not find session keys.');
|
|
104
|
+
}
|
|
105
|
+
return decodedSessionKeys === null || decodedSessionKeys === void 0 ? void 0 : decodedSessionKeys.publicKey;
|
|
106
|
+
};
|
|
97
107
|
const shouldRegisterSessionKeysOnSignin = () => {
|
|
98
108
|
var _a;
|
|
99
109
|
return ((_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.embeddedWallets) === null || _a === void 0 ? void 0 : _a.defaultWalletVersion) ===
|
|
@@ -113,6 +123,7 @@ const useEmbeddedWalletSessionKeys = ({ environmentId, projectSettings, }) => {
|
|
|
113
123
|
const removeSessionKey = useCallback(() => StorageService.removeItem(SECURE_ENCLAVE_WALLET_SESSION_KEYS, SECURE_ENCLAVE_WALLET_SESSION_KEYS_STORAGE_OPTIONS), []);
|
|
114
124
|
return {
|
|
115
125
|
generateSessionKey,
|
|
126
|
+
getSessionPublicKey,
|
|
116
127
|
registerEmbeddedWalletSessionKey,
|
|
117
128
|
removeSessionKey,
|
|
118
129
|
shouldRegisterSessionKeysOnSignin,
|
|
@@ -36,12 +36,12 @@ require('../../../store/state/environmentId.cjs');
|
|
|
36
36
|
require('../../../context/VerificationContext/VerificationContext.cjs');
|
|
37
37
|
require('react-dom');
|
|
38
38
|
require('../../functions/compareChains/compareChains.cjs');
|
|
39
|
+
var useEmbeddedWalletSessionKeys = require('../useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.cjs');
|
|
39
40
|
require('../../../context/WalletContext/WalletContext.cjs');
|
|
40
41
|
require('../useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.cjs');
|
|
41
42
|
require('../../../context/ThemeContext/ThemeContext.cjs');
|
|
42
43
|
require('../useUserUpdateRequest/useUpdateUser/userFieldsSchema.cjs');
|
|
43
44
|
require('@dynamic-labs/types');
|
|
44
|
-
var useEmbeddedWalletSessionKeys = require('../useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.cjs');
|
|
45
45
|
require('../../../context/LoadingContext/LoadingContext.cjs');
|
|
46
46
|
require('yup');
|
|
47
47
|
require('../../../context/MockContext/MockContext.cjs');
|
|
@@ -32,12 +32,12 @@ import '../../../store/state/environmentId.js';
|
|
|
32
32
|
import '../../../context/VerificationContext/VerificationContext.js';
|
|
33
33
|
import 'react-dom';
|
|
34
34
|
import '../../functions/compareChains/compareChains.js';
|
|
35
|
+
import { useEmbeddedWalletSessionKeys } from '../useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.js';
|
|
35
36
|
import '../../../context/WalletContext/WalletContext.js';
|
|
36
37
|
import '../useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.js';
|
|
37
38
|
import '../../../context/ThemeContext/ThemeContext.js';
|
|
38
39
|
import '../useUserUpdateRequest/useUpdateUser/userFieldsSchema.js';
|
|
39
40
|
import '@dynamic-labs/types';
|
|
40
|
-
import { useEmbeddedWalletSessionKeys } from '../useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.js';
|
|
41
41
|
import '../../../context/LoadingContext/LoadingContext.js';
|
|
42
42
|
import 'yup';
|
|
43
43
|
import '../../../context/MockContext/MockContext.js';
|
|
@@ -27,7 +27,7 @@ var isCookieEnabled = require('../../functions/isCookieEnabled/isCookieEnabled.c
|
|
|
27
27
|
var useDynamicEvents = require('../events/useDynamicEvents/useDynamicEvents.cjs');
|
|
28
28
|
|
|
29
29
|
const useResetCookieLocalStorage = ({ environmentId, projectSettings, setPrimaryWalletId, }) => {
|
|
30
|
-
const
|
|
30
|
+
const [isLoading, setIsLoading] = React.useState(true);
|
|
31
31
|
const didRefreshUserRef = React.useRef(false);
|
|
32
32
|
const user$2 = user.getUser();
|
|
33
33
|
/**
|
|
@@ -77,7 +77,7 @@ const useResetCookieLocalStorage = ({ environmentId, projectSettings, setPrimary
|
|
|
77
77
|
if (projectSettings) {
|
|
78
78
|
// only set to false if projectSettings are available,
|
|
79
79
|
// otherwise isCookieEnabled might be a false negative
|
|
80
|
-
|
|
80
|
+
setIsLoading(false);
|
|
81
81
|
}
|
|
82
82
|
});
|
|
83
83
|
// Ensure this effect only runs once
|
|
@@ -85,9 +85,7 @@ const useResetCookieLocalStorage = ({ environmentId, projectSettings, setPrimary
|
|
|
85
85
|
return;
|
|
86
86
|
maybeInitUserRefresh();
|
|
87
87
|
}, [user$2, projectSettings, environmentId, setPrimaryWalletId]);
|
|
88
|
-
return {
|
|
89
|
-
isLoading: isLoadingRef.current,
|
|
90
|
-
};
|
|
88
|
+
return { isLoading };
|
|
91
89
|
};
|
|
92
90
|
|
|
93
91
|
exports.useResetCookieLocalStorage = useResetCookieLocalStorage;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { __awaiter } from '../../../../../_virtual/_tslib.js';
|
|
3
|
-
import { useRef, useEffect } from 'react';
|
|
3
|
+
import { useState, useRef, useEffect } from 'react';
|
|
4
4
|
import { JwtVerifiedCredentialFormatEnum } from '@dynamic-labs/sdk-api-core';
|
|
5
5
|
import { logger } from '../../../shared/logger.js';
|
|
6
6
|
import '@dynamic-labs/iconic';
|
|
@@ -23,7 +23,7 @@ import { isCookieEnabled } from '../../functions/isCookieEnabled/isCookieEnabled
|
|
|
23
23
|
import { useInternalDynamicEvents } from '../events/useDynamicEvents/useDynamicEvents.js';
|
|
24
24
|
|
|
25
25
|
const useResetCookieLocalStorage = ({ environmentId, projectSettings, setPrimaryWalletId, }) => {
|
|
26
|
-
const
|
|
26
|
+
const [isLoading, setIsLoading] = useState(true);
|
|
27
27
|
const didRefreshUserRef = useRef(false);
|
|
28
28
|
const user = getUser();
|
|
29
29
|
/**
|
|
@@ -73,7 +73,7 @@ const useResetCookieLocalStorage = ({ environmentId, projectSettings, setPrimary
|
|
|
73
73
|
if (projectSettings) {
|
|
74
74
|
// only set to false if projectSettings are available,
|
|
75
75
|
// otherwise isCookieEnabled might be a false negative
|
|
76
|
-
|
|
76
|
+
setIsLoading(false);
|
|
77
77
|
}
|
|
78
78
|
});
|
|
79
79
|
// Ensure this effect only runs once
|
|
@@ -81,9 +81,7 @@ const useResetCookieLocalStorage = ({ environmentId, projectSettings, setPrimary
|
|
|
81
81
|
return;
|
|
82
82
|
maybeInitUserRefresh();
|
|
83
83
|
}, [user, projectSettings, environmentId, setPrimaryWalletId]);
|
|
84
|
-
return {
|
|
85
|
-
isLoading: isLoadingRef.current,
|
|
86
|
-
};
|
|
84
|
+
return { isLoading };
|
|
87
85
|
};
|
|
88
86
|
|
|
89
87
|
export { useResetCookieLocalStorage };
|
|
@@ -35,12 +35,12 @@ require('../../../store/state/environmentId.cjs');
|
|
|
35
35
|
require('../../../context/VerificationContext/VerificationContext.cjs');
|
|
36
36
|
require('react-dom');
|
|
37
37
|
require('../../functions/compareChains/compareChains.cjs');
|
|
38
|
+
var useEmbeddedWalletSessionKeys = require('../useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.cjs');
|
|
38
39
|
require('../../../context/WalletContext/WalletContext.cjs');
|
|
39
40
|
require('../useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.cjs');
|
|
40
41
|
require('../../../context/ThemeContext/ThemeContext.cjs');
|
|
41
42
|
require('../useUserUpdateRequest/useUpdateUser/userFieldsSchema.cjs');
|
|
42
43
|
require('@dynamic-labs/types');
|
|
43
|
-
var useEmbeddedWalletSessionKeys = require('../useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.cjs');
|
|
44
44
|
require('../../../context/LoadingContext/LoadingContext.cjs');
|
|
45
45
|
require('yup');
|
|
46
46
|
require('../../../context/MockContext/MockContext.cjs');
|
|
@@ -31,12 +31,12 @@ import '../../../store/state/environmentId.js';
|
|
|
31
31
|
import '../../../context/VerificationContext/VerificationContext.js';
|
|
32
32
|
import 'react-dom';
|
|
33
33
|
import '../../functions/compareChains/compareChains.js';
|
|
34
|
+
import { useEmbeddedWalletSessionKeys } from '../useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.js';
|
|
34
35
|
import '../../../context/WalletContext/WalletContext.js';
|
|
35
36
|
import '../useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.js';
|
|
36
37
|
import '../../../context/ThemeContext/ThemeContext.js';
|
|
37
38
|
import '../useUserUpdateRequest/useUpdateUser/userFieldsSchema.js';
|
|
38
39
|
import '@dynamic-labs/types';
|
|
39
|
-
import { useEmbeddedWalletSessionKeys } from '../useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.js';
|
|
40
40
|
import '../../../context/LoadingContext/LoadingContext.js';
|
|
41
41
|
import 'yup';
|
|
42
42
|
import '../../../context/MockContext/MockContext.js';
|
|
@@ -42,11 +42,11 @@ var fetchNonce = require('../../functions/fetchNonce/fetchNonce.cjs');
|
|
|
42
42
|
require('../../../context/VerificationContext/VerificationContext.cjs');
|
|
43
43
|
require('react-dom');
|
|
44
44
|
require('../../functions/compareChains/compareChains.cjs');
|
|
45
|
+
var useEmbeddedWalletSessionKeys = require('../useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.cjs');
|
|
45
46
|
require('../../../context/WalletContext/WalletContext.cjs');
|
|
46
47
|
require('../useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.cjs');
|
|
47
48
|
require('../../../context/ThemeContext/ThemeContext.cjs');
|
|
48
49
|
require('../useUserUpdateRequest/useUpdateUser/userFieldsSchema.cjs');
|
|
49
|
-
var useEmbeddedWalletSessionKeys = require('../useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.cjs');
|
|
50
50
|
var useUserAuth = require('../useUserAuth/useUserAuth.cjs');
|
|
51
51
|
var farcaster = require('./farcaster/farcaster.cjs');
|
|
52
52
|
require('yup');
|
|
@@ -38,11 +38,11 @@ import { fetchNonce } from '../../functions/fetchNonce/fetchNonce.js';
|
|
|
38
38
|
import '../../../context/VerificationContext/VerificationContext.js';
|
|
39
39
|
import 'react-dom';
|
|
40
40
|
import '../../functions/compareChains/compareChains.js';
|
|
41
|
+
import { useEmbeddedWalletSessionKeys } from '../useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.js';
|
|
41
42
|
import '../../../context/WalletContext/WalletContext.js';
|
|
42
43
|
import '../useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.js';
|
|
43
44
|
import '../../../context/ThemeContext/ThemeContext.js';
|
|
44
45
|
import '../useUserUpdateRequest/useUpdateUser/userFieldsSchema.js';
|
|
45
|
-
import { useEmbeddedWalletSessionKeys } from '../useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.js';
|
|
46
46
|
import { useUserAuth } from '../useUserAuth/useUserAuth.js';
|
|
47
47
|
import { connect, watchStatus } from './farcaster/farcaster.js';
|
|
48
48
|
import 'yup';
|
|
@@ -41,12 +41,12 @@ var getWalletProvider = require('../../functions/getWalletProvider/getWalletProv
|
|
|
41
41
|
require('../../../context/VerificationContext/VerificationContext.cjs');
|
|
42
42
|
require('react-dom');
|
|
43
43
|
require('../../functions/compareChains/compareChains.cjs');
|
|
44
|
+
var useEmbeddedWalletSessionKeys = require('../useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.cjs');
|
|
44
45
|
require('../../../context/WalletContext/WalletContext.cjs');
|
|
45
46
|
require('../useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.cjs');
|
|
46
47
|
require('../../../context/ThemeContext/ThemeContext.cjs');
|
|
47
48
|
require('../useUserUpdateRequest/useUpdateUser/userFieldsSchema.cjs');
|
|
48
49
|
require('@dynamic-labs/types');
|
|
49
|
-
var useEmbeddedWalletSessionKeys = require('../useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.cjs');
|
|
50
50
|
var useUserAuth = require('../useUserAuth/useUserAuth.cjs');
|
|
51
51
|
require('yup');
|
|
52
52
|
require('../../../context/MockContext/MockContext.cjs');
|
|
@@ -37,12 +37,12 @@ import { getWalletProvider } from '../../functions/getWalletProvider/getWalletPr
|
|
|
37
37
|
import '../../../context/VerificationContext/VerificationContext.js';
|
|
38
38
|
import 'react-dom';
|
|
39
39
|
import '../../functions/compareChains/compareChains.js';
|
|
40
|
+
import { useEmbeddedWalletSessionKeys } from '../useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.js';
|
|
40
41
|
import '../../../context/WalletContext/WalletContext.js';
|
|
41
42
|
import '../useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.js';
|
|
42
43
|
import '../../../context/ThemeContext/ThemeContext.js';
|
|
43
44
|
import '../useUserUpdateRequest/useUpdateUser/userFieldsSchema.js';
|
|
44
45
|
import '@dynamic-labs/types';
|
|
45
|
-
import { useEmbeddedWalletSessionKeys } from '../useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.js';
|
|
46
46
|
import { useUserAuth } from '../useUserAuth/useUserAuth.js';
|
|
47
47
|
import 'yup';
|
|
48
48
|
import '../../../context/MockContext/MockContext.js';
|
|
@@ -48,6 +48,7 @@ var useOtpVerificationRequest = require('../../utils/hooks/authenticationHooks/u
|
|
|
48
48
|
require('react-dom');
|
|
49
49
|
require('../../utils/functions/compareChains/compareChains.cjs');
|
|
50
50
|
var findPrimaryEmbeddedChain = require('../Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.cjs');
|
|
51
|
+
var useEmbeddedWalletSessionKeys = require('../../utils/hooks/useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.cjs');
|
|
51
52
|
require('../../context/WalletContext/WalletContext.cjs');
|
|
52
53
|
var useIsTurnkeyWallet = require('../../utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.cjs');
|
|
53
54
|
var usePasskeyRecovery = require('../../utils/hooks/usePasskeyRecovery/usePasskeyRecovery.cjs');
|
|
@@ -58,7 +59,6 @@ var VerificationContext = require('../../context/VerificationContext/Verificatio
|
|
|
58
59
|
require('../../utils/hooks/useUserUpdateRequest/useUpdateUser/userFieldsSchema.cjs');
|
|
59
60
|
var useOnUnmount = require('../../utils/hooks/useOnUnmount/useOnUnmount.cjs');
|
|
60
61
|
require('@dynamic-labs/types');
|
|
61
|
-
var useEmbeddedWalletSessionKeys = require('../../utils/hooks/useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.cjs');
|
|
62
62
|
var useUserAuth = require('../../utils/hooks/useUserAuth/useUserAuth.cjs');
|
|
63
63
|
require('yup');
|
|
64
64
|
require('../../context/MockContext/MockContext.cjs');
|
|
@@ -44,6 +44,7 @@ import { useOtpVerificationRequest } from '../../utils/hooks/authenticationHooks
|
|
|
44
44
|
import 'react-dom';
|
|
45
45
|
import '../../utils/functions/compareChains/compareChains.js';
|
|
46
46
|
import { findPrimaryEmbeddedChain } from '../Passkey/utils/findPrimaryEmbeddedChain/findPrimaryEmbeddedChain.js';
|
|
47
|
+
import { useEmbeddedWalletSessionKeys } from '../../utils/hooks/useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.js';
|
|
47
48
|
import '../../context/WalletContext/WalletContext.js';
|
|
48
49
|
import { useIsTurnkeyWallet } from '../../utils/hooks/useIsTurnkeyWallet/useIsTurnkeyWallet.js';
|
|
49
50
|
import { usePasskeyRecovery } from '../../utils/hooks/usePasskeyRecovery/usePasskeyRecovery.js';
|
|
@@ -54,7 +55,6 @@ import { useVerification } from '../../context/VerificationContext/VerificationC
|
|
|
54
55
|
import '../../utils/hooks/useUserUpdateRequest/useUpdateUser/userFieldsSchema.js';
|
|
55
56
|
import { useOnUnmount } from '../../utils/hooks/useOnUnmount/useOnUnmount.js';
|
|
56
57
|
import '@dynamic-labs/types';
|
|
57
|
-
import { useEmbeddedWalletSessionKeys } from '../../utils/hooks/useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.js';
|
|
58
58
|
import { useUserAuth } from '../../utils/hooks/useUserAuth/useUserAuth.js';
|
|
59
59
|
import 'yup';
|
|
60
60
|
import '../../context/MockContext/MockContext.js';
|
package/src/lib/views/Passkey/utils/createEmbeddedWalletRequest/createEmbeddedWalletRequest.cjs
CHANGED
|
@@ -27,7 +27,7 @@ var embeddedWallets = require('../../../../data/api/embeddedWallets/embeddedWall
|
|
|
27
27
|
require('../../../../store/state/user/user.cjs');
|
|
28
28
|
require('../../../../locale/locale.cjs');
|
|
29
29
|
|
|
30
|
-
const createEmbeddedWalletRequest = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ user, walletConnector, environmentId, chains, webAuthnAttestation, withAuthenticator, }) {
|
|
30
|
+
const createEmbeddedWalletRequest = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ user, walletConnector, environmentId, chains, sessionPublicKey, webAuthnAttestation, withAuthenticator, }) {
|
|
31
31
|
if (!walletConnector) {
|
|
32
32
|
throw new utils.DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
|
|
33
33
|
}
|
|
@@ -48,7 +48,8 @@ const createEmbeddedWalletRequest = (_a) => _tslib.__awaiter(void 0, [_a], void
|
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
50
|
const updatedUser = yield embeddedWallets.createTurnkeyEmbeddedWallet(Object.assign({ chains,
|
|
51
|
-
environmentId
|
|
51
|
+
environmentId,
|
|
52
|
+
sessionPublicKey }, authenticatorBody));
|
|
52
53
|
if (!updatedUser) {
|
|
53
54
|
throw new utils.DynamicError('Failed to create embedded wallet');
|
|
54
55
|
}
|
package/src/lib/views/Passkey/utils/createEmbeddedWalletRequest/createEmbeddedWalletRequest.d.ts
CHANGED
|
@@ -8,8 +8,9 @@ type CreateEmbeddedWalletRequestProps = {
|
|
|
8
8
|
chains: EmbeddedWalletChainEnum[];
|
|
9
9
|
webAuthnAttestation?: WebAuthnAttestation;
|
|
10
10
|
withAuthenticator: boolean;
|
|
11
|
+
sessionPublicKey?: string;
|
|
11
12
|
};
|
|
12
|
-
export declare const createEmbeddedWalletRequest: ({ user, walletConnector, environmentId, chains, webAuthnAttestation, withAuthenticator, }: CreateEmbeddedWalletRequestProps) => Promise<{
|
|
13
|
+
export declare const createEmbeddedWalletRequest: ({ user, walletConnector, environmentId, chains, sessionPublicKey, webAuthnAttestation, withAuthenticator, }: CreateEmbeddedWalletRequestProps) => Promise<{
|
|
13
14
|
embeddedWalletVerifiedCredential: import("@dynamic-labs/sdk-api-core").JwtVerifiedCredential;
|
|
14
15
|
updatedUser: UserProfile;
|
|
15
16
|
walletConnector: IPasskeyWalletConnector & IEmailWalletConnector;
|
package/src/lib/views/Passkey/utils/createEmbeddedWalletRequest/createEmbeddedWalletRequest.js
CHANGED
|
@@ -23,7 +23,7 @@ import { createTurnkeyEmbeddedWallet } from '../../../../data/api/embeddedWallet
|
|
|
23
23
|
import '../../../../store/state/user/user.js';
|
|
24
24
|
import '../../../../locale/locale.js';
|
|
25
25
|
|
|
26
|
-
const createEmbeddedWalletRequest = (_a) => __awaiter(void 0, [_a], void 0, function* ({ user, walletConnector, environmentId, chains, webAuthnAttestation, withAuthenticator, }) {
|
|
26
|
+
const createEmbeddedWalletRequest = (_a) => __awaiter(void 0, [_a], void 0, function* ({ user, walletConnector, environmentId, chains, sessionPublicKey, webAuthnAttestation, withAuthenticator, }) {
|
|
27
27
|
if (!walletConnector) {
|
|
28
28
|
throw new DynamicError('Connector is missing. Please make sure you added EthereumWalletConnectors and/or SolanaWalletConnectors to DynamicProvider settings');
|
|
29
29
|
}
|
|
@@ -44,7 +44,8 @@ const createEmbeddedWalletRequest = (_a) => __awaiter(void 0, [_a], void 0, func
|
|
|
44
44
|
};
|
|
45
45
|
}
|
|
46
46
|
const updatedUser = yield createTurnkeyEmbeddedWallet(Object.assign({ chains,
|
|
47
|
-
environmentId
|
|
47
|
+
environmentId,
|
|
48
|
+
sessionPublicKey }, authenticatorBody));
|
|
48
49
|
if (!updatedUser) {
|
|
49
50
|
throw new DynamicError('Failed to create embedded wallet');
|
|
50
51
|
}
|
|
@@ -34,6 +34,7 @@ require('../../../store/state/environmentId.cjs');
|
|
|
34
34
|
var useOtpVerificationRequest = require('../../../utils/hooks/authenticationHooks/useOtpVerificationRequest/useOtpVerificationRequest.cjs');
|
|
35
35
|
require('react-dom');
|
|
36
36
|
require('../../../utils/functions/compareChains/compareChains.cjs');
|
|
37
|
+
var useEmbeddedWalletSessionKeys = require('../../../utils/hooks/useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.cjs');
|
|
37
38
|
require('../../../context/WalletContext/WalletContext.cjs');
|
|
38
39
|
var VerificationContext = require('../../../context/VerificationContext/VerificationContext.cjs');
|
|
39
40
|
require('../../../utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.cjs');
|
|
@@ -42,7 +43,6 @@ require('../../../utils/hooks/useUserUpdateRequest/useUpdateUser/userFieldsSchem
|
|
|
42
43
|
var useMutation = require('../../../utils/hooks/useMutation/useMutation.cjs');
|
|
43
44
|
var useOnUnmount = require('../../../utils/hooks/useOnUnmount/useOnUnmount.cjs');
|
|
44
45
|
require('@dynamic-labs/types');
|
|
45
|
-
var useEmbeddedWalletSessionKeys = require('../../../utils/hooks/useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.cjs');
|
|
46
46
|
var useUserAuth = require('../../../utils/hooks/useUserAuth/useUserAuth.cjs');
|
|
47
47
|
require('yup');
|
|
48
48
|
require('../../../context/MockContext/MockContext.cjs');
|
|
@@ -30,6 +30,7 @@ import '../../../store/state/environmentId.js';
|
|
|
30
30
|
import { useOtpVerificationRequest } from '../../../utils/hooks/authenticationHooks/useOtpVerificationRequest/useOtpVerificationRequest.js';
|
|
31
31
|
import 'react-dom';
|
|
32
32
|
import '../../../utils/functions/compareChains/compareChains.js';
|
|
33
|
+
import { useEmbeddedWalletSessionKeys } from '../../../utils/hooks/useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.js';
|
|
33
34
|
import '../../../context/WalletContext/WalletContext.js';
|
|
34
35
|
import { useVerification } from '../../../context/VerificationContext/VerificationContext.js';
|
|
35
36
|
import '../../../utils/hooks/useEmbeddedWallet/useSecureEnclaveEmbeddedWallet/constants.js';
|
|
@@ -38,7 +39,6 @@ import '../../../utils/hooks/useUserUpdateRequest/useUpdateUser/userFieldsSchema
|
|
|
38
39
|
import { useMutation } from '../../../utils/hooks/useMutation/useMutation.js';
|
|
39
40
|
import { useOnUnmount } from '../../../utils/hooks/useOnUnmount/useOnUnmount.js';
|
|
40
41
|
import '@dynamic-labs/types';
|
|
41
|
-
import { useEmbeddedWalletSessionKeys } from '../../../utils/hooks/useEmbeddedWalletSessionKeys/useEmbeddedWalletSessionKeys.js';
|
|
42
42
|
import { useUserAuth } from '../../../utils/hooks/useUserAuth/useUserAuth.js';
|
|
43
43
|
import 'yup';
|
|
44
44
|
import '../../../context/MockContext/MockContext.js';
|
|
@@ -125,7 +125,7 @@ const WalletListItem = ({ disabled = false, wallet, onResetSearchValue, recommen
|
|
|
125
125
|
});
|
|
126
126
|
const name = _isWalletGroup
|
|
127
127
|
? walletBook.getWalletGroup(walletBook$1, wallet.key).name
|
|
128
|
-
:
|
|
128
|
+
: wallet.walletConnector.metadata.name;
|
|
129
129
|
const leading = (jsxRuntime.jsx(walletBook.WalletIcon, { className: 'wallet-list-item__leading', icon: (_a = wallet.walletConnector) === null || _a === void 0 ? void 0 : _a.metadata.icon, walletKey: wallet.key, style: { height: pixelToRem.pixelToRem(28), width: pixelToRem.pixelToRem(28) } }));
|
|
130
130
|
const trailing = (jsxRuntime.jsx(ListTileAnimatedTrailing.ListTileAnimatedTrailing, { hoverElement:
|
|
131
131
|
// eslint-disable-next-line react/jsx-wrap-multilines
|