@web3auth/modal 6.1.8 → 7.0.0-beta.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 CHANGED
@@ -110,7 +110,7 @@ const defaultOtherModalConfig = {
110
110
 
111
111
  /***/ }),
112
112
 
113
- /***/ 593:
113
+ /***/ 225:
114
114
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
115
115
 
116
116
  "use strict";
@@ -120,6 +120,9 @@ __webpack_require__.d(__webpack_exports__, {
120
120
  $: () => (/* binding */ Web3Auth)
121
121
  });
122
122
 
123
+ ;// CONCATENATED MODULE: external "@babel/runtime/helpers/objectSpread2"
124
+ const objectSpread2_namespaceObject = require("@babel/runtime/helpers/objectSpread2");
125
+ var objectSpread2_default = /*#__PURE__*/__webpack_require__.n(objectSpread2_namespaceObject);
123
126
  ;// CONCATENATED MODULE: external "@babel/runtime/helpers/defineProperty"
124
127
  const defineProperty_namespaceObject = require("@babel/runtime/helpers/defineProperty");
125
128
  var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty_namespaceObject);
@@ -135,8 +138,6 @@ const ui_namespaceObject = require("@web3auth/ui");
135
138
  var config = __webpack_require__(591);
136
139
  ;// CONCATENATED MODULE: ./src/default.ts
137
140
 
