@dynamic-labs/sdk-react-core 0.17.1 → 0.17.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/package.cjs +2 -2
- package/package.js +2 -2
- package/package.json +9 -9
- package/src/lib/data/api.cjs +15 -0
- package/src/lib/data/api.d.ts +5 -1
- package/src/lib/data/api.js +16 -2
- package/src/lib/views/LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.cjs +15 -2
- package/src/lib/views/LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.js +16 -3
package/CHANGELOG.md
CHANGED
package/package.cjs
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var version = "0.17.
|
|
5
|
+
var version = "0.17.2";
|
|
6
6
|
var dependencies = {
|
|
7
7
|
"react-focus-lock": "2.9.2",
|
|
8
8
|
"@dynamic-labs/iconic": "0.1.23",
|
|
9
|
-
"@dynamic-labs/sdk-api": "0.0.
|
|
9
|
+
"@dynamic-labs/sdk-api": "0.0.218",
|
|
10
10
|
"@hcaptcha/react-hcaptcha": "1.4.4",
|
|
11
11
|
"country-list": "2.3.0",
|
|
12
12
|
yup: "0.32.11",
|
package/package.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
var version = "0.17.
|
|
1
|
+
var version = "0.17.2";
|
|
2
2
|
var dependencies = {
|
|
3
3
|
"react-focus-lock": "2.9.2",
|
|
4
4
|
"@dynamic-labs/iconic": "0.1.23",
|
|
5
|
-
"@dynamic-labs/sdk-api": "0.0.
|
|
5
|
+
"@dynamic-labs/sdk-api": "0.0.218",
|
|
6
6
|
"@hcaptcha/react-hcaptcha": "1.4.4",
|
|
7
7
|
"country-list": "2.3.0",
|
|
8
8
|
yup: "0.32.11",
|
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.2",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/dynamic-labs/DynamicAuth.git",
|
|
@@ -9,20 +9,20 @@
|
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"react-focus-lock": "2.9.2",
|
|
11
11
|
"@dynamic-labs/iconic": "0.1.23",
|
|
12
|
-
"@dynamic-labs/sdk-api": "0.0.
|
|
12
|
+
"@dynamic-labs/sdk-api": "0.0.218",
|
|
13
13
|
"@hcaptcha/react-hcaptcha": "1.4.4",
|
|
14
14
|
"country-list": "2.3.0",
|
|
15
15
|
"yup": "0.32.11",
|
|
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.2",
|
|
20
|
+
"@dynamic-labs/multi-wallet": "0.17.2",
|
|
21
|
+
"@dynamic-labs/rpc-providers": "0.17.2",
|
|
22
|
+
"@dynamic-labs/types": "0.17.2",
|
|
23
|
+
"@dynamic-labs/utils": "0.17.2",
|
|
24
|
+
"@dynamic-labs/wallet-book": "0.17.2",
|
|
25
|
+
"@dynamic-labs/wallet-connector-core": "0.17.2"
|
|
26
26
|
},
|
|
27
27
|
"devDependencies": {
|
|
28
28
|
"semver": "7.3.8"
|
package/src/lib/data/api.cjs
CHANGED
|
@@ -43,6 +43,20 @@ const fetchNonce = (environmentId) => _tslib.__awaiter(void 0, void 0, void 0, f
|
|
|
43
43
|
return undefined;
|
|
44
44
|
}
|
|
45
45
|
});
|
|
46
|
+
const getEmailProvider = ({ email, environmentId, }) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
47
|
+
try {
|
|
48
|
+
const res = yield sdkApi().getEmailProvider({
|
|
49
|
+
email,
|
|
50
|
+
environmentId,
|
|
51
|
+
});
|
|
52
|
+
return res;
|
|
53
|
+
}
|
|
54
|
+
catch (e) {
|
|
55
|
+
const data = yield e.json();
|
|
56
|
+
logger.logger.error(data.error);
|
|
57
|
+
throw new utils.EmailProviderError(data.code);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
46
60
|
const createEmailVerification = ({ email, environmentId, }) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
47
61
|
try {
|
|
48
62
|
const res = yield sdkApi().createEmailVerification({
|
|
@@ -362,6 +376,7 @@ exports.createVisit = createVisit;
|
|
|
362
376
|
exports.fetchNetworkSettings = fetchNetworkSettings;
|
|
363
377
|
exports.fetchNonce = fetchNonce;
|
|
364
378
|
exports.fetchProjectSettings = fetchProjectSettings;
|
|
379
|
+
exports.getEmailProvider = getEmailProvider;
|
|
365
380
|
exports.getOnrampProviders = getOnrampProviders;
|
|
366
381
|
exports.linkWallet = linkWallet;
|
|
367
382
|
exports.mapAuthModeTypeToEnum = mapAuthModeTypeToEnum;
|
package/src/lib/data/api.d.ts
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
import { ProjectSettings, UserFields, NetworkConfigurationResponse, ChainEnum, UpdateSelfResponse, WalletProviderEnum, AuthModeEnum, EmailVerificationCreateResponse, VerifyResponse, OauthRequest, ProviderEnum, OnrampConfiguration } from '@dynamic-labs/sdk-api';
|
|
1
|
+
import { ProjectSettings, UserFields, NetworkConfigurationResponse, ChainEnum, UpdateSelfResponse, WalletProviderEnum, AuthModeEnum, EmailVerificationCreateResponse, VerifyResponse, OauthRequest, ProviderEnum, OnrampConfiguration, EmailProviderResponse } from '@dynamic-labs/sdk-api';
|
|
2
2
|
import { AuthModeType, VerifyWallet } from '../shared/types';
|
|
3
3
|
export declare const fetchNonce: (environmentId: string) => Promise<string | undefined>;
|
|
4
|
+
export declare const getEmailProvider: ({ email, environmentId, }: {
|
|
5
|
+
email: string;
|
|
6
|
+
environmentId: string;
|
|
7
|
+
}) => Promise<EmailProviderResponse>;
|
|
4
8
|
export declare const createEmailVerification: ({ email, environmentId, }: {
|
|
5
9
|
email: string;
|
|
6
10
|
environmentId: string;
|
package/src/lib/data/api.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __awaiter } from '../../../_virtual/_tslib.js';
|
|
2
|
-
import { NoAccessError, EmailVerificationError, DynamicError, EmailAlreadyExistsError, UsernameAlreadyExistsError, WalletUsedError, WalletNotDeployedError, ChainalysisError } from '@dynamic-labs/utils';
|
|
2
|
+
import { NoAccessError, EmailVerificationError, DynamicError, EmailAlreadyExistsError, UsernameAlreadyExistsError, EmailProviderError, WalletUsedError, WalletNotDeployedError, ChainalysisError } from '@dynamic-labs/utils';
|
|
3
3
|
import { SDKApi, Configuration, VerifyRequestFromJSON, ChainEnum, WalletProviderEnum, AuthModeEnum } from '@dynamic-labs/sdk-api';
|
|
4
4
|
import { VERSION, API_VERSION } from '../../version.js';
|
|
5
5
|
import ApiEndpoint from '../config/ApiEndpoint.js';
|
|
@@ -39,6 +39,20 @@ const fetchNonce = (environmentId) => __awaiter(void 0, void 0, void 0, function
|
|
|
39
39
|
return undefined;
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
|
+
const getEmailProvider = ({ email, environmentId, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
43
|
+
try {
|
|
44
|
+
const res = yield sdkApi().getEmailProvider({
|
|
45
|
+
email,
|
|
46
|
+
environmentId,
|
|
47
|
+
});
|
|
48
|
+
return res;
|
|
49
|
+
}
|
|
50
|
+
catch (e) {
|
|
51
|
+
const data = yield e.json();
|
|
52
|
+
logger.error(data.error);
|
|
53
|
+
throw new EmailProviderError(data.code);
|
|
54
|
+
}
|
|
55
|
+
});
|
|
42
56
|
const createEmailVerification = ({ email, environmentId, }) => __awaiter(void 0, void 0, void 0, function* () {
|
|
43
57
|
try {
|
|
44
58
|
const res = yield sdkApi().createEmailVerification({
|
|
@@ -353,4 +367,4 @@ const getOnrampProviders = ({ chain, environmentId, networkId, token, walletAddr
|
|
|
353
367
|
return onramps;
|
|
354
368
|
});
|
|
355
369
|
|
|
356
|
-
export { createEmailVerification, createVisit, fetchNetworkSettings, fetchNonce, fetchProjectSettings, getOnrampProviders, linkWallet, mapAuthModeTypeToEnum, mapChainToChainEnum, mapProviderToProviderEnum, retryEmailVerification, revokeSession, signInWithEmailVerification, transferWallet, unlinkOAuth, unlinkWallet, updateUserProfileFields, verifyEmail, verifyOAuth, verifyWallet };
|
|
370
|
+
export { createEmailVerification, createVisit, fetchNetworkSettings, fetchNonce, fetchProjectSettings, getEmailProvider, getOnrampProviders, linkWallet, mapAuthModeTypeToEnum, mapChainToChainEnum, mapProviderToProviderEnum, retryEmailVerification, revokeSession, signInWithEmailVerification, transferWallet, unlinkOAuth, unlinkWallet, updateUserProfileFields, verifyEmail, verifyOAuth, verifyWallet };
|
package/src/lib/views/LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.cjs
CHANGED
|
@@ -6,9 +6,9 @@ var _tslib = require('../../../../../../_virtual/_tslib.cjs');
|
|
|
6
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
7
|
var React = require('react');
|
|
8
8
|
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
9
|
+
var sdkApi = require('@dynamic-labs/sdk-api');
|
|
9
10
|
require('@dynamic-labs/utils');
|
|
10
11
|
var api = require('../../../../data/api.cjs');
|
|
11
|
-
require('@dynamic-labs/sdk-api');
|
|
12
12
|
require('../../../../shared/logger.cjs');
|
|
13
13
|
require('../../../../config/LSSuffix.cjs');
|
|
14
14
|
require('@dynamic-labs/iconic');
|
|
@@ -45,7 +45,7 @@ var LoadingContext = require('../../../../context/LoadingContext/LoadingContext.
|
|
|
45
45
|
|
|
46
46
|
const EMAIL_REGEX = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i;
|
|
47
47
|
const LoginWithEmailForm = () => {
|
|
48
|
-
const { environmentId, wallets } = useInternalDynamicContext.useInternalDynamicContext();
|
|
48
|
+
const { environmentId, wallets, projectSettings } = useInternalDynamicContext.useInternalDynamicContext();
|
|
49
49
|
const { setView } = ViewContext.useViewContext();
|
|
50
50
|
const { loading, setLoading } = LoadingContext.useLoadingContext();
|
|
51
51
|
const { setErrorMessage } = ErrorContext.useErrorContext();
|
|
@@ -97,6 +97,19 @@ const LoginWithEmailForm = () => {
|
|
|
97
97
|
}
|
|
98
98
|
try {
|
|
99
99
|
setLoading(true);
|
|
100
|
+
if (magicLinkEnabled && (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.confirmWalletTransfers)) {
|
|
101
|
+
// see: https://linear.app/dynamic-labs/issue/DYN-2517
|
|
102
|
+
// if confirmWalletTransfers setting is true, check api first to confirm emailProvider
|
|
103
|
+
const { emailProvider } = yield api.getEmailProvider({
|
|
104
|
+
email: emailValue,
|
|
105
|
+
environmentId,
|
|
106
|
+
});
|
|
107
|
+
if (emailProvider === sdkApi.ProviderEnum.EmailOnly) {
|
|
108
|
+
setEmailInput(emailValue);
|
|
109
|
+
yield handleEmailLoginSubmit();
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
100
113
|
yield submitHandler();
|
|
101
114
|
}
|
|
102
115
|
catch (error) {
|
package/src/lib/views/LoginWithEmailView/components/LoginWithEmailForm/LoginWithEmailForm.js
CHANGED
|
@@ -2,9 +2,9 @@ import { __awaiter } from '../../../../../../_virtual/_tslib.js';
|
|
|
2
2
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
3
|
import { useState, useMemo } from 'react';
|
|
4
4
|
import { isEmailWalletConnector } from '@dynamic-labs/wallet-connector-core';
|
|
5
|
+
import { ProviderEnum } from '@dynamic-labs/sdk-api';
|
|
5
6
|
import '@dynamic-labs/utils';
|
|
6
|
-
import { createEmailVerification } from '../../../../data/api.js';
|
|
7
|
-
import '@dynamic-labs/sdk-api';
|
|
7
|
+
import { getEmailProvider, createEmailVerification } from '../../../../data/api.js';
|
|
8
8
|
import '../../../../shared/logger.js';
|
|
9
9
|
import '../../../../config/LSSuffix.js';
|
|
10
10
|
import '@dynamic-labs/iconic';
|
|
@@ -41,7 +41,7 @@ import { useLoadingContext } from '../../../../context/LoadingContext/LoadingCon
|
|
|
41
41
|
|
|
42
42
|
const EMAIL_REGEX = /^[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}$/i;
|
|
43
43
|
const LoginWithEmailForm = () => {
|
|
44
|
-
const { environmentId, wallets } = useInternalDynamicContext();
|
|
44
|
+
const { environmentId, wallets, projectSettings } = useInternalDynamicContext();
|
|
45
45
|
const { setView } = useViewContext();
|
|
46
46
|
const { loading, setLoading } = useLoadingContext();
|
|
47
47
|
const { setErrorMessage } = useErrorContext();
|
|
@@ -93,6 +93,19 @@ const LoginWithEmailForm = () => {
|
|
|
93
93
|
}
|
|
94
94
|
try {
|
|
95
95
|
setLoading(true);
|
|
96
|
+
if (magicLinkEnabled && (projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.confirmWalletTransfers)) {
|
|
97
|
+
// see: https://linear.app/dynamic-labs/issue/DYN-2517
|
|
98
|
+
// if confirmWalletTransfers setting is true, check api first to confirm emailProvider
|
|
99
|
+
const { emailProvider } = yield getEmailProvider({
|
|
100
|
+
email: emailValue,
|
|
101
|
+
environmentId,
|
|
102
|
+
});
|
|
103
|
+
if (emailProvider === ProviderEnum.EmailOnly) {
|
|
104
|
+
setEmailInput(emailValue);
|
|
105
|
+
yield handleEmailLoginSubmit();
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
96
109
|
yield submitHandler();
|
|
97
110
|
}
|
|
98
111
|
catch (error) {
|