@dynamic-labs/sdk-react-core 3.0.0-alpha.25 → 3.0.0-alpha.27
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 +9 -0
- package/package.cjs +2 -2
- package/package.js +2 -2
- package/package.json +12 -12
- package/src/lib/config/ApiEndpoint.cjs +18 -1
- package/src/lib/config/ApiEndpoint.js +18 -1
- package/src/lib/data/api/oauth/oauth.cjs +63 -27
- package/src/lib/data/api/oauth/oauth.d.ts +2 -0
- package/src/lib/data/api/oauth/oauth.js +62 -28
- package/src/lib/data/api/settings/settings.cjs +4 -0
- package/src/lib/data/api/settings/settings.js +4 -0
- package/src/lib/utils/functions/getOauthLoginUrl/getOauthLoginUrl.cjs +9 -2
- package/src/lib/utils/functions/getOauthLoginUrl/getOauthLoginUrl.js +9 -2
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +26 -13
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +27 -14
- package/src/lib/utils/hooks/useUserDataForm/index.d.ts +1 -0
- package/src/lib/utils/hooks/useWalletConnectors/utils/convertLegacyPhantomLedgerConnector/index.d.ts +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
|
|
2
|
+
## [3.0.0-alpha.27](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.26...v3.0.0-alpha.27) (2024-07-24)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Features
|
|
6
|
+
|
|
7
|
+
* add ability to use a different ecdsa validator ([#6407](https://github.com/dynamic-labs/DynamicAuth/issues/6407)) ([a3e99e1](https://github.com/dynamic-labs/DynamicAuth/commit/a3e99e1b2cdcadbce35ff0cacfb8fb82778c0216))
|
|
8
|
+
|
|
9
|
+
## [3.0.0-alpha.26](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.25...v3.0.0-alpha.26) (2024-07-24)
|
|
10
|
+
|
|
2
11
|
## [3.0.0-alpha.25](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.24...v3.0.0-alpha.25) (2024-07-24)
|
|
3
12
|
|
|
4
13
|
|
package/package.cjs
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
|
-
var version = "3.0.0-alpha.
|
|
6
|
+
var version = "3.0.0-alpha.27";
|
|
7
7
|
var dependencies = {
|
|
8
|
-
"@dynamic-labs/sdk-api-core": "0.0.
|
|
8
|
+
"@dynamic-labs/sdk-api-core": "0.0.497",
|
|
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 = "3.0.0-alpha.
|
|
2
|
+
var version = "3.0.0-alpha.27";
|
|
3
3
|
var dependencies = {
|
|
4
|
-
"@dynamic-labs/sdk-api-core": "0.0.
|
|
4
|
+
"@dynamic-labs/sdk-api-core": "0.0.497",
|
|
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": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.27",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/dynamic-labs/dynamic-auth.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.497",
|
|
11
11
|
"@hcaptcha/react-hcaptcha": "1.4.4",
|
|
12
12
|
"country-list": "2.3.0",
|
|
13
13
|
"formik": "2.2.9",
|
|
@@ -17,16 +17,16 @@
|
|
|
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": "3.0.0-alpha.
|
|
21
|
-
"@dynamic-labs/logger": "3.0.0-alpha.
|
|
22
|
-
"@dynamic-labs/message-transport": "3.0.0-alpha.
|
|
23
|
-
"@dynamic-labs/multi-wallet": "3.0.0-alpha.
|
|
24
|
-
"@dynamic-labs/rpc-providers": "3.0.0-alpha.
|
|
25
|
-
"@dynamic-labs/store": "3.0.0-alpha.
|
|
26
|
-
"@dynamic-labs/types": "3.0.0-alpha.
|
|
27
|
-
"@dynamic-labs/utils": "3.0.0-alpha.
|
|
28
|
-
"@dynamic-labs/wallet-book": "3.0.0-alpha.
|
|
29
|
-
"@dynamic-labs/wallet-connector-core": "3.0.0-alpha.
|
|
20
|
+
"@dynamic-labs/iconic": "3.0.0-alpha.27",
|
|
21
|
+
"@dynamic-labs/logger": "3.0.0-alpha.27",
|
|
22
|
+
"@dynamic-labs/message-transport": "3.0.0-alpha.27",
|
|
23
|
+
"@dynamic-labs/multi-wallet": "3.0.0-alpha.27",
|
|
24
|
+
"@dynamic-labs/rpc-providers": "3.0.0-alpha.27",
|
|
25
|
+
"@dynamic-labs/store": "3.0.0-alpha.27",
|
|
26
|
+
"@dynamic-labs/types": "3.0.0-alpha.27",
|
|
27
|
+
"@dynamic-labs/utils": "3.0.0-alpha.27",
|
|
28
|
+
"@dynamic-labs/wallet-book": "3.0.0-alpha.27",
|
|
29
|
+
"@dynamic-labs/wallet-connector-core": "3.0.0-alpha.27",
|
|
30
30
|
"eventemitter3": "5.0.1"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
'use client'
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
|
+
var sdkApiCore = require('@dynamic-labs/sdk-api-core');
|
|
5
|
+
|
|
4
6
|
/* eslint-disable no-underscore-dangle */
|
|
5
7
|
class ApiEndpoint {
|
|
6
8
|
}
|
|
@@ -12,9 +14,24 @@ ApiEndpoint.getBaseUrl = () => {
|
|
|
12
14
|
};
|
|
13
15
|
ApiEndpoint.setBaseUrl = (baseUrlInput) => {
|
|
14
16
|
if (!ApiEndpoint.__defined__) {
|
|
15
|
-
|
|
17
|
+
if (!baseUrlInput) {
|
|
18
|
+
/**
|
|
19
|
+
* If the baseUrl is not provided, use the default baseUrl from the sdk-api package
|
|
20
|
+
*/
|
|
21
|
+
ApiEndpoint.__baseUrl__ = new sdkApiCore.Configuration().basePath;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
ApiEndpoint.__baseUrl__ = baseUrlInput;
|
|
25
|
+
}
|
|
16
26
|
ApiEndpoint.__defined__ = true;
|
|
17
27
|
}
|
|
28
|
+
else if (!baseUrlInput && ApiEndpoint.__defined__) {
|
|
29
|
+
/**
|
|
30
|
+
* If for some reason (usually in local development), the setBaseUrl is called multiple times with undefined
|
|
31
|
+
* And we already have it defined, let's just assume it's a no-op
|
|
32
|
+
*/
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
18
35
|
else if (ApiEndpoint.__baseUrl__ !== baseUrlInput) {
|
|
19
36
|
throw new Error(`ApiEndpoint baseUrl is already set to ${ApiEndpoint.__baseUrl__}, cannot change it to ${baseUrlInput}`);
|
|
20
37
|
}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
'use client'
|
|
2
|
+
import { Configuration } from '@dynamic-labs/sdk-api-core';
|
|
3
|
+
|
|
2
4
|
/* eslint-disable no-underscore-dangle */
|
|
3
5
|
class ApiEndpoint {
|
|
4
6
|
}
|
|
@@ -10,9 +12,24 @@ ApiEndpoint.getBaseUrl = () => {
|
|
|
10
12
|
};
|
|
11
13
|
ApiEndpoint.setBaseUrl = (baseUrlInput) => {
|
|
12
14
|
if (!ApiEndpoint.__defined__) {
|
|
13
|
-
|
|
15
|
+
if (!baseUrlInput) {
|
|
16
|
+
/**
|
|
17
|
+
* If the baseUrl is not provided, use the default baseUrl from the sdk-api package
|
|
18
|
+
*/
|
|
19
|
+
ApiEndpoint.__baseUrl__ = new Configuration().basePath;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
ApiEndpoint.__baseUrl__ = baseUrlInput;
|
|
23
|
+
}
|
|
14
24
|
ApiEndpoint.__defined__ = true;
|
|
15
25
|
}
|
|
26
|
+
else if (!baseUrlInput && ApiEndpoint.__defined__) {
|
|
27
|
+
/**
|
|
28
|
+
* If for some reason (usually in local development), the setBaseUrl is called multiple times with undefined
|
|
29
|
+
* And we already have it defined, let's just assume it's a no-op
|
|
30
|
+
*/
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
16
33
|
else if (ApiEndpoint.__baseUrl__ !== baseUrlInput) {
|
|
17
34
|
throw new Error(`ApiEndpoint baseUrl is already set to ${ApiEndpoint.__baseUrl__}, cannot change it to ${baseUrlInput}`);
|
|
18
35
|
}
|
|
@@ -37,12 +37,7 @@ const verifyOAuth = (environmentId_1, providerType_1, _a) => _tslib.__awaiter(vo
|
|
|
37
37
|
return user;
|
|
38
38
|
}
|
|
39
39
|
catch (e) {
|
|
40
|
-
|
|
41
|
-
const data = yield e.json();
|
|
42
|
-
if (data.code === 'social_account_already_exists') {
|
|
43
|
-
throw new utils.SocialAccountAlreadyExistsError();
|
|
44
|
-
}
|
|
45
|
-
return undefined;
|
|
40
|
+
return handleVerifyError(e);
|
|
46
41
|
}
|
|
47
42
|
});
|
|
48
43
|
const unlinkOAuth = (_b) => _tslib.__awaiter(void 0, [_b], void 0, function* ({ environmentId, primaryWalletId, verifiedCrentialId, }) {
|
|
@@ -62,7 +57,6 @@ const unlinkOAuth = (_b) => _tslib.__awaiter(void 0, [_b], void 0, function* ({
|
|
|
62
57
|
}
|
|
63
58
|
});
|
|
64
59
|
const signInOAuth = (environmentId_2, providerType_2, _c) => _tslib.__awaiter(void 0, [environmentId_2, providerType_2, _c], void 0, function* (environmentId, providerType, { code, codeVerifier, state, captchaToken }) {
|
|
65
|
-
var _d, _e, _f;
|
|
66
60
|
const oauthRequest = {
|
|
67
61
|
captchaToken,
|
|
68
62
|
code,
|
|
@@ -79,25 +73,10 @@ const signInOAuth = (environmentId_2, providerType_2, _c) => _tslib.__awaiter(vo
|
|
|
79
73
|
return user;
|
|
80
74
|
}
|
|
81
75
|
catch (e) {
|
|
82
|
-
|
|
83
|
-
const data = yield e.json();
|
|
84
|
-
if (data.error.code === 'gate_blocked') {
|
|
85
|
-
throw new utils.GateBlockedError(data.payload.walletPublicKey);
|
|
86
|
-
}
|
|
87
|
-
if (data.error.code === 'missing_from_list') {
|
|
88
|
-
throw new utils.NoAccessError({
|
|
89
|
-
socialProvider: (_d = data === null || data === void 0 ? void 0 : data.payload) === null || _d === void 0 ? void 0 : _d.socialProvider,
|
|
90
|
-
socialUsername: (_e = data === null || data === void 0 ? void 0 : data.payload) === null || _e === void 0 ? void 0 : _e.socialUsername,
|
|
91
|
-
walletPublicKey: (_f = data === null || data === void 0 ? void 0 : data.payload) === null || _f === void 0 ? void 0 : _f.walletPublicKey,
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
if (data.code === 'email_associated_with_different_provider') {
|
|
95
|
-
throw new utils.AccountExistsError(data.error, data.payload);
|
|
96
|
-
}
|
|
97
|
-
return undefined;
|
|
76
|
+
return handleSignInError(e);
|
|
98
77
|
}
|
|
99
78
|
});
|
|
100
|
-
const getOAuthResult = (environmentId_3, providerType_3,
|
|
79
|
+
const getOAuthResult = (environmentId_3, providerType_3, _d) => _tslib.__awaiter(void 0, [environmentId_3, providerType_3, _d], void 0, function* (environmentId, providerType, { state }) {
|
|
101
80
|
const oauthResultRequest = {
|
|
102
81
|
state,
|
|
103
82
|
};
|
|
@@ -115,7 +94,7 @@ const getOAuthResult = (environmentId_3, providerType_3, _g) => _tslib.__awaiter
|
|
|
115
94
|
}
|
|
116
95
|
});
|
|
117
96
|
const farcasterSignIn = (environmentId, farcasterSignInRequest) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
118
|
-
var
|
|
97
|
+
var _e, _f;
|
|
119
98
|
try {
|
|
120
99
|
const response = yield api.sdkApi().farcasterSignIn({
|
|
121
100
|
environmentId,
|
|
@@ -132,8 +111,8 @@ const farcasterSignIn = (environmentId, farcasterSignInRequest) => _tslib.__awai
|
|
|
132
111
|
}
|
|
133
112
|
if (data.error.code === 'missing_from_list') {
|
|
134
113
|
throw new utils.NoAccessError({
|
|
135
|
-
socialProvider: (
|
|
136
|
-
socialUsername: (
|
|
114
|
+
socialProvider: (_e = data === null || data === void 0 ? void 0 : data.payload) === null || _e === void 0 ? void 0 : _e.socialProvider,
|
|
115
|
+
socialUsername: (_f = data === null || data === void 0 ? void 0 : data.payload) === null || _f === void 0 ? void 0 : _f.socialUsername,
|
|
137
116
|
walletPublicKey: data.payload.walletPublicKey,
|
|
138
117
|
});
|
|
139
118
|
}
|
|
@@ -153,10 +132,67 @@ const farcasterVerify = (farcasterVerifyRequest) => _tslib.__awaiter(void 0, voi
|
|
|
153
132
|
return undefined;
|
|
154
133
|
}
|
|
155
134
|
});
|
|
135
|
+
const telegramSignIn = (environmentId, oauthResultRequest) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
136
|
+
const telegramSignInRequest = {
|
|
137
|
+
environmentId,
|
|
138
|
+
oauthResultRequest,
|
|
139
|
+
};
|
|
140
|
+
try {
|
|
141
|
+
const response = yield api.sdkApi().telegramSignIn(telegramSignInRequest);
|
|
142
|
+
const user = storeAuthTokenAndUser.storeAuthTokenAndUser(response);
|
|
143
|
+
return user;
|
|
144
|
+
}
|
|
145
|
+
catch (e) {
|
|
146
|
+
return handleSignInError(e);
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
const telegramVerify = (environmentId, oauthResultRequest) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
150
|
+
const telegramVerifyRequest = {
|
|
151
|
+
environmentId,
|
|
152
|
+
oauthResultRequest,
|
|
153
|
+
};
|
|
154
|
+
try {
|
|
155
|
+
const response = yield api.sdkApi().telegramVerify(telegramVerifyRequest);
|
|
156
|
+
const user = storeAuthTokenAndUser.storeAuthTokenAndUser(response);
|
|
157
|
+
return user;
|
|
158
|
+
}
|
|
159
|
+
catch (e) {
|
|
160
|
+
return handleVerifyError(e);
|
|
161
|
+
}
|
|
162
|
+
});
|
|
163
|
+
const handleVerifyError = (e) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
164
|
+
logger.logger.error(e);
|
|
165
|
+
const data = yield e.json();
|
|
166
|
+
if (data.code === 'social_account_already_exists') {
|
|
167
|
+
throw new utils.SocialAccountAlreadyExistsError();
|
|
168
|
+
}
|
|
169
|
+
return undefined;
|
|
170
|
+
});
|
|
171
|
+
const handleSignInError = (e) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
172
|
+
var _g, _h, _j;
|
|
173
|
+
logger.logger.error(e);
|
|
174
|
+
const data = yield e.json();
|
|
175
|
+
if (data.error.code === 'gate_blocked') {
|
|
176
|
+
throw new utils.GateBlockedError(data.payload.walletPublicKey);
|
|
177
|
+
}
|
|
178
|
+
if (data.error.code === 'missing_from_list') {
|
|
179
|
+
throw new utils.NoAccessError({
|
|
180
|
+
socialProvider: (_g = data === null || data === void 0 ? void 0 : data.payload) === null || _g === void 0 ? void 0 : _g.socialProvider,
|
|
181
|
+
socialUsername: (_h = data === null || data === void 0 ? void 0 : data.payload) === null || _h === void 0 ? void 0 : _h.socialUsername,
|
|
182
|
+
walletPublicKey: (_j = data === null || data === void 0 ? void 0 : data.payload) === null || _j === void 0 ? void 0 : _j.walletPublicKey,
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
if (data.code === 'email_associated_with_different_provider') {
|
|
186
|
+
throw new utils.AccountExistsError(data.error, data.payload);
|
|
187
|
+
}
|
|
188
|
+
return undefined;
|
|
189
|
+
});
|
|
156
190
|
|
|
157
191
|
exports.farcasterSignIn = farcasterSignIn;
|
|
158
192
|
exports.farcasterVerify = farcasterVerify;
|
|
159
193
|
exports.getOAuthResult = getOAuthResult;
|
|
160
194
|
exports.signInOAuth = signInOAuth;
|
|
195
|
+
exports.telegramSignIn = telegramSignIn;
|
|
196
|
+
exports.telegramVerify = telegramVerify;
|
|
161
197
|
exports.unlinkOAuth = unlinkOAuth;
|
|
162
198
|
exports.verifyOAuth = verifyOAuth;
|
|
@@ -11,3 +11,5 @@ export declare const signInOAuth: (environmentId: string, providerType: Provider
|
|
|
11
11
|
export declare const getOAuthResult: (environmentId: string, providerType: ProviderEnum, { state }: OauthResultRequest) => Promise<OauthResultResponse | undefined>;
|
|
12
12
|
export declare const farcasterSignIn: (environmentId: string, farcasterSignInRequest: FarcasterSignInRequest) => Promise<UserProfile | undefined>;
|
|
13
13
|
export declare const farcasterVerify: (farcasterVerifyRequest: FarcasterVerifyRequest) => Promise<UserProfile | undefined>;
|
|
14
|
+
export declare const telegramSignIn: (environmentId: string, oauthResultRequest: OauthResultRequest) => Promise<UserProfile | undefined>;
|
|
15
|
+
export declare const telegramVerify: (environmentId: string, oauthResultRequest: OauthResultRequest) => Promise<UserProfile | undefined>;
|
|
@@ -33,12 +33,7 @@ const verifyOAuth = (environmentId_1, providerType_1, _a) => __awaiter(void 0, [
|
|
|
33
33
|
return user;
|
|
34
34
|
}
|
|
35
35
|
catch (e) {
|
|
36
|
-
|
|
37
|
-
const data = yield e.json();
|
|
38
|
-
if (data.code === 'social_account_already_exists') {
|
|
39
|
-
throw new SocialAccountAlreadyExistsError();
|
|
40
|
-
}
|
|
41
|
-
return undefined;
|
|
36
|
+
return handleVerifyError(e);
|
|
42
37
|
}
|
|
43
38
|
});
|
|
44
39
|
const unlinkOAuth = (_b) => __awaiter(void 0, [_b], void 0, function* ({ environmentId, primaryWalletId, verifiedCrentialId, }) {
|
|
@@ -58,7 +53,6 @@ const unlinkOAuth = (_b) => __awaiter(void 0, [_b], void 0, function* ({ environ
|
|
|
58
53
|
}
|
|
59
54
|
});
|
|
60
55
|
const signInOAuth = (environmentId_2, providerType_2, _c) => __awaiter(void 0, [environmentId_2, providerType_2, _c], void 0, function* (environmentId, providerType, { code, codeVerifier, state, captchaToken }) {
|
|
61
|
-
var _d, _e, _f;
|
|
62
56
|
const oauthRequest = {
|
|
63
57
|
captchaToken,
|
|
64
58
|
code,
|
|
@@ -75,25 +69,10 @@ const signInOAuth = (environmentId_2, providerType_2, _c) => __awaiter(void 0, [
|
|
|
75
69
|
return user;
|
|
76
70
|
}
|
|
77
71
|
catch (e) {
|
|
78
|
-
|
|
79
|
-
const data = yield e.json();
|
|
80
|
-
if (data.error.code === 'gate_blocked') {
|
|
81
|
-
throw new GateBlockedError(data.payload.walletPublicKey);
|
|
82
|
-
}
|
|
83
|
-
if (data.error.code === 'missing_from_list') {
|
|
84
|
-
throw new NoAccessError({
|
|
85
|
-
socialProvider: (_d = data === null || data === void 0 ? void 0 : data.payload) === null || _d === void 0 ? void 0 : _d.socialProvider,
|
|
86
|
-
socialUsername: (_e = data === null || data === void 0 ? void 0 : data.payload) === null || _e === void 0 ? void 0 : _e.socialUsername,
|
|
87
|
-
walletPublicKey: (_f = data === null || data === void 0 ? void 0 : data.payload) === null || _f === void 0 ? void 0 : _f.walletPublicKey,
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
if (data.code === 'email_associated_with_different_provider') {
|
|
91
|
-
throw new AccountExistsError(data.error, data.payload);
|
|
92
|
-
}
|
|
93
|
-
return undefined;
|
|
72
|
+
return handleSignInError(e);
|
|
94
73
|
}
|
|
95
74
|
});
|
|
96
|
-
const getOAuthResult = (environmentId_3, providerType_3,
|
|
75
|
+
const getOAuthResult = (environmentId_3, providerType_3, _d) => __awaiter(void 0, [environmentId_3, providerType_3, _d], void 0, function* (environmentId, providerType, { state }) {
|
|
97
76
|
const oauthResultRequest = {
|
|
98
77
|
state,
|
|
99
78
|
};
|
|
@@ -111,7 +90,7 @@ const getOAuthResult = (environmentId_3, providerType_3, _g) => __awaiter(void 0
|
|
|
111
90
|
}
|
|
112
91
|
});
|
|
113
92
|
const farcasterSignIn = (environmentId, farcasterSignInRequest) => __awaiter(void 0, void 0, void 0, function* () {
|
|
114
|
-
var
|
|
93
|
+
var _e, _f;
|
|
115
94
|
try {
|
|
116
95
|
const response = yield sdkApi().farcasterSignIn({
|
|
117
96
|
environmentId,
|
|
@@ -128,8 +107,8 @@ const farcasterSignIn = (environmentId, farcasterSignInRequest) => __awaiter(voi
|
|
|
128
107
|
}
|
|
129
108
|
if (data.error.code === 'missing_from_list') {
|
|
130
109
|
throw new NoAccessError({
|
|
131
|
-
socialProvider: (
|
|
132
|
-
socialUsername: (
|
|
110
|
+
socialProvider: (_e = data === null || data === void 0 ? void 0 : data.payload) === null || _e === void 0 ? void 0 : _e.socialProvider,
|
|
111
|
+
socialUsername: (_f = data === null || data === void 0 ? void 0 : data.payload) === null || _f === void 0 ? void 0 : _f.socialUsername,
|
|
133
112
|
walletPublicKey: data.payload.walletPublicKey,
|
|
134
113
|
});
|
|
135
114
|
}
|
|
@@ -149,5 +128,60 @@ const farcasterVerify = (farcasterVerifyRequest) => __awaiter(void 0, void 0, vo
|
|
|
149
128
|
return undefined;
|
|
150
129
|
}
|
|
151
130
|
});
|
|
131
|
+
const telegramSignIn = (environmentId, oauthResultRequest) => __awaiter(void 0, void 0, void 0, function* () {
|
|
132
|
+
const telegramSignInRequest = {
|
|
133
|
+
environmentId,
|
|
134
|
+
oauthResultRequest,
|
|
135
|
+
};
|
|
136
|
+
try {
|
|
137
|
+
const response = yield sdkApi().telegramSignIn(telegramSignInRequest);
|
|
138
|
+
const user = storeAuthTokenAndUser(response);
|
|
139
|
+
return user;
|
|
140
|
+
}
|
|
141
|
+
catch (e) {
|
|
142
|
+
return handleSignInError(e);
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
const telegramVerify = (environmentId, oauthResultRequest) => __awaiter(void 0, void 0, void 0, function* () {
|
|
146
|
+
const telegramVerifyRequest = {
|
|
147
|
+
environmentId,
|
|
148
|
+
oauthResultRequest,
|
|
149
|
+
};
|
|
150
|
+
try {
|
|
151
|
+
const response = yield sdkApi().telegramVerify(telegramVerifyRequest);
|
|
152
|
+
const user = storeAuthTokenAndUser(response);
|
|
153
|
+
return user;
|
|
154
|
+
}
|
|
155
|
+
catch (e) {
|
|
156
|
+
return handleVerifyError(e);
|
|
157
|
+
}
|
|
158
|
+
});
|
|
159
|
+
const handleVerifyError = (e) => __awaiter(void 0, void 0, void 0, function* () {
|
|
160
|
+
logger.error(e);
|
|
161
|
+
const data = yield e.json();
|
|
162
|
+
if (data.code === 'social_account_already_exists') {
|
|
163
|
+
throw new SocialAccountAlreadyExistsError();
|
|
164
|
+
}
|
|
165
|
+
return undefined;
|
|
166
|
+
});
|
|
167
|
+
const handleSignInError = (e) => __awaiter(void 0, void 0, void 0, function* () {
|
|
168
|
+
var _g, _h, _j;
|
|
169
|
+
logger.error(e);
|
|
170
|
+
const data = yield e.json();
|
|
171
|
+
if (data.error.code === 'gate_blocked') {
|
|
172
|
+
throw new GateBlockedError(data.payload.walletPublicKey);
|
|
173
|
+
}
|
|
174
|
+
if (data.error.code === 'missing_from_list') {
|
|
175
|
+
throw new NoAccessError({
|
|
176
|
+
socialProvider: (_g = data === null || data === void 0 ? void 0 : data.payload) === null || _g === void 0 ? void 0 : _g.socialProvider,
|
|
177
|
+
socialUsername: (_h = data === null || data === void 0 ? void 0 : data.payload) === null || _h === void 0 ? void 0 : _h.socialUsername,
|
|
178
|
+
walletPublicKey: (_j = data === null || data === void 0 ? void 0 : data.payload) === null || _j === void 0 ? void 0 : _j.walletPublicKey,
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
if (data.code === 'email_associated_with_different_provider') {
|
|
182
|
+
throw new AccountExistsError(data.error, data.payload);
|
|
183
|
+
}
|
|
184
|
+
return undefined;
|
|
185
|
+
});
|
|
152
186
|
|
|
153
|
-
export { farcasterSignIn, farcasterVerify, getOAuthResult, signInOAuth, unlinkOAuth, verifyOAuth };
|
|
187
|
+
export { farcasterSignIn, farcasterVerify, getOAuthResult, signInOAuth, telegramSignIn, telegramVerify, unlinkOAuth, verifyOAuth };
|
|
@@ -20,11 +20,15 @@ require('@dynamic-labs/utils');
|
|
|
20
20
|
require('../../../shared/consts/index.cjs');
|
|
21
21
|
var api = require('../api.cjs');
|
|
22
22
|
var helpers = require('../../../context/DynamicContext/helpers/helpers.cjs');
|
|
23
|
+
var version = require('../../../../version.cjs');
|
|
23
24
|
|
|
24
25
|
const fetchProjectSettings = (environmentId) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
25
26
|
try {
|
|
26
27
|
const res = yield api.sdkApi().getEnvironmentSettings({
|
|
27
28
|
environmentId,
|
|
29
|
+
sdkVersion: `WalletKit/${version.VERSION}`,
|
|
30
|
+
}, {
|
|
31
|
+
credentials: 'omit',
|
|
28
32
|
});
|
|
29
33
|
return res;
|
|
30
34
|
}
|
|
@@ -16,11 +16,15 @@ import '@dynamic-labs/utils';
|
|
|
16
16
|
import '../../../shared/consts/index.js';
|
|
17
17
|
import { sdkApi } from '../api.js';
|
|
18
18
|
import { isDynamicContextSessionSettingExpired, setDynamicContextSessionSettings, isWagmiSessionSettingExpired, setWagmiSessionSettings } from '../../../context/DynamicContext/helpers/helpers.js';
|
|
19
|
+
import { VERSION } from '../../../../version.js';
|
|
19
20
|
|
|
20
21
|
const fetchProjectSettings = (environmentId) => __awaiter(void 0, void 0, void 0, function* () {
|
|
21
22
|
try {
|
|
22
23
|
const res = yield sdkApi().getEnvironmentSettings({
|
|
23
24
|
environmentId,
|
|
25
|
+
sdkVersion: `WalletKit/${VERSION}`,
|
|
26
|
+
}, {
|
|
27
|
+
credentials: 'omit',
|
|
24
28
|
});
|
|
25
29
|
return res;
|
|
26
30
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
5
5
|
|
|
6
|
+
var sdkApiCore = require('@dynamic-labs/sdk-api-core');
|
|
6
7
|
var utils = require('@dynamic-labs/utils');
|
|
7
8
|
var stringifyURIQuery = require('../stringifyURIQuery/stringifyURIQuery.cjs');
|
|
8
9
|
var getProviderByType = require('../getProviderByType/getProviderByType.cjs');
|
|
@@ -39,6 +40,9 @@ const OAUTH_LOGIN_DATA = {
|
|
|
39
40
|
scope: ['user_profile', 'user_media'],
|
|
40
41
|
url: 'https://api.instagram.com/oauth/authorize',
|
|
41
42
|
},
|
|
43
|
+
telegram: {
|
|
44
|
+
url: '', // will be constructed dynamically
|
|
45
|
+
},
|
|
42
46
|
twitch: {
|
|
43
47
|
scope: ['user_read'],
|
|
44
48
|
url: 'https://id.twitch.tv/oauth2/authorize',
|
|
@@ -64,7 +68,7 @@ const getMobileOauthUrl = (provider, loginData) => {
|
|
|
64
68
|
return provider.redirectUrl.replace('redirect', 'authorizeHtml');
|
|
65
69
|
};
|
|
66
70
|
const getOauthLoginUrl = (providers, providerType) => {
|
|
67
|
-
var _a;
|
|
71
|
+
var _a, _b;
|
|
68
72
|
const provider = getProviderByType.getProviderByType(providers, providerType);
|
|
69
73
|
if (!(provider === null || provider === void 0 ? void 0 : provider.clientId)) {
|
|
70
74
|
return '';
|
|
@@ -73,10 +77,13 @@ const getOauthLoginUrl = (providers, providerType) => {
|
|
|
73
77
|
if (!loginData) {
|
|
74
78
|
return '';
|
|
75
79
|
}
|
|
80
|
+
if (providerType === sdkApiCore.ProviderEnum.Telegram) {
|
|
81
|
+
loginData.url = (_a = provider.authorizationUrl) !== null && _a !== void 0 ? _a : '';
|
|
82
|
+
}
|
|
76
83
|
const mobileUrl = getMobileOauthUrl(provider, loginData);
|
|
77
84
|
const baseProps = {
|
|
78
85
|
client_id: provider.clientId,
|
|
79
|
-
redirect_uri: (
|
|
86
|
+
redirect_uri: (_b = provider.redirectUrl) !== null && _b !== void 0 ? _b : '',
|
|
80
87
|
response_type: 'code',
|
|
81
88
|
};
|
|
82
89
|
if (loginData.scope) {
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
'use client'
|
|
2
|
+
import { ProviderEnum } from '@dynamic-labs/sdk-api-core';
|
|
2
3
|
import { isMobile } from '@dynamic-labs/utils';
|
|
3
4
|
import { stringifyURIQuery } from '../stringifyURIQuery/stringifyURIQuery.js';
|
|
4
5
|
import { getProviderByType } from '../getProviderByType/getProviderByType.js';
|
|
@@ -35,6 +36,9 @@ const OAUTH_LOGIN_DATA = {
|
|
|
35
36
|
scope: ['user_profile', 'user_media'],
|
|
36
37
|
url: 'https://api.instagram.com/oauth/authorize',
|
|
37
38
|
},
|
|
39
|
+
telegram: {
|
|
40
|
+
url: '', // will be constructed dynamically
|
|
41
|
+
},
|
|
38
42
|
twitch: {
|
|
39
43
|
scope: ['user_read'],
|
|
40
44
|
url: 'https://id.twitch.tv/oauth2/authorize',
|
|
@@ -60,7 +64,7 @@ const getMobileOauthUrl = (provider, loginData) => {
|
|
|
60
64
|
return provider.redirectUrl.replace('redirect', 'authorizeHtml');
|
|
61
65
|
};
|
|
62
66
|
const getOauthLoginUrl = (providers, providerType) => {
|
|
63
|
-
var _a;
|
|
67
|
+
var _a, _b;
|
|
64
68
|
const provider = getProviderByType(providers, providerType);
|
|
65
69
|
if (!(provider === null || provider === void 0 ? void 0 : provider.clientId)) {
|
|
66
70
|
return '';
|
|
@@ -69,10 +73,13 @@ const getOauthLoginUrl = (providers, providerType) => {
|
|
|
69
73
|
if (!loginData) {
|
|
70
74
|
return '';
|
|
71
75
|
}
|
|
76
|
+
if (providerType === ProviderEnum.Telegram) {
|
|
77
|
+
loginData.url = (_a = provider.authorizationUrl) !== null && _a !== void 0 ? _a : '';
|
|
78
|
+
}
|
|
72
79
|
const mobileUrl = getMobileOauthUrl(provider, loginData);
|
|
73
80
|
const baseProps = {
|
|
74
81
|
client_id: provider.clientId,
|
|
75
|
-
redirect_uri: (
|
|
82
|
+
redirect_uri: (_b = provider.redirectUrl) !== null && _b !== void 0 ? _b : '',
|
|
76
83
|
response_type: 'code',
|
|
77
84
|
};
|
|
78
85
|
if (loginData.scope) {
|
|
@@ -105,6 +105,7 @@ const socialProviders = [
|
|
|
105
105
|
'github',
|
|
106
106
|
'google',
|
|
107
107
|
'instagram',
|
|
108
|
+
'telegram',
|
|
108
109
|
'twitch',
|
|
109
110
|
'twitter',
|
|
110
111
|
];
|
|
@@ -228,21 +229,33 @@ const useSocialAuth = ({ sessionTimeout, onSettled, onError, onFarcasterUrl, })
|
|
|
228
229
|
state,
|
|
229
230
|
});
|
|
230
231
|
if (authMode === 'signin') {
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
232
|
+
if (provider === sdkApiCore.ProviderEnum.Telegram) {
|
|
233
|
+
const apiCall = () => oauth.telegramSignIn(environmentId, { state });
|
|
234
|
+
yield signInAccount(provider, apiCall);
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
const apiCall = () => oauth.signInOAuth(environmentId, provider, {
|
|
238
|
+
captchaToken,
|
|
239
|
+
code: authCode,
|
|
240
|
+
codeVerifier: verifier,
|
|
241
|
+
state,
|
|
242
|
+
});
|
|
243
|
+
yield signInAccount(provider, apiCall);
|
|
244
|
+
}
|
|
238
245
|
}
|
|
239
246
|
else {
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
247
|
+
if (provider === sdkApiCore.ProviderEnum.Telegram) {
|
|
248
|
+
const apiCall = () => oauth.telegramVerify(environmentId, { state });
|
|
249
|
+
yield linkAccount(provider, apiCall);
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
const apiCall = () => oauth.verifyOAuth(environmentId, provider, {
|
|
253
|
+
code: authCode,
|
|
254
|
+
codeVerifier: verifier,
|
|
255
|
+
state,
|
|
256
|
+
});
|
|
257
|
+
yield linkAccount(provider, apiCall);
|
|
258
|
+
}
|
|
246
259
|
}
|
|
247
260
|
}
|
|
248
261
|
catch (error) {
|
|
@@ -27,7 +27,7 @@ import { getOauthLoginUrl } from '../../functions/getOauthLoginUrl/getOauthLogin
|
|
|
27
27
|
import { getProviderByType } from '../../functions/getProviderByType/getProviderByType.js';
|
|
28
28
|
import '../../../config/ApiEndpoint.js';
|
|
29
29
|
import '@dynamic-labs/store';
|
|
30
|
-
import { getOAuthResult, signInOAuth, verifyOAuth, farcasterSignIn, farcasterVerify } from '../../../data/api/oauth/oauth.js';
|
|
30
|
+
import { getOAuthResult, telegramSignIn, signInOAuth, telegramVerify, verifyOAuth, farcasterSignIn, farcasterVerify } from '../../../data/api/oauth/oauth.js';
|
|
31
31
|
import '../../../locale/locale.js';
|
|
32
32
|
import { randomString } from '../../functions/randomString/randomString.js';
|
|
33
33
|
import '../../../context/AccessDeniedContext/AccessDeniedContext.js';
|
|
@@ -101,6 +101,7 @@ const socialProviders = [
|
|
|
101
101
|
'github',
|
|
102
102
|
'google',
|
|
103
103
|
'instagram',
|
|
104
|
+
'telegram',
|
|
104
105
|
'twitch',
|
|
105
106
|
'twitter',
|
|
106
107
|
];
|
|
@@ -224,21 +225,33 @@ const useSocialAuth = ({ sessionTimeout, onSettled, onError, onFarcasterUrl, })
|
|
|
224
225
|
state,
|
|
225
226
|
});
|
|
226
227
|
if (authMode === 'signin') {
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
228
|
+
if (provider === ProviderEnum.Telegram) {
|
|
229
|
+
const apiCall = () => telegramSignIn(environmentId, { state });
|
|
230
|
+
yield signInAccount(provider, apiCall);
|
|
231
|
+
}
|
|
232
|
+
else {
|
|
233
|
+
const apiCall = () => signInOAuth(environmentId, provider, {
|
|
234
|
+
captchaToken,
|
|
235
|
+
code: authCode,
|
|
236
|
+
codeVerifier: verifier,
|
|
237
|
+
state,
|
|
238
|
+
});
|
|
239
|
+
yield signInAccount(provider, apiCall);
|
|
240
|
+
}
|
|
234
241
|
}
|
|
235
242
|
else {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
243
|
+
if (provider === ProviderEnum.Telegram) {
|
|
244
|
+
const apiCall = () => telegramVerify(environmentId, { state });
|
|
245
|
+
yield linkAccount(provider, apiCall);
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
const apiCall = () => verifyOAuth(environmentId, provider, {
|
|
249
|
+
code: authCode,
|
|
250
|
+
codeVerifier: verifier,
|
|
251
|
+
state,
|
|
252
|
+
});
|
|
253
|
+
yield linkAccount(provider, apiCall);
|
|
254
|
+
}
|
|
242
255
|
}
|
|
243
256
|
}
|
|
244
257
|
catch (error) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './useUserDataForm';
|
package/src/lib/utils/hooks/useWalletConnectors/utils/convertLegacyPhantomLedgerConnector/index.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { convertLegacyPhantomLedgerConnector } from './convertLegacyPhantomLedgerConnector';
|