@web3auth/modal 8.0.1 → 8.2.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/modal.cjs.js +102 -26
- package/dist/modal.esm.js +95 -25
- package/dist/modal.umd.min.js +1 -2
- package/dist/modal.umd.min.js.LICENSE.txt +0 -2
- package/package.json +14 -13
- package/dist/modal.cjs.js.map +0 -1
- package/dist/modal.esm.js.map +0 -1
- package/dist/modal.umd.min.js.map +0 -1
- package/src/config.ts +0 -93
- package/src/index.ts +0 -3
- package/src/interface.ts +0 -14
- package/src/modalManager.ts +0 -354
package/dist/modal.cjs.js
CHANGED
|
@@ -110,7 +110,7 @@ const defaultOtherModalConfig = {
|
|
|
110
110
|
|
|
111
111
|
/***/ }),
|
|
112
112
|
|
|
113
|
-
/***/
|
|
113
|
+
/***/ 73:
|
|
114
114
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
115
115
|
|
|
116
116
|
"use strict";
|
|
@@ -136,6 +136,12 @@ const no_modal_namespaceObject = require("@web3auth/no-modal");
|
|
|
136
136
|
const openlogin_adapter_namespaceObject = require("@web3auth/openlogin-adapter");
|
|
137
137
|
;// CONCATENATED MODULE: external "@web3auth/ui"
|
|
138
138
|
const ui_namespaceObject = require("@web3auth/ui");
|
|
139
|
+
;// CONCATENATED MODULE: external "lodash.clonedeep"
|
|
140
|
+
const external_lodash_clonedeep_namespaceObject = require("lodash.clonedeep");
|
|
141
|
+
var external_lodash_clonedeep_default = /*#__PURE__*/__webpack_require__.n(external_lodash_clonedeep_namespaceObject);
|
|
142
|
+
;// CONCATENATED MODULE: external "lodash.merge"
|
|
143
|
+
const external_lodash_merge_namespaceObject = require("lodash.merge");
|
|
144
|
+
var external_lodash_merge_default = /*#__PURE__*/__webpack_require__.n(external_lodash_merge_namespaceObject);
|
|
139
145
|
// EXTERNAL MODULE: ./src/config.ts
|
|
140
146
|
var config = __webpack_require__(149);
|
|
141
147
|
;// CONCATENATED MODULE: ./src/modalManager.ts
|
|
@@ -147,6 +153,8 @@ var config = __webpack_require__(149);
|
|
|
147
153
|
|
|
148
154
|
|
|
149
155
|
|
|
156
|
+
|
|
157
|
+
|
|
150
158
|
class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
|
|
151
159
|
constructor(options) {
|
|
152
160
|
super(options);
|
|
@@ -155,13 +163,7 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
|
|
|
155
163
|
defineProperty_default()(this, "modalConfig", config/* defaultOtherModalConfig */.Lu);
|
|
156
164
|
this.options = objectSpread2_default()({}, options);
|
|
157
165
|
if (!this.options.uiConfig) this.options.uiConfig = {};
|
|
158
|
-
if (!this.options.uiConfig.defaultLanguage) this.options.uiConfig.defaultLanguage = (0,ui_namespaceObject.getUserLanguage)(this.options.uiConfig.defaultLanguage);
|
|
159
|
-
if (!this.options.uiConfig.mode) this.options.uiConfig.mode = "auto";
|
|
160
166
|
if (!this.coreOptions.privateKeyProvider) throw base_.WalletInitializationError.invalidParams("privateKeyProvider is required");
|
|
161
|
-
this.loginModal = new ui_namespaceObject.LoginModal(objectSpread2_default()(objectSpread2_default()({}, this.options.uiConfig), {}, {
|
|
162
|
-
adapterListener: this
|
|
163
|
-
}));
|
|
164
|
-
this.subscribeToLoginModalEvents();
|
|
165
167
|
}
|
|
166
168
|
setModalConfig(modalConfig) {
|
|
167
169
|
super.checkInitRequirements();
|
|
@@ -169,13 +171,51 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
|
|
|
169
171
|
}
|
|
170
172
|
async initModal(params) {
|
|
171
173
|
super.checkInitRequirements();
|
|
174
|
+
let projectConfig;
|
|
175
|
+
try {
|
|
176
|
+
projectConfig = await (0,base_.fetchProjectConfig)(this.options.clientId);
|
|
177
|
+
} catch (e) {
|
|
178
|
+
throw base_.WalletInitializationError.notReady("failed to fetch project configurations");
|
|
179
|
+
}
|
|
180
|
+
const {
|
|
181
|
+
whitelabel
|
|
182
|
+
} = projectConfig;
|
|
183
|
+
this.options.uiConfig = external_lodash_merge_default()(external_lodash_clonedeep_default()(whitelabel), this.options.uiConfig);
|
|
184
|
+
if (!this.options.uiConfig.defaultLanguage) this.options.uiConfig.defaultLanguage = (0,ui_namespaceObject.getUserLanguage)(this.options.uiConfig.defaultLanguage);
|
|
185
|
+
if (!this.options.uiConfig.mode) this.options.uiConfig.mode = "auto";
|
|
186
|
+
this.loginModal = new ui_namespaceObject.LoginModal(objectSpread2_default()(objectSpread2_default()({}, this.options.uiConfig), {}, {
|
|
187
|
+
adapterListener: this
|
|
188
|
+
}));
|
|
189
|
+
this.subscribeToLoginModalEvents();
|
|
190
|
+
const {
|
|
191
|
+
sms_otp_enabled: smsOtpEnabled
|
|
192
|
+
} = projectConfig;
|
|
193
|
+
if (smsOtpEnabled !== undefined) {
|
|
194
|
+
var _params;
|
|
195
|
+
const adapterConfig = {
|
|
196
|
+
[base_.WALLET_ADAPTERS.OPENLOGIN]: {
|
|
197
|
+
label: base_.WALLET_ADAPTERS.OPENLOGIN,
|
|
198
|
+
loginMethods: {
|
|
199
|
+
[openlogin_adapter_namespaceObject.LOGIN_PROVIDER.SMS_PASSWORDLESS]: {
|
|
200
|
+
name: openlogin_adapter_namespaceObject.LOGIN_PROVIDER.SMS_PASSWORDLESS,
|
|
201
|
+
showOnModal: smsOtpEnabled,
|
|
202
|
+
showOnDesktop: smsOtpEnabled,
|
|
203
|
+
showOnMobile: smsOtpEnabled
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
};
|
|
208
|
+
if (!((_params = params) !== null && _params !== void 0 && _params.modalConfig)) params = {
|
|
209
|
+
modalConfig: {}
|
|
210
|
+
};
|
|
211
|
+
params.modalConfig = external_lodash_merge_default()(external_lodash_clonedeep_default()(params.modalConfig), adapterConfig);
|
|
212
|
+
}
|
|
172
213
|
await this.loginModal.initModal();
|
|
173
214
|
const providedChainConfig = this.options.chainConfig;
|
|
174
|
-
// TODO: get stuff from dashboard here
|
|
175
215
|
// merge default adapters with the custom configured adapters.
|
|
176
216
|
const allAdapters = [...new Set([...Object.keys(this.modalConfig.adapters || {}), ...Object.keys(this.walletAdapters)])];
|
|
177
217
|
const adapterConfigurationPromises = allAdapters.map(async adapterName => {
|
|
178
|
-
var _this$modalConfig$ada,
|
|
218
|
+
var _this$modalConfig$ada, _params2, _this$modalConfig$ada2, _this$modalConfig$ada3;
|
|
179
219
|
// start with the default config of adapter.
|
|
180
220
|
let adapterConfig = ((_this$modalConfig$ada = this.modalConfig.adapters) === null || _this$modalConfig$ada === void 0 ? void 0 : _this$modalConfig$ada[adapterName]) || {
|
|
181
221
|
label: adapterName,
|
|
@@ -185,7 +225,7 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
|
|
|
185
225
|
};
|
|
186
226
|
|
|
187
227
|
// override the default config of adapter if some config is being provided by the user.
|
|
188
|
-
if (params !== null &&
|
|
228
|
+
if ((_params2 = params) !== null && _params2 !== void 0 && (_params2 = _params2.modalConfig) !== null && _params2 !== void 0 && _params2[adapterName]) {
|
|
189
229
|
adapterConfig = objectSpread2_default()(objectSpread2_default()({}, adapterConfig), params.modalConfig[adapterName]);
|
|
190
230
|
}
|
|
191
231
|
this.modalConfig.adapters[adapterName] = adapterConfig;
|
|
@@ -218,6 +258,16 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
|
|
|
218
258
|
network: web3AuthNetwork,
|
|
219
259
|
whiteLabel: this.options.uiConfig
|
|
220
260
|
});
|
|
261
|
+
if (smsOtpEnabled !== undefined) {
|
|
262
|
+
finalOpenloginAdapterSettings.loginConfig = {
|
|
263
|
+
[openlogin_adapter_namespaceObject.LOGIN_PROVIDER.SMS_PASSWORDLESS]: {
|
|
264
|
+
showOnModal: smsOtpEnabled,
|
|
265
|
+
showOnDesktop: smsOtpEnabled,
|
|
266
|
+
showOnMobile: smsOtpEnabled,
|
|
267
|
+
showOnSocialBackupFactor: smsOtpEnabled
|
|
268
|
+
}
|
|
269
|
+
};
|
|
270
|
+
}
|
|
221
271
|
if (this.options.uiConfig.uxMode) {
|
|
222
272
|
finalOpenloginAdapterSettings.uxMode = this.options.uiConfig.uxMode;
|
|
223
273
|
}
|
|
@@ -266,6 +316,18 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
|
|
|
266
316
|
privateKeyProvider: this.coreOptions.privateKeyProvider
|
|
267
317
|
});
|
|
268
318
|
}
|
|
319
|
+
if (smsOtpEnabled !== undefined) {
|
|
320
|
+
openloginAdapter.setAdapterSettings({
|
|
321
|
+
loginConfig: {
|
|
322
|
+
[openlogin_adapter_namespaceObject.LOGIN_PROVIDER.SMS_PASSWORDLESS]: {
|
|
323
|
+
showOnModal: smsOtpEnabled,
|
|
324
|
+
showOnDesktop: smsOtpEnabled,
|
|
325
|
+
showOnMobile: smsOtpEnabled,
|
|
326
|
+
showOnSocialBackupFactor: smsOtpEnabled
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
});
|
|
330
|
+
}
|
|
269
331
|
if ((_this$options$uiConfi = this.options.uiConfig) !== null && _this$options$uiConfi !== void 0 && _this$options$uiConfi.uxMode) {
|
|
270
332
|
openloginAdapter.setAdapterSettings({
|
|
271
333
|
uxMode: this.options.uiConfig.uxMode
|
|
@@ -279,24 +341,39 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
|
|
|
279
341
|
}
|
|
280
342
|
} else if (adapterName === base_.WALLET_ADAPTERS.WALLET_CONNECT_V2) {
|
|
281
343
|
const walletConnectAdapter = this.walletAdapters[adapterName];
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
344
|
+
const {
|
|
345
|
+
wallet_connect_enabled: walletConnectEnabled,
|
|
346
|
+
wallet_connect_project_id: walletConnectProjectId
|
|
347
|
+
} = projectConfig;
|
|
348
|
+
if (walletConnectEnabled === false) {
|
|
349
|
+
var _this$modalConfig$ada5, _this$modalConfig$ada6, _this$modalConfig$ada7;
|
|
350
|
+
// override user specified config by hiding wallet connect
|
|
351
|
+
this.modalConfig.adapters = objectSpread2_default()(objectSpread2_default()({}, (_this$modalConfig$ada5 = this.modalConfig.adapters) !== null && _this$modalConfig$ada5 !== void 0 ? _this$modalConfig$ada5 : {}), {}, {
|
|
352
|
+
[base_.WALLET_ADAPTERS.WALLET_CONNECT_V2]: objectSpread2_default()(objectSpread2_default()({}, (_this$modalConfig$ada6 = (_this$modalConfig$ada7 = this.modalConfig.adapters) === null || _this$modalConfig$ada7 === void 0 ? void 0 : _this$modalConfig$ada7[base_.WALLET_ADAPTERS.WALLET_CONNECT_V2]) !== null && _this$modalConfig$ada6 !== void 0 ? _this$modalConfig$ada6 : {}), {}, {
|
|
353
|
+
showOnModal: false
|
|
354
|
+
})
|
|
355
|
+
});
|
|
356
|
+
this.modalConfig.adapters[base_.WALLET_ADAPTERS.WALLET_CONNECT_V2].showOnModal = false;
|
|
357
|
+
} else {
|
|
358
|
+
if (!walletConnectProjectId) throw base_.WalletInitializationError.invalidParams("Invalid wallet connect project id. Please configure it on the dashboard");
|
|
359
|
+
walletConnectAdapter.setAdapterSettings({
|
|
360
|
+
adapterSettings: {
|
|
361
|
+
walletConnectInitOptions: {
|
|
362
|
+
projectId: walletConnectProjectId
|
|
363
|
+
}
|
|
287
364
|
}
|
|
288
|
-
}
|
|
289
|
-
}
|
|
365
|
+
});
|
|
366
|
+
}
|
|
290
367
|
}
|
|
291
368
|
return adapterName;
|
|
292
369
|
}
|
|
293
370
|
});
|
|
294
371
|
const adapterNames = await Promise.all(adapterConfigurationPromises);
|
|
295
372
|
const hasInAppWallets = Object.values(this.walletAdapters).some(adapter => {
|
|
296
|
-
var _this$modalConfig$
|
|
373
|
+
var _this$modalConfig$ada8, _this$modalConfig$ada9, _adapter$name;
|
|
297
374
|
if (adapter.type !== base_.ADAPTER_CATEGORY.IN_APP) return false;
|
|
298
|
-
if (((_this$modalConfig$
|
|
299
|
-
if (!((_this$modalConfig$
|
|
375
|
+
if (((_this$modalConfig$ada8 = this.modalConfig.adapters) === null || _this$modalConfig$ada8 === void 0 || (_this$modalConfig$ada8 = _this$modalConfig$ada8[adapter.name]) === null || _this$modalConfig$ada8 === void 0 ? void 0 : _this$modalConfig$ada8.showOnModal) !== true) return false;
|
|
376
|
+
if (!((_this$modalConfig$ada9 = this.modalConfig.adapters) !== null && _this$modalConfig$ada9 !== void 0 && (_this$modalConfig$ada9 = _this$modalConfig$ada9[adapter.name]) !== null && _this$modalConfig$ada9 !== void 0 && _this$modalConfig$ada9.loginMethods)) return true;
|
|
300
377
|
const mergedLoginMethods = (0,ui_namespaceObject.getAdapterSocialLogins)(adapter.name, (_adapter$name = this.modalConfig.adapters[adapter.name]) === null || _adapter$name === void 0 ? void 0 : _adapter$name.loginMethods);
|
|
301
378
|
if (Object.values(mergedLoginMethods).some(method => method.showOnModal)) return true;
|
|
302
379
|
return false;
|
|
@@ -334,8 +411,8 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
|
|
|
334
411
|
this.status = base_.ADAPTER_STATUS.READY;
|
|
335
412
|
await Promise.all(initPromises);
|
|
336
413
|
const hasExternalWallets = allAdapters.some(adapterName => {
|
|
337
|
-
var _this$walletAdapters$, _this$modalConfig$
|
|
338
|
-
return ((_this$walletAdapters$ = this.walletAdapters[adapterName]) === null || _this$walletAdapters$ === void 0 ? void 0 : _this$walletAdapters$.type) === base_.ADAPTER_CATEGORY.EXTERNAL && ((_this$modalConfig$
|
|
414
|
+
var _this$walletAdapters$, _this$modalConfig$ada10;
|
|
415
|
+
return ((_this$walletAdapters$ = this.walletAdapters[adapterName]) === null || _this$walletAdapters$ === void 0 ? void 0 : _this$walletAdapters$.type) === base_.ADAPTER_CATEGORY.EXTERNAL && ((_this$modalConfig$ada10 = this.modalConfig.adapters) === null || _this$modalConfig$ada10 === void 0 ? void 0 : _this$modalConfig$ada10[adapterName].showOnModal);
|
|
339
416
|
});
|
|
340
417
|
if (hasExternalWallets) {
|
|
341
418
|
this.loginModal.initExternalWalletContainer();
|
|
@@ -351,7 +428,7 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
|
|
|
351
428
|
}
|
|
352
429
|
}
|
|
353
430
|
async connect() {
|
|
354
|
-
|
|
431
|
+
if (!this.loginModal) throw new Error("Login modal is not initialized");
|
|
355
432
|
// if already connected return provider
|
|
356
433
|
if (this.connectedAdapterName && this.status === base_.ADAPTER_STATUS.CONNECTED && this.provider) return this.provider;
|
|
357
434
|
this.loginModal.open();
|
|
@@ -552,7 +629,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
552
629
|
/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
553
630
|
/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _interface__WEBPACK_IMPORTED_MODULE_1__) if(["default","defaultEvmDappModalConfig","defaultEvmWalletModalConfig","defaultOtherModalConfig","defaultSolanaDappModalConfig","defaultSolanaWalletModalConfig"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _interface__WEBPACK_IMPORTED_MODULE_1__[__WEBPACK_IMPORT_KEY__]
|
|
554
631
|
/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
555
|
-
/* harmony import */ var _modalManager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
632
|
+
/* harmony import */ var _modalManager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(73);
|
|
556
633
|
|
|
557
634
|
|
|
558
635
|
|
|
@@ -560,5 +637,4 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
560
637
|
|
|
561
638
|
module.exports = __webpack_exports__;
|
|
562
639
|
/******/ })()
|
|
563
|
-
;
|
|
564
|
-
//# sourceMappingURL=modal.cjs.js.map
|
|
640
|
+
;
|
package/dist/modal.esm.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { CHAIN_NAMESPACES, SOLANA_ADAPTERS, EVM_ADAPTERS, WalletInitializationError,
|
|
1
|
+
import { CHAIN_NAMESPACES, SOLANA_ADAPTERS, EVM_ADAPTERS, WalletInitializationError, fetchProjectConfig, WALLET_ADAPTERS, log, getChainConfig, ADAPTER_CATEGORY, ADAPTER_STATUS, ADAPTER_EVENTS } from '@web3auth/base';
|
|
2
2
|
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
3
3
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
4
4
|
import { CommonJRPCProvider } from '@web3auth/base-provider';
|
|
5
5
|
import { Web3AuthNoModal } from '@web3auth/no-modal';
|
|
6
|
-
import { getOpenloginDefaultOptions, OpenloginAdapter } from '@web3auth/openlogin-adapter';
|
|
6
|
+
import { LOGIN_PROVIDER, getOpenloginDefaultOptions, OpenloginAdapter } from '@web3auth/openlogin-adapter';
|
|
7
7
|
import { getUserLanguage, LoginModal, getAdapterSocialLogins, LOGIN_MODAL_EVENTS, OPENLOGIN_PROVIDERS } from '@web3auth/ui';
|
|
8
|
+
import clonedeep from 'lodash.clonedeep';
|
|
9
|
+
import merge from 'lodash.merge';
|
|
8
10
|
|
|
9
11
|
const defaultSolanaDappModalConfig = {
|
|
10
12
|
chainNamespace: CHAIN_NAMESPACES.SOLANA,
|
|
@@ -100,13 +102,7 @@ class Web3Auth extends Web3AuthNoModal {
|
|
|
100
102
|
_defineProperty(this, "modalConfig", defaultOtherModalConfig);
|
|
101
103
|
this.options = _objectSpread({}, options);
|
|
102
104
|
if (!this.options.uiConfig) this.options.uiConfig = {};
|
|
103
|
-
if (!this.options.uiConfig.defaultLanguage) this.options.uiConfig.defaultLanguage = getUserLanguage(this.options.uiConfig.defaultLanguage);
|
|
104
|
-
if (!this.options.uiConfig.mode) this.options.uiConfig.mode = "auto";
|
|
105
105
|
if (!this.coreOptions.privateKeyProvider) throw WalletInitializationError.invalidParams("privateKeyProvider is required");
|
|
106
|
-
this.loginModal = new LoginModal(_objectSpread(_objectSpread({}, this.options.uiConfig), {}, {
|
|
107
|
-
adapterListener: this
|
|
108
|
-
}));
|
|
109
|
-
this.subscribeToLoginModalEvents();
|
|
110
106
|
}
|
|
111
107
|
setModalConfig(modalConfig) {
|
|
112
108
|
super.checkInitRequirements();
|
|
@@ -114,13 +110,51 @@ class Web3Auth extends Web3AuthNoModal {
|
|
|
114
110
|
}
|
|
115
111
|
async initModal(params) {
|
|
116
112
|
super.checkInitRequirements();
|
|
113
|
+
let projectConfig;
|
|
114
|
+
try {
|
|
115
|
+
projectConfig = await fetchProjectConfig(this.options.clientId);
|
|
116
|
+
} catch (e) {
|
|
117
|
+
throw WalletInitializationError.notReady("failed to fetch project configurations");
|
|
118
|
+
}
|
|
119
|
+
const {
|
|
120
|
+
whitelabel
|
|
121
|
+
} = projectConfig;
|
|
122
|
+
this.options.uiConfig = merge(clonedeep(whitelabel), this.options.uiConfig);
|
|
123
|
+
if (!this.options.uiConfig.defaultLanguage) this.options.uiConfig.defaultLanguage = getUserLanguage(this.options.uiConfig.defaultLanguage);
|
|
124
|
+
if (!this.options.uiConfig.mode) this.options.uiConfig.mode = "auto";
|
|
125
|
+
this.loginModal = new LoginModal(_objectSpread(_objectSpread({}, this.options.uiConfig), {}, {
|
|
126
|
+
adapterListener: this
|
|
127
|
+
}));
|
|
128
|
+
this.subscribeToLoginModalEvents();
|
|
129
|
+
const {
|
|
130
|
+
sms_otp_enabled: smsOtpEnabled
|
|
131
|
+
} = projectConfig;
|
|
132
|
+
if (smsOtpEnabled !== undefined) {
|
|
133
|
+
var _params;
|
|
134
|
+
const adapterConfig = {
|
|
135
|
+
[WALLET_ADAPTERS.OPENLOGIN]: {
|
|
136
|
+
label: WALLET_ADAPTERS.OPENLOGIN,
|
|
137
|
+
loginMethods: {
|
|
138
|
+
[LOGIN_PROVIDER.SMS_PASSWORDLESS]: {
|
|
139
|
+
name: LOGIN_PROVIDER.SMS_PASSWORDLESS,
|
|
140
|
+
showOnModal: smsOtpEnabled,
|
|
141
|
+
showOnDesktop: smsOtpEnabled,
|
|
142
|
+
showOnMobile: smsOtpEnabled
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
};
|
|
147
|
+
if (!((_params = params) !== null && _params !== void 0 && _params.modalConfig)) params = {
|
|
148
|
+
modalConfig: {}
|
|
149
|
+
};
|
|
150
|
+
params.modalConfig = merge(clonedeep(params.modalConfig), adapterConfig);
|
|
151
|
+
}
|
|
117
152
|
await this.loginModal.initModal();
|
|
118
153
|
const providedChainConfig = this.options.chainConfig;
|
|
119
|
-
// TODO: get stuff from dashboard here
|
|
120
154
|
// merge default adapters with the custom configured adapters.
|
|
121
155
|
const allAdapters = [...new Set([...Object.keys(this.modalConfig.adapters || {}), ...Object.keys(this.walletAdapters)])];
|
|
122
156
|
const adapterConfigurationPromises = allAdapters.map(async adapterName => {
|
|
123
|
-
var _this$modalConfig$ada,
|
|
157
|
+
var _this$modalConfig$ada, _params2, _this$modalConfig$ada2, _this$modalConfig$ada3;
|
|
124
158
|
// start with the default config of adapter.
|
|
125
159
|
let adapterConfig = ((_this$modalConfig$ada = this.modalConfig.adapters) === null || _this$modalConfig$ada === void 0 ? void 0 : _this$modalConfig$ada[adapterName]) || {
|
|
126
160
|
label: adapterName,
|
|
@@ -130,7 +164,7 @@ class Web3Auth extends Web3AuthNoModal {
|
|
|
130
164
|
};
|
|
131
165
|
|
|
132
166
|
// override the default config of adapter if some config is being provided by the user.
|
|
133
|
-
if (params !== null &&
|
|
167
|
+
if ((_params2 = params) !== null && _params2 !== void 0 && (_params2 = _params2.modalConfig) !== null && _params2 !== void 0 && _params2[adapterName]) {
|
|
134
168
|
adapterConfig = _objectSpread(_objectSpread({}, adapterConfig), params.modalConfig[adapterName]);
|
|
135
169
|
}
|
|
136
170
|
this.modalConfig.adapters[adapterName] = adapterConfig;
|
|
@@ -163,6 +197,16 @@ class Web3Auth extends Web3AuthNoModal {
|
|
|
163
197
|
network: web3AuthNetwork,
|
|
164
198
|
whiteLabel: this.options.uiConfig
|
|
165
199
|
});
|
|
200
|
+
if (smsOtpEnabled !== undefined) {
|
|
201
|
+
finalOpenloginAdapterSettings.loginConfig = {
|
|
202
|
+
[LOGIN_PROVIDER.SMS_PASSWORDLESS]: {
|
|
203
|
+
showOnModal: smsOtpEnabled,
|
|
204
|
+
showOnDesktop: smsOtpEnabled,
|
|
205
|
+
showOnMobile: smsOtpEnabled,
|
|
206
|
+
showOnSocialBackupFactor: smsOtpEnabled
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
}
|
|
166
210
|
if (this.options.uiConfig.uxMode) {
|
|
167
211
|
finalOpenloginAdapterSettings.uxMode = this.options.uiConfig.uxMode;
|
|
168
212
|
}
|
|
@@ -211,6 +255,18 @@ class Web3Auth extends Web3AuthNoModal {
|
|
|
211
255
|
privateKeyProvider: this.coreOptions.privateKeyProvider
|
|
212
256
|
});
|
|
213
257
|
}
|
|
258
|
+
if (smsOtpEnabled !== undefined) {
|
|
259
|
+
openloginAdapter.setAdapterSettings({
|
|
260
|
+
loginConfig: {
|
|
261
|
+
[LOGIN_PROVIDER.SMS_PASSWORDLESS]: {
|
|
262
|
+
showOnModal: smsOtpEnabled,
|
|
263
|
+
showOnDesktop: smsOtpEnabled,
|
|
264
|
+
showOnMobile: smsOtpEnabled,
|
|
265
|
+
showOnSocialBackupFactor: smsOtpEnabled
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
});
|
|
269
|
+
}
|
|
214
270
|
if ((_this$options$uiConfi = this.options.uiConfig) !== null && _this$options$uiConfi !== void 0 && _this$options$uiConfi.uxMode) {
|
|
215
271
|
openloginAdapter.setAdapterSettings({
|
|
216
272
|
uxMode: this.options.uiConfig.uxMode
|
|
@@ -224,24 +280,39 @@ class Web3Auth extends Web3AuthNoModal {
|
|
|
224
280
|
}
|
|
225
281
|
} else if (adapterName === WALLET_ADAPTERS.WALLET_CONNECT_V2) {
|
|
226
282
|
const walletConnectAdapter = this.walletAdapters[adapterName];
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
283
|
+
const {
|
|
284
|
+
wallet_connect_enabled: walletConnectEnabled,
|
|
285
|
+
wallet_connect_project_id: walletConnectProjectId
|
|
286
|
+
} = projectConfig;
|
|
287
|
+
if (walletConnectEnabled === false) {
|
|
288
|
+
var _this$modalConfig$ada5, _this$modalConfig$ada6, _this$modalConfig$ada7;
|
|
289
|
+
// override user specified config by hiding wallet connect
|
|
290
|
+
this.modalConfig.adapters = _objectSpread(_objectSpread({}, (_this$modalConfig$ada5 = this.modalConfig.adapters) !== null && _this$modalConfig$ada5 !== void 0 ? _this$modalConfig$ada5 : {}), {}, {
|
|
291
|
+
[WALLET_ADAPTERS.WALLET_CONNECT_V2]: _objectSpread(_objectSpread({}, (_this$modalConfig$ada6 = (_this$modalConfig$ada7 = this.modalConfig.adapters) === null || _this$modalConfig$ada7 === void 0 ? void 0 : _this$modalConfig$ada7[WALLET_ADAPTERS.WALLET_CONNECT_V2]) !== null && _this$modalConfig$ada6 !== void 0 ? _this$modalConfig$ada6 : {}), {}, {
|
|
292
|
+
showOnModal: false
|
|
293
|
+
})
|
|
294
|
+
});
|
|
295
|
+
this.modalConfig.adapters[WALLET_ADAPTERS.WALLET_CONNECT_V2].showOnModal = false;
|
|
296
|
+
} else {
|
|
297
|
+
if (!walletConnectProjectId) throw WalletInitializationError.invalidParams("Invalid wallet connect project id. Please configure it on the dashboard");
|
|
298
|
+
walletConnectAdapter.setAdapterSettings({
|
|
299
|
+
adapterSettings: {
|
|
300
|
+
walletConnectInitOptions: {
|
|
301
|
+
projectId: walletConnectProjectId
|
|
302
|
+
}
|
|
232
303
|
}
|
|
233
|
-
}
|
|
234
|
-
}
|
|
304
|
+
});
|
|
305
|
+
}
|
|
235
306
|
}
|
|
236
307
|
return adapterName;
|
|
237
308
|
}
|
|
238
309
|
});
|
|
239
310
|
const adapterNames = await Promise.all(adapterConfigurationPromises);
|
|
240
311
|
const hasInAppWallets = Object.values(this.walletAdapters).some(adapter => {
|
|
241
|
-
var _this$modalConfig$
|
|
312
|
+
var _this$modalConfig$ada8, _this$modalConfig$ada9, _adapter$name;
|
|
242
313
|
if (adapter.type !== ADAPTER_CATEGORY.IN_APP) return false;
|
|
243
|
-
if (((_this$modalConfig$
|
|
244
|
-
if (!((_this$modalConfig$
|
|
314
|
+
if (((_this$modalConfig$ada8 = this.modalConfig.adapters) === null || _this$modalConfig$ada8 === void 0 || (_this$modalConfig$ada8 = _this$modalConfig$ada8[adapter.name]) === null || _this$modalConfig$ada8 === void 0 ? void 0 : _this$modalConfig$ada8.showOnModal) !== true) return false;
|
|
315
|
+
if (!((_this$modalConfig$ada9 = this.modalConfig.adapters) !== null && _this$modalConfig$ada9 !== void 0 && (_this$modalConfig$ada9 = _this$modalConfig$ada9[adapter.name]) !== null && _this$modalConfig$ada9 !== void 0 && _this$modalConfig$ada9.loginMethods)) return true;
|
|
245
316
|
const mergedLoginMethods = getAdapterSocialLogins(adapter.name, (_adapter$name = this.modalConfig.adapters[adapter.name]) === null || _adapter$name === void 0 ? void 0 : _adapter$name.loginMethods);
|
|
246
317
|
if (Object.values(mergedLoginMethods).some(method => method.showOnModal)) return true;
|
|
247
318
|
return false;
|
|
@@ -279,8 +350,8 @@ class Web3Auth extends Web3AuthNoModal {
|
|
|
279
350
|
this.status = ADAPTER_STATUS.READY;
|
|
280
351
|
await Promise.all(initPromises);
|
|
281
352
|
const hasExternalWallets = allAdapters.some(adapterName => {
|
|
282
|
-
var _this$walletAdapters$, _this$modalConfig$
|
|
283
|
-
return ((_this$walletAdapters$ = this.walletAdapters[adapterName]) === null || _this$walletAdapters$ === void 0 ? void 0 : _this$walletAdapters$.type) === ADAPTER_CATEGORY.EXTERNAL && ((_this$modalConfig$
|
|
353
|
+
var _this$walletAdapters$, _this$modalConfig$ada10;
|
|
354
|
+
return ((_this$walletAdapters$ = this.walletAdapters[adapterName]) === null || _this$walletAdapters$ === void 0 ? void 0 : _this$walletAdapters$.type) === ADAPTER_CATEGORY.EXTERNAL && ((_this$modalConfig$ada10 = this.modalConfig.adapters) === null || _this$modalConfig$ada10 === void 0 ? void 0 : _this$modalConfig$ada10[adapterName].showOnModal);
|
|
284
355
|
});
|
|
285
356
|
if (hasExternalWallets) {
|
|
286
357
|
this.loginModal.initExternalWalletContainer();
|
|
@@ -296,7 +367,7 @@ class Web3Auth extends Web3AuthNoModal {
|
|
|
296
367
|
}
|
|
297
368
|
}
|
|
298
369
|
async connect() {
|
|
299
|
-
|
|
370
|
+
if (!this.loginModal) throw new Error("Login modal is not initialized");
|
|
300
371
|
// if already connected return provider
|
|
301
372
|
if (this.connectedAdapterName && this.status === ADAPTER_STATUS.CONNECTED && this.provider) return this.provider;
|
|
302
373
|
this.loginModal.open();
|
|
@@ -401,4 +472,3 @@ class Web3Auth extends Web3AuthNoModal {
|
|
|
401
472
|
}
|
|
402
473
|
|
|
403
474
|
export { Web3Auth, defaultEvmDappModalConfig, defaultEvmWalletModalConfig, defaultOtherModalConfig, defaultSolanaDappModalConfig, defaultSolanaWalletModalConfig };
|
|
404
|
-
//# sourceMappingURL=modal.esm.js.map
|