@dynamic-labs/sdk-react-core 2.1.0-alpha.7 → 2.1.0-alpha.8
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 +11 -0
- package/package.cjs +2 -2
- package/package.js +2 -2
- package/package.json +13 -13
- package/src/lib/context/DynamicContext/DynamicContext.cjs +5 -1
- package/src/lib/context/DynamicContext/DynamicContext.js +5 -1
- package/src/lib/data/api/wallets/wallets.cjs +21 -5
- package/src/lib/data/api/wallets/wallets.d.ts +4 -0
- package/src/lib/data/api/wallets/wallets.js +21 -6
- 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/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.cjs +4 -4
- package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.js +4 -4
- package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.cjs +13 -4
- package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.d.ts +10 -2
- package/src/lib/utils/hooks/usePrimaryWalletId/usePrimaryWalletId.js +13 -4
- package/src/lib/views/WalletList/WalletList.cjs +3 -6
- package/src/lib/views/WalletList/WalletList.js +3 -6
- package/src/lib/views/WalletLockedView/WalletLockedView.cjs +2 -8
- package/src/lib/views/WalletLockedView/WalletLockedView.js +2 -8
- package/src/lib/widgets/DynamicWidget/hooks/useFetchNameService/useFetchNameService.cjs +1 -1
- package/src/lib/widgets/DynamicWidget/hooks/useFetchNameService/useFetchNameService.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
|
|
2
|
+
## [2.1.0-alpha.8](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.7...v2.1.0-alpha.8) (2024-04-26)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
* display wallet tabs when linking a wallet ([#5491](https://github.com/dynamic-labs/DynamicAuth/issues/5491)) ([10fd6b4](https://github.com/dynamic-labs/DynamicAuth/commit/10fd6b4d9aec7596338c50e17f79f6be534cf2c1))
|
|
8
|
+
* ensure zerodev viem client handles eth_accounts call ([#5477](https://github.com/dynamic-labs/DynamicAuth/issues/5477)) ([1132e1e](https://github.com/dynamic-labs/DynamicAuth/commit/1132e1e8655b58e81cb56789453ba56a059f52ec))
|
|
9
|
+
* network with keplr ([#5485](https://github.com/dynamic-labs/DynamicAuth/issues/5485)) ([b86f2fc](https://github.com/dynamic-labs/DynamicAuth/commit/b86f2fce491f9752e80a86643916da9ac7fb9276))
|
|
10
|
+
* refetch nameservice data and display properly ([#5476](https://github.com/dynamic-labs/DynamicAuth/issues/5476)) ([2aee798](https://github.com/dynamic-labs/DynamicAuth/commit/2aee798846f69496201bec7aa52e7ec1f370b7c3))
|
|
11
|
+
* use embeddedWallet create response authToken in embeddedWalletCreated ([#5478](https://github.com/dynamic-labs/DynamicAuth/issues/5478)) ([51772da](https://github.com/dynamic-labs/DynamicAuth/commit/51772daf557a72984c757efd8301e2b510dc37f1))
|
|
12
|
+
|
|
2
13
|
## [2.1.0-alpha.7](https://github.com/dynamic-labs/DynamicAuth/compare/v2.1.0-alpha.6...v2.1.0-alpha.7) (2024-04-25)
|
|
3
14
|
|
|
4
15
|
|
package/package.cjs
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
|
-
var version = "2.1.0-alpha.
|
|
6
|
+
var version = "2.1.0-alpha.8";
|
|
7
7
|
var dependencies = {
|
|
8
|
-
"@dynamic-labs/sdk-api-core": "0.0.
|
|
8
|
+
"@dynamic-labs/sdk-api-core": "0.0.429",
|
|
9
9
|
"@hcaptcha/react-hcaptcha": "1.4.4",
|
|
10
10
|
"country-list": "2.3.0",
|
|
11
11
|
formik: "2.2.9",
|
package/package.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client'
|
|
2
|
-
var version = "2.1.0-alpha.
|
|
2
|
+
var version = "2.1.0-alpha.8";
|
|
3
3
|
var dependencies = {
|
|
4
|
-
"@dynamic-labs/sdk-api-core": "0.0.
|
|
4
|
+
"@dynamic-labs/sdk-api-core": "0.0.429",
|
|
5
5
|
"@hcaptcha/react-hcaptcha": "1.4.4",
|
|
6
6
|
"country-list": "2.3.0",
|
|
7
7
|
formik: "2.2.9",
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/sdk-react-core",
|
|
3
|
-
"version": "2.1.0-alpha.
|
|
3
|
+
"version": "2.1.0-alpha.8",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/dynamic-labs/DynamicAuth.git",
|
|
7
7
|
"directory": "packages/sdk-react-core"
|
|
8
8
|
},
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@dynamic-labs/sdk-api-core": "0.0.
|
|
10
|
+
"@dynamic-labs/sdk-api-core": "0.0.429",
|
|
11
11
|
"@hcaptcha/react-hcaptcha": "1.4.4",
|
|
12
12
|
"country-list": "2.3.0",
|
|
13
13
|
"formik": "2.2.9",
|
|
@@ -17,17 +17,17 @@
|
|
|
17
17
|
"react-i18next": "13.5.0",
|
|
18
18
|
"yup": "0.32.11",
|
|
19
19
|
"react-international-phone": "4.2.5",
|
|
20
|
-
"@dynamic-labs/iconic": "2.1.0-alpha.
|
|
21
|
-
"@dynamic-labs/logger": "2.1.0-alpha.
|
|
22
|
-
"@dynamic-labs/multi-wallet": "2.1.0-alpha.
|
|
23
|
-
"@dynamic-labs/rpc-provider-ethereum": "2.1.0-alpha.
|
|
24
|
-
"@dynamic-labs/rpc-provider-solana": "2.1.0-alpha.
|
|
25
|
-
"@dynamic-labs/rpc-providers": "2.1.0-alpha.
|
|
26
|
-
"@dynamic-labs/types": "2.1.0-alpha.
|
|
27
|
-
"@dynamic-labs/utils": "2.1.0-alpha.
|
|
28
|
-
"@dynamic-labs/viem-utils": "2.1.0-alpha.
|
|
29
|
-
"@dynamic-labs/wallet-book": "2.1.0-alpha.
|
|
30
|
-
"@dynamic-labs/wallet-connector-core": "2.1.0-alpha.
|
|
20
|
+
"@dynamic-labs/iconic": "2.1.0-alpha.8",
|
|
21
|
+
"@dynamic-labs/logger": "2.1.0-alpha.8",
|
|
22
|
+
"@dynamic-labs/multi-wallet": "2.1.0-alpha.8",
|
|
23
|
+
"@dynamic-labs/rpc-provider-ethereum": "2.1.0-alpha.8",
|
|
24
|
+
"@dynamic-labs/rpc-provider-solana": "2.1.0-alpha.8",
|
|
25
|
+
"@dynamic-labs/rpc-providers": "2.1.0-alpha.8",
|
|
26
|
+
"@dynamic-labs/types": "2.1.0-alpha.8",
|
|
27
|
+
"@dynamic-labs/utils": "2.1.0-alpha.8",
|
|
28
|
+
"@dynamic-labs/viem-utils": "2.1.0-alpha.8",
|
|
29
|
+
"@dynamic-labs/wallet-book": "2.1.0-alpha.8",
|
|
30
|
+
"@dynamic-labs/wallet-connector-core": "2.1.0-alpha.8",
|
|
31
31
|
"eventemitter3": "5.0.1"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
@@ -228,7 +228,11 @@ const InnerDynamicContextProvider = ({ children, theme, settings: settings$1, lo
|
|
|
228
228
|
walletUiUtils,
|
|
229
229
|
});
|
|
230
230
|
const [authMode, setAuthMode] = useLocalStorage.useLocalStorage(localStorage$1.AUTH_MODE, initialAuthenticationMode);
|
|
231
|
-
const { clearPrimaryWalletId, primaryWalletId, setPrimaryWalletId } = usePrimaryWalletId.usePrimaryWalletId(
|
|
231
|
+
const { clearPrimaryWalletId, primaryWalletId, setPrimaryWalletId } = usePrimaryWalletId.usePrimaryWalletId({
|
|
232
|
+
environmentId,
|
|
233
|
+
minAuthToken: getMinAuthToken.getMinAuthToken(),
|
|
234
|
+
setUser,
|
|
235
|
+
});
|
|
232
236
|
// this is a state because it's set based on primaryWallet and bridgeChainsToConnect,
|
|
233
237
|
// which are only available further down and have would have circular dependencies
|
|
234
238
|
const [requiredWalletsConnected, setRequiredWalletsConnected] = React.useState(false);
|
|
@@ -224,7 +224,11 @@ const InnerDynamicContextProvider = ({ children, theme, settings, locale, }) =>
|
|
|
224
224
|
walletUiUtils,
|
|
225
225
|
});
|
|
226
226
|
const [authMode, setAuthMode] = useLocalStorage(AUTH_MODE, initialAuthenticationMode);
|
|
227
|
-
const { clearPrimaryWalletId, primaryWalletId, setPrimaryWalletId } = usePrimaryWalletId(
|
|
227
|
+
const { clearPrimaryWalletId, primaryWalletId, setPrimaryWalletId } = usePrimaryWalletId({
|
|
228
|
+
environmentId,
|
|
229
|
+
minAuthToken: getMinAuthToken(),
|
|
230
|
+
setUser,
|
|
231
|
+
});
|
|
228
232
|
// this is a state because it's set based on primaryWallet and bridgeChainsToConnect,
|
|
229
233
|
// which are only available further down and have would have circular dependencies
|
|
230
234
|
const [requiredWalletsConnected, setRequiredWalletsConnected] = useState(false);
|
|
@@ -19,7 +19,22 @@ require('../../../shared/utils/classes/storage/localStorage.cjs');
|
|
|
19
19
|
require('../../../shared/consts/index.cjs');
|
|
20
20
|
var api = require('../api.cjs');
|
|
21
21
|
|
|
22
|
-
const
|
|
22
|
+
const storeSelectedWallet = (_a, userJwt_1) => _tslib.__awaiter(void 0, [_a, userJwt_1], void 0, function* ({ environmentId, walletId, }, userJwt) {
|
|
23
|
+
try {
|
|
24
|
+
const response = yield api.sdkApi(userJwt).selectUserWallet({
|
|
25
|
+
environmentId,
|
|
26
|
+
userWalletSelectionRequest: {
|
|
27
|
+
walletId,
|
|
28
|
+
},
|
|
29
|
+
});
|
|
30
|
+
return response;
|
|
31
|
+
}
|
|
32
|
+
catch (e) {
|
|
33
|
+
logger.logger.error('error storing selected wallet', e);
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
const linkWallet = (environmentId_1, _b, userJwt_2) => _tslib.__awaiter(void 0, [environmentId_1, _b, userJwt_2], void 0, function* (environmentId, { messageToSign, network, signedMessage, publicWalletAddress, chain, walletName, walletProvider, additionalWalletAddresses, backup, password, passwordSource, }, userJwt) {
|
|
23
38
|
const verifyRequest = sdkApiCore.VerifyRequestFromJSON({
|
|
24
39
|
additionalWalletAddresses,
|
|
25
40
|
backup,
|
|
@@ -57,7 +72,7 @@ const linkWallet = (environmentId_1, _a, userJwt_1) => _tslib.__awaiter(void 0,
|
|
|
57
72
|
return undefined;
|
|
58
73
|
}
|
|
59
74
|
});
|
|
60
|
-
const unlinkWallet = (
|
|
75
|
+
const unlinkWallet = (_c, userJwt_3) => _tslib.__awaiter(void 0, [_c, userJwt_3], void 0, function* ({ environmentId, primaryWalletId, walletId, }, userJwt) {
|
|
61
76
|
try {
|
|
62
77
|
const response = yield api.sdkApi(userJwt).verifyUnlink({
|
|
63
78
|
environmentId,
|
|
@@ -72,7 +87,7 @@ const unlinkWallet = (_b, userJwt_2) => _tslib.__awaiter(void 0, [_b, userJwt_2]
|
|
|
72
87
|
return undefined;
|
|
73
88
|
}
|
|
74
89
|
});
|
|
75
|
-
const transferWallet = (environmentId_2,
|
|
90
|
+
const transferWallet = (environmentId_2, _d, userJwt_4) => _tslib.__awaiter(void 0, [environmentId_2, _d, userJwt_4], void 0, function* (environmentId, { network, messageToSign, signedMessage, publicWalletAddress, chain, walletName, walletProvider, skipEmptyAccountCheck = false, }, userJwt) {
|
|
76
91
|
// We should find a better way to do this than force type casting
|
|
77
92
|
const verifyRequest = {
|
|
78
93
|
chain,
|
|
@@ -91,11 +106,11 @@ const transferWallet = (environmentId_2, _c, userJwt_3) => _tslib.__awaiter(void
|
|
|
91
106
|
});
|
|
92
107
|
return response;
|
|
93
108
|
}
|
|
94
|
-
catch (
|
|
109
|
+
catch (_e) {
|
|
95
110
|
return undefined;
|
|
96
111
|
}
|
|
97
112
|
});
|
|
98
|
-
const verifyWallet = (environmentId_3,
|
|
113
|
+
const verifyWallet = (environmentId_3, _f) => _tslib.__awaiter(void 0, [environmentId_3, _f], void 0, function* (environmentId, { messageToSign, signedMessage, publicWalletAddress, chain, walletName, walletProvider, captchaToken, network, oauth, additionalWalletAddresses, }) {
|
|
99
114
|
const verifyRequest = sdkApiCore.VerifyRequestFromJSON({
|
|
100
115
|
additionalWalletAddresses,
|
|
101
116
|
captchaToken,
|
|
@@ -140,6 +155,7 @@ const verifyWallet = (environmentId_3, _e) => _tslib.__awaiter(void 0, [environm
|
|
|
140
155
|
});
|
|
141
156
|
|
|
142
157
|
exports.linkWallet = linkWallet;
|
|
158
|
+
exports.storeSelectedWallet = storeSelectedWallet;
|
|
143
159
|
exports.transferWallet = transferWallet;
|
|
144
160
|
exports.unlinkWallet = unlinkWallet;
|
|
145
161
|
exports.verifyWallet = verifyWallet;
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { VerifyResponse } from '@dynamic-labs/sdk-api-core';
|
|
2
2
|
import { VerifyWallet } from '../../../shared/types';
|
|
3
|
+
export declare const storeSelectedWallet: ({ environmentId, walletId, }: {
|
|
4
|
+
environmentId: string;
|
|
5
|
+
walletId: string;
|
|
6
|
+
}, userJwt: string) => Promise<VerifyResponse | undefined>;
|
|
3
7
|
export declare const linkWallet: (environmentId: string, { messageToSign, network, signedMessage, publicWalletAddress, chain, walletName, walletProvider, additionalWalletAddresses, backup, password, passwordSource, }: VerifyWallet, userJwt: string) => Promise<VerifyResponse | undefined>;
|
|
4
8
|
export declare const unlinkWallet: ({ environmentId, primaryWalletId, walletId, }: {
|
|
5
9
|
environmentId: string;
|
|
@@ -15,7 +15,22 @@ import '../../../shared/utils/classes/storage/localStorage.js';
|
|
|
15
15
|
import '../../../shared/consts/index.js';
|
|
16
16
|
import { sdkApi } from '../api.js';
|
|
17
17
|
|
|
18
|
-
const
|
|
18
|
+
const storeSelectedWallet = (_a, userJwt_1) => __awaiter(void 0, [_a, userJwt_1], void 0, function* ({ environmentId, walletId, }, userJwt) {
|
|
19
|
+
try {
|
|
20
|
+
const response = yield sdkApi(userJwt).selectUserWallet({
|
|
21
|
+
environmentId,
|
|
22
|
+
userWalletSelectionRequest: {
|
|
23
|
+
walletId,
|
|
24
|
+
},
|
|
25
|
+
});
|
|
26
|
+
return response;
|
|
27
|
+
}
|
|
28
|
+
catch (e) {
|
|
29
|
+
logger.error('error storing selected wallet', e);
|
|
30
|
+
return undefined;
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
const linkWallet = (environmentId_1, _b, userJwt_2) => __awaiter(void 0, [environmentId_1, _b, userJwt_2], void 0, function* (environmentId, { messageToSign, network, signedMessage, publicWalletAddress, chain, walletName, walletProvider, additionalWalletAddresses, backup, password, passwordSource, }, userJwt) {
|
|
19
34
|
const verifyRequest = VerifyRequestFromJSON({
|
|
20
35
|
additionalWalletAddresses,
|
|
21
36
|
backup,
|
|
@@ -53,7 +68,7 @@ const linkWallet = (environmentId_1, _a, userJwt_1) => __awaiter(void 0, [enviro
|
|
|
53
68
|
return undefined;
|
|
54
69
|
}
|
|
55
70
|
});
|
|
56
|
-
const unlinkWallet = (
|
|
71
|
+
const unlinkWallet = (_c, userJwt_3) => __awaiter(void 0, [_c, userJwt_3], void 0, function* ({ environmentId, primaryWalletId, walletId, }, userJwt) {
|
|
57
72
|
try {
|
|
58
73
|
const response = yield sdkApi(userJwt).verifyUnlink({
|
|
59
74
|
environmentId,
|
|
@@ -68,7 +83,7 @@ const unlinkWallet = (_b, userJwt_2) => __awaiter(void 0, [_b, userJwt_2], void
|
|
|
68
83
|
return undefined;
|
|
69
84
|
}
|
|
70
85
|
});
|
|
71
|
-
const transferWallet = (environmentId_2,
|
|
86
|
+
const transferWallet = (environmentId_2, _d, userJwt_4) => __awaiter(void 0, [environmentId_2, _d, userJwt_4], void 0, function* (environmentId, { network, messageToSign, signedMessage, publicWalletAddress, chain, walletName, walletProvider, skipEmptyAccountCheck = false, }, userJwt) {
|
|
72
87
|
// We should find a better way to do this than force type casting
|
|
73
88
|
const verifyRequest = {
|
|
74
89
|
chain,
|
|
@@ -87,11 +102,11 @@ const transferWallet = (environmentId_2, _c, userJwt_3) => __awaiter(void 0, [en
|
|
|
87
102
|
});
|
|
88
103
|
return response;
|
|
89
104
|
}
|
|
90
|
-
catch (
|
|
105
|
+
catch (_e) {
|
|
91
106
|
return undefined;
|
|
92
107
|
}
|
|
93
108
|
});
|
|
94
|
-
const verifyWallet = (environmentId_3,
|
|
109
|
+
const verifyWallet = (environmentId_3, _f) => __awaiter(void 0, [environmentId_3, _f], void 0, function* (environmentId, { messageToSign, signedMessage, publicWalletAddress, chain, walletName, walletProvider, captchaToken, network, oauth, additionalWalletAddresses, }) {
|
|
95
110
|
const verifyRequest = VerifyRequestFromJSON({
|
|
96
111
|
additionalWalletAddresses,
|
|
97
112
|
captchaToken,
|
|
@@ -135,4 +150,4 @@ const verifyWallet = (environmentId_3, _e) => __awaiter(void 0, [environmentId_3
|
|
|
135
150
|
}
|
|
136
151
|
});
|
|
137
152
|
|
|
138
|
-
export { linkWallet, transferWallet, unlinkWallet, verifyWallet };
|
|
153
|
+
export { linkWallet, storeSelectedWallet, transferWallet, unlinkWallet, verifyWallet };
|
|
@@ -131,7 +131,7 @@ const useCreateDynamicEmbeddedWalletMutation = () => {
|
|
|
131
131
|
}
|
|
132
132
|
setUser(updateJWTAndCreateUserProfile.updateJWTAndCreateUserProfile(signersResponse.jwt, signersResponse.minifiedJwt));
|
|
133
133
|
setShowAuthFlow(false, { performMultiWalletChecks: false });
|
|
134
|
-
dynamicEvents.dynamicEvents.emit('embeddedWalletCreated', passkeyWallet, turnkeyVerifiedCredentials,
|
|
134
|
+
dynamicEvents.dynamicEvents.emit('embeddedWalletCreated', passkeyWallet, turnkeyVerifiedCredentials, signersResponse.jwt);
|
|
135
135
|
}
|
|
136
136
|
catch (err) {
|
|
137
137
|
setError(err);
|
|
@@ -127,7 +127,7 @@ const useCreateDynamicEmbeddedWalletMutation = () => {
|
|
|
127
127
|
}
|
|
128
128
|
setUser(updateJWTAndCreateUserProfile(signersResponse.jwt, signersResponse.minifiedJwt));
|
|
129
129
|
setShowAuthFlow(false, { performMultiWalletChecks: false });
|
|
130
|
-
dynamicEvents.emit('embeddedWalletCreated', passkeyWallet, turnkeyVerifiedCredentials,
|
|
130
|
+
dynamicEvents.emit('embeddedWalletCreated', passkeyWallet, turnkeyVerifiedCredentials, signersResponse.jwt);
|
|
131
131
|
}
|
|
132
132
|
catch (err) {
|
|
133
133
|
setError(err);
|
package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.cjs
CHANGED
|
@@ -128,7 +128,7 @@ const useCoinbaseMPC = () => {
|
|
|
128
128
|
setPrimaryWalletId(newSelectedCredentialWallet.id);
|
|
129
129
|
setUser(user);
|
|
130
130
|
connector.setVerifiedCredentials(user.verifiedCredentials);
|
|
131
|
-
return newSelectedCredentialWallet;
|
|
131
|
+
return { authToken: response === null || response === void 0 ? void 0 : response.jwt, newSelectedCredentialWallet };
|
|
132
132
|
}), [
|
|
133
133
|
appName,
|
|
134
134
|
consumeNonce,
|
|
@@ -147,7 +147,7 @@ const useCoinbaseMPC = () => {
|
|
|
147
147
|
: sdkApiCore.PasswordSourceTypeEnum.Dynamic;
|
|
148
148
|
try {
|
|
149
149
|
const backupCode = yield connector.generateWallet(source, initialWalletPassword);
|
|
150
|
-
const
|
|
150
|
+
const { authToken, newSelectedCredentialWallet } = yield linkCoinbaseMPCWallet({
|
|
151
151
|
backupCode,
|
|
152
152
|
connector,
|
|
153
153
|
jwt,
|
|
@@ -160,9 +160,9 @@ const useCoinbaseMPC = () => {
|
|
|
160
160
|
chain: (connector === null || connector === void 0 ? void 0 : connector.connectedChain) || '',
|
|
161
161
|
connected: true,
|
|
162
162
|
connector,
|
|
163
|
-
id:
|
|
163
|
+
id: newSelectedCredentialWallet.id,
|
|
164
164
|
};
|
|
165
|
-
dynamicEvents.dynamicEvents.emit('embeddedWalletCreated', coinbaseMPCWallet,
|
|
165
|
+
dynamicEvents.dynamicEvents.emit('embeddedWalletCreated', coinbaseMPCWallet, newSelectedCredentialWallet, authToken);
|
|
166
166
|
return coinbaseMPCWallet;
|
|
167
167
|
}
|
|
168
168
|
catch (error) {
|
package/src/lib/utils/hooks/useEmbeddedWallet/useMPCEmbeddedWallet/useCoinbaseMPC/useCoinbaseMPC.js
CHANGED
|
@@ -124,7 +124,7 @@ const useCoinbaseMPC = () => {
|
|
|
124
124
|
setPrimaryWalletId(newSelectedCredentialWallet.id);
|
|
125
125
|
setUser(user);
|
|
126
126
|
connector.setVerifiedCredentials(user.verifiedCredentials);
|
|
127
|
-
return newSelectedCredentialWallet;
|
|
127
|
+
return { authToken: response === null || response === void 0 ? void 0 : response.jwt, newSelectedCredentialWallet };
|
|
128
128
|
}), [
|
|
129
129
|
appName,
|
|
130
130
|
consumeNonce,
|
|
@@ -143,7 +143,7 @@ const useCoinbaseMPC = () => {
|
|
|
143
143
|
: PasswordSourceTypeEnum.Dynamic;
|
|
144
144
|
try {
|
|
145
145
|
const backupCode = yield connector.generateWallet(source, initialWalletPassword);
|
|
146
|
-
const
|
|
146
|
+
const { authToken, newSelectedCredentialWallet } = yield linkCoinbaseMPCWallet({
|
|
147
147
|
backupCode,
|
|
148
148
|
connector,
|
|
149
149
|
jwt,
|
|
@@ -156,9 +156,9 @@ const useCoinbaseMPC = () => {
|
|
|
156
156
|
chain: (connector === null || connector === void 0 ? void 0 : connector.connectedChain) || '',
|
|
157
157
|
connected: true,
|
|
158
158
|
connector,
|
|
159
|
-
id:
|
|
159
|
+
id: newSelectedCredentialWallet.id,
|
|
160
160
|
};
|
|
161
|
-
dynamicEvents.emit('embeddedWalletCreated', coinbaseMPCWallet,
|
|
161
|
+
dynamicEvents.emit('embeddedWalletCreated', coinbaseMPCWallet, newSelectedCredentialWallet, authToken);
|
|
162
162
|
return coinbaseMPCWallet;
|
|
163
163
|
}
|
|
164
164
|
catch (error) {
|
|
@@ -3,6 +3,7 @@
|
|
|
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
|
require('@dynamic-labs/sdk-api-core');
|
|
8
9
|
require('../../../shared/logger.cjs');
|
|
@@ -19,19 +20,27 @@ var useLocalStorage = require('../../../shared/utils/hooks/useLocalStorage/useLo
|
|
|
19
20
|
require('@dynamic-labs/utils');
|
|
20
21
|
require('../../../shared/consts/index.cjs');
|
|
21
22
|
var primaryWalletIdValidator = require('../useWalletConnectors/utils/primaryWalletIdValidator/primaryWalletIdValidator.cjs');
|
|
22
|
-
require('../../../../../_virtual/_tslib.cjs');
|
|
23
23
|
require('@dynamic-labs/multi-wallet');
|
|
24
24
|
require('react-international-phone');
|
|
25
25
|
require('viem');
|
|
26
26
|
require('viem/chains');
|
|
27
27
|
require('../../../config/ApiEndpoint.cjs');
|
|
28
28
|
require('../../../locale/locale.cjs');
|
|
29
|
+
var wallets = require('../../../data/api/wallets/wallets.cjs');
|
|
30
|
+
var updateJWTAndCreateUserProfile = require('../../functions/updateJWTAndCreateUserProfile/updateJWTAndCreateUserProfile.cjs');
|
|
29
31
|
|
|
30
|
-
const usePrimaryWalletId = () => {
|
|
32
|
+
const usePrimaryWalletId = ({ minAuthToken, environmentId, setUser, }) => {
|
|
31
33
|
const [primaryWalletId, setPrimaryWalletIdState, clearPrimaryWalletId] = useLocalStorage.useLocalStorage(localStorage.PRIMARY_WALLET_ID, undefined, primaryWalletIdValidator.primaryWalletIdValidator);
|
|
32
|
-
const setPrimaryWalletId = React.useCallback((walletId) => {
|
|
34
|
+
const setPrimaryWalletId = React.useCallback((walletId) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
33
35
|
setPrimaryWalletIdState(walletId);
|
|
34
|
-
|
|
36
|
+
if (minAuthToken) {
|
|
37
|
+
const response = yield wallets.storeSelectedWallet({ environmentId, walletId }, minAuthToken);
|
|
38
|
+
// only update userProfile, authToken, and minAuthToken when response is valid from storeSelectedWallet
|
|
39
|
+
if (response) {
|
|
40
|
+
setUser(updateJWTAndCreateUserProfile.updateJWTAndCreateUserProfile(response.jwt, response.minifiedJwt));
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}), [setPrimaryWalletIdState]);
|
|
35
44
|
return {
|
|
36
45
|
clearPrimaryWalletId,
|
|
37
46
|
primaryWalletId,
|
|
@@ -1,5 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
import { Dispatch, SetStateAction } from 'react';
|
|
2
|
+
import { UserProfile } from '@dynamic-labs/types';
|
|
3
|
+
type Props = {
|
|
4
|
+
setUser: Dispatch<SetStateAction<UserProfile | undefined>>;
|
|
5
|
+
environmentId: string;
|
|
6
|
+
minAuthToken: string | undefined;
|
|
7
|
+
};
|
|
8
|
+
export declare const usePrimaryWalletId: ({ minAuthToken, environmentId, setUser, }: Props) => {
|
|
2
9
|
clearPrimaryWalletId: () => void;
|
|
3
10
|
primaryWalletId: string | undefined;
|
|
4
|
-
setPrimaryWalletId: (walletId: string) => void
|
|
11
|
+
setPrimaryWalletId: (walletId: string) => Promise<void>;
|
|
5
12
|
};
|
|
13
|
+
export {};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use client'
|
|
2
|
+
import { __awaiter } from '../../../../../_virtual/_tslib.js';
|
|
2
3
|
import { useCallback } from 'react';
|
|
3
4
|
import '@dynamic-labs/sdk-api-core';
|
|
4
5
|
import '../../../shared/logger.js';
|
|
@@ -15,19 +16,27 @@ import { useLocalStorage } from '../../../shared/utils/hooks/useLocalStorage/use
|
|
|
15
16
|
import '@dynamic-labs/utils';
|
|
16
17
|
import '../../../shared/consts/index.js';
|
|
17
18
|
import { primaryWalletIdValidator } from '../useWalletConnectors/utils/primaryWalletIdValidator/primaryWalletIdValidator.js';
|
|
18
|
-
import '../../../../../_virtual/_tslib.js';
|
|
19
19
|
import '@dynamic-labs/multi-wallet';
|
|
20
20
|
import 'react-international-phone';
|
|
21
21
|
import 'viem';
|
|
22
22
|
import 'viem/chains';
|
|
23
23
|
import '../../../config/ApiEndpoint.js';
|
|
24
24
|
import '../../../locale/locale.js';
|
|
25
|
+
import { storeSelectedWallet } from '../../../data/api/wallets/wallets.js';
|
|
26
|
+
import { updateJWTAndCreateUserProfile } from '../../functions/updateJWTAndCreateUserProfile/updateJWTAndCreateUserProfile.js';
|
|
25
27
|
|
|
26
|
-
const usePrimaryWalletId = () => {
|
|
28
|
+
const usePrimaryWalletId = ({ minAuthToken, environmentId, setUser, }) => {
|
|
27
29
|
const [primaryWalletId, setPrimaryWalletIdState, clearPrimaryWalletId] = useLocalStorage(PRIMARY_WALLET_ID, undefined, primaryWalletIdValidator);
|
|
28
|
-
const setPrimaryWalletId = useCallback((walletId) => {
|
|
30
|
+
const setPrimaryWalletId = useCallback((walletId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
29
31
|
setPrimaryWalletIdState(walletId);
|
|
30
|
-
|
|
32
|
+
if (minAuthToken) {
|
|
33
|
+
const response = yield storeSelectedWallet({ environmentId, walletId }, minAuthToken);
|
|
34
|
+
// only update userProfile, authToken, and minAuthToken when response is valid from storeSelectedWallet
|
|
35
|
+
if (response) {
|
|
36
|
+
setUser(updateJWTAndCreateUserProfile(response.jwt, response.minifiedJwt));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}), [setPrimaryWalletIdState]);
|
|
31
40
|
return {
|
|
32
41
|
clearPrimaryWalletId,
|
|
33
42
|
primaryWalletId,
|
|
@@ -21,7 +21,7 @@ require('@dynamic-labs/sdk-api-core');
|
|
|
21
21
|
require('../../shared/logger.cjs');
|
|
22
22
|
require('@dynamic-labs/iconic');
|
|
23
23
|
require('@dynamic-labs/wallet-connector-core');
|
|
24
|
-
|
|
24
|
+
require('../../context/ViewContext/ViewContext.cjs');
|
|
25
25
|
var localStorage = require('../../shared/utils/classes/storage/localStorage.cjs');
|
|
26
26
|
require('@dynamic-labs/utils');
|
|
27
27
|
require('../../shared/consts/index.cjs');
|
|
@@ -83,7 +83,6 @@ require('../TransactionConfirmationView/helpers/transactionErrorMessage.cjs');
|
|
|
83
83
|
require('../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.cjs');
|
|
84
84
|
var useInternalDynamicContext = require('../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.cjs');
|
|
85
85
|
var index = require('../../utils/functions/walletFilters/index.cjs');
|
|
86
|
-
var isUserLinkingWallet = require('../../shared/utils/functions/isUserLinkingWallet/isUserLinkingWallet.cjs');
|
|
87
86
|
var SearchNotFoundMessage = require('./SearchNotFoundMessage/SearchNotFoundMessage.cjs');
|
|
88
87
|
var WalletListGridTabs = require('./WalletListGridTabs/WalletListGridTabs.cjs');
|
|
89
88
|
var useTabState = require('./hooks/useTabState.cjs');
|
|
@@ -93,10 +92,8 @@ var getEffectiveRecommendedWallets = require('./utils/getEffectiveRecommendedWal
|
|
|
93
92
|
localStorage.LocalStorage.setToLS(localStorage$1.WALLET_PICKER_SEARCH_KEY, '');
|
|
94
93
|
const WalletList = ({ isWalletConnectList = false, }) => {
|
|
95
94
|
var _a;
|
|
96
|
-
const { walletsFilter, signWithEmailWalletName, walletConnectorOptions, projectSettings, defaultNumberOfWalletsToShow, bridgeChainsToConnect, connectedWallets, authMode, multiWallet,
|
|
97
|
-
const { view } = ViewContext.useViewContext();
|
|
95
|
+
const { walletsFilter, signWithEmailWalletName, walletConnectorOptions, projectSettings, defaultNumberOfWalletsToShow, bridgeChainsToConnect, connectedWallets, authMode, multiWallet, recommendedWallets, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
98
96
|
const { selectedTabIndex, setSelectedTabIndex, selectedTabSettings, tabsItems, } = useTabState.useTabState();
|
|
99
|
-
const isLinkingWallet = isUserLinkingWallet.isUserLinkingWallet(user, view.type, false);
|
|
100
97
|
const { walletBook: walletBook$1 } = walletBook.useWalletBookContext();
|
|
101
98
|
const { error } = ErrorContext.useErrorContext();
|
|
102
99
|
const { showDefaultFooter } = useAuthLayoutChecks.useAuthLayoutChecks();
|
|
@@ -126,7 +123,7 @@ const WalletList = ({ isWalletConnectList = false, }) => {
|
|
|
126
123
|
const isSearchEnabled = Boolean(filterValue) ||
|
|
127
124
|
(numberOfWallets > defaultNumberOfWalletsToShow &&
|
|
128
125
|
walletsList.length !== numberOfWallets);
|
|
129
|
-
const isTabsEnabled = Boolean(
|
|
126
|
+
const isTabsEnabled = Boolean(tabsItems === null || tabsItems === void 0 ? void 0 : tabsItems.length);
|
|
130
127
|
const walletListScrollRef = React.useRef(null);
|
|
131
128
|
/* istanbul ignore next */
|
|
132
129
|
const handleScroll = () => {
|
|
@@ -17,7 +17,7 @@ import '@dynamic-labs/sdk-api-core';
|
|
|
17
17
|
import '../../shared/logger.js';
|
|
18
18
|
import '@dynamic-labs/iconic';
|
|
19
19
|
import '@dynamic-labs/wallet-connector-core';
|
|
20
|
-
import
|
|
20
|
+
import '../../context/ViewContext/ViewContext.js';
|
|
21
21
|
import { LocalStorage } from '../../shared/utils/classes/storage/localStorage.js';
|
|
22
22
|
import '@dynamic-labs/utils';
|
|
23
23
|
import '../../shared/consts/index.js';
|
|
@@ -79,7 +79,6 @@ import '../TransactionConfirmationView/helpers/transactionErrorMessage.js';
|
|
|
79
79
|
import '../../widgets/DynamicWidget/views/ManagePasskeysWidgetView/PasskeyCard/PasskeyCard.js';
|
|
80
80
|
import { useInternalDynamicContext } from '../../context/DynamicContext/useDynamicContext/useInternalDynamicContext.js';
|
|
81
81
|
import { FilterBridgeChainsName } from '../../utils/functions/walletFilters/index.js';
|
|
82
|
-
import { isUserLinkingWallet } from '../../shared/utils/functions/isUserLinkingWallet/isUserLinkingWallet.js';
|
|
83
82
|
import { SearchNotFoundMessage } from './SearchNotFoundMessage/SearchNotFoundMessage.js';
|
|
84
83
|
import { WalletListGridTabs } from './WalletListGridTabs/WalletListGridTabs.js';
|
|
85
84
|
import { useTabState } from './hooks/useTabState.js';
|
|
@@ -89,10 +88,8 @@ import { getEffectiveRecommendedWallets } from './utils/getEffectiveRecommendedW
|
|
|
89
88
|
LocalStorage.setToLS(WALLET_PICKER_SEARCH_KEY, '');
|
|
90
89
|
const WalletList = ({ isWalletConnectList = false, }) => {
|
|
91
90
|
var _a;
|
|
92
|
-
const { walletsFilter, signWithEmailWalletName, walletConnectorOptions, projectSettings, defaultNumberOfWalletsToShow, bridgeChainsToConnect, connectedWallets, authMode, multiWallet,
|
|
93
|
-
const { view } = useViewContext();
|
|
91
|
+
const { walletsFilter, signWithEmailWalletName, walletConnectorOptions, projectSettings, defaultNumberOfWalletsToShow, bridgeChainsToConnect, connectedWallets, authMode, multiWallet, recommendedWallets, } = useInternalDynamicContext();
|
|
94
92
|
const { selectedTabIndex, setSelectedTabIndex, selectedTabSettings, tabsItems, } = useTabState();
|
|
95
|
-
const isLinkingWallet = isUserLinkingWallet(user, view.type, false);
|
|
96
93
|
const { walletBook } = useWalletBookContext();
|
|
97
94
|
const { error } = useErrorContext();
|
|
98
95
|
const { showDefaultFooter } = useAuthLayoutChecks();
|
|
@@ -122,7 +119,7 @@ const WalletList = ({ isWalletConnectList = false, }) => {
|
|
|
122
119
|
const isSearchEnabled = Boolean(filterValue) ||
|
|
123
120
|
(numberOfWallets > defaultNumberOfWalletsToShow &&
|
|
124
121
|
walletsList.length !== numberOfWallets);
|
|
125
|
-
const isTabsEnabled = Boolean(
|
|
122
|
+
const isTabsEnabled = Boolean(tabsItems === null || tabsItems === void 0 ? void 0 : tabsItems.length);
|
|
126
123
|
const walletListScrollRef = useRef(null);
|
|
127
124
|
/* istanbul ignore next */
|
|
128
125
|
const handleScroll = () => {
|
|
@@ -5,9 +5,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
|
|
6
6
|
var _tslib = require('../../../../_virtual/_tslib.cjs');
|
|
7
7
|
var jsxRuntime = require('react/jsx-runtime');
|
|
8
|
-
var React = require('react');
|
|
9
8
|
var reactI18next = require('react-i18next');
|
|
10
9
|
var walletBook = require('@dynamic-labs/wallet-book');
|
|
10
|
+
require('react');
|
|
11
11
|
require('../../events/dynamicEvents.cjs');
|
|
12
12
|
require('@dynamic-labs/utils');
|
|
13
13
|
require('../../context/DynamicContext/DynamicContext.cjs');
|
|
@@ -83,14 +83,8 @@ require('../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection
|
|
|
83
83
|
|
|
84
84
|
const iconSize = 64;
|
|
85
85
|
const WalletLockedView = () => {
|
|
86
|
-
const { handleLogOut, primaryWallet, setShowAuthFlow, appName
|
|
86
|
+
const { handleLogOut, primaryWallet, setShowAuthFlow, appName } = useInternalDynamicContext.useInternalDynamicContext();
|
|
87
87
|
const { t } = reactI18next.useTranslation();
|
|
88
|
-
React.useEffect(() => {
|
|
89
|
-
// when there is no valid session, we want to log user out
|
|
90
|
-
if (!authToken) {
|
|
91
|
-
handleLogOut();
|
|
92
|
-
}
|
|
93
|
-
}, [authToken, handleLogOut]);
|
|
94
88
|
if (!primaryWallet) {
|
|
95
89
|
return null;
|
|
96
90
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
import { __awaiter } from '../../../../_virtual/_tslib.js';
|
|
3
3
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
4
|
-
import { useEffect } from 'react';
|
|
5
4
|
import { useTranslation } from 'react-i18next';
|
|
6
5
|
import { WalletIcon } from '@dynamic-labs/wallet-book';
|
|
6
|
+
import 'react';
|
|
7
7
|
import '../../events/dynamicEvents.js';
|
|
8
8
|
import '@dynamic-labs/utils';
|
|
9
9
|
import '../../context/DynamicContext/DynamicContext.js';
|
|
@@ -79,14 +79,8 @@ import '../LoginView/sections/PhoneNumberSignInSection/PhoneNumberSignInSection.
|
|
|
79
79
|
|
|
80
80
|
const iconSize = 64;
|
|
81
81
|
const WalletLockedView = () => {
|
|
82
|
-
const { handleLogOut, primaryWallet, setShowAuthFlow, appName
|
|
82
|
+
const { handleLogOut, primaryWallet, setShowAuthFlow, appName } = useInternalDynamicContext();
|
|
83
83
|
const { t } = useTranslation();
|
|
84
|
-
useEffect(() => {
|
|
85
|
-
// when there is no valid session, we want to log user out
|
|
86
|
-
if (!authToken) {
|
|
87
|
-
handleLogOut();
|
|
88
|
-
}
|
|
89
|
-
}, [authToken, handleLogOut]);
|
|
90
84
|
if (!primaryWallet) {
|
|
91
85
|
return null;
|
|
92
86
|
}
|
|
@@ -78,7 +78,7 @@ var useInternalDynamicContext = require('../../../../context/DynamicContext/useD
|
|
|
78
78
|
const useFetchNameService = (address) => {
|
|
79
79
|
const { getNameService, network } = useInternalDynamicContext.useInternalDynamicContext();
|
|
80
80
|
const { data: nameService } = usePromise.usePromise(() => getNameService(address), {
|
|
81
|
-
deps: [address, network],
|
|
81
|
+
deps: [address, network, getNameService],
|
|
82
82
|
});
|
|
83
83
|
return nameService;
|
|
84
84
|
};
|
|
@@ -74,7 +74,7 @@ import { useInternalDynamicContext } from '../../../../context/DynamicContext/us
|
|
|
74
74
|
const useFetchNameService = (address) => {
|
|
75
75
|
const { getNameService, network } = useInternalDynamicContext();
|
|
76
76
|
const { data: nameService } = usePromise(() => getNameService(address), {
|
|
77
|
-
deps: [address, network],
|
|
77
|
+
deps: [address, network, getNameService],
|
|
78
78
|
});
|
|
79
79
|
return nameService;
|
|
80
80
|
};
|