@web3auth/modal 7.0.0-beta.0 → 7.0.1-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 +19 -46
- package/dist/modal.cjs.js.map +1 -1
- package/dist/modal.esm.js +18 -44
- package/dist/modal.esm.js.map +1 -1
- package/dist/modal.umd.min.js +1 -1
- package/dist/modal.umd.min.js.map +1 -1
- package/dist/types/default.d.ts +2 -0
- package/package.json +3 -3
- package/src/default.ts +4 -2
- package/src/modalManager.ts +6 -13
- package/dist/types/utils.d.ts +0 -12
- package/src/utils.ts +0 -25
package/dist/modal.cjs.js
CHANGED
|
@@ -110,7 +110,7 @@ const defaultOtherModalConfig = {
|
|
|
110
110
|
|
|
111
111
|
/***/ }),
|
|
112
112
|
|
|
113
|
-
/***/
|
|
113
|
+
/***/ 333:
|
|
114
114
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
115
115
|
|
|
116
116
|
"use strict";
|
|
@@ -178,7 +178,8 @@ const getDefaultAdapterModule = async params => {
|
|
|
178
178
|
customChainConfig,
|
|
179
179
|
clientId,
|
|
180
180
|
sessionTime,
|
|
181
|
-
web3AuthNetwork
|
|
181
|
+
web3AuthNetwork,
|
|
182
|
+
uiConfig
|
|
182
183
|
} = params;
|
|
183
184
|
if (!Object.values(base_.CHAIN_NAMESPACES).includes(customChainConfig.chainNamespace)) throw new Error(`Invalid chainNamespace: ${customChainConfig.chainNamespace}`);
|
|
184
185
|
const finalChainConfig = objectSpread2_default()(objectSpread2_default()({}, (0,base_.getChainConfig)(customChainConfig.chainNamespace, customChainConfig === null || customChainConfig === void 0 ? void 0 : customChainConfig.chainId)), customChainConfig || {});
|
|
@@ -255,7 +256,8 @@ const getDefaultAdapterModule = async params => {
|
|
|
255
256
|
chainConfig: objectSpread2_default()({}, finalChainConfig),
|
|
256
257
|
adapterSettings: objectSpread2_default()(objectSpread2_default()({}, defaultOptions.adapterSettings), {}, {
|
|
257
258
|
clientId,
|
|
258
|
-
network: web3AuthNetwork
|
|
259
|
+
network: web3AuthNetwork,
|
|
260
|
+
whiteLabel: uiConfig
|
|
259
261
|
}),
|
|
260
262
|
sessionTime,
|
|
261
263
|
web3AuthNetwork,
|
|
@@ -265,26 +267,6 @@ const getDefaultAdapterModule = async params => {
|
|
|
265
267
|
}
|
|
266
268
|
throw new Error("Invalid wallet adapter name");
|
|
267
269
|
};
|
|
268
|
-
;// CONCATENATED MODULE: ./src/utils.ts
|
|
269
|
-
const languageMap = {
|
|
270
|
-
en: "english",
|
|
271
|
-
de: "german",
|
|
272
|
-
ja: "japanese",
|
|
273
|
-
ko: "korean",
|
|
274
|
-
zh: "mandarin",
|
|
275
|
-
es: "spanish",
|
|
276
|
-
fr: "french",
|
|
277
|
-
pt: "portuguese",
|
|
278
|
-
nl: "dutch"
|
|
279
|
-
};
|
|
280
|
-
const getUserLanguage = defaultLanguage => {
|
|
281
|
-
let userLanguage = defaultLanguage;
|
|
282
|
-
if (!userLanguage) {
|
|
283
|
-
const browserLanguage = typeof window !== "undefined" ? window.navigator.userLanguage || window.navigator.language || "en-US" : "en-US";
|
|
284
|
-
userLanguage = browserLanguage.split("-")[0];
|
|
285
|
-
}
|
|
286
|
-
return Object.prototype.hasOwnProperty.call(languageMap, userLanguage) ? userLanguage : "en";
|
|
287
|
-
};
|
|
288
270
|
;// CONCATENATED MODULE: ./src/modalManager.ts
|
|
289
271
|
|
|
290
272
|
|
|
@@ -294,10 +276,8 @@ const getUserLanguage = defaultLanguage => {
|
|
|
294
276
|
|
|
295
277
|
|
|
296
278
|
|
|
297
|
-
|
|
298
279
|
class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
|
|
299
280
|
constructor(options) {
|
|
300
|
-
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;
|
|
301
281
|
super(options);
|
|
302
282
|
defineProperty_default()(this, "loginModal", void 0);
|
|
303
283
|
defineProperty_default()(this, "options", void 0);
|
|
@@ -325,20 +305,11 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
|
|
|
325
305
|
} else {
|
|
326
306
|
throw new Error(`Invalid chainNamespace provided: ${providedChainConfig.chainNamespace}`);
|
|
327
307
|
}
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
appName: ((_this$options$uiConfi3 = this.options.uiConfig) === null || _this$options$uiConfi3 === void 0 ? void 0 : _this$options$uiConfi3.appName) || "blockchain",
|
|
334
|
-
appLogo: ((_this$options$uiConfi4 = this.options.uiConfig) === null || _this$options$uiConfi4 === void 0 ? void 0 : _this$options$uiConfi4.appLogo) || "",
|
|
335
|
-
adapterListener: this,
|
|
336
|
-
displayErrorsOnModal: (_this$options$uiConfi5 = this.options.uiConfig) === null || _this$options$uiConfi5 === void 0 ? void 0 : _this$options$uiConfi5.displayErrorsOnModal,
|
|
337
|
-
defaultLanguage,
|
|
338
|
-
modalZIndex: ((_this$options$uiConfi6 = this.options.uiConfig) === null || _this$options$uiConfi6 === void 0 ? void 0 : _this$options$uiConfi6.modalZIndex) || "99998",
|
|
339
|
-
loginGridCol: ((_this$options$uiConfi7 = this.options.uiConfig) === null || _this$options$uiConfi7 === void 0 ? void 0 : _this$options$uiConfi7.loginGridCol) || 3,
|
|
340
|
-
primaryButton: ((_this$options$uiConfi8 = this.options.uiConfig) === null || _this$options$uiConfi8 === void 0 ? void 0 : _this$options$uiConfi8.primaryButton) || "socialLogin"
|
|
341
|
-
});
|
|
308
|
+
if (!this.options.uiConfig.defaultLanguage) this.options.uiConfig.defaultLanguage = (0,ui_namespaceObject.getUserLanguage)(this.options.uiConfig.defaultLanguage);
|
|
309
|
+
if (!this.options.uiConfig.mode) this.options.uiConfig.mode = "auto";
|
|
310
|
+
this.loginModal = new ui_namespaceObject.LoginModal(objectSpread2_default()(objectSpread2_default()({}, this.options.uiConfig), {}, {
|
|
311
|
+
adapterListener: this
|
|
312
|
+
}));
|
|
342
313
|
this.subscribeToLoginModalEvents();
|
|
343
314
|
}
|
|
344
315
|
async initModal(params) {
|
|
@@ -377,7 +348,8 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
|
|
|
377
348
|
customChainConfig: this.options.chainConfig,
|
|
378
349
|
clientId: this.options.clientId,
|
|
379
350
|
sessionTime: this.options.sessionTime,
|
|
380
|
-
web3AuthNetwork: this.options.web3AuthNetwork
|
|
351
|
+
web3AuthNetwork: this.options.web3AuthNetwork,
|
|
352
|
+
uiConfig: this.options.uiConfig
|
|
381
353
|
});
|
|
382
354
|
this.walletAdapters[adapterName] = ad;
|
|
383
355
|
return adapterName;
|
|
@@ -406,7 +378,8 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
|
|
|
406
378
|
if (!openloginAdapter.privateKeyProvider) {
|
|
407
379
|
const currentPrivateKeyProvider = await getPrivateKeyProvider(openloginAdapter.chainConfigProxy);
|
|
408
380
|
openloginAdapter.setAdapterSettings({
|
|
409
|
-
privateKeyProvider: currentPrivateKeyProvider
|
|
381
|
+
privateKeyProvider: currentPrivateKeyProvider,
|
|
382
|
+
whiteLabel: this.options.uiConfig
|
|
410
383
|
});
|
|
411
384
|
}
|
|
412
385
|
}
|
|
@@ -520,10 +493,10 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
|
|
|
520
493
|
initializeInAppWallet(adapterName) {
|
|
521
494
|
base_.log.info("adapterInitResults", adapterName);
|
|
522
495
|
if (this.walletAdapters[adapterName].type === base_.ADAPTER_CATEGORY.IN_APP) {
|
|
523
|
-
var _adapterName, _this$options$
|
|
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$
|
|
525
|
-
loginGridCol: ((_this$options$
|
|
526
|
-
primaryButton: ((_this$options$
|
|
496
|
+
var _adapterName, _this$options$uiConfi, _this$options$uiConfi2, _this$options$uiConfi3;
|
|
497
|
+
this.loginModal.addSocialLogins(adapterName, (0,ui_namespaceObject.getAdapterSocialLogins)(adapterName, (_adapterName = this.modalConfig.adapters[adapterName]) === null || _adapterName === void 0 ? void 0 : _adapterName.loginMethods), ((_this$options$uiConfi = this.options.uiConfig) === null || _this$options$uiConfi === void 0 ? void 0 : _this$options$uiConfi.loginMethodsOrder) || ui_namespaceObject.OPENLOGIN_PROVIDERS, objectSpread2_default()(objectSpread2_default()({}, this.options.uiConfig), {}, {
|
|
498
|
+
loginGridCol: ((_this$options$uiConfi2 = this.options.uiConfig) === null || _this$options$uiConfi2 === void 0 ? void 0 : _this$options$uiConfi2.loginGridCol) || 3,
|
|
499
|
+
primaryButton: ((_this$options$uiConfi3 = this.options.uiConfig) === null || _this$options$uiConfi3 === void 0 ? void 0 : _this$options$uiConfi3.primaryButton) || "socialLogin"
|
|
527
500
|
}));
|
|
528
501
|
}
|
|
529
502
|
}
|
|
@@ -758,7 +731,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
758
731
|
/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};
|
|
759
732
|
/* 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__]
|
|
760
733
|
/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
|
|
761
|
-
/* harmony import */ var _modalManager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(
|
|
734
|
+
/* harmony import */ var _modalManager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(333);
|
|
762
735
|
|
|
763
736
|
|
|
764
737
|
|
package/dist/modal.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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":""}
|
|
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/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/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\";\nimport { UIConfig } from \"@web3auth/ui\";\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 uiConfig?: Omit<UIConfig, \"adapterListener\">;\n}): Promise<IAdapter<unknown>> => {\n const { name, customChainConfig, clientId, sessionTime, web3AuthNetwork, uiConfig } = 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, whiteLabel: uiConfig },\n sessionTime,\n web3AuthNetwork,\n privateKeyProvider,\n });\n return adapter;\n }\n throw new Error(\"Invalid wallet adapter name\");\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, getUserLanguage, 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\";\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 if (!this.options.uiConfig.defaultLanguage) this.options.uiConfig.defaultLanguage = getUserLanguage(this.options.uiConfig.defaultLanguage);\n if (!this.options.uiConfig.mode) this.options.uiConfig.mode = \"auto\";\n\n this.loginModal = new LoginModal({\n ...this.options.uiConfig,\n adapterListener: this,\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 uiConfig: this.options.uiConfig,\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, whiteLabel: this.options.uiConfig });\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","uiConfig","Object","values","includes","finalChainConfig","_objectSpread","chainId","TorusWalletAdapter","adapter","SolanaWalletAdapter","MetamaskAdapter","PhantomAdapter","WalletConnectV2Adapter","adapterSettings","walletConnectInitOptions","projectId","OpenloginAdapter","getOpenloginDefaultOptions","privateKeyProvider","defaultOptions","network","whiteLabel","ADAPTER_CATEGORY","ADAPTER_EVENTS","ADAPTER_STATUS","log","CommonJRPCProvider","Web3AuthNoModal","getAdapterSocialLogins","getUserLanguage","LOGIN_MODAL_EVENTS","LoginModal","OPENLOGIN_PROVIDERS","Web3Auth","constructor","options","_defineProperty","providedChainConfig","authMode","modalConfig","defaultLanguage","mode","loginModal","adapterListener","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$uiConfi","_this$options$uiConfi2","_this$options$uiConfi3","addSocialLogins","loginMethodsOrder","loginGridCol","primaryButton","on","LOGIN","connectTo","loginParams","INIT_EXTERNAL_WALLETS","DISCONNECT","logout","MODAL_VISIBILITY","visibility","emit","walletConnectStatus","CONNECTING"],"sourceRoot":""}
|
package/dist/modal.esm.js
CHANGED
|
@@ -3,7 +3,7 @@ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
|
3
3
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
4
4
|
import { CommonPrivateKeyProvider, CommonJRPCProvider } from '@web3auth/base-provider';
|
|
5
5
|
import { Web3AuthNoModal } from '@web3auth/no-modal';
|
|
6
|
-
import { LoginModal, getAdapterSocialLogins, OPENLOGIN_PROVIDERS, LOGIN_MODAL_EVENTS } from '@web3auth/ui';
|
|
6
|
+
import { getUserLanguage, LoginModal, getAdapterSocialLogins, OPENLOGIN_PROVIDERS, LOGIN_MODAL_EVENTS } from '@web3auth/ui';
|
|
7
7
|
|
|
8
8
|
const defaultSolanaDappModalConfig = {
|
|
9
9
|
chainNamespace: CHAIN_NAMESPACES.SOLANA,
|
|
@@ -129,7 +129,8 @@ const getDefaultAdapterModule = async params => {
|
|
|
129
129
|
customChainConfig,
|
|
130
130
|
clientId,
|
|
131
131
|
sessionTime,
|
|
132
|
-
web3AuthNetwork
|
|
132
|
+
web3AuthNetwork,
|
|
133
|
+
uiConfig
|
|
133
134
|
} = params;
|
|
134
135
|
if (!Object.values(CHAIN_NAMESPACES).includes(customChainConfig.chainNamespace)) throw new Error(`Invalid chainNamespace: ${customChainConfig.chainNamespace}`);
|
|
135
136
|
const finalChainConfig = _objectSpread(_objectSpread({}, getChainConfig(customChainConfig.chainNamespace, customChainConfig === null || customChainConfig === void 0 ? void 0 : customChainConfig.chainId)), customChainConfig || {});
|
|
@@ -206,7 +207,8 @@ const getDefaultAdapterModule = async params => {
|
|
|
206
207
|
chainConfig: _objectSpread({}, finalChainConfig),
|
|
207
208
|
adapterSettings: _objectSpread(_objectSpread({}, defaultOptions.adapterSettings), {}, {
|
|
208
209
|
clientId,
|
|
209
|
-
network: web3AuthNetwork
|
|
210
|
+
network: web3AuthNetwork,
|
|
211
|
+
whiteLabel: uiConfig
|
|
210
212
|
}),
|
|
211
213
|
sessionTime,
|
|
212
214
|
web3AuthNetwork,
|
|
@@ -217,29 +219,8 @@ const getDefaultAdapterModule = async params => {
|
|
|
217
219
|
throw new Error("Invalid wallet adapter name");
|
|
218
220
|
};
|
|
219
221
|
|
|
220
|
-
const languageMap = {
|
|
221
|
-
en: "english",
|
|
222
|
-
de: "german",
|
|
223
|
-
ja: "japanese",
|
|
224
|
-
ko: "korean",
|
|
225
|
-
zh: "mandarin",
|
|
226
|
-
es: "spanish",
|
|
227
|
-
fr: "french",
|
|
228
|
-
pt: "portuguese",
|
|
229
|
-
nl: "dutch"
|
|
230
|
-
};
|
|
231
|
-
const getUserLanguage = defaultLanguage => {
|
|
232
|
-
let userLanguage = defaultLanguage;
|
|
233
|
-
if (!userLanguage) {
|
|
234
|
-
const browserLanguage = typeof window !== "undefined" ? window.navigator.userLanguage || window.navigator.language || "en-US" : "en-US";
|
|
235
|
-
userLanguage = browserLanguage.split("-")[0];
|
|
236
|
-
}
|
|
237
|
-
return Object.prototype.hasOwnProperty.call(languageMap, userLanguage) ? userLanguage : "en";
|
|
238
|
-
};
|
|
239
|
-
|
|
240
222
|
class Web3Auth extends Web3AuthNoModal {
|
|
241
223
|
constructor(options) {
|
|
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;
|
|
243
224
|
super(options);
|
|
244
225
|
_defineProperty(this, "loginModal", void 0);
|
|
245
226
|
_defineProperty(this, "options", void 0);
|
|
@@ -267,20 +248,11 @@ class Web3Auth extends Web3AuthNoModal {
|
|
|
267
248
|
} else {
|
|
268
249
|
throw new Error(`Invalid chainNamespace provided: ${providedChainConfig.chainNamespace}`);
|
|
269
250
|
}
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
appName: ((_this$options$uiConfi3 = this.options.uiConfig) === null || _this$options$uiConfi3 === void 0 ? void 0 : _this$options$uiConfi3.appName) || "blockchain",
|
|
276
|
-
appLogo: ((_this$options$uiConfi4 = this.options.uiConfig) === null || _this$options$uiConfi4 === void 0 ? void 0 : _this$options$uiConfi4.appLogo) || "",
|
|
277
|
-
adapterListener: this,
|
|
278
|
-
displayErrorsOnModal: (_this$options$uiConfi5 = this.options.uiConfig) === null || _this$options$uiConfi5 === void 0 ? void 0 : _this$options$uiConfi5.displayErrorsOnModal,
|
|
279
|
-
defaultLanguage,
|
|
280
|
-
modalZIndex: ((_this$options$uiConfi6 = this.options.uiConfig) === null || _this$options$uiConfi6 === void 0 ? void 0 : _this$options$uiConfi6.modalZIndex) || "99998",
|
|
281
|
-
loginGridCol: ((_this$options$uiConfi7 = this.options.uiConfig) === null || _this$options$uiConfi7 === void 0 ? void 0 : _this$options$uiConfi7.loginGridCol) || 3,
|
|
282
|
-
primaryButton: ((_this$options$uiConfi8 = this.options.uiConfig) === null || _this$options$uiConfi8 === void 0 ? void 0 : _this$options$uiConfi8.primaryButton) || "socialLogin"
|
|
283
|
-
});
|
|
251
|
+
if (!this.options.uiConfig.defaultLanguage) this.options.uiConfig.defaultLanguage = getUserLanguage(this.options.uiConfig.defaultLanguage);
|
|
252
|
+
if (!this.options.uiConfig.mode) this.options.uiConfig.mode = "auto";
|
|
253
|
+
this.loginModal = new LoginModal(_objectSpread(_objectSpread({}, this.options.uiConfig), {}, {
|
|
254
|
+
adapterListener: this
|
|
255
|
+
}));
|
|
284
256
|
this.subscribeToLoginModalEvents();
|
|
285
257
|
}
|
|
286
258
|
async initModal(params) {
|
|
@@ -319,7 +291,8 @@ class Web3Auth extends Web3AuthNoModal {
|
|
|
319
291
|
customChainConfig: this.options.chainConfig,
|
|
320
292
|
clientId: this.options.clientId,
|
|
321
293
|
sessionTime: this.options.sessionTime,
|
|
322
|
-
web3AuthNetwork: this.options.web3AuthNetwork
|
|
294
|
+
web3AuthNetwork: this.options.web3AuthNetwork,
|
|
295
|
+
uiConfig: this.options.uiConfig
|
|
323
296
|
});
|
|
324
297
|
this.walletAdapters[adapterName] = ad;
|
|
325
298
|
return adapterName;
|
|
@@ -348,7 +321,8 @@ class Web3Auth extends Web3AuthNoModal {
|
|
|
348
321
|
if (!openloginAdapter.privateKeyProvider) {
|
|
349
322
|
const currentPrivateKeyProvider = await getPrivateKeyProvider(openloginAdapter.chainConfigProxy);
|
|
350
323
|
openloginAdapter.setAdapterSettings({
|
|
351
|
-
privateKeyProvider: currentPrivateKeyProvider
|
|
324
|
+
privateKeyProvider: currentPrivateKeyProvider,
|
|
325
|
+
whiteLabel: this.options.uiConfig
|
|
352
326
|
});
|
|
353
327
|
}
|
|
354
328
|
}
|
|
@@ -462,10 +436,10 @@ class Web3Auth extends Web3AuthNoModal {
|
|
|
462
436
|
initializeInAppWallet(adapterName) {
|
|
463
437
|
log.info("adapterInitResults", adapterName);
|
|
464
438
|
if (this.walletAdapters[adapterName].type === ADAPTER_CATEGORY.IN_APP) {
|
|
465
|
-
var _adapterName, _this$options$
|
|
466
|
-
this.loginModal.addSocialLogins(adapterName, getAdapterSocialLogins(adapterName, (_adapterName = this.modalConfig.adapters[adapterName]) === null || _adapterName === void 0 ? void 0 : _adapterName.loginMethods), ((_this$options$
|
|
467
|
-
loginGridCol: ((_this$options$
|
|
468
|
-
primaryButton: ((_this$options$
|
|
439
|
+
var _adapterName, _this$options$uiConfi, _this$options$uiConfi2, _this$options$uiConfi3;
|
|
440
|
+
this.loginModal.addSocialLogins(adapterName, getAdapterSocialLogins(adapterName, (_adapterName = this.modalConfig.adapters[adapterName]) === null || _adapterName === void 0 ? void 0 : _adapterName.loginMethods), ((_this$options$uiConfi = this.options.uiConfig) === null || _this$options$uiConfi === void 0 ? void 0 : _this$options$uiConfi.loginMethodsOrder) || OPENLOGIN_PROVIDERS, _objectSpread(_objectSpread({}, this.options.uiConfig), {}, {
|
|
441
|
+
loginGridCol: ((_this$options$uiConfi2 = this.options.uiConfig) === null || _this$options$uiConfi2 === void 0 ? void 0 : _this$options$uiConfi2.loginGridCol) || 3,
|
|
442
|
+
primaryButton: ((_this$options$uiConfi3 = this.options.uiConfig) === null || _this$options$uiConfi3 === void 0 ? void 0 : _this$options$uiConfi3.primaryButton) || "socialLogin"
|
|
469
443
|
}));
|
|
470
444
|
}
|
|
471
445
|
}
|