@web3auth/no-modal 10.9.0 → 10.11.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.
Files changed (132) hide show
  1. package/dist/lib.cjs/base/connector/baseConnector.js +9 -5
  2. package/dist/lib.cjs/base/connector/connectorStatus.js +9 -0
  3. package/dist/lib.cjs/base/connector/constants.js +8 -1
  4. package/dist/lib.cjs/base/plugin/IPlugin.js +1 -2
  5. package/dist/lib.cjs/base/plugin/errors.js +0 -36
  6. package/dist/lib.cjs/base/utils.js +2 -1
  7. package/dist/lib.cjs/connectors/auth-connector/authConnector.js +22 -10
  8. package/dist/lib.cjs/connectors/base-evm-connector/baseEvmConnector.js +20 -1
  9. package/dist/lib.cjs/connectors/base-solana-connector/baseSolanaConnector.js +20 -1
  10. package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +6 -5
  11. package/dist/lib.cjs/connectors/injected-evm-connector/injectedEvmConnector.js +6 -5
  12. package/dist/lib.cjs/connectors/injected-solana-connector/walletStandardConnector.js +7 -6
  13. package/dist/lib.cjs/connectors/metamask-connector/metamaskConnector.js +3 -2
  14. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +1 -0
  15. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/config.js +1 -0
  16. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +26 -7
  17. package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +1 -0
  18. package/dist/lib.cjs/index.js +6 -7
  19. package/dist/lib.cjs/noModal.js +82 -21
  20. package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +3 -5
  21. package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +1 -0
  22. package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +1 -0
  23. package/dist/lib.cjs/providers/base-provider/baseProvider.js +1 -0
  24. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +1 -0
  25. package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +1 -0
  26. package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +1 -0
  27. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +1 -0
  28. package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +1 -0
  29. package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +1 -0
  30. package/dist/lib.cjs/react/context/WalletServicesInnerContext.js +4 -3
  31. package/dist/lib.cjs/react/context/Web3AuthInnerContext.js +28 -11
  32. package/dist/lib.cjs/react/hooks/useCheckout.js +1 -0
  33. package/dist/lib.cjs/react/hooks/useFunding.js +1 -0
  34. package/dist/lib.cjs/react/hooks/useIdentityToken.js +8 -3
  35. package/dist/lib.cjs/react/hooks/useReceive.js +1 -0
  36. package/dist/lib.cjs/react/hooks/useSwap.js +1 -0
  37. package/dist/lib.cjs/react/hooks/useWalletConnectScanner.js +1 -0
  38. package/dist/lib.cjs/react/hooks/useWalletUI.js +1 -0
  39. package/dist/lib.cjs/react/hooks/useWeb3Auth.js +2 -0
  40. package/dist/lib.cjs/react/hooks/useWeb3AuthInner.js +1 -0
  41. package/dist/lib.cjs/react/solana/hooks/useSolanaWallet.js +1 -0
  42. package/dist/lib.cjs/react/wagmi/provider.js +1 -0
  43. package/dist/lib.cjs/types/base/connector/baseConnector.d.ts +2 -1
  44. package/dist/lib.cjs/types/base/connector/connectorStatus.d.ts +3 -0
  45. package/dist/lib.cjs/types/base/connector/constants.d.ts +8 -0
  46. package/dist/lib.cjs/types/base/connector/index.d.ts +1 -0
  47. package/dist/lib.cjs/types/base/connector/interfaces.d.ts +16 -4
  48. package/dist/lib.cjs/types/base/core/IWeb3Auth.d.ts +7 -1
  49. package/dist/lib.cjs/types/base/hooks/index.d.ts +1 -0
  50. package/dist/lib.cjs/types/base/plugin/IPlugin.d.ts +0 -2
  51. package/dist/lib.cjs/types/base/plugin/errors.d.ts +0 -10
  52. package/dist/lib.cjs/types/noModal.d.ts +1 -0
  53. package/dist/lib.cjs/types/plugins/index.d.ts +0 -1
  54. package/dist/lib.cjs/types/vue/interfaces.d.ts +1 -0
  55. package/dist/lib.cjs/types/vue/solana/composables/useSignMessage.d.ts +1 -1
  56. package/dist/lib.cjs/vue/WalletServicesInnerProvider.js +5 -4
  57. package/dist/lib.cjs/vue/Web3AuthProvider.js +25 -10
  58. package/dist/lib.cjs/vue/composables/useCheckout.js +3 -1
  59. package/dist/lib.cjs/vue/composables/useEnableMFA.js +3 -1
  60. package/dist/lib.cjs/vue/composables/useFunding.js +3 -1
  61. package/dist/lib.cjs/vue/composables/useIdentityToken.js +12 -4
  62. package/dist/lib.cjs/vue/composables/useManageMFA.js +3 -1
  63. package/dist/lib.cjs/vue/composables/useReceive.js +3 -1
  64. package/dist/lib.cjs/vue/composables/useSwap.js +3 -1
  65. package/dist/lib.cjs/vue/composables/useSwitchChain.js +3 -1
  66. package/dist/lib.cjs/vue/composables/useWalletConnectScanner.js +3 -1
  67. package/dist/lib.cjs/vue/composables/useWalletUI.js +3 -1
  68. package/dist/lib.cjs/vue/composables/useWeb3Auth.js +2 -0
  69. package/dist/lib.cjs/vue/composables/useWeb3AuthConnect.js +3 -1
  70. package/dist/lib.cjs/vue/composables/useWeb3AuthDisconnect.js +3 -1
  71. package/dist/lib.cjs/vue/composables/useWeb3AuthInner.js +1 -0
  72. package/dist/lib.cjs/vue/composables/useWeb3AuthUser.js +3 -1
  73. package/dist/lib.cjs/vue/solana/composables/useSignAndSendTransaction.js +15 -0
  74. package/dist/lib.cjs/vue/solana/composables/useSignMessage.js +15 -0
  75. package/dist/lib.cjs/vue/solana/composables/useSignTransaction.js +15 -0
  76. package/dist/lib.cjs/vue/solana/composables/useSolanaWallet.js +1 -0
  77. package/dist/lib.cjs/vue/wagmi/provider.js +1 -0
  78. package/dist/lib.esm/base/connector/baseConnector.js +9 -5
  79. package/dist/lib.esm/base/connector/connectorStatus.js +6 -0
  80. package/dist/lib.esm/base/connector/constants.js +8 -2
  81. package/dist/lib.esm/base/plugin/IPlugin.js +1 -2
  82. package/dist/lib.esm/base/plugin/errors.js +1 -37
  83. package/dist/lib.esm/base/utils.js +1 -1
  84. package/dist/lib.esm/connectors/auth-connector/authConnector.js +22 -10
  85. package/dist/lib.esm/connectors/base-evm-connector/baseEvmConnector.js +20 -2
  86. package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +20 -2
  87. package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +5 -5
  88. package/dist/lib.esm/connectors/injected-evm-connector/injectedEvmConnector.js +5 -5
  89. package/dist/lib.esm/connectors/injected-solana-connector/walletStandardConnector.js +6 -6
  90. package/dist/lib.esm/connectors/metamask-connector/metamaskConnector.js +2 -2
  91. package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +25 -7
  92. package/dist/lib.esm/index.js +3 -4
  93. package/dist/lib.esm/noModal.js +83 -22
  94. package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +2 -5
  95. package/dist/lib.esm/react/context/WalletServicesInnerContext.js +3 -3
  96. package/dist/lib.esm/react/context/Web3AuthInnerContext.js +28 -11
  97. package/dist/lib.esm/react/hooks/useIdentityToken.js +8 -3
  98. package/dist/lib.esm/react/hooks/useWeb3Auth.js +2 -0
  99. package/dist/lib.esm/vue/WalletServicesInnerProvider.js +4 -4
  100. package/dist/lib.esm/vue/Web3AuthProvider.js +24 -9
  101. package/dist/lib.esm/vue/composables/useCheckout.js +2 -0
  102. package/dist/lib.esm/vue/composables/useEnableMFA.js +2 -0
  103. package/dist/lib.esm/vue/composables/useFunding.js +2 -0
  104. package/dist/lib.esm/vue/composables/useIdentityToken.js +11 -3
  105. package/dist/lib.esm/vue/composables/useManageMFA.js +2 -0
  106. package/dist/lib.esm/vue/composables/useReceive.js +2 -0
  107. package/dist/lib.esm/vue/composables/useSwap.js +2 -0
  108. package/dist/lib.esm/vue/composables/useSwitchChain.js +2 -0
  109. package/dist/lib.esm/vue/composables/useWalletConnectScanner.js +2 -0
  110. package/dist/lib.esm/vue/composables/useWalletUI.js +2 -0
  111. package/dist/lib.esm/vue/composables/useWeb3Auth.js +2 -0
  112. package/dist/lib.esm/vue/composables/useWeb3AuthConnect.js +2 -0
  113. package/dist/lib.esm/vue/composables/useWeb3AuthDisconnect.js +2 -0
  114. package/dist/lib.esm/vue/composables/useWeb3AuthUser.js +2 -0
  115. package/dist/lib.esm/vue/solana/composables/useSignAndSendTransaction.js +2 -0
  116. package/dist/lib.esm/vue/solana/composables/useSignMessage.js +3 -1
  117. package/dist/lib.esm/vue/solana/composables/useSignTransaction.js +2 -0
  118. package/dist/noModal.umd.min.js +1 -1
  119. package/package.json +2 -2
  120. package/dist/lib.cjs/plugins/nft-checkout-plugin/embed.js +0 -131
  121. package/dist/lib.cjs/plugins/nft-checkout-plugin/enums.js +0 -24
  122. package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +0 -85
  123. package/dist/lib.cjs/plugins/nft-checkout-plugin/utils.js +0 -18
  124. package/dist/lib.cjs/types/plugins/nft-checkout-plugin/embed.d.ts +0 -24
  125. package/dist/lib.cjs/types/plugins/nft-checkout-plugin/enums.d.ts +0 -14
  126. package/dist/lib.cjs/types/plugins/nft-checkout-plugin/index.d.ts +0 -2
  127. package/dist/lib.cjs/types/plugins/nft-checkout-plugin/plugin.d.ts +0 -27
  128. package/dist/lib.cjs/types/plugins/nft-checkout-plugin/utils.d.ts +0 -3
  129. package/dist/lib.esm/plugins/nft-checkout-plugin/embed.js +0 -132
  130. package/dist/lib.esm/plugins/nft-checkout-plugin/enums.js +0 -20
  131. package/dist/lib.esm/plugins/nft-checkout-plugin/plugin.js +0 -75
  132. package/dist/lib.esm/plugins/nft-checkout-plugin/utils.js +0 -15
