@web3auth/no-modal 10.0.0-beta.10 → 10.0.0-beta.12
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/dist/lib.cjs/connectors/auth-connector/authConnector.js +13 -6
- package/dist/lib.cjs/connectors/base-evm-connector/baseEvmConnector.js +1 -1
- package/dist/lib.cjs/connectors/base-solana-connector/baseSolanaConnector.js +1 -1
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +1 -1
- package/dist/lib.cjs/noModal.js +5 -5
- package/dist/lib.cjs/react/hooks/useIdentityToken.js +3 -3
- package/dist/lib.cjs/react/wagmi/provider.js +1 -1
- package/dist/lib.cjs/types/base/connector/baseConnector.d.ts +2 -2
- package/dist/lib.cjs/types/base/connector/interfaces.d.ts +3 -4
- package/dist/lib.cjs/types/base/core/IWeb3Auth.d.ts +15 -4
- package/dist/lib.cjs/types/connectors/auth-connector/authConnector.d.ts +1 -1
- package/dist/lib.cjs/types/connectors/auth-connector/interface.d.ts +1 -2
- package/dist/lib.cjs/types/connectors/base-evm-connector/baseEvmConnector.d.ts +2 -2
- package/dist/lib.cjs/types/connectors/base-solana-connector/baseSolanaConnector.d.ts +2 -2
- package/dist/lib.cjs/types/noModal.d.ts +2 -2
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/converter.d.ts +0 -1
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +0 -1
- package/dist/lib.cjs/types/react/hooks/useIdentityToken.d.ts +2 -2
- package/dist/lib.cjs/types/vue/composables/useIdentityToken.d.ts +1 -1
- package/dist/lib.cjs/vue/composables/useIdentityToken.js +3 -3
- package/dist/lib.esm/connectors/auth-connector/authConnector.js +13 -6
- package/dist/lib.esm/connectors/base-evm-connector/baseEvmConnector.js +1 -1
- package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +1 -1
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +1 -1
- package/dist/lib.esm/noModal.js +5 -5
- package/dist/lib.esm/react/hooks/useIdentityToken.js +3 -3
- package/dist/lib.esm/react/wagmi/provider.js +2 -2
- package/dist/lib.esm/vue/composables/useIdentityToken.js +3 -3
- package/dist/noModal.umd.min.js +1 -1
- package/package.json +19 -18
|
@@ -81,7 +81,8 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
81
81
|
clientId: this.coreOptions.clientId,
|
|
82
82
|
network: this.coreOptions.web3AuthNetwork,
|
|
83
83
|
sdkMode: auth.SDK_MODE.IFRAME,
|
|
84
|
-
authConnectionConfig: this.authConnectionConfig.filter(x => !x.isDefault)
|
|
84
|
+
authConnectionConfig: this.authConnectionConfig.filter(x => !x.isDefault),
|
|
85
|
+
mfaSettings: this.coreOptions.mfaSettings
|
|
85
86
|
}));
|
|
86
87
|
loglevel.log.debug("initializing auth connector init", this.authOptions);
|
|
87
88
|
// making it async here to initialize provider.
|
|
@@ -230,7 +231,7 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
230
231
|
this.rehydrated = false;
|
|
231
232
|
this.emit(constants.CONNECTOR_EVENTS.DISCONNECTED);
|
|
232
233
|
}
|
|
233
|
-
async
|
|
234
|
+
async getIdentityToken() {
|
|
234
235
|
if (this.status !== constants.CONNECTOR_STATUS.CONNECTED) throw index$1.WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
|
|
235
236
|
const userInfo = await this.getUserInfo();
|
|
236
237
|
return {
|
|
@@ -448,7 +449,12 @@ class AuthConnector extends baseConnector.BaseConnector {
|
|
|
448
449
|
reject(index$1.WalletLoginError.popupClosed());
|
|
449
450
|
}
|
|
450
451
|
});
|
|
451
|
-
this.authInstance.postLoginInitiatedMessage(loginParams, nonce).then(resolve).catch(
|
|
452
|
+
this.authInstance.postLoginInitiatedMessage(loginParams, nonce).then(resolve).catch(error => {
|
|
453
|
+
if (error instanceof index$1.Web3AuthError) {
|
|
454
|
+
throw error;
|
|
455
|
+
}
|
|
456
|
+
reject(index$1.WalletLoginError.connectionError(error instanceof Error ? error.message : error || "Failed to login with social"));
|
|
457
|
+
});
|
|
452
458
|
});
|
|
453
459
|
}
|
|
454
460
|
connectWithJwtLogin(params) {
|
|
@@ -583,10 +589,11 @@ const authConnector = params => {
|
|
|
583
589
|
return new AuthConnector({
|
|
584
590
|
connectorSettings: finalConnectorSettings,
|
|
585
591
|
walletServicesSettings: finalWsSettings,
|
|
586
|
-
loginSettings: params === null || params === void 0 ? void 0 : params.loginSettings,
|
|
592
|
+
loginSettings: _objectSpread(_objectSpread({}, (params === null || params === void 0 ? void 0 : params.loginSettings) || {}), {}, {
|
|
593
|
+
mfaLevel: coreOptions.mfaLevel
|
|
594
|
+
}),
|
|
587
595
|
coreOptions,
|
|
588
|
-
authConnectionConfig: projectConfig.embeddedWalletAuth
|
|
589
|
-
mfaSettings: coreOptions.mfaSettings
|
|
596
|
+
authConnectionConfig: projectConfig.embeddedWalletAuth
|
|
590
597
|
});
|
|
591
598
|
};
|
|
592
599
|
};
|
|
@@ -16,7 +16,7 @@ require('../../base/wallet/index.js');
|
|
|
16
16
|
|
|
17
17
|
class BaseEvmConnector extends baseConnector.BaseConnector {
|
|
18
18
|
async init(_) {}
|
|
19
|
-
async
|
|
19
|
+
async getIdentityToken() {
|
|
20
20
|
if (!this.provider || this.status !== constants.CONNECTOR_STATUS.CONNECTED) throw index.WalletLoginError.notConnectedError();
|
|
21
21
|
if (!this.coreOptions) throw index.WalletInitializationError.invalidParams("Please initialize Web3Auth with valid options");
|
|
22
22
|
const accounts = await this.provider.request({
|
|
@@ -16,7 +16,7 @@ require('../../base/wallet/index.js');
|
|
|
16
16
|
|
|
17
17
|
class BaseSolanaConnector extends baseConnector.BaseConnector {
|
|
18
18
|
async init(_) {}
|
|
19
|
-
async
|
|
19
|
+
async getIdentityToken() {
|
|
20
20
|
if (!this.provider || this.status !== constants.CONNECTOR_STATUS.CONNECTED) throw index.WalletLoginError.notConnectedError();
|
|
21
21
|
if (!this.coreOptions) throw index.WalletInitializationError.invalidParams("Please initialize Web3Auth with a valid options");
|
|
22
22
|
const accounts = await this.provider.request({
|
|
@@ -186,7 +186,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
186
186
|
this.activeSession = null;
|
|
187
187
|
this.emit(constants.CONNECTOR_EVENTS.DISCONNECTED);
|
|
188
188
|
}
|
|
189
|
-
async
|
|
189
|
+
async getIdentityToken() {
|
|
190
190
|
if (!this.provider || this.status !== constants.CONNECTOR_STATUS.CONNECTED) throw index$1.WalletLoginError.notConnectedError();
|
|
191
191
|
const {
|
|
192
192
|
chainId
|
package/dist/lib.cjs/noModal.js
CHANGED
|
@@ -218,9 +218,9 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
218
218
|
if (this.connectedConnector.name !== index$1.WALLET_CONNECTORS.AUTH) throw index.WalletLoginError.unsupportedOperation(`ManageMFA is not supported for this connector.`);
|
|
219
219
|
return this.connectedConnector.manageMFA(loginParams);
|
|
220
220
|
}
|
|
221
|
-
async
|
|
221
|
+
async getIdentityToken() {
|
|
222
222
|
if (this.status !== constants.CONNECTOR_STATUS.CONNECTED || !this.connectedConnector) throw index.WalletLoginError.notConnectedError(`No wallet is connected`);
|
|
223
|
-
return this.connectedConnector.
|
|
223
|
+
return this.connectedConnector.getIdentityToken();
|
|
224
224
|
}
|
|
225
225
|
getPlugin(name) {
|
|
226
226
|
return this.plugins[name] || null;
|
|
@@ -456,7 +456,7 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
456
456
|
// when ssr is enabled, we need to get the idToken from the connector.
|
|
457
457
|
if (this.coreOptions.ssr) {
|
|
458
458
|
try {
|
|
459
|
-
const data = await connector.
|
|
459
|
+
const data = await connector.getIdentityToken();
|
|
460
460
|
if (!data.idToken) throw index.WalletLoginError.connectionError("No idToken found");
|
|
461
461
|
this.setState({
|
|
462
462
|
idToken: data.idToken
|
|
@@ -464,7 +464,7 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
464
464
|
} catch (error) {
|
|
465
465
|
loglevel.log.error(error);
|
|
466
466
|
this.status = constants.CONNECTOR_STATUS.ERRORED;
|
|
467
|
-
this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
|
|
467
|
+
this.emit(constants.CONNECTOR_EVENTS.ERRORED, error, this.loginMode);
|
|
468
468
|
return;
|
|
469
469
|
}
|
|
470
470
|
}
|
|
@@ -547,7 +547,7 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
|
|
|
547
547
|
connector.on(constants.CONNECTOR_EVENTS.ERRORED, data => {
|
|
548
548
|
this.status = constants.CONNECTOR_STATUS.ERRORED;
|
|
549
549
|
this.clearCache();
|
|
550
|
-
this.emit(constants.CONNECTOR_EVENTS.ERRORED, data);
|
|
550
|
+
this.emit(constants.CONNECTOR_EVENTS.ERRORED, data, this.loginMode);
|
|
551
551
|
loglevel.log.debug("errored", this.status, this.connectedConnectorName);
|
|
552
552
|
});
|
|
553
553
|
connector.on(constants.CONNECTOR_EVENTS.REHYDRATION_ERROR, error => {
|
|
@@ -11,11 +11,11 @@ const useIdentityToken = () => {
|
|
|
11
11
|
const [loading, setLoading] = react.useState(false);
|
|
12
12
|
const [error, setError] = react.useState(null);
|
|
13
13
|
const [token, setToken] = react.useState(null);
|
|
14
|
-
const
|
|
14
|
+
const getIdentityToken = react.useCallback(async () => {
|
|
15
15
|
setLoading(true);
|
|
16
16
|
setError(null);
|
|
17
17
|
try {
|
|
18
|
-
const userAuthInfo = await web3Auth.
|
|
18
|
+
const userAuthInfo = await web3Auth.getIdentityToken();
|
|
19
19
|
if (userAuthInfo !== null && userAuthInfo !== void 0 && userAuthInfo.idToken) {
|
|
20
20
|
setToken(userAuthInfo.idToken);
|
|
21
21
|
}
|
|
@@ -35,7 +35,7 @@ const useIdentityToken = () => {
|
|
|
35
35
|
loading,
|
|
36
36
|
error,
|
|
37
37
|
token,
|
|
38
|
-
|
|
38
|
+
getIdentityToken
|
|
39
39
|
};
|
|
40
40
|
};
|
|
41
41
|
|
|
@@ -170,7 +170,7 @@ function WagmiProvider(_ref) {
|
|
|
170
170
|
} else {
|
|
171
171
|
wagmiChains.push(wagmiChain);
|
|
172
172
|
}
|
|
173
|
-
finalConfig.transports[wagmiChain.id] = chain.wsTarget ?
|
|
173
|
+
finalConfig.transports[wagmiChain.id] = chain.wsTarget ? wagmi.webSocket(chain.wsTarget) : wagmi.http(chain.rpcTarget);
|
|
174
174
|
});
|
|
175
175
|
finalConfig.chains = [wagmiChains[0], ...wagmiChains.slice(1)];
|
|
176
176
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SafeEventEmitter } from "@web3auth/auth";
|
|
2
2
|
import { ConnectorNamespaceType, CustomChainConfig } from "../chain/IChainInterface";
|
|
3
3
|
import { WALLET_CONNECTOR_TYPE } from "../wallet";
|
|
4
|
-
import type { BaseConnectorLoginParams, BaseConnectorSettings, CONNECTOR_CATEGORY_TYPE, CONNECTOR_STATUS_TYPE, ConnectorEvents, ConnectorInitOptions, IConnector,
|
|
4
|
+
import type { BaseConnectorLoginParams, BaseConnectorSettings, CONNECTOR_CATEGORY_TYPE, CONNECTOR_STATUS_TYPE, ConnectorEvents, ConnectorInitOptions, IConnector, IdentityTokenInfo, IProvider, UserInfo } from "./interfaces";
|
|
5
5
|
export declare abstract class BaseConnector<T> extends SafeEventEmitter<ConnectorEvents> implements IConnector<T> {
|
|
6
6
|
connectorData?: unknown;
|
|
7
7
|
isInjected?: boolean;
|
|
@@ -30,7 +30,7 @@ export declare abstract class BaseConnector<T> extends SafeEventEmitter<Connecto
|
|
|
30
30
|
abstract getUserInfo(): Promise<Partial<UserInfo>>;
|
|
31
31
|
abstract enableMFA(params?: T): Promise<void>;
|
|
32
32
|
abstract manageMFA(params?: T): Promise<void>;
|
|
33
|
-
abstract
|
|
33
|
+
abstract getIdentityToken(): Promise<IdentityTokenInfo>;
|
|
34
34
|
abstract switchChain(params: {
|
|
35
35
|
chainId: string;
|
|
36
36
|
}): Promise<void>;
|
|
@@ -2,7 +2,7 @@ import { AUTH_CONNECTION_TYPE, AuthUserInfo, ExtraLoginOptions, JRPCRequest, JRP
|
|
|
2
2
|
import type { ChainNamespaceType, ConnectorNamespaceType, CustomChainConfig } from "../chain/IChainInterface";
|
|
3
3
|
import type { IWeb3AuthCoreOptions } from "../core/IWeb3Auth";
|
|
4
4
|
import { Web3AuthError } from "../errors";
|
|
5
|
-
import type {
|
|
5
|
+
import type { ProjectConfig } from "../interfaces";
|
|
6
6
|
import type { ProviderEvents, SafeEventEmitterProvider } from "../provider/IProvider";
|
|
7
7
|
import { WALLET_CONNECTOR_TYPE } from "../wallet";
|
|
8
8
|
import { CONNECTOR_CATEGORY, CONNECTOR_EVENTS, CONNECTOR_STATUS } from "./constants";
|
|
@@ -20,7 +20,7 @@ export interface ConnectorInitOptions {
|
|
|
20
20
|
chainId: string;
|
|
21
21
|
}
|
|
22
22
|
export type CONNECTOR_STATUS_TYPE = (typeof CONNECTOR_STATUS)[keyof typeof CONNECTOR_STATUS];
|
|
23
|
-
export type
|
|
23
|
+
export type IdentityTokenInfo = {
|
|
24
24
|
idToken: string;
|
|
25
25
|
};
|
|
26
26
|
export interface BaseConnectorSettings {
|
|
@@ -66,7 +66,7 @@ export interface IConnector<T> extends SafeEventEmitter {
|
|
|
66
66
|
switchChain(params: {
|
|
67
67
|
chainId: string;
|
|
68
68
|
}): Promise<void>;
|
|
69
|
-
|
|
69
|
+
getIdentityToken(): Promise<IdentityTokenInfo>;
|
|
70
70
|
cleanup?(): Promise<void>;
|
|
71
71
|
}
|
|
72
72
|
export type ConnectorParams = {
|
|
@@ -81,7 +81,6 @@ export type CONNECTED_EVENT_DATA = {
|
|
|
81
81
|
connector: WALLET_CONNECTOR_TYPE;
|
|
82
82
|
provider: IProvider;
|
|
83
83
|
reconnected: boolean;
|
|
84
|
-
loginMode?: LoginModeType;
|
|
85
84
|
};
|
|
86
85
|
export interface IConnectorDataEvent {
|
|
87
86
|
connectorName: string;
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { type AccountAbstractionMultiChainConfig } from "@toruslabs/ethereum-controllers";
|
|
2
|
-
import { type BUILD_ENV_TYPE, type LoginParams, MfaSettings, SafeEventEmitter, UX_MODE_TYPE, type WhiteLabelData } from "@web3auth/auth";
|
|
2
|
+
import { type BUILD_ENV_TYPE, type LoginParams, MfaLevelType, MfaSettings, SafeEventEmitter, UX_MODE_TYPE, type WhiteLabelData } from "@web3auth/auth";
|
|
3
3
|
import { type WsEmbedParams } from "@web3auth/ws-embed";
|
|
4
4
|
import { type ChainNamespaceType, type CustomChainConfig } from "../chain/IChainInterface";
|
|
5
|
-
import { CONNECTOR_EVENTS, type CONNECTOR_STATUS_TYPE, ConnectorEvents, type ConnectorFn, type IBaseProvider, type IConnector, type
|
|
5
|
+
import { CONNECTED_EVENT_DATA, CONNECTOR_EVENTS, type CONNECTOR_STATUS_TYPE, ConnectorEvents, type ConnectorFn, type IBaseProvider, type IConnector, type IdentityTokenInfo, type IProvider, type UserInfo, type WEB3AUTH_NETWORK_TYPE } from "../connector";
|
|
6
|
+
import { Web3AuthError } from "../errors";
|
|
7
|
+
import { LoginModeType } from "../interfaces";
|
|
6
8
|
import { type IPlugin, type PluginFn } from "../plugin";
|
|
7
9
|
import { type WALLET_CONNECTOR_TYPE, WALLET_CONNECTORS } from "../wallet";
|
|
8
10
|
export type AuthLoginParams = LoginParams & {
|
|
@@ -123,6 +125,10 @@ export interface IWeb3AuthCoreOptions {
|
|
|
123
125
|
* MFA settings for the auth connector
|
|
124
126
|
*/
|
|
125
127
|
mfaSettings?: MfaSettings;
|
|
128
|
+
/**
|
|
129
|
+
* MFA level for the auth connector
|
|
130
|
+
*/
|
|
131
|
+
mfaLevel?: MfaLevelType;
|
|
126
132
|
}
|
|
127
133
|
export type LoginParamMap = {
|
|
128
134
|
[WALLET_CONNECTORS.AUTH]: Partial<AuthLoginParams>;
|
|
@@ -151,7 +157,7 @@ export interface IWeb3AuthCore extends SafeEventEmitter {
|
|
|
151
157
|
cleanup: boolean;
|
|
152
158
|
}): Promise<void>;
|
|
153
159
|
getUserInfo(): Promise<Partial<UserInfo>>;
|
|
154
|
-
|
|
160
|
+
getIdentityToken(): Promise<IdentityTokenInfo>;
|
|
155
161
|
switchChain(params: {
|
|
156
162
|
chainId: string;
|
|
157
163
|
}): Promise<void>;
|
|
@@ -169,8 +175,13 @@ export interface IWeb3Auth extends IWeb3AuthCore {
|
|
|
169
175
|
manageMFA<T>(params: T): Promise<void>;
|
|
170
176
|
cleanup(): Promise<void>;
|
|
171
177
|
}
|
|
172
|
-
export type
|
|
178
|
+
export type SDK_CONNECTED_EVENT_DATA = CONNECTED_EVENT_DATA & {
|
|
179
|
+
loginMode: LoginModeType;
|
|
180
|
+
};
|
|
181
|
+
export type Web3AuthNoModalEvents = Omit<ConnectorEvents, "connected" | "errored" | "ready"> & {
|
|
173
182
|
[CONNECTOR_EVENTS.READY]: () => void;
|
|
183
|
+
[CONNECTOR_EVENTS.CONNECTED]: (data: SDK_CONNECTED_EVENT_DATA) => void;
|
|
184
|
+
[CONNECTOR_EVENTS.ERRORED]: (error: Web3AuthError, loginMode: LoginModeType) => void;
|
|
174
185
|
MODAL_VISIBILITY: (visibility: boolean) => void;
|
|
175
186
|
};
|
|
176
187
|
export type Web3AuthNoModalOptions = IWeb3AuthCoreOptions;
|
|
@@ -28,7 +28,7 @@ declare class AuthConnector extends BaseConnector<AuthLoginParams> {
|
|
|
28
28
|
disconnect(options?: {
|
|
29
29
|
cleanup: boolean;
|
|
30
30
|
}): Promise<void>;
|
|
31
|
-
|
|
31
|
+
getIdentityToken(): Promise<{
|
|
32
32
|
idToken: string;
|
|
33
33
|
}>;
|
|
34
34
|
getUserInfo(): Promise<Partial<UserInfo>>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AuthConnectionConfigItem, type AuthOptions, type LoginParams
|
|
1
|
+
import { type AuthConnectionConfigItem, type AuthOptions, type LoginParams } from "@web3auth/auth";
|
|
2
2
|
import { type WsEmbedParams } from "@web3auth/ws-embed";
|
|
3
3
|
import { type BaseConnectorSettings, type IBaseProvider } from "../../base";
|
|
4
4
|
export type LoginSettings = Partial<LoginParams>;
|
|
@@ -13,6 +13,5 @@ export interface AuthConnectorOptions extends BaseConnectorSettings {
|
|
|
13
13
|
authConnectionConfig?: (AuthConnectionConfigItem & {
|
|
14
14
|
isDefault?: boolean;
|
|
15
15
|
})[];
|
|
16
|
-
mfaSettings?: MfaSettings;
|
|
17
16
|
}
|
|
18
17
|
export { AUTH_CONNECTION, type AUTH_CONNECTION_TYPE, type AuthConnectionConfig, type AuthOptions, type AuthUserInfo, type LoginParams, MFA_FACTOR, type MFA_FACTOR_TYPE, MFA_LEVELS, type MFA_SETTINGS, type MfaLevelType, } from "@web3auth/auth";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { BaseConnector, ConnectorInitOptions,
|
|
1
|
+
import { BaseConnector, ConnectorInitOptions, IdentityTokenInfo } from "../../base";
|
|
2
2
|
export declare abstract class BaseEvmConnector<T> extends BaseConnector<T> {
|
|
3
3
|
init(_?: ConnectorInitOptions): Promise<void>;
|
|
4
|
-
|
|
4
|
+
getIdentityToken(): Promise<IdentityTokenInfo>;
|
|
5
5
|
disconnectSession(): Promise<void>;
|
|
6
6
|
disconnect(): Promise<void>;
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { BaseConnector, ConnectorInitOptions,
|
|
1
|
+
import { BaseConnector, ConnectorInitOptions, IdentityTokenInfo } from "../../base";
|
|
2
2
|
export declare abstract class BaseSolanaConnector<T> extends BaseConnector<T> {
|
|
3
3
|
init(_?: ConnectorInitOptions): Promise<void>;
|
|
4
|
-
|
|
4
|
+
getIdentityToken(): Promise<IdentityTokenInfo>;
|
|
5
5
|
disconnectSession(): Promise<void>;
|
|
6
6
|
disconnect(): Promise<void>;
|
|
7
7
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SafeEventEmitter } from "@web3auth/auth";
|
|
2
|
-
import { type ChainNamespaceType, type CONNECTOR_STATUS_TYPE, type CustomChainConfig, type IConnector, type IPlugin, type IProvider, type IWeb3Auth, type IWeb3AuthCoreOptions, IWeb3AuthState, LoginModeType, type LoginParamMap, type ProjectConfig, type
|
|
2
|
+
import { type ChainNamespaceType, type CONNECTOR_STATUS_TYPE, type CustomChainConfig, type IConnector, type IdentityTokenInfo, type IPlugin, type IProvider, type IWeb3Auth, type IWeb3AuthCoreOptions, IWeb3AuthState, LoginModeType, type LoginParamMap, type ProjectConfig, type UserInfo, type WALLET_CONNECTOR_TYPE, type Web3AuthNoModalEvents } from "./base";
|
|
3
3
|
import { type AccountAbstractionProvider } from "./providers/account-abstraction-provider";
|
|
4
4
|
import { CommonJRPCProvider } from "./providers/base-provider";
|
|
5
5
|
export declare class Web3AuthNoModal extends SafeEventEmitter<Web3AuthNoModalEvents> implements IWeb3Auth {
|
|
@@ -42,7 +42,7 @@ export declare class Web3AuthNoModal extends SafeEventEmitter<Web3AuthNoModalEve
|
|
|
42
42
|
getUserInfo(): Promise<Partial<UserInfo>>;
|
|
43
43
|
enableMFA<T>(loginParams?: T): Promise<void>;
|
|
44
44
|
manageMFA<T>(loginParams?: T): Promise<void>;
|
|
45
|
-
|
|
45
|
+
getIdentityToken(): Promise<IdentityTokenInfo>;
|
|
46
46
|
getPlugin(name: string): IPlugin | null;
|
|
47
47
|
protected initChainsConfig(projectConfig: ProjectConfig): void;
|
|
48
48
|
protected initAccountAbstractionConfig(projectConfig?: ProjectConfig): void;
|
|
@@ -3,11 +3,11 @@ export interface IUseIdentityToken {
|
|
|
3
3
|
loading: boolean;
|
|
4
4
|
error: Web3AuthError | null;
|
|
5
5
|
token: string | null;
|
|
6
|
-
|
|
6
|
+
getIdentityToken: () => Promise<string | null>;
|
|
7
7
|
}
|
|
8
8
|
export declare const useIdentityToken: () => {
|
|
9
9
|
loading: boolean;
|
|
10
10
|
error: Web3AuthError;
|
|
11
11
|
token: string;
|
|
12
|
-
|
|
12
|
+
getIdentityToken: () => Promise<string>;
|
|
13
13
|
};
|
|
@@ -4,6 +4,6 @@ export interface IUseIdentityToken {
|
|
|
4
4
|
loading: Ref<boolean>;
|
|
5
5
|
error: Ref<Web3AuthError | null>;
|
|
6
6
|
token: Ref<string | null>;
|
|
7
|
-
|
|
7
|
+
getIdentityToken: () => Promise<string | null>;
|
|
8
8
|
}
|
|
9
9
|
export declare const useIdentityToken: () => IUseIdentityToken;
|
|
@@ -23,12 +23,12 @@ const useIdentityToken = () => {
|
|
|
23
23
|
const loading = vue.ref(false);
|
|
24
24
|
const error = vue.ref(null);
|
|
25
25
|
const token = vue.ref(null);
|
|
26
|
-
const
|
|
26
|
+
const getIdentityToken = async () => {
|
|
27
27
|
try {
|
|
28
28
|
if (!web3Auth.value) throw index.WalletInitializationError.notReady();
|
|
29
29
|
error.value = null;
|
|
30
30
|
loading.value = true;
|
|
31
|
-
const result = await web3Auth.value.
|
|
31
|
+
const result = await web3Auth.value.getIdentityToken();
|
|
32
32
|
if (result !== null && result !== void 0 && result.idToken) {
|
|
33
33
|
token.value = result.idToken;
|
|
34
34
|
}
|
|
@@ -48,7 +48,7 @@ const useIdentityToken = () => {
|
|
|
48
48
|
loading,
|
|
49
49
|
error,
|
|
50
50
|
token,
|
|
51
|
-
|
|
51
|
+
getIdentityToken
|
|
52
52
|
};
|
|
53
53
|
};
|
|
54
54
|
|
|
@@ -76,7 +76,8 @@ class AuthConnector extends BaseConnector {
|
|
|
76
76
|
clientId: this.coreOptions.clientId,
|
|
77
77
|
network: this.coreOptions.web3AuthNetwork,
|
|
78
78
|
sdkMode: SDK_MODE.IFRAME,
|
|
79
|
-
authConnectionConfig: this.authConnectionConfig.filter(x => !x.isDefault)
|
|
79
|
+
authConnectionConfig: this.authConnectionConfig.filter(x => !x.isDefault),
|
|
80
|
+
mfaSettings: this.coreOptions.mfaSettings
|
|
80
81
|
}));
|
|
81
82
|
log.debug("initializing auth connector init", this.authOptions);
|
|
82
83
|
|
|
@@ -228,7 +229,7 @@ class AuthConnector extends BaseConnector {
|
|
|
228
229
|
this.rehydrated = false;
|
|
229
230
|
this.emit(CONNECTOR_EVENTS.DISCONNECTED);
|
|
230
231
|
}
|
|
231
|
-
async
|
|
232
|
+
async getIdentityToken() {
|
|
232
233
|
if (this.status !== CONNECTOR_STATUS.CONNECTED) throw WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
|
|
233
234
|
const userInfo = await this.getUserInfo();
|
|
234
235
|
return {
|
|
@@ -452,7 +453,12 @@ class AuthConnector extends BaseConnector {
|
|
|
452
453
|
reject(WalletLoginError.popupClosed());
|
|
453
454
|
}
|
|
454
455
|
});
|
|
455
|
-
this.authInstance.postLoginInitiatedMessage(loginParams, nonce).then(resolve).catch(
|
|
456
|
+
this.authInstance.postLoginInitiatedMessage(loginParams, nonce).then(resolve).catch(error => {
|
|
457
|
+
if (error instanceof Web3AuthError) {
|
|
458
|
+
throw error;
|
|
459
|
+
}
|
|
460
|
+
reject(WalletLoginError.connectionError(error instanceof Error ? error.message : error || "Failed to login with social"));
|
|
461
|
+
});
|
|
456
462
|
});
|
|
457
463
|
}
|
|
458
464
|
connectWithJwtLogin(params) {
|
|
@@ -591,10 +597,11 @@ const authConnector = params => {
|
|
|
591
597
|
return new AuthConnector({
|
|
592
598
|
connectorSettings: finalConnectorSettings,
|
|
593
599
|
walletServicesSettings: finalWsSettings,
|
|
594
|
-
loginSettings: params === null || params === void 0 ? void 0 : params.loginSettings,
|
|
600
|
+
loginSettings: _objectSpread(_objectSpread({}, (params === null || params === void 0 ? void 0 : params.loginSettings) || {}), {}, {
|
|
601
|
+
mfaLevel: coreOptions.mfaLevel
|
|
602
|
+
}),
|
|
595
603
|
coreOptions,
|
|
596
|
-
authConnectionConfig: projectConfig.embeddedWalletAuth
|
|
597
|
-
mfaSettings: coreOptions.mfaSettings
|
|
604
|
+
authConnectionConfig: projectConfig.embeddedWalletAuth
|
|
598
605
|
});
|
|
599
606
|
};
|
|
600
607
|
};
|
|
@@ -7,7 +7,7 @@ import { WalletLoginError, WalletInitializationError } from '../../base/errors/i
|
|
|
7
7
|
|
|
8
8
|
class BaseEvmConnector extends BaseConnector {
|
|
9
9
|
async init(_) {}
|
|
10
|
-
async
|
|
10
|
+
async getIdentityToken() {
|
|
11
11
|
if (!this.provider || this.status !== CONNECTOR_STATUS.CONNECTED) throw WalletLoginError.notConnectedError();
|
|
12
12
|
if (!this.coreOptions) throw WalletInitializationError.invalidParams("Please initialize Web3Auth with valid options");
|
|
13
13
|
const accounts = await this.provider.request({
|
|
@@ -7,7 +7,7 @@ import { getSavedToken, checkIfTokenIsExpired, saveToken, clearToken } from '../
|
|
|
7
7
|
|
|
8
8
|
class BaseSolanaConnector extends BaseConnector {
|
|
9
9
|
async init(_) {}
|
|
10
|
-
async
|
|
10
|
+
async getIdentityToken() {
|
|
11
11
|
if (!this.provider || this.status !== CONNECTOR_STATUS.CONNECTED) throw WalletLoginError.notConnectedError();
|
|
12
12
|
if (!this.coreOptions) throw WalletInitializationError.invalidParams("Please initialize Web3Auth with a valid options");
|
|
13
13
|
const accounts = await this.provider.request({
|
|
@@ -179,7 +179,7 @@ class WalletConnectV2Connector extends BaseConnector {
|
|
|
179
179
|
this.activeSession = null;
|
|
180
180
|
this.emit(CONNECTOR_EVENTS.DISCONNECTED);
|
|
181
181
|
}
|
|
182
|
-
async
|
|
182
|
+
async getIdentityToken() {
|
|
183
183
|
if (!this.provider || this.status !== CONNECTOR_STATUS.CONNECTED) throw WalletLoginError.notConnectedError();
|
|
184
184
|
const {
|
|
185
185
|
chainId
|
package/dist/lib.esm/noModal.js
CHANGED
|
@@ -219,9 +219,9 @@ class Web3AuthNoModal extends SafeEventEmitter {
|
|
|
219
219
|
if (this.connectedConnector.name !== WALLET_CONNECTORS.AUTH) throw WalletLoginError.unsupportedOperation(`ManageMFA is not supported for this connector.`);
|
|
220
220
|
return this.connectedConnector.manageMFA(loginParams);
|
|
221
221
|
}
|
|
222
|
-
async
|
|
222
|
+
async getIdentityToken() {
|
|
223
223
|
if (this.status !== CONNECTOR_STATUS.CONNECTED || !this.connectedConnector) throw WalletLoginError.notConnectedError(`No wallet is connected`);
|
|
224
|
-
return this.connectedConnector.
|
|
224
|
+
return this.connectedConnector.getIdentityToken();
|
|
225
225
|
}
|
|
226
226
|
getPlugin(name) {
|
|
227
227
|
return this.plugins[name] || null;
|
|
@@ -466,7 +466,7 @@ class Web3AuthNoModal extends SafeEventEmitter {
|
|
|
466
466
|
// when ssr is enabled, we need to get the idToken from the connector.
|
|
467
467
|
if (this.coreOptions.ssr) {
|
|
468
468
|
try {
|
|
469
|
-
const data = await connector.
|
|
469
|
+
const data = await connector.getIdentityToken();
|
|
470
470
|
if (!data.idToken) throw WalletLoginError.connectionError("No idToken found");
|
|
471
471
|
this.setState({
|
|
472
472
|
idToken: data.idToken
|
|
@@ -474,7 +474,7 @@ class Web3AuthNoModal extends SafeEventEmitter {
|
|
|
474
474
|
} catch (error) {
|
|
475
475
|
log.error(error);
|
|
476
476
|
this.status = CONNECTOR_STATUS.ERRORED;
|
|
477
|
-
this.emit(CONNECTOR_EVENTS.ERRORED, error);
|
|
477
|
+
this.emit(CONNECTOR_EVENTS.ERRORED, error, this.loginMode);
|
|
478
478
|
return;
|
|
479
479
|
}
|
|
480
480
|
}
|
|
@@ -560,7 +560,7 @@ class Web3AuthNoModal extends SafeEventEmitter {
|
|
|
560
560
|
connector.on(CONNECTOR_EVENTS.ERRORED, data => {
|
|
561
561
|
this.status = CONNECTOR_STATUS.ERRORED;
|
|
562
562
|
this.clearCache();
|
|
563
|
-
this.emit(CONNECTOR_EVENTS.ERRORED, data);
|
|
563
|
+
this.emit(CONNECTOR_EVENTS.ERRORED, data, this.loginMode);
|
|
564
564
|
log.debug("errored", this.status, this.connectedConnectorName);
|
|
565
565
|
});
|
|
566
566
|
connector.on(CONNECTOR_EVENTS.REHYDRATION_ERROR, error => {
|
|
@@ -9,11 +9,11 @@ const useIdentityToken = () => {
|
|
|
9
9
|
const [loading, setLoading] = useState(false);
|
|
10
10
|
const [error, setError] = useState(null);
|
|
11
11
|
const [token, setToken] = useState(null);
|
|
12
|
-
const
|
|
12
|
+
const getIdentityToken = useCallback(async () => {
|
|
13
13
|
setLoading(true);
|
|
14
14
|
setError(null);
|
|
15
15
|
try {
|
|
16
|
-
const userAuthInfo = await web3Auth.
|
|
16
|
+
const userAuthInfo = await web3Auth.getIdentityToken();
|
|
17
17
|
if (userAuthInfo !== null && userAuthInfo !== void 0 && userAuthInfo.idToken) {
|
|
18
18
|
setToken(userAuthInfo.idToken);
|
|
19
19
|
}
|
|
@@ -33,7 +33,7 @@ const useIdentityToken = () => {
|
|
|
33
33
|
loading,
|
|
34
34
|
error,
|
|
35
35
|
token,
|
|
36
|
-
|
|
36
|
+
getIdentityToken
|
|
37
37
|
};
|
|
38
38
|
};
|
|
39
39
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
2
2
|
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
3
3
|
import { useMemo, createElement, useEffect, Fragment } from 'react';
|
|
4
|
-
import { defineChain
|
|
5
|
-
import { createConfig, WagmiProvider as WagmiProvider$1, useConfig, useReconnect, useAccountEffect } from 'wagmi';
|
|
4
|
+
import { defineChain } from 'viem';
|
|
5
|
+
import { webSocket, http, createConfig, WagmiProvider as WagmiProvider$1, useConfig, useReconnect, useAccountEffect } from 'wagmi';
|
|
6
6
|
import { injected } from 'wagmi/connectors';
|
|
7
7
|
import { defaultWagmiConfig } from './constants.js';
|
|
8
8
|
import { useWeb3Auth } from '../hooks/useWeb3Auth.js';
|
|
@@ -10,12 +10,12 @@ const useIdentityToken = () => {
|
|
|
10
10
|
const loading = ref(false);
|
|
11
11
|
const error = ref(null);
|
|
12
12
|
const token = ref(null);
|
|
13
|
-
const
|
|
13
|
+
const getIdentityToken = async () => {
|
|
14
14
|
try {
|
|
15
15
|
if (!web3Auth.value) throw WalletInitializationError.notReady();
|
|
16
16
|
error.value = null;
|
|
17
17
|
loading.value = true;
|
|
18
|
-
const result = await web3Auth.value.
|
|
18
|
+
const result = await web3Auth.value.getIdentityToken();
|
|
19
19
|
if (result !== null && result !== void 0 && result.idToken) {
|
|
20
20
|
token.value = result.idToken;
|
|
21
21
|
}
|
|
@@ -35,7 +35,7 @@ const useIdentityToken = () => {
|
|
|
35
35
|
loading,
|
|
36
36
|
error,
|
|
37
37
|
token,
|
|
38
|
-
|
|
38
|
+
getIdentityToken
|
|
39
39
|
};
|
|
40
40
|
};
|
|
41
41
|
|