@web3auth/web3auth
Version:
[](https://www.npmjs.com/package/@web3auth/web3auth/v/latest) [](https://bundlephobia.com/resu
1,109 lines (909 loc) • 50.9 kB
JavaScript
/******/ (() => { // 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