@@ -4,6 +4,7 @@ var analytics = require('./base/analytics.js');
4
4
  var IChainInterface = require('./base/chain/IChainInterface.js');
5
5
  var index = require('./base/composables/index.js');
6
6
  var baseConnector = require('./base/connector/baseConnector.js');
7
+ var connectorStatus = require('./base/connector/connectorStatus.js');
7
8
  var constants = require('./base/connector/constants.js');
8
9
  var auth = require('@web3auth/auth');
9
10
  var utils = require('./base/connector/utils.js');
@@ -27,9 +28,7 @@ var config = require('./connectors/wallet-connect-v2-connector/config.js');
27
28
  var walletConnectV2Connector = require('./connectors/wallet-connect-v2-connector/walletConnectV2Connector.js');
28
29
  var WalletConnectV2Provider = require('./connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js');
29
30
  var noModal = require('./noModal.js');
30
- var embed = require('./plugins/nft-checkout-plugin/embed.js');
31
- var plugin = require('./plugins/nft-checkout-plugin/plugin.js');
32
- var plugin$1 = require('./plugins/wallet-services-plugin/plugin.js');
31
+ var plugin = require('./plugins/wallet-services-plugin/plugin.js');
33
32
  var AccountAbstractionProvider = require('./providers/account-abstraction-provider/providers/AccountAbstractionProvider.js');
34
33
  var ethereumControllers = require('@toruslabs/ethereum-controllers');
35
34
  var baseProvider = require('./providers/base-provider/baseProvider.js');
