@web3auth/modal 5.2.1 → 6.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/modal.cjs.js CHANGED
@@ -6,11 +6,11 @@
6
6
 
7
7
  "use strict";
8
8
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
9
- /* harmony export */ "Jx": () => (/* binding */ defaultSolanaDappModalConfig),
10
- /* harmony export */ "K8": () => (/* binding */ defaultSolanaWalletModalConfig),
11
- /* harmony export */ "OW": () => (/* binding */ defaultEvmDappModalConfig),
12
- /* harmony export */ "ql": () => (/* binding */ defaultEvmWalletModalConfig),
13
- /* harmony export */ "ue": () => (/* binding */ defaultOtherModalConfig)
9
+ /* harmony export */ Jx: () => (/* binding */ defaultSolanaDappModalConfig),
10
+ /* harmony export */ K8: () => (/* binding */ defaultSolanaWalletModalConfig),
11
+ /* harmony export */ OW: () => (/* binding */ defaultEvmDappModalConfig),
12
+ /* harmony export */ ql: () => (/* binding */ defaultEvmWalletModalConfig),
13
+ /* harmony export */ ue: () => (/* binding */ defaultOtherModalConfig)
14
14
  /* harmony export */ });
15
15
  /* harmony import */ var _web3auth_base__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(612);
16
16
  /* harmony import */ var _web3auth_base__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_web3auth_base__WEBPACK_IMPORTED_MODULE_0__);
@@ -59,7 +59,7 @@ const defaultEvmDappModalConfig = {
59
59
  showOnMobile: true,
60
60
  showOnDesktop: true
61
61
  },
62
- [_web3auth_base__WEBPACK_IMPORTED_MODULE_0__.EVM_ADAPTERS.WALLET_CONNECT_V1]: {
62
+ [_web3auth_base__WEBPACK_IMPORTED_MODULE_0__.EVM_ADAPTERS.WALLET_CONNECT_V2]: {
63
63
  label: "Wallet Connect",
64
64
  showOnModal: true,
65
65
  showOnMobile: true,
@@ -110,14 +110,14 @@ const defaultOtherModalConfig = {
110
110
 
111
111
  /***/ }),
112
112
 
113
- /***/ 948:
113
+ /***/ 593:
114
114
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
115
115
 
116
116
  "use strict";
117
117
 
118
118
  // EXPORTS
119
119
  __webpack_require__.d(__webpack_exports__, {
120
- "$": () => (/* binding */ Web3Auth)
120
+ $: () => (/* binding */ Web3Auth)
121
121
  });
122
122
 
123
123
  ;// CONCATENATED MODULE: external "@babel/runtime/helpers/defineProperty"
@@ -125,6 +125,8 @@ const defineProperty_namespaceObject = require("@babel/runtime/helpers/definePro
125
125
  var defineProperty_default = /*#__PURE__*/__webpack_require__.n(defineProperty_namespaceObject);
126
126
  // EXTERNAL MODULE: external "@web3auth/base"
127
127
  var base_ = __webpack_require__(612);
128
+ ;// CONCATENATED MODULE: external "@web3auth/base-provider"
129
+ const base_provider_namespaceObject = require("@web3auth/base-provider");
128
130
  ;// CONCATENATED MODULE: external "@web3auth/no-modal"
129
131
  const no_modal_namespaceObject = require("@web3auth/no-modal");
130
132
  ;// CONCATENATED MODULE: external "@web3auth/ui"
@@ -137,6 +139,33 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
137
139
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { defineProperty_default()(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
138
140
 
139
141
 
142
+ async function getPrivateKeyProvider(chainConfig) {
143
+ if (chainConfig.chainNamespace === base_.CHAIN_NAMESPACES.SOLANA) {
144
+ const {
145
+ SolanaPrivateKeyProvider
146
+ } = await Promise.resolve(/* import() */).then(__webpack_require__.t.bind(__webpack_require__, 448, 23));
147
+ return new SolanaPrivateKeyProvider({
148
+ config: {
149
+ chainConfig
150
+ }
151
+ });
152
+ } else if (chainConfig.chainNamespace === base_.CHAIN_NAMESPACES.EIP155) {
153
+ const {
154
+ EthereumPrivateKeyProvider
155
+ } = await Promise.resolve(/* import() */).then(__webpack_require__.t.bind(__webpack_require__, 41, 23));
156
+ return new EthereumPrivateKeyProvider({
157
+ config: {
158
+ chainConfig
159
+ }
160
+ });
161
+ } else if (chainConfig.chainNamespace === base_.CHAIN_NAMESPACES.OTHER) {
162
+ // Modal doesn't support ripple provider
163
+ // Can always override this with a custom provider
164
+ return new base_provider_namespaceObject.CommonPrivateKeyProvider();
165
+ }
166
+ throw new Error(`Invalid chainNamespace: ${chainConfig.chainNamespace} found while connecting to wallet`);
167
+ }
168
+
140
169
  // warning: this function is not compatible with "OTHER" chain namespace.
141
170
  const getDefaultAdapterModule = async params => {
142
171
  const {
@@ -192,15 +221,21 @@ const getDefaultAdapterModule = async params => {
192
221
  web3AuthNetwork
193
222
  });
194
223
  return adapter;
195
- } else if (name === base_.WALLET_ADAPTERS.WALLET_CONNECT_V1) {
224
+ } else if (name === base_.WALLET_ADAPTERS.WALLET_CONNECT_V2) {
196
225
  const {
197
- WalletConnectV1Adapter
198
- } = await Promise.resolve(/* import() */).then(__webpack_require__.t.bind(__webpack_require__, 347, 23));
199
- const adapter = new WalletConnectV1Adapter({
226
+ WalletConnectV2Adapter
227
+ } = await Promise.resolve(/* import() */).then(__webpack_require__.t.bind(__webpack_require__, 253, 23));
228
+ const adapter = new WalletConnectV2Adapter({
200
229
  chainConfig: finalChainConfig,
201
230
  clientId,
202
231
  sessionTime,
203
- web3AuthNetwork
232
+ web3AuthNetwork,
233
+ adapterSettings: {
234
+ walletConnectInitOptions: {
235
+ // Using a default wallet connect project id for web3auth modal integration
236
+ projectId: "d3c63f19f9582f8ba48e982057eb096b"
237
+ }
238
+ }
204
239
  });
205
240
  return adapter;
206
241
  } else if (name === base_.WALLET_ADAPTERS.OPENLOGIN) {
@@ -208,6 +243,7 @@ const getDefaultAdapterModule = async params => {
208
243
  OpenloginAdapter,
209
244
  getOpenloginDefaultOptions
210
245
  } = await Promise.resolve(/* import() */).then(__webpack_require__.t.bind(__webpack_require__, 683, 23));
246
+ const privateKeyProvider = await getPrivateKeyProvider(finalChainConfig);
211
247
  const defaultOptions = getOpenloginDefaultOptions();
212
248
  const adapter = new OpenloginAdapter(_objectSpread(_objectSpread({}, defaultOptions), {}, {
213
249
  clientId,
@@ -217,7 +253,8 @@ const getDefaultAdapterModule = async params => {
217
253
  network: web3AuthNetwork
218
254
  }),
219
255
  sessionTime,
220
- web3AuthNetwork
256
+ web3AuthNetwork,
257
+ privateKeyProvider
221
258
  }));
222
259
  return adapter;
223
260
  }
@@ -232,7 +269,8 @@ const languageMap = {
232
269
  zh: "mandarin",
233
270
  es: "spanish",
234
271
  fr: "french",
235
- pt: "portuguese"
272
+ pt: "portuguese",
273
+ nl: "dutch"
236
274
  };
237
275
  const getUserLanguage = defaultLanguage => {
238
276
  let userLanguage = defaultLanguage;
@@ -252,6 +290,7 @@ function modalManager_objectSpread(target) { for (var i = 1; i < arguments.lengt
252
290
 
253
291
 
254
292
 
293
+
255
294
  class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
256
295
  constructor(options) {
257
296
  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;
@@ -359,6 +398,15 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
359
398
  chainConfig
360
399
  });
361
400
  }
401
+ if (adapterName === base_.WALLET_ADAPTERS.OPENLOGIN) {
402
+ const openloginAdapter = this.walletAdapters[adapterName];
403
+ if (!openloginAdapter.privateKeyProvider) {
404
+ const currentPrivateKeyProvider = await getPrivateKeyProvider(openloginAdapter.chainConfigProxy);
405
+ openloginAdapter.setAdapterSettings({
406
+ privateKeyProvider: currentPrivateKeyProvider
407
+ });
408
+ }
409
+ }
362
410
  return adapterName;
363
411
  }
364
412
  });
@@ -404,6 +452,9 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
404
452
  base_.log.error(error, "error while initializing adapter");
405
453
  }
406
454
  });
