@web3auth/no-modal 5.2.0 → 6.0.0-alpha.0
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/noModal.cjs.js +28 -10
- package/dist/noModal.cjs.js.map +1 -1
- package/dist/noModal.esm.js +25 -9
- package/dist/noModal.esm.js.map +1 -1
- package/dist/noModal.umd.min.js +1 -1
- package/dist/noModal.umd.min.js.LICENSE.txt +15 -0
- package/dist/noModal.umd.min.js.map +1 -1
- package/dist/types/noModal.d.ts +3 -1
- package/package.json +12 -6
- package/src/noModal.ts +27 -10
package/dist/types/noModal.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import type { OPENLOGIN_NETWORK_TYPE } from "@toruslabs/openlogin";
|
|
2
1
|
import { SafeEventEmitter } from "@toruslabs/openlogin-jrpc";
|
|
2
|
+
import type { OPENLOGIN_NETWORK_TYPE } from "@toruslabs/openlogin-utils";
|
|
3
3
|
import { ADAPTER_STATUS_TYPE, CustomChainConfig, IAdapter, IWeb3Auth, SafeEventEmitterProvider, UserAuthInfo, UserInfo, WALLET_ADAPTER_TYPE } from "@web3auth/base";
|
|
4
4
|
import { IPlugin } from "@web3auth/base-plugin";
|
|
5
|
+
import { CommonJRPCProvider } from "@web3auth/base-provider";
|
|
5
6
|
export interface Web3AuthNoModalOptions {
|
|
6
7
|
/**
|
|
7
8
|
* Client id for web3auth.
|
|
@@ -51,6 +52,7 @@ export declare class Web3AuthNoModal extends SafeEventEmitter implements IWeb3Au
|
|
|
51
52
|
status: ADAPTER_STATUS_TYPE;
|
|
52
53
|
cachedAdapter: string | null;
|
|
53
54
|
protected walletAdapters: Record<string, IAdapter<unknown>>;
|
|
55
|
+
protected commonJRPCProvider: CommonJRPCProvider | null;
|
|
54
56
|
private plugins;
|
|
55
57
|
private storage;
|
|
56
58
|
constructor(options: Web3AuthNoModalOptions);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@web3auth/no-modal",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "6.0.0-alpha.0",
|
|
4
4
|
"description": "Multi chain wallet aggregator for web3Auth",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"web3Auth/no-modal",
|
|
@@ -35,10 +35,12 @@
|
|
|
35
35
|
"@babel/runtime": "^7.x"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@toruslabs/openlogin": "^
|
|
39
|
-
"@toruslabs/openlogin-jrpc": "^
|
|
40
|
-
"@
|
|
41
|
-
"@web3auth/base
|
|
38
|
+
"@toruslabs/openlogin": "^4.5.2",
|
|
39
|
+
"@toruslabs/openlogin-jrpc": "^4.5.1",
|
|
40
|
+
"@toruslabs/openlogin-utils": "^4.5.1",
|
|
41
|
+
"@web3auth/base": "^6.0.0-alpha.0",
|
|
42
|
+
"@web3auth/base-plugin": "^6.0.0-alpha.0",
|
|
43
|
+
"@web3auth/base-provider": "^6.0.0-alpha.0"
|
|
42
44
|
},
|
|
43
45
|
"lint-staged": {
|
|
44
46
|
"!(*d).ts": [
|
|
@@ -56,5 +58,9 @@
|
|
|
56
58
|
"bugs": {
|
|
57
59
|
"url": "https://github.com/Web3Auth/Web3Auth/issues"
|
|
58
60
|
},
|
|
59
|
-
"
|
|
61
|
+
"engines": {
|
|
62
|
+
"node": ">=16.18.1",
|
|
63
|
+
"npm": ">=8.x"
|
|
64
|
+
},
|
|
65
|
+
"gitHead": "c3f6ff688812333f37f10d8a6cf00be88aa451a1"
|
|
60
66
|
}
|
package/src/noModal.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { OPENLOGIN_NETWORK_TYPE } from "@toruslabs/openlogin";
|
|
2
1
|
import { SafeEventEmitter } from "@toruslabs/openlogin-jrpc";
|
|
2
|
+
import type { OPENLOGIN_NETWORK_TYPE } from "@toruslabs/openlogin-utils";
|
|
3
3
|
import {
|
|
4
4
|
ADAPTER_EVENTS,
|
|
5
5
|
ADAPTER_NAMESPACES,
|
|
@@ -23,6 +23,7 @@ import {
|
|
|
23
23
|
Web3AuthError,
|
|
24
24
|
} from "@web3auth/base";
|
|
25
25
|
import { IPlugin, PLUGIN_NAMESPACES } from "@web3auth/base-plugin";
|
|
26
|
+
import { CommonJRPCProvider } from "@web3auth/base-provider";
|
|
26
27
|
|
|
27
28
|
export interface Web3AuthNoModalOptions {
|
|
28
29
|
/**
|
|
@@ -83,6 +84,8 @@ export class Web3AuthNoModal extends SafeEventEmitter implements IWeb3Auth {
|
|
|
83
84
|
|
|
84
85
|
protected walletAdapters: Record<string, IAdapter<unknown>> = {};
|
|
85
86
|
|
|
87
|
+
protected commonJRPCProvider: CommonJRPCProvider | null = null;
|
|
88
|
+
|
|
86
89
|
private plugins: Record<string, IPlugin> = {};
|
|
87
90
|
|
|
88
91
|
private storage: "sessionStorage" | "localStorage" = "localStorage";
|
|
@@ -108,9 +111,8 @@ export class Web3AuthNoModal extends SafeEventEmitter implements IWeb3Auth {
|
|
|
108
111
|
}
|
|
109
112
|
|
|
110
113
|
get provider(): SafeEventEmitterProvider | null {
|
|
111
|
-
if (this.status
|
|
112
|
-
|
|
113
|
-
return adapter.provider;
|
|
114
|
+
if (this.status !== ADAPTER_STATUS.NOT_READY && this.commonJRPCProvider) {
|
|
115
|
+
return this.commonJRPCProvider.provider;
|
|
114
116
|
}
|
|
115
117
|
return null;
|
|
116
118
|
}
|
|
@@ -145,6 +147,7 @@ export class Web3AuthNoModal extends SafeEventEmitter implements IWeb3Auth {
|
|
|
145
147
|
|
|
146
148
|
return this.walletAdapters[adapterName].init({ autoConnect: this.cachedAdapter === adapterName }).catch((e) => log.error(e));
|
|
147
149
|
});
|
|
150
|
+
this.commonJRPCProvider = await CommonJRPCProvider.getProviderInstance({ chainConfig: this.coreOptions.chainConfig as CustomChainConfig });
|
|
148
151
|
this.status = ADAPTER_STATUS.READY;
|
|
149
152
|
await Promise.all(initPromises);
|
|
150
153
|
}
|
|
@@ -193,13 +196,23 @@ export class Web3AuthNoModal extends SafeEventEmitter implements IWeb3Auth {
|
|
|
193
196
|
}
|
|
194
197
|
|
|
195
198
|
public async addChain(chainConfig: CustomChainConfig): Promise<void> {
|
|
196
|
-
if (this.status
|
|
197
|
-
|
|
199
|
+
if (this.status === ADAPTER_STATUS.CONNECTED && this.connectedAdapterName)
|
|
200
|
+
return this.walletAdapters[this.connectedAdapterName].addChain(chainConfig);
|
|
201
|
+
|
|
202
|
+
if (this.commonJRPCProvider) {
|
|
203
|
+
return this.commonJRPCProvider.addChain(chainConfig);
|
|
204
|
+
}
|
|
205
|
+
throw WalletInitializationError.notReady(`No wallet is ready`);
|
|
198
206
|
}
|
|
199
207
|
|
|
200
208
|
public async switchChain(params: { chainId: string }): Promise<void> {
|
|
201
|
-
if (this.status
|
|
202
|
-
|
|
209
|
+
if (this.status === ADAPTER_STATUS.CONNECTED && this.connectedAdapterName)
|
|
210
|
+
return this.walletAdapters[this.connectedAdapterName].switchChain(params);
|
|
211
|
+
|
|
212
|
+
if (this.commonJRPCProvider) {
|
|
213
|
+
return this.commonJRPCProvider.switchChain(params);
|
|
214
|
+
}
|
|
215
|
+
throw WalletInitializationError.notReady(`No wallet is connected`);
|
|
203
216
|
}
|
|
204
217
|
|
|
205
218
|
/**
|
|
@@ -207,10 +220,11 @@ export class Web3AuthNoModal extends SafeEventEmitter implements IWeb3Auth {
|
|
|
207
220
|
* @param walletName - Key of the walletAdapter to use.
|
|
208
221
|
*/
|
|
209
222
|
async connectTo<T>(walletName: WALLET_ADAPTER_TYPE, loginParams?: T): Promise<SafeEventEmitterProvider | null> {
|
|
210
|
-
if (!this.walletAdapters[walletName])
|
|
223
|
+
if (!this.walletAdapters[walletName] || !this.commonJRPCProvider)
|
|
211
224
|
throw WalletInitializationError.notFound(`Please add wallet adapter for ${walletName} wallet, before connecting`);
|
|
212
225
|
const provider = await this.walletAdapters[walletName].connect(loginParams);
|
|
213
|
-
|
|
226
|
+
this.commonJRPCProvider.updateProviderEngineProxy(provider as SafeEventEmitterProvider);
|
|
227
|
+
return this.provider;
|
|
214
228
|
}
|
|
215
229
|
|
|
216
230
|
async logout(options: { cleanup: boolean } = { cleanup: false }): Promise<void> {
|
|
@@ -242,6 +256,9 @@ export class Web3AuthNoModal extends SafeEventEmitter implements IWeb3Auth {
|
|
|
242
256
|
|
|
243
257
|
protected subscribeToAdapterEvents(walletAdapter: IAdapter<unknown>): void {
|
|
244
258
|
walletAdapter.on(ADAPTER_EVENTS.CONNECTED, async (data: CONNECTED_EVENT_DATA) => {
|
|
259
|
+
if (!this.commonJRPCProvider) throw WalletInitializationError.notFound(`CommonJrpcProvider not found`);
|
|
260
|
+
const { provider } = this.walletAdapters[data.adapter];
|
|
261
|
+
this.commonJRPCProvider.updateProviderEngineProxy(provider as SafeEventEmitterProvider);
|
|
245
262
|
this.status = ADAPTER_STATUS.CONNECTED;
|
|
246
263
|
this.connectedAdapterName = data.adapter;
|
|
247
264
|
this.cacheWallet(data.adapter);
|