@@ -62,8 +61,11 @@ exports.Analytics = analytics.Analytics;
62
61
  exports.CONNECTOR_NAMESPACES = IChainInterface.CONNECTOR_NAMESPACES;
63
62
  exports.Web3AuthContextKey = index.Web3AuthContextKey;
64
63
  exports.BaseConnector = baseConnector.BaseConnector;
64
+ exports.CAN_AUTHORIZE_STATUSES = connectorStatus.CAN_AUTHORIZE_STATUSES;
65
+ exports.CONNECTED_STATUSES = connectorStatus.CONNECTED_STATUSES;
65
66
  exports.CONNECTOR_CATEGORY = constants.CONNECTOR_CATEGORY;
66
67
  exports.CONNECTOR_EVENTS = constants.CONNECTOR_EVENTS;
68
+ exports.CONNECTOR_INITIAL_AUTHENTICATION_MODE = constants.CONNECTOR_INITIAL_AUTHENTICATION_MODE;
67
69
  exports.CONNECTOR_STATUS = constants.CONNECTOR_STATUS;
68
70
  Object.defineProperty(exports, "AUTH_CONNECTION", {
69
71
  enumerable: true,
@@ -108,7 +110,6 @@ exports.WalletOperationsError = index$1.WalletOperationsError;
108
110
  exports.WalletProviderError = index$1.WalletProviderError;
109
111
  exports.Web3AuthError = index$1.Web3AuthError;
110
112
  exports.log = loglevel.log;
111
- exports.NFTCheckoutPluginError = errors.NFTCheckoutPluginError;
112
113
  exports.WalletServicesPluginError = errors.WalletServicesPluginError;
113
114
  exports.EVM_PLUGINS = IPlugin.EVM_PLUGINS;
114
115
  exports.PLUGIN_EVENTS = IPlugin.PLUGIN_EVENTS;
@@ -172,9 +173,7 @@ exports.getWalletConnectV2Settings = config.getWalletConnectV2Settings;
172
173
  exports.walletConnectV2Connector = walletConnectV2Connector.walletConnectV2Connector;
173
174
  exports.WalletConnectV2Provider = WalletConnectV2Provider.WalletConnectV2Provider;
174
175
  exports.Web3AuthNoModal = noModal.Web3AuthNoModal;
175
- exports.NFTCheckoutEmbed = embed.NFTCheckoutEmbed;
176
- exports.nftCheckoutPlugin = plugin.nftCheckoutPlugin;
177
- exports.walletServicesPlugin = plugin$1.walletServicesPlugin;
176
+ exports.walletServicesPlugin = plugin.walletServicesPlugin;
178
177
  exports.accountAbstractionProvider = AccountAbstractionProvider.accountAbstractionProvider;
179
178
  exports.toEoaProvider = AccountAbstractionProvider.toEoaProvider;
180
179
  Object.defineProperty(exports, "BiconomySmartAccount", {
@@ -10,6 +10,7 @@ var analytics = require('./base/analytics.js');
10
10
  var IChainInterface = require('./base/chain/IChainInterface.js');
11
11
  var index = require('./base/errors/index.js');
12
12
  var index$1 = require('./base/wallet/index.js');
13
+ var connectorStatus = require('./base/connector/connectorStatus.js');
13
14
  var constants = require('./base/connector/constants.js');
14
15
  var utils$1 = require('./base/connector/utils.js');
15
16
  var constants$1 = require('./base/constants.js');
@@ -56,7 +57,8 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
56
57
  });
57
58
  this.loadState(initialState);
58
59
  if (this.state.idToken && this.coreOptions.ssr) {
59
- this.status = constants.CONNECTOR_STATUS.CONNECTED;
60
+ // connect-only is the default authentication mode, so we need to set the status to connected if the idToken is present and ssr is enabled
61
+ this.status = this.coreOptions.initialAuthenticationMode === constants.CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN ? constants.CONNECTOR_STATUS.AUTHORIZED : constants.CONNECTOR_STATUS.CONNECTED;
60
62
  }
61
63
  }
62
64
  get currentChain() {
@@ -90,6 +92,9 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
90
92
  get accountAbstractionProvider() {
91
93
  return this.aaProvider;
92
94
  }
95
+ get idToken() {
96
+ return this.state.idToken || null;
97
+ }
93
98
  set provider(_) {
94
99
  throw new Error("Not implemented");
95
100
  }
@@ -213,7 +218,7 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
213
218
  if (params.chainId === ((_this$currentChain2 = this.currentChain) === null || _this$currentChain2 === void 0 ? void 0 : _this$currentChain2.chainId)) return;
214
219
  const newChainConfig = this.coreOptions.chains.find(x => x.chainId === params.chainId);
215
220
  if (!newChainConfig) throw index.WalletInitializationError.invalidParams("Invalid chainId");
216
- if (this.status === constants.CONNECTOR_STATUS.CONNECTED && this.connectedConnector) {
221
+ if (connectorStatus.CONNECTED_STATUSES.includes(this.status) && this.connectedConnector) {
217
222
  await this.connectedConnector.switchChain(params);
218
223
  return;
219
224
  }
@@ -233,7 +238,8 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
233
238
  if (!connector || !this.commonJRPCProvider) throw index.WalletInitializationError.notFound(`Please add wallet connector for ${connectorName} wallet, before connecting`);
234
239
  const initialChain = this.getInitialChainIdForConnector(connector);
235
240
  const finalLoginParams = _objectSpread(_objectSpread({}, loginParams), {}, {
236
- chainId: initialChain.chainId
241
+ chainId: initialChain.chainId,
242
+ getIdentityToken: this.coreOptions.initialAuthenticationMode === constants.CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN
237
243
  });
238
244
  // track connection started event
239
245
  const startTime = Date.now();
@@ -278,19 +284,48 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
278
284
  // track connection started event
279
285
  this.analytics.track(analytics.ANALYTICS_EVENTS.CONNECTION_STARTED, eventData);
280
286
  return new Promise((resolve, reject) => {
287
+ let connectedEventCompleted = false;
288
+ let authorizedEventReceived = false;
281
289
  const cleanup = () => {
282
- this.off(constants.CONNECTOR_EVENTS.CONNECTED, onConnected);
283
- this.off(constants.CONNECTOR_EVENTS.ERRORED, onErrored);
290
+ this.removeListener(constants.CONNECTOR_EVENTS.CONNECTED, onConnected);
291
+ this.removeListener(constants.CONNECTOR_EVENTS.ERRORED, onErrored);
292
+ this.removeListener(constants.CONNECTOR_EVENTS.AUTHORIZED, onAuthorized);
293
+ };
294
+ const checkCompletion = async () => {
295
+ // In CONNECT_AND_SIGN mode, wait for both connected event and authorized event
296
+ if (finalLoginParams.getIdentityToken) {
297
+ if (connectedEventCompleted && authorizedEventReceived) {
298
+ await completeConnection();
299
+ }
300
+ } else {
301
+ // In CONNECT_ONLY mode, just wait for connected event
302
+ if (connectedEventCompleted) {
303
+ await completeConnection();
304
+ }
305
+ }
306
+ };
307
+ const completeConnection = async () => {
308
+ try {
309
+ // track connection completed event
310
+ const userInfo = await connector.getUserInfo();
311
+ this.analytics.track(analytics.ANALYTICS_EVENTS.CONNECTION_COMPLETED, _objectSpread(_objectSpread({}, eventData), {}, {
312
+ is_mfa_enabled: userInfo === null || userInfo === void 0 ? void 0 : userInfo.isMfaEnabled,
313
+ duration: Date.now() - startTime
314
+ }));
315
+ cleanup();
316
+ resolve(this.provider);
317
+ } catch (error) {
318
+ cleanup();
319
+ reject(error);
320
+ }
284
321
  };
285
322
  const onConnected = async () => {
286
- // track connection completed event
287
- const userInfo = await connector.getUserInfo();
288
- this.analytics.track(analytics.ANALYTICS_EVENTS.CONNECTION_COMPLETED, _objectSpread(_objectSpread({}, eventData), {}, {
289
- is_mfa_enabled: userInfo === null || userInfo === void 0 ? void 0 : userInfo.isMfaEnabled,
290
- duration: Date.now() - startTime
291
- }));
292
- cleanup();
293
- resolve(this.provider);
323
+ connectedEventCompleted = true;
324
+ await checkCompletion();
325
+ };
326
+ const onAuthorized = async () => {
327
+ authorizedEventReceived = true;
328
+ await checkCompletion();
294
329
  };
295
330
  const onErrored = async err => {
296
331
  // track connection failed event
@@ -301,6 +336,9 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
301
336
  reject(err);
302
337
  };
303
338
  this.once(constants.CONNECTOR_EVENTS.CONNECTED, onConnected);
339
+ if (finalLoginParams.getIdentityToken) {
340
+ this.once(constants.CONNECTOR_EVENTS.AUTHORIZED, onAuthorized);
341
+ }
304
342
  this.once(constants.CONNECTOR_EVENTS.ERRORED, onErrored);
305
343
  connector.connect(finalLoginParams);
306
344
  this.setCurrentChain(initialChain.chainId);
@@ -309,18 +347,19 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
309
347
  async logout(options = {
310
348
  cleanup: false
311
349
  }) {
312
- if (this.status !== constants.CONNECTOR_STATUS.CONNECTED || !this.connectedConnector) throw index.WalletLoginError.notConnectedError(`No wallet is connected`);
350
+ if (!connectorStatus.CONNECTED_STATUSES.includes(this.status) || !this.connectedConnector) throw index.WalletLoginError.notConnectedError(`No wallet is connected`);
351
+ if (this.connectedConnector.status === constants.CONNECTOR_STATUS.DISCONNECTING) return;
313
352
  await this.connectedConnector.disconnect(options);
314
353
  }
315
354
  async getUserInfo() {
316
355
  var _this$connectedConnec;
317
356
  loglevel.log.debug("Getting user info", this.status, (_this$connectedConnec = this.connectedConnector) === null || _this$connectedConnec === void 0 ? void 0 : _this$connectedConnec.name);
318
- if (this.status !== constants.CONNECTOR_STATUS.CONNECTED || !this.connectedConnector) throw index.WalletLoginError.notConnectedError(`No wallet is connected`);
357
+ if (!connectorStatus.CAN_AUTHORIZE_STATUSES.includes(this.status) || !this.connectedConnector) throw index.WalletLoginError.notConnectedError(`No wallet is connected`);
319
358
  return this.connectedConnector.getUserInfo();
320
359
  }
321
360
  async enableMFA(loginParams) {
322
361
  var _authConnector$authIn2;
323
- if (this.status !== constants.CONNECTOR_STATUS.CONNECTED || !this.connectedConnector) throw index.WalletLoginError.notConnectedError(`No wallet is connected`);
362
+ if (!connectorStatus.CONNECTED_STATUSES.includes(this.status) || !this.connectedConnector) throw index.WalletLoginError.notConnectedError(`No wallet is connected`);
324
363
  if (this.connectedConnector.name !== index$1.WALLET_CONNECTORS.AUTH) throw index.WalletLoginError.unsupportedOperation(`EnableMFA is not supported for this connector.`);
325
364
  const authConnector = this.connectedConnector;
326
365
  const trackData = {
@@ -337,7 +376,7 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
337
376
  }
338
377
  async manageMFA(loginParams) {
339
378
  var _authConnector$authIn3;
340
- if (this.status !== constants.CONNECTOR_STATUS.CONNECTED || !this.connectedConnector) throw index.WalletLoginError.notConnectedError(`No wallet is connected`);
379
+ if (!connectorStatus.CONNECTED_STATUSES.includes(this.status) || !this.connectedConnector) throw index.WalletLoginError.notConnectedError(`No wallet is connected`);
341
380
  if (this.connectedConnector.name !== index$1.WALLET_CONNECTORS.AUTH) throw index.WalletLoginError.unsupportedOperation(`ManageMFA is not supported for this connector.`);
342
381
  const authConnector = this.connectedConnector;
343
382
  const trackData = {
@@ -353,7 +392,7 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
353
392
  }
354
393
  }
355
394
  async getIdentityToken() {
356
- if (this.status !== constants.CONNECTOR_STATUS.CONNECTED || !this.connectedConnector) throw index.WalletLoginError.notConnectedError(`No wallet is connected`);
395
+ if (!connectorStatus.CAN_AUTHORIZE_STATUSES.includes(this.status) || !this.connectedConnector) throw index.WalletLoginError.notConnectedError(`No wallet is connected`);
357
396
  const trackData = {
358
397
  connector: this.connectedConnector.name
359
398
  };
@@ -577,7 +616,8 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
577
616
  const autoConnect = this.checkIfAutoConnect(connector);
578
617
  await connector.init({
579
618
  autoConnect,
580
- chainId: initialChain.chainId
619
+ chainId: initialChain.chainId,
620
+ getIdentityToken: this.coreOptions.initialAuthenticationMode === constants.CONNECTOR_INITIAL_AUTHENTICATION_MODE.CONNECT_AND_SIGN
581
621
  });
582
622
  } catch (e) {
583
623
  loglevel.log.error(e, connector.name);
@@ -684,8 +724,14 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
684
724
  var _this$currentChain3, _accountAbstractionCo;
685
725
  if (!this.commonJRPCProvider) throw index.WalletInitializationError.notFound(`CommonJrpcProvider not found`);
686
726
  const {
687
- provider
727
+ provider,
728
+ identityTokenInfo
688
729
  } = data;
730
+ if (identityTokenInfo) {
731
+ this.setState({
732
+ idToken: identityTokenInfo.idToken
733
+ });
734
+ }
689
735
  // when ssr is enabled, we need to get the idToken from the connector.
690
736
  if (this.coreOptions.ssr) {
691
737
  try {
@@ -740,7 +786,9 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
740
786
  this.cacheWallet(data.connector);
741
787
  this.status = constants.CONNECTOR_STATUS.CONNECTED;
742
788
  loglevel.log.debug("connected", this.status, this.connectedConnectorName);
743
- this.connectToPlugins(data);
789
+ this.connectToPlugins(_objectSpread(_objectSpread({}, data), {}, {
790
+ connector: data.connector
791
+ }));
744
792
  this.emit(constants.CONNECTOR_EVENTS.CONNECTED, _objectSpread(_objectSpread({}, data), {}, {
745
793
  loginMode: this.loginMode
746
794
  }));
@@ -810,6 +858,19 @@ class Web3AuthNoModal extends auth.SafeEventEmitter {
810
858
  });
811
859
  this.emit(constants.CONNECTOR_EVENTS.MFA_ENABLED, isMFAEnabled);
812
860
  });
861
+ connector.on(constants.CONNECTOR_EVENTS.AUTHORIZING, data => {
862
+ this.status = constants.CONNECTOR_STATUS.AUTHORIZING;
863
+ this.emit(constants.CONNECTOR_EVENTS.AUTHORIZING, data);
864
+ loglevel.log.debug("authorizing", this.status, this.connectedConnectorName);
865
+ });
866
+ connector.on(constants.CONNECTOR_EVENTS.AUTHORIZED, data => {
867
+ this.status = constants.CONNECTOR_STATUS.AUTHORIZED;
868
+ this.setState({
869
+ idToken: data.identityTokenInfo.idToken
870
+ });
871
+ this.emit(constants.CONNECTOR_EVENTS.AUTHORIZED, data);
872
+ loglevel.log.debug("authorized", this.status, this.connectedConnectorName);
873
+ });
813
874
  }
814
875
  checkInitRequirements() {
815
876
  if (this.status === constants.CONNECTOR_STATUS.READY) throw index.WalletInitializationError.notReady("Connector is already initialized");
@@ -6,7 +6,8 @@ var analytics = require('../../base/analytics.js');
6
6
  var baseControllers = require('@toruslabs/base-controllers');
7
7
  require('../../base/errors/index.js');
8
8
  var index = require('../../base/wallet/index.js');
9
- var constants = require('../../base/connector/constants.js');
9
+ var connectorStatus = require('../../base/connector/connectorStatus.js');
10
+ require('../../base/connector/constants.js');
10
11
  require('jwt-decode');
11
12
  var loglevel = require('../../base/loglevel.js');
12
13
  var errors = require('../../base/plugin/errors.js');
@@ -15,7 +16,6 @@ require('@toruslabs/constants');
15
16
  require('@toruslabs/http-helpers');
16
17
  var wsEmbed = require('@web3auth/ws-embed');
17
18
 
18
- // TODO: support project config items here. incl. key export flag, multiple chains
19
19
  class WalletServicesPlugin extends auth.SafeEventEmitter {
20
20
  constructor(...args) {
21
21
  super(...args);
@@ -67,7 +67,7 @@ class WalletServicesPlugin extends auth.SafeEventEmitter {
67
67
  this.provider = this.web3auth.provider;
68
68
  }
69
69
  }
70
- if (this.web3auth.status !== constants.CONNECTOR_STATUS.CONNECTED) {
70
+ if (!connectorStatus.CAN_AUTHORIZE_STATUSES.includes(this.web3auth.status)) {
71
71
  throw errors.WalletServicesPluginError.web3AuthNotConnected();
72
72
  } else if (!this.web3auth.provider) {
73
73
  throw errors.WalletServicesPluginError.providerRequired();
@@ -108,8 +108,6 @@ class WalletServicesPlugin extends auth.SafeEventEmitter {
108
108
  (_this$analytics3 = this.analytics) === null || _this$analytics3 === void 0 || _this$analytics3.track(analytics.ANALYTICS_EVENTS.WALLET_CHECKOUT_CLICKED, {
109
109
  is_visible: showCheckoutParams === null || showCheckoutParams === void 0 ? void 0 : showCheckoutParams.show,
110
110
  receive_wallet_address_enabled: !!(showCheckoutParams !== null && showCheckoutParams !== void 0 && showCheckoutParams.receiveWalletAddress),
111
- // TODO: where is the below?
112
- // receive_wallet_address: showCheckoutParams?.receiveWalletAddress,
113
111
  token_list: showCheckoutParams === null || showCheckoutParams === void 0 ? void 0 : showCheckoutParams.tokenList,
114
112
  fiat_list: showCheckoutParams === null || showCheckoutParams === void 0 ? void 0 : showCheckoutParams.fiatList,
115
113
  crypto: showCheckoutParams === null || showCheckoutParams === void 0 ? void 0 : showCheckoutParams.crypto,
@@ -11,6 +11,7 @@ require('../../../base/loglevel.js');
11
11
  var baseControllers = require('@toruslabs/base-controllers');
12
12
  var index = require('../../../base/errors/index.js');
13
13
  require('../../../base/wallet/index.js');
14
+ require('../../../base/connector/connectorStatus.js');
14
15
  require('../../../base/connector/constants.js');
15
16
  require('jwt-decode');
16
17
  require('../../../base/plugin/errors.js');
@@ -10,6 +10,7 @@ var loglevel = require('../../../base/loglevel.js');
10
10
  require('@toruslabs/base-controllers');
11
11
  require('../../../base/errors/index.js');
12
12
  require('../../../base/wallet/index.js');
13
+ require('../../../base/connector/connectorStatus.js');
13
14
  require('../../../base/connector/constants.js');
14
15
  require('jwt-decode');
15
16
  require('../../../base/plugin/errors.js');
@@ -8,6 +8,7 @@ require('@segment/analytics-next');
8
8
  require('../../base/loglevel.js');
9
9
  var index = require('../../base/errors/index.js');
10
10
  require('../../base/wallet/index.js');
11
+ require('../../base/connector/connectorStatus.js');
11
12
  require('../../base/connector/constants.js');
12
13
  require('jwt-decode');
13
14
  require('../../base/plugin/errors.js');
@@ -9,6 +9,7 @@ require('../../../../base/loglevel.js');
9
9
  var baseControllers = require('@toruslabs/base-controllers');
10
10
  var index = require('../../../../base/errors/index.js');
11
11
  require('../../../../base/wallet/index.js');
12
+ require('../../../../base/connector/connectorStatus.js');
12
13
  require('../../../../base/connector/constants.js');
13
14
  require('jwt-decode');
14
15
  require('../../../../base/plugin/errors.js');
@@ -11,6 +11,7 @@ require('@segment/analytics-next');
11
11
  var loglevel = require('../../../../base/loglevel.js');
12
12
  require('../../../../base/errors/index.js');
13
13
  require('../../../../base/wallet/index.js');
14
+ require('../../../../base/connector/connectorStatus.js');
14
15
  require('../../../../base/connector/constants.js');
15
16
  require('jwt-decode');
16
17
  require('../../../../base/plugin/errors.js');
@@ -10,6 +10,7 @@ require('@toruslabs/base-controllers');
10
10
  require('@web3auth/auth');
11
11
  require('../../../../../base/errors/index.js');
12
12
  require('../../../../../base/wallet/index.js');
13
+ require('../../../../../base/connector/connectorStatus.js');
13
14
  require('../../../../../base/connector/constants.js');
14
15
  require('jwt-decode');
15
16
  require('../../../../../base/plugin/errors.js');
@@ -8,6 +8,7 @@ require('../../../../../base/loglevel.js');
8
8
  require('@toruslabs/base-controllers');
9
9
  var index = require('../../../../../base/errors/index.js');
10
10
  require('../../../../../base/wallet/index.js');
11
+ require('../../../../../base/connector/connectorStatus.js');
11
12
  require('../../../../../base/connector/constants.js');
12
13
  require('jwt-decode');
13
14
  require('../../../../../base/plugin/errors.js');
@@ -11,6 +11,7 @@ require('@toruslabs/base-controllers');
11
11
  require('@web3auth/auth');
12
12
  var index = require('../../../../base/errors/index.js');
13
13
  require('../../../../base/wallet/index.js');
14
+ require('../../../../base/connector/connectorStatus.js');
14
15
  require('../../../../base/connector/constants.js');
15
16
  require('jwt-decode');
16
17
  require('../../../../base/plugin/errors.js');
@@ -8,6 +8,7 @@ require('../../../../base/loglevel.js');
8
8
  var baseControllers = require('@toruslabs/base-controllers');
9
9
  var index = require('../../../../base/errors/index.js');
10
10
  require('../../../../base/wallet/index.js');
11
+ require('../../../../base/connector/connectorStatus.js');
11
12
  require('../../../../base/connector/constants.js');
12
13
  require('jwt-decode');
13
14
  require('../../../../base/plugin/errors.js');
@@ -9,6 +9,7 @@ require('@toruslabs/base-controllers');
9
9
  require('@web3auth/auth');
10
10
  require('../../base/errors/index.js');
11
11
  require('../../base/wallet/index.js');
12
+ require('../../base/connector/connectorStatus.js');
12
13
  var constants = require('../../base/connector/constants.js');
13
14
  require('jwt-decode');
14
15
  require('../../base/plugin/errors.js');
@@ -63,9 +64,9 @@ function WalletServicesContextProvider({
63
64
  }
64
65
  return () => {
65
66
  if (walletServicesPlugin) {
66
- walletServicesPlugin.off(IPlugin.PLUGIN_EVENTS.CONNECTED, connectedListener);
67
- walletServicesPlugin.off(IPlugin.PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
68
- walletServicesPlugin.off(IPlugin.PLUGIN_EVENTS.CONNECTING, connectingListener);
67
+ walletServicesPlugin.removeListener(IPlugin.PLUGIN_EVENTS.CONNECTED, connectedListener);
68
+ walletServicesPlugin.removeListener(IPlugin.PLUGIN_EVENTS.DISCONNECTED, disconnectedListener);
69
+ walletServicesPlugin.removeListener(IPlugin.PLUGIN_EVENTS.CONNECTING, connectingListener);
69
70
  }
70
71
  };
71
72
  }, [walletServicesPlugin]);
@@ -7,6 +7,7 @@ require('@babel/runtime/helpers/defineProperty');
7
7
  require('@web3auth/auth');
8
8
  var index = require('../../base/errors/index.js');
9
9
  require('../../base/wallet/index.js');
10
+ require('../../base/connector/connectorStatus.js');
10
11
  var constants = require('../../base/connector/constants.js');
11
12
  require('jwt-decode');
12
13
  require('../../base/loglevel.js');
@@ -39,6 +40,7 @@ function Web3AuthInnerProvider(params) {
39
40
  const [isInitialized, setIsInitialized] = react.useState(false);
40
41
  const [status, setStatus] = react.useState(null);
41
42
  const [isMFAEnabled, setIsMFAEnabled] = react.useState(false);
43
+ const [isAuthorized, setIsAuthorized] = react.useState(false);
42
44
  const getPlugin = react.useCallback(name => {
43
45
  if (!web3Auth) throw index.WalletInitializationError.notReady();
44
46
  return web3Auth.getPlugin(name);
@@ -78,7 +80,9 @@ function Web3AuthInnerProvider(params) {
78
80
  if (provider) {
79
81
  provider.on("chainChanged", handleChainChange);
80
82
  return () => {
81
- provider.off("chainChanged", handleChainChange);
83
+ if (provider) {
84
+ provider.removeListener("chainChanged", handleChainChange);
85
+ }
82
86
  };
83
87
  }
84
88
  }, [web3Auth, provider]);
@@ -100,6 +104,7 @@ function Web3AuthInnerProvider(params) {
100
104
  const disconnectedListener = () => {
101
105
  setStatus(web3Auth.status);
102
106
  setIsConnected(false);
107
+ setIsAuthorized(false);
103
108
  setProvider(null);
104
109
  };
105
110
  const connectingListener = () => {
@@ -111,17 +116,27 @@ function Web3AuthInnerProvider(params) {
111
116
  const rehydrationErrorListener = () => {
112
117
  setStatus(web3Auth.status);
113
118
  setIsConnected(false);
119
+ setIsAuthorized(false);
114
120
  setProvider(null);
115
121
  };
122
+ const authorizedListener = () => {
123
+ setStatus(web3Auth.status);
124
+ if (web3Auth.status === constants.CONNECTOR_STATUS.AUTHORIZED) {
125
+ setIsConnected(true);
126
+ setIsAuthorized(true);
127
+ }
128
+ };
116
129
  const mfaEnabledListener = isMFAEnabled => {
117
130
  if (typeof isMFAEnabled === "boolean") setIsMFAEnabled(isMFAEnabled);
118
131
  };
132
+ // TODO: In strict mode, web3auth becomes null and .off throws an error sometimes.
119
133
  if (web3Auth) {
120
134
  // web3Auth is initialized here.
121
135
  setStatus(web3Auth.status);
122
136
  web3Auth.on(constants.CONNECTOR_EVENTS.NOT_READY, notReadyListener);
123
137
  web3Auth.on(constants.CONNECTOR_EVENTS.READY, readyListener);
124
138
  web3Auth.on(constants.CONNECTOR_EVENTS.CONNECTED, connectedListener);
139
+ web3Auth.on(constants.CONNECTOR_EVENTS.AUTHORIZED, authorizedListener);
125
140
  web3Auth.on(constants.CONNECTOR_EVENTS.DISCONNECTED, disconnectedListener);
126
141
  web3Auth.on(constants.CONNECTOR_EVENTS.CONNECTING, connectingListener);
127
142
  web3Auth.on(constants.CONNECTOR_EVENTS.ERRORED, errorListener);
@@ -130,14 +145,15 @@ function Web3AuthInnerProvider(params) {
130
145
  }
131
146
  return () => {
132
147
  if (web3Auth) {
133
- web3Auth.off(constants.CONNECTOR_EVENTS.NOT_READY, notReadyListener);
134
- web3Auth.off(constants.CONNECTOR_EVENTS.READY, readyListener);
135
- web3Auth.off(constants.CONNECTOR_EVENTS.CONNECTED, connectedListener);
136
- web3Auth.off(constants.CONNECTOR_EVENTS.DISCONNECTED, disconnectedListener);
137
- web3Auth.off(constants.CONNECTOR_EVENTS.CONNECTING, connectingListener);
138
- web3Auth.off(constants.CONNECTOR_EVENTS.ERRORED, errorListener);
139
- web3Auth.off(constants.CONNECTOR_EVENTS.REHYDRATION_ERROR, rehydrationErrorListener);
140
- web3Auth.off(constants.CONNECTOR_EVENTS.MFA_ENABLED, mfaEnabledListener);
148
+ web3Auth.removeListener(constants.CONNECTOR_EVENTS.NOT_READY, notReadyListener);
149
+ web3Auth.removeListener(constants.CONNECTOR_EVENTS.READY, readyListener);
150
+ web3Auth.removeListener(constants.CONNECTOR_EVENTS.CONNECTED, connectedListener);
151
+ web3Auth.removeListener(constants.CONNECTOR_EVENTS.DISCONNECTED, disconnectedListener);
152
+ web3Auth.removeListener(constants.CONNECTOR_EVENTS.CONNECTING, connectingListener);
153
+ web3Auth.removeListener(constants.CONNECTOR_EVENTS.ERRORED, errorListener);
154
+ web3Auth.removeListener(constants.CONNECTOR_EVENTS.REHYDRATION_ERROR, rehydrationErrorListener);
155
+ web3Auth.removeListener(constants.CONNECTOR_EVENTS.MFA_ENABLED, mfaEnabledListener);
156
+ web3Auth.removeListener(constants.CONNECTOR_EVENTS.AUTHORIZED, authorizedListener);
141
157
  }
142
158
  };
143
159
  }, [web3Auth]);
@@ -154,9 +170,10 @@ function Web3AuthInnerProvider(params) {
154
170
  chainId,
155
171
  chainNamespace,
156
172
  getPlugin,
157
- setIsMFAEnabled
173
+ setIsMFAEnabled,
174
+ isAuthorized
158
175
  };
159
- }, [web3Auth, isConnected, isInitialized, provider, status, getPlugin, isInitializing, initError, isMFAEnabled, setIsMFAEnabled, chainId, chainNamespace]);
176
+ }, [web3Auth, isConnected, isInitialized, provider, status, getPlugin, isInitializing, initError, isMFAEnabled, setIsMFAEnabled, chainId, chainNamespace, isAuthorized]);
160
177
  return react.createElement(Web3AuthInnerContext.Provider, {
161
178
  value
162
179
  }, children);
@@ -9,6 +9,7 @@ require('@toruslabs/base-controllers');
9
9
  require('@web3auth/auth');
10
10
  require('../../base/errors/index.js');
11
11
  require('../../base/wallet/index.js');
12
+ require('../../base/connector/connectorStatus.js');
12
13
  require('../../base/connector/constants.js');
13
14
  require('jwt-decode');
14
15
  var errors = require('../../base/plugin/errors.js');
@@ -9,6 +9,7 @@ require('@toruslabs/base-controllers');
9
9
  require('@web3auth/auth');
10
10
  require('../../base/errors/index.js');
11
11
  require('../../base/wallet/index.js');
12
+ require('../../base/connector/connectorStatus.js');
12
13
  require('../../base/connector/constants.js');
13
14
  require('jwt-decode');
14
15
  var errors = require('../../base/plugin/errors.js');
@@ -6,7 +6,8 @@ var useWeb3AuthInner = require('./useWeb3AuthInner.js');
6
6
  const useIdentityToken = () => {
7
7
  const {
8
8
  web3Auth,
9
- isConnected
9
+ isConnected,
10
+ isAuthorized
10
11
  } = useWeb3AuthInner.useWeb3AuthInner();
11
12
  const [loading, setLoading] = react.useState(false);
12
13
  const [error, setError] = react.useState(null);
@@ -27,10 +28,14 @@ const useIdentityToken = () => {
27
28
  }
28
29
  }, [web3Auth]);
29
30
  react.useEffect(() => {
30
- if (!isConnected && token) {
31
+ if (!web3Auth) return;
32
+ if (!isAuthorized && token) {
31
33
  setToken(null);
32
34
  }
33
- }, [isConnected, token]);
35
+ if (isAuthorized && !token) {
36
+ setToken(web3Auth.idToken);
37
+ }
38
+ }, [isConnected, isAuthorized, token]);
34
39
  return {
35
40
  loading,
36
41
  error,
@@ -9,6 +9,7 @@ require('@toruslabs/base-controllers');
9
9
  require('@web3auth/auth');
10
10
  require('../../base/errors/index.js');
11
11
  require('../../base/wallet/index.js');
12
+ require('../../base/connector/connectorStatus.js');
12
13
  require('../../base/connector/constants.js');
13
14
  require('jwt-decode');
14
15
  var errors = require('../../base/plugin/errors.js');
@@ -9,6 +9,7 @@ require('@toruslabs/base-controllers');
9
9
  require('@web3auth/auth');
10
10
  require('../../base/errors/index.js');
11
11
  require('../../base/wallet/index.js');
12
+ require('../../base/connector/connectorStatus.js');
12
13
  require('../../base/connector/constants.js');
13
14
  require('jwt-decode');
14
15
  var errors = require('../../base/plugin/errors.js');
@@ -9,6 +9,7 @@ require('@toruslabs/base-controllers');
9
9
  require('@web3auth/auth');
10
10
  require('../../base/errors/index.js');
11
11
  require('../../base/wallet/index.js');
12
+ require('../../base/connector/connectorStatus.js');
12
13
  require('../../base/connector/constants.js');
13
14
  require('jwt-decode');
14
15
  var errors = require('../../base/plugin/errors.js');
@@ -9,6 +9,7 @@ require('@toruslabs/base-controllers');
9
9
  require('@web3auth/auth');
10
10
  require('../../base/errors/index.js');
11
11
  require('../../base/wallet/index.js');
12
+ require('../../base/connector/connectorStatus.js');
12
13
  require('../../base/connector/constants.js');
13
14
  require('jwt-decode');
14
15
  var errors = require('../../base/plugin/errors.js');
@@ -6,6 +6,7 @@ const useWeb3Auth = () => {
6
6
  const {
7
7
  initError,
8
8
  isConnected,
9
+ isAuthorized,
9
10
  isInitialized,
10
11
  isInitializing,
11
12
  provider,
@@ -21,6 +22,7 @@ const useWeb3Auth = () => {
21
22
  provider,
22
23
  status,
23
24
  web3Auth,
25
+ isAuthorized,
24
26
  getPlugin
25
27
  };
26
28
  };
@@ -9,6 +9,7 @@ require('@toruslabs/base-controllers');
9
9
  require('@web3auth/auth');
10
10
  var index = require('../../base/errors/index.js');
11
11
  require('../../base/wallet/index.js');
12
+ require('../../base/connector/connectorStatus.js');
12
13
  require('../../base/connector/constants.js');
13
14
  require('jwt-decode');
14
15
  require('../../base/plugin/errors.js');
@@ -12,6 +12,7 @@ require('../../../base/loglevel.js');
12
12
  require('@web3auth/auth');
13
13
  require('../../../base/errors/index.js');
14
14
  require('../../../base/wallet/index.js');
15
+ require('../../../base/connector/connectorStatus.js');
15
16
  require('../../../base/connector/constants.js');
16
17
  require('jwt-decode');
17
18
  require('../../../base/plugin/errors.js');
@@ -13,6 +13,7 @@ var baseControllers = require('@toruslabs/base-controllers');
13
13
  require('@web3auth/auth');
14
14
  var index = require('../../base/errors/index.js');
15
15
  require('../../base/wallet/index.js');
16
+ require('../../base/connector/connectorStatus.js');
16
17
  require('../../base/connector/constants.js');
17
18
  require('jwt-decode');
18
19
  require('../../base/plugin/errors.js');
@@ -13,7 +13,8 @@ export declare abstract class BaseConnector<T> extends SafeEventEmitter<Connecto
13
13
  abstract name: WALLET_CONNECTOR_TYPE | string;
14
14
  abstract status: CONNECTOR_STATUS_TYPE;
15
15
  constructor(options: BaseConnectorSettings);
16
- get connnected(): boolean;
16
+ get connected(): boolean;
17
+ get canAuthorize(): boolean;
17
18
  abstract get provider(): IProvider | null;
18
19
  checkConnectionRequirements(): void;
19
20
  checkInitializationRequirements({ chainConfig }: {