@dynamic-labs/sdk-react-core 0.17.32 → 0.17.34
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 +15 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +8 -8
- package/src/lib/utils/hooks/useFetchNetworkConfigurations/useFetchNetworkConfigurations.cjs +2 -7
- package/src/lib/utils/hooks/useFetchNetworkConfigurations/useFetchNetworkConfigurations.js +2 -7
- package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/index.d.ts +1 -0
- package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/mergeCustomerEvmNetworksWithServerNetworks/index.d.ts +1 -0
- package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.cjs +16 -0
- package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.d.ts +2 -0
- package/src/lib/utils/hooks/useFetchNetworkConfigurations/utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.js +12 -0
- package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.cjs +8 -3
- package/src/lib/views/CaptchaVerifyUser/CaptchaVerifyUser.js +8 -3
- package/src/lib/views/EmailUpdate/EmailUpdate.cjs +5 -2
- package/src/lib/views/EmailUpdate/EmailUpdate.js +5 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,19 @@
|
|
|
1
1
|
|
|
2
|
+
### [0.17.34](https://github.com/dynamic-labs/DynamicAuth/compare/v0.17.33...v0.17.34) (2023-08-14)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
* fix the captcha step with embedded wallets ([#2967](https://github.com/dynamic-labs/DynamicAuth/issues/2967)) ([#2984](https://github.com/dynamic-labs/DynamicAuth/issues/2984)) ([637effe](https://github.com/dynamic-labs/DynamicAuth/commit/637effe5e7c1f19d378924a3aad3f0a02b03bd8e))
|
|
8
|
+
|
|
9
|
+
### [0.17.33](https://github.com/dynamic-labs/DynamicAuth/compare/v0.17.32...v0.17.33) (2023-08-11)
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
### Bug Fixes
|
|
13
|
+
|
|
14
|
+
* **networks:** merge custom network after API networks ([04d4158](https://github.com/dynamic-labs/DynamicAuth/commit/04d41584f71d384eb59b3327b106219de5b10719))
|
|
15
|
+
* **QNTM-249:** broken email update when user is authenticated ([#2934](https://github.com/dynamic-labs/DynamicAuth/issues/2934)) ([b8c4149](https://github.com/dynamic-labs/DynamicAuth/commit/b8c4149fbc8d17f599ac4ddf9ed8d578ecc96e8b))
|
|
16
|
+
|
|
2
17
|
### [0.17.32](https://github.com/dynamic-labs/DynamicAuth/compare/v0.17.31...v0.17.32) (2023-08-09)
|
|
3
18
|
|
|
4
19
|
|
package/package.cjs
CHANGED
package/package.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dynamic-labs/sdk-react-core",
|
|
3
|
-
"version": "0.17.
|
|
3
|
+
"version": "0.17.34",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/dynamic-labs/DynamicAuth.git",
|
|
@@ -16,13 +16,13 @@
|
|
|
16
16
|
"formik": "2.2.9",
|
|
17
17
|
"qrcode": "1.5.1",
|
|
18
18
|
"ethers": "5.7.2",
|
|
19
|
-
"@dynamic-labs/logger": "0.17.
|
|
20
|
-
"@dynamic-labs/multi-wallet": "0.17.
|
|
21
|
-
"@dynamic-labs/rpc-providers": "0.17.
|
|
22
|
-
"@dynamic-labs/types": "0.17.
|
|
23
|
-
"@dynamic-labs/utils": "0.17.
|
|
24
|
-
"@dynamic-labs/wallet-book": "0.17.
|
|
25
|
-
"@dynamic-labs/wallet-connector-core": "0.17.
|
|
19
|
+
"@dynamic-labs/logger": "0.17.34",
|
|
20
|
+
"@dynamic-labs/multi-wallet": "0.17.34",
|
|
21
|
+
"@dynamic-labs/rpc-providers": "0.17.34",
|
|
22
|
+
"@dynamic-labs/types": "0.17.34",
|
|
23
|
+
"@dynamic-labs/utils": "0.17.34",
|
|
24
|
+
"@dynamic-labs/wallet-book": "0.17.34",
|
|
25
|
+
"@dynamic-labs/wallet-connector-core": "0.17.34"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"semver": "7.3.8"
|
|
@@ -19,6 +19,7 @@ require('ethers');
|
|
|
19
19
|
var useLocalStorage = require('../../../shared/utils/hooks/useLocalStorage/useLocalStorage.cjs');
|
|
20
20
|
require('../../../shared/consts/index.cjs');
|
|
21
21
|
var validators = require('../../../context/DynamicContext/validators.cjs');
|
|
22
|
+
var mergeCustomerEvmNetworksWithServerNetworks = require('./utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.cjs');
|
|
22
23
|
|
|
23
24
|
const MAX_RETRIES = 2;
|
|
24
25
|
const useFetchNetworkConfigurations = ({ authToken, environmentId, evmNetworks: customerEvmNetworks, maxRetries = MAX_RETRIES, }) => {
|
|
@@ -113,13 +114,7 @@ const useFetchNetworkConfigurations = ({ authToken, environmentId, evmNetworks:
|
|
|
113
114
|
serverNetworks.length &&
|
|
114
115
|
customerEvmNetworks !== undefined &&
|
|
115
116
|
customerEvmNetworks.length) {
|
|
116
|
-
mergedEvmNetworks =
|
|
117
|
-
serverNetworks.forEach((network) => {
|
|
118
|
-
const existingNetwork = mergedEvmNetworks === null || mergedEvmNetworks === void 0 ? void 0 : mergedEvmNetworks.find((item) => item.chainId === network.chainId);
|
|
119
|
-
if (!existingNetwork) {
|
|
120
|
-
mergedEvmNetworks === null || mergedEvmNetworks === void 0 ? void 0 : mergedEvmNetworks.push(network);
|
|
121
|
-
}
|
|
122
|
-
});
|
|
117
|
+
mergedEvmNetworks = mergeCustomerEvmNetworksWithServerNetworks.mergeCustomerEvmNetworksWithServerNetworks(customerEvmNetworks, serverNetworks);
|
|
123
118
|
}
|
|
124
119
|
setLsNetworks({
|
|
125
120
|
configurations: {
|
|
@@ -15,6 +15,7 @@ import 'ethers';
|
|
|
15
15
|
import { useLocalStorage } from '../../../shared/utils/hooks/useLocalStorage/useLocalStorage.js';
|
|
16
16
|
import '../../../shared/consts/index.js';
|
|
17
17
|
import { validateLocalStorageExpiry } from '../../../context/DynamicContext/validators.js';
|
|
18
|
+
import { mergeCustomerEvmNetworksWithServerNetworks } from './utils/mergeCustomerEvmNetworksWithServerNetworks/mergeCustomerEvmNetworksWithServerNetworks.js';
|
|
18
19
|
|
|
19
20
|
const MAX_RETRIES = 2;
|
|
20
21
|
const useFetchNetworkConfigurations = ({ authToken, environmentId, evmNetworks: customerEvmNetworks, maxRetries = MAX_RETRIES, }) => {
|
|
@@ -109,13 +110,7 @@ const useFetchNetworkConfigurations = ({ authToken, environmentId, evmNetworks:
|
|
|
109
110
|
serverNetworks.length &&
|
|
110
111
|
customerEvmNetworks !== undefined &&
|
|
111
112
|
customerEvmNetworks.length) {
|
|
112
|
-
mergedEvmNetworks = customerEvmNetworks
|
|
113
|
-
serverNetworks.forEach((network) => {
|
|
114
|
-
const existingNetwork = mergedEvmNetworks === null || mergedEvmNetworks === void 0 ? void 0 : mergedEvmNetworks.find((item) => item.chainId === network.chainId);
|
|
115
|
-
if (!existingNetwork) {
|
|
116
|
-
mergedEvmNetworks === null || mergedEvmNetworks === void 0 ? void 0 : mergedEvmNetworks.push(network);
|
|
117
|
-
}
|
|
118
|
-
});
|
|
113
|
+
mergedEvmNetworks = mergeCustomerEvmNetworksWithServerNetworks(customerEvmNetworks, serverNetworks);
|
|
119
114
|
}
|
|
120
115
|
setLsNetworks({
|
|
121
116
|
configurations: {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './mergeCustomerEvmNetworksWithServerNetworks';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { mergeCustomerEvmNetworksWithServerNetworks } from './mergeCustomerEvmNetworksWithServerNetworks';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
const mergeCustomerEvmNetworksWithServerNetworks = (customerEvmNetworks, serverNetworks) => {
|
|
6
|
+
const evmNetworks = [...customerEvmNetworks];
|
|
7
|
+
serverNetworks.forEach((network) => {
|
|
8
|
+
const existingNetwork = evmNetworks === null || evmNetworks === void 0 ? void 0 : evmNetworks.find((item) => item.chainId === network.chainId);
|
|
9
|
+
if (!existingNetwork) {
|
|
10
|
+
evmNetworks === null || evmNetworks === void 0 ? void 0 : evmNetworks.unshift(network);
|
|
11
|
+
}
|
|
12
|
+
});
|
|
13
|
+
return evmNetworks;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
exports.mergeCustomerEvmNetworksWithServerNetworks = mergeCustomerEvmNetworksWithServerNetworks;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
const mergeCustomerEvmNetworksWithServerNetworks = (customerEvmNetworks, serverNetworks) => {
|
|
2
|
+
const evmNetworks = [...customerEvmNetworks];
|
|
3
|
+
serverNetworks.forEach((network) => {
|
|
4
|
+
const existingNetwork = evmNetworks === null || evmNetworks === void 0 ? void 0 : evmNetworks.find((item) => item.chainId === network.chainId);
|
|
5
|
+
if (!existingNetwork) {
|
|
6
|
+
evmNetworks === null || evmNetworks === void 0 ? void 0 : evmNetworks.unshift(network);
|
|
7
|
+
}
|
|
8
|
+
});
|
|
9
|
+
return evmNetworks;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
export { mergeCustomerEvmNetworksWithServerNetworks };
|
|
@@ -5,12 +5,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var _tslib = require('../../../../_virtual/_tslib.cjs');
|
|
6
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
7
|
var iconic = require('@dynamic-labs/iconic');
|
|
8
|
+
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
8
9
|
require('react');
|
|
9
10
|
var Typography = require('../../components/Typography/Typography.cjs');
|
|
10
11
|
require('@dynamic-labs/sdk-api');
|
|
11
12
|
require('../../shared/logger.cjs');
|
|
12
13
|
require('../../config/LSSuffix.cjs');
|
|
13
|
-
require('@dynamic-labs/wallet-connector-core');
|
|
14
14
|
var ViewContext = require('../../context/ViewContext/ViewContext.cjs');
|
|
15
15
|
require('@dynamic-labs/utils');
|
|
16
16
|
require('../../utils/constants/colors.cjs');
|
|
@@ -45,7 +45,7 @@ require('../../components/MenuList/Dropdown/Dropdown.cjs');
|
|
|
45
45
|
var Captcha = require('../../components/Captcha/Captcha.cjs');
|
|
46
46
|
|
|
47
47
|
const CaptchaVerifyUser = () => {
|
|
48
|
-
const { consumeNonce, displayTermsOfService, environmentId, projectSettings, setIsSingleWalletAccount, selectedWalletConnector: walletConnector, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
48
|
+
const { consumeNonce, displayTermsOfService, environmentId, projectSettings, setIsSingleWalletAccount, selectedWalletConnector: walletConnector, disableWalletConfirmationOnce, } = useInternalDynamicContext.useInternalDynamicContext();
|
|
49
49
|
const { setView } = ViewContext.useViewContext();
|
|
50
50
|
const { setCaptchaToken } = CaptchaContext.useCaptchaContext();
|
|
51
51
|
const verifyWallet = useVerifyWallet.useVerifyWallet({
|
|
@@ -63,7 +63,12 @@ const CaptchaVerifyUser = () => {
|
|
|
63
63
|
if (!publicWalletAddress) {
|
|
64
64
|
return;
|
|
65
65
|
}
|
|
66
|
-
|
|
66
|
+
if (!walletConnectorCore.isEmbeddedConnector(walletConnector)) {
|
|
67
|
+
setView('pending-signature');
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
disableWalletConfirmationOnce();
|
|
71
|
+
}
|
|
67
72
|
if (requiresTwoStepAuthentication.requiresTwoStepAuthentication(walletConnector)) {
|
|
68
73
|
setCaptchaToken(captchaToken);
|
|
69
74
|
return;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { __awaiter } from '../../../../_virtual/_tslib.js';
|
|
2
2
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
3
|
import { CaptchaWaveIcon } from '@dynamic-labs/iconic';
|
|
4
|
+
import { isEmbeddedConnector } from '@dynamic-labs/wallet-connector-core';
|
|
4
5
|
import 'react';
|
|
5
6
|
import { Typography } from '../../components/Typography/Typography.js';
|
|
6
7
|
import '@dynamic-labs/sdk-api';
|
|
7
8
|
import '../../shared/logger.js';
|
|
8
9
|
import '../../config/LSSuffix.js';
|
|
9
|
-
import '@dynamic-labs/wallet-connector-core';
|
|
10
10
|
import { useViewContext } from '../../context/ViewContext/ViewContext.js';
|
|
11
11
|
import '@dynamic-labs/utils';
|
|
12
12
|
import '../../utils/constants/colors.js';
|
|
@@ -41,7 +41,7 @@ import '../../components/MenuList/Dropdown/Dropdown.js';
|
|
|
41
41
|
import { Captcha } from '../../components/Captcha/Captcha.js';
|
|
42
42
|
|
|
43
43
|
const CaptchaVerifyUser = () => {
|
|
44
|
-
const { consumeNonce, displayTermsOfService, environmentId, projectSettings, setIsSingleWalletAccount, selectedWalletConnector: walletConnector, } = useInternalDynamicContext();
|
|
44
|
+
const { consumeNonce, displayTermsOfService, environmentId, projectSettings, setIsSingleWalletAccount, selectedWalletConnector: walletConnector, disableWalletConfirmationOnce, } = useInternalDynamicContext();
|
|
45
45
|
const { setView } = useViewContext();
|
|
46
46
|
const { setCaptchaToken } = useCaptchaContext();
|
|
47
47
|
const verifyWallet = useVerifyWallet({
|
|
@@ -59,7 +59,12 @@ const CaptchaVerifyUser = () => {
|
|
|
59
59
|
if (!publicWalletAddress) {
|
|
60
60
|
return;
|
|
61
61
|
}
|
|
62
|
-
|
|
62
|
+
if (!isEmbeddedConnector(walletConnector)) {
|
|
63
|
+
setView('pending-signature');
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
disableWalletConfirmationOnce();
|
|
67
|
+
}
|
|
63
68
|
if (requiresTwoStepAuthentication(walletConnector)) {
|
|
64
69
|
setCaptchaToken(captchaToken);
|
|
65
70
|
return;
|
|
@@ -52,18 +52,21 @@ const EmailUpdate = () => {
|
|
|
52
52
|
const { loading, setLoading } = LoadingContext.useLoadingContext();
|
|
53
53
|
const { setView, goToInitialView } = ViewContext.useViewContext();
|
|
54
54
|
const { email, setEmail, setVerificationUUID } = EmailVerificationContext.useEmailVerificationContext();
|
|
55
|
-
const { environmentId, handleLogOut, onboardingOnlyJwt } = useInternalDynamicContext.useInternalDynamicContext();
|
|
55
|
+
const { environmentId, handleLogOut, onboardingOnlyJwt, authToken } = useInternalDynamicContext.useInternalDynamicContext();
|
|
56
56
|
const handleBackClick = () => {
|
|
57
57
|
setView('verify-email');
|
|
58
58
|
setError(undefined);
|
|
59
59
|
};
|
|
60
|
+
// If user tries to update an email for logged user there is already an authToken and onboardingOnlyJwt is undefined
|
|
61
|
+
// If user tries to update the email in the authFlow, authToken is undefined and onboardingOnlyJwt is defined
|
|
62
|
+
const jwtToken = authToken || onboardingOnlyJwt;
|
|
60
63
|
const handleEmailUpdate = () => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
61
64
|
try {
|
|
62
65
|
if (!updatedEmail) {
|
|
63
66
|
return;
|
|
64
67
|
}
|
|
65
68
|
setLoading(true);
|
|
66
|
-
const { emailVerification } = yield api.updateUserProfileFields(
|
|
69
|
+
const { emailVerification } = yield api.updateUserProfileFields(jwtToken, environmentId, { email: updatedEmail });
|
|
67
70
|
if (!emailVerification) {
|
|
68
71
|
yield handleLogOut();
|
|
69
72
|
goToInitialView();
|
|
@@ -48,18 +48,21 @@ const EmailUpdate = () => {
|
|
|
48
48
|
const { loading, setLoading } = useLoadingContext();
|
|
49
49
|
const { setView, goToInitialView } = useViewContext();
|
|
50
50
|
const { email, setEmail, setVerificationUUID } = useEmailVerificationContext();
|
|
51
|
-
const { environmentId, handleLogOut, onboardingOnlyJwt } = useInternalDynamicContext();
|
|
51
|
+
const { environmentId, handleLogOut, onboardingOnlyJwt, authToken } = useInternalDynamicContext();
|
|
52
52
|
const handleBackClick = () => {
|
|
53
53
|
setView('verify-email');
|
|
54
54
|
setError(undefined);
|
|
55
55
|
};
|
|
56
|
+
// If user tries to update an email for logged user there is already an authToken and onboardingOnlyJwt is undefined
|
|
57
|
+
// If user tries to update the email in the authFlow, authToken is undefined and onboardingOnlyJwt is defined
|
|
58
|
+
const jwtToken = authToken || onboardingOnlyJwt;
|
|
56
59
|
const handleEmailUpdate = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
57
60
|
try {
|
|
58
61
|
if (!updatedEmail) {
|
|
59
62
|
return;
|
|
60
63
|
}
|
|
61
64
|
setLoading(true);
|
|
62
|
-
const { emailVerification } = yield updateUserProfileFields(
|
|
65
|
+
const { emailVerification } = yield updateUserProfileFields(jwtToken, environmentId, { email: updatedEmail });
|
|
63
66
|
if (!emailVerification) {
|
|
64
67
|
yield handleLogOut();
|
|
65
68
|
goToInitialView();
|