@web3auth/modal 4.3.1-beta.0 → 4.3.1
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/modal.cjs.js +36 -20
- package/dist/modal.cjs.js.map +1 -1
- package/dist/modal.esm.js +36 -20
- package/dist/modal.esm.js.map +1 -1
- package/dist/modal.umd.min.js +1 -1
- package/dist/modal.umd.min.js.LICENSE.txt +0 -33
- package/dist/modal.umd.min.js.map +1 -1
- package/dist/types/default.d.ts +3 -0
- package/dist/types/modalManager.d.ts +2 -41
- package/dist/types/utils.d.ts +1 -0
- package/package.json +14 -14
- package/src/config.ts +2 -2
- package/src/default.ts +13 -9
- package/src/modalManager.ts +7 -48
- package/src/utils.ts +1 -0
package/dist/types/default.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
import type { OPENLOGIN_NETWORK_TYPE } from "@toruslabs/openlogin";
|
|
1
2
|
import { CustomChainConfig, IAdapter, WALLET_ADAPTER_TYPE } from "@web3auth/base";
|
|
2
3
|
export declare const getDefaultAdapterModule: (params: {
|
|
3
4
|
name: WALLET_ADAPTER_TYPE;
|
|
4
5
|
clientId: string;
|
|
5
6
|
customChainConfig: Partial<CustomChainConfig> & Pick<CustomChainConfig, "chainNamespace">;
|
|
7
|
+
sessionTime?: number;
|
|
8
|
+
web3AuthNetwork?: OPENLOGIN_NETWORK_TYPE;
|
|
6
9
|
}) => Promise<IAdapter<unknown>>;
|
|
@@ -1,40 +1,7 @@
|
|
|
1
1
|
import { SafeEventEmitterProvider, WALLET_ADAPTER_TYPE } from "@web3auth/base";
|
|
2
2
|
import { Web3AuthCore, Web3AuthCoreOptions } from "@web3auth/core";
|
|
3
|
-
import { LoginModal } from "@web3auth/ui";
|
|
3
|
+
import { LoginModal, UIConfig } from "@web3auth/ui";
|
|
4
4
|
import { IWeb3AuthModal, ModalConfig } from "./interface";
|
|
5
|
-
export interface UIConfig {
|
|
6
|
-
/**
|
|
7
|
-
* App name to display in the UI.
|
|
8
|
-
*/
|
|
9
|
-
appName?: string;
|
|
10
|
-
/**
|
|
11
|
-
* Logo for your app.
|
|
12
|
-
*/
|
|
13
|
-
appLogo?: string;
|
|
14
|
-
/**
|
|
15
|
-
* theme for the modal
|
|
16
|
-
*
|
|
17
|
-
* @defaultValue `light`
|
|
18
|
-
*/
|
|
19
|
-
theme?: "light" | "dark";
|
|
20
|
-
/**
|
|
21
|
-
* order of how login methods are shown
|
|
22
|
-
*
|
|
23
|
-
* @defaultValue `["google", "facebook", "twitter", "reddit", "discord", "twitch", "apple", "line", "github", "kakao", "linkedin", "weibo", "wechat", "email_passwordless"]`
|
|
24
|
-
*/
|
|
25
|
-
loginMethodsOrder?: string[];
|
|
26
|
-
/**
|
|
27
|
-
* language which will be used by web3auth. app will use browser language if not specified. if language is not supported it will use "en"
|
|
28
|
-
* en: english
|
|
29
|
-
* de: german
|
|
30
|
-
* ja: japanese
|
|
31
|
-
* ko: korean
|
|
32
|
-
* zh: mandarin
|
|
33
|
-
* es: spanish
|
|
34
|
-
*
|
|
35
|
-
*/
|
|
36
|
-
defaultLanguage?: string;
|
|
37
|
-
}
|
|
38
5
|
export interface Web3AuthOptions extends Web3AuthCoreOptions {
|
|
39
6
|
/**
|
|
40
7
|
* web3auth instance provides different adapters for different type of usages. If you are dapp and want to
|
|
@@ -48,13 +15,7 @@ export interface Web3AuthOptions extends Web3AuthCoreOptions {
|
|
|
48
15
|
/**
|
|
49
16
|
* Config for configuring modal ui display properties
|
|
50
17
|
*/
|
|
51
|
-
uiConfig?: UIConfig
|
|
52
|
-
/**
|
|
53
|
-
* Whether to show errors on Web3Auth modal.
|
|
54
|
-
*
|
|
55
|
-
* @defaultValue `true`
|
|
56
|
-
*/
|
|
57
|
-
displayErrorsOnModal?: boolean;
|
|
18
|
+
uiConfig?: Omit<UIConfig, "adapterListener">;
|
|
58
19
|
}
|
|
59
20
|
export declare class Web3Auth extends Web3AuthCore implements IWeb3AuthModal {
|
|
60
21
|
loginModal: LoginModal;
|
package/dist/types/utils.d.ts
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@web3auth/modal",
|
|
3
|
-
"version": "4.3.1
|
|
3
|
+
"version": "4.3.1",
|
|
4
4
|
"homepage": "https://github.com/Web3Auth/Web3Auth#readme",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"main": "dist/modal.cjs.js",
|
|
@@ -19,21 +19,21 @@
|
|
|
19
19
|
"pre-commit": "lint-staged --cwd ."
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@web3auth/base": "^4.
|
|
23
|
-
"@web3auth/core": "^4.
|
|
24
|
-
"@web3auth/metamask-adapter": "^4.
|
|
25
|
-
"@web3auth/openlogin-adapter": "^4.
|
|
26
|
-
"@web3auth/phantom-adapter": "^4.
|
|
27
|
-
"@web3auth/torus-evm-adapter": "^4.
|
|
28
|
-
"@web3auth/torus-solana-adapter": "^4.
|
|
29
|
-
"@web3auth/ui": "^4.3.
|
|
30
|
-
"@web3auth/wallet-connect-v1-adapter": "^4.
|
|
22
|
+
"@web3auth/base": "^4.3.0",
|
|
23
|
+
"@web3auth/core": "^4.3.0",
|
|
24
|
+
"@web3auth/metamask-adapter": "^4.3.0",
|
|
25
|
+
"@web3auth/openlogin-adapter": "^4.3.0",
|
|
26
|
+
"@web3auth/phantom-adapter": "^4.3.0",
|
|
27
|
+
"@web3auth/torus-evm-adapter": "^4.3.0",
|
|
28
|
+
"@web3auth/torus-solana-adapter": "^4.3.0",
|
|
29
|
+
"@web3auth/ui": "^4.3.0",
|
|
30
|
+
"@web3auth/wallet-connect-v1-adapter": "^4.3.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@svgr/webpack": "^6.5.1",
|
|
34
|
-
"@toruslabs/
|
|
35
|
-
"
|
|
36
|
-
"
|
|
34
|
+
"@toruslabs/isomorphic-style-loader": "^5.3.3",
|
|
35
|
+
"@toruslabs/openlogin": "^2.12.0",
|
|
36
|
+
"css-loader": "^6.7.3",
|
|
37
37
|
"postcss-prefix-selector": "^1.16.0",
|
|
38
38
|
"style-loader": "^3.3.1",
|
|
39
39
|
"tailwindcss": "^3.2.4",
|
|
@@ -63,5 +63,5 @@
|
|
|
63
63
|
"publishConfig": {
|
|
64
64
|
"access": "public"
|
|
65
65
|
},
|
|
66
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "fe585840d11341f37a69f8aab601a2041a1676eb"
|
|
67
67
|
}
|
package/src/config.ts
CHANGED
|
@@ -20,7 +20,7 @@ export const defaultSolanaDappModalConfig: AdaptersModalConfig = {
|
|
|
20
20
|
[SOLANA_ADAPTERS.PHANTOM]: {
|
|
21
21
|
label: "Phantom",
|
|
22
22
|
showOnModal: true,
|
|
23
|
-
showOnMobile:
|
|
23
|
+
showOnMobile: true,
|
|
24
24
|
showOnDesktop: true,
|
|
25
25
|
},
|
|
26
26
|
},
|
|
@@ -38,7 +38,7 @@ export const defaultEvmDappModalConfig: AdaptersModalConfig = {
|
|
|
38
38
|
[EVM_ADAPTERS.METAMASK]: {
|
|
39
39
|
label: "MetaMask",
|
|
40
40
|
showOnModal: true,
|
|
41
|
-
showOnMobile:
|
|
41
|
+
showOnMobile: true,
|
|
42
42
|
showOnDesktop: true,
|
|
43
43
|
},
|
|
44
44
|
[EVM_ADAPTERS.OPENLOGIN]: {
|
package/src/default.ts
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
|
-
import type { OpenLoginOptions } from "@toruslabs/openlogin";
|
|
1
|
+
import type { OPENLOGIN_NETWORK_TYPE, OpenLoginOptions } from "@toruslabs/openlogin";
|
|
2
2
|
import { CHAIN_NAMESPACES, CustomChainConfig, getChainConfig, IAdapter, WALLET_ADAPTER_TYPE, WALLET_ADAPTERS } from "@web3auth/base";
|
|
3
3
|
|
|
4
|
-
// warning: this function is not compatible with "OTHER"
|
|
4
|
+
// warning: this function is not compatible with "OTHER" chain namespace.
|
|
5
5
|
export const getDefaultAdapterModule = async (params: {
|
|
6
6
|
name: WALLET_ADAPTER_TYPE;
|
|
7
7
|
clientId: string;
|
|
8
8
|
customChainConfig: Partial<CustomChainConfig> & Pick<CustomChainConfig, "chainNamespace">;
|
|
9
|
+
sessionTime?: number;
|
|
10
|
+
web3AuthNetwork?: OPENLOGIN_NETWORK_TYPE;
|
|
9
11
|
}): Promise<IAdapter<unknown>> => {
|
|
10
|
-
const { name, customChainConfig, clientId } = params;
|
|
12
|
+
const { name, customChainConfig, clientId, sessionTime, web3AuthNetwork } = params;
|
|
11
13
|
if (!Object.values(CHAIN_NAMESPACES).includes(customChainConfig.chainNamespace))
|
|
12
14
|
throw new Error(`Invalid chainNamespace: ${customChainConfig.chainNamespace}`);
|
|
13
15
|
const finalChainConfig = {
|
|
@@ -16,23 +18,23 @@ export const getDefaultAdapterModule = async (params: {
|
|
|
16
18
|
};
|
|
17
19
|
if (name === WALLET_ADAPTERS.TORUS_EVM) {
|
|
18
20
|
const { TorusWalletAdapter } = await import("@web3auth/torus-evm-adapter");
|
|
19
|
-
const adapter = new TorusWalletAdapter({ chainConfig: finalChainConfig, clientId });
|
|
21
|
+
const adapter = new TorusWalletAdapter({ chainConfig: finalChainConfig, clientId, sessionTime, web3AuthNetwork });
|
|
20
22
|
return adapter;
|
|
21
23
|
} else if (name === WALLET_ADAPTERS.TORUS_SOLANA) {
|
|
22
24
|
const { SolanaWalletAdapter } = await import("@web3auth/torus-solana-adapter");
|
|
23
|
-
const adapter = new SolanaWalletAdapter({ chainConfig: finalChainConfig, clientId });
|
|
25
|
+
const adapter = new SolanaWalletAdapter({ chainConfig: finalChainConfig, clientId, sessionTime, web3AuthNetwork });
|
|
24
26
|
return adapter;
|
|
25
27
|
} else if (name === WALLET_ADAPTERS.METAMASK) {
|
|
26
28
|
const { MetamaskAdapter } = await import("@web3auth/metamask-adapter");
|
|
27
|
-
const adapter = new MetamaskAdapter({ chainConfig: finalChainConfig, clientId });
|
|
29
|
+
const adapter = new MetamaskAdapter({ chainConfig: finalChainConfig, clientId, sessionTime, web3AuthNetwork });
|
|
28
30
|
return adapter;
|
|
29
31
|
} else if (name === WALLET_ADAPTERS.PHANTOM) {
|
|
30
32
|
const { PhantomAdapter } = await import("@web3auth/phantom-adapter");
|
|
31
|
-
const adapter = new PhantomAdapter({ chainConfig: finalChainConfig, clientId });
|
|
33
|
+
const adapter = new PhantomAdapter({ chainConfig: finalChainConfig, clientId, sessionTime, web3AuthNetwork });
|
|
32
34
|
return adapter;
|
|
33
35
|
} else if (name === WALLET_ADAPTERS.WALLET_CONNECT_V1) {
|
|
34
36
|
const { WalletConnectV1Adapter } = await import("@web3auth/wallet-connect-v1-adapter");
|
|
35
|
-
const adapter = new WalletConnectV1Adapter({ chainConfig: finalChainConfig, clientId });
|
|
37
|
+
const adapter = new WalletConnectV1Adapter({ chainConfig: finalChainConfig, clientId, sessionTime, web3AuthNetwork });
|
|
36
38
|
return adapter;
|
|
37
39
|
} else if (name === WALLET_ADAPTERS.OPENLOGIN) {
|
|
38
40
|
const { OpenloginAdapter, getOpenloginDefaultOptions } = await import("@web3auth/openlogin-adapter");
|
|
@@ -41,7 +43,9 @@ export const getDefaultAdapterModule = async (params: {
|
|
|
41
43
|
...defaultOptions,
|
|
42
44
|
clientId,
|
|
43
45
|
chainConfig: { ...finalChainConfig },
|
|
44
|
-
adapterSettings: { ...(defaultOptions.adapterSettings as OpenLoginOptions), clientId },
|
|
46
|
+
adapterSettings: { ...(defaultOptions.adapterSettings as OpenLoginOptions), clientId, network: web3AuthNetwork },
|
|
47
|
+
sessionTime,
|
|
48
|
+
web3AuthNetwork,
|
|
45
49
|
});
|
|
46
50
|
return adapter;
|
|
47
51
|
}
|
package/src/modalManager.ts
CHANGED
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
WALLET_ADAPTERS,
|
|
13
13
|
} from "@web3auth/base";
|
|
14
14
|
import { Web3AuthCore, Web3AuthCoreOptions } from "@web3auth/core";
|
|
15
|
-
import { getAdapterSocialLogins, LOGIN_MODAL_EVENTS, LoginModal, OPENLOGIN_PROVIDERS } from "@web3auth/ui";
|
|
15
|
+
import { getAdapterSocialLogins, LOGIN_MODAL_EVENTS, LoginModal, OPENLOGIN_PROVIDERS, UIConfig } from "@web3auth/ui";
|
|
16
16
|
|
|
17
17
|
import {
|
|
18
18
|
defaultEvmDappModalConfig,
|
|
@@ -25,43 +25,6 @@ import { getDefaultAdapterModule } from "./default";
|
|
|
25
25
|
import { AdaptersModalConfig, IWeb3AuthModal, ModalConfig } from "./interface";
|
|
26
26
|
import { getUserLanguage } from "./utils";
|
|
27
27
|
|
|
28
|
-
export interface UIConfig {
|
|
29
|
-
/**
|
|
30
|
-
* App name to display in the UI.
|
|
31
|
-
*/
|
|
32
|
-
appName?: string;
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Logo for your app.
|
|
36
|
-
*/
|
|
37
|
-
appLogo?: string;
|
|
38
|
-
|
|
39
|
-
/**
|
|
40
|
-
* theme for the modal
|
|
41
|
-
*
|
|
42
|
-
* @defaultValue `light`
|
|
43
|
-
*/
|
|
44
|
-
theme?: "light" | "dark";
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* order of how login methods are shown
|
|
48
|
-
*
|
|
49
|
-
* @defaultValue `["google", "facebook", "twitter", "reddit", "discord", "twitch", "apple", "line", "github", "kakao", "linkedin", "weibo", "wechat", "email_passwordless"]`
|
|
50
|
-
*/
|
|
51
|
-
loginMethodsOrder?: string[];
|
|
52
|
-
|
|
53
|
-
/**
|
|
54
|
-
* language which will be used by web3auth. app will use browser language if not specified. if language is not supported it will use "en"
|
|
55
|
-
* en: english
|
|
56
|
-
* de: german
|
|
57
|
-
* ja: japanese
|
|
58
|
-
* ko: korean
|
|
59
|
-
* zh: mandarin
|
|
60
|
-
* es: spanish
|
|
61
|
-
*
|
|
62
|
-
*/
|
|
63
|
-
defaultLanguage?: string;
|
|
64
|
-
}
|
|
65
28
|
export interface Web3AuthOptions extends Web3AuthCoreOptions {
|
|
66
29
|
/**
|
|
67
30
|
* web3auth instance provides different adapters for different type of usages. If you are dapp and want to
|
|
@@ -75,15 +38,9 @@ export interface Web3AuthOptions extends Web3AuthCoreOptions {
|
|
|
75
38
|
/**
|
|
76
39
|
* Config for configuring modal ui display properties
|
|
77
40
|
*/
|
|
78
|
-
uiConfig?: UIConfig
|
|
79
|
-
|
|
80
|
-
/**
|
|
81
|
-
* Whether to show errors on Web3Auth modal.
|
|
82
|
-
*
|
|
83
|
-
* @defaultValue `true`
|
|
84
|
-
*/
|
|
85
|
-
displayErrorsOnModal?: boolean;
|
|
41
|
+
uiConfig?: Omit<UIConfig, "adapterListener">;
|
|
86
42
|
}
|
|
43
|
+
|
|
87
44
|
export class Web3Auth extends Web3AuthCore implements IWeb3AuthModal {
|
|
88
45
|
public loginModal: LoginModal;
|
|
89
46
|
|
|
@@ -124,10 +81,10 @@ export class Web3Auth extends Web3AuthCore implements IWeb3AuthModal {
|
|
|
124
81
|
theme: this.options.uiConfig?.theme,
|
|
125
82
|
appName: this.options.uiConfig?.appName || "blockchain",
|
|
126
83
|
appLogo: this.options.uiConfig?.appLogo || "",
|
|
127
|
-
version: "",
|
|
128
84
|
adapterListener: this,
|
|
129
|
-
displayErrorsOnModal: this.options.displayErrorsOnModal,
|
|
85
|
+
displayErrorsOnModal: this.options.uiConfig?.displayErrorsOnModal,
|
|
130
86
|
defaultLanguage,
|
|
87
|
+
modalZIndex: this.options.uiConfig?.modalZIndex || "99998",
|
|
131
88
|
});
|
|
132
89
|
this.subscribeToLoginModalEvents();
|
|
133
90
|
}
|
|
@@ -167,6 +124,8 @@ export class Web3Auth extends Web3AuthCore implements IWeb3AuthModal {
|
|
|
167
124
|
name: adapterName,
|
|
168
125
|
customChainConfig: this.options.chainConfig,
|
|
169
126
|
clientId: this.options.clientId,
|
|
127
|
+
sessionTime: this.options.sessionTime,
|
|
128
|
+
web3AuthNetwork: this.options.web3AuthNetwork,
|
|
170
129
|
});
|
|
171
130
|
|
|
172
131
|
this.walletAdapters[adapterName] = ad;
|