UNPKG

@web3auth/web3auth

Version:

[![npm version](https://img.shields.io/npm/v/@web3auth/web3auth?label=%22%22)](https://www.npmjs.com/package/@web3auth/web3auth/v/latest) [![minzip](https://img.shields.io/bundlephobia/minzip/@web3auth/web3auth?label=%22%22)](https://bundlephobia.com/resu

1,109 lines (909 loc) 50.9 kB
/******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ 591: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Jx": () => (/* binding */ defaultSolanaDappModalConfig), /* harmony export */ "K8": () => (/* binding */ defaultSolanaWalletModalConfig), /* harmony export */ "OW": () => (/* binding */ defaultEvmDappModalConfig), /* harmony export */ "ql": () => (/* binding */ defaultEvmWalletModalConfig), /* harmony export */ "ue": () => (/* binding */ defaultOtherModalConfig) /* harmony export */ }); /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(195); /* harmony import */ var _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _web3auth_base__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(612); /* harmony import */ var _web3auth_base__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_web3auth_base__WEBPACK_IMPORTED_MODULE_1__); var _adapters, _adapters2; var defaultSolanaDappModalConfig = { chainNamespace: _web3auth_base__WEBPACK_IMPORTED_MODULE_1__.CHAIN_NAMESPACES.SOLANA, adapters: (_adapters = {}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_adapters, _web3auth_base__WEBPACK_IMPORTED_MODULE_1__.SOLANA_ADAPTERS.TORUS_SOLANA, { label: "Torus Wallet", showOnModal: true, showOnMobile: true, showOnDesktop: true }), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_adapters, _web3auth_base__WEBPACK_IMPORTED_MODULE_1__.SOLANA_ADAPTERS.OPENLOGIN, { label: "OpenLogin", showOnModal: true, showOnMobile: true, showOnDesktop: true }), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_adapters, _web3auth_base__WEBPACK_IMPORTED_MODULE_1__.SOLANA_ADAPTERS.PHANTOM, { label: "Phantom", showOnModal: true, showOnMobile: true, showOnDesktop: true }), _adapters) }; var defaultEvmDappModalConfig = { chainNamespace: _web3auth_base__WEBPACK_IMPORTED_MODULE_1__.CHAIN_NAMESPACES.EIP155, adapters: (_adapters2 = {}, _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_adapters2, _web3auth_base__WEBPACK_IMPORTED_MODULE_1__.EVM_ADAPTERS.TORUS_EVM, { label: "Torus Wallet", showOnModal: true, showOnMobile: true, showOnDesktop: true }), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_adapters2, _web3auth_base__WEBPACK_IMPORTED_MODULE_1__.EVM_ADAPTERS.METAMASK, { label: "MetaMask", showOnModal: true, showOnMobile: true, showOnDesktop: true }), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_adapters2, _web3auth_base__WEBPACK_IMPORTED_MODULE_1__.EVM_ADAPTERS.OPENLOGIN, { label: "OpenLogin", showOnModal: true, showOnMobile: true, showOnDesktop: true }), _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()(_adapters2, _web3auth_base__WEBPACK_IMPORTED_MODULE_1__.EVM_ADAPTERS.WALLET_CONNECT_V1, { label: "Wallet Connect", showOnModal: true, showOnMobile: true, showOnDesktop: true }), _adapters2) }; var defaultSolanaWalletModalConfig = { chainNamespace: _web3auth_base__WEBPACK_IMPORTED_MODULE_1__.CHAIN_NAMESPACES.SOLANA, adapters: _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()({}, _web3auth_base__WEBPACK_IMPORTED_MODULE_1__.SOLANA_ADAPTERS.OPENLOGIN, { label: "OpenLogin", showOnModal: true, showOnMobile: true, showOnDesktop: true }) }; var defaultEvmWalletModalConfig = { chainNamespace: _web3auth_base__WEBPACK_IMPORTED_MODULE_1__.CHAIN_NAMESPACES.EIP155, adapters: _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()({}, _web3auth_base__WEBPACK_IMPORTED_MODULE_1__.EVM_ADAPTERS.OPENLOGIN, { label: "OpenLogin", showOnModal: true, showOnMobile: true, showOnDesktop: true }) }; var defaultOtherModalConfig = { chainNamespace: _web3auth_base__WEBPACK_IMPORTED_MODULE_1__.CHAIN_NAMESPACES.OTHER, adapters: _babel_runtime_helpers_defineProperty__WEBPACK_IMPORTED_MODULE_0___default()({}, _web3auth_base__WEBPACK_IMPORTED_MODULE_1__.EVM_ADAPTERS.OPENLOGIN, { label: "OpenLogin", showOnModal: true, showOnMobile: true, showOnDesktop: true }) }; /***/ }), /***/ 510: /***/ (() => { /***/ }), /***/ 937: /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; // EXPORTS __webpack_require__.d(__webpack_exports__, { "$": () => (/* binding */ Web3Auth) }); ;// CONCATENATED MODULE: external "@babel/runtime/helpers/toConsumableArray" const toConsumableArray_namespaceObject = require("@babel/runtime/helpers/toConsumableArray"); var toConsumableArray_default = /*#__PURE__*/__webpack_require__.n(toConsumableArray_namespaceObject); ;// CONCATENATED MODULE: external "@babel/runtime/helpers/asyncToGenerator" const asyncToGenerator_namespaceObject = require("@babel/runtime/helpers/asyncToGenerator"); var asyncToGenerator_default = /*#__PURE__*/__webpack_require__.n(asyncToGenerator_namespaceObject); ;// CONCATENATED MODULE: external "@babel/runtime/helpers/classCallCheck" const classCallCheck_namespaceObject = require("@babel/runtime/helpers/classCallCheck"); var classCallCheck_default = /*#__PURE__*/__webpack_require__.n(classCallCheck_namespaceObject); ;// CONCATENATED MODULE: external "@babel/runtime/helpers/createClass" const createClass_namespaceObject = require("@babel/runtime/helpers/createClass"); var createClass_default = /*#__PURE__*/__webpack_require__.n(createClass_namespaceObject); ;// CONCATENATED MODULE: external "@babel/runtime/helpers/assertThisInitialized" const assertThisInitialized_namespaceObject = require("@babel/runtime/helpers/assertThisInitialized"); var assertThisInitialized_default = /*#__PURE__*/__webpack_require__.n(assertThisInitialized_namespaceObject); ;// CONCATENATED MODULE: external "@babel/runtime/helpers/get" const get_namespaceObject = require("@babel/runtime/helpers/get"); var get_default = /*#__PURE__*/__webpack_require__.n(get_namespaceObject); ;// CONCATENATED MODULE: external "@babel/runtime/helpers/inherits" const inherits_namespaceObject = require("@babel/runtime/helpers/inherits"); var inherits_default = /*#__PURE__*/__webpack_require__.n(inherits_namespaceObject); ;// CONCATENATED MODULE: external "@babel/runtime/helpers/possibleConstructorReturn" const possibleConstructorReturn_namespaceObject = require("@babel/runtime/helpers/possibleConstructorReturn"); var possibleConstructorReturn_default = /*#__PURE__*/__webpack_require__.n(possibleConstructorReturn_namespaceObject); ;// CONCATENATED MODULE: external "@babel/runtime/helpers/getPrototypeOf" const getPrototypeOf_namespaceObject = require("@babel/runtime/helpers/getPrototypeOf"); var getPrototypeOf_default = /*#__PURE__*/__webpack_require__.n(getPrototypeOf_namespaceObject); // EXTERNAL MODULE: external "@babel/runtime/helpers/defineProperty" var defineProperty_ = __webpack_require__(195); var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty_); ;// CONCATENATED MODULE: external "@babel/runtime/regenerator" const regenerator_namespaceObject = require("@babel/runtime/regenerator"); var regenerator_default = /*#__PURE__*/__webpack_require__.n(regenerator_namespaceObject); // EXTERNAL MODULE: external "@web3auth/base" var base_ = __webpack_require__(612); ;// CONCATENATED MODULE: external "@web3auth/core" const core_namespaceObject = require("@web3auth/core"); ;// CONCATENATED MODULE: external "@web3auth/ui" const ui_namespaceObject = require("@web3auth/ui"); var ui_default = /*#__PURE__*/__webpack_require__.n(ui_namespaceObject); // EXTERNAL MODULE: ./src/config.ts var config = __webpack_require__(591); ;// CONCATENATED MODULE: ./src/default.ts 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; } 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; } var getDefaultAdapterModule = /*#__PURE__*/function () { var _ref = asyncToGenerator_default()( /*#__PURE__*/regenerator_default().mark(function _callee(params) { var name, customChainConfig, clientId, finalChainConfig, _yield$import, TorusWalletAdapter, adapter, _yield$import2, SolanaWalletAdapter, _adapter, _yield$import3, MetamaskAdapter, _adapter2, _yield$import4, PhantomAdapter, _adapter3, _yield$import5, WalletConnectV1Adapter, _adapter4, _yield$import6, OpenloginAdapter, getOpenloginDefaultOptions, defaultOptions, _adapter5; return regenerator_default().wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: name = params.name, customChainConfig = params.customChainConfig, clientId = params.clientId; if (Object.values(base_.CHAIN_NAMESPACES).includes(customChainConfig.chainNamespace)) { _context.next = 3; break; } throw new Error("Invalid chainNamespace: ".concat(customChainConfig.chainNamespace)); case 3: finalChainConfig = _objectSpread(_objectSpread({}, (0,base_.getChainConfig)(customChainConfig.chainNamespace, customChainConfig === null || customChainConfig === void 0 ? void 0 : customChainConfig.chainId)), customChainConfig || {}); if (!(name === base_.WALLET_ADAPTERS.TORUS_EVM)) { _context.next = 13; break; } _context.next = 7; return Promise.resolve(/* import() */).then(__webpack_require__.t.bind(__webpack_require__, 546, 23)); case 7: _yield$import = _context.sent; TorusWalletAdapter = _yield$import.TorusWalletAdapter; adapter = new TorusWalletAdapter({ chainConfig: finalChainConfig, clientId: clientId }); return _context.abrupt("return", adapter); case 13: if (!(name === base_.WALLET_ADAPTERS.TORUS_SOLANA)) { _context.next = 22; break; } _context.next = 16; return Promise.resolve(/* import() */).then(__webpack_require__.t.bind(__webpack_require__, 5, 23)); case 16: _yield$import2 = _context.sent; SolanaWalletAdapter = _yield$import2.SolanaWalletAdapter; _adapter = new SolanaWalletAdapter({ chainConfig: finalChainConfig, clientId: clientId }); return _context.abrupt("return", _adapter); case 22: if (!(name === base_.WALLET_ADAPTERS.METAMASK)) { _context.next = 31; break; } _context.next = 25; return Promise.resolve(/* import() */).then(__webpack_require__.t.bind(__webpack_require__, 508, 23)); case 25: _yield$import3 = _context.sent; MetamaskAdapter = _yield$import3.MetamaskAdapter; _adapter2 = new MetamaskAdapter({ chainConfig: finalChainConfig, clientId: clientId }); return _context.abrupt("return", _adapter2); case 31: if (!(name === base_.WALLET_ADAPTERS.PHANTOM)) { _context.next = 40; break; } _context.next = 34; return Promise.resolve(/* import() */).then(__webpack_require__.t.bind(__webpack_require__, 915, 23)); case 34: _yield$import4 = _context.sent; PhantomAdapter = _yield$import4.PhantomAdapter; _adapter3 = new PhantomAdapter({ chainConfig: finalChainConfig, clientId: clientId }); return _context.abrupt("return", _adapter3); case 40: if (!(name === base_.WALLET_ADAPTERS.WALLET_CONNECT_V1)) { _context.next = 49; break; } _context.next = 43; return Promise.resolve(/* import() */).then(__webpack_require__.t.bind(__webpack_require__, 347, 23)); case 43: _yield$import5 = _context.sent; WalletConnectV1Adapter = _yield$import5.WalletConnectV1Adapter; _adapter4 = new WalletConnectV1Adapter({ chainConfig: finalChainConfig, clientId: clientId }); return _context.abrupt("return", _adapter4); case 49: if (!(name === base_.WALLET_ADAPTERS.OPENLOGIN)) { _context.next = 58; break; } _context.next = 52; return Promise.resolve(/* import() */).then(__webpack_require__.t.bind(__webpack_require__, 683, 23)); case 52: _yield$import6 = _context.sent; OpenloginAdapter = _yield$import6.OpenloginAdapter; getOpenloginDefaultOptions = _yield$import6.getOpenloginDefaultOptions; defaultOptions = getOpenloginDefaultOptions(customChainConfig.chainNamespace, customChainConfig === null || customChainConfig === void 0 ? void 0 : customChainConfig.chainId); _adapter5 = new OpenloginAdapter(_objectSpread(_objectSpread({}, defaultOptions), {}, { chainConfig: _objectSpread(_objectSpread({}, defaultOptions.chainConfig || {}), finalChainConfig), adapterSettings: _objectSpread(_objectSpread({}, defaultOptions.adapterSettings), {}, { clientId: clientId }) })); return _context.abrupt("return", _adapter5); case 58: throw new Error("Invalid wallet adapter name"); case 59: case "end": return _context.stop(); } } }, _callee); })); return function getDefaultAdapterModule(_x) { return _ref.apply(this, arguments); }; }(); ;// CONCATENATED MODULE: ./src/modalManager.ts 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; } 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; } function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = getPrototypeOf_default()(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = getPrototypeOf_default()(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return possibleConstructorReturn_default()(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var Web3Auth = /*#__PURE__*/function (_Web3AuthCore) { inherits_default()(Web3Auth, _Web3AuthCore); var _super = _createSuper(Web3Auth); function Web3Auth(options) { var _this$options$uiConfi, _this$options$uiConfi2; var _this; classCallCheck_default()(this, Web3Auth); _this = _super.call(this, options); defineProperty_default()(assertThisInitialized_default()(_this), "loginModal", void 0); defineProperty_default()(assertThisInitialized_default()(_this), "options", void 0); defineProperty_default()(assertThisInitialized_default()(_this), "modalConfig", config/* defaultEvmDappModalConfig */.OW); _this.options = modalManager_objectSpread({}, options); var providedChainConfig = _this.options.chainConfig; if (providedChainConfig.chainNamespace === base_.CHAIN_NAMESPACES.SOLANA) { if (options.authMode === "WALLET") { // default config for solana wallet modal _this.modalConfig = config/* defaultSolanaWalletModalConfig */.K8; } else { // default config for solana dapp modal _this.modalConfig = config/* defaultSolanaDappModalConfig */.Jx; } } else if (providedChainConfig.chainNamespace === base_.CHAIN_NAMESPACES.EIP155) { if (options.authMode === "WALLET") { // default config for evm wallet modal _this.modalConfig = config/* defaultEvmWalletModalConfig */.ql; } else { // default config for evm dapp modal _this.modalConfig = config/* defaultEvmDappModalConfig */.OW; } } else if (providedChainConfig.chainNamespace === base_.CHAIN_NAMESPACES.OTHER) { _this.modalConfig = config/* defaultOtherModalConfig */.ue; } else { throw new Error("Invalid chainNamespace provided: ".concat(providedChainConfig.chainNamespace)); } _this.loginModal = new (ui_default())({ theme: (_this$options$uiConfi = _this.options.uiConfig) === null || _this$options$uiConfi === void 0 ? void 0 : _this$options$uiConfi.theme, appLogo: ((_this$options$uiConfi2 = _this.options.uiConfig) === null || _this$options$uiConfi2 === void 0 ? void 0 : _this$options$uiConfi2.appLogo) || "", version: "", adapterListener: assertThisInitialized_default()(_this), displayErrorsOnModal: _this.options.displayErrorsOnModal }); _this.subscribeToLoginModalEvents(); return _this; } createClass_default()(Web3Auth, [{ key: "initModal", value: function () { var _initModal = asyncToGenerator_default()( /*#__PURE__*/regenerator_default().mark(function _callee3(params) { var _this2 = this; var providedChainConfig, allAdapters, adapterConfigurationPromises, adapterNames, hasInAppWallets, initPromises, hasExternalWallets; return regenerator_default().wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: get_default()(getPrototypeOf_default()(Web3Auth.prototype), "checkInitRequirements", this).call(this); _context3.next = 3; return this.loginModal.initModal(); case 3: providedChainConfig = this.options.chainConfig; // merge default adapters with the custom configured adapters. allAdapters = toConsumableArray_default()(new Set([].concat(toConsumableArray_default()(Object.keys(this.modalConfig.adapters || {})), toConsumableArray_default()(Object.keys(this.walletAdapters))))); adapterConfigurationPromises = allAdapters.map( /*#__PURE__*/function () { var _ref = asyncToGenerator_default()( /*#__PURE__*/regenerator_default().mark(function _callee(adapterName) { var _this2$modalConfig$ad, _params$modalConfig, _this2$modalConfig$ad2, _this2$modalConfig$ad3; var adapterConfig, adapter, ad, _this2$modalConfig$ad4, _this2$coreOptions$ch, chainConfig; return regenerator_default().wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: // start with the default config of adapter. adapterConfig = ((_this2$modalConfig$ad = _this2.modalConfig.adapters) === null || _this2$modalConfig$ad === void 0 ? void 0 : _this2$modalConfig$ad[adapterName]) || { label: adapterName, showOnModal: true, showOnMobile: true, showOnDesktop: true }; // override the default config of adapter if some config is being provided by the user. if (params !== null && params !== void 0 && (_params$modalConfig = params.modalConfig) !== null && _params$modalConfig !== void 0 && _params$modalConfig[adapterName]) { adapterConfig = modalManager_objectSpread(modalManager_objectSpread({}, adapterConfig), params.modalConfig[adapterName]); } _this2.modalConfig.adapters[adapterName] = adapterConfig; // check if adapter is configured/added by user and exist in walletAdapters map. adapter = _this2.walletAdapters[adapterName]; base_.log.debug("adapter config", adapterName, (_this2$modalConfig$ad2 = _this2.modalConfig.adapters) === null || _this2$modalConfig$ad2 === void 0 ? void 0 : _this2$modalConfig$ad2[adapterName].showOnModal, adapter); // if adapter is not custom configured then check if it is available in default adapters. // and if adapter is not hidden by user if (!(!adapter && (_this2$modalConfig$ad3 = _this2.modalConfig.adapters) !== null && _this2$modalConfig$ad3 !== void 0 && _this2$modalConfig$ad3[adapterName].showOnModal)) { _context.next = 13; break; } _context.next = 8; return getDefaultAdapterModule({ name: adapterName, customChainConfig: _this2.options.chainConfig, clientId: _this2.options.clientId }); case 8: ad = _context.sent; _this2.walletAdapters[adapterName] = ad; return _context.abrupt("return", adapterName); case 13: if (!((adapter === null || adapter === void 0 ? void 0 : adapter.type) === base_.ADAPTER_CATEGORY.IN_APP || (adapter === null || adapter === void 0 ? void 0 : adapter.type) === base_.ADAPTER_CATEGORY.EXTERNAL || adapterName === _this2.cachedAdapter)) { _context.next = 19; break; } if ((_this2$modalConfig$ad4 = _this2.modalConfig.adapters) !== null && _this2$modalConfig$ad4 !== void 0 && _this2$modalConfig$ad4[adapterName].showOnModal) { _context.next = 16; break; } return _context.abrupt("return"); case 16: // add client id to adapter, same web3auth client id can be used in adapter. // this id is being overridden if user is also passing client id in adapter's constructor. _this2.walletAdapters[adapterName].setAdapterSettings({ clientId: _this2.options.clientId, sessionTime: _this2.options.sessionTime }); // if adapter doesn't have any chainConfig then we will set the chainConfig based of passed chainNamespace // and chainNamespace. if (!adapter.chainConfigProxy) { chainConfig = modalManager_objectSpread(modalManager_objectSpread({}, (0,base_.getChainConfig)(providedChainConfig.chainNamespace, (_this2$coreOptions$ch = _this2.coreOptions.chainConfig) === null || _this2$coreOptions$ch === void 0 ? void 0 : _this2$coreOptions$ch.chainId)), _this2.coreOptions.chainConfig); _this2.walletAdapters[adapterName].setChainConfig(chainConfig); } return _context.abrupt("return", adapterName); case 19: case "end": return _context.stop(); } } }, _callee); })); return function (_x2) { return _ref.apply(this, arguments); }; }()); _context3.next = 8; return Promise.all(adapterConfigurationPromises); case 8: adapterNames = _context3.sent; hasInAppWallets = Object.values(this.walletAdapters).some(function (adapter) { var _adapter$name; if (adapter.type !== base_.ADAPTER_CATEGORY.IN_APP) return false; if (_this2.modalConfig.adapters[adapter.name].showOnModal !== true) return false; if (!_this2.modalConfig.adapters[adapter.name].loginMethods) return true; var mergedLoginMethods = (0,ui_namespaceObject.getAdapterSocialLogins)(adapter.name, _this2.walletAdapters[adapter.name], (_adapter$name = _this2.modalConfig.adapters[adapter.name]) === null || _adapter$name === void 0 ? void 0 : _adapter$name.loginMethods); if (Object.values(mergedLoginMethods).some(function (method) { return method.showOnModal; })) return true; return false; }); base_.log.debug(hasInAppWallets, this.walletAdapters, "hasInAppWallets"); // Now, initialize the adapters. initPromises = adapterNames.map( /*#__PURE__*/function () { var _ref2 = asyncToGenerator_default()( /*#__PURE__*/regenerator_default().mark(function _callee2(adapterName) { var adapter; return regenerator_default().wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: if (adapterName) { _context2.next = 2; break; } return _context2.abrupt("return"); case 2: _context2.prev = 2; adapter = _this2.walletAdapters[adapterName]; // only initialize a external adapter here if it is a cached adapter. if (!(_this2.cachedAdapter !== adapterName && adapter.type === base_.ADAPTER_CATEGORY.EXTERNAL)) { _context2.next = 6; break; } return _context2.abrupt("return"); case 6: // in-app wallets or cached wallet (being connected or already connected) are initialized first. // if adapter is configured thn only initialize in app or cached adapter. // external wallets are initialized on INIT_EXTERNAL_WALLET event. _this2.subscribeToAdapterEvents(adapter); if (!(adapter.status === base_.ADAPTER_STATUS.NOT_READY)) { _context2.next = 10; break; } _context2.next = 10; return adapter.init({ autoConnect: _this2.cachedAdapter === adapterName }); case 10: // note: not adding cachedWallet to modal if it is external wallet. // adding it later if no in-app wallets are available. if (adapter.type === base_.ADAPTER_CATEGORY.IN_APP) { _this2.initializeInAppWallet(adapterName); } _context2.next = 16; break; case 13: _context2.prev = 13; _context2.t0 = _context2["catch"](2); base_.log.error(_context2.t0, "error while initializing adapter"); case 16: case "end": return _context2.stop(); } } }, _callee2, null, [[2, 13]]); })); return function (_x3) { return _ref2.apply(this, arguments); }; }()); this.status = base_.ADAPTER_STATUS.READY; _context3.next = 15; return Promise.all(initPromises); case 15: hasExternalWallets = allAdapters.some(function (adapterName) { var _this2$walletAdapters, _this2$modalConfig$ad5; return ((_this2$walletAdapters = _this2.walletAdapters[adapterName]) === null || _this2$walletAdapters === void 0 ? void 0 : _this2$walletAdapters.type) === base_.ADAPTER_CATEGORY.EXTERNAL && ((_this2$modalConfig$ad5 = _this2.modalConfig.adapters) === null || _this2$modalConfig$ad5 === void 0 ? void 0 : _this2$modalConfig$ad5[adapterName].showOnModal); }); if (hasExternalWallets) { this.loginModal.initExternalWalletContainer(); } // variable to check if we have any in app wallets // currently all default in app and external wallets can be hidden or shown based on config. if (!(!hasInAppWallets && hasExternalWallets)) { _context3.next = 20; break; } _context3.next = 20; return this.initExternalWalletAdapters(false, { showExternalWalletsOnly: true }); case 20: case "end": return _context3.stop(); } } }, _callee3, this); })); function initModal(_x) { return _initModal.apply(this, arguments); } return initModal; }() }, { key: "connect", value: function () { var _connect = asyncToGenerator_default()( /*#__PURE__*/regenerator_default().mark(function _callee4() { var _this3 = this; return regenerator_default().wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: if (!this.provider) { _context4.next = 2; break; } return _context4.abrupt("return", this.provider); case 2: this.loginModal.open(); return _context4.abrupt("return", new Promise(function (resolve, reject) { _this3.once(base_.ADAPTER_EVENTS.CONNECTED, function () { return resolve(_this3.provider); }); _this3.once(base_.ADAPTER_EVENTS.ERRORED, function (err) { return reject(err); }); })); case 4: case "end": return _context4.stop(); } } }, _callee4, this); })); function connect() { return _connect.apply(this, arguments); } return connect; }() }, { key: "initExternalWalletAdapters", value: function () { var _initExternalWalletAdapters = asyncToGenerator_default()( /*#__PURE__*/regenerator_default().mark(function _callee6(externalWalletsInitialized, options) { var _this4 = this; var adaptersConfig, adaptersData, adapterPromises, adapterInitResults, finalAdaptersConfig; return regenerator_default().wrap(function _callee6$(_context6) { while (1) { switch (_context6.prev = _context6.next) { case 0: if (!externalWalletsInitialized) { _context6.next = 2; break; } return _context6.abrupt("return"); case 2: adaptersConfig = {}; adaptersData = {}; adapterPromises = Object.keys(this.walletAdapters).map( /*#__PURE__*/function () { var _ref3 = asyncToGenerator_default()( /*#__PURE__*/regenerator_default().mark(function _callee5(adapterName) { var adapter; return regenerator_default().wrap(function _callee5$(_context5) { while (1) { switch (_context5.prev = _context5.next) { case 0: _context5.prev = 0; adapter = _this4.walletAdapters[adapterName]; if (!((adapter === null || adapter === void 0 ? void 0 : adapter.type) === base_.ADAPTER_CATEGORY.EXTERNAL)) { _context5.next = 11; break; } base_.log.debug("init external wallet", _this4.cachedAdapter, adapterName); _this4.subscribeToAdapterEvents(adapter); // we are not initializing cached adapter here as it is already being initialized in initModal before. if (!(_this4.cachedAdapter === adapterName)) { _context5.next = 7; break; } return _context5.abrupt("return"); case 7: if (!(adapter.status === base_.ADAPTER_STATUS.NOT_READY)) { _context5.next = 11; break; } _context5.next = 10; return Promise.race([adapter.init({ autoConnect: _this4.cachedAdapter === adapterName }).then(function () { adaptersConfig[adapterName] = _this4.modalConfig.adapters[adapterName]; adaptersData[adapterName] = adapter.adapterData || {}; return adapterName; }), new Promise(function (resolve) { setTimeout(function () { return resolve(null); }, 5000); })]); case 10: return _context5.abrupt("return", _context5.sent); case 11: _context5.next = 16; break; case 13: _context5.prev = 13; _context5.t0 = _context5["catch"](0); base_.log.error(_context5.t0, "error while initializing adapter"); case 16: case "end": return _context5.stop(); } } }, _callee5, null, [[0, 13]]); })); return function (_x6) { return _ref3.apply(this, arguments); }; }()); _context6.next = 7; return Promise.all(adapterPromises); case 7: adapterInitResults = _context6.sent; finalAdaptersConfig = {}; adapterInitResults.forEach(function (result) { if (result) { finalAdaptersConfig[result] = adaptersConfig[result]; } }); this.loginModal.addWalletLogins(finalAdaptersConfig, { showExternalWalletsOnly: !!(options !== null && options !== void 0 && options.showExternalWalletsOnly) }); case 11: case "end": return _context6.stop(); } } }, _callee6, this); })); function initExternalWalletAdapters(_x4, _x5) { return _initExternalWalletAdapters.apply(this, arguments); } return initExternalWalletAdapters; }() }, { key: "initializeInAppWallet", value: function initializeInAppWallet(adapterName) { base_.log.info("adapterInitResults", adapterName); if (this.walletAdapters[adapterName].type === base_.ADAPTER_CATEGORY.IN_APP) { var _adapterName, _this$options$uiConfi3; 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$uiConfi3 = this.options.uiConfig) === null || _this$options$uiConfi3 === void 0 ? void 0 : _this$options$uiConfi3.loginMethodsOrder) || ui_namespaceObject.OPENLOGIN_PROVIDERS); } } }, { key: "subscribeToLoginModalEvents", value: function subscribeToLoginModalEvents() { var _this5 = this; this.loginModal.on(ui_namespaceObject.LOGIN_MODAL_EVENTS.LOGIN, /*#__PURE__*/function () { var _ref4 = asyncToGenerator_default()( /*#__PURE__*/regenerator_default().mark(function _callee7(params) { return regenerator_default().wrap(function _callee7$(_context7) { while (1) { switch (_context7.prev = _context7.next) { case 0: _context7.prev = 0; _context7.next = 3; return _this5.connectTo(params.adapter, params.loginParams); case 3: _context7.next = 8; break; case 5: _context7.prev = 5; _context7.t0 = _context7["catch"](0); base_.log.error("Error while connecting to adapter: ".concat(params.adapter), _context7.t0); case 8: case "end": return _context7.stop(); } } }, _callee7, null, [[0, 5]]); })); return function (_x7) { return _ref4.apply(this, arguments); }; }()); this.loginModal.on(ui_namespaceObject.LOGIN_MODAL_EVENTS.INIT_EXTERNAL_WALLETS, /*#__PURE__*/function () { var _ref5 = asyncToGenerator_default()( /*#__PURE__*/regenerator_default().mark(function _callee8(params) { return regenerator_default().wrap(function _callee8$(_context8) { while (1) { switch (_context8.prev = _context8.next) { case 0: _context8.next = 2; return _this5.initExternalWalletAdapters(params.externalWalletsInitialized); case 2: case "end": return _context8.stop(); } } }, _callee8); })); return function (_x8) { return _ref5.apply(this, arguments); }; }()); this.loginModal.on(ui_namespaceObject.LOGIN_MODAL_EVENTS.DISCONNECT, /*#__PURE__*/asyncToGenerator_default()( /*#__PURE__*/regenerator_default().mark(function _callee9() { return regenerator_default().wrap(function _callee9$(_context9) { while (1) { switch (_context9.prev = _context9.next) { case 0: _context9.prev = 0; _context9.next = 3; return _this5.logout(); case 3: _context9.next = 8; break; case 5: _context9.prev = 5; _context9.t0 = _context9["catch"](0); base_.log.error("Error while disconnecting", _context9.t0); case 8: case "end": return _context9.stop(); } } }, _callee9, null, [[0, 5]]); }))); this.loginModal.on(ui_namespaceObject.LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, /*#__PURE__*/function () { var _ref7 = asyncToGenerator_default()( /*#__PURE__*/regenerator_default().mark(function _callee10(visibility) { var _this5$walletAdapters; var walletConnectStatus; return regenerator_default().wrap(function _callee10$(_context10) { while (1) { switch (_context10.prev = _context10.next) { case 0: base_.log.debug("is login modal visible", visibility); _this5.emit(ui_namespaceObject.LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, visibility); walletConnectStatus = (_this5$walletAdapters = _this5.walletAdapters[base_.WALLET_ADAPTERS.WALLET_CONNECT_V1]) === null || _this5$walletAdapters === void 0 ? void 0 : _this5$walletAdapters.status; if (visibility && walletConnectStatus === base_.ADAPTER_STATUS.READY) { // refreshing session for wallet connect whenever modal is opened. try { _this5.walletAdapters[base_.WALLET_ADAPTERS.WALLET_CONNECT_V1].connect(); } catch (error) { base_.log.error("Error while disconnecting to wallet connect in core", error); } } case 4: case "end": return _context10.stop(); } } }, _callee10); })); return function (_x9) { return _ref7.apply(this, arguments); }; }()); } }]); return Web3Auth; }(core_namespaceObject.Web3AuthCore); /***/ }), /***/ 195: /***/ ((module) => { "use strict"; module.exports = require("@babel/runtime/helpers/defineProperty"); /***/ }), /***/ 612: /***/ ((module) => { "use strict"; module.exports = require("@web3auth/base"); /***/ }), /***/ 508: /***/ ((module) => { "use strict"; module.exports = require("@web3auth/metamask-adapter"); /***/ }), /***/ 683: /***/ ((module) => { "use strict"; module.exports = require("@web3auth/openlogin-adapter"); /***/ }), /***/ 915: /***/ ((module) => { "use strict"; module.exports = require("@web3auth/phantom-adapter"); /***/ }), /***/ 546: /***/ ((module) => { "use strict"; module.exports = require("@web3auth/torus-evm-adapter"); /***/ }), /***/ 5: /***/ ((module) => { "use strict"; module.exports = require("@web3auth/torus-solana-adapter"); /***/ }), /***/ 347: /***/ ((module) => { "use strict"; module.exports = require("@web3auth/wallet-connect-v1-adapter"); /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ /******/ /* webpack/runtime/compat get default export */ /******/ (() => { /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = (module) => { /******/ var getter = module && module.__esModule ? /******/ () => (module['default']) : /******/ () => (module); /******/ __webpack_require__.d(getter, { a: getter }); /******/ return getter; /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/create fake namespace object */ /******/ (() => { /******/ var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__); /******/ var leafPrototypes; /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 16: return value when it's Promise-like /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = this(value); /******/ if(mode & 8) return value; /******/ if(typeof value === 'object' && value) { /******/ if((mode & 4) && value.__esModule) return value; /******/ if((mode & 16) && typeof value.then === 'function') return value; /******/ } /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ var def = {}; /******/ leafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)]; /******/ for(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) { /******/ Object.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key]))); /******/ } /******/ def['default'] = () => (value); /******/ __webpack_require__.d(ns, def); /******/ return ns; /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/define property getters */ /******/ (() => { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = (exports, definition) => { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ (() => { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ })(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ (() => { /******/ // define __esModule on exports /******/ __webpack_require__.r = (exports) => { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ })(); /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry need to be wrapped in an IIFE because it need to be in strict mode. (() => { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "Web3Auth": () => (/* reexport safe */ _modalManager__WEBPACK_IMPORTED_MODULE_2__.$), /* harmony export */ "defaultEvmDappModalConfig": () => (/* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_0__.OW), /* harmony export */ "defaultEvmWalletModalConfig": () => (/* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_0__.ql), /* harmony export */ "defaultOtherModalConfig": () => (/* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_0__.ue), /* harmony export */ "defaultSolanaDappModalConfig": () => (/* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_0__.Jx), /* harmony export */ "defaultSolanaWalletModalConfig": () => (/* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_0__.K8) /* harmony export */ }); /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(591); /* harmony import */ var _interface__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(510); /* harmony import */ var _interface__WEBPACK_IMPORTED_MODULE_1___de