138
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
139
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { defineProperty_default()(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
140
141
 
141
142
 
142
143
  async function getPrivateKeyProvider(chainConfig) {
@@ -180,7 +181,7 @@ const getDefaultAdapterModule = async params => {
180
181
  web3AuthNetwork
181
182
  } = params;
182
183
  if (!Object.values(base_.CHAIN_NAMESPACES).includes(customChainConfig.chainNamespace)) throw new Error(`Invalid chainNamespace: ${customChainConfig.chainNamespace}`);
183
- const finalChainConfig = _objectSpread(_objectSpread({}, (0,base_.getChainConfig)(customChainConfig.chainNamespace, customChainConfig === null || customChainConfig === void 0 ? void 0 : customChainConfig.chainId)), customChainConfig || {});
184
+ const finalChainConfig = objectSpread2_default()(objectSpread2_default()({}, (0,base_.getChainConfig)(customChainConfig.chainNamespace, customChainConfig === null || customChainConfig === void 0 ? void 0 : customChainConfig.chainId)), customChainConfig || {});
184
185
  if (name === base_.WALLET_ADAPTERS.TORUS_EVM) {
185
186
  const {
186
187
  TorusWalletAdapter
@@ -249,10 +250,10 @@ const getDefaultAdapterModule = async params => {
249
250
  } = await Promise.resolve(/* import() */).then(__webpack_require__.t.bind(__webpack_require__, 683, 23));
250
251
  const privateKeyProvider = await getPrivateKeyProvider(finalChainConfig);
251
252
  const defaultOptions = getOpenloginDefaultOptions();
252
- const adapter = new OpenloginAdapter(_objectSpread(_objectSpread({}, defaultOptions), {}, {
253
+ const adapter = new OpenloginAdapter(objectSpread2_default()(objectSpread2_default()({}, defaultOptions), {}, {
253
254
  clientId,
254
- chainConfig: _objectSpread({}, finalChainConfig),
255
- adapterSettings: _objectSpread(_objectSpread({}, defaultOptions.adapterSettings), {}, {
255
+ chainConfig: objectSpread2_default()({}, finalChainConfig),
256
+ adapterSettings: objectSpread2_default()(objectSpread2_default()({}, defaultOptions.adapterSettings), {}, {
256
257
  clientId,
257
258
  network: web3AuthNetwork
258
259
  }),
@@ -286,8 +287,7 @@ const getUserLanguage = defaultLanguage => {
286
287
  };
287
288
  ;// CONCATENATED MODULE: ./src/modalManager.ts
288
289
 
289
- function modalManager_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
290
- function modalManager_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? modalManager_ownKeys(Object(source), !0).forEach(function (key) { defineProperty_default()(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : modalManager_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
290
+
291
291
 
292
292
 
293
293
 
@@ -302,7 +302,7 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
302
302
  defineProperty_default()(this, "loginModal", void 0);
303
303
  defineProperty_default()(this, "options", void 0);
304
304
  defineProperty_default()(this, "modalConfig", config/* defaultEvmDappModalConfig */.OW);
305
- this.options = modalManager_objectSpread({}, options);
305
+ this.options = objectSpread2_default()({}, options);
306
306
  const providedChainConfig = this.options.chainConfig;
307
307
  if (providedChainConfig.chainNamespace === base_.CHAIN_NAMESPACES.SOLANA) {
308
308
  if (options.authMode === "WALLET") {
@@ -336,7 +336,6 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
336
336
  displayErrorsOnModal: (_this$options$uiConfi5 = this.options.uiConfig) === null || _this$options$uiConfi5 === void 0 ? void 0 : _this$options$uiConfi5.displayErrorsOnModal,
337
337
  defaultLanguage,
338
338
  modalZIndex: ((_this$options$uiConfi6 = this.options.uiConfig) === null || _this$options$uiConfi6 === void 0 ? void 0 : _this$options$uiConfi6.modalZIndex) || "99998",
339
- web3AuthNetwork: this.options.web3AuthNetwork,
340
339
  loginGridCol: ((_this$options$uiConfi7 = this.options.uiConfig) === null || _this$options$uiConfi7 === void 0 ? void 0 : _this$options$uiConfi7.loginGridCol) || 3,
341
340
  primaryButton: ((_this$options$uiConfi8 = this.options.uiConfig) === null || _this$options$uiConfi8 === void 0 ? void 0 : _this$options$uiConfi8.primaryButton) || "socialLogin"
342
341
  });
@@ -361,7 +360,7 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
361
360
 
362
361
  // override the default config of adapter if some config is being provided by the user.
363
362
  if (params !== null && params !== void 0 && (_params$modalConfig = params.modalConfig) !== null && _params$modalConfig !== void 0 && _params$modalConfig[adapterName]) {
364
- adapterConfig = modalManager_objectSpread(modalManager_objectSpread({}, adapterConfig), params.modalConfig[adapterName]);
363
+ adapterConfig = objectSpread2_default()(objectSpread2_default()({}, adapterConfig), params.modalConfig[adapterName]);
365
364
  }
366
365
  this.modalConfig.adapters[adapterName] = adapterConfig;
367
366
 
@@ -397,7 +396,7 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
397
396
  // and chainNamespace.
398
397
  if (!adapter.chainConfigProxy) {
399
398
  var _this$coreOptions$cha;
400
- const chainConfig = modalManager_objectSpread(modalManager_objectSpread({}, (0,base_.getChainConfig)(providedChainConfig.chainNamespace, (_this$coreOptions$cha = this.coreOptions.chainConfig) === null || _this$coreOptions$cha === void 0 ? void 0 : _this$coreOptions$cha.chainId)), this.coreOptions.chainConfig);
399
+ const chainConfig = objectSpread2_default()(objectSpread2_default()({}, (0,base_.getChainConfig)(providedChainConfig.chainNamespace, (_this$coreOptions$cha = this.coreOptions.chainConfig) === null || _this$coreOptions$cha === void 0 ? void 0 : _this$coreOptions$cha.chainId)), this.coreOptions.chainConfig);
401
400
  this.walletAdapters[adapterName].setAdapterSettings({
402
401
  chainConfig
403
402
  });
@@ -414,23 +413,18 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
414
413
  return adapterName;
415
414
  }
416
415
  });
417
- let adapterNames = await Promise.all(adapterConfigurationPromises);
416
+ const adapterNames = await Promise.all(adapterConfigurationPromises);
418
417
  const hasInAppWallets = Object.values(this.walletAdapters).some(adapter => {
419
418
  var _this$modalConfig$ada5, _this$modalConfig$ada6, _adapter$name;
420
419
  if (adapter.type !== base_.ADAPTER_CATEGORY.IN_APP) return false;
421
420
  if (((_this$modalConfig$ada5 = this.modalConfig.adapters) === null || _this$modalConfig$ada5 === void 0 || (_this$modalConfig$ada5 = _this$modalConfig$ada5[adapter.name]) === null || _this$modalConfig$ada5 === void 0 ? void 0 : _this$modalConfig$ada5.showOnModal) !== true) return false;
422
421
  if (!((_this$modalConfig$ada6 = this.modalConfig.adapters) !== null && _this$modalConfig$ada6 !== void 0 && (_this$modalConfig$ada6 = _this$modalConfig$ada6[adapter.name]) !== null && _this$modalConfig$ada6 !== void 0 && _this$modalConfig$ada6.loginMethods)) return true;
423
- const mergedLoginMethods = (0,ui_namespaceObject.getAdapterSocialLogins)(adapter.name, this.walletAdapters[adapter.name], (_adapter$name = this.modalConfig.adapters[adapter.name]) === null || _adapter$name === void 0 ? void 0 : _adapter$name.loginMethods);
422
+ 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);
424
423
  if (Object.values(mergedLoginMethods).some(method => method.showOnModal)) return true;
425
424
  return false;
426
425
  });
427
426
  base_.log.debug(hasInAppWallets, this.walletAdapters, adapterNames, "hasInAppWallets");
428
427
 
429
- // if both wc1 and wc2 are configured, give precedence to wc2.
430
- if (this.walletAdapters[base_.WALLET_ADAPTERS.WALLET_CONNECT_V1] && this.walletAdapters[base_.WALLET_ADAPTERS.WALLET_CONNECT_V2]) {
431
- delete this.walletAdapters[base_.WALLET_ADAPTERS.WALLET_CONNECT_V1];
432
- adapterNames = adapterNames.filter(ad => ad !== base_.WALLET_ADAPTERS.WALLET_CONNECT_V1);
433
- }
434
428
  // Now, initialize the adapters.
435
429
  const initPromises = adapterNames.map(async adapterName => {
436
430
  if (!adapterName) return;
@@ -527,7 +521,7 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
527
521
  base_.log.info("adapterInitResults", adapterName);
528
522
  if (this.walletAdapters[adapterName].type === base_.ADAPTER_CATEGORY.IN_APP) {
529
523
  var _adapterName, _this$options$uiConfi9, _this$options$uiConfi10, _this$options$uiConfi11;
530
- this.loginModal.addSocialLogins(adapterName, (0,ui_namespaceObject.getAdapterSocialLogins)(adapterName, this.walletAdapters[adapterName], (_adapterName = this.modalConfig.adapters[adapterName]) === null || _adapterName === void 0 ? void 0 : _adapterName.loginMethods), ((_this$options$uiConfi9 = this.options.uiConfig) === null || _this$options$uiConfi9 === void 0 ? void 0 : _this$options$uiConfi9.loginMethodsOrder) || ui_namespaceObject.OPENLOGIN_PROVIDERS, modalManager_objectSpread(modalManager_objectSpread({}, this.options.uiConfig), {}, {
524
+ this.loginModal.addSocialLogins(adapterName, (0,ui_namespaceObject.getAdapterSocialLogins)(adapterName, (_adapterName = this.modalConfig.adapters[adapterName]) === null || _adapterName === void 0 ? void 0 : _adapterName.loginMethods), ((_this$options$uiConfi9 = this.options.uiConfig) === null || _this$options$uiConfi9 === void 0 ? void 0 : _this$options$uiConfi9.loginMethodsOrder) || ui_namespaceObject.OPENLOGIN_PROVIDERS, objectSpread2_default()(objectSpread2_default()({}, this.options.uiConfig), {}, {
531
525
  loginGridCol: ((_this$options$uiConfi10 = this.options.uiConfig) === null || _this$options$uiConfi10 === void 0 ? void 0 : _this$options$uiConfi10.loginGridCol) || 3,
532
526
  primaryButton: ((_this$options$uiConfi11 = this.options.uiConfig) === null || _this$options$uiConfi11 === void 0 ? void 0 : _this$options$uiConfi11.primaryButton) || "socialLogin"
533
527
  }));
@@ -554,7 +548,7 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
554
548
  this.loginModal.on(ui_namespaceObject.LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, async visibility => {
555
549
  base_.log.debug("is login modal visible", visibility);
556
550
  this.emit(ui_namespaceObject.LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, visibility);
557
- const adapter = this.walletAdapters[base_.WALLET_ADAPTERS.WALLET_CONNECT_V2] || this.walletAdapters[base_.WALLET_ADAPTERS.WALLET_CONNECT_V1];
551
+ const adapter = this.walletAdapters[base_.WALLET_ADAPTERS.WALLET_CONNECT_V2];
558
552
  if (adapter) {
559
553
  const walletConnectStatus = adapter === null || adapter === void 0 ? void 0 : adapter.status;
560
554
  base_.log.debug("trying refreshing wc session", visibility, walletConnectStatus);
@@ -764,7 +758,7 @@ __webpack_require__.r(__webpack_exports__);
764
758
  /* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};
765
759
  /* 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__]
766
760
  /* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
767
- /* harmony import */ var _modalManager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(593);
761
+ /* harmony import */ var _modalManager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(225);
768
762
 
769
763
 
770
764
 
@@ -1 +1 @@
1
- {"version":3,"file":"modal.cjs.js","mappings":"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","sources":["webpack://@web3auth/modal/./src/config.ts","webpack://@web3auth/modal/external commonjs2 \"@babel/runtime/helpers/defineProperty\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/base-provider\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/no-modal\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/ui\"","webpack://@web3auth/modal/./src/default.ts","webpack://@web3auth/modal/./src/utils.ts","webpack://@web3auth/modal/./src/modalManager.ts","webpack://@web3auth/modal/external commonjs2 \"@web3auth/base\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/ethereum-provider\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/metamask-adapter\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/openlogin-adapter\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/phantom-adapter\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/solana-provider\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/torus-evm-adapter\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/torus-solana-adapter\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/wallet-connect-v2-adapter\"","webpack://@web3auth/modal/webpack/bootstrap","webpack://@web3auth/modal/webpack/runtime/compat get default export","webpack://@web3auth/modal/webpack/runtime/create fake namespace object","webpack://@web3auth/modal/webpack/runtime/define property getters","webpack://@web3auth/modal/webpack/runtime/hasOwnProperty shorthand","webpack://@web3auth/modal/webpack/runtime/make namespace object","webpack://@web3auth/modal/./src/index.ts"],"sourcesContent":["import { CHAIN_NAMESPACES, EVM_ADAPTERS, SOLANA_ADAPTERS } from \"@web3auth/base\";\n\nimport { AdaptersModalConfig } from \"./interface\";\n\nexport const defaultSolanaDappModalConfig: AdaptersModalConfig = {\n chainNamespace: CHAIN_NAMESPACES.SOLANA,\n adapters: {\n [SOLANA_ADAPTERS.TORUS_SOLANA]: {\n label: \"Torus Wallet\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n [SOLANA_ADAPTERS.OPENLOGIN]: {\n label: \"OpenLogin\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n [SOLANA_ADAPTERS.PHANTOM]: {\n label: \"Phantom\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n },\n};\n\nexport const defaultEvmDappModalConfig: AdaptersModalConfig = {\n chainNamespace: CHAIN_NAMESPACES.EIP155,\n adapters: {\n [EVM_ADAPTERS.TORUS_EVM]: {\n label: \"Torus Wallet\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n [EVM_ADAPTERS.METAMASK]: {\n label: \"MetaMask\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n [EVM_ADAPTERS.OPENLOGIN]: {\n label: \"OpenLogin\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n [EVM_ADAPTERS.WALLET_CONNECT_V2]: {\n label: \"Wallet Connect\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n },\n};\n\nexport const defaultSolanaWalletModalConfig: AdaptersModalConfig = {\n chainNamespace: CHAIN_NAMESPACES.SOLANA,\n adapters: {\n [SOLANA_ADAPTERS.OPENLOGIN]: {\n label: \"OpenLogin\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n },\n};\n\nexport const defaultEvmWalletModalConfig: AdaptersModalConfig = {\n chainNamespace: CHAIN_NAMESPACES.EIP155,\n adapters: {\n [EVM_ADAPTERS.OPENLOGIN]: {\n label: \"OpenLogin\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n },\n};\n\nexport const defaultOtherModalConfig: AdaptersModalConfig = {\n chainNamespace: CHAIN_NAMESPACES.OTHER,\n adapters: {\n [EVM_ADAPTERS.OPENLOGIN]: {\n label: \"OpenLogin\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n },\n};\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@babel/runtime/helpers/defineProperty\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@web3auth/base-provider\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@web3auth/no-modal\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@web3auth/ui\");","import type { OPENLOGIN_NETWORK_TYPE, OpenLoginOptions } from \"@toruslabs/openlogin-utils\";\nimport { CHAIN_NAMESPACES, CustomChainConfig, getChainConfig, IAdapter, WALLET_ADAPTER_TYPE, WALLET_ADAPTERS } from \"@web3auth/base\";\nimport { CommonPrivateKeyProvider, IBaseProvider } from \"@web3auth/base-provider\";\n\nexport async function getPrivateKeyProvider(chainConfig: CustomChainConfig): Promise<IBaseProvider<string>> {\n if (chainConfig.chainNamespace === CHAIN_NAMESPACES.SOLANA) {\n const { SolanaPrivateKeyProvider } = await import(\"@web3auth/solana-provider\");\n return new SolanaPrivateKeyProvider({ config: { chainConfig } });\n } else if (chainConfig.chainNamespace === CHAIN_NAMESPACES.EIP155) {\n const { EthereumPrivateKeyProvider } = await import(\"@web3auth/ethereum-provider\");\n return new EthereumPrivateKeyProvider({ config: { chainConfig } });\n } else if (chainConfig.chainNamespace === CHAIN_NAMESPACES.OTHER) {\n // Modal doesn't support ripple provider\n // Can always override this with a custom provider\n return new CommonPrivateKeyProvider({ config: { chainConfig } });\n }\n throw new Error(`Invalid chainNamespace: ${chainConfig.chainNamespace} found while connecting to wallet`);\n}\n\n// warning: this function is not compatible with \"OTHER\" chain namespace.\nexport const getDefaultAdapterModule = async (params: {\n name: WALLET_ADAPTER_TYPE;\n clientId: string;\n customChainConfig: Partial<CustomChainConfig> & Pick<CustomChainConfig, \"chainNamespace\">;\n sessionTime?: number;\n web3AuthNetwork?: OPENLOGIN_NETWORK_TYPE;\n}): Promise<IAdapter<unknown>> => {\n const { name, customChainConfig, clientId, sessionTime, web3AuthNetwork } = params;\n if (!Object.values(CHAIN_NAMESPACES).includes(customChainConfig.chainNamespace))\n throw new Error(`Invalid chainNamespace: ${customChainConfig.chainNamespace}`);\n const finalChainConfig = {\n ...(getChainConfig(customChainConfig.chainNamespace, customChainConfig?.chainId) as CustomChainConfig),\n ...(customChainConfig || {}),\n };\n if (name === WALLET_ADAPTERS.TORUS_EVM) {\n const { TorusWalletAdapter } = await import(\"@web3auth/torus-evm-adapter\");\n const adapter = new TorusWalletAdapter({ chainConfig: finalChainConfig, clientId, sessionTime, web3AuthNetwork });\n return adapter;\n } else if (name === WALLET_ADAPTERS.TORUS_SOLANA) {\n const { SolanaWalletAdapter } = await import(\"@web3auth/torus-solana-adapter\");\n const adapter = new SolanaWalletAdapter({ chainConfig: finalChainConfig, clientId, sessionTime, web3AuthNetwork });\n return adapter;\n } else if (name === WALLET_ADAPTERS.METAMASK) {\n const { MetamaskAdapter } = await import(\"@web3auth/metamask-adapter\");\n const adapter = new MetamaskAdapter({ chainConfig: finalChainConfig, clientId, sessionTime, web3AuthNetwork });\n return adapter;\n } else if (name === WALLET_ADAPTERS.PHANTOM) {\n const { PhantomAdapter } = await import(\"@web3auth/phantom-adapter\");\n const adapter = new PhantomAdapter({ chainConfig: finalChainConfig, clientId, sessionTime, web3AuthNetwork });\n return adapter;\n } else if (name === WALLET_ADAPTERS.WALLET_CONNECT_V2) {\n const { WalletConnectV2Adapter } = await import(\"@web3auth/wallet-connect-v2-adapter\");\n const adapter = new WalletConnectV2Adapter({\n chainConfig: finalChainConfig,\n clientId,\n sessionTime,\n web3AuthNetwork,\n adapterSettings: {\n walletConnectInitOptions: {\n // Using a default wallet connect project id for web3auth modal integration\n projectId: \"d3c63f19f9582f8ba48e982057eb096b\",\n },\n },\n });\n return adapter;\n } else if (name === WALLET_ADAPTERS.OPENLOGIN) {\n const { OpenloginAdapter, getOpenloginDefaultOptions } = await import(\"@web3auth/openlogin-adapter\");\n\n const privateKeyProvider: IBaseProvider<string> = await getPrivateKeyProvider(finalChainConfig);\n\n const defaultOptions = getOpenloginDefaultOptions();\n const adapter = new OpenloginAdapter({\n ...defaultOptions,\n clientId,\n chainConfig: { ...finalChainConfig },\n adapterSettings: { ...(defaultOptions.adapterSettings as OpenLoginOptions), clientId, network: web3AuthNetwork },\n sessionTime,\n web3AuthNetwork,\n privateKeyProvider,\n });\n return adapter;\n }\n throw new Error(\"Invalid wallet adapter name\");\n};\n","interface NavigatorLanguage {\n userLanguage?: string;\n}\n\nexport const languageMap = {\n en: \"english\",\n de: \"german\",\n ja: \"japanese\",\n ko: \"korean\",\n zh: \"mandarin\",\n es: \"spanish\",\n fr: \"french\",\n pt: \"portuguese\",\n nl: \"dutch\",\n};\n\nexport const getUserLanguage = (defaultLanguage: string | undefined) => {\n let userLanguage = defaultLanguage;\n if (!userLanguage) {\n const browserLanguage =\n typeof window !== \"undefined\" ? (window.navigator as NavigatorLanguage).userLanguage || window.navigator.language || \"en-US\" : \"en-US\";\n userLanguage = browserLanguage.split(\"-\")[0];\n }\n return Object.prototype.hasOwnProperty.call(languageMap, userLanguage) ? userLanguage : \"en\";\n};\n","import {\n ADAPTER_CATEGORY,\n ADAPTER_EVENTS,\n ADAPTER_STATUS,\n BaseAdapterConfig,\n CHAIN_NAMESPACES,\n CustomChainConfig,\n getChainConfig,\n log,\n LoginMethodConfig,\n SafeEventEmitterProvider,\n WALLET_ADAPTER_TYPE,\n WALLET_ADAPTERS,\n} from \"@web3auth/base\";\nimport { CommonJRPCProvider } from \"@web3auth/base-provider\";\nimport { Web3AuthNoModal, Web3AuthNoModalOptions } from \"@web3auth/no-modal\";\nimport type { OpenloginAdapter } from \"@web3auth/openlogin-adapter\";\nimport { getAdapterSocialLogins, LOGIN_MODAL_EVENTS, LoginModal, OPENLOGIN_PROVIDERS, UIConfig } from \"@web3auth/ui\";\n\nimport {\n defaultEvmDappModalConfig,\n defaultEvmWalletModalConfig,\n defaultOtherModalConfig,\n defaultSolanaDappModalConfig,\n defaultSolanaWalletModalConfig,\n} from \"./config\";\nimport { getDefaultAdapterModule, getPrivateKeyProvider } from \"./default\";\nimport { AdaptersModalConfig, IWeb3AuthModal, ModalConfig } from \"./interface\";\nimport { getUserLanguage } from \"./utils\";\n\nexport interface Web3AuthOptions extends Web3AuthNoModalOptions {\n /**\n * web3auth instance provides different adapters for different type of usages. If you are dapp and want to\n * use external wallets like metamask, then you can use the `DAPP` authMode.\n * If you are a wallet and only want to use you own wallet implementations along with openlogin,\n * then you should use `WALLET` authMode.\n *\n * @defaultValue `DAPP`\n */\n authMode?: \"DAPP\" | \"WALLET\";\n /**\n * Config for configuring modal ui display properties\n */\n uiConfig?: Omit<UIConfig, \"adapterListener\">;\n}\n\nexport class Web3Auth extends Web3AuthNoModal implements IWeb3AuthModal {\n public loginModal: LoginModal;\n\n readonly options: Web3AuthOptions;\n\n private modalConfig: AdaptersModalConfig = defaultEvmDappModalConfig;\n\n constructor(options: Web3AuthOptions) {\n super(options);\n this.options = { ...options };\n const providedChainConfig = this.options.chainConfig;\n if (providedChainConfig.chainNamespace === CHAIN_NAMESPACES.SOLANA) {\n if (options.authMode === \"WALLET\") {\n // default config for solana wallet modal\n this.modalConfig = defaultSolanaWalletModalConfig;\n } else {\n // default config for solana dapp modal\n this.modalConfig = defaultSolanaDappModalConfig;\n }\n } else if (providedChainConfig.chainNamespace === CHAIN_NAMESPACES.EIP155) {\n if (options.authMode === \"WALLET\") {\n // default config for evm wallet modal\n this.modalConfig = defaultEvmWalletModalConfig;\n } else {\n // default config for evm dapp modal\n this.modalConfig = defaultEvmDappModalConfig;\n }\n } else if (providedChainConfig.chainNamespace === CHAIN_NAMESPACES.OTHER) {\n this.modalConfig = defaultOtherModalConfig;\n } else {\n throw new Error(`Invalid chainNamespace provided: ${providedChainConfig.chainNamespace}`);\n }\n\n // get userLanguage\n const defaultLanguage = getUserLanguage(this.options.uiConfig?.defaultLanguage);\n\n this.loginModal = new LoginModal({\n theme: this.options.uiConfig?.theme,\n appName: this.options.uiConfig?.appName || \"blockchain\",\n appLogo: this.options.uiConfig?.appLogo || \"\",\n adapterListener: this,\n displayErrorsOnModal: this.options.uiConfig?.displayErrorsOnModal,\n defaultLanguage,\n modalZIndex: this.options.uiConfig?.modalZIndex || \"99998\",\n web3AuthNetwork: this.options.web3AuthNetwork,\n loginGridCol: this.options.uiConfig?.loginGridCol || 3,\n primaryButton: this.options.uiConfig?.primaryButton || \"socialLogin\",\n });\n this.subscribeToLoginModalEvents();\n }\n\n public async initModal(params?: { modalConfig?: Record<WALLET_ADAPTER_TYPE, ModalConfig> }): Promise<void> {\n super.checkInitRequirements();\n await this.loginModal.initModal();\n const providedChainConfig = this.options.chainConfig;\n\n // merge default adapters with the custom configured adapters.\n const allAdapters = [...new Set([...Object.keys(this.modalConfig.adapters || {}), ...Object.keys(this.walletAdapters)])];\n\n const adapterConfigurationPromises = allAdapters.map(async (adapterName) => {\n // start with the default config of adapter.\n let adapterConfig = this.modalConfig.adapters?.[adapterName] || {\n label: adapterName,\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n };\n\n // override the default config of adapter if some config is being provided by the user.\n if (params?.modalConfig?.[adapterName]) {\n adapterConfig = { ...adapterConfig, ...params.modalConfig[adapterName] };\n }\n (this.modalConfig.adapters as Record<WALLET_ADAPTER_TYPE, ModalConfig>)[adapterName] = adapterConfig as ModalConfig;\n\n // check if adapter is configured/added by user and exist in walletAdapters map.\n const adapter = this.walletAdapters[adapterName];\n log.debug(\"adapter config\", adapterName, this.modalConfig.adapters?.[adapterName].showOnModal, adapter);\n\n // if adapter is not custom configured then check if it is available in default adapters.\n // and if adapter is not hidden by user\n if (!adapter && this.modalConfig.adapters?.[adapterName].showOnModal) {\n // if adapter is not configured and some default configuration is available, use it.\n const ad = await getDefaultAdapterModule({\n name: adapterName,\n customChainConfig: this.options.chainConfig,\n clientId: this.options.clientId,\n sessionTime: this.options.sessionTime,\n web3AuthNetwork: this.options.web3AuthNetwork,\n });\n\n this.walletAdapters[adapterName] = ad;\n return adapterName;\n } else if (adapter?.type === ADAPTER_CATEGORY.IN_APP || adapter?.type === ADAPTER_CATEGORY.EXTERNAL || adapterName === this.cachedAdapter) {\n if (!this.modalConfig.adapters?.[adapterName].showOnModal) return;\n // add client id to adapter, same web3auth client id can be used in adapter.\n // this id is being overridden if user is also passing client id in adapter's constructor.\n this.walletAdapters[adapterName].setAdapterSettings({\n clientId: this.options.clientId,\n sessionTime: this.options.sessionTime,\n web3AuthNetwork: this.options.web3AuthNetwork,\n });\n\n // if adapter doesn't have any chainConfig then we will set the chainConfig based of passed chainNamespace\n // and chainNamespace.\n if (!adapter.chainConfigProxy) {\n const chainConfig = {\n ...getChainConfig(providedChainConfig.chainNamespace, this.coreOptions.chainConfig?.chainId),\n ...this.coreOptions.chainConfig,\n } as CustomChainConfig;\n this.walletAdapters[adapterName].setAdapterSettings({ chainConfig });\n }\n\n if (adapterName === WALLET_ADAPTERS.OPENLOGIN) {\n const openloginAdapter = this.walletAdapters[adapterName] as OpenloginAdapter;\n if (!openloginAdapter.privateKeyProvider) {\n const currentPrivateKeyProvider = await getPrivateKeyProvider(openloginAdapter.chainConfigProxy as CustomChainConfig);\n openloginAdapter.setAdapterSettings({ privateKeyProvider: currentPrivateKeyProvider });\n }\n }\n\n return adapterName;\n }\n });\n\n let adapterNames = await Promise.all(adapterConfigurationPromises);\n const hasInAppWallets = Object.values(this.walletAdapters).some((adapter) => {\n if (adapter.type !== ADAPTER_CATEGORY.IN_APP) return false;\n if (this.modalConfig.adapters?.[adapter.name]?.showOnModal !== true) return false;\n if (!this.modalConfig.adapters?.[adapter.name]?.loginMethods) return true;\n const mergedLoginMethods = getAdapterSocialLogins(\n adapter.name,\n this.walletAdapters[adapter.name],\n (this.modalConfig.adapters as Record<WALLET_ADAPTER_TYPE, ModalConfig>)[adapter.name]?.loginMethods\n );\n if (Object.values(mergedLoginMethods).some((method: LoginMethodConfig[keyof LoginMethodConfig]) => method.showOnModal)) return true;\n return false;\n });\n log.debug(hasInAppWallets, this.walletAdapters, adapterNames, \"hasInAppWallets\");\n\n // if both wc1 and wc2 are configured, give precedence to wc2.\n if (this.walletAdapters[WALLET_ADAPTERS.WALLET_CONNECT_V1] && this.walletAdapters[WALLET_ADAPTERS.WALLET_CONNECT_V2]) {\n delete this.walletAdapters[WALLET_ADAPTERS.WALLET_CONNECT_V1];\n adapterNames = adapterNames.filter((ad) => ad !== WALLET_ADAPTERS.WALLET_CONNECT_V1);\n }\n // Now, initialize the adapters.\n const initPromises = adapterNames.map(async (adapterName) => {\n if (!adapterName) return;\n try {\n const adapter = this.walletAdapters[adapterName];\n // only initialize a external adapter here if it is a cached adapter.\n if (this.cachedAdapter !== adapterName && adapter.type === ADAPTER_CATEGORY.EXTERNAL) {\n return;\n }\n // in-app wallets or cached wallet (being connected or already connected) are initialized first.\n // if adapter is configured thn only initialize in app or cached adapter.\n // external wallets are initialized on INIT_EXTERNAL_WALLET event.\n this.subscribeToAdapterEvents(adapter);\n if (adapter.status === ADAPTER_STATUS.NOT_READY) await adapter.init({ autoConnect: this.cachedAdapter === adapterName });\n // note: not adding cachedWallet to modal if it is external wallet.\n // adding it later if no in-app wallets are available.\n if (adapter.type === ADAPTER_CATEGORY.IN_APP) {\n this.initializeInAppWallet(adapterName);\n }\n } catch (error) {\n log.error(error, \"error while initializing adapter\");\n }\n });\n\n this.commonJRPCProvider = await CommonJRPCProvider.getProviderInstance({ chainConfig: this.coreOptions.chainConfig as CustomChainConfig });\n this.status = ADAPTER_STATUS.READY;\n await Promise.all(initPromises);\n\n const hasExternalWallets = allAdapters.some((adapterName) => {\n return this.walletAdapters[adapterName]?.type === ADAPTER_CATEGORY.EXTERNAL && this.modalConfig.adapters?.[adapterName].showOnModal;\n });\n\n if (hasExternalWallets) {\n this.loginModal.initExternalWalletContainer();\n }\n\n // variable to check if we have any in app wallets\n // currently all default in app and external wallets can be hidden or shown based on config.\n if (!hasInAppWallets && hasExternalWallets) {\n // if no in app wallet is available then initialize external wallets in modal\n await this.initExternalWalletAdapters(false, { showExternalWalletsOnly: true });\n }\n }\n\n public async connect(): Promise<SafeEventEmitterProvider | null> {\n // if (!this.loginModal.initialized) throw new Error(\"Login modal is not initialized\");\n // if already connected return provider\n if (this.connectedAdapterName && this.status === ADAPTER_STATUS.CONNECTED && this.provider) return this.provider;\n this.loginModal.open();\n return new Promise((resolve, reject) => {\n this.once(ADAPTER_EVENTS.CONNECTED, () => {\n return resolve(this.provider);\n });\n this.once(ADAPTER_EVENTS.ERRORED, (err: unknown) => {\n return reject(err);\n });\n });\n }\n\n private async initExternalWalletAdapters(externalWalletsInitialized: boolean, options?: { showExternalWalletsOnly: boolean }): Promise<void> {\n if (externalWalletsInitialized) return;\n const adaptersConfig: Record<string, BaseAdapterConfig> = {};\n Object.keys(this.walletAdapters).forEach(async (adapterName) => {\n const adapter = this.walletAdapters[adapterName];\n if (adapter?.type === ADAPTER_CATEGORY.EXTERNAL) {\n log.debug(\"init external wallet\", this.cachedAdapter, adapterName);\n this.subscribeToAdapterEvents(adapter);\n // we are not initializing cached adapter here as it is already being initialized in initModal before.\n if (this.cachedAdapter === adapterName) {\n return;\n }\n if (adapter.status === ADAPTER_STATUS.NOT_READY) {\n await adapter\n .init({ autoConnect: this.cachedAdapter === adapterName })\n .then(() => {\n adaptersConfig[adapterName] = (this.modalConfig.adapters as Record<WALLET_ADAPTER_TYPE, ModalConfig>)[adapterName];\n this.loginModal.addWalletLogins(adaptersConfig, { showExternalWalletsOnly: !!options?.showExternalWalletsOnly });\n return undefined;\n })\n .catch((error) => log.error(error, \"error while initializing adapter\"));\n } else if (adapter.status === ADAPTER_STATUS.READY) {\n adaptersConfig[adapterName] = (this.modalConfig.adapters as Record<WALLET_ADAPTER_TYPE, ModalConfig>)[adapterName];\n this.loginModal.addWalletLogins(adaptersConfig, { showExternalWalletsOnly: !!options?.showExternalWalletsOnly });\n }\n }\n });\n }\n\n private initializeInAppWallet(adapterName: string): void {\n log.info(\"adapterInitResults\", adapterName);\n if (this.walletAdapters[adapterName].type === ADAPTER_CATEGORY.IN_APP) {\n this.loginModal.addSocialLogins(\n adapterName,\n getAdapterSocialLogins(\n adapterName,\n this.walletAdapters[adapterName],\n (this.modalConfig.adapters as Record<WALLET_ADAPTER_TYPE, ModalConfig>)[adapterName]?.loginMethods\n ),\n this.options.uiConfig?.loginMethodsOrder || OPENLOGIN_PROVIDERS,\n {\n ...this.options.uiConfig,\n loginGridCol: this.options.uiConfig?.loginGridCol || 3,\n primaryButton: this.options.uiConfig?.primaryButton || \"socialLogin\",\n }\n );\n }\n }\n\n private subscribeToLoginModalEvents(): void {\n this.loginModal.on(LOGIN_MODAL_EVENTS.LOGIN, async (params: { adapter: WALLET_ADAPTER_TYPE; loginParams: unknown }) => {\n try {\n await this.connectTo<unknown>(params.adapter, params.loginParams);\n } catch (error) {\n log.error(`Error while connecting to adapter: ${params.adapter}`, error);\n }\n });\n this.loginModal.on(LOGIN_MODAL_EVENTS.INIT_EXTERNAL_WALLETS, async (params: { externalWalletsInitialized: boolean }) => {\n await this.initExternalWalletAdapters(params.externalWalletsInitialized);\n });\n this.loginModal.on(LOGIN_MODAL_EVENTS.DISCONNECT, async () => {\n try {\n await this.logout();\n } catch (error) {\n log.error(`Error while disconnecting`, error);\n }\n });\n this.loginModal.on(LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, async (visibility: boolean) => {\n log.debug(\"is login modal visible\", visibility);\n this.emit(LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, visibility);\n const adapter = this.walletAdapters[WALLET_ADAPTERS.WALLET_CONNECT_V2] || this.walletAdapters[WALLET_ADAPTERS.WALLET_CONNECT_V1];\n if (adapter) {\n const walletConnectStatus = adapter?.status;\n log.debug(\"trying refreshing wc session\", visibility, walletConnectStatus);\n if (visibility && (walletConnectStatus === ADAPTER_STATUS.READY || walletConnectStatus === ADAPTER_STATUS.CONNECTING)) {\n log.debug(\"refreshing wc session\");\n\n // refreshing session for wallet connect whenever modal is opened.\n try {\n adapter.connect();\n } catch (error) {\n log.error(`Error while disconnecting to wallet connect in core`, error);\n }\n }\n }\n });\n }\n}\n","module.exports = require(\"@web3auth/base\");","module.exports = require(\"@web3auth/ethereum-provider\");","module.exports = require(\"@web3auth/metamask-adapter\");","module.exports = require(\"@web3auth/openlogin-adapter\");","module.exports = require(\"@web3auth/phantom-adapter\");","module.exports = require(\"@web3auth/solana-provider\");","module.exports = require(\"@web3auth/torus-evm-adapter\");","module.exports = require(\"@web3auth/torus-solana-adapter\");","module.exports = require(\"@web3auth/wallet-connect-v2-adapter\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export * from \"./config\";\nexport * from \"./interface\";\nexport * from \"./modalManager\";\n"],"names":["CHAIN_NAMESPACES","EVM_ADAPTERS","SOLANA_ADAPTERS","defaultSolanaDappModalConfig","chainNamespace","SOLANA","adapters","TORUS_SOLANA","label","showOnModal","showOnMobile","showOnDesktop","OPENLOGIN","PHANTOM","defaultEvmDappModalConfig","EIP155","TORUS_EVM","METAMASK","WALLET_CONNECT_V2","defaultSolanaWalletModalConfig","defaultEvmWalletModalConfig","defaultOtherModalConfig","OTHER","getChainConfig","WALLET_ADAPTERS","CommonPrivateKeyProvider","getPrivateKeyProvider","chainConfig","SolanaPrivateKeyProvider","config","EthereumPrivateKeyProvider","Error","getDefaultAdapterModule","params","name","customChainConfig","clientId","sessionTime","web3AuthNetwork","Object","values","includes","finalChainConfig","_objectSpread","chainId","TorusWalletAdapter","adapter","SolanaWalletAdapter","MetamaskAdapter","PhantomAdapter","WalletConnectV2Adapter","adapterSettings","walletConnectInitOptions","projectId","OpenloginAdapter","getOpenloginDefaultOptions","privateKeyProvider","defaultOptions","network","languageMap","en","de","ja","ko","zh","es","fr","pt","nl","getUserLanguage","defaultLanguage","userLanguage","browserLanguage","window","navigator","language","split","prototype","hasOwnProperty","call","ADAPTER_CATEGORY","ADAPTER_EVENTS","ADAPTER_STATUS","log","CommonJRPCProvider","Web3AuthNoModal","getAdapterSocialLogins","LOGIN_MODAL_EVENTS","LoginModal","OPENLOGIN_PROVIDERS","Web3Auth","constructor","options","_this$options$uiConfi","_this$options$uiConfi2","_this$options$uiConfi3","_this$options$uiConfi4","_this$options$uiConfi5","_this$options$uiConfi6","_this$options$uiConfi7","_this$options$uiConfi8","_defineProperty","providedChainConfig","authMode","modalConfig","uiConfig","loginModal","theme","appName","appLogo","adapterListener","displayErrorsOnModal","modalZIndex","loginGridCol","primaryButton","subscribeToLoginModalEvents","initModal","checkInitRequirements","allAdapters","Set","keys","walletAdapters","adapterConfigurationPromises","map","adapterName","_this$modalConfig$ada","_params$modalConfig","_this$modalConfig$ada2","_this$modalConfig$ada3","adapterConfig","debug","ad","type","IN_APP","EXTERNAL","cachedAdapter","_this$modalConfig$ada4","setAdapterSettings","chainConfigProxy","_this$coreOptions$cha","coreOptions","openloginAdapter","currentPrivateKeyProvider","adapterNames","Promise","all","hasInAppWallets","some","_this$modalConfig$ada5","_this$modalConfig$ada6","_adapter$name","loginMethods","mergedLoginMethods","method","WALLET_CONNECT_V1","filter","initPromises","subscribeToAdapterEvents","status","NOT_READY","init","autoConnect","initializeInAppWallet","error","commonJRPCProvider","getProviderInstance","READY","hasExternalWallets","_this$walletAdapters$","_this$modalConfig$ada7","initExternalWalletContainer","initExternalWalletAdapters","showExternalWalletsOnly","connect","connectedAdapterName","CONNECTED","provider","open","resolve","reject","once","ERRORED","err","externalWalletsInitialized","adaptersConfig","forEach","then","addWalletLogins","undefined","catch","info","_adapterName","_this$options$uiConfi9","_this$options$uiConfi10","_this$options$uiConfi11","addSocialLogins","loginMethodsOrder","on","LOGIN","connectTo","loginParams","INIT_EXTERNAL_WALLETS","DISCONNECT","logout","MODAL_VISIBILITY","visibility","emit","walletConnectStatus","CONNECTING"],"sourceRoot":""}
1
+ {"version":3,"file":"modal.cjs.js","mappings":"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AG,CAAC8E,KAAK,CAAE,qDAAoD,EAAEA,KAAK,CAAC;UACzE;QACF;MACF;IACF,CAAC,CAAC;EACJ;AACF;;;;;;;;ACrUA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;;;ACAA;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA,sDAAsD;WACtD,sCAAsC,iEAAiE;WACvG;WACA;WACA;WACA;WACA;WACA;;;;;WCzBA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;;;;;;;ACNyB;AACG","sources":["webpack://@web3auth/modal/./src/config.ts","webpack://@web3auth/modal/external commonjs2 \"@babel/runtime/helpers/objectSpread2\"","webpack://@web3auth/modal/external commonjs2 \"@babel/runtime/helpers/defineProperty\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/base-provider\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/no-modal\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/ui\"","webpack://@web3auth/modal/./src/default.ts","webpack://@web3auth/modal/./src/utils.ts","webpack://@web3auth/modal/./src/modalManager.ts","webpack://@web3auth/modal/external commonjs2 \"@web3auth/base\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/ethereum-provider\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/metamask-adapter\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/openlogin-adapter\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/phantom-adapter\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/solana-provider\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/torus-evm-adapter\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/torus-solana-adapter\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/wallet-connect-v2-adapter\"","webpack://@web3auth/modal/webpack/bootstrap","webpack://@web3auth/modal/webpack/runtime/compat get default export","webpack://@web3auth/modal/webpack/runtime/create fake namespace object","webpack://@web3auth/modal/webpack/runtime/define property getters","webpack://@web3auth/modal/webpack/runtime/hasOwnProperty shorthand","webpack://@web3auth/modal/webpack/runtime/make namespace object","webpack://@web3auth/modal/./src/index.ts"],"sourcesContent":["import { CHAIN_NAMESPACES, EVM_ADAPTERS, SOLANA_ADAPTERS } from \"@web3auth/base\";\n\nimport { AdaptersModalConfig } from \"./interface\";\n\nexport const defaultSolanaDappModalConfig: AdaptersModalConfig = {\n chainNamespace: CHAIN_NAMESPACES.SOLANA,\n adapters: {\n [SOLANA_ADAPTERS.TORUS_SOLANA]: {\n label: \"Torus Wallet\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n [SOLANA_ADAPTERS.OPENLOGIN]: {\n label: \"OpenLogin\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n [SOLANA_ADAPTERS.PHANTOM]: {\n label: \"Phantom\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n },\n};\n\nexport const defaultEvmDappModalConfig: AdaptersModalConfig = {\n chainNamespace: CHAIN_NAMESPACES.EIP155,\n adapters: {\n [EVM_ADAPTERS.TORUS_EVM]: {\n label: \"Torus Wallet\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n [EVM_ADAPTERS.METAMASK]: {\n label: \"MetaMask\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n [EVM_ADAPTERS.OPENLOGIN]: {\n label: \"OpenLogin\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n [EVM_ADAPTERS.WALLET_CONNECT_V2]: {\n label: \"Wallet Connect\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n },\n};\n\nexport const defaultSolanaWalletModalConfig: AdaptersModalConfig = {\n chainNamespace: CHAIN_NAMESPACES.SOLANA,\n adapters: {\n [SOLANA_ADAPTERS.OPENLOGIN]: {\n label: \"OpenLogin\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n },\n};\n\nexport const defaultEvmWalletModalConfig: AdaptersModalConfig = {\n chainNamespace: CHAIN_NAMESPACES.EIP155,\n adapters: {\n [EVM_ADAPTERS.OPENLOGIN]: {\n label: \"OpenLogin\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n },\n};\n\nexport const defaultOtherModalConfig: AdaptersModalConfig = {\n chainNamespace: CHAIN_NAMESPACES.OTHER,\n adapters: {\n [EVM_ADAPTERS.OPENLOGIN]: {\n label: \"OpenLogin\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n },\n};\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@babel/runtime/helpers/objectSpread2\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@babel/runtime/helpers/defineProperty\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@web3auth/base-provider\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@web3auth/no-modal\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@web3auth/ui\");","import type { OPENLOGIN_NETWORK_TYPE, OpenLoginOptions } from \"@toruslabs/openlogin-utils\";\nimport { CHAIN_NAMESPACES, CustomChainConfig, getChainConfig, IAdapter, IBaseProvider, WALLET_ADAPTER_TYPE, WALLET_ADAPTERS } from \"@web3auth/base\";\nimport { CommonPrivateKeyProvider } from \"@web3auth/base-provider\";\n\nexport async function getPrivateKeyProvider(chainConfig: CustomChainConfig): Promise<IBaseProvider<string>> {\n if (chainConfig.chainNamespace === CHAIN_NAMESPACES.SOLANA) {\n const { SolanaPrivateKeyProvider } = await import(\"@web3auth/solana-provider\");\n return new SolanaPrivateKeyProvider({ config: { chainConfig } });\n } else if (chainConfig.chainNamespace === CHAIN_NAMESPACES.EIP155) {\n const { EthereumPrivateKeyProvider } = await import(\"@web3auth/ethereum-provider\");\n return new EthereumPrivateKeyProvider({ config: { chainConfig } });\n } else if (chainConfig.chainNamespace === CHAIN_NAMESPACES.OTHER) {\n // Modal doesn't support ripple provider\n // Can always override this with a custom provider\n return new CommonPrivateKeyProvider({ config: { chainConfig } });\n }\n throw new Error(`Invalid chainNamespace: ${chainConfig.chainNamespace} found while connecting to wallet`);\n}\n\n// warning: this function is not compatible with \"OTHER\" chain namespace.\nexport const getDefaultAdapterModule = async (params: {\n name: WALLET_ADAPTER_TYPE;\n clientId: string;\n customChainConfig: Partial<CustomChainConfig> & Pick<CustomChainConfig, \"chainNamespace\">;\n sessionTime?: number;\n web3AuthNetwork?: OPENLOGIN_NETWORK_TYPE;\n}): Promise<IAdapter<unknown>> => {\n const { name, customChainConfig, clientId, sessionTime, web3AuthNetwork } = params;\n if (!Object.values(CHAIN_NAMESPACES).includes(customChainConfig.chainNamespace))\n throw new Error(`Invalid chainNamespace: ${customChainConfig.chainNamespace}`);\n const finalChainConfig = {\n ...(getChainConfig(customChainConfig.chainNamespace, customChainConfig?.chainId) as CustomChainConfig),\n ...(customChainConfig || {}),\n };\n if (name === WALLET_ADAPTERS.TORUS_EVM) {\n const { TorusWalletAdapter } = await import(\"@web3auth/torus-evm-adapter\");\n const adapter = new TorusWalletAdapter({ chainConfig: finalChainConfig, clientId, sessionTime, web3AuthNetwork });\n return adapter;\n } else if (name === WALLET_ADAPTERS.TORUS_SOLANA) {\n const { SolanaWalletAdapter } = await import(\"@web3auth/torus-solana-adapter\");\n const adapter = new SolanaWalletAdapter({ chainConfig: finalChainConfig, clientId, sessionTime, web3AuthNetwork });\n return adapter;\n } else if (name === WALLET_ADAPTERS.METAMASK) {\n const { MetamaskAdapter } = await import(\"@web3auth/metamask-adapter\");\n const adapter = new MetamaskAdapter({ chainConfig: finalChainConfig, clientId, sessionTime, web3AuthNetwork });\n return adapter;\n } else if (name === WALLET_ADAPTERS.PHANTOM) {\n const { PhantomAdapter } = await import(\"@web3auth/phantom-adapter\");\n const adapter = new PhantomAdapter({ chainConfig: finalChainConfig, clientId, sessionTime, web3AuthNetwork });\n return adapter;\n } else if (name === WALLET_ADAPTERS.WALLET_CONNECT_V2) {\n const { WalletConnectV2Adapter } = await import(\"@web3auth/wallet-connect-v2-adapter\");\n const adapter = new WalletConnectV2Adapter({\n chainConfig: finalChainConfig,\n clientId,\n sessionTime,\n web3AuthNetwork,\n adapterSettings: {\n walletConnectInitOptions: {\n // Using a default wallet connect project id for web3auth modal integration\n projectId: \"d3c63f19f9582f8ba48e982057eb096b\",\n },\n },\n });\n return adapter;\n } else if (name === WALLET_ADAPTERS.OPENLOGIN) {\n const { OpenloginAdapter, getOpenloginDefaultOptions } = await import(\"@web3auth/openlogin-adapter\");\n\n const privateKeyProvider: IBaseProvider<string> = await getPrivateKeyProvider(finalChainConfig);\n\n const defaultOptions = getOpenloginDefaultOptions();\n const adapter = new OpenloginAdapter({\n ...defaultOptions,\n clientId,\n chainConfig: { ...finalChainConfig },\n adapterSettings: { ...(defaultOptions.adapterSettings as OpenLoginOptions), clientId, network: web3AuthNetwork },\n sessionTime,\n web3AuthNetwork,\n privateKeyProvider,\n });\n return adapter;\n }\n throw new Error(\"Invalid wallet adapter name\");\n};\n","interface NavigatorLanguage {\n userLanguage?: string;\n}\n\nexport const languageMap = {\n en: \"english\",\n de: \"german\",\n ja: \"japanese\",\n ko: \"korean\",\n zh: \"mandarin\",\n es: \"spanish\",\n fr: \"french\",\n pt: \"portuguese\",\n nl: \"dutch\",\n};\n\nexport const getUserLanguage = (defaultLanguage: string | undefined) => {\n let userLanguage = defaultLanguage;\n if (!userLanguage) {\n const browserLanguage =\n typeof window !== \"undefined\" ? (window.navigator as NavigatorLanguage).userLanguage || window.navigator.language || \"en-US\" : \"en-US\";\n userLanguage = browserLanguage.split(\"-\")[0];\n }\n return Object.prototype.hasOwnProperty.call(languageMap, userLanguage) ? userLanguage : \"en\";\n};\n","import {\n ADAPTER_CATEGORY,\n ADAPTER_EVENTS,\n ADAPTER_STATUS,\n BaseAdapterConfig,\n CHAIN_NAMESPACES,\n CustomChainConfig,\n getChainConfig,\n IProvider,\n log,\n LoginMethodConfig,\n WALLET_ADAPTER_TYPE,\n WALLET_ADAPTERS,\n} from \"@web3auth/base\";\nimport { CommonJRPCProvider } from \"@web3auth/base-provider\";\nimport { Web3AuthNoModal, Web3AuthNoModalOptions } from \"@web3auth/no-modal\";\nimport type { OpenloginAdapter } from \"@web3auth/openlogin-adapter\";\nimport { getAdapterSocialLogins, LOGIN_MODAL_EVENTS, LoginModal, OPENLOGIN_PROVIDERS, UIConfig } from \"@web3auth/ui\";\n\nimport {\n defaultEvmDappModalConfig,\n defaultEvmWalletModalConfig,\n defaultOtherModalConfig,\n defaultSolanaDappModalConfig,\n defaultSolanaWalletModalConfig,\n} from \"./config\";\nimport { getDefaultAdapterModule, getPrivateKeyProvider } from \"./default\";\nimport { AdaptersModalConfig, IWeb3AuthModal, ModalConfig } from \"./interface\";\nimport { getUserLanguage } from \"./utils\";\n\nexport interface Web3AuthOptions extends Web3AuthNoModalOptions {\n /**\n * web3auth instance provides different adapters for different type of usages. If you are dapp and want to\n * use external wallets like metamask, then you can use the `DAPP` authMode.\n * If you are a wallet and only want to use you own wallet implementations along with openlogin,\n * then you should use `WALLET` authMode.\n *\n * @defaultValue `DAPP`\n */\n authMode?: \"DAPP\" | \"WALLET\";\n /**\n * Config for configuring modal ui display properties\n */\n uiConfig?: Omit<UIConfig, \"adapterListener\">;\n}\n\nexport class Web3Auth extends Web3AuthNoModal implements IWeb3AuthModal {\n public loginModal: LoginModal;\n\n readonly options: Web3AuthOptions;\n\n private modalConfig: AdaptersModalConfig = defaultEvmDappModalConfig;\n\n constructor(options: Web3AuthOptions) {\n super(options);\n this.options = { ...options };\n const providedChainConfig = this.options.chainConfig;\n if (providedChainConfig.chainNamespace === CHAIN_NAMESPACES.SOLANA) {\n if (options.authMode === \"WALLET\") {\n // default config for solana wallet modal\n this.modalConfig = defaultSolanaWalletModalConfig;\n } else {\n // default config for solana dapp modal\n this.modalConfig = defaultSolanaDappModalConfig;\n }\n } else if (providedChainConfig.chainNamespace === CHAIN_NAMESPACES.EIP155) {\n if (options.authMode === \"WALLET\") {\n // default config for evm wallet modal\n this.modalConfig = defaultEvmWalletModalConfig;\n } else {\n // default config for evm dapp modal\n this.modalConfig = defaultEvmDappModalConfig;\n }\n } else if (providedChainConfig.chainNamespace === CHAIN_NAMESPACES.OTHER) {\n this.modalConfig = defaultOtherModalConfig;\n } else {\n throw new Error(`Invalid chainNamespace provided: ${providedChainConfig.chainNamespace}`);\n }\n\n // get userLanguage\n const defaultLanguage = getUserLanguage(this.options.uiConfig?.defaultLanguage);\n\n this.loginModal = new LoginModal({\n theme: this.options.uiConfig?.theme,\n appName: this.options.uiConfig?.appName || \"blockchain\",\n appLogo: this.options.uiConfig?.appLogo || \"\",\n adapterListener: this,\n displayErrorsOnModal: this.options.uiConfig?.displayErrorsOnModal,\n defaultLanguage,\n modalZIndex: this.options.uiConfig?.modalZIndex || \"99998\",\n loginGridCol: this.options.uiConfig?.loginGridCol || 3,\n primaryButton: this.options.uiConfig?.primaryButton || \"socialLogin\",\n });\n this.subscribeToLoginModalEvents();\n }\n\n public async initModal(params?: { modalConfig?: Record<WALLET_ADAPTER_TYPE, ModalConfig> }): Promise<void> {\n super.checkInitRequirements();\n await this.loginModal.initModal();\n const providedChainConfig = this.options.chainConfig;\n\n // merge default adapters with the custom configured adapters.\n const allAdapters = [...new Set([...Object.keys(this.modalConfig.adapters || {}), ...Object.keys(this.walletAdapters)])];\n\n const adapterConfigurationPromises = allAdapters.map(async (adapterName) => {\n // start with the default config of adapter.\n let adapterConfig = this.modalConfig.adapters?.[adapterName] || {\n label: adapterName,\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n };\n\n // override the default config of adapter if some config is being provided by the user.\n if (params?.modalConfig?.[adapterName]) {\n adapterConfig = { ...adapterConfig, ...params.modalConfig[adapterName] };\n }\n (this.modalConfig.adapters as Record<WALLET_ADAPTER_TYPE, ModalConfig>)[adapterName] = adapterConfig as ModalConfig;\n\n // check if adapter is configured/added by user and exist in walletAdapters map.\n const adapter = this.walletAdapters[adapterName];\n log.debug(\"adapter config\", adapterName, this.modalConfig.adapters?.[adapterName].showOnModal, adapter);\n\n // if adapter is not custom configured then check if it is available in default adapters.\n // and if adapter is not hidden by user\n if (!adapter && this.modalConfig.adapters?.[adapterName].showOnModal) {\n // if adapter is not configured and some default configuration is available, use it.\n const ad = await getDefaultAdapterModule({\n name: adapterName,\n customChainConfig: this.options.chainConfig,\n clientId: this.options.clientId,\n sessionTime: this.options.sessionTime,\n web3AuthNetwork: this.options.web3AuthNetwork,\n });\n\n this.walletAdapters[adapterName] = ad;\n return adapterName;\n } else if (adapter?.type === ADAPTER_CATEGORY.IN_APP || adapter?.type === ADAPTER_CATEGORY.EXTERNAL || adapterName === this.cachedAdapter) {\n if (!this.modalConfig.adapters?.[adapterName].showOnModal) return;\n // add client id to adapter, same web3auth client id can be used in adapter.\n // this id is being overridden if user is also passing client id in adapter's constructor.\n this.walletAdapters[adapterName].setAdapterSettings({\n clientId: this.options.clientId,\n sessionTime: this.options.sessionTime,\n web3AuthNetwork: this.options.web3AuthNetwork,\n });\n\n // if adapter doesn't have any chainConfig then we will set the chainConfig based of passed chainNamespace\n // and chainNamespace.\n if (!adapter.chainConfigProxy) {\n const chainConfig = {\n ...getChainConfig(providedChainConfig.chainNamespace, this.coreOptions.chainConfig?.chainId),\n ...this.coreOptions.chainConfig,\n } as CustomChainConfig;\n this.walletAdapters[adapterName].setAdapterSettings({ chainConfig });\n }\n\n if (adapterName === WALLET_ADAPTERS.OPENLOGIN) {\n const openloginAdapter = this.walletAdapters[adapterName] as OpenloginAdapter;\n if (!openloginAdapter.privateKeyProvider) {\n const currentPrivateKeyProvider = await getPrivateKeyProvider(openloginAdapter.chainConfigProxy as CustomChainConfig);\n openloginAdapter.setAdapterSettings({ privateKeyProvider: currentPrivateKeyProvider });\n }\n }\n\n return adapterName;\n }\n });\n\n const adapterNames = await Promise.all(adapterConfigurationPromises);\n const hasInAppWallets = Object.values(this.walletAdapters).some((adapter) => {\n if (adapter.type !== ADAPTER_CATEGORY.IN_APP) return false;\n if (this.modalConfig.adapters?.[adapter.name]?.showOnModal !== true) return false;\n if (!this.modalConfig.adapters?.[adapter.name]?.loginMethods) return true;\n const mergedLoginMethods = getAdapterSocialLogins(\n adapter.name,\n (this.modalConfig.adapters as Record<WALLET_ADAPTER_TYPE, ModalConfig>)[adapter.name]?.loginMethods\n );\n if (Object.values(mergedLoginMethods).some((method: LoginMethodConfig[keyof LoginMethodConfig]) => method.showOnModal)) return true;\n return false;\n });\n log.debug(hasInAppWallets, this.walletAdapters, adapterNames, \"hasInAppWallets\");\n\n // Now, initialize the adapters.\n const initPromises = adapterNames.map(async (adapterName) => {\n if (!adapterName) return;\n try {\n const adapter = this.walletAdapters[adapterName];\n // only initialize a external adapter here if it is a cached adapter.\n if (this.cachedAdapter !== adapterName && adapter.type === ADAPTER_CATEGORY.EXTERNAL) {\n return;\n }\n // in-app wallets or cached wallet (being connected or already connected) are initialized first.\n // if adapter is configured thn only initialize in app or cached adapter.\n // external wallets are initialized on INIT_EXTERNAL_WALLET event.\n this.subscribeToAdapterEvents(adapter);\n if (adapter.status === ADAPTER_STATUS.NOT_READY) await adapter.init({ autoConnect: this.cachedAdapter === adapterName });\n // note: not adding cachedWallet to modal if it is external wallet.\n // adding it later if no in-app wallets are available.\n if (adapter.type === ADAPTER_CATEGORY.IN_APP) {\n this.initializeInAppWallet(adapterName);\n }\n } catch (error) {\n log.error(error, \"error while initializing adapter\");\n }\n });\n\n this.commonJRPCProvider = await CommonJRPCProvider.getProviderInstance({ chainConfig: this.coreOptions.chainConfig as CustomChainConfig });\n this.status = ADAPTER_STATUS.READY;\n await Promise.all(initPromises);\n\n const hasExternalWallets = allAdapters.some((adapterName) => {\n return this.walletAdapters[adapterName]?.type === ADAPTER_CATEGORY.EXTERNAL && this.modalConfig.adapters?.[adapterName].showOnModal;\n });\n\n if (hasExternalWallets) {\n this.loginModal.initExternalWalletContainer();\n }\n\n // variable to check if we have any in app wallets\n // currently all default in app and external wallets can be hidden or shown based on config.\n if (!hasInAppWallets && hasExternalWallets) {\n // if no in app wallet is available then initialize external wallets in modal\n await this.initExternalWalletAdapters(false, { showExternalWalletsOnly: true });\n }\n }\n\n public async connect(): Promise<IProvider | null> {\n // if (!this.loginModal.initialized) throw new Error(\"Login modal is not initialized\");\n // if already connected return provider\n if (this.connectedAdapterName && this.status === ADAPTER_STATUS.CONNECTED && this.provider) return this.provider;\n this.loginModal.open();\n return new Promise((resolve, reject) => {\n this.once(ADAPTER_EVENTS.CONNECTED, () => {\n return resolve(this.provider);\n });\n this.once(ADAPTER_EVENTS.ERRORED, (err: unknown) => {\n return reject(err);\n });\n });\n }\n\n private async initExternalWalletAdapters(externalWalletsInitialized: boolean, options?: { showExternalWalletsOnly: boolean }): Promise<void> {\n if (externalWalletsInitialized) return;\n const adaptersConfig: Record<string, BaseAdapterConfig> = {};\n Object.keys(this.walletAdapters).forEach(async (adapterName) => {\n const adapter = this.walletAdapters[adapterName];\n if (adapter?.type === ADAPTER_CATEGORY.EXTERNAL) {\n log.debug(\"init external wallet\", this.cachedAdapter, adapterName);\n this.subscribeToAdapterEvents(adapter);\n // we are not initializing cached adapter here as it is already being initialized in initModal before.\n if (this.cachedAdapter === adapterName) {\n return;\n }\n if (adapter.status === ADAPTER_STATUS.NOT_READY) {\n await adapter\n .init({ autoConnect: this.cachedAdapter === adapterName })\n .then(() => {\n adaptersConfig[adapterName] = (this.modalConfig.adapters as Record<WALLET_ADAPTER_TYPE, ModalConfig>)[adapterName];\n this.loginModal.addWalletLogins(adaptersConfig, { showExternalWalletsOnly: !!options?.showExternalWalletsOnly });\n return undefined;\n })\n .catch((error) => log.error(error, \"error while initializing adapter\"));\n } else if (adapter.status === ADAPTER_STATUS.READY) {\n adaptersConfig[adapterName] = (this.modalConfig.adapters as Record<WALLET_ADAPTER_TYPE, ModalConfig>)[adapterName];\n this.loginModal.addWalletLogins(adaptersConfig, { showExternalWalletsOnly: !!options?.showExternalWalletsOnly });\n }\n }\n });\n }\n\n private initializeInAppWallet(adapterName: string): void {\n log.info(\"adapterInitResults\", adapterName);\n if (this.walletAdapters[adapterName].type === ADAPTER_CATEGORY.IN_APP) {\n this.loginModal.addSocialLogins(\n adapterName,\n getAdapterSocialLogins(adapterName, (this.modalConfig.adapters as Record<WALLET_ADAPTER_TYPE, ModalConfig>)[adapterName]?.loginMethods),\n this.options.uiConfig?.loginMethodsOrder || OPENLOGIN_PROVIDERS,\n {\n ...this.options.uiConfig,\n loginGridCol: this.options.uiConfig?.loginGridCol || 3,\n primaryButton: this.options.uiConfig?.primaryButton || \"socialLogin\",\n }\n );\n }\n }\n\n private subscribeToLoginModalEvents(): void {\n this.loginModal.on(LOGIN_MODAL_EVENTS.LOGIN, async (params: { adapter: WALLET_ADAPTER_TYPE; loginParams: unknown }) => {\n try {\n await this.connectTo<unknown>(params.adapter, params.loginParams);\n } catch (error) {\n log.error(`Error while connecting to adapter: ${params.adapter}`, error);\n }\n });\n this.loginModal.on(LOGIN_MODAL_EVENTS.INIT_EXTERNAL_WALLETS, async (params: { externalWalletsInitialized: boolean }) => {\n await this.initExternalWalletAdapters(params.externalWalletsInitialized);\n });\n this.loginModal.on(LOGIN_MODAL_EVENTS.DISCONNECT, async () => {\n try {\n await this.logout();\n } catch (error) {\n log.error(`Error while disconnecting`, error);\n }\n });\n this.loginModal.on(LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, async (visibility: boolean) => {\n log.debug(\"is login modal visible\", visibility);\n this.emit(LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, visibility);\n const adapter = this.walletAdapters[WALLET_ADAPTERS.WALLET_CONNECT_V2];\n if (adapter) {\n const walletConnectStatus = adapter?.status;\n log.debug(\"trying refreshing wc session\", visibility, walletConnectStatus);\n if (visibility && (walletConnectStatus === ADAPTER_STATUS.READY || walletConnectStatus === ADAPTER_STATUS.CONNECTING)) {\n log.debug(\"refreshing wc session\");\n\n // refreshing session for wallet connect whenever modal is opened.\n try {\n adapter.connect();\n } catch (error) {\n log.error(`Error while disconnecting to wallet connect in core`, error);\n }\n }\n }\n });\n }\n}\n","module.exports = require(\"@web3auth/base\");","module.exports = require(\"@web3auth/ethereum-provider\");","module.exports = require(\"@web3auth/metamask-adapter\");","module.exports = require(\"@web3auth/openlogin-adapter\");","module.exports = require(\"@web3auth/phantom-adapter\");","module.exports = require(\"@web3auth/solana-provider\");","module.exports = require(\"@web3auth/torus-evm-adapter\");","module.exports = require(\"@web3auth/torus-solana-adapter\");","module.exports = require(\"@web3auth/wallet-connect-v2-adapter\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export * from \"./config\";\nexport * from \"./interface\";\nexport * from \"./modalManager\";\n"],"names":["CHAIN_NAMESPACES","EVM_ADAPTERS","SOLANA_ADAPTERS","defaultSolanaDappModalConfig","chainNamespace","SOLANA","adapters","TORUS_SOLANA","label","showOnModal","showOnMobile","showOnDesktop","OPENLOGIN","PHANTOM","defaultEvmDappModalConfig","EIP155","TORUS_EVM","METAMASK","WALLET_CONNECT_V2","defaultSolanaWalletModalConfig","defaultEvmWalletModalConfig","defaultOtherModalConfig","OTHER","getChainConfig","WALLET_ADAPTERS","CommonPrivateKeyProvider","getPrivateKeyProvider","chainConfig","SolanaPrivateKeyProvider","config","EthereumPrivateKeyProvider","Error","getDefaultAdapterModule","params","name","customChainConfig","clientId","sessionTime","web3AuthNetwork","Object","values","includes","finalChainConfig","_objectSpread","chainId","TorusWalletAdapter","adapter","SolanaWalletAdapter","MetamaskAdapter","PhantomAdapter","WalletConnectV2Adapter","adapterSettings","walletConnectInitOptions","projectId","OpenloginAdapter","getOpenloginDefaultOptions","privateKeyProvider","defaultOptions","network","languageMap","en","de","ja","ko","zh","es","fr","pt","nl","getUserLanguage","defaultLanguage","userLanguage","browserLanguage","window","navigator","language","split","prototype","hasOwnProperty","call","ADAPTER_CATEGORY","ADAPTER_EVENTS","ADAPTER_STATUS","log","CommonJRPCProvider","Web3AuthNoModal","getAdapterSocialLogins","LOGIN_MODAL_EVENTS","LoginModal","OPENLOGIN_PROVIDERS","Web3Auth","constructor","options","_this$options$uiConfi","_this$options$uiConfi2","_this$options$uiConfi3","_this$options$uiConfi4","_this$options$uiConfi5","_this$options$uiConfi6","_this$options$uiConfi7","_this$options$uiConfi8","_defineProperty","providedChainConfig","authMode","modalConfig","uiConfig","loginModal","theme","appName","appLogo","adapterListener","displayErrorsOnModal","modalZIndex","loginGridCol","primaryButton","subscribeToLoginModalEvents","initModal","checkInitRequirements","allAdapters","Set","keys","walletAdapters","adapterConfigurationPromises","map","adapterName","_this$modalConfig$ada","_params$modalConfig","_this$modalConfig$ada2","_this$modalConfig$ada3","adapterConfig","debug","ad","type","IN_APP","EXTERNAL","cachedAdapter","_this$modalConfig$ada4","setAdapterSettings","chainConfigProxy","_this$coreOptions$cha","coreOptions","openloginAdapter","currentPrivateKeyProvider","adapterNames","Promise","all","hasInAppWallets","some","_this$modalConfig$ada5","_this$modalConfig$ada6","_adapter$name","loginMethods","mergedLoginMethods","method","initPromises","subscribeToAdapterEvents","status","NOT_READY","init","autoConnect","initializeInAppWallet","error","commonJRPCProvider","getProviderInstance","READY","hasExternalWallets","_this$walletAdapters$","_this$modalConfig$ada7","initExternalWalletContainer","initExternalWalletAdapters","showExternalWalletsOnly","connect","connectedAdapterName","CONNECTED","provider","open","resolve","reject","once","ERRORED","err","externalWalletsInitialized","adaptersConfig","forEach","then","addWalletLogins","undefined","catch","info","_adapterName","_this$options$uiConfi9","_this$options$uiConfi10","_this$options$uiConfi11","addSocialLogins","loginMethodsOrder","on","LOGIN","connectTo","loginParams","INIT_EXTERNAL_WALLETS","DISCONNECT","logout","MODAL_VISIBILITY","visibility","emit","walletConnectStatus","CONNECTING"],"sourceRoot":""}
package/dist/modal.esm.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { CHAIN_NAMESPACES, SOLANA_ADAPTERS, EVM_ADAPTERS, getChainConfig, WALLET_ADAPTERS, log, ADAPTER_CATEGORY, ADAPTER_STATUS, ADAPTER_EVENTS } from '@web3auth/base';
2
+ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
3
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
4
  import { CommonPrivateKeyProvider, CommonJRPCProvider } from '@web3auth/base-provider';
4
5
  import { Web3AuthNoModal } from '@web3auth/no-modal';
@@ -90,8 +91,6 @@ const defaultOtherModalConfig = {
90
91
  }
91
92
  };
92
93
 
93
- function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
94
- function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
95
94
  async function getPrivateKeyProvider(chainConfig) {
96
95
  if (chainConfig.chainNamespace === CHAIN_NAMESPACES.SOLANA) {
97
96
  const {
@@ -122,6 +121,7 @@ async function getPrivateKeyProvider(chainConfig) {
122
121
  }
123
122
  throw new Error(`Invalid chainNamespace: ${chainConfig.chainNamespace} found while connecting to wallet`);
124
123
  }
124
+
125
125
  // warning: this function is not compatible with "OTHER" chain namespace.
126
126
  const getDefaultAdapterModule = async params => {
127
127
  const {
@@ -132,7 +132,7 @@ const getDefaultAdapterModule = async params => {
132
132
  web3AuthNetwork
133
133
  } = params;
134
134
  if (!Object.values(CHAIN_NAMESPACES).includes(customChainConfig.chainNamespace)) throw new Error(`Invalid chainNamespace: ${customChainConfig.chainNamespace}`);
135
- const finalChainConfig = _objectSpread$1(_objectSpread$1({}, getChainConfig(customChainConfig.chainNamespace, customChainConfig === null || customChainConfig === void 0 ? void 0 : customChainConfig.chainId)), customChainConfig || {});
135
+ const finalChainConfig = _objectSpread(_objectSpread({}, getChainConfig(customChainConfig.chainNamespace, customChainConfig === null || customChainConfig === void 0 ? void 0 : customChainConfig.chainId)), customChainConfig || {});
136
136
  if (name === WALLET_ADAPTERS.TORUS_EVM) {
137
137
  const {
138
138
  TorusWalletAdapter
@@ -201,10 +201,10 @@ const getDefaultAdapterModule = async params => {
201
201
  } = await import('@web3auth/openlogin-adapter');
202
202
  const privateKeyProvider = await getPrivateKeyProvider(finalChainConfig);
203
203
  const defaultOptions = getOpenloginDefaultOptions();
204
- const adapter = new OpenloginAdapter(_objectSpread$1(_objectSpread$1({}, defaultOptions), {}, {
204
+ const adapter = new OpenloginAdapter(_objectSpread(_objectSpread({}, defaultOptions), {}, {
205
205
  clientId,
206
- chainConfig: _objectSpread$1({}, finalChainConfig),
207
- adapterSettings: _objectSpread$1(_objectSpread$1({}, defaultOptions.adapterSettings), {}, {
206
+ chainConfig: _objectSpread({}, finalChainConfig),
207
+ adapterSettings: _objectSpread(_objectSpread({}, defaultOptions.adapterSettings), {}, {
208
208
  clientId,
209
209
  network: web3AuthNetwork
210
210
  }),
@@ -237,8 +237,6 @@ const getUserLanguage = defaultLanguage => {
237
237
  return Object.prototype.hasOwnProperty.call(languageMap, userLanguage) ? userLanguage : "en";
238
238
  };
239
239
 
240
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
241
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
242
240
  class Web3Auth extends Web3AuthNoModal {
243
241
  constructor(options) {
244
242
  var _this$options$uiConfi, _this$options$uiConfi2, _this$options$uiConfi3, _this$options$uiConfi4, _this$options$uiConfi5, _this$options$uiConfi6, _this$options$uiConfi7, _this$options$uiConfi8;
@@ -269,6 +267,7 @@ class Web3Auth extends Web3AuthNoModal {
269
267
  } else {
270
268
  throw new Error(`Invalid chainNamespace provided: ${providedChainConfig.chainNamespace}`);
271
269
  }
270
+
272
271
  // get userLanguage
273
272
  const defaultLanguage = getUserLanguage((_this$options$uiConfi = this.options.uiConfig) === null || _this$options$uiConfi === void 0 ? void 0 : _this$options$uiConfi.defaultLanguage);
274
273
  this.loginModal = new LoginModal({
@@ -279,7 +278,6 @@ class Web3Auth extends Web3AuthNoModal {
279
278
  displayErrorsOnModal: (_this$options$uiConfi5 = this.options.uiConfig) === null || _this$options$uiConfi5 === void 0 ? void 0 : _this$options$uiConfi5.displayErrorsOnModal,
280
279
  defaultLanguage,
281
280
  modalZIndex: ((_this$options$uiConfi6 = this.options.uiConfig) === null || _this$options$uiConfi6 === void 0 ? void 0 : _this$options$uiConfi6.modalZIndex) || "99998",
282
- web3AuthNetwork: this.options.web3AuthNetwork,
283
281
  loginGridCol: ((_this$options$uiConfi7 = this.options.uiConfig) === null || _this$options$uiConfi7 === void 0 ? void 0 : _this$options$uiConfi7.loginGridCol) || 3,
284
282
  primaryButton: ((_this$options$uiConfi8 = this.options.uiConfig) === null || _this$options$uiConfi8 === void 0 ? void 0 : _this$options$uiConfi8.primaryButton) || "socialLogin"
285
283
  });
@@ -289,6 +287,7 @@ class Web3Auth extends Web3AuthNoModal {
289
287
  super.checkInitRequirements();
290
288
  await this.loginModal.initModal();
291
289
  const providedChainConfig = this.options.chainConfig;
290
+
292
291
  // merge default adapters with the custom configured adapters.
293
292
  const allAdapters = [...new Set([...Object.keys(this.modalConfig.adapters || {}), ...Object.keys(this.walletAdapters)])];
294
293
  const adapterConfigurationPromises = allAdapters.map(async adapterName => {
@@ -300,14 +299,17 @@ class Web3Auth extends Web3AuthNoModal {
300
299
  showOnMobile: true,
301
300
  showOnDesktop: true
302
301
  };
302
+
303
303
  // override the default config of adapter if some config is being provided by the user.
304
304
  if (params !== null && params !== void 0 && (_params$modalConfig = params.modalConfig) !== null && _params$modalConfig !== void 0 && _params$modalConfig[adapterName]) {
305
305
  adapterConfig = _objectSpread(_objectSpread({}, adapterConfig), params.modalConfig[adapterName]);
306
306
  }
307
307
  this.modalConfig.adapters[adapterName] = adapterConfig;
308
+
308
309
  // check if adapter is configured/added by user and exist in walletAdapters map.
309
310
  const adapter = this.walletAdapters[adapterName];
310
311
  log.debug("adapter config", adapterName, (_this$modalConfig$ada2 = this.modalConfig.adapters) === null || _this$modalConfig$ada2 === void 0 ? void 0 : _this$modalConfig$ada2[adapterName].showOnModal, adapter);
312
+
311
313
  // if adapter is not custom configured then check if it is available in default adapters.
312
314
  // and if adapter is not hidden by user
313
315
  if (!adapter && (_this$modalConfig$ada3 = this.modalConfig.adapters) !== null && _this$modalConfig$ada3 !== void 0 && _this$modalConfig$ada3[adapterName].showOnModal) {
@@ -331,6 +333,7 @@ class Web3Auth extends Web3AuthNoModal {
331
333
  sessionTime: this.options.sessionTime,
332
334
  web3AuthNetwork: this.options.web3AuthNetwork
333
335
  });
336
+
334
337
  // if adapter doesn't have any chainConfig then we will set the chainConfig based of passed chainNamespace
335
338
  // and chainNamespace.
336
339
  if (!adapter.chainConfigProxy) {
@@ -352,22 +355,18 @@ class Web3Auth extends Web3AuthNoModal {
352
355
  return adapterName;
353
356
  }
354
357
  });
355
- let adapterNames = await Promise.all(adapterConfigurationPromises);
358
+ const adapterNames = await Promise.all(adapterConfigurationPromises);
356
359
  const hasInAppWallets = Object.values(this.walletAdapters).some(adapter => {
357
- var _this$modalConfig$ada5, _this$modalConfig$ada6, _this$modalConfig$ada7;
360
+ var _this$modalConfig$ada5, _this$modalConfig$ada6, _adapter$name;
358
361
  if (adapter.type !== ADAPTER_CATEGORY.IN_APP) return false;
359
362
  if (((_this$modalConfig$ada5 = this.modalConfig.adapters) === null || _this$modalConfig$ada5 === void 0 || (_this$modalConfig$ada5 = _this$modalConfig$ada5[adapter.name]) === null || _this$modalConfig$ada5 === void 0 ? void 0 : _this$modalConfig$ada5.showOnModal) !== true) return false;
360
363
  if (!((_this$modalConfig$ada6 = this.modalConfig.adapters) !== null && _this$modalConfig$ada6 !== void 0 && (_this$modalConfig$ada6 = _this$modalConfig$ada6[adapter.name]) !== null && _this$modalConfig$ada6 !== void 0 && _this$modalConfig$ada6.loginMethods)) return true;
361
- const mergedLoginMethods = getAdapterSocialLogins(adapter.name, this.walletAdapters[adapter.name], (_this$modalConfig$ada7 = this.modalConfig.adapters[adapter.name]) === null || _this$modalConfig$ada7 === void 0 ? void 0 : _this$modalConfig$ada7.loginMethods);
364
+ const mergedLoginMethods = getAdapterSocialLogins(adapter.name, (_adapter$name = this.modalConfig.adapters[adapter.name]) === null || _adapter$name === void 0 ? void 0 : _adapter$name.loginMethods);
362
365
  if (Object.values(mergedLoginMethods).some(method => method.showOnModal)) return true;
363
366
  return false;
364
367
  });
365
368
  log.debug(hasInAppWallets, this.walletAdapters, adapterNames, "hasInAppWallets");
366
- // if both wc1 and wc2 are configured, give precedence to wc2.
367
- if (this.walletAdapters[WALLET_ADAPTERS.WALLET_CONNECT_V1] && this.walletAdapters[WALLET_ADAPTERS.WALLET_CONNECT_V2]) {
368
- delete this.walletAdapters[WALLET_ADAPTERS.WALLET_CONNECT_V1];
369
- adapterNames = adapterNames.filter(ad => ad !== WALLET_ADAPTERS.WALLET_CONNECT_V1);
370
- }
369
+
371
370
  // Now, initialize the adapters.
372
371
  const initPromises = adapterNames.map(async adapterName => {
373
372
  if (!adapterName) return;
@@ -399,12 +398,13 @@ class Web3Auth extends Web3AuthNoModal {
399
398
  this.status = ADAPTER_STATUS.READY;
400
399
  await Promise.all(initPromises);
401
400
  const hasExternalWallets = allAdapters.some(adapterName => {
402
- var _this$walletAdapters$, _this$modalConfig$ada8;
403
- return ((_this$walletAdapters$ = this.walletAdapters[adapterName]) === null || _this$walletAdapters$ === void 0 ? void 0 : _this$walletAdapters$.type) === ADAPTER_CATEGORY.EXTERNAL && ((_this$modalConfig$ada8 = this.modalConfig.adapters) === null || _this$modalConfig$ada8 === void 0 ? void 0 : _this$modalConfig$ada8[adapterName].showOnModal);
401
+ var _this$walletAdapters$, _this$modalConfig$ada7;
402
+ return ((_this$walletAdapters$ = this.walletAdapters[adapterName]) === null || _this$walletAdapters$ === void 0 ? void 0 : _this$walletAdapters$.type) === ADAPTER_CATEGORY.EXTERNAL && ((_this$modalConfig$ada7 = this.modalConfig.adapters) === null || _this$modalConfig$ada7 === void 0 ? void 0 : _this$modalConfig$ada7[adapterName].showOnModal);
404
403
  });
405
404
  if (hasExternalWallets) {
406
405
  this.loginModal.initExternalWalletContainer();
407
406
  }
407
+
408
408
  // variable to check if we have any in app wallets
409
409
  // currently all default in app and external wallets can be hidden or shown based on config.
410
410
  if (!hasInAppWallets && hasExternalWallets) {
@@ -462,8 +462,8 @@ class Web3Auth extends Web3AuthNoModal {
462
462
  initializeInAppWallet(adapterName) {
463
463
  log.info("adapterInitResults", adapterName);
464
464
  if (this.walletAdapters[adapterName].type === ADAPTER_CATEGORY.IN_APP) {
465
- var _this$modalConfig$ada9, _this$options$uiConfi9, _this$options$uiConfi10, _this$options$uiConfi11;
466
- this.loginModal.addSocialLogins(adapterName, getAdapterSocialLogins(adapterName, this.walletAdapters[adapterName], (_this$modalConfig$ada9 = this.modalConfig.adapters[adapterName]) === null || _this$modalConfig$ada9 === void 0 ? void 0 : _this$modalConfig$ada9.loginMethods), ((_this$options$uiConfi9 = this.options.uiConfig) === null || _this$options$uiConfi9 === void 0 ? void 0 : _this$options$uiConfi9.loginMethodsOrder) || OPENLOGIN_PROVIDERS, _objectSpread(_objectSpread({}, this.options.uiConfig), {}, {
465
+ var _adapterName, _this$options$uiConfi9, _this$options$uiConfi10, _this$options$uiConfi11;
466
+ this.loginModal.addSocialLogins(adapterName, getAdapterSocialLogins(adapterName, (_adapterName = this.modalConfig.adapters[adapterName]) === null || _adapterName === void 0 ? void 0 : _adapterName.loginMethods), ((_this$options$uiConfi9 = this.options.uiConfig) === null || _this$options$uiConfi9 === void 0 ? void 0 : _this$options$uiConfi9.loginMethodsOrder) || OPENLOGIN_PROVIDERS, _objectSpread(_objectSpread({}, this.options.uiConfig), {}, {
467
467
  loginGridCol: ((_this$options$uiConfi10 = this.options.uiConfig) === null || _this$options$uiConfi10 === void 0 ? void 0 : _this$options$uiConfi10.loginGridCol) || 3,
468
468
  primaryButton: ((_this$options$uiConfi11 = this.options.uiConfig) === null || _this$options$uiConfi11 === void 0 ? void 0 : _this$options$uiConfi11.primaryButton) || "socialLogin"
469
469
  }));
@@ -490,12 +490,13 @@ class Web3Auth extends Web3AuthNoModal {
490
490
  this.loginModal.on(LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, async visibility => {
491
491
  log.debug("is login modal visible", visibility);
492
492
  this.emit(LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, visibility);
493
- const adapter = this.walletAdapters[WALLET_ADAPTERS.WALLET_CONNECT_V2] || this.walletAdapters[WALLET_ADAPTERS.WALLET_CONNECT_V1];
493
+ const adapter = this.walletAdapters[WALLET_ADAPTERS.WALLET_CONNECT_V2];
494
494
  if (adapter) {
495
495
  const walletConnectStatus = adapter === null || adapter === void 0 ? void 0 : adapter.status;
496
496
  log.debug("trying refreshing wc session", visibility, walletConnectStatus);
497
497
  if (visibility && (walletConnectStatus === ADAPTER_STATUS.READY || walletConnectStatus === ADAPTER_STATUS.CONNECTING)) {
498
498
  log.debug("refreshing wc session");
499
+
499
500
  // refreshing session for wallet connect whenever modal is opened.
500
501
  try {
501
502
  adapter.connect();