455
+ this.commonJRPCProvider = await base_provider_namespaceObject.CommonJRPCProvider.getProviderInstance({
456
+ chainConfig: this.coreOptions.chainConfig
457
+ });
407
458
  this.status = base_.ADAPTER_STATUS.READY;
408
459
  await Promise.all(initPromises);
409
460
  const hasExternalWallets = allAdapters.some(adapterName => {
@@ -426,7 +477,7 @@ class Web3Auth extends no_modal_namespaceObject.Web3AuthNoModal {
426
477
  async connect() {
427
478
  // if (!this.loginModal.initialized) throw new Error("Login modal is not initialized");
428
479
  // if already connected return provider
429
- if (this.provider) return this.provider;
480
+ if (this.connectedAdapterName && this.status === base_.ADAPTER_STATUS.CONNECTED && this.provider) return this.provider;
430
481
  this.loginModal.open();
431
482
  return new Promise((resolve, reject) => {
432
483
  this.once(base_.ADAPTER_EVENTS.CONNECTED, () => {
@@ -528,6 +579,14 @@ module.exports = require("@web3auth/base");
528
579
 
529
580
  /***/ }),
530
581
 
582
+ /***/ 41:
583
+ /***/ ((module) => {
584
+
585
+ "use strict";
586
+ module.exports = require("@web3auth/ethereum-provider");
587
+
588
+ /***/ }),
589
+
531
590
  /***/ 508:
532
591
  /***/ ((module) => {
533
592
 
@@ -552,6 +611,14 @@ module.exports = require("@web3auth/phantom-adapter");
552
611
 
553
612
  /***/ }),
554
613
 
614
+ /***/ 448:
615
+ /***/ ((module) => {
616
+
617
+ "use strict";
618
+ module.exports = require("@web3auth/solana-provider");
619
+
620
+ /***/ }),
621
+
555
622
  /***/ 546:
556
623
  /***/ ((module) => {
557
624
 
@@ -568,11 +635,11 @@ module.exports = require("@web3auth/torus-solana-adapter");
568
635
 
569
636
  /***/ }),
570
637
 
571
- /***/ 347:
638
+ /***/ 253:
572
639
  /***/ ((module) => {
573
640
 
574
641
  "use strict";
575
- module.exports = require("@web3auth/wallet-connect-v1-adapter");
642
+ module.exports = require("@web3auth/wallet-connect-v2-adapter");
576
643
 
577
644
  /***/ })
578
645
 
@@ -680,12 +747,12 @@ var __webpack_exports__ = {};
680
747
  "use strict";
681
748
  __webpack_require__.r(__webpack_exports__);
682
749
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
683
- /* harmony export */ "Web3Auth": () => (/* reexport safe */ _modalManager__WEBPACK_IMPORTED_MODULE_2__.$),
684
- /* harmony export */ "defaultEvmDappModalConfig": () => (/* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_0__.OW),
685
- /* harmony export */ "defaultEvmWalletModalConfig": () => (/* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_0__.ql),
686
- /* harmony export */ "defaultOtherModalConfig": () => (/* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_0__.ue),
687
- /* harmony export */ "defaultSolanaDappModalConfig": () => (/* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_0__.Jx),
688
- /* harmony export */ "defaultSolanaWalletModalConfig": () => (/* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_0__.K8)
750
+ /* harmony export */ Web3Auth: () => (/* reexport safe */ _modalManager__WEBPACK_IMPORTED_MODULE_2__.$),
751
+ /* harmony export */ defaultEvmDappModalConfig: () => (/* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_0__.OW),
752
+ /* harmony export */ defaultEvmWalletModalConfig: () => (/* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_0__.ql),
753
+ /* harmony export */ defaultOtherModalConfig: () => (/* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_0__.ue),
754
+ /* harmony export */ defaultSolanaDappModalConfig: () => (/* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_0__.Jx),
755
+ /* harmony export */ defaultSolanaWalletModalConfig: () => (/* reexport safe */ _config__WEBPACK_IMPORTED_MODULE_0__.K8)
689
756
  /* harmony export */ });
690
757
  /* harmony import */ var _config__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(591);
691
758
  /* harmony import */ var _interface__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(510);
@@ -693,7 +760,7 @@ __webpack_require__.r(__webpack_exports__);
693
760
  /* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};
694
761
  /* 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__]
695
762
  /* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
696
- /* harmony import */ var _modalManager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(948);
763
+ /* harmony import */ var _modalManager__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(593);
697
764
 
698
765
 
699
766
 
@@ -1 +1 @@
1
- {"version":3,"file":"modal.cjs.js","mappings":"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","sources":["webpack://@web3auth/modal/./src/config.ts","webpack://@web3auth/modal/external commonjs2 \"@babel/runtime/helpers/defineProperty\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/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/metamask-adapter\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/openlogin-adapter\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/phantom-adapter\"","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-v1-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_V1]: {\n label: \"Wallet Connect\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n },\n};\n\nexport const defaultSolanaWalletModalConfig: AdaptersModalConfig = {\n chainNamespace: CHAIN_NAMESPACES.SOLANA,\n adapters: {\n [SOLANA_ADAPTERS.OPENLOGIN]: {\n label: \"OpenLogin\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n },\n};\n\nexport const defaultEvmWalletModalConfig: AdaptersModalConfig = {\n chainNamespace: CHAIN_NAMESPACES.EIP155,\n adapters: {\n [EVM_ADAPTERS.OPENLOGIN]: {\n label: \"OpenLogin\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n },\n};\n\nexport const defaultOtherModalConfig: AdaptersModalConfig = {\n chainNamespace: CHAIN_NAMESPACES.OTHER,\n adapters: {\n [EVM_ADAPTERS.OPENLOGIN]: {\n label: \"OpenLogin\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n },\n};\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@babel/runtime/helpers/defineProperty\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@web3auth/no-modal\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@web3auth/ui\");","import type { OPENLOGIN_NETWORK_TYPE, OpenLoginOptions } from \"@toruslabs/openlogin\";\nimport { CHAIN_NAMESPACES, CustomChainConfig, getChainConfig, IAdapter, WALLET_ADAPTER_TYPE, WALLET_ADAPTERS } from \"@web3auth/base\";\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_V1) {\n const { WalletConnectV1Adapter } = await import(\"@web3auth/wallet-connect-v1-adapter\");\n const adapter = new WalletConnectV1Adapter({ chainConfig: finalChainConfig, clientId, sessionTime, web3AuthNetwork });\n return adapter;\n } else if (name === WALLET_ADAPTERS.OPENLOGIN) {\n const { OpenloginAdapter, getOpenloginDefaultOptions } = await import(\"@web3auth/openlogin-adapter\");\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 });\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};\n\nexport const getUserLanguage = (defaultLanguage: string | undefined) => {\n let userLanguage = defaultLanguage;\n if (!userLanguage) {\n const browserLanguage =\n typeof window !== \"undefined\" ? (window.navigator as NavigatorLanguage).userLanguage || window.navigator.language || \"en-US\" : \"en-US\";\n userLanguage = browserLanguage.split(\"-\")[0];\n }\n return Object.prototype.hasOwnProperty.call(languageMap, userLanguage) ? userLanguage : \"en\";\n};\n","import {\n ADAPTER_CATEGORY,\n ADAPTER_EVENTS,\n ADAPTER_STATUS,\n BaseAdapterConfig,\n CHAIN_NAMESPACES,\n CustomChainConfig,\n getChainConfig,\n log,\n LoginMethodConfig,\n SafeEventEmitterProvider,\n WALLET_ADAPTER_TYPE,\n WALLET_ADAPTERS,\n} from \"@web3auth/base\";\nimport { Web3AuthNoModal, Web3AuthNoModalOptions } from \"@web3auth/no-modal\";\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 } from \"./default\";\nimport { AdaptersModalConfig, IWeb3AuthModal, ModalConfig } from \"./interface\";\nimport { getUserLanguage } from \"./utils\";\n\nexport interface Web3AuthOptions extends Web3AuthNoModalOptions {\n /**\n * web3auth instance provides different adapters for different type of usages. If you are dapp and want to\n * use external wallets like metamask, then you can use the `DAPP` authMode.\n * If you are a wallet and only want to use you own wallet implementations along with openlogin,\n * then you should use `WALLET` authMode.\n *\n * @defaultValue `DAPP`\n */\n authMode?: \"DAPP\" | \"WALLET\";\n /**\n * Config for configuring modal ui display properties\n */\n uiConfig?: Omit<UIConfig, \"adapterListener\">;\n}\n\nexport class Web3Auth extends Web3AuthNoModal implements IWeb3AuthModal {\n public loginModal: LoginModal;\n\n readonly options: Web3AuthOptions;\n\n private modalConfig: AdaptersModalConfig = defaultEvmDappModalConfig;\n\n constructor(options: Web3AuthOptions) {\n super(options);\n this.options = { ...options };\n const providedChainConfig = this.options.chainConfig;\n if (providedChainConfig.chainNamespace === CHAIN_NAMESPACES.SOLANA) {\n if (options.authMode === \"WALLET\") {\n // default config for solana wallet modal\n this.modalConfig = defaultSolanaWalletModalConfig;\n } else {\n // default config for solana dapp modal\n this.modalConfig = defaultSolanaDappModalConfig;\n }\n } else if (providedChainConfig.chainNamespace === CHAIN_NAMESPACES.EIP155) {\n if (options.authMode === \"WALLET\") {\n // default config for evm wallet modal\n this.modalConfig = defaultEvmWalletModalConfig;\n } else {\n // default config for evm dapp modal\n this.modalConfig = defaultEvmDappModalConfig;\n }\n } else if (providedChainConfig.chainNamespace === CHAIN_NAMESPACES.OTHER) {\n this.modalConfig = defaultOtherModalConfig;\n } else {\n throw new Error(`Invalid chainNamespace provided: ${providedChainConfig.chainNamespace}`);\n }\n\n // get userLanguage\n const defaultLanguage = getUserLanguage(this.options.uiConfig?.defaultLanguage);\n\n this.loginModal = new LoginModal({\n theme: this.options.uiConfig?.theme,\n appName: this.options.uiConfig?.appName || \"blockchain\",\n appLogo: this.options.uiConfig?.appLogo || \"\",\n adapterListener: this,\n displayErrorsOnModal: this.options.uiConfig?.displayErrorsOnModal,\n defaultLanguage,\n modalZIndex: this.options.uiConfig?.modalZIndex || \"99998\",\n web3AuthNetwork: this.options.web3AuthNetwork,\n loginGridCol: this.options.uiConfig?.loginGridCol || 3,\n primaryButton: this.options.uiConfig?.primaryButton || \"socialLogin\",\n });\n this.subscribeToLoginModalEvents();\n }\n\n public async initModal(params?: { modalConfig?: Record<WALLET_ADAPTER_TYPE, ModalConfig> }): Promise<void> {\n super.checkInitRequirements();\n await this.loginModal.initModal();\n const providedChainConfig = this.options.chainConfig;\n\n // merge default adapters with the custom configured adapters.\n const allAdapters = [...new Set([...Object.keys(this.modalConfig.adapters || {}), ...Object.keys(this.walletAdapters)])];\n\n const adapterConfigurationPromises = allAdapters.map(async (adapterName) => {\n // start with the default config of adapter.\n let adapterConfig = this.modalConfig.adapters?.[adapterName] || {\n label: adapterName,\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n };\n\n // override the default config of adapter if some config is being provided by the user.\n if (params?.modalConfig?.[adapterName]) {\n adapterConfig = { ...adapterConfig, ...params.modalConfig[adapterName] };\n }\n (this.modalConfig.adapters as Record<WALLET_ADAPTER_TYPE, ModalConfig>)[adapterName] = adapterConfig as ModalConfig;\n\n // check if adapter is configured/added by user and exist in walletAdapters map.\n const adapter = this.walletAdapters[adapterName];\n log.debug(\"adapter config\", adapterName, this.modalConfig.adapters?.[adapterName].showOnModal, adapter);\n\n // if adapter is not custom configured then check if it is available in default adapters.\n // and if adapter is not hidden by user\n if (!adapter && this.modalConfig.adapters?.[adapterName].showOnModal) {\n // if adapter is not configured and some default configuration is available, use it.\n const ad = await getDefaultAdapterModule({\n name: adapterName,\n customChainConfig: this.options.chainConfig,\n clientId: this.options.clientId,\n sessionTime: this.options.sessionTime,\n web3AuthNetwork: this.options.web3AuthNetwork,\n });\n\n this.walletAdapters[adapterName] = ad;\n return adapterName;\n } else if (adapter?.type === ADAPTER_CATEGORY.IN_APP || adapter?.type === ADAPTER_CATEGORY.EXTERNAL || adapterName === this.cachedAdapter) {\n if (!this.modalConfig.adapters?.[adapterName].showOnModal) return;\n // add client id to adapter, same web3auth client id can be used in adapter.\n // this id is being overridden if user is also passing client id in adapter's constructor.\n this.walletAdapters[adapterName].setAdapterSettings({\n clientId: this.options.clientId,\n sessionTime: this.options.sessionTime,\n web3AuthNetwork: this.options.web3AuthNetwork,\n });\n\n // if adapter doesn't have any chainConfig then we will set the chainConfig based of passed chainNamespace\n // and chainNamespace.\n if (!adapter.chainConfigProxy) {\n const chainConfig = {\n ...getChainConfig(providedChainConfig.chainNamespace, this.coreOptions.chainConfig?.chainId),\n ...this.coreOptions.chainConfig,\n } as CustomChainConfig;\n this.walletAdapters[adapterName].setAdapterSettings({ chainConfig });\n }\n\n return adapterName;\n }\n });\n\n let adapterNames = await Promise.all(adapterConfigurationPromises);\n const hasInAppWallets = Object.values(this.walletAdapters).some((adapter) => {\n if (adapter.type !== ADAPTER_CATEGORY.IN_APP) return false;\n if (this.modalConfig.adapters?.[adapter.name]?.showOnModal !== true) return false;\n if (!this.modalConfig.adapters?.[adapter.name]?.loginMethods) return true;\n const mergedLoginMethods = getAdapterSocialLogins(\n adapter.name,\n this.walletAdapters[adapter.name],\n (this.modalConfig.adapters as Record<WALLET_ADAPTER_TYPE, ModalConfig>)[adapter.name]?.loginMethods\n );\n if (Object.values(mergedLoginMethods).some((method: LoginMethodConfig[keyof LoginMethodConfig]) => method.showOnModal)) return true;\n return false;\n });\n log.debug(hasInAppWallets, this.walletAdapters, adapterNames, \"hasInAppWallets\");\n\n // if both wc1 and wc2 are configured, give precedence to wc2.\n if (this.walletAdapters[WALLET_ADAPTERS.WALLET_CONNECT_V1] && this.walletAdapters[WALLET_ADAPTERS.WALLET_CONNECT_V2]) {\n delete this.walletAdapters[WALLET_ADAPTERS.WALLET_CONNECT_V1];\n adapterNames = adapterNames.filter((ad) => ad !== WALLET_ADAPTERS.WALLET_CONNECT_V1);\n }\n // Now, initialize the adapters.\n const initPromises = adapterNames.map(async (adapterName) => {\n if (!adapterName) return;\n try {\n const adapter = this.walletAdapters[adapterName];\n // only initialize a external adapter here if it is a cached adapter.\n if (this.cachedAdapter !== adapterName && adapter.type === ADAPTER_CATEGORY.EXTERNAL) {\n return;\n }\n // in-app wallets or cached wallet (being connected or already connected) are initialized first.\n // if adapter is configured thn only initialize in app or cached adapter.\n // external wallets are initialized on INIT_EXTERNAL_WALLET event.\n this.subscribeToAdapterEvents(adapter);\n if (adapter.status === ADAPTER_STATUS.NOT_READY) await adapter.init({ autoConnect: this.cachedAdapter === adapterName });\n // note: not adding cachedWallet to modal if it is external wallet.\n // adding it later if no in-app wallets are available.\n if (adapter.type === ADAPTER_CATEGORY.IN_APP) {\n this.initializeInAppWallet(adapterName);\n }\n } catch (error) {\n log.error(error, \"error while initializing adapter\");\n }\n });\n\n this.status = ADAPTER_STATUS.READY;\n await Promise.all(initPromises);\n\n const hasExternalWallets = allAdapters.some((adapterName) => {\n return this.walletAdapters[adapterName]?.type === ADAPTER_CATEGORY.EXTERNAL && this.modalConfig.adapters?.[adapterName].showOnModal;\n });\n\n if (hasExternalWallets) {\n this.loginModal.initExternalWalletContainer();\n }\n\n // variable to check if we have any in app wallets\n // currently all default in app and external wallets can be hidden or shown based on config.\n if (!hasInAppWallets && hasExternalWallets) {\n // if no in app wallet is available then initialize external wallets in modal\n await this.initExternalWalletAdapters(false, { showExternalWalletsOnly: true });\n }\n }\n\n public async connect(): Promise<SafeEventEmitterProvider | null> {\n // if (!this.loginModal.initialized) throw new Error(\"Login modal is not initialized\");\n // if already connected return provider\n if (this.provider) return this.provider;\n this.loginModal.open();\n return new Promise((resolve, reject) => {\n this.once(ADAPTER_EVENTS.CONNECTED, () => {\n return resolve(this.provider);\n });\n this.once(ADAPTER_EVENTS.ERRORED, (err: unknown) => {\n return reject(err);\n });\n });\n }\n\n private async initExternalWalletAdapters(externalWalletsInitialized: boolean, options?: { showExternalWalletsOnly: boolean }): Promise<void> {\n if (externalWalletsInitialized) return;\n const adaptersConfig: Record<string, BaseAdapterConfig> = {};\n Object.keys(this.walletAdapters).forEach(async (adapterName) => {\n const adapter = this.walletAdapters[adapterName];\n if (adapter?.type === ADAPTER_CATEGORY.EXTERNAL) {\n log.debug(\"init external wallet\", this.cachedAdapter, adapterName);\n this.subscribeToAdapterEvents(adapter);\n // we are not initializing cached adapter here as it is already being initialized in initModal before.\n if (this.cachedAdapter === adapterName) {\n return;\n }\n if (adapter.status === ADAPTER_STATUS.NOT_READY) {\n await adapter\n .init({ autoConnect: this.cachedAdapter === adapterName })\n .then(() => {\n adaptersConfig[adapterName] = (this.modalConfig.adapters as Record<WALLET_ADAPTER_TYPE, ModalConfig>)[adapterName];\n this.loginModal.addWalletLogins(adaptersConfig, { showExternalWalletsOnly: !!options?.showExternalWalletsOnly });\n return undefined;\n })\n .catch((error) => log.error(error, \"error while initializing adapter\"));\n } else if (adapter.status === ADAPTER_STATUS.READY) {\n adaptersConfig[adapterName] = (this.modalConfig.adapters as Record<WALLET_ADAPTER_TYPE, ModalConfig>)[adapterName];\n this.loginModal.addWalletLogins(adaptersConfig, { showExternalWalletsOnly: !!options?.showExternalWalletsOnly });\n }\n }\n });\n }\n\n private initializeInAppWallet(adapterName: string): void {\n log.info(\"adapterInitResults\", adapterName);\n if (this.walletAdapters[adapterName].type === ADAPTER_CATEGORY.IN_APP) {\n this.loginModal.addSocialLogins(\n adapterName,\n getAdapterSocialLogins(\n adapterName,\n this.walletAdapters[adapterName],\n (this.modalConfig.adapters as Record<WALLET_ADAPTER_TYPE, ModalConfig>)[adapterName]?.loginMethods\n ),\n this.options.uiConfig?.loginMethodsOrder || OPENLOGIN_PROVIDERS,\n {\n ...this.options.uiConfig,\n loginGridCol: this.options.uiConfig?.loginGridCol || 3,\n primaryButton: this.options.uiConfig?.primaryButton || \"socialLogin\",\n }\n );\n }\n }\n\n private subscribeToLoginModalEvents(): void {\n this.loginModal.on(LOGIN_MODAL_EVENTS.LOGIN, async (params: { adapter: WALLET_ADAPTER_TYPE; loginParams: unknown }) => {\n try {\n await this.connectTo<unknown>(params.adapter, params.loginParams);\n } catch (error) {\n log.error(`Error while connecting to adapter: ${params.adapter}`, error);\n }\n });\n this.loginModal.on(LOGIN_MODAL_EVENTS.INIT_EXTERNAL_WALLETS, async (params: { externalWalletsInitialized: boolean }) => {\n await this.initExternalWalletAdapters(params.externalWalletsInitialized);\n });\n this.loginModal.on(LOGIN_MODAL_EVENTS.DISCONNECT, async () => {\n try {\n await this.logout();\n } catch (error) {\n log.error(`Error while disconnecting`, error);\n }\n });\n this.loginModal.on(LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, async (visibility: boolean) => {\n log.debug(\"is login modal visible\", visibility);\n this.emit(LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, visibility);\n const adapter = this.walletAdapters[WALLET_ADAPTERS.WALLET_CONNECT_V2] || this.walletAdapters[WALLET_ADAPTERS.WALLET_CONNECT_V1];\n if (adapter) {\n const walletConnectStatus = adapter?.status;\n log.debug(\"trying refreshing wc session\", visibility, walletConnectStatus);\n if (visibility && (walletConnectStatus === ADAPTER_STATUS.READY || walletConnectStatus === ADAPTER_STATUS.CONNECTING)) {\n log.debug(\"refreshing wc session\");\n\n // refreshing session for wallet connect whenever modal is opened.\n try {\n adapter.connect();\n } catch (error) {\n log.error(`Error while disconnecting to wallet connect in core`, error);\n }\n }\n }\n });\n }\n}\n","module.exports = require(\"@web3auth/base\");","module.exports = require(\"@web3auth/metamask-adapter\");","module.exports = require(\"@web3auth/openlogin-adapter\");","module.exports = require(\"@web3auth/phantom-adapter\");","module.exports = require(\"@web3auth/torus-evm-adapter\");","module.exports = require(\"@web3auth/torus-solana-adapter\");","module.exports = require(\"@web3auth/wallet-connect-v1-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_V1","defaultSolanaWalletModalConfig","defaultEvmWalletModalConfig","defaultOtherModalConfig","OTHER","getChainConfig","WALLET_ADAPTERS","getDefaultAdapterModule","params","name","customChainConfig","clientId","sessionTime","web3AuthNetwork","Object","values","includes","Error","finalChainConfig","_objectSpread","chainId","TorusWalletAdapter","adapter","chainConfig","SolanaWalletAdapter","MetamaskAdapter","PhantomAdapter","WalletConnectV1Adapter","OpenloginAdapter","getOpenloginDefaultOptions","defaultOptions","adapterSettings","network","languageMap","en","de","ja","ko","zh","es","fr","pt","getUserLanguage","defaultLanguage","userLanguage","browserLanguage","window","navigator","language","split","prototype","hasOwnProperty","call","ADAPTER_CATEGORY","ADAPTER_EVENTS","ADAPTER_STATUS","log","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","adapterNames","Promise","all","hasInAppWallets","some","_this$modalConfig$ada5","_this$modalConfig$ada6","_this$modalConfig$ada7","_this$modalConfig$ada8","_adapter$name","loginMethods","mergedLoginMethods","method","WALLET_CONNECT_V2","filter","initPromises","subscribeToAdapterEvents","status","NOT_READY","init","autoConnect","initializeInAppWallet","error","READY","hasExternalWallets","_this$walletAdapters$","_this$modalConfig$ada9","initExternalWalletContainer","initExternalWalletAdapters","showExternalWalletsOnly","connect","provider","open","resolve","reject","once","CONNECTED","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/defineProperty\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/base-provider\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/no-modal\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/ui\"","webpack://@web3auth/modal/./src/default.ts","webpack://@web3auth/modal/./src/utils.ts","webpack://@web3auth/modal/./src/modalManager.ts","webpack://@web3auth/modal/external commonjs2 \"@web3auth/base\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/ethereum-provider\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/metamask-adapter\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/openlogin-adapter\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/phantom-adapter\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/solana-provider\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/torus-evm-adapter\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/torus-solana-adapter\"","webpack://@web3auth/modal/external commonjs2 \"@web3auth/wallet-connect-v2-adapter\"","webpack://@web3auth/modal/webpack/bootstrap","webpack://@web3auth/modal/webpack/runtime/compat get default export","webpack://@web3auth/modal/webpack/runtime/create fake namespace object","webpack://@web3auth/modal/webpack/runtime/define property getters","webpack://@web3auth/modal/webpack/runtime/hasOwnProperty shorthand","webpack://@web3auth/modal/webpack/runtime/make namespace object","webpack://@web3auth/modal/./src/index.ts"],"sourcesContent":["import { CHAIN_NAMESPACES, EVM_ADAPTERS, SOLANA_ADAPTERS } from \"@web3auth/base\";\n\nimport { AdaptersModalConfig } from \"./interface\";\n\nexport const defaultSolanaDappModalConfig: AdaptersModalConfig = {\n chainNamespace: CHAIN_NAMESPACES.SOLANA,\n adapters: {\n [SOLANA_ADAPTERS.TORUS_SOLANA]: {\n label: \"Torus Wallet\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n [SOLANA_ADAPTERS.OPENLOGIN]: {\n label: \"OpenLogin\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n [SOLANA_ADAPTERS.PHANTOM]: {\n label: \"Phantom\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n },\n};\n\nexport const defaultEvmDappModalConfig: AdaptersModalConfig = {\n chainNamespace: CHAIN_NAMESPACES.EIP155,\n adapters: {\n [EVM_ADAPTERS.TORUS_EVM]: {\n label: \"Torus Wallet\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n [EVM_ADAPTERS.METAMASK]: {\n label: \"MetaMask\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n [EVM_ADAPTERS.OPENLOGIN]: {\n label: \"OpenLogin\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n [EVM_ADAPTERS.WALLET_CONNECT_V2]: {\n label: \"Wallet Connect\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n },\n};\n\nexport const defaultSolanaWalletModalConfig: AdaptersModalConfig = {\n chainNamespace: CHAIN_NAMESPACES.SOLANA,\n adapters: {\n [SOLANA_ADAPTERS.OPENLOGIN]: {\n label: \"OpenLogin\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n },\n};\n\nexport const defaultEvmWalletModalConfig: AdaptersModalConfig = {\n chainNamespace: CHAIN_NAMESPACES.EIP155,\n adapters: {\n [EVM_ADAPTERS.OPENLOGIN]: {\n label: \"OpenLogin\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n },\n};\n\nexport const defaultOtherModalConfig: AdaptersModalConfig = {\n chainNamespace: CHAIN_NAMESPACES.OTHER,\n adapters: {\n [EVM_ADAPTERS.OPENLOGIN]: {\n label: \"OpenLogin\",\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n },\n },\n};\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@babel/runtime/helpers/defineProperty\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@web3auth/base-provider\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@web3auth/no-modal\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"@web3auth/ui\");","import type { OPENLOGIN_NETWORK_TYPE, OpenLoginOptions } from \"@toruslabs/openlogin-utils\";\nimport { CHAIN_NAMESPACES, CustomChainConfig, getChainConfig, IAdapter, WALLET_ADAPTER_TYPE, WALLET_ADAPTERS } from \"@web3auth/base\";\nimport { CommonPrivateKeyProvider, IBaseProvider } from \"@web3auth/base-provider\";\n\nexport async function getPrivateKeyProvider(chainConfig: CustomChainConfig): Promise<IBaseProvider<string>> {\n if (chainConfig.chainNamespace === CHAIN_NAMESPACES.SOLANA) {\n const { SolanaPrivateKeyProvider } = await import(\"@web3auth/solana-provider\");\n return new SolanaPrivateKeyProvider({ config: { chainConfig } });\n } else if (chainConfig.chainNamespace === CHAIN_NAMESPACES.EIP155) {\n const { EthereumPrivateKeyProvider } = await import(\"@web3auth/ethereum-provider\");\n return new EthereumPrivateKeyProvider({ config: { chainConfig } });\n } else if (chainConfig.chainNamespace === CHAIN_NAMESPACES.OTHER) {\n // Modal doesn't support ripple provider\n // Can always override this with a custom provider\n return new CommonPrivateKeyProvider();\n }\n throw new Error(`Invalid chainNamespace: ${chainConfig.chainNamespace} found while connecting to wallet`);\n}\n\n// warning: this function is not compatible with \"OTHER\" chain namespace.\nexport const getDefaultAdapterModule = async (params: {\n name: WALLET_ADAPTER_TYPE;\n clientId: string;\n customChainConfig: Partial<CustomChainConfig> & Pick<CustomChainConfig, \"chainNamespace\">;\n sessionTime?: number;\n web3AuthNetwork?: OPENLOGIN_NETWORK_TYPE;\n}): Promise<IAdapter<unknown>> => {\n const { name, customChainConfig, clientId, sessionTime, web3AuthNetwork } = params;\n if (!Object.values(CHAIN_NAMESPACES).includes(customChainConfig.chainNamespace))\n throw new Error(`Invalid chainNamespace: ${customChainConfig.chainNamespace}`);\n const finalChainConfig = {\n ...(getChainConfig(customChainConfig.chainNamespace, customChainConfig?.chainId) as CustomChainConfig),\n ...(customChainConfig || {}),\n };\n if (name === WALLET_ADAPTERS.TORUS_EVM) {\n const { TorusWalletAdapter } = await import(\"@web3auth/torus-evm-adapter\");\n const adapter = new TorusWalletAdapter({ chainConfig: finalChainConfig, clientId, sessionTime, web3AuthNetwork });\n return adapter;\n } else if (name === WALLET_ADAPTERS.TORUS_SOLANA) {\n const { SolanaWalletAdapter } = await import(\"@web3auth/torus-solana-adapter\");\n const adapter = new SolanaWalletAdapter({ chainConfig: finalChainConfig, clientId, sessionTime, web3AuthNetwork });\n return adapter;\n } else if (name === WALLET_ADAPTERS.METAMASK) {\n const { MetamaskAdapter } = await import(\"@web3auth/metamask-adapter\");\n const adapter = new MetamaskAdapter({ chainConfig: finalChainConfig, clientId, sessionTime, web3AuthNetwork });\n return adapter;\n } else if (name === WALLET_ADAPTERS.PHANTOM) {\n const { PhantomAdapter } = await import(\"@web3auth/phantom-adapter\");\n const adapter = new PhantomAdapter({ chainConfig: finalChainConfig, clientId, sessionTime, web3AuthNetwork });\n return adapter;\n } else if (name === WALLET_ADAPTERS.WALLET_CONNECT_V2) {\n const { WalletConnectV2Adapter } = await import(\"@web3auth/wallet-connect-v2-adapter\");\n const adapter = new WalletConnectV2Adapter({\n chainConfig: finalChainConfig,\n clientId,\n sessionTime,\n web3AuthNetwork,\n adapterSettings: {\n walletConnectInitOptions: {\n // Using a default wallet connect project id for web3auth modal integration\n projectId: \"d3c63f19f9582f8ba48e982057eb096b\",\n },\n },\n });\n return adapter;\n } else if (name === WALLET_ADAPTERS.OPENLOGIN) {\n const { OpenloginAdapter, getOpenloginDefaultOptions } = await import(\"@web3auth/openlogin-adapter\");\n\n const privateKeyProvider: IBaseProvider<string> = await getPrivateKeyProvider(finalChainConfig);\n\n const defaultOptions = getOpenloginDefaultOptions();\n const adapter = new OpenloginAdapter({\n ...defaultOptions,\n clientId,\n chainConfig: { ...finalChainConfig },\n adapterSettings: { ...(defaultOptions.adapterSettings as OpenLoginOptions), clientId, network: web3AuthNetwork },\n sessionTime,\n web3AuthNetwork,\n privateKeyProvider,\n });\n return adapter;\n }\n throw new Error(\"Invalid wallet adapter name\");\n};\n","interface NavigatorLanguage {\n userLanguage?: string;\n}\n\nexport const languageMap = {\n en: \"english\",\n de: \"german\",\n ja: \"japanese\",\n ko: \"korean\",\n zh: \"mandarin\",\n es: \"spanish\",\n fr: \"french\",\n pt: \"portuguese\",\n nl: \"dutch\",\n};\n\nexport const getUserLanguage = (defaultLanguage: string | undefined) => {\n let userLanguage = defaultLanguage;\n if (!userLanguage) {\n const browserLanguage =\n typeof window !== \"undefined\" ? (window.navigator as NavigatorLanguage).userLanguage || window.navigator.language || \"en-US\" : \"en-US\";\n userLanguage = browserLanguage.split(\"-\")[0];\n }\n return Object.prototype.hasOwnProperty.call(languageMap, userLanguage) ? userLanguage : \"en\";\n};\n","import {\n ADAPTER_CATEGORY,\n ADAPTER_EVENTS,\n ADAPTER_STATUS,\n BaseAdapterConfig,\n CHAIN_NAMESPACES,\n CustomChainConfig,\n getChainConfig,\n log,\n LoginMethodConfig,\n SafeEventEmitterProvider,\n WALLET_ADAPTER_TYPE,\n WALLET_ADAPTERS,\n} from \"@web3auth/base\";\nimport { CommonJRPCProvider } from \"@web3auth/base-provider\";\nimport { Web3AuthNoModal, Web3AuthNoModalOptions } from \"@web3auth/no-modal\";\nimport type { OpenloginAdapter } from \"@web3auth/openlogin-adapter\";\nimport { getAdapterSocialLogins, LOGIN_MODAL_EVENTS, LoginModal, OPENLOGIN_PROVIDERS, UIConfig } from \"@web3auth/ui\";\n\nimport {\n defaultEvmDappModalConfig,\n defaultEvmWalletModalConfig,\n defaultOtherModalConfig,\n defaultSolanaDappModalConfig,\n defaultSolanaWalletModalConfig,\n} from \"./config\";\nimport { getDefaultAdapterModule, getPrivateKeyProvider } from \"./default\";\nimport { AdaptersModalConfig, IWeb3AuthModal, ModalConfig } from \"./interface\";\nimport { getUserLanguage } from \"./utils\";\n\nexport interface Web3AuthOptions extends Web3AuthNoModalOptions {\n /**\n * web3auth instance provides different adapters for different type of usages. If you are dapp and want to\n * use external wallets like metamask, then you can use the `DAPP` authMode.\n * If you are a wallet and only want to use you own wallet implementations along with openlogin,\n * then you should use `WALLET` authMode.\n *\n * @defaultValue `DAPP`\n */\n authMode?: \"DAPP\" | \"WALLET\";\n /**\n * Config for configuring modal ui display properties\n */\n uiConfig?: Omit<UIConfig, \"adapterListener\">;\n}\n\nexport class Web3Auth extends Web3AuthNoModal implements IWeb3AuthModal {\n public loginModal: LoginModal;\n\n readonly options: Web3AuthOptions;\n\n private modalConfig: AdaptersModalConfig = defaultEvmDappModalConfig;\n\n constructor(options: Web3AuthOptions) {\n super(options);\n this.options = { ...options };\n const providedChainConfig = this.options.chainConfig;\n if (providedChainConfig.chainNamespace === CHAIN_NAMESPACES.SOLANA) {\n if (options.authMode === \"WALLET\") {\n // default config for solana wallet modal\n this.modalConfig = defaultSolanaWalletModalConfig;\n } else {\n // default config for solana dapp modal\n this.modalConfig = defaultSolanaDappModalConfig;\n }\n } else if (providedChainConfig.chainNamespace === CHAIN_NAMESPACES.EIP155) {\n if (options.authMode === \"WALLET\") {\n // default config for evm wallet modal\n this.modalConfig = defaultEvmWalletModalConfig;\n } else {\n // default config for evm dapp modal\n this.modalConfig = defaultEvmDappModalConfig;\n }\n } else if (providedChainConfig.chainNamespace === CHAIN_NAMESPACES.OTHER) {\n this.modalConfig = defaultOtherModalConfig;\n } else {\n throw new Error(`Invalid chainNamespace provided: ${providedChainConfig.chainNamespace}`);\n }\n\n // get userLanguage\n const defaultLanguage = getUserLanguage(this.options.uiConfig?.defaultLanguage);\n\n this.loginModal = new LoginModal({\n theme: this.options.uiConfig?.theme,\n appName: this.options.uiConfig?.appName || \"blockchain\",\n appLogo: this.options.uiConfig?.appLogo || \"\",\n adapterListener: this,\n displayErrorsOnModal: this.options.uiConfig?.displayErrorsOnModal,\n defaultLanguage,\n modalZIndex: this.options.uiConfig?.modalZIndex || \"99998\",\n web3AuthNetwork: this.options.web3AuthNetwork,\n loginGridCol: this.options.uiConfig?.loginGridCol || 3,\n primaryButton: this.options.uiConfig?.primaryButton || \"socialLogin\",\n });\n this.subscribeToLoginModalEvents();\n }\n\n public async initModal(params?: { modalConfig?: Record<WALLET_ADAPTER_TYPE, ModalConfig> }): Promise<void> {\n super.checkInitRequirements();\n await this.loginModal.initModal();\n const providedChainConfig = this.options.chainConfig;\n\n // merge default adapters with the custom configured adapters.\n const allAdapters = [...new Set([...Object.keys(this.modalConfig.adapters || {}), ...Object.keys(this.walletAdapters)])];\n\n const adapterConfigurationPromises = allAdapters.map(async (adapterName) => {\n // start with the default config of adapter.\n let adapterConfig = this.modalConfig.adapters?.[adapterName] || {\n label: adapterName,\n showOnModal: true,\n showOnMobile: true,\n showOnDesktop: true,\n };\n\n // override the default config of adapter if some config is being provided by the user.\n if (params?.modalConfig?.[adapterName]) {\n adapterConfig = { ...adapterConfig, ...params.modalConfig[adapterName] };\n }\n (this.modalConfig.adapters as Record<WALLET_ADAPTER_TYPE, ModalConfig>)[adapterName] = adapterConfig as ModalConfig;\n\n // check if adapter is configured/added by user and exist in walletAdapters map.\n const adapter = this.walletAdapters[adapterName];\n log.debug(\"adapter config\", adapterName, this.modalConfig.adapters?.[adapterName].showOnModal, adapter);\n\n // if adapter is not custom configured then check if it is available in default adapters.\n // and if adapter is not hidden by user\n if (!adapter && this.modalConfig.adapters?.[adapterName].showOnModal) {\n // if adapter is not configured and some default configuration is available, use it.\n const ad = await getDefaultAdapterModule({\n name: adapterName,\n customChainConfig: this.options.chainConfig,\n clientId: this.options.clientId,\n sessionTime: this.options.sessionTime,\n web3AuthNetwork: this.options.web3AuthNetwork,\n });\n\n this.walletAdapters[adapterName] = ad;\n return adapterName;\n } else if (adapter?.type === ADAPTER_CATEGORY.IN_APP || adapter?.type === ADAPTER_CATEGORY.EXTERNAL || adapterName === this.cachedAdapter) {\n if (!this.modalConfig.adapters?.[adapterName].showOnModal) return;\n // add client id to adapter, same web3auth client id can be used in adapter.\n // this id is being overridden if user is also passing client id in adapter's constructor.\n this.walletAdapters[adapterName].setAdapterSettings({\n clientId: this.options.clientId,\n sessionTime: this.options.sessionTime,\n web3AuthNetwork: this.options.web3AuthNetwork,\n });\n\n // if adapter doesn't have any chainConfig then we will set the chainConfig based of passed chainNamespace\n // and chainNamespace.\n if (!adapter.chainConfigProxy) {\n const chainConfig = {\n ...getChainConfig(providedChainConfig.chainNamespace, this.coreOptions.chainConfig?.chainId),\n ...this.coreOptions.chainConfig,\n } as CustomChainConfig;\n this.walletAdapters[adapterName].setAdapterSettings({ chainConfig });\n }\n\n if (adapterName === WALLET_ADAPTERS.OPENLOGIN) {\n const openloginAdapter = this.walletAdapters[adapterName] as OpenloginAdapter;\n if (!openloginAdapter.privateKeyProvider) {\n const currentPrivateKeyProvider = await getPrivateKeyProvider(openloginAdapter.chainConfigProxy as CustomChainConfig);\n openloginAdapter.setAdapterSettings({ privateKeyProvider: currentPrivateKeyProvider });\n }\n }\n\n return adapterName;\n }\n });\n\n let adapterNames = await Promise.all(adapterConfigurationPromises);\n const hasInAppWallets = Object.values(this.walletAdapters).some((adapter) => {\n if (adapter.type !== ADAPTER_CATEGORY.IN_APP) return false;\n if (this.modalConfig.adapters?.[adapter.name]?.showOnModal !== true) return false;\n if (!this.modalConfig.adapters?.[adapter.name]?.loginMethods) return true;\n const mergedLoginMethods = getAdapterSocialLogins(\n adapter.name,\n this.walletAdapters[adapter.name],\n (this.modalConfig.adapters as Record<WALLET_ADAPTER_TYPE, ModalConfig>)[adapter.name]?.loginMethods\n );\n if (Object.values(mergedLoginMethods).some((method: LoginMethodConfig[keyof LoginMethodConfig]) => method.showOnModal)) return true;\n return false;\n });\n log.debug(hasInAppWallets, this.walletAdapters, adapterNames, \"hasInAppWallets\");\n\n // if both wc1 and wc2 are configured, give precedence to wc2.\n if (this.walletAdapters[WALLET_ADAPTERS.WALLET_CONNECT_V1] && this.walletAdapters[WALLET_ADAPTERS.WALLET_CONNECT_V2]) {\n delete this.walletAdapters[WALLET_ADAPTERS.WALLET_CONNECT_V1];\n adapterNames = adapterNames.filter((ad) => ad !== WALLET_ADAPTERS.WALLET_CONNECT_V1);\n }\n // Now, initialize the adapters.\n const initPromises = adapterNames.map(async (adapterName) => {\n if (!adapterName) return;\n try {\n const adapter = this.walletAdapters[adapterName];\n // only initialize a external adapter here if it is a cached adapter.\n if (this.cachedAdapter !== adapterName && adapter.type === ADAPTER_CATEGORY.EXTERNAL) {\n return;\n }\n // in-app wallets or cached wallet (being connected or already connected) are initialized first.\n // if adapter is configured thn only initialize in app or cached adapter.\n // external wallets are initialized on INIT_EXTERNAL_WALLET event.\n this.subscribeToAdapterEvents(adapter);\n if (adapter.status === ADAPTER_STATUS.NOT_READY) await adapter.init({ autoConnect: this.cachedAdapter === adapterName });\n // note: not adding cachedWallet to modal if it is external wallet.\n // adding it later if no in-app wallets are available.\n if (adapter.type === ADAPTER_CATEGORY.IN_APP) {\n this.initializeInAppWallet(adapterName);\n }\n } catch (error) {\n log.error(error, \"error while initializing adapter\");\n }\n });\n\n this.commonJRPCProvider = await CommonJRPCProvider.getProviderInstance({ chainConfig: this.coreOptions.chainConfig as CustomChainConfig });\n this.status = ADAPTER_STATUS.READY;\n await Promise.all(initPromises);\n\n const hasExternalWallets = allAdapters.some((adapterName) => {\n return this.walletAdapters[adapterName]?.type === ADAPTER_CATEGORY.EXTERNAL && this.modalConfig.adapters?.[adapterName].showOnModal;\n });\n\n if (hasExternalWallets) {\n this.loginModal.initExternalWalletContainer();\n }\n\n // variable to check if we have any in app wallets\n // currently all default in app and external wallets can be hidden or shown based on config.\n if (!hasInAppWallets && hasExternalWallets) {\n // if no in app wallet is available then initialize external wallets in modal\n await this.initExternalWalletAdapters(false, { showExternalWalletsOnly: true });\n }\n }\n\n public async connect(): Promise<SafeEventEmitterProvider | null> {\n // if (!this.loginModal.initialized) throw new Error(\"Login modal is not initialized\");\n // if already connected return provider\n if (this.connectedAdapterName && this.status === ADAPTER_STATUS.CONNECTED && this.provider) return this.provider;\n this.loginModal.open();\n return new Promise((resolve, reject) => {\n this.once(ADAPTER_EVENTS.CONNECTED, () => {\n return resolve(this.provider);\n });\n this.once(ADAPTER_EVENTS.ERRORED, (err: unknown) => {\n return reject(err);\n });\n });\n }\n\n private async initExternalWalletAdapters(externalWalletsInitialized: boolean, options?: { showExternalWalletsOnly: boolean }): Promise<void> {\n if (externalWalletsInitialized) return;\n const adaptersConfig: Record<string, BaseAdapterConfig> = {};\n Object.keys(this.walletAdapters).forEach(async (adapterName) => {\n const adapter = this.walletAdapters[adapterName];\n if (adapter?.type === ADAPTER_CATEGORY.EXTERNAL) {\n log.debug(\"init external wallet\", this.cachedAdapter, adapterName);\n this.subscribeToAdapterEvents(adapter);\n // we are not initializing cached adapter here as it is already being initialized in initModal before.\n if (this.cachedAdapter === adapterName) {\n return;\n }\n if (adapter.status === ADAPTER_STATUS.NOT_READY) {\n await adapter\n .init({ autoConnect: this.cachedAdapter === adapterName })\n .then(() => {\n adaptersConfig[adapterName] = (this.modalConfig.adapters as Record<WALLET_ADAPTER_TYPE, ModalConfig>)[adapterName];\n this.loginModal.addWalletLogins(adaptersConfig, { showExternalWalletsOnly: !!options?.showExternalWalletsOnly });\n return undefined;\n })\n .catch((error) => log.error(error, \"error while initializing adapter\"));\n } else if (adapter.status === ADAPTER_STATUS.READY) {\n adaptersConfig[adapterName] = (this.modalConfig.adapters as Record<WALLET_ADAPTER_TYPE, ModalConfig>)[adapterName];\n this.loginModal.addWalletLogins(adaptersConfig, { showExternalWalletsOnly: !!options?.showExternalWalletsOnly });\n }\n }\n });\n }\n\n private initializeInAppWallet(adapterName: string): void {\n log.info(\"adapterInitResults\", adapterName);\n if (this.walletAdapters[adapterName].type === ADAPTER_CATEGORY.IN_APP) {\n this.loginModal.addSocialLogins(\n adapterName,\n getAdapterSocialLogins(\n adapterName,\n this.walletAdapters[adapterName],\n (this.modalConfig.adapters as Record<WALLET_ADAPTER_TYPE, ModalConfig>)[adapterName]?.loginMethods\n ),\n this.options.uiConfig?.loginMethodsOrder || OPENLOGIN_PROVIDERS,\n {\n ...this.options.uiConfig,\n loginGridCol: this.options.uiConfig?.loginGridCol || 3,\n primaryButton: this.options.uiConfig?.primaryButton || \"socialLogin\",\n }\n );\n }\n }\n\n private subscribeToLoginModalEvents(): void {\n this.loginModal.on(LOGIN_MODAL_EVENTS.LOGIN, async (params: { adapter: WALLET_ADAPTER_TYPE; loginParams: unknown }) => {\n try {\n await this.connectTo<unknown>(params.adapter, params.loginParams);\n } catch (error) {\n log.error(`Error while connecting to adapter: ${params.adapter}`, error);\n }\n });\n this.loginModal.on(LOGIN_MODAL_EVENTS.INIT_EXTERNAL_WALLETS, async (params: { externalWalletsInitialized: boolean }) => {\n await this.initExternalWalletAdapters(params.externalWalletsInitialized);\n });\n this.loginModal.on(LOGIN_MODAL_EVENTS.DISCONNECT, async () => {\n try {\n await this.logout();\n } catch (error) {\n log.error(`Error while disconnecting`, error);\n }\n });\n this.loginModal.on(LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, async (visibility: boolean) => {\n log.debug(\"is login modal visible\", visibility);\n this.emit(LOGIN_MODAL_EVENTS.MODAL_VISIBILITY, visibility);\n const adapter = this.walletAdapters[WALLET_ADAPTERS.WALLET_CONNECT_V2] || this.walletAdapters[WALLET_ADAPTERS.WALLET_CONNECT_V1];\n if (adapter) {\n const walletConnectStatus = adapter?.status;\n log.debug(\"trying refreshing wc session\", visibility, walletConnectStatus);\n if (visibility && (walletConnectStatus === ADAPTER_STATUS.READY || walletConnectStatus === ADAPTER_STATUS.CONNECTING)) {\n log.debug(\"refreshing wc session\");\n\n // refreshing session for wallet connect whenever modal is opened.\n try {\n adapter.connect();\n } catch (error) {\n log.error(`Error while disconnecting to wallet connect in core`, error);\n }\n }\n }\n });\n }\n}\n","module.exports = require(\"@web3auth/base\");","module.exports = require(\"@web3auth/ethereum-provider\");","module.exports = require(\"@web3auth/metamask-adapter\");","module.exports = require(\"@web3auth/openlogin-adapter\");","module.exports = require(\"@web3auth/phantom-adapter\");","module.exports = require(\"@web3auth/solana-provider\");","module.exports = require(\"@web3auth/torus-evm-adapter\");","module.exports = require(\"@web3auth/torus-solana-adapter\");","module.exports = require(\"@web3auth/wallet-connect-v2-adapter\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export * from \"./config\";\nexport * from \"./interface\";\nexport * from \"./modalManager\";\n"],"names":["CHAIN_NAMESPACES","EVM_ADAPTERS","SOLANA_ADAPTERS","defaultSolanaDappModalConfig","chainNamespace","SOLANA","adapters","TORUS_SOLANA","label","showOnModal","showOnMobile","showOnDesktop","OPENLOGIN","PHANTOM","defaultEvmDappModalConfig","EIP155","TORUS_EVM","METAMASK","WALLET_CONNECT_V2","defaultSolanaWalletModalConfig","defaultEvmWalletModalConfig","defaultOtherModalConfig","OTHER","getChainConfig","WALLET_ADAPTERS","CommonPrivateKeyProvider","getPrivateKeyProvider","chainConfig","SolanaPrivateKeyProvider","config","EthereumPrivateKeyProvider","Error","getDefaultAdapterModule","params","name","customChainConfig","clientId","sessionTime","web3AuthNetwork","Object","values","includes","finalChainConfig","_objectSpread","chainId","TorusWalletAdapter","adapter","SolanaWalletAdapter","MetamaskAdapter","PhantomAdapter","WalletConnectV2Adapter","adapterSettings","walletConnectInitOptions","projectId","OpenloginAdapter","getOpenloginDefaultOptions","privateKeyProvider","defaultOptions","network","languageMap","en","de","ja","ko","zh","es","fr","pt","nl","getUserLanguage","defaultLanguage","userLanguage","browserLanguage","window","navigator","language","split","prototype","hasOwnProperty","call","ADAPTER_CATEGORY","ADAPTER_EVENTS","ADAPTER_STATUS","log","CommonJRPCProvider","Web3AuthNoModal","getAdapterSocialLogins","LOGIN_MODAL_EVENTS","LoginModal","OPENLOGIN_PROVIDERS","Web3Auth","constructor","options","_this$options$uiConfi","_this$options$uiConfi2","_this$options$uiConfi3","_this$options$uiConfi4","_this$options$uiConfi5","_this$options$uiConfi6","_this$options$uiConfi7","_this$options$uiConfi8","_defineProperty","providedChainConfig","authMode","modalConfig","uiConfig","loginModal","theme","appName","appLogo","adapterListener","displayErrorsOnModal","modalZIndex","loginGridCol","primaryButton","subscribeToLoginModalEvents","initModal","checkInitRequirements","allAdapters","Set","keys","walletAdapters","adapterConfigurationPromises","map","adapterName","_this$modalConfig$ada","_params$modalConfig","_this$modalConfig$ada2","_this$modalConfig$ada3","adapterConfig","debug","ad","type","IN_APP","EXTERNAL","cachedAdapter","_this$modalConfig$ada4","setAdapterSettings","chainConfigProxy","_this$coreOptions$cha","coreOptions","openloginAdapter","currentPrivateKeyProvider","adapterNames","Promise","all","hasInAppWallets","some","_this$modalConfig$ada5","_this$modalConfig$ada6","_this$modalConfig$ada7","_this$modalConfig$ada8","_adapter$name","loginMethods","mergedLoginMethods","method","WALLET_CONNECT_V1","filter","initPromises","subscribeToAdapterEvents","status","NOT_READY","init","autoConnect","initializeInAppWallet","error","commonJRPCProvider","getProviderInstance","READY","hasExternalWallets","_this$walletAdapters$","_this$modalConfig$ada9","initExternalWalletContainer","initExternalWalletAdapters","showExternalWalletsOnly","connect","connectedAdapterName","CONNECTED","provider","open","resolve","reject","once","ERRORED","err","externalWalletsInitialized","adaptersConfig","forEach","then","addWalletLogins","undefined","catch","info","_adapterName","_this$options$uiConfi9","_this$options$uiConfi10","_this$options$uiConfi11","addSocialLogins","loginMethodsOrder","on","LOGIN","connectTo","loginParams","INIT_EXTERNAL_WALLETS","DISCONNECT","logout","MODAL_VISIBILITY","visibility","emit","walletConnectStatus","CONNECTING"],"sourceRoot":""}
package/dist/modal.esm.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { CHAIN_NAMESPACES, SOLANA_ADAPTERS, EVM_ADAPTERS, getChainConfig, WALLET_ADAPTERS, log, ADAPTER_CATEGORY, ADAPTER_STATUS, ADAPTER_EVENTS } from '@web3auth/base';
2
2
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
3
+ import { CommonPrivateKeyProvider, CommonJRPCProvider } from '@web3auth/base-provider';
3
4
  import { Web3AuthNoModal } from '@web3auth/no-modal';
4
5
  import { LoginModal, getAdapterSocialLogins, OPENLOGIN_PROVIDERS, LOGIN_MODAL_EVENTS } from '@web3auth/ui';
5
6
 
@@ -47,7 +48,7 @@ const defaultEvmDappModalConfig = {
47
48
  showOnMobile: true,
48
49
  showOnDesktop: true
49
50
  },
50
- [EVM_ADAPTERS.WALLET_CONNECT_V1]: {
51
+ [EVM_ADAPTERS.WALLET_CONNECT_V2]: {
51
52
  label: "Wallet Connect",
52
53
  showOnModal: true,
53
54
  showOnMobile: true,
@@ -91,6 +92,32 @@ const defaultOtherModalConfig = {
91
92
 
92
93
  function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
93
94
  function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
95
+ async function getPrivateKeyProvider(chainConfig) {
96
+ if (chainConfig.chainNamespace === CHAIN_NAMESPACES.SOLANA) {
97
+ const {
98
+ SolanaPrivateKeyProvider
99
+ } = await import('@web3auth/solana-provider');
100
+ return new SolanaPrivateKeyProvider({
101
+ config: {
102
+ chainConfig
103
+ }
104
+ });
105
+ } else if (chainConfig.chainNamespace === CHAIN_NAMESPACES.EIP155) {
106
+ const {
107
+ EthereumPrivateKeyProvider
108
+ } = await import('@web3auth/ethereum-provider');
109
+ return new EthereumPrivateKeyProvider({
110
+ config: {
111
+ chainConfig
112
+ }
113
+ });
114
+ } else if (chainConfig.chainNamespace === CHAIN_NAMESPACES.OTHER) {
115
+ // Modal doesn't support ripple provider
116
+ // Can always override this with a custom provider
117
+ return new CommonPrivateKeyProvider();
118
+ }
119
+ throw new Error(`Invalid chainNamespace: ${chainConfig.chainNamespace} found while connecting to wallet`);
120
+ }
94
121
  // warning: this function is not compatible with "OTHER" chain namespace.
95
122
  const getDefaultAdapterModule = async params => {
96
123
  const {
@@ -146,15 +173,21 @@ const getDefaultAdapterModule = async params => {
146
173
  web3AuthNetwork
147
174
  });
148
175
  return adapter;
149
- } else if (name === WALLET_ADAPTERS.WALLET_CONNECT_V1) {
176
+ } else if (name === WALLET_ADAPTERS.WALLET_CONNECT_V2) {
150
177
  const {
151
- WalletConnectV1Adapter
152
- } = await import('@web3auth/wallet-connect-v1-adapter');
153
- const adapter = new WalletConnectV1Adapter({
178
+ WalletConnectV2Adapter
179
+ } = await import('@web3auth/wallet-connect-v2-adapter');
180
+ const adapter = new WalletConnectV2Adapter({
154
181
  chainConfig: finalChainConfig,
155
182
  clientId,
156
183
  sessionTime,
157
- web3AuthNetwork
184
+ web3AuthNetwork,
185
+ adapterSettings: {
186
+ walletConnectInitOptions: {
187
+ // Using a default wallet connect project id for web3auth modal integration
188
+ projectId: "d3c63f19f9582f8ba48e982057eb096b"
189
+ }
190
+ }
158
191
  });
159
192
  return adapter;
160
193
  } else if (name === WALLET_ADAPTERS.OPENLOGIN) {
@@ -162,6 +195,7 @@ const getDefaultAdapterModule = async params => {
162
195
  OpenloginAdapter,
163
196
  getOpenloginDefaultOptions
164
197
  } = await import('@web3auth/openlogin-adapter');
198
+ const privateKeyProvider = await getPrivateKeyProvider(finalChainConfig);
165
199
  const defaultOptions = getOpenloginDefaultOptions();
166
200
  const adapter = new OpenloginAdapter(_objectSpread$1(_objectSpread$1({}, defaultOptions), {}, {
167
201
  clientId,
@@ -171,7 +205,8 @@ const getDefaultAdapterModule = async params => {
171
205
  network: web3AuthNetwork
172
206
  }),
173
207
  sessionTime,
174
- web3AuthNetwork
208
+ web3AuthNetwork,
209
+ privateKeyProvider
175
210
  }));
176
211
  return adapter;
177
212
  }
@@ -186,7 +221,8 @@ const languageMap = {
186
221
  zh: "mandarin",
187
222
  es: "spanish",
188
223
  fr: "french",
189
- pt: "portuguese"
224
+ pt: "portuguese",
225
+ nl: "dutch"
190
226
  };
191
227
  const getUserLanguage = defaultLanguage => {
192
228
  let userLanguage = defaultLanguage;
@@ -300,6 +336,15 @@ class Web3Auth extends Web3AuthNoModal {
300
336
  chainConfig
301
337
  });
302
338
  }
339
+ if (adapterName === WALLET_ADAPTERS.OPENLOGIN) {
340
+ const openloginAdapter = this.walletAdapters[adapterName];
341
+ if (!openloginAdapter.privateKeyProvider) {
342
+ const currentPrivateKeyProvider = await getPrivateKeyProvider(openloginAdapter.chainConfigProxy);
343
+ openloginAdapter.setAdapterSettings({
344
+ privateKeyProvider: currentPrivateKeyProvider
345
+ });
346
+ }
347
+ }
303
348
  return adapterName;
304
349
  }
305
350
  });
@@ -344,6 +389,9 @@ class Web3Auth extends Web3AuthNoModal {
344
389
  log.error(error, "error while initializing adapter");
345
390
  }
346
391
  });
392
+ this.commonJRPCProvider = await CommonJRPCProvider.getProviderInstance({
393
+ chainConfig: this.coreOptions.chainConfig
394
+ });
347
395
  this.status = ADAPTER_STATUS.READY;
348
396
  await Promise.all(initPromises);
349
397
  const hasExternalWallets = allAdapters.some(adapterName => {
@@ -365,7 +413,7 @@ class Web3Auth extends Web3AuthNoModal {
365
413
  async connect() {
366
414
  // if (!this.loginModal.initialized) throw new Error("Login modal is not initialized");
367
415
  // if already connected return provider
368
- if (this.provider) return this.provider;
416
+ if (this.connectedAdapterName && this.status === ADAPTER_STATUS.CONNECTED && this.provider) return this.provider;
369
417
  this.loginModal.open();
370
418
  return new Promise((resolve, reject) => {
371
419
  this.once(ADAPTER_EVENTS.CONNECTED, () => {