@dynamic-labs/sdk-react-core 3.0.0-alpha.31 → 3.0.0-alpha.32
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 +8 -0
- package/package.cjs +1 -1
- package/package.js +1 -1
- package/package.json +11 -11
- package/src/index.cjs +2 -0
- package/src/index.d.ts +1 -0
- package/src/index.js +1 -0
- package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.cjs +4 -2
- package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.d.ts +8 -2
- package/src/lib/utils/hooks/useSocialAccounts/useSocialAccounts.js +4 -2
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.cjs +6 -5
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.d.ts +2 -1
- package/src/lib/utils/hooks/useSocialAuth/useSocialAuth.js +6 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,12 @@
|
|
|
1
1
|
|
|
2
|
+
## [3.0.0-alpha.32](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.31...v3.0.0-alpha.32) (2024-07-30)
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
### Bug Fixes
|
|
6
|
+
|
|
7
|
+
* react native flicker when redirecting back from farcaster ([#6338](https://github.com/dynamic-labs/DynamicAuth/issues/6338)) ([6ab8464](https://github.com/dynamic-labs/DynamicAuth/commit/6ab846476f7961564445223dd12a552ed4c0f0c8))
|
|
8
|
+
* stop unnecessary phantom btc popup when disconnecting - Revert ([#6439](https://github.com/dynamic-labs/DynamicAuth/issues/6439)) ([79ba97d](https://github.com/dynamic-labs/DynamicAuth/commit/79ba97d82c4eb89f0118a925e4dc899853e04550)), closes [#6188](https://github.com/dynamic-labs/DynamicAuth/issues/6188)
|
|
9
|
+
|
|
2
10
|
## [3.0.0-alpha.31](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.30...v3.0.0-alpha.31) (2024-07-27)
|
|
3
11
|
|
|
4
12
|
## [3.0.0-alpha.30](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.29...v3.0.0-alpha.30) (2024-07-27)
|
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": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.32",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "git+https://github.com/dynamic-labs/dynamic-auth.git",
|
|
@@ -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.32",
|
|
21
|
+
"@dynamic-labs/logger": "3.0.0-alpha.32",
|
|
22
|
+
"@dynamic-labs/message-transport": "3.0.0-alpha.32",
|
|
23
|
+
"@dynamic-labs/multi-wallet": "3.0.0-alpha.32",
|
|
24
|
+
"@dynamic-labs/rpc-providers": "3.0.0-alpha.32",
|
|
25
|
+
"@dynamic-labs/store": "3.0.0-alpha.32",
|
|
26
|
+
"@dynamic-labs/types": "3.0.0-alpha.32",
|
|
27
|
+
"@dynamic-labs/utils": "3.0.0-alpha.32",
|
|
28
|
+
"@dynamic-labs/wallet-book": "3.0.0-alpha.32",
|
|
29
|
+
"@dynamic-labs/wallet-connector-core": "3.0.0-alpha.32",
|
|
30
30
|
"eventemitter3": "5.0.1"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
package/src/index.cjs
CHANGED
|
@@ -101,6 +101,7 @@ require('./lib/context/MfaSettingsContext/MfaSettingsContext.cjs');
|
|
|
101
101
|
require('./lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.cjs');
|
|
102
102
|
require('react-focus-lock');
|
|
103
103
|
require('./lib/context/LoadingContext/LoadingContext.cjs');
|
|
104
|
+
var useMultiWalletPromptState = require('./lib/widgets/DynamicWidget/hooks/useMultiWalletPromptState/useMultiWalletPromptState.cjs');
|
|
104
105
|
require('./lib/context/CaptchaContext/CaptchaContext.cjs');
|
|
105
106
|
var DynamicWidgetContext = require('./lib/widgets/DynamicWidget/context/DynamicWidgetContext.cjs');
|
|
106
107
|
require('./lib/components/IconButton/IconButton.cjs');
|
|
@@ -214,6 +215,7 @@ exports.useUserUpdateRequest = useUserUpdateRequest.useUserUpdateRequest;
|
|
|
214
215
|
exports.useRpcProviders = useRpcProviders.useRpcProviders;
|
|
215
216
|
exports.useWalletItemActions = useWalletItemActions.useWalletItemActions;
|
|
216
217
|
exports.ShadowDOM = ShadowDOM.ShadowDOM;
|
|
218
|
+
exports.useMultiWalletPromptState = useMultiWalletPromptState.useMultiWalletPromptState;
|
|
217
219
|
exports.DynamicWidgetContextProvider = DynamicWidgetContext.DynamicWidgetContextProvider;
|
|
218
220
|
exports.useSwitchWallet = useSwitchWallet.useSwitchWallet;
|
|
219
221
|
exports.DynamicBridgeWidget = DynamicBridgeWidget.DynamicBridgeWidget;
|
package/src/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export { useDynamicScopes } from './lib/utils/hooks/useDynamicScopes';
|
|
|
10
10
|
export { useUserWallets } from './lib/context/UserWalletsContext';
|
|
11
11
|
export { DynamicConnectButton, ShadowDOM, IsBrowser } from './lib/components';
|
|
12
12
|
export { DynamicBridgeWidget, DynamicEmbeddedAuthFlow, DynamicEmbeddedUserProfile, DynamicEmbeddedWidget, DynamicMultiWalletPromptsWidget, DynamicNav, DynamicUserProfile, DynamicWidget, FundingWidget, } from './lib/widgets';
|
|
13
|
+
export { useMultiWalletPromptState } from './lib/widgets/DynamicWidget/hooks/useMultiWalletPromptState';
|
|
13
14
|
export type { ThemeData } from './lib/context/ThemeContext/types';
|
|
14
15
|
export {
|
|
15
16
|
/** @deprecated */
|
package/src/index.js
CHANGED
|
@@ -97,6 +97,7 @@ import './lib/context/MfaSettingsContext/MfaSettingsContext.js';
|
|
|
97
97
|
import './lib/widgets/DynamicWidget/components/DynamicWidgetHeader/DynamicWidgetHeader.js';
|
|
98
98
|
import 'react-focus-lock';
|
|
99
99
|
import './lib/context/LoadingContext/LoadingContext.js';
|
|
100
|
+
export { useMultiWalletPromptState } from './lib/widgets/DynamicWidget/hooks/useMultiWalletPromptState/useMultiWalletPromptState.js';
|
|
100
101
|
import './lib/context/CaptchaContext/CaptchaContext.js';
|
|
101
102
|
export { DynamicWidgetContextProvider } from './lib/widgets/DynamicWidget/context/DynamicWidgetContext.js';
|
|
102
103
|
import './lib/components/IconButton/IconButton.js';
|
|
@@ -135,10 +135,11 @@ const useSocialAccounts = ({ sessionTimeout } = {
|
|
|
135
135
|
}
|
|
136
136
|
return true;
|
|
137
137
|
}, [handleError, projectSettings, verifiedOAuthCredentialsMap]);
|
|
138
|
-
const linkSocialAccount = React.useCallback((
|
|
138
|
+
const linkSocialAccount = React.useCallback((provider_1, ...args_1) => _tslib.__awaiter(void 0, [provider_1, ...args_1], void 0, function* (provider, { redirectUrl } = { redirectUrl: undefined }) {
|
|
139
139
|
connectSocialAccount({
|
|
140
140
|
authMode: 'link',
|
|
141
141
|
provider,
|
|
142
|
+
redirectUrl,
|
|
142
143
|
validator: checkValidOAuthLinking,
|
|
143
144
|
});
|
|
144
145
|
}), [checkValidOAuthLinking, connectSocialAccount]);
|
|
@@ -205,10 +206,11 @@ const useSocialAccounts = ({ sessionTimeout } = {
|
|
|
205
206
|
}
|
|
206
207
|
return true;
|
|
207
208
|
}, [handleError, (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.socialSignIn) === null || _a === void 0 ? void 0 : _a.providers]);
|
|
208
|
-
const signInWithSocialAccount = React.useCallback((
|
|
209
|
+
const signInWithSocialAccount = React.useCallback((provider_2, ...args_2) => _tslib.__awaiter(void 0, [provider_2, ...args_2], void 0, function* (provider, { redirectUrl } = { redirectUrl: undefined }) {
|
|
209
210
|
return connectSocialAccount({
|
|
210
211
|
authMode: 'signin',
|
|
211
212
|
provider,
|
|
213
|
+
redirectUrl,
|
|
212
214
|
validator: checkValidOAuthSignIn,
|
|
213
215
|
});
|
|
214
216
|
}), [checkValidOAuthSignIn, connectSocialAccount]);
|
|
@@ -3,13 +3,19 @@ import { SocialAccountInformation } from '@dynamic-labs/types';
|
|
|
3
3
|
type UseSocialAccountsProps = {
|
|
4
4
|
sessionTimeout: number;
|
|
5
5
|
};
|
|
6
|
+
type ConnectSocialProps = {
|
|
7
|
+
/**
|
|
8
|
+
* Overrides the redirectUrl provided by DynamicContextProvider
|
|
9
|
+
*/
|
|
10
|
+
redirectUrl?: string;
|
|
11
|
+
};
|
|
6
12
|
export declare const useSocialAccounts: ({ sessionTimeout }?: UseSocialAccountsProps) => {
|
|
7
13
|
readonly error: import("@dynamic-labs/types").SocialOAuthError | undefined;
|
|
8
14
|
readonly getLinkedAccountInformation: (provider: ProviderEnum) => SocialAccountInformation | undefined;
|
|
9
15
|
readonly isLinked: (provider: ProviderEnum) => boolean;
|
|
10
16
|
readonly isProcessing: boolean;
|
|
11
|
-
readonly linkSocialAccount: (provider: ProviderEnum) => Promise<void>;
|
|
12
|
-
readonly signInWithSocialAccount: (provider: ProviderEnum) => Promise<void>;
|
|
17
|
+
readonly linkSocialAccount: (provider: ProviderEnum, { redirectUrl }?: ConnectSocialProps) => Promise<void>;
|
|
18
|
+
readonly signInWithSocialAccount: (provider: ProviderEnum, { redirectUrl }?: ConnectSocialProps) => Promise<void>;
|
|
13
19
|
readonly unlinkSocialAccount: (provider: ProviderEnum) => Promise<void>;
|
|
14
20
|
};
|
|
15
21
|
export {};
|
|
@@ -131,10 +131,11 @@ const useSocialAccounts = ({ sessionTimeout } = {
|
|
|
131
131
|
}
|
|
132
132
|
return true;
|
|
133
133
|
}, [handleError, projectSettings, verifiedOAuthCredentialsMap]);
|
|
134
|
-
const linkSocialAccount = useCallback((
|
|
134
|
+
const linkSocialAccount = useCallback((provider_1, ...args_1) => __awaiter(void 0, [provider_1, ...args_1], void 0, function* (provider, { redirectUrl } = { redirectUrl: undefined }) {
|
|
135
135
|
connectSocialAccount({
|
|
136
136
|
authMode: 'link',
|
|
137
137
|
provider,
|
|
138
|
+
redirectUrl,
|
|
138
139
|
validator: checkValidOAuthLinking,
|
|
139
140
|
});
|
|
140
141
|
}), [checkValidOAuthLinking, connectSocialAccount]);
|
|
@@ -201,10 +202,11 @@ const useSocialAccounts = ({ sessionTimeout } = {
|
|
|
201
202
|
}
|
|
202
203
|
return true;
|
|
203
204
|
}, [handleError, (_a = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.sdk.socialSignIn) === null || _a === void 0 ? void 0 : _a.providers]);
|
|
204
|
-
const signInWithSocialAccount = useCallback((
|
|
205
|
+
const signInWithSocialAccount = useCallback((provider_2, ...args_2) => __awaiter(void 0, [provider_2, ...args_2], void 0, function* (provider, { redirectUrl } = { redirectUrl: undefined }) {
|
|
205
206
|
return connectSocialAccount({
|
|
206
207
|
authMode: 'signin',
|
|
207
208
|
provider,
|
|
209
|
+
redirectUrl,
|
|
208
210
|
validator: checkValidOAuthSignIn,
|
|
209
211
|
});
|
|
210
212
|
}), [checkValidOAuthSignIn, connectSocialAccount]);
|
|
@@ -178,7 +178,7 @@ const useSocialAuth = ({ sessionTimeout, onSettled, onError, onFarcasterUrl, })
|
|
|
178
178
|
verifyFunction: () => apiCall(),
|
|
179
179
|
});
|
|
180
180
|
});
|
|
181
|
-
const connectSocialAccount = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ authMode, provider, validator, captchaToken, }) {
|
|
181
|
+
const connectSocialAccount = (_a) => _tslib.__awaiter(void 0, [_a], void 0, function* ({ authMode, provider, validator, captchaToken, redirectUrl, }) {
|
|
182
182
|
var _b, _c;
|
|
183
183
|
clearError();
|
|
184
184
|
setIsProcessing(true);
|
|
@@ -199,8 +199,8 @@ const useSocialAuth = ({ sessionTimeout, onSettled, onError, onFarcasterUrl, })
|
|
|
199
199
|
type: 'social',
|
|
200
200
|
});
|
|
201
201
|
if (provider === sdkApiCore.ProviderEnum.Farcaster)
|
|
202
|
-
return connectWithFarcaster(authMode, { captchaToken });
|
|
203
|
-
const state = randomString.randomString(
|
|
202
|
+
return connectWithFarcaster(authMode, { captchaToken, redirectUrl });
|
|
203
|
+
const state = randomString.randomString(32);
|
|
204
204
|
const verifier = randomString.randomString(43);
|
|
205
205
|
const loginUrlString = getOauthLoginUrl.getOauthLoginUrl((_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.providers) !== null && _b !== void 0 ? _b : [], provider);
|
|
206
206
|
if (!loginUrlString) {
|
|
@@ -225,6 +225,7 @@ const useSocialAuth = ({ sessionTimeout, onSettled, onError, onFarcasterUrl, })
|
|
|
225
225
|
oauthLoginUrl,
|
|
226
226
|
onSettled,
|
|
227
227
|
provider,
|
|
228
|
+
redirectUrl,
|
|
228
229
|
sessionTimeout,
|
|
229
230
|
setIsProcessing,
|
|
230
231
|
state,
|
|
@@ -274,13 +275,13 @@ const useSocialAuth = ({ sessionTimeout, onSettled, onError, onFarcasterUrl, })
|
|
|
274
275
|
}
|
|
275
276
|
}
|
|
276
277
|
});
|
|
277
|
-
const connectWithFarcaster = (authMode_1, _d) => _tslib.__awaiter(void 0, [authMode_1, _d], void 0, function* (authMode, { captchaToken }) {
|
|
278
|
+
const connectWithFarcaster = (authMode_1, _d) => _tslib.__awaiter(void 0, [authMode_1, _d], void 0, function* (authMode, { captchaToken, redirectUrl: redirectUrlOverride, }) {
|
|
278
279
|
const dynamicNonce = consumeNonce();
|
|
279
280
|
const domain = utils.PlatformService.getHost();
|
|
280
281
|
const data = yield farcaster.connect({
|
|
281
282
|
domain,
|
|
282
283
|
nonce: dynamicNonce,
|
|
283
|
-
redirectUrl,
|
|
284
|
+
redirectUrl: redirectUrlOverride !== null && redirectUrlOverride !== void 0 ? redirectUrlOverride : redirectUrl,
|
|
284
285
|
siweUri: utils.PlatformService.getOrigin(),
|
|
285
286
|
});
|
|
286
287
|
if (!(data === null || data === void 0 ? void 0 : data.url) || !(data === null || data === void 0 ? void 0 : data.channelToken)) {
|
|
@@ -13,10 +13,11 @@ export type ConnectSocialAccountProps = {
|
|
|
13
13
|
provider: ProviderEnum;
|
|
14
14
|
validator?: (provider: ProviderEnum) => boolean;
|
|
15
15
|
captchaToken?: string;
|
|
16
|
+
redirectUrl?: string;
|
|
16
17
|
};
|
|
17
18
|
export declare const useSocialAuth: ({ sessionTimeout, onSettled, onError, onFarcasterUrl, }: UseSocialAuthProps) => {
|
|
18
19
|
readonly checkValidProvider: (provider: ProviderEnum, authMode: SocialAuthMode) => boolean;
|
|
19
|
-
readonly connectSocialAccount: ({ authMode, provider, validator, captchaToken, }: ConnectSocialAccountProps) => Promise<void>;
|
|
20
|
+
readonly connectSocialAccount: ({ authMode, provider, validator, captchaToken, redirectUrl, }: ConnectSocialAccountProps) => Promise<void>;
|
|
20
21
|
readonly error: SocialOAuthError | undefined;
|
|
21
22
|
readonly handleError: (provider: ProviderEnum | undefined, code: SocialOAuthErrorCode, message: string, options?: {
|
|
22
23
|
raiseAuthFailure?: boolean | undefined;
|
|
@@ -174,7 +174,7 @@ const useSocialAuth = ({ sessionTimeout, onSettled, onError, onFarcasterUrl, })
|
|
|
174
174
|
verifyFunction: () => apiCall(),
|
|
175
175
|
});
|
|
176
176
|
});
|
|
177
|
-
const connectSocialAccount = (_a) => __awaiter(void 0, [_a], void 0, function* ({ authMode, provider, validator, captchaToken, }) {
|
|
177
|
+
const connectSocialAccount = (_a) => __awaiter(void 0, [_a], void 0, function* ({ authMode, provider, validator, captchaToken, redirectUrl, }) {
|
|
178
178
|
var _b, _c;
|
|
179
179
|
clearError();
|
|
180
180
|
setIsProcessing(true);
|
|
@@ -195,8 +195,8 @@ const useSocialAuth = ({ sessionTimeout, onSettled, onError, onFarcasterUrl, })
|
|
|
195
195
|
type: 'social',
|
|
196
196
|
});
|
|
197
197
|
if (provider === ProviderEnum.Farcaster)
|
|
198
|
-
return connectWithFarcaster(authMode, { captchaToken });
|
|
199
|
-
const state = randomString(
|
|
198
|
+
return connectWithFarcaster(authMode, { captchaToken, redirectUrl });
|
|
199
|
+
const state = randomString(32);
|
|
200
200
|
const verifier = randomString(43);
|
|
201
201
|
const loginUrlString = getOauthLoginUrl((_b = projectSettings === null || projectSettings === void 0 ? void 0 : projectSettings.providers) !== null && _b !== void 0 ? _b : [], provider);
|
|
202
202
|
if (!loginUrlString) {
|
|
@@ -221,6 +221,7 @@ const useSocialAuth = ({ sessionTimeout, onSettled, onError, onFarcasterUrl, })
|
|
|
221
221
|
oauthLoginUrl,
|
|
222
222
|
onSettled,
|
|
223
223
|
provider,
|
|
224
|
+
redirectUrl,
|
|
224
225
|
sessionTimeout,
|
|
225
226
|
setIsProcessing,
|
|
226
227
|
state,
|
|
@@ -270,13 +271,13 @@ const useSocialAuth = ({ sessionTimeout, onSettled, onError, onFarcasterUrl, })
|
|
|
270
271
|
}
|
|
271
272
|
}
|
|
272
273
|
});
|
|
273
|
-
const connectWithFarcaster = (authMode_1, _d) => __awaiter(void 0, [authMode_1, _d], void 0, function* (authMode, { captchaToken }) {
|
|
274
|
+
const connectWithFarcaster = (authMode_1, _d) => __awaiter(void 0, [authMode_1, _d], void 0, function* (authMode, { captchaToken, redirectUrl: redirectUrlOverride, }) {
|
|
274
275
|
const dynamicNonce = consumeNonce();
|
|
275
276
|
const domain = PlatformService.getHost();
|
|
276
277
|
const data = yield connect({
|
|
277
278
|
domain,
|
|
278
279
|
nonce: dynamicNonce,
|
|
279
|
-
redirectUrl,
|
|
280
|
+
redirectUrl: redirectUrlOverride !== null && redirectUrlOverride !== void 0 ? redirectUrlOverride : redirectUrl,
|
|
280
281
|
siweUri: PlatformService.getOrigin(),
|
|
281
282
|
});
|
|
282
283
|
if (!(data === null || data === void 0 ? void 0 : data.url) || !(data === null || data === void 0 ? void 0 : data.channelToken)